신경망의 가중치가 임의의 숫자로 초기화되는 이유는 무엇입니까? 빨리 배울 수 있습니까? 가중치를 0으로 초기화하지 않는

신경망 초기 가중치가 난수로 초기화되는 이유는 무엇입니까? 나는 이것이 “대칭을 깨뜨리기”위해 수행되는 곳을 읽었고 이것은 신경망을 더 빨리 배우게한다. 대칭을 깨 뜨리면 어떻게 더 빨리 배울 수 있습니까?

가중치를 0으로 초기화하지 않는 것이 더 좋을까요? 그렇게하면 가중치가 (긍정적이든 부정적이든) 값을 더 빨리 찾을 수 있습니까?

초기화시 가중치가 최적의 값에 가까워지기를 바라는 것 외에 가중치를 무작위로 배정하는 다른 기본 철학이 있습니까?



답변

가중치 레이어를 작은 (및 다른) 값으로 초기화하는 기본 직관은 시스템의 바이어스가 깨지고 가중치가 다른 값으로 이동하거나 다른 값으로 이동할 수 있도록하는 것입니다.

더 구체적으로, 당신은 아마도 초기 가중치를 구별하고 그들 사이에 “작은 간격”을 갖기를 원할 것입니다.이 ‘갭’은 갈수록 확장되고 모든 반복에서 가중치가 조금 더 커지게합니다. 네트워크가 더 빨리 수렴합니다. 즉 학습 프로세스 속도가 빨라집니다.

대신 모든 가중치를 일정하게 유지하려는 경우 각 가중치는 매우 느리게 (~ 고정) 비율로 업데이트되며 초기 값이 최종 값에서 ‘매우’멀리 떨어져있는 경우 특히 도움이되지 않습니다.

희망은 도움이 재미 학습 🙂