모델이 실제로 학습하는 방법 — 순수 경사 하강법에서 Adam까지
머신러닝은 겉으로 예측, 분류, 생성, 추천처럼 보입니다. 하지만 그 속을 들여다보면 하나의 수학적 동작이 반복될 뿐입니다. 숫자를 고르고, 그 숫자가 얼마나 나쁜지 측정한 다음, 나쁨을 줄이는 방향으로 숫자를 바꾸는 것입니다. 이것이 바로 최적화입니다.
그 숫자들은 모델의 파라미터이며, 보통 하나의 거대한 벡터 θ에 모여 있습니다. 나쁨을 나타내는 점수는 손실이며, L(θ)로 씁니다. 훈련이란 그 손실을 작게 만드는 설정을 찾아 파라미터 공간을 뒤지는 일입니다. 아래 표기가 정확히 그 뜻입니다. argmin은 이기는 입력값(손실을 가장 작게 만드는 θ)을 돌려줄 뿐 이기는 점수 자체를 돌려주지 않으며, θ⋆의 별표는 그것이 바로 그 최적의 설정임을 표시합니다.
온실의 관개 제어판에는 수천 개의 작은 스프링클러 구역이 있을 수 있습니다. 각 설정은 식물이 얼마나 건강해지는지를 바꾸지만, 물을 다 준 뒤에야 비로소 최종 수확 점수를 볼 수 있습니다. 신경망도 비슷합니다. 파라미터는 스프링클러 설정이고, 손실은 개선하고 싶은 수확 점수이며, 최적화는 수많은 설정을 한꺼번에 바꾸는 규칙입니다.