혼동하기 쉬운 점과 요약
토론 1. 늘 같은 값을 읽는 체온계는 믿을 만한가
참 체온이 36.5°C인 사람을 체온계 둘로 다섯 번씩 쟀다. A: 37.2, 37.1, 37.3, 37.2, 37.2. B: 36.0, 37.1, 36.4, 36.9, 36.1. 어느 체온계가 더 정확한가?

집에 체온계가 둘 있어요. 참 체온 36.5°C인 사람을 다섯 번씩 재 보니 A는 37.2, 37.1, 37.3, 37.2, 37.2, B는 36.0, 37.1, 36.4, 36.9, 36.1이었어요. 어느 쪽을 믿을까요?

A요. 다섯 번이 거의 같은 값이잖아요. B는 잴 때마다 1도 넘게 왔다 갔다 해서 못 믿겠어요.

참값에서 떨어진 거리의 제곱을 평균해 볼까요?

A는 0.494, B는 0.188이에요. 어, B가 두 배 반 넘게 정확하네요. A는 다 같이 0.7도쯤 높게 나와서요.

쪼개 보면 A는 평균이 37.2라 편향²이 0.49, 흩어짐이 0.004야. B는 평균이 딱 36.5라 편향² 0, 흩어짐 0.188이고.

그럼 A를 다섯 번 재서 평균을 내면 나아질까요?

평균도 37.2니까 그대로예요. B는 다섯 번 평균이 36.5로 참값이고요. 많이 재서 줄어드는 건 흩어짐뿐이네요.

그럼 A는 아예 쓸모가 없는 거야? 0.7을 빼면 거의 정확할 텐데.

0.7을 빼려면 무엇을 알아야 하죠?

참 체온이요. 참값을 알 때만 편향을 잴 수 있어요. 모르면 A는 「늘 같은 값」이라서 믿음직해 보일 뿐이고요. 모여 있다는 건 흩어짐이 작다는 것뿐이고, 오차는 평균 자리가 빗나간 정도까지 더해야 나와.
토론 2. 독립인 예측 K개를 평균하면 오차가 K분의 1이 되나
날씨 앱 다섯 개가 내일 기온을 예측한다. 앱마다 제 오차(표준편차 2°C)가 있고, 모든 앱이 같은 기상 자료를 쓰기 때문에 함께 빗나가는 오차(표준편차 1°C)도 있다. 다섯 앱의 예측을 평균하면 제곱 오차의 기댓값은 얼마인가?

날씨 앱 다섯 개의 기온 예측을 평균하면 오차가 얼마나 줄까요? 앱 하나의 제곱 오차는 5예요.

앱마다 따로 틀리면 평균의 분산은 1/5이 되니까 1이요. 통계에서 독립인 n개의 평균은 분산이 n분의 1이잖아요.

앱 하나의 오차 5가 어디서 왔는지 쪼개 보면요?

함께 빗나가는 오차가 1² = 1, 앱마다 제 오차가 2² = 4라서 합이 5예요. 모의 실험으로 20만 번 돌려 보면 다섯 개 평균이 1.80이 나와요. 1이 아니에요.

아, 제가 다섯 앱의 오차 전체를 독립이라고 놓았네요. 서로 독립인 건 제 오차 4뿐이니까 그것만 4/5 = 0.8로 줄고, 함께 빗나가는 1은 그대로 남아요. 1 + 0.8 = 1.8.

앱을 100개로 늘리면요?

1 + 4/100 = 1.04, 모의 실험도 1.04예요. 아무리 늘려도 1 밑으로는 안 내려가요.

함께 빗나가는 오차는 평균 자리가 빗나간 편향이랑 같은 자리에 있네. 평균을 내서 줄어드는 건 따로 노는 분산뿐이고, 모두가 같은 쪽으로 틀린 부분은 머릿수로 지워지지 않아.

그래요. 언덕 모델 스무 개를 평균했을 때 편향²만 남았던 것도 같은 계산이에요. 평균은 분산만 줄이고 편향은 그대로 남겨요. 그래서 편향이 큰 작은 모델은 아무리 모아도 소용이 없어요.
혼동하기 쉬운 점
| 혼동하기 쉬운 생각 | 나온 문제 | 바로잡는 법 |
|---|---|---|
| 잴 때마다 같은 값이 나오면(한 점에 모였으면) 정확하다고 봄 | 토론 1 | 오차의 제곱 평균은 편향²(평균 자리의 빗나감²)과 분산(흩어짐)의 합이다. 모여 있어도 평균 자리가 멀면 나쁘다 |
| 오차를 낳는 설정이 U자를 그리면 모두 같은 편향–분산 트레이드오프라고 봄 | 개념 다지기 | 유한 차분의 간격처럼 둘째 오차가 다시 재도 같게 나오는 경우는 모양만 같다. 배치 크기는 계산을 정해 둘 때만 맞바꿈이 된다. 무엇을 정해 두었는지부터 묻는다 |
| 편향이 0인 추정이 언제나 가장 좋다고 봄 | 2 | 분산이 크면 편향을 조금 받아들이고 줄여 말한 추정값의 오차가 더 작다. 얼마나 줄일지는 문제마다 다르다 |
| 모델 K개를 평균하면 오차가 K분의 1이 된다고 봄 | 토론 2 | 평균은 분산만 줄이고 편향은 그대로 남긴다. 편향이 큰 작은 모델은 모아도 소용없다 |
| 데이터를 늘리면 언제나 좋아진다고 봄 | 4 | 기록 수가 특징 수에 닿는 곳에서 봉우리가 선다. 데이터를 늘리면 문턱을 지나갈 수 있다 |
| 노이즈가 없으면 봉우리도 없다고 봄 | 5 | 노이즈가 0이어도 점을 꼭 지나야 하는 문턱에서는 점 사이가 출렁인다. 노이즈는 봉우리를 키운다 |
| 오차가 값으로 옮겨 가는 배율은 오차의 크기만 정한다고 봄 | 6 | 오차가 실린 방향이 중요하다. 약한 방향에 실린 오차는 1/σₘᵢₙ배로 커진다 |
| 미지수를 늘리면 최소 노름 해의 노름도 커진다고 봄 | 7 | 옛 해에 0을 붙인 것도 새 해이므로 최소 노름은 늘 수 없다. 문턱을 넘으면 특징을 늘릴수록 줄어든다 |
| 능형 회귀의 배율이 가장 큰 곳은 특잇값이 큰 방향이라고 봄 | 8 | σ/(σ² + λ)는 σ = √λ에서 가장 크고 1/(2√λ)를 넘지 않는다 |
| 훈련 손실이 0이면 파라미터는 더 바뀌지 않는다고 봄 | 10 | 가중치 감쇠는 손실이 신경 쓰지 않는 방향을 계속 줄인다. 시험 성능은 그 뒤에 바뀔 수 있다 |
| 예산 안에서 일반화하지 않았으면 원리상 일반화할 수 없다고 봄 | 11 | 스텝 수는 1/(ηλ)에 비례한다. 감쇠가 없을 때는 이 실험의 예산 안에서 오지 않았다는 데까지만 말할 수 있다 |
요약
이 장에서 한 일을 정리해 보자. 시험 오차의 평균은 평균 예측이 정답에서 빗나간 정도의 제곱(편향²)과 예측이 데이터마다 흔들리는 정도(분산)의 합으로 쪼개진다. 1992년 게만, 비넨스톡, 두르사가 신경망에 들이댄 이 쪼개기가 「모델이 커지면 편향은 줄고 분산은 는다」는 U자 곡선을 낳았고, 검증 손실로 크기와 멈출 때를 고르는 습관의 근거가 되었다. 편향을 줄이면 분산이 늘고 분산을 줄이면 편향이 느는 이 맞바꿈이 편향–분산 트레이드오프이고, 「과녁과 화살」로 그리면 좁게 모였지만 비켜 난 화살과 넓게 흩어졌지만 한가운데를 둘러싼 화살이다. 다만 학습은 과녁의 한가운데를 보지 못해서, 흩어진 폭은 재도 비켜 난 거리는 직접 재지 못한다.
그 곡선의 오른쪽 끝 너머에서 시험 오차는 다시 내려간다. 기록 40개를 언덕 p개로 맞춘 장난감에서 시험 오차는 p = 29에서 0.0086으로 U자의 최저점을 찍고, 언덕 수가 기록 수에 닿는 p = 40 언저리에서 2.08까지 치솟았다가, p = 400에서 0.0070으로 U자의 최저점보다 낮아졌다. 벨킨 팀은 2018년에 이것을 이중 하강이라 불렀고, 나키란 팀은 같은 봉우리가 심층 신경망의 너비, 학습 에포크, 데이터 수를 따라서도 생긴다는 것을 보였다.
봉우리는 특징 행렬의 가장 작은 특잇값 때문에 생긴다. 최소 노름 해는 기록의 성분을 방향마다 특잇값으로 나누므로 노이즈가 1/σₘᵢₙ배로 부풀고, σₘᵢₙ은 행렬이 정사각형이 되는 보간 문턱에서 가장 작다. 문턱을 넘으면 점을 다 지나는 해가 많아져 노름이 작은 얌전한 해를 고를 수 있다. 능형 회귀는 배율을 1/(2√λ) 아래로 묶어 봉우리를 없애고, 스텝 수가 모자란 경사하강도 약한 방향을 아직 맞추지 못해 비슷하게 군다.
학습 데이터를 다 맞힌 뒤에도 학습을 계속하면 일반화가 한참 늦게 올 수 있다. 59로 나눈 나머지 덧셈에서 작은 신경망은 100스텝 만에 학습 쌍을 다 맞혔지만, 처음 보는 쌍을 99% 맞히기까지는 가중치 감쇠 1, 0.3, 0.1에서 1,800, 6,000, 19,900스텝이 걸렸다. 손실이 0에 가까운 동안에도 감쇠가 파라미터를 노름이 작은 쪽으로 끌고 가고, 스텝마다 노름에 곱해지는 비율이 1 − ηλ라서 걸리는 스텝이 감쇠에 반비례한다. 다 외운 뒤에 늦게 오는 이 일반화가 그로킹이다.
정리 연습문제
물음. 잴 때마다 늘 같은 값을 읽는 체온계가 있다. 이 체온계에 대해 맞는 말은?
- [ ] 흩어짐이 없으니 정확하다 〔틀림: 오차의 제곱 평균은 편향의 제곱과 분산의 합이다. 모여 있어도 평균 자리가 멀면 오차가 크다.〕
- [x] 분산은 0이지만 편향은 클 수 있다 〔맞음: 흩어짐이 없다는 것은 분산 쪽만 말해 준다. 평균 자리가 참값에서 얼마나 빗나갔는지는 따로 봐야 한다.〕
- [ ] 편향이 0인 체온계는 언제나 이 체온계보다 낫다 〔틀림: 편향이 0이어도 분산이 크면 오차의 제곱 평균이 더 클 수 있다.〕
물음. 날씨 앱 하나의 제곱 오차는 5다. 그 가운데 1은 모든 앱이 같은 자료를 써서 함께 빗나가는 부분이고, 4는 앱마다 따로 노는 부분이다. 앱 100개의 예측을 평균하면 제곱 오차는?
- [ ] 0.05. 100개를 평균했으니 100분의 1이 된다 〔틀림: 100분의 1로 주는 것은 서로 독립인 부분뿐이다. 함께 빗나가는 부분은 앱 수로 지워지지 않는다.〕
- [x] 약 1.04 〔맞음: 따로 노는 4만 100분의 1로 줄고, 함께 빗나가는 1은 그대로 남는다. 평균은 분산만 줄이고 편향은 남긴다.〕
- [ ] 5 그대로. 같은 자료를 쓰니 평균해도 줄지 않는다 〔틀림: 앱마다 따로 노는 부분은 평균하면 준다.〕
물음. 기록 40개를 언덕 여러 개의 합으로 맞추며, 언덕 수를 늘려 가며 시험 오차를 그렸다. 맞는 말은?
- [ ] U자의 최저점을 지나면 시험 오차는 오르기만 한다 〔틀림: 언덕 수가 기록 수를 넘어 400개가 되자 시험 오차는 U자의 최저점보다 낮아졌다.〕
- [x] 언덕 수가 기록 수에 닿는 곳에서 봉우리가 서고, 그 너머에서 다시 내려간다 〔맞음: 이것이 이중 하강이다. 봉우리가 서는 곳을 보간 문턱이라 한다.〕
- [ ] 기록에 노이즈가 없으면 봉우리도 서지 않는다 〔틀림: 노이즈가 0이어도 점을 꼭 지나야 하는 문턱에서는 점 사이가 출렁인다. 노이즈는 봉우리를 키울 뿐이다.〕
물음. 보간 문턱에서 시험 오차가 치솟는 원인은 무엇인가?
- [ ] 미지수가 늘면서 최소 노름 해의 노름도 계속 커지기 때문이다 〔틀림: 옛 해에 0을 붙인 것도 새 해라 최소 노름은 늘 수 없다. 문턱을 넘으면 특징을 늘릴수록 오히려 준다.〕
- [x] 문턱에서 특징 행렬의 가장 작은 특잇값이 가장 작아, 그 방향에 실린 노이즈가 크게 부풀기 때문이다 〔맞음: 최소 노름 해는 성분을 방향마다 특잇값으로 나눈다. 작은 특잇값으로 나누면 크게 불어난다.〕
- [ ] 오차가 클 때만 문제가 되고, 오차가 실린 방향은 상관없다 〔틀림: 같은 크기의 오차라도 약한 방향에 실리면 훨씬 크게 불어난다.〕
물음. 특징 수가 정해진 모델에 학습 기록을 조금씩 늘려 간다. 맞는 말은?
- [ ] 데이터가 늘면 시험 오차는 언제나 준다 〔틀림: 기록 수가 특징 수에 닿는 곳에서 봉우리가 선다. 기록을 늘렸더니 오히려 나빠질 수 있다.〕
- [x] 기록 수가 특징 수 가까이 오면 시험 오차가 치솟을 수 있고, 더 늘리면 문턱을 지나 다시 준다 〔맞음: 봉우리의 자리는 기록 수와 특징 수가 같아지는 곳이 정한다.〕
- [ ] 봉우리를 없애려면 특징 수를 줄이는 수밖에 없다 〔틀림: 능형 회귀가 배율을 묶어 봉우리를 없앤다. 스텝 수가 모자란 경사하강도 비슷하게 군다.〕
물음. 59로 나눈 나머지 덧셈을 배우는 작은 신경망이 100스텝 만에 학습 쌍을 다 맞혔다. 가중치 감쇠 1에서는 처음 보는 쌍을 99% 맞히기까지 1,800스텝이 걸렸다. 감쇠를 0.1로 줄이면?
- [ ] 학습 손실이 이미 0에 가까우니 파라미터는 더 바뀌지 않고, 일반화는 오지 않는다 〔틀림: 가중치 감쇠는 손실이 신경 쓰지 않는 방향을 계속 줄인다. 시험 성능은 그 뒤에 바뀔 수 있다.〕
- [ ] 끌어당기는 힘이 약해 덜 방해받으니 더 빨리 온다 〔틀림: 노름을 작은 쪽으로 끄는 것이 감쇠다. 약해지면 일반화도 늦게 온다.〕
- [x] 열 배쯤 더 오래 걸린다(실험에서는 19,900스텝) 〔맞음: 스텝마다 노름이 줄어드는 비율이 감쇠에 비례해서, 걸리는 스텝은 감쇠에 반비례한다.〕
- [ ] 감쇠가 작아지면 원리상 일반화할 수 없다 〔틀림: 감쇠를 줄이면 늦게 올 뿐이다. 감쇠가 없을 때도 이 실험의 예산 안에서 오지 않았다는 데까지만 말할 수 있다.〕
막힌 곳
이 장의 설명은 모두 「노름이 작은 해가 일반화한다」에 기대었다. 언덕 맞추기에서는 최소 노름 해가 매끈했고, 나머지 덧셈에서는 감쇠가 노름을 줄이는 동안 일반화가 왔다. 그러나 노름이 작다는 것이 왜 처음 보는 데이터를 맞힌다는 뜻이어야 할까? 노름은 좌표를 어떻게 잡느냐에 따라 바뀌는데, 신경망의 파라미터를 다르게 적으면 「작은 노름」이 가리키는 해도 달라지지 않을까? 그리고 규칙으로 맞히는 해가 외워서 맞히는 해보다 노름이 작다는 것은 이 실험에서 우연히 그랬을 뿐일까, 아니면 「짧게 적을 수 있는 설명이 더 잘 들어맞는다」는 더 일반적인 원리가 뒤에 있을까? 「일반화란 무엇인가」는 아직 열려 있다.