그래디언트 클리핑 (Gradient Clipping)

컴퓨터과학·AI
한 줄 정의: 역전파 과정에서 계산된 경사(그래디언트)의 크기가 일정 값을 넘지 않도록 잘라내어 학습 발산을 막는 기법.

쉽게 풀면

신경망, 특히 순환 신경망이나 매우 깊은 네트워크를 학습시키다 보면 경사값이 갑자기 비정상적으로 커져서 파라미터가 한 번에 너무 크게 업데이트되어 학습이 완전히 망가지는 경사 폭발 문제가 생길 수 있어요. 그래디언트 클리핑은 경사의 크기(노름)가 정해놓은 한계값을 넘으면 그 크기를 한계값에 맞춰 줄여주는 방법입니다. 방향은 그대로 유지하면서 크기만 제한하는 것이어서, 학습 방향은 왜곡하지 않으면서도 지나치게 큰 업데이트로 인한 학습 붕괴를 막아줘요. 트랜스포머나 순환 신경망 계열의 모델을 학습시킬 때 자주 함께 사용되는 안전장치입니다.

왜 중요한가

깊은 신경망이나 순환 구조의 모델은 역전파 과정에서 경사가 층을 거듭할수록 급격히 커지는 경사 폭발 문제를 겪기 쉬워, 이를 방치하면 학습이 발산해 아예 결과를 얻지 못하는 경우가 생깁니다. 그래디언트 클리핑은 이런 학습 붕괴를 막는 가장 단순하고 효과적인 안전장치이기 때문에, 순환 신경망은 물론 트랜스포머 기반 대규모 언어모델의 사전학습 설정에서도 사실상 표준적으로 적용되며, 재현 가능한 학습을 위해 논문의 실험 설정에서 자주 명시됩니다.

논문에서는 이렇게 쓰입니다

"학습 안정성을 위해 그래디언트 노름을 1.0으로 클리핑하였다."

매 업데이트마다 경사의 크기가 1.0을 넘지 않도록 잘라내어 학습이 갑자기 불안정해지는 것을 막았다는 뜻이다.

"장기 의존성을 학습하는 LSTM 모델에서 그래디언트 클리핑을 적용하지 않은 경우 학습 초반에 손실값이 발산하는 현상이 관찰되었다."

클리핑을 적용하지 않으면 순환 신경망 학습이 초반부터 불안정해질 수 있다는 것을 실험적으로 보여준 문장이다.

"대규모 언어모델 사전학습 과정에서 그래디언트 노름을 클리핑함으로써 학습률을 상대적으로 크게 설정하고도 안정적인 수렴을 얻을 수 있었다."

클리핑 덕분에 더 공격적인 학습률 설정에서도 학습이 안정적으로 진행되었다는 의미다.

조금 더 깊게 보면

그래디언트 클리핑에는 크게 경사 값 자체를 지정된 범위로 잘라내는 값 클리핑(value clipping)과, 전체 경사 벡터의 노름(크기)이 임계값을 넘으면 벡터 전체를 같은 비율로 축소하는 노름 클리핑(norm clipping) 방식이 있으며, 방향을 보존한다는 장점 때문에 노름 클리핑이 더 널리 쓰입니다. 이 기법은 근본 원인인 경사 폭발 자체를 없애기보다 그 영향을 완화하는 대증적 조치에 가깝기 때문에, 초기화 방법 개선이나 배치 정규화, LSTM·GRU 같은 게이트 구조 설계처럼 경사 흐름을 근본적으로 안정화하는 다른 기법들과 함께 쓰이는 경우가 많습니다.

주의할 점

클리핑 임계값을 너무 작게 잡으면 정상적인 학습 신호까지 과도하게 억제되어 학습 속도가 느려질 수 있다.

관련 용어