IT

가중치 초기화(Weight Initialization)

rimicode 2022. 6. 8. 20:15
728x90
반응형
SMALL

가중치 초기화(Wegith Initialization)는 초기 가중치 설정과 관련되어 신경망에서 매우 중요한 요소

 

가중치를 정규분포로 초기화하였을 때 문제

표준편차를 1인 정규분포표로 가중치를 초기화 할 때 각 층의 활성화 값 분포

표준편차가 일정한 정규분포로 가중치를 초기화 해 줄 때에는 대체로 활성화 값이 0, 1에 위치

활성값이 고르지 못할 경우 학습이 제대로 이루어지지 않음

 

Xavier 초기화 (Xavier initialization)

가중치를 표준편차가 고정값인 정규분포로 초기화 했을 때 문제점을 해결하기 위해 등장한 방법

이전 층의 노드가 n 개일 때, 현재 층의 가중치를 표준편차가

인 정규분포로 초기화

(이전 층의 노드가 n개이고 현재 층의 노드가 m 개일 때, 현재 층의 가중치를 표준편차가

인 정규분포로 초기화)

 

활성화 함수가 시그모이드(Sigmoid)인 신경망에서   잘 동작

ReLU 일 경우 층이 지날수록 활성값이 고르지 못하게 되는 문제

 

He 초기화

위의 문제를 해결하기 위해 등장

이전 층의 노드가 n 개일 때, 현재 층의 가중치를 표준편차가

인 정규분포로 초기화

층이 지나도 활성값이 고르게 유지


가중치 초기화 방법 요약

Activation function 에 따른 초기값 추천

1. Sigmoid: Xavier 초기화 사용하는 것이 유리

2. ReLU: He 초기화 사용하는 것이 유리

 

이외에도 여러가지가 있음

init_mode = ['uniform', 'lecun_uniform', 'normal', 'zero', 'glorot_normal', 
	'glorot_uniform', 'he_normal', 'he_uniform']
728x90
반응형
LIST