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


41

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

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

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

Δωi(t+1)=−η∂E∂wi−ληωi

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

Δωi(t+1)=−η∂E∂wi+αΔω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.