그레이디언트 소실

층을 많이 쌓으면 무조건 좋아질까요?

훈련의 순서

고칠 곳은 뒤에서 앞으로 알려 줍니다

출력을 정답과 비교해 틀린 정도를 구합니다. 그 신호를 맨 뒤 층부터 앞 층으로 전하면, 층마다 그것을 보고 자기 파라미터를 고칩니다.

파라미터는 모델 안에 든 숫자입니다. 틀린 정도를 손실, 뒤에서 앞으로 전하는 과정을 역전파라고 부릅니다.

신호의 이름

이 신호가 그레이디언트입니다

파라미터를 조금 바꿨을 때 틀린 정도가 얼마나 변하는지를 나타내는 숫자입니다. 크면 어느 쪽으로 고칠지 분명하고, 0에 가까우면 알 수 없습니다.

문제

층을 지날 때마다 신호가 줄어듭니다

앞 층으로 한 칸 갈 때마다 그 층의 값이 한 번씩 곱해집니다. 곱해지는 수가 1보다 작은 일이 흔해서, 그림처럼 0.6을 네 번 곱하면 0.13만 남습니다. 층이 많을수록 맨 앞 층에는 거의 닿지 않습니다.

막대는 설명용 예시입니다. 다음 장에서 실제로 잰 값을 봅니다.

실험

5층짜리로 재 보면

맨 뒤 5층은 0.00505인데 맨 앞 1층은 0.00020입니다. 약 25분의 1입니다.

숫자 3개를 받는 층 다섯 개를 이은 작은 모델로 한 실습입니다. 2층이 1층보다 작듯이 꼭 차례대로 줄지는 않지만, 앞쪽이 훨씬 작다는 점은 같습니다.

그 결과

앞쪽 층이 배우지 못합니다

신호가 거의 닿지 않는 앞쪽 층은 훈련해도 처음 상태에 머뭅니다. 이 현상을 그레이디언트 소실이라고 합니다. 층이 많은 GPT에서는 큰 문제입니다.

다음 편

신호가 줄지 않고 지나갈 길을 냅니다

9편지름길을 낸다 6강 목록