학습률 웜업

훈련을 시작하자마자 큰 폭으로 고치면 어떻게 될까요?

해 보면

손실이 이리저리 튑니다

훈련을 막 시작한 모델은 파라미터가 아무렇게나 채워져 있습니다. 이때 큰 폭으로 고치면 엉뚱한 쪽으로 크게 움직여 손실이 오히려 올라갈 수 있습니다.

모양을 보인 그림입니다. 골짜기의 높이가 손실, 공이 파라미터입니다.

해법

작은 폭으로 시작해 차츰 키웁니다

처음 몇 걸음은 아주 낮은 학습률, 곧 작은 폭으로 고치고 걸음마다 조금씩 올립니다. 이것을 학습률 웜업이라고 합니다.

웜업(warm-up)은 운동 전에 몸을 푸는 준비 운동이라는 뜻입니다.

두 숫자

0.0001에서 0.01까지 올립니다

웜업에는 숫자 두 개를 정합니다. 시작하는 값인 처음 학습률과, 올라갈 꼭대기인 최고 학습률입니다.

0.01은 곡선 모양을 보려고 고른 예제 값입니다. 실제 훈련에 쓴 값은 5편에서 나옵니다.

얼마 동안

135걸음 가운데 처음 27걸음

이번 훈련은 15 에포크입니다. 8강처럼 9걸음이 1 에포크이니 모두 135걸음이고, 그 20%인 처음 27걸음 동안 학습률을 올립니다.

에포크는 훈련할 글을 끝까지 한 번 다 본 것입니다. 8강은 10 에포크, 90걸음이었습니다.

얼마씩

한 걸음에 0.000367씩 올립니다

올려야 할 폭은 0.01에서 0.0001을 뺀 0.0099입니다. 이것을 27걸음으로 똑같이 나눠 걸음마다 같은 양을 더합니다.

막대 위 숫자는 소수 다섯째 자리까지만 적은 값입니다.

그래프로 보면

27걸음 오르고, 그 뒤는 그대로

가로는 걸음, 세로는 학습률입니다. 27걸음 동안 곧게 올라 28걸음째에 0.01에 닿습니다.

웜업만 넣은 모습입니다. 꼭대기에 오른 뒤를 어떻게 할지는 다음 편에서 다룹니다.

다음 편

꼭대기에 오른 뒤에는 그대로 두면 될까요?

3편뒤로 갈수록 왜 줄일까? 14강 목록