본문 바로가기
머신러닝

[강의]시즌1 딥러닝의기본 - Sigmoid 보다 ReLU가 더좋은 이유

by 박정률 2017. 2. 21.

어떤 값 이상이면 activate하는 Activation function 이 존재합니다.



그렇다면 3-level 은 어떻게 할까요?


이런경우에 맨 앞부분을 Input과 관련되었으므로 input layer 마지막은 Output layer 가운데는 Hidden layer 라고 합니다.





그러나 한개 한것보다 안좋은 성능이 나왔습니다.

왜 이런 문제가 발생할까요?


2단, 3단 을 풀 때는 잘 풀리던게 9단 10 단 부터는 문제가 발생한 것입니다.

그 이유는 무엇일까요?


항상 sigmoid 함수를 통과하기 때문에 0과 1사이 값만 나오고

chain 을 거칠 때마다 0.01 * 0.01 * 0.03 처럼 0에 점점 가까워집니다.

따라서 처음의 입력이 level 이 높아질 수록 영향이 낮아지는것입니다.


Vanishing gradient로 인해서 2차 winter 에 진입하게됩니다. 


sigmoid 함수를 잘못쓴거같아. 이 함수에서는 항상 1보다 작은값이므로 점점 작아질 수밖에없다.

1보다 작지 않도록 해보자!



ReLU : Rectified Linear Unit

더 이상 sigmoid를 사용하지 않는것이 좋습니다.


그래도 마지막의 출력은 0~1사이의 값이 나와야하므로 이때만 sigmoid함수를 씁니다.



이렇게하면 Works very well .


cost function 도 잘 감소되는 것을 알 수있었습니다.




다음과같은 함수들이 있습니다.


RELU 가 나쁘지않은 성과를 보여준다는것을 알 수있습니다!

sigmoid 는 굳이 쓸필요가 없겠죠?