자주 하는 실수와 요약
자주 하는 실수
| 실수 | 나온 문제 | 바로잡는 법 |
|---|---|---|
| 가장 좋아 보이는 수 하나를 늘 고집함 | 1 | 상대가 읽고 맞받는다. 섞은 전략에서 「장담할 수 있는 값」과 「막을 수 있는 값」이 같아진다(폰 노이만) |
| 교대 업데이트면 학습률만 작게 하면 안장점에 닿는다고 봄 | 2 | 교대 업데이트의 한 스텝은 행렬식이 1이라 넓이를 지킨다. η < 2에서 맴돌 뿐 줄어들지 않는다 |
| 두 신경망이 서로 가르치니 저절로 평형에 간다고 봄 | 3 | 디랙 GAN 은 평형 근처에서 θ·φ 놀이와 같다. 끌어당기는 항이 없으면 맴돌거나 멀어진다 |
| 판별기가 잘 가를수록 생성기가 잘 배운다고 봄 | 4 | 완벽한 판별기는 가짜에 모두 0을 매겨 「얼마나 먼지」를 지운다. 그래디언트가 사라진다 |
| 멀리 떨어진 분포일수록 JS 가 크다고 봄 | 5 | 겹치지 않으면 JS 는 거리와 상관없이 log 2 다. 옮기는 거리 W₁ 은 떨어진 만큼 자란다 |
| 생성기 손실을 −log D 로 바꾸면 그래디언트 문제가 다 풀린다고 봄 | 6 | sigmoid 의 포화만 풀린다. 판별기의 점수가 생성기 쪽에서 평평하면 그래디언트는 여전히 0 이다 |
| 가격 차를 크게 잡을수록 좋다고 봄 | 7 | 가격 차가 운송비를 넘는 가격표는 되팔이가 무너뜨린다. 1-립시츠 판별기만 W₁ 의 아래쪽 어림이다 |
| 판별기 φ의 기울기 상한을 풀면 거리를 더 잘 잰다고 봄 | 8 | 상한 K 면 점수 차는 K × W₁. 상한이 없으면 끝없이 커져 「얼마나」를 잃는다 |
| 직선 판별기의 점수 차가 0이면 두 분포가 같다고 봄 | 9 | 직선은 평균 차만 본다. 분산이 다른 두 분포는 −|x| 같은 꺾인 판별기라야 구별한다 |
| 자르는 문턱은 작을수록 안전하다고 봄 | 10 | 층마다 c × 폭 배가 곱해진다. 작으면 깊을수록 그래디언트가 사라지고, 크면 터진다 |
| 문턱을 잘 고르면 자르기로도 가장 좋은 판별기를 얻는다고 봄 | 11 | 가중치가 경계 두 값으로 몰려 판별기가 단순해진다. 문턱을 바꿔도 눈금을 맞춘 어림값이 참값의 70~80% 에 머문다 |
| 벌금(페널티)을 매기면 기준을 어기지 않는다고 봄 | 12 | 이익과 벌금이 맞서는 자리, 곧 기준보다 조금 넘은 곳에서 멈춘다 |
| 그래디언트 페널티를 쓰면 판별기 그래디언트 길이가 정확히 1이라고 봄 | 13 | 직선 판별기 φ(x) = ax 의 기울기 a 는 1 + 1/(2λ). λ = 10 이면 점수 차가 5% 넘친다 |
| 페널티 세기는 클수록 빨리 수렴한다고 봄 | 14 | 너무 세면 판별기가 생성기에게 줄 신호까지 눌러 가장 느린 방향이 기어간다 |
| 층마다 1로 나누면 판별기 전체의 그래디언트 길이가 1이라고 봄 | 15 | 곱셈 부등식은 상한이다. 층의 방향이 어긋나면 전체 그래디언트 길이는 1보다 작다 |
| 스펙트럼 정규화 판별기의 점수 차를 W₁ 의 값으로 읽음 | 16 | 눈금이 1보다 작고 자리마다 다르다. 생성기에게 중요한 것은 값보다 쓸모 있는 그래디언트다 |
요약
이 장에서 한 일을 정리해 보자. 파라미터 한 묶음이 값을 줄이고 다른 묶음이 같은 값을 키우는 문제가 최소최대 최적화다. 폰 노이만은 1928년, 섞은 전략을 허락하면 두 사람의 놀이에서 「장담할 수 있는 값」과 「막을 수 있는 값」이 같다는 것을 증명했다. 그러나 두 값이 만나는 점이 있다는 것과 그래디언트로 그 점에 닿는다는 것은 다르다. θ·φ 놀이에서 동시 경사 하강–상승은 스텝마다 거리가 √(1 + η²)배가 되며 바깥으로 감기고, 교대 업데이트는 넓이를 지키며 맴돈다. 안장점 쪽으로 끌어당기는 항이 있어야 안장점에 닿는다.
GAN 은 생성기와 판별기를 맞붙인 최소최대 문제다. 판별기가 가장 잘 가를 때 생성기가 줄이는 값은 JS 발산인데, 진짜와 가짜가 겹치지 않으면 JS 는 거리와 상관없이 log 2 에 붙어 생성기에게 그래디언트를 주지 못한다. 진짜 사진과 만든 그림의 분포는 낮은 차원에 모여 있어 이런 일이 흔하다.
바서슈타인 거리 W₁ 은 떨어진 만큼 자란다. 칸토로비치와 루빈슈타인이 보인 쌍대 덕분에, W₁ 은 그래디언트 길이가 1을 넘지 않는 판별기로 잰 진짜와 가짜의 평균 점수 차 가운데 가장 큰 값으로 잴 수 있다. 1-립시츠라는 제약만 지키면 판별기 신경망이 W₁ 을 어림하고, 생성기는 그 판별기의 그래디언트를 따라 내려간다. 제약의 상한이 1이 아닌 K 여도 점수 차가 K 배 될 뿐 방향은 같다.
제약을 신경망에 지키는 법은 셋이 나왔다. 가중치 자르기는 가중치를 [−c, c] 로 묶는 단순한 방법이지만, 가중치가 경계로 몰려 판별기가 단순해지고 깊이에 따라 그래디언트가 사라지거나 터진다. 그래디언트 페널티는 진짜와 가짜를 잇는 선분 위에서 그래디언트 길이가 1에서 벗어난 만큼 벌한다. 판별기가 가장 좋은 모양에 가장 가까웠지만, 페널티라 그래디언트 길이가 1을 조금 넘고 스텝마다 역전파를 한 번 더 한다. 스펙트럼 정규화는 층마다 가중치를 가장 큰 특잇값으로 나눠 어디서나 립시츠 상수를 1 이하로 장담한다. 값싸지만 곱셈 부등식이 느슨해 실제 그래디언트 길이는 1보다 작다.
막힌 곳
판별기를 묶어서 생성기가 받는 그래디언트는 쓸모 있게 되었다. 그러나 생성기와 판별기가 함께 움직이는 한 이것은 여전히 최소최대 문제이고, θ·φ 놀이가 보여 준 맴돌기는 그대로 남아 있다. 판별기를 생성기보다 다섯 배 더 학습시키는 관습이나 R1 페널티가 맴돌기를 얼마나 막는지는 장난감에서만 보았다. 수억 개의 파라미터를 가진 두 신경망의 놀이가 언제 평형에 닿는지는 이 장의 언어로는 답할 수 없다.
그리고 더 근본적인 물음도 있다. 생성기가 학습 데이터의 분포와의 거리를 0에 가깝게 줄였다면, 그것은 학습 사진들을 그대로 외운 것일까, 아니면 처음 보는 얼굴도 만들 줄 알게 된 것일까? 손실을 잘 줄이는 것과 처음 보는 데이터에도 통하는 것은 같은 일일까? 옵티마이저가 많은 답 가운데 어느 답을 고르느냐가 외우는 것과 처음 보는 데이터에도 통하는 것의 차이를 정할 수 있을까?