노름을 제한하기
유한한 벡터 g와 양수 한계 c에 대해 대표적인 L2 노름 제한은 길이가 c 이하이면 그대로 두고, 초과하면 c/||g||를 곱한다. 기울기가 0이면 그대로 둔다. 같은 양의 배율로 줄이므로 0이 아닌 벡터의 방향은 유지된다.
값 제한과의 차이
g=(6,8), c=5라면 노름은 10이므로 노름 제한 뒤에는 (3,4)다. 각 성분을 -5부터 5 사이로 자르는 값 제한은 (5,5)가 된다. 후자는 길이가 √50이라 5보다 크며 방향도 달라졌다. 성분의 상한과 벡터 길이의 상한은 같은 조건이 아니다.
전체와 개별 제한
서로 다른 두 매개변수의 기울기가 각각 6과 8이면 전역 L2 노름은 10이다. 전체를 5로 제한하면 둘 다 절반으로 줄어 3과 4가 된다. 각 매개변수를 따로 길이 5로 제한하면 5와 5다. 같은 한계 숫자를 사용해도 묶는 범위에 따라 학습 경로가 달라질 수 있다.
제한의 의미
클리핑은 기울기를 바꾸는 연산이다. 단순 경사 하강법에서는 갱신량과 직접 비례하지만 모멘텀이나 적응형 상태가 있으면 최종 이동량의 상한과 같지 않다. 비정상적인 무한대나 NaN 기울기의 원인을 고치는 방법으로도 간주해서는 안 된다.
관련 문서
경사 하강법 / 모멘텀 (최적화) / Adam (최적화) / RMSprop / 인공 신경망 / Adagrad