- 활성함수는 네트워크에 비선형성(nonlinearity)을 추가하기 위해 사용됨
+ 활성함수 없이 layer를 쌓은 네트워크는 1-layer 네트워크와 동일하기 때문에 활성 함수는 비성형함수로 불리기도 한다.
+ 멀티레이어 퍼셉트론을 만들 때 활성함수를 사용하지 않으면 쓰나마나이다.
1. 시그모이드 함수 (Sigmoid Function)
- 결과값이 [0,1] 사이로 제한됨
- 뇌의 뉴런과 유사하여 많이 쓰였음
- 문제점
1) 그라디언트가 죽는 현상이 발생한다 (Gradient vanishing 문제)
gradient 0이 곱해 지니까 그다음 layer로 전파되지 않는다. 즉, 학습이 되지 않는다.
2) 활성함수의 결과 값의 중심이 0이 아닌 0.5이다.
3) 계산이 복잡하다 (지수함수 계산)
!! Gradient Vanishing
- 시그모이드와 같이 결과값이 포화(saturated)되는 함수는 gradient vanishing 현상을 야기
- 이전 레이어로 전파되는 그라디언트가 0에 가까워 지는 현상
- 레이어를 깊게 쌓으면 파라미터의 업데이트가 제대로 이루어지지 않음
- 양 극단의 미분값이 0에 가깝기 때문에 발생하는 문제
!! Gradient vanishing 문제점을 극복 하기 위해
1) tanh
+ 결과값이 [-1, 1] 사이로 제한됨. 결과값 중심이 0이다.
+ 나머지 특성은 시그모이드와 비슷함. 시그모이드 함수를 이용하여 유도 가능
+ 그러나, 여전히 gradient vanishing 문제가 발생
2) ReLU, Rectified Linear Unit
+ 최근 뉴럴 네트워크에서 가장 많이 쓰이는 활성 함수
+ 선형아니야? NO! 0에서 확 꺾이기 때문에 비선형이라고 본다.
+ 장점
(1) 양 극단값이 포화되지 않는다. (양수 지역은 선형적)
(2) 계산이 매우 효율적이다 (최대값 연산 1개)
(3) 수렴속도가 시그모이드류 함수대비 6배 정도 빠르다.
+ 단점
(1) 중심값이 0이 아님 (마이너한 문제)
(2) 입력값이 음수인 경우 항상 0을 출력함 (마찬가지로 파라미터 업데이트가 안됨)
- 일반적인 뉴럴 네트워크 구조
FC => 활성함수 => FC => 활성함수
* FC? Fully-Connected 레이어층
현재 레이어-다음 레이어의 뉴런들이 전부 연결되어 있기 때문에 불리는 이름
MLP(멀티 레이어 퍼셉트론)의 각 퍼셉트론 층과 같은 의미
'Machine Learning & Deep Learning' 카테고리의 다른 글
03. 정규화 (Regularization) (0) | 2017.08.03 |
---|---|
03. 초기화 (0) | 2017.08.03 |
00. 뉴럴 네트워크 (0) | 2017.08.03 |
클러스터링 평가하기 (Clustering Evaluation) (0) | 2017.07.17 |
군집화(Clustering) (0) | 2017.07.16 |