Sigmoid & Relu함수

Sigmoid & Relu함수

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId;=handuelly&logNo;=221824080339

위 블로그를 바탕으로 필사하며 공부

* 활성화 함수

딥러닝 네트워크에서 노드에 입력된 값들을 비선형 함수에 통과시킨 후

다음 레이어로 전달하는데, 이 때 사용하는 함수를 활성화 함수라고 한다.

- 종류

1. Sigmoid 함수

- logistic 함수라고도 불리며, x의 값에 따라 0~1의 값을 출력하는 S자형 함수

sigmoid 함수 정의

- 하지만 sigmoid 함수는 음수 값을 0에 가깝게 표현하기 떄문에 입력 값이 최종 레이어에서 미치는 영향이 적어지는

Vanishing Gradient Problem이 발생하게 된다.

- sigmoid 도함수 그래프에서 미분 계수의 최대값은 0.25이다.

- 딥러닝 학습 시 Back-propagation을 계산하는 과정에서 활성화 함수의 미분 값을 곱하는 과정 이 포함되는데,

sigmoid 함수의 경우 은닉층의 깊이가 깊으면 오차율을 계산하기 어렵다는 문제가 발생하기 때문에, vanishing gradient problem이 발생하게 된다.

- 다시 말해, x의 절대값이 커질수록 gradient backpropagation시 미분 값이 소실될 가능성이 크다는 단점이 있다.

- 또한, sigmoid 함수의 중심이 0이 아닌데, 이 때문에 학습이 느려질 수 있다는 단점이 있다.

2. Relu함수

- ReLU(Rectified Linear Unit, 경사함수)

ReLU 정의

- x가 0보다 크면 기울기가 1인 직선, 0보다 작으면 함수 값이 0

- 이는 0보다 작은 값들에서 뉴련이 죽을 수 있는 단점을 야기

- but, 간단하면서 좋은 성능 야기

ReLU 함수 그래프

- tf.keras.actiavtsion ---> sigmod, tanh, relu, elu, selu

- tf.keras.layers ---> leaky relu

- leaky relu : 0보다 작은 음수의 값을 가질 때 0.01x의 값을 가짐

Leaky ReLU 정의

from http://yeon22.tistory.com/108 by ccl(A) rewrite - 2021-10-24 19:00:37