※ 김성훈 교수님의 [모두를 위한 딥러닝] 강의 정리
- 참고자료 : Andrew Ng's ML class
1) https://class.coursera.org/ml-003/lecture
2) http://holehouse.org/mlclass/ (note)
1. Sigmoid
- Sigmoid 함수는 binary classification에 적절한 함수
- 처음은 input later, 마지막은 output layer, 가운데 보이지 않는 부분은 hidden layer
- Vanishing Gradient : 이러한 hidden layer를 2, 3단이 아니라 9, 10단까지 늘릴 경우, 오히려 정확도가 0.5 밖에 되지 않는 문제 발생 : sigmoid 함수가 0~1 사이의 값이므로 이를 9, 10단만큼 곱해지는 경우 거의 0에 수렴하는 작은 값이 되어버림.
2. ReLU (Rectified Linear Unit)
- Vanishing Gradient를 방지하기 위해, Sigmoid 함수의 개선 함수로 ReLU 함수가 제시됨
- 0보다 작은 값이 나온 경우 0을 반환하고, 0보다 큰 값이 나온 경우 그 값을 그대로 반환
- ReLU 구현 :
함수 max(0, x)
텐서플로우 적용시에는 sigmoid 함수 대신 relu 함수 사용
3. Sigmoid < ReLU
4. ReLU 외 다양한 활성화 함수들 (Activation Functions)
- ReLU : max(0, x)처럼 음수에 대해서만 0으로 처리하는 함수
- Leaky ReLU : ReLU 함수의 변형으로 음수에 대해 1/10로 값을 줄여서 사용하는 함수
- ELU : ReLU를 0이 아닌 다른 값을 기준으로 사용하는 함수
- maxout : 두 개의 W와 b 중에서 큰 값이 나온 것을 사용하는 함수
- tanh : sigmoid 함수를 재활용하기 위한 함수. sigmoid의 범위를 -1에서 1로 넓힘
'Deep Learning' 카테고리의 다른 글
[머신러닝/딥러닝] Dropout & Ensemble (0) | 2020.01.03 |
---|---|
[머신러닝/딥러닝] Weight 초기화 잘해보자 (0) | 2020.01.02 |
[머신러닝/딥러닝] Tensorboard (Neural Net for XOR) (0) | 2019.12.23 |
[머신러닝/딥러닝] XOR 문제 딥러닝으로 풀기 (0) | 2019.12.23 |
[머신러닝/딥러닝] Tensor Manipulation (0) | 2019.12.18 |