먼저, ReLu 함수를 사용하는 이유
딥러닝-뉴럴네트워크에서 sigmoid 함수를 이용한 Backprogation 에서 loss 를 미분하는데,
시그모이드 함수 특성상 그래프의 시작과 끝은 기울기가 0에 가깝다.
그런데 네트워크가 깊다면, 시그모이드함수가 +-100개 이상일수 있고, 이에 따라
loss 의 미분인 gradient가 시그모이드 함수 시작과 끝(기울기가 0에 가까운)에 영향을 받아
결국엔 gradient가 매우 작아져 loss가 없는 것처럼 보여 학습이 안되는 경우가 발생한다.
Relu함수 정의
f(x) = max(0,x) x가 0 보다 크면 출력은 x, 작으면 0출력
* 0을 출력하면 loss/gradient가 아예 전달이 안되서 leaky relu를 사용할수도 있음
'단편지식' 카테고리의 다른 글
노마드 코더의 알고리즘&데이터구조 - binary/linear search (0) | 2021.06.15 |
---|