먼저, 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를 사용할수도 있음

 

+ Recent posts