더북(TheBook)

2.2.1 경사 하강법 최적화 이해하기

간단한 단일 층 모델은 다음과 같은 선형 함수 f(input)을 학습합니다.

output = kernel * input + bias

여기서 커널과 편향은 밀집 층의 조정 가능한 파라미터(가중치)입니다. 이 가중치에는 신경망을 훈련 데이터에 노출시켜 학습시킨 정보가 담겨 있습니다.

초기에 이 가중치는 랜덤한 작은 값으로 채워져 있습니다(랜덤 초기화(random initialization)라고 부릅니다). 물론 커널과 편향이 랜덤할 때 kernel * input + bias가 어떤 유용한 값을 만들 거라 기대하지 못합니다. 상상을 해보면 이 파라미터를 다르게 선택했을 때 MAE 값이 어떻게 변하는지 그릴 수 있습니다. 이 파라미터가 그림 2-4에서 찾은 최적의 직선 기울기와 절편에 가까울 때 손실이 낮을 것으로 기대할 수 있습니다. 파라미터가 이와 동떨어진 직선을 그릴수록 손실이 더 나빠집니다. 손실을 모든 튜닝 가능한 파라미터의 함수로 보는 이런 개념을 손실 표면(loss surface)이라고 합니다.

이 예제는 아주 간단하기 때문에 튜닝 가능한 파라미터가 두 개이고 하나의 타깃을 가지고 있습니다. 따라서 그림 2-5와 같이 손실 표면을 2D 등고선 그래프로 그릴 수 있습니다.9 손실 표면이 매끈한 오목한 그릇 모양이므로 최적의 파라미터 설정을 의미하는 전역 최솟값(global minimum)은 그릇의 바닥에 위치합니다. 하지만 일반적으로 딥러닝 모델의 손실 표면은 이보다 훨씬 더 복잡합니다. 2차원보다 훨씬 많은 차원을 가지고 있고 지역 최솟값(local minima)이 많을 수 있습니다. 지역 최솟값은 전체적으로 가장 낮은 최솟값은 아니지만 주변보다 낮은 지점을 말합니다.

▲ 그림 2-5 손실 표면은 모델의 튜닝 가능한 파라미터에 대한 손실을 그린 등고선 그래프. 이 그래프를 보면 (하얀 X 표시가 된) {bias: 0.08, kernel: 0.07} 지점이 낮은 손실을 위한 합리적인 선택 같다. 이런 지도를 만들기 위해 모든 파라미터 값을 테스트하기는 어렵지만, 만약 그렇게 한다면 최적화는 매우 간단하다. 그냥 가장 낮은 손실에 해당하는 파라미터를 선택하면 된다!

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.