이 레슨과 관련된 학습 키워드
인공지능(AI) — 기계가 생각하는 법 → 딥러닝(Deep Learning) — 인공 신경망의 세계 → 대규모 훈련 — 거대한 모델을 효율적으로 → 최적화 심화 학습
정규화 기법들을 비교합니다: BatchNorm, LayerNorm, GroupNorm, InstanceNorm.
여러분, 딥러닝에서 정규화가 왜 필요한지부터 정확히 이해해봅시다.
딥 네트워크에서 각 레이어는 이전 레이어의 출력을 입력으로 받아요.
학습 중에 가중치가 업데이트되면 이전 레이어의 출력 분포가 확 바뀌어요.
그림 왼쪽을 보세요. 레이어 1의 출력이 평균 0.2 표준편차 1.1로 안정적이에요.
그런데 가중치가 업데이트되면 레이어 2의 입력 분포가 완전히 달라져요.
평균이 3.7이고 표준편차가 8.2로 뛰어요. 분포 폭발이에요.
레이어 3까지 가면 평균 마이너스 2.7에 표준편차 15.3이나 돼요.
이걸 인터널 코베리엇 시프트라고 해요. 2015년 아이오피와 세게디가 명명했죠.
비유하자면 달리는 기차 위에서 공을 차는 것과 같아요.
기차가 가속하거나 감속하면 공의 궤적이 예측 불가능해지잖아요.
마찬가지로 이전 레이어가 변하면 다음 레이어는 매번 새로운 분포에 적응해야 해요.
이러면 학습이 느려지고 그래디언트가 폭발하거나 소실돼요.
그림 오른쪽을 보세요. 해결책은 각 레이어 출력을 정규화하는 거예요.
엑스 빼기 뮤 나누기 시그마로 항상 평균 0 표준편차 1을 유지해요.
그러면 그래디언트 흐름이 안정되고 높은 학습률을 사용할 수 있어요.
2015년 논문에서 배치놈 적용으로 학습 속도가 14배 빨라졌다고 보고했어요.
정규화를 기차 비유로 다시 말하면 기차 속도를 일정하게 고정하는 거예요.
속도가 일정하면 공의 궤적을 예측할 수 있으니까 학습이 안정되는 원리예요.
이제 구체적으로 배치놈이 어떻게 작동하는지 다음 슬라이드에서 살펴볼게요.
핵심만 기억하세요. 정규화는 분포를 안정화해서 학습을 빠르고 안정적으로 만듭니다.
선생님: 인터널 코베리엇 시프트가 뭔지 직관적으로 설명해볼래요?
학생: 학습 중에 가중치가 바뀌면서 각 레이어의 입력 분포가 계속 변하는 현상이요.
선생님: 정확해요! 달리는 기차 비유로 왜 이게 문제인지 말해볼래요?
학생: 기차가 가속 감속하면 공의 궤적을 예측할 수 없듯이 분포가 바뀌면 다음 레이어가 매번 새로 적응해야 해서 학습이 느려져요.
선생님: 맞아요. 그래서 정규화로 분포를 안정화하는 거예요. 배치놈을 적용하면 효과가 어땠죠?
학생: 2015년 논문에서 학습 속도가 14배 빨라졌다고 보고했어요.
선생님: 완벽해요. 정규화는 기차 속도를 일정하게 고정하는 것과 같아요.