본문 바로가기
DataMining/Deeplearning

DL - 기초; 활성함수

by bents 2021. 2. 27.

목차

 

오차역전파

경사하강

활성함수

최적화 함수

초기 가중치 설정함수

배치 정규화


신경망을 연결할 때, 단순히 노드만 연결하면 학습이 될까?

되기는 하다. 그러나 가중치를 선형결합한 은닉층 하나만 있는 거랑 다를 게 없다.

 

여러개 은닉층을 사용해서 복잡한 관계를 "학습"하려면 비선형결합이 가능하도록 해야 한다.

그 역할을 하는게 활성함수다.

 

 

 활성함수 : 가중치의 선형결합을 인풋으로 받아 비선형으로 변환해주는 함수

활성함수의 종류

가중치의 선형결합을 변환시켜주는 비선형함수를 찾자!

 

1. 시그모이드 함수

2. 하이퍼볼릭 탄젠트 함수

3. ReLU 함수 (Rectified Linear Unit) : f(x) = max(0,x)

4. Leaky ReLU 함수 : f(x) = max(ax, x) ; a = 0.01

*PReLU는 대규모 이미지셋에서만 유용, 소규모셋에서 오버피팅됨

5. ELU

 

  특징 문제점
시그모이드
  • 출력값이 0과 1사이의 값이다.

  • 원점 중심이 아니다(Not zero-centered)

- gradient이 사라질 수 있다.
은닉층이 여러개일 때, weight가 0과 1사이의 무한히 작은 숫자로 수렴함. 0이 될 수 있음

- gradient가 발산할 수 있다.
sigmoid는 0이상의 값만 가지므로, 출력값은 이전 입력값보다 작아질 수 없다. 즉, 이전 층보다 현재 층의 weight는 작을 수가 없다. (=wiehgt의 bias shift현상) weight의 분산이 은닉층마다 점점 커져 gradient가 폭발함. 
하이퍼볼릭 탄젠트
  • 출력값이 -1과 1사이의 값이다.

  • 원점 중심이다(zero-centered)

입력의 절대값이 클 경우, 
-1이나 1로 수렴하게 되므로 gradient 소멸함. 



렐루
  • 0 이상에서는 수렴구간이 없다.

  • 입력값을 그대로 출력해 계산 속도 빠름

  • SGD에서 수렴속도가 6배나 빠름compared to the above (Krizhevsky et al.).

dead ReLU
: 특정값이 0으로만 수렴해서 gradient가 사라지는 현상 
리키렐루

음수인 입력값을 0으로 만들지 않는다.
: 음수값을 아주 작은 값으로 축소해서 사용함

속도가 ReLU보다 느려짐
엘루

음수인 입력값을 0으로 만들지 않는다.
: 음수값을 지수적으로 축소해서 사용함

속도가 ReLU보다 느려짐

 

모델 학습할 때.. ReLU 계열만 사용하자!

 

  • 활성화 함수로는 ReLU를 먼저 사용하는 것이 좋다.

  • 가중치 초기화는 Sigmoid일 경우 Xavier, ReLU일 경우 He 초기값을 사용하는 것이 좋다.



출처: https://excelsior-cjh.tistory.com/177?category=940400 [EXCELSIOR]

 

'DataMining > Deeplearning' 카테고리의 다른 글

DL - 기초; 배치 정규화  (0) 2021.02.27
DL - 기초; 초기화  (0) 2021.02.27
DL - 기초; 신경망소개/CNN/RNN  (0) 2021.02.27
DL - 기초; 경사하강 & 최적함수  (0) 2021.02.27
DL - 기초 ; 오차역전파  (0) 2021.02.27