그래디언트 클리핑

모델이 실제로 학습하는 방법 — 순수 경사 하강법에서 Adam까지

그래디언트 클리핑은 업데이트가 얼마나 커질 수 있는지를 제한합니다. 어떤 배치가 거대한 그래디언트를 만들어 내면, 클리핑은 최적화기 스텝 전에 그것을 줄여 놓습니다.

클리핑은 목적함수도 데이터도 고쳐 주지 않습니다. 이것을 안전 규칙이라고 생각하세요. 극단적인 배치 하나가 파라미터를 손실 곡면 너머로 내던지게 놔두어서는 안 된다는 규칙입니다.

엘리베이터의 속도 조절기가 좋은 비유입니다. 엘리베이터는 평소에는 정상적으로 움직이지만, 너무 빨리 움직이기 시작하면 조절기가 위험해지기 전에 속도를 제한합니다. 그래디언트 클리핑도 정상적인 그래디언트는 그대로 통과시키고, 위험한 급등만 제한합니다. 아래 그림은 클리핑당하는 대상을 보여 줍니다. 그릇 안에서 점을 끌어 보며, 곡면이 가팔라질수록 그래디언트 화살표가 길게 늘어나는 모습을 지켜보세요. 클리핑은 그 화살표의 방향은 그대로 두고 길이만 c로 제한합니다.

머신러닝에서의 위치그래디언트 클리핑은 단순한 안정화 도구입니다. AdamW, 워밍업, 혼합 정밀도와 함께 쓰이는 경우가 많은데, 이런 레시피들은 그렇지 않으면 드물지만 치명적인 그래디언트 급등에 시달릴 수 있기 때문입니다.
▶ 그래디언트 클리핑
← 최적화기 진단Adam vs AdamW →