15. 활성화 함수란?
• 어떠한 입력이 들어와서 함수 출력이 나왔을 때, 이 함수를 활성화 하
는 함수
• 아무리 Linear한 함수를 다층으로 쌓아도 선형 함수
• 활성화 함수를 사용함으로써 함수가 비선형이 됨
16. 어떻게 학습을 할까?
• 입력데이터와 정답데이터가 필요(지도학습)
• 입력데이터와 정답데이터에 맞는 최적의 함수를 찾아야함
1
2
3
1
2
3
입력 정답
F(x)
17. 어떻게 학습을 할까?
• F(x) = Wx 라는 일차 방정식으로 표현
• 우리가 구해야 할 것은 W(weight : 가중치) 만약 W가 ‘2’라면?
1
2
3
2
4
6
입력 추측(정답X)
F(x) = Wx
1
2
3
실제 정답
18. 어떻게 학습을 할까?
• 오차(loss/cost/object)를 줄이면 결국 잘 맞는 함수이지 않을까?
• Regression 문제에서는 MSE(Mean Square Error)를 사용. 출력
과 정답 값의 차이를 나타내는 함수
• Classification 문제에서는 Cross-Entropy를 사용.
26. 딥러닝의 큰 문제점
• 기존 머신러닝(Linear)은 층이 하나라서 미분이 가능했음
• 딥러닝은 층이 깊어지면 사실상 미분이 불가능해짐
• 딥러닝이 오래전부터 있었지만 더 이상 발전을 못해 왔음(빙하기)
• Backpropagation이라는 알고리즘이 나온 후 부터 다시 발전
미분 가능?
29. 또 다시 빙하기
• Deep하게 층을 쌓고 Backpropagation을 통해서 여러 복잡한 문제
들 해결
• But, 너무 층이 깊어지면서 Backpropagation으로 오류가 입력단까
지 전달되지 못하는 현상 발견
• 이러한 문제를 Vanishing Gradient라고 함
30. Vanishing Gradient
• 원인은 비선형 문제를 풀기위해서 추가한 활성화 함수들(tanh, sigmoid)
• 모든 출력을 [0,1]사이로 압축해버리는 Sigmoid 특성때문에 기울기가 거의
사라져버림
• 아무리 미분 값이 커도 최대 0.25
• Backpropagation을 할 때, 최대 0.25인 값을 곱해서 점점 그 값이 희미해
짐
Sigmoid의 미분
31. Vanishing Gradient
• 이 문제를 해결하기 위해서 아주 간단한 활성화 함수를 추가
• 0보다 작으면 0, 0보다 크면 그 값을 그대로 출력해주는 활성화 함수
(Rectified Linear Unit : ReLU)
• ReLU를 미분하면 계단함수가 나옴, 기울기는 더 이상 사라지지 않게 됨
ReLU의 미분
32. CNN의 발견
• Convolution Neural Network(합성곱 신경망)
• 현재 거의 모든 영상처리에 사용
• 이미지를 단순하게 픽셀로 계산하는 것이 아니고, 이미지의 공간 특성
을 살릴 수 있게 Convolution Filter를 통해서 이미지에서 Feature
를 추출하고 그 Feature들을 이용하여 이미지를 분류
Feature 추출 단계 분류 단계
33. RNN의 발견
• Recurrent Neural Network(순환 신경망)
• 현재 대부분 시계열 데이터 처리에 사용
• 현재 상태의 출력을 다시 입력으로 사용함으로써 이전 상태를 기억
35. Tensorflow의 차별점
• 기존 Numpy로 구성된 딥러닝 네트워크는 데이터와 모델이 한번에 만
들어지고 학습이 이루어짐
• Tensorflow는 일단 모델의 껍데기를 먼저 구성해놓고, Session을
시작하면서 모델들을 Session위로 불러옴
• 그 후에 Placeholder를 통해 학습할 데이터를 흘려줌
36. Tensorflow에서 꼭 알아야할 개념
• tf.Placeholder
• tf.Variable
• tf.nn
• tf.train
• tf.Session
• feed_dict
43. 간단한 예제
1 Epoch : 모든 데이터 셋을 한 번 학습
1 iteration : 1회 학습
minibatch : 데이터 셋을 batch size 크기로 쪼개서 학습
ex) 총 데이터가 100개, batch size가 10이면,
1 iteration = 10개 데이터에 대해서 학습
1 Epoch = 100/batch size = 10 iteration
1 Epoch
batch size 데이터 셋