신경망 활성화 함수 Sigmoid와 ReLU의 관계

목적



신경망의 활성화 함수에는 Sigmoid 함수와 ReLU 함수가 있다.
개인적으로는, 그 2개의 관계를 오랫동안 착각하고 있었으므로 간단하게 그 내용을 나타낸다.

Sigmoid 및 ReLU 함수



Sigmoid 함수
h(x) = \frac{1}{1+exp(-x)}

  
ReLU 함수
h(x) = \left\{
\begin{array}{ll}
x & (x \gt 0) \\
0 & (x \leq 0)
\end{array}
\right.

착각



위의 함수의 내용을 보면, Sigmoid 함수 쪽이 고도의, 일반적인 의미로, 레벨이 높은 함수로 보인다.
개인적으로는, Sigmoid 함수의 exp() 포함한 계산의 처리 시간을 단축하기 위해서, ReLU 함수라고 하는 것이, 새롭게, 도입되었다고 생각하고 있었다.

Sigmoid 및 ReLU 함수의 위치 지정



다만, 이하에 인용한 대로의 상황이라고 생각한다.

"0에서 만드는 Deep Learning - Python에서 배우는 딥 러닝의 이론과 구현"(발행소 주식회사 오라일리 재팬)



p53 인용

시그모이드 함수는 신경망의 역사에서 오래전부터 이용되어 왔지만, 최근에는 ReLU (Rectified Linear Unit)라는 함수가 주로 사용되고 있습니다.

위키



ReLU 정보
(출처: https://ko.wikipedia.org/wiki/활성화 함수)

Yann LeCun과 제프리 힌턴 등이 잡지 네이처에 쓴 논문에서는 2015년 5월 현재 이것이 최선이라고 한다.

(출처: htps // 엔.ぃきぺぢ아. 오 rg / uuki / re c chifue r_ )

It has been demonstrated for the first time in 2011 to enable better training of deeper networks, compared to the widely-used activation functions prior to 2011, e.g., the logistic sigmoid (which is inspired by probability theory se practical counterpart, the hyperbolic tangent. The rectifier is, as of 2017, the most popular activation function for deep neural networks.

요약



ReLU를 사용하는 것이 일반적이고 좋다.
실제로 Sigmoid와 ReLU 모두를 사용하여 성능 비교되고 있는 보고도 많이 있습니다만, 어떻게 사용하는 조건을 맞추기가 어렵다고 생각하기 때문에, 그 정보, 참고 정도인가라고도 생각합니다. 실제로 좋은 성능을 내고 있는 모델이 어느 것을 사용하고 있는지 판단하는 것이 타당하다고 생각합니다. 지금은 Sigmoid가 아니라는 결론이라고 생각합니다.

코멘트 등 있으면 부탁드립니다.

관련(본인)



좋은 책 "0에서 만든 Deep Learning - Python에서 배우는 딥 러닝의 이론과 구현"을 읽으십시오.

좋은 웹페이지 즐겨찾기