코어닷 기술 세미나 2018
Session #4 : 박언용 (유니스트 석사과정)
얕은(shallow) 지식으로 보는 Tensorflow를 이용한 깊은(deep) 학습 코딩
17:00 ~ 17:50
딥러닝의 기본배경 및 트렌드를 알아보고, 간단한 예시(MNIST)를 통해서 파이썬을 이용한 코딩을 어떻게 하는지 보여드립니다.
- 딥러닝이란?
- Python (Tensorflow)
- 파이썬 예제 및 실제 애플리케이션 작성
https://coredottoday.github.io/2018/10/15/Coredot-기술-세미나/
5. A.I. (Artificial Intelligence)
• 1956년 미국 다트머스 회의에서 처음으로
인공지능 이라는 개념이 등장
• General A. I.
인간과 같이 감각을 느끼고 사고력을
가지는 인공지능
• Narrow A. I.
현재의 기술수준으로 가능한 수준
이미지 분류, 얼굴 인식등과 같은 작업들에
대해서 인간 이상의 능력
6. Machine Learning
• 인공지능을 구현하는 구체적 방법
• 데이터 분석을 통한 학습 및 예측
• 의사 결정 트리 학습, 클러스터링,
귀납 논리 프로그래밍, 강화학습
• 의사 결정 기준을 코딩하지 않고,
학습에 사용되는 데이터를 통해서
자가학습을 하는 것이 목표
• 전반적인 과정을 코딩하는 작업이
많다는 한계점이 존재
7. Machine Learning
• 인간의 뇌를 기반으로 만들어진
인공신경망(Artificial Neural
network)에서 발전한 인공지능 방식
• 뇌의 뉴런과 유사한 방식을 이용,
정보 입출력 계층(layer)를 통해
학습을 하는 방식
• 학습을 통해서 예측을 하기 때문에
방대한 데이터가 필요
- 병렬 연산에 최적화된 GPU의 도입
20. Tensorflow - parameters
tf.device = 연산 장치 선택
tf.one_hot = one hot encoding
tf.placeholder = 입력 및 출력 데이터 할당되는 공간 생성
tf.squeeze = size가 1인 dimension 삭제
tf.Variable =
학습할 때 변화가 존재하는
변수들
tf.Constant =
학습할 때 변화가 존재하지
않는 변수들
tf.random_normal =
정규분포
22. One hot encoding
구분하는 작업을 위해 모든 변수들을 0과 1로 구성된 벡터로 표현하는 방식
MNIST의 경우 0~9까지 총 10개의 변수가 존재
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0 2 5 9
23. Tensorflow - functions
tf.nn.relu = 활성화 함수(relu)
tf.matmul = 행렬 곱
tf.nn.softmax_cross_entropy_with_logits =
softmax를 이용한 에러값
tf.train.~Optimizer = update 방식
tf.argmax = 최대값을 가지는 벡터위치
28. Pooling Layer
Pooling Layer : 계산된 행렬의 특징들 중 핵심만 뽑아내는 방식
• Max Pooling
filter 내의 값 중
가장 큰 값을 추출
• Average Pooling
filter 내의 값의
평균을 추출
• 데이터를 줄여
연산량을 감소
• 데이터 소실이
발생하기에
overfitting을 줄임