테마
13회 · 최소제곱 · 노트
8 오늘의 최소제곱 — 경사하강과 weight decay
신경망의 선형층 nn.Linear에 평균제곱오차를 손실로 붙이면 그것이 최소제곱이다. 다른 것은 푸는 방법뿐이다. 정규방정식이나 QR 대신 경사하강을 쓴다. 이 절은 그 차이가 무엇을 낳는지 본다.
8.1 경사하강의 속도는 조건수가 정한다
정리 8.1 (최소제곱의 경사하강) , 이고 라 하자. 의 고유값을 , 이라 하고 학습률 로 를 되풀이하면
오차를 배로 줄이는 데 대략 번이 든다.
증명 이고 정규방정식으로 이므로 이다. 따라서 . 대칭행렬 의 고유값은 이므로 그 노름은 이하다. 에서 마지막 문장이 나온다.
8.2 모수가 관측보다 많으면 — 최소노름 해
이면 이고 정규방정식의 해가 무수히 많다. 그 해들은 모두 자료를 완벽히 맞춘다(잔차 0). 경사하강은 그 가운데 어느 것을 고르나?
정리 8.3 (경사하강은 최소노름 해로 간다) 에서 출발해 로 경사하강을 하면 는 정규방정식의 해 가운데 노름이 가장 작은 것 로 수렴한다.
증명
1. 행공간에 머문다. 이므로 에서 시작한 는 모두 에 있다.
2. 행공간의 해는 하나이고 노름이 최소다. 해 하나를 라 하면 해 전체는 이다. (직교 분해)로 이라 쓰면 이므로 도 해이고, 행공간에 있는 해는 이것 하나다(두 해의 차는 에 있다). 아무 해 ()에 대해 이다.
3. 수렴. 정리 8.1의 증명처럼 이고 이다. 는 를 자기 자신으로 보내고, 거기서의 고유값은 양수 이므로 의 고유값 는 절댓값이 1보다 작다. 따라서 .
(는 Moore–Penrose 역행렬)이다. 아무도 노름을 작게 하라고 시키지 않았는데 경사하강이 스스로 그렇게 한다. 이것을 암묵적 정칙화라 부른다. 모수가 자료보다 훨씬 많은 오늘의 신경망이 왜 자료를 외우면서도 새 자료에서 망가지지 않는지 설명하려는 연구가 이 정리에서 출발했다.
8.3 Ridge와 weight decay
정의 8.4 (Ridge 추정량) 에 대해 을 최소로 하는
를 ridge 추정량이라 한다(Hoerl–Kennard 1970). 상수항은 벌점에서 빼는 것이 보통이어서 설명변수와 반응을 중심화한 뒤에 쓴다.
는 언제나 양정치이므로 이어도, 공선성이 심해도 해가 하나로 정해진다. 신경망에서 손실에 을 더하는 것을 weight decay라 부른다. 경사하강 한 걸음이 , 곧 매번 가중치를 조금씩 줄이는 꼴이기 때문이다. 손실이 제곱오차이면 그 고정점이 ridge 해다(연습 8.1).
명제 8.5 (ridge는 방향마다 줄인다) 를 특이값 분해()라 하면
최소제곱 해의 성분을 방향 마다 배로 줄인다. 특이값이 작은 방향, 곧 자료가 정보를 적게 가진 방향을 가장 많이 줄인다.
증명 , 이므로 이다. 성분으로 쓰면 위의 식이고, 이 최소제곱이다.
증명 로 돌려도 노름은 같으므로 의 좌표에서 계산한다. 최소제곱의 번째 성분 는 평균 , 분산 이고, ridge의 성분은 , 이다. 분산과 치우침의 제곱을 더하면
이다. 이면 모든 항이 음수이므로 은 에서 감소하고, 이다.
예제 8.7 (공선성 자료의 ridge) 예제 7.5의 표본(중심화)에서 의 두 특이값은 13.56과 0.366이다. 를 0, 1, 10으로 올리면 는 로 참값 쪽으로 모인다(그림 8.1 오른쪽). 줄어드는 것은 거의 전부 작은 특이값의 방향 , 곧 “두 계수의 차”다. 합의 방향은 거의 건드리지 않는다. 이 설계에서 , 이면 최소제곱의 평균제곱오차는 7.47이고 ridge는 에서 0.010으로, 700배 작다. 가 거의 전부 큰 특이값의 방향에 있어서 작은 방향을 줄이는 대가(치우침)가 거의 없기 때문이다.
가정 주의 최적의 는 모르는 에 의존한다(연습 3.5의 와 같다). 실무에서는 교차검증으로 고른다. 16회에서 Stein은 정규 평균 세 개 이상을 동시에 추정할 때, 와 무관하게 언제나 최소제곱을 이기는 축소 추정량이 있음을 보인다.
연습문제
연습 8.1 (덧붙인 자료 ★) (a) , 로 최소제곱을 하면 ridge 해가 나옴을 보여라. (b) weight decay를 붙인 경사하강 의 고정점이 임을 보여라.
풀이
(a) , 이므로 정규방정식이 ridge의 식이다. (b) 고정점에서 이므로 , 곧 .
연습 8.2 (두 점, 세 모수 ★★) , 이다. 정규방정식의 해 전체를 쓰고, 그 가운데 노름이 가장 작은 해가 임을 보여라. 원점에서 출발한 경사하강이 이 해로 가는 것을 정리 8.3으로 설명하라.
풀이
이므로 정규방정식의 해는 의 해, 곧 , 이다. 해 전체는 이고 노름의 제곱 은 에서 최소다. 해 은 의 행공간에 있다. 원점에서 시작한 경사하강은 행공간을 떠나지 않으므로(정리 8.3의 1단계) 그 안의 유일한 해로 간다.
연습 8.3 (조건수와 중심화 ★★) 단순회귀에서 이다. 를 중심화하면 ()임을 보이고, 중심화하지 않았을 때 이면 임을 보여라(고유값의 합과 곱을 쓰라). Galton의 , 로 을 확인하라.
풀이
중심화하면 이므로 . 중심화하지 않으면 의 대각합은 , 행렬식은 이다. 이면 큰 고유값은 대각합에 가깝고 작은 고유값은 행렬식대각합에 가까우므로 . Galton: . 중심화하면 .