가중치 및 바이어스 초기화를 0 주위에서 선택해야하는 이유는 무엇입니까?


13

나는 이것을 읽었다 :

신경망을 훈련시키기 위해 각 매개 변수 W (l) ijWij (l)와 각 b (l) ibi (l)을 0 근처의 작은 임의의 값으로 초기화합니다 (예 : Normal (0, ϵ2) Normal (0) , ϵ2) 작은 ϵϵ에 대한 분포, 즉 0.01)

에서 스탠포드 깊은 자습서를 학습 7 번째 단락에서 역 전파 알고리즘

내가 이해하지 못하는 것은 가중치 또는 바이어스의 초기화가 약 0 이어야하는 이유입니다 .

답변:


11

상당히 합리적인 데이터 정규화를 가정 할 때 가중치에 대한 기대치는 0이거나 그에 가까워 야합니다. 따라서 실제로는 음의 무게 여야하고 반대의 경우에는 양의 초기 무게가 더 가야하기 때문에 모든 초기 무게를 0으로 설정하는 것이 합리적 일 수 있습니다. 그러나 이것은 작동하지 않습니다. 모든 가중치가 동일하면 모두 동일한 오류가 발생하고 모델은 아무것도 학습하지 않습니다. 뉴런간에 비대칭의 원인이 없습니다.

대신 우리가 할 수있는 것은 가중치를 0에 매우 가깝게 유지하지만 0이 아닌 작은 숫자로 초기화하여 가중치를 다르게하는 것입니다. 이것이 튜토리얼에서 제안한 것입니다. 그것은 '최고의 추측'기대 값에 가깝다는 점에서 0으로 초기화하는 것과 동일한 장점을 갖지만 대칭이 알고리즘이 작동하기에 충분히 깨졌습니다.

이 방법에는 추가 문제가 있습니다. 특히 신경망이 깊을수록 더 적은 숫자가 더 잘 작동하는 것은 아닙니다. 역 전파에서 계산 된 기울기는 가중치에 비례합니다. 매우 작은 가중치는 매우 작은 그라디언트로 이어지고 네트워크를 훈련하는 데 훨씬 오래 걸리거나 완료하지 못할 수 있습니다.

에스아르 자형()[1,1]


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.