작성
·
371
1
여러가지 최적화 방법에서 모멘텀 기반과 가변학습률 식의 설명이 부족하다고 생각되어 보충 설명을 요구드립니다. 기존의 확률적 경사 하강법(SGD)의 경우 손실함수 L을 가중치로 미분하고 step size를 곱하여 가중치에서 뺀 후 새로운 가중치로 업데이트 한다는 공식은 이해가 되었습니다. 이 공식에서 모멘텀 기반과 가변학습률의 공식으로 변형 되었을 때 각 각의 v와 G가 다른 은닉층의 가중치를 의미하는 것인지 아니면 새로운 방식으로 가중치를 업데이트 하기 위해서 임의로 생성한 변수인지 헷갈립니다. 아니면 다른 의미의 변수 인가요? 은닉층의 가중치이든 새로운 변수이든 각 변수가 소문자, 대문자인 이유도 알고 싶습니다. 어떤식으로 변형된 건지에 대한 설명이 많이 축약되었다고 생각하고 뒤에 나오는 Adam 기법을 설명해주실 때에도 모멘텀 기반과 가변학습률이 어떤식으로 식에 영향을 준 건지 전체적으로 이해가 잘 가지 않습니다. 좀 더 세세하게 설명해 주실 수 있으실까요?
답변 1
0
안녕하세요.
장기 출장 중이라 답변이 늦었습니다.
좋은 질문 감사합니다.
SGD의 단점 중 하나가 learning rate(step size)이 고정이라는 점입니다. 따라서 모멘텀이나 가변학습률 모두 고정된 learning rate을 개선하는데 목적에 있습니다. 즉, 언급하신 다른 가중치(model parameters)를 사용한다거나 은닉층에 대한 튜닝이 아니고 가중치를 업데이트 할 때 어떤 방식으로 할 건지에 따라 방법이 나눠집니다.
다만 소개 된 모든 방법이 경사하강법을 기반으로 한 것이기 때문에 종류에 관계없이 손실 함수를 기준으로 각 가중치마다 그래디언트를 계산하니까 역전파 시 은닉층의 가중치가 사용됩니다.
모멘텀과 ADAM의 큰 틀을 말씀 드리면 모멘텀은 SGD에 관성이라는 컨셉을 가지고 와서 local minima에 빠지지 않게 SGD에 추가항을 넣었다고 생각하시면 되고 ADAM은 learning rate을 iteration마다 직접 변형하기 위해 learning rate 텀 mu을 변형한 방법이라고 이해하시면 됩니다.
v, G의 대소문자는 큰 의미는 없습니다 ^^;; 그리고 가중치 w가 업데이트 되듯이 v, G도 소개 된 식에 의해 업데이트 되는 변수입니다. 초기 변수는 v=0, G=0으로 시작해서 소개된 식에 의해 업데이트 됩니다!
열공하세요 :)