DNN 학습에 관한 기술 @ 제로 1

가중치의 초기값



가중치의 초기 값에 따라 NN 학습의 성공 여부를 구분할 수 있습니다.

이상 : 가중치를 줄이고 그 분포도 가능한 한 균등하게 만듭니다.
→ 활성화의 편향이 작아져 표현력이 향상
→ 결과적으로 과학습을 억제하고 일반화 성능이 향상된다

"활성화"= "활성화 함수 후의 출력 데이터"

왜 활성화가 치우치면 어떨까요?



예를 들어, Sigmoid 함수


활성화는 활성화 함수 이후의 값이다.
이 값이 0 또는 1로 편향된 경우 그 기울기는 거의 0임을 알 수 있습니다.
이 기울기가 0이되는 것은 매우 좋지 않습니다. 왜냐하면 역전파시, 그라디언트의 값이 출력층으로부터 내려오면서 점점 작아져 버리기 때문이다. 이것이 그라디언트 소실(gradient vanishing)이라고 불리는 문제.

활성화 함수별 권장 초기값




활성화 함수
초기값


Sigmoid, tanh (중법 부근이 선형 함수)
"Xavier의 초기 값"

ReLU
"He의 초기값"


Xavier의 초기 값



목적: 각 레이어의 활성화를 동일한 확산 분포로 만들기
알고리즘: 전계층의 노드 수를 $n$로 설정하면 $\frac{1}{\sqrt{n}}$의 표준 편차가 있는 가우스 분포로 가중치 초기화

※ 활성화 함수에 사용하는 함수는 원점 대칭인 것이 바람직한 성질로 되어 있다.

He의 초기값



알고리즘: 전계층의 노드 수가 $n$이면 $\frac{2}{\sqrt{n}}$ 의 표준 편차가 있는 가우스 분포로 가중치 초기화

Batch Normalization



포인트: 강제로 활성화 분포를 조정합니다.

Batch Norm의 장점


  • 학습을 빨리 진행시킬 수 있다
  • 초기 값에 크게 의존하지 않음
  • 과학 학습 억제
  • 좋은 웹페이지 즐겨찾기