AI VIDEO BRIEFING

딥러닝 옵티마이저 총정리 — SGD·모멘텀·아다그라드·RMSProp·Adam 작동 원리

역전파가 구한 그래디언트로 손실의 최솟값을 어떻게 찾을까. SGD의 학습률 문제부터 모멘텀, 학습률을 매개변수별로 적응시키는 아다그라드·RMSProp, 그리고 둘을 결합한 Adam까지 주요 최적화 알고리즘을 풀어봤다.

경사하강법을 똑똑하게 — SGD부터 모멘텀·아다그라드·RMSProp·Adam까지 영상 대표 이미지

핵심 메시지

  • 역전파는 가중치마다 손실의 그래디언트를 구해주고, 옵티마이저는 그 그래디언트로 손실의 최솟값을 찾아간다.
  • 데이터를 통째로 넣으면 비용이 크고 어려운 표본의 오차가 평균에 묻히므로, 일정 크기 배치마다 그래디언트 한 걸음씩 내딛는 방식을 쓴다.
  • SGD는 학습률 하나에 좌우되는데, 너무 작으면 느리고 지역 최솟값에 갇히기 쉽고 너무 크면 목표를 건너뛴다.
  • 모멘텀은 속도 항을 더해 일관된 방향으로 가속하고 궤적을 매끄럽게 하며, 네스테로프는 미리 내다본 지점에서 그래디언트를 계산해 이를 개선한다.
  • 아다그라드·RMSProp은 매개변수별로 학습률을 적응시키고, Adam은 RMSProp의 적응 학습률과 모멘텀의 속도 항을 결합한 방법이다.

쉽게 이해하기

역전파는 신경망의 모든 가중치에 대해 손실 함수의 그래디언트를 계산해준다. 그렇다면 이 그래디언트를 어떻게 써서 손실의 최솟값을 찾을까. 이를 담당하는 것이 최적화 알고리즘이다. 손실은 입력 데이터·가중치·정답의 함수이며, 입력과 정답이 풀고자 하는 과제를 정의하면 가중치가 그 과제에 맞게 학습된다. 목표는 매개변수 공간에서 경사하강을 통해 손실의 전역 최솟값, 적어도 아주 좋은 지역 최솟값을 찾는 것이다.

데이터셋 전체를 한 번에 통과시키는 데는 두 가지 단점이 있다. 큰 데이터셋에서는 계산 비용이 매우 크고, 까다로운 표본에서 생긴 오차가 다른 표본들과 평균되며 묻혀버린다. 해결책은 데이터셋에서 크기 M의 부분집합(배치)을 떼어 손실을 계산하고 한 배치마다 그래디언트 한 걸음을 내딛는 것이다. 비용이 줄고 어려운 표본의 오차도 충분히 반영돼 신경망이 반응하고 조정할 기회를 얻는다.

가장 단순한 알고리즘은 확률적 경사하강법(SGD)이다. 배치마다 손실 지형이 조금씩 달라 가중치의 움직임이 다소 확률적인 성격을 띤다는 데서 이름이 왔다(이 반복 수렴 방식은 1847년 코시가 도입했다). 가중치를 그래디언트에 학습률 η를 곱한 만큼 갱신하는 게 전부다. 학습률은 학습 전에 수동으로 정해야 하는 매우 중요한 하이퍼파라미터로, 너무 낮으면 학습이 오래 걸리고 좋지 않은 지역 최솟값에 갇히기 쉽고, 너무 높으면 지역 최솟값은 뛰어넘지만 목표 최솟값까지 건너뛸 수 있다.

이를 완화하려고 갱신 규칙에 속도 항을 더한 것이 폴리야크의 모멘텀이다. 매 시점 모델은 위치 W와 속도 V를 갖고, 속도는 모멘텀 하이퍼파라미터 ρ와 학습률에 따라 변한다. W를 입자로 보면 ρ는 질량, 그래디언트는 운동량을 바꾸는 충격에 해당한다. 한 방향으로 오래 가면 속도가 붙어 더 빨리 나아가고 작은 골을 뛰어넘으며 궤적이 매끄러워져 움직임의 확률성을 줄인다. 폴리야크의 제자 네스테로프(1983)는 속도 점프 이후의 '미리 내다본 지점'에서 그래디언트를 계산해, 점프 전 그래디언트가 점프 후에는 적절치 않을 수 있는 문제를 완화했다.

다음은 속도 항을 더하는 대신 그래디언트 걸음 자체를 조정해 학습률을 적응시키는 방법들이다. 아다그라드(2011, 두치 등)는 가중치마다 과거 그래디언트 제곱합의 제곱근으로 걸음을 나눠 스케일링한다. 많이 변한 매개변수는 진전을 이뤘다고 보아 줄이고, 적게 변한 매개변수는 더 강조해 갱신한다(0으로 나누는 것을 막는 작은 안정화 항 ε을 둔다). 다만 아다그라드는 유효 학습률을 줄일 수만 있고 늘리지는 못해, 목표가 아직 먼데도 학습률이 과도하게 사그라드는 약점이 있다.

RMSProp은 이전 V를 얼마나 기억할지 정하는 감쇠 파라미터 β로 V를 갱신해, 유효 학습률을 줄이는 것은 물론 늘리는 것도 가능하게 한다. 평평한 지형에서는 큰 걸음, 가파른 지형에서는 작은 걸음을 내딛는다. Adam(적응적 모멘트 추정)은 RMSProp과 같은 형태의 V 항으로 학습률을 조정하면서, 모멘텀의 속도 항을 닮은 벡터 M 방향으로 그래디언트 걸음을 내딛어 두 장점을 결합한다. 초기 M·V가 0이라 0 쪽으로 편향되는 것을 1−β의 거듭제곱으로 나눠 보정한다. 다만 뒤에 나온 알고리즘이 늘 우월한 것은 아니어서, SGD로 학습한 모델이 Adam보다 처음 보는 데이터에 더 잘 일반화한다는 보고도 있다. SGD가 날카로운 최솟값에서 더 빨리 벗어나 평평한 최솟값을 찾는 경향과 관련 있다고 보지만, 여전히 밝혀지지 않은 부분이 많은 연구 영역이다.

주요 인사이트

  • 옵티마이저의 발전사는 결국 '학습률을 어떻게 다룰 것인가'의 역사다. 고정 학습률(SGD)에서 방향에 가속을 주고(모멘텀), 매개변수마다 적응시키고(아다그라드·RMSProp), 둘을 합치는(Adam) 흐름으로 이어진다.
  • 배치 학습은 단순한 비용 절감이 아니다. 어려운 표본의 오차가 전체 평균에 묻히지 않게 해, 모델이 그 표본에 제대로 반응하도록 만드는 효과가 있다.
  • 아다그라드의 한계(학습률을 줄이기만 함)를 RMSProp이 '늘릴 수도 있게' 고치고, 거기에 모멘텀을 더한 것이 Adam이라는 점에서 알고리즘 간 계보가 또렷하다.
  • 더 새로운 옵티마이저가 항상 더 좋은 것은 아니다. SGD가 Adam보다 일반화가 나은 경우가 보고될 만큼, 최적화 알고리즘의 능력과 한계는 아직 연구가 진행 중인 주제다.

자주 묻는 질문

옵티마이저는 역전파와 어떻게 다른가?

역전파는 가중치마다 손실의 그래디언트를 계산하는 단계이고, 옵티마이저는 그렇게 구한 그래디언트를 이용해 손실의 최솟값을 향해 가중치를 실제로 갱신하는 알고리즘이다.

데이터를 통째로 쓰지 않고 배치로 나누는 이유는?

전체 데이터를 한 번에 넣으면 계산 비용이 크고, 까다로운 표본의 오차가 다른 표본들과 평균되며 묻힌다. 배치로 나누면 비용이 줄고 어려운 표본의 오차도 제대로 반영된다.

모멘텀과 아다그라드/RMSProp은 접근이 어떻게 다른가?

모멘텀은 속도 항을 더해 그래디언트 걸음을 보강하는 방식이고, 아다그라드·RMSProp은 매개변수별로 그래디언트 걸음 크기를 조정해 학습률을 적응시키는 방식이다.

항상 Adam을 쓰는 게 최선인가?

꼭 그렇지는 않다. SGD로 학습한 모델이 Adam보다 처음 보는 데이터에 더 잘 일반화한다는 보고가 있다. SGD가 평평한 최솟값을 찾는 경향과 관련 있다고 보며, 아직 연구 중인 영역이다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식

#옵티마이저#Adam#경사하강법#SGD#딥러닝학습