신경망 : 체중 변화 운동량 및 체중 감소


41

Momentum 는 연속 반복에 따른 무게 변화의 변동을 줄이는 데 사용됩니다.α

Δωi(t+1)=ηEwi+αΔωi(t),
여기서 는 오류 함수입니다. -가중치 벡터, 학습률.E(w)wη

체중 감량 는 체중 변화에 불이익을줍니다 :λ

Δωi(t+1)=ηEwiληωi

문제는 역 전파 동안 두 가지 트릭을 결합하는 것이 합리적이며 어떤 효과가 있을까요?

Δωi(t+1)=ηEwi+αΔωi(t)ληωi

1
Δωi (t + 1) = ωi-η∂E / ∂wi + αΔωi (t) 대신 ωi (t + 1) = ωi-η ∂E / ∂wi + αΔωi (t)이라고 말 하시겠습니까?
hakunamatata

답변:


48

예, 두 가지 트릭을 모두 사용하는 것이 매우 일반적입니다. 그들은 다른 문제를 해결하고 함께 잘 작동 할 수 있습니다.

그것을 생각하는 한 가지 방법은 무게 감퇴 가 최적화되는 기능을 변화 시키는 반면 운동량 은 최적의 경로를 변화 시키는 것 입니다.

무게 감쇄는 계수를 0으로 줄임으로써 작은 크기의 매개 변수를 사용하여 국소 최적을 찾을 수 있습니다. 이는 일반적으로 초과 피팅을 피하는 데 중요합니다 (무게에 대한 다른 종류의 구속 조건도 작동 할 수 있음). 부수적 인 이점으로, 목적 함수를 더 볼록하게 만들어 모델을보다 쉽게 ​​최적화 할 수도 있습니다.

객관적인 기능이 있으면 이동 방법을 결정해야합니다. 그래디언트에서 가장 가파른 하강이 가장 간단한 방법이지만 변동이 큰 문제가 될 수 있습니다. 운동량을 추가하면 문제를 해결하는 데 도움이됩니다. 배치 업데이트를 사용하는 경우 (일반적으로 신경망에서는 좋지 않은 생각) 뉴턴 유형 단계는 다른 옵션입니다. 새로운 "핫"접근 방식은 Nesterov의 가속 기울기와 소위 "Hessian-Free"최적화를 기반으로합니다.

그러나 사용하는 이러한 업데이트 규칙 (모멘텀, 뉴턴 등)에 관계없이 오류 함수 (예 : 제곱 오류) 및 기타 제약 (예 : 무게 감소)에 의해 결정되는 동일한 객관적인 함수로 작업하고 있습니다. . 이 중 어느 것을 사용할지 결정할 때 가장 중요한 질문은 얼마나 빨리 좋은 분량을 얻을 수 있는지입니다.


'또한 목적 함수를 더 볼록하게 만들어 모델을보다 쉽게 ​​최적화 할 수 있습니다.'더 작은 무게로 이것을 가능하게하는 방법을 설명해 주시겠습니까?
Alex

다음은 요점을 설명하는 간단한 예입니다. 원래 목적 함수가 인 경우 무한히 많은 극소값이 있습니다. 목적 함수 에 를 추가 하고 가 약 0.2보다 크면 이전의 모든 로컬 옵티마가 사라지고 최소값이 0에 가까워 질 것입니다.a x 2 asin(x)ax2a
David J. Harris

좋은 답변, 감사합니다. Adam Optimizer는 어떻습니까? 체중 감량과 운동량의 조합보다 성능이 더 좋습니까?
A. Piro

Adam은 운동량과 같지만 체중 감량과는 다릅니다. 목적 함수 탐색 방법에는 영향을 주지만 목적 함수 자체에는 영향을 미치지 않습니다.
David J. Harris
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.