확률적 경사 하강법과 Adam(Stochastic gradient descent and Adam)
데이터 전체의 기울기(slope) 대신 무작위로 뽑은 일부(미니배치, minibatch)의 기울기로 걷는 경사 하강법(gradient descent). 그 기울기는 참 기울기의 치우침 없는 추정(unbiased estimator)이고 흩어짐은 배치 크기의 제곱근에 반비례한다. 모멘텀(momentum)과 Adam은 길쭉한 골짜기에서 걸음을 다듬는 변형이다.
데이터 N개에 대한 손실은 예 하나하나의 손실의 평균(mean)
아래는 점 200개에 직선
분홍 점들은 청록 화살표 끝 둘레에 흩어져 있고, B를 늘리면 모여듭니다. 미니배치 기울기와 참 기울기의 차이를 40번 잰 크기의 제곱 평균의 제곱근은 지금
왜 이득인가. 기울기 계산의 비용은 B에 비례하지만, 정확도는
길쭉한 골짜기. 경사 하강법의 두 번째 약점은 방향마다 곡률(curvature)이 크게 다른 골짜기입니다. 아래 그릇은 한 방향의 곡률이 다른 방향의 40배입니다(조건수(condition number) 40). 세 방법이 같은 점에서 출발합니다. 그릇:
모멘텀. 기울기를 속도(velocity)에 쌓아 두고 그 속도로 움직입니다.
Adam. 좌표마다 기울기의 이동 평균 m과 기울기 제곱의 이동 평균 v를 따로 기억하고,
'비스듬한 그릇'을 골라 보세요. 곡률은 그대로 두고 그릇을 출발점과 함께 30° 돌렸을 뿐입니다. 잡음이 0이면 SGD와 모멘텀의 f 곡선은 두 그릇에서 똑같은데, Adam만 눈에 띄게 느려집니다. Adam의 크기 맞춤은 좌표축마다 따로 하는 것이라, 길쭉한 방향이 좌표축과 어긋나면 그 방향을 알아보지 못합니다. 방향마다의 곡률을 제대로 알려면 헤세 행렬(Hessian matrix) 전체가 필요한데, 변수가 수십억 개면 그 행렬(matrix)을 만들 수조차 없습니다. Adam의
잡음은 해롭기만 할까. 작은 미니배치로 찾은 해가 새 데이터에서 더 잘 맞는 경우가 보고되었고, 잡음 덕분에 날카로운 골짜기보다 넓은 골짜기에 머문다는 설명이 제안되었습니다. 기울기가 0인 안장점(saddle point)을 빠져나오는 데 잡음이 도움이 된다는 분석도 있습니다. 그러나 이것들은 실험과 부분적인 이론이 섞인 설명이지, 언제나 성립하는 정리가 아닙니다. 어떤 방법이 가장 좋은지도 문제마다 달라서, 실무의 선택은 대부분 실험으로 정합니다.
이어지는 곳. 미니배치마다의 기울기는 자동 미분(automatic differentiation)의 후진 모드(reverse mode), 신경망(neural network)에서는 역전파(backpropagation)가 계산합니다. 미니배치 기울기는 전체 평균을 무작위 표본(sample)의 평균으로 어림하는 몬테카를로 방법(Monte Carlo method)의 한 예이고, 학습률이 일정할 때 바닥 근처에서 맴도는 θ는 한 걸음이 지금 자리에만 달린 마르코프 연쇄(Markov chain)를 이룹니다. 학습 데이터(training set)의 손실을 끝까지 줄이면 과적합(overfitting)이 생길 수 있어 검증 오차를 보며 멈추거나 정규화를 더합니다. 많은 대형 언어 모델(language model)은 AdamW로 학습합니다. AdamW는 걸음마다 가중치(weight)를 조금씩 0 쪽으로 줄이는 가중치 감쇠(weight decay)를, Adam의 크기 맞춤과 섞지 않고 따로 적용하는 변형입니다. 미니배치도 커서, GPT-3(2020)의 가장 큰 모형은 한 걸음에 약 320만 토큰(token)을 썼습니다. 배치 크기와 학습률, 학습량 사이의 관계는 규모의 법칙(scaling laws) 연구에서 실험으로 잽니다.
이 개념이 나오는 긴 글
이 개념을 언급하는 페이지
- 뉴턴 방법
… 드는 계산이 훨씬 적기 때문입니다. 실제로는 기울기마저 자료 전체 대신 무작위로 뽑은 일부로 어림하는확률적 경사 하강법이 쓰입니다. 뉴턴 방법은 규칙 g(x) = x - f(x)/f'(x) 를 되풀이하는 반복입니다. 근 …
- 큰 수의 법칙
… 많이 뿌려 넓이나 π를 구하는 몬테카를로 방법이 바로 이 법칙 위에 서 있습니다. 신경망을 학습시키는확률적 경사 하강법도 마찬가지입니다. 무작위로 뽑은 자료 B개로 구한 기울기의 평균은 전체 자료의 기울기를 치우침 없이 …
- 경사 하강법
… 기울기도 평균입니다. 매번 전부 계산하는 대신 무작위로 고른 몇 개(미니배치)로 기울기를 어림하는 것이확률적 경사 하강법(SGD)입니다. 그 어림은 기댓값이 참 기울기와 같은 잡음 섞인 추정이라 걸음이 조금씩 비틀거리지만 …
- 신경망
… 매긴 확률의 로그에 −를 붙여 평균한 값, 엔트로피와 같은 꼴)을 줄이도록 경사 하강법의 변형인Adam으로 고치고, 모든 가중치에 대한 기울기는 역전파가 한꺼번에 계산합니다. 학습은 버튼을 누를 때만 …
- 기계 학습
… 손실을 매개변수로 미분해 내려가는 경사 하강법(실제로는 자료 일부로 기울기를 어림하는확률적 경사 하강법), 층이 깊은 신경망에서 그 미분값을 싸게 얻는 역전파가 오늘날의 일꾼입니다. 확률로 보면 손실을 …
- 기울기 벡터와 야코비 행렬
… 그것이 라그랑주 승수법입니다. 기울기를 전부 계산하기에 데이터가 너무 많을 때 일부로 어림하는 것이확률적 경사 하강법입니다. 기울기가 0인 점을 찾는 일은 최적화의 첫걸음이고, \dot{\vec x} = -\nabla …
- 볼록 함수와 볼록 최적화
… 같은 함수입니다. 단위를 하나 덜 가진 신경망이 된 셈이라 대개 손실이 더 큽니다. 그런데도 경사 하강법과확률적 경사 하강법이 큰 신경망에서 잘 듣는 까닭은 아직 완전히 이해되지 않았고, 활발히 연구되고 있습니다. 이어지는 곳. …
- 자동 미분
… 사용자가 앞으로 계산만 적으면 계산 그래프를 기록했다가 거꾸로 따라가며 기울기를 냅니다. 그 기울기로확률적 경사 하강법이나, 기울기의 최근 평균으로 걸음 크기를 조절하는 그 변형 Adam이 가중치를 고칩니다. 트랜스포머로 …
- 인공지능
… 자동 미분으로 얻습니다. 그리고 손실이 줄어드는 쪽, 곧 기울기의 반대 방향으로 조금씩 내려가는 것이확률적 경사 하강법입니다. 층을 거듭 지날 때. 입력 신호는 층을 지나며, 학습 때의 기울기는 층을 거꾸로 지나며 점점 …
- 합성곱 신경망
… 층도 결국 가중치를 곱해 더하고 비선형 함수를 거치는 신경망의 한 종류이고, 그 가중치는 역전파와확률적 경사 하강법으로 맞춥니다. 필터를 진동수의 언어로 읽고 싶다면 푸리에 급수와 이산 코사인 변환으로, 순환 …
- 강화 학습
… 방법⟧과 큰 수의 법칙: 겪은 표본으로 기댓값을 대신하는 생각의 근거. 신경망, 경사 하강법,확률적 경사 하강법: 값을 신경망으로 어림하고 기울기로 고치는 부분. 게임 트리 탐색: 상대가 있는 게임에서 같은 계산을 …
- 확산 모델
… 나오는 과정은 쿨백–라이블러 발산과 최대가능도법에, 잡음 수준마다 점수를 맞히는 신경망의 학습은확률적 경사 하강법에 있습니다. 그림을 작은 잠재 공간으로 줄여 계산을 아끼는 부분은 오토인코더가 맡고, 무작위로 뽑은 …
- 트랜스포머
… 출력으로 학습하는 목표는 언어 모델의 교차 엔트로피이고, 기울기는 역전파와 자동 미분으로 구해확률적 경사 하강법과 Adam으로 가중치를 고칩니다. 사인파 위치 인코딩은 여러 진동수의 사인·코사인을 쓴다는 점에서 ⟦푸리에 …
- 인간 피드백 강화 학습과 정렬
… 정책이 너무 크게 바뀌지 않도록 갱신 폭을 잘라 두는 방법입니다. 기울기는 뽑은 답 몇 개로 추정하므로확률적 경사 하강법처럼 잡음이 섞입니다. 한계. RLHF가 최적화하는 것은 '평가자가 고르는 답'이지 '참인 답'이 …
- 언어 모델의 발전사: RLHF 이후
… 찾는 코사인 유사도, 여러 번 뽑아 고르는 표본과 검증, 그리고 모든 것의 바탕인 다음 토큰 예측과확률적 경사 하강법입니다. 조심할 것도 그대로입니다. 벤치마크는 금방 포화되고, 공개된 문제는 학습 자료에 섞이며(오염), …