[딥러닝] 성능향상(탄력 momentum (가속도, 관성))

Peter·2021년 7월 6일
0

딥러닝

목록 보기
21/47

경사도 잡음 현상

  • 기계 학습은 훈련집합을 이용해 매개변수 경사도를 추정하므로 잡음 가능성 높음
  • 전역 최저치로 접근해야하는데 로컬 최저치에서 머무를 가능성 높아짐
  • 탄력(가속도, 관성)momentum은 경사도에 부드러움을 가하여 잡음 효과 줄임
    - 관성(가속도): 과거에 이동했던 방식을 기억하면서 기존 방향으로 일정 이상 추가 이동함

관성을 적용한 가중치 갱신 수식

  • 속도벡터 v는 이전 경사도를 누적한 것에 해당함
  • a = 0이면 이전 경사도를 그대로 받음
  • a가 1에 가까울수록 관성이 높아짐
  • theta가 그리는 궤적이 매끄러움
  • 보통 0.5, 0.9 또는 0.99 사용
    - 0.5로 시작하여 세대(epoch)가 지남에 따라 점점 키워 0.99에 도달하는 방법

관성의 효과

  • 지나침(overshooting)현상 누그러뜨림
  • 최저점을 향한 관성을 유지시켜서 도달을 빠르게함

네스테로프 가속 경사도(nesterov accelerated gradient)관성

  • 현재 v값으로 다음 이동할 곳을 예견한 후, 거기서 예견한 곳의 경사도를 사용

  • 기존 방식은 관성과 경사도를 합쳐서 나온 벡터로 이동을 시킴

  • 네스테로프 가속 경사도는 일단 관성 방향으로 이동을 시키고 그곳의 경사도 벡터로 다시 이동시킴

  • 관성 방향 이동이 맞았다는 전제하에 첫번째 방법은 빙 돌아갈 수 있음

  • 두번째 방법은 관성에 의해 나간 곳에 최저점이 맞다면 거기서 이동을 멈출 수 있기 때문에 장점이 있음

profile
컴퓨터가 좋아

0개의 댓글