스물두줄

컴퓨터시스템응용기술사 · 인공지능 및 머신러닝

경사하강법 설명 영상

경사하강법은 비용함수의 기울기 반대 방향으로 가중치를 반복 갱신하는 최적화 기법이다. 갱신식에서 η는 학습률, E는 비용함수, w는 가중치다. 기울기는 함숫값이 가장 빠르게 증가하는 방향이므로 그 반대로 이동한다. 먼저 현재 위치 w에서 기울기 ∇J(w)를 계산한다.…

주요 장면

  1. 0:02 경사하강법 정의
  2. 0:22 기울기 방향으로 내려가기
  3. 0:46 계산 예제
  4. 1:34 세 가지 변형 비교
  5. 2:01 헷갈리는 점
  6. 2:37 개선 방향과 정리

대본

경사하강법 정의

경사하강법은 비용함수의 기울기 반대 방향으로 가중치를 반복 갱신하는 최적화 기법이다.

갱신식에서 η는 학습률, E는 비용함수, w는 가중치다.

기울기는 함숫값이 가장 빠르게 증가하는 방향이므로 그 반대로 이동한다.

기울기 방향으로 내려가기

먼저 현재 위치 w에서 기울기 ∇J(w)를 계산한다.

기울기는 함숫값이 가장 빠르게 증가하는 방향을 가리킨다.

그러므로 그 반대 방향으로 학습률 η만큼 이동하면 비용이 줄어든다.

이 과정을 수렴할 때까지 반복한다.

계산 예제

가상의 예로 비용함수를 E(w) = (w − 3)²으로 둔다.

초기값 w₀은 0, 학습률 η는 0.1, 최적해 w*는 3이다.

첫 갱신에서 기울기는 −6이므로 w₁은 0.6이 된다.

둘째 갱신에서 기울기는 −4.8이고 w₂는 1.08이다. 최적해에 가까워진다.

학습률을 1.0으로 키우면 w₁이 6이 되어 3을 지나친다. 이것이 오버슈팅이다.

세 가지 변형 비교

경사하강법은 한 번 갱신할 때 쓰는 데이터 양에 따라 세 가지로 나뉜다.

배치 방식은 기울기가 정확하지만 전체 데이터를 읽어야 해서 느리다.

SGD는 샘플 1개마다 갱신해 빠르지만 기울기 노이즈가 커서 경로가 불규칙하다.

미니배치는 두 방식의 중간이며 GPU 병렬처리에 적합해 실무 딥러닝의 기본 선택이다.

헷갈리는 점

경사하강법이 항상 전역 최적해를 찾는다고 쓰면 틀린다.

볼록 함수에서는 기울기가 0인 점이 전역 최적해다.

비볼록인 신경망 손실함수에는 지역 최소점과 안장점이 존재할 수 있다.

그래서 지역 최소점 탈출을 위해 모멘텀, 확률적 노이즈, 미니배치를 활용한다.

개선 방향과 정리

학습률 문제를 줄이는 방법은 크게 네 가지다.

학습률 스케줄링은 에폭이 지날수록 η를 줄이고, 모멘텀은 이전 이동량을 누적한다.

적응적 학습률은 파라미터별로 η를 조정하고, 기울기 클리핑은 기울기 폭주를 막는다.

결국 학습률 η 선택이 수렴 속도와 안정성을 함께 좌우한다.

같은 장의 영상