8.1 학습과 순수한 최적화의 차이점
심층 모형의 훈련에 쓰이는 최저고하 알고리즘은 전통적인 최적화 알고리즘과 다르다.
대체로 기계 학습은 간접적으로 작용한다. 대부분의 기계 학습 시나리오에서 우리는 시험 집합을 기준으로 정의되는 어떤 성과 측도 P 에 주목하는데 비용 때문에 그러한 성과 측도를 평가하는 것이 현실적으로 불가능할 수도 있다. (계산하는 비용)
그래서 우리는 P 를 간접적으로만 최적화한다.
즉, 우리는 성과 측도 대신 어떤 비용함수 J(theta) 를 최소함으로써 성과 측도의 개선을 꾀한다.
이는 J 를 최소화하는 것이 그 자체로 최적화의 목표인 순수한 최적화와 다른 점이다.
또 다른 차이점으로, 심층 모형의 훈련을 위한 최적화 알고리즘에는 기계 학습 목적함수의 구체적인 구조에 맞는 어떤 특수화가 적용될 때가 많다.
일반적으로 비용함수를 다음과 같이 훈련 집합에 관한 하나의 평균으로 표현할 수 있다.
L 은 견본당 손실함수이고 f(x;theta) 는 입력 x 에 대해 신경망이 예측한 출력이다.
P^ 자료는 경험분포이다. 지도 학습에서 y 는 목표 출력이다.
위 식은 훈련 집합에 대해 평가되는 목적함수를 정의한다. 그런데 일반적으로 신경망을 훈련할 때는 이처럼 훈련 집합 전체에 관한 목적함수를 최소화하는 대신, 자료 생성 분포로부터 기댓값을 취하는 다음과 같은 목적함수를 최소화한다.
8.1.1 경험적 위험도 최소화
기계 학습 알고리즘의 목표는 위 식으로 주어진 기대 일반화 오차를 줄이는 것이다. 기대 일반화 오차를 흔히 위험도라고 부른다.
중요한 것이 기댓값이 true 바탕 분포 p 에 관한 기댓값이라는 점이다. 진 분포를 알고 이쓴ㄴ 경우 위험도 최소화는 최적화 알고리즘으로 풀 수 있는 최적화 문제이다.
그러나 p 를 알지 못하고 그냥 견본들로 이뤄진 훈련 집합만 있는 상황에서 위험도 최소화는 순수한 최적화 문제가 아니라 기계 학습 문제이다.
기계 학습 문제를 다시 최적화 문제로 변환하는 가장 간단한 방법은 훈련 집합에 대해 기대 손실을 최소화하는 것이다. 이는 진 분포 p(x,y) 를 훈련 집합으로 정의되는 경험분포 p~(x,y) 로 대체하는 것에 해당한다.
이제 우리가 최소화할 것은 다음과 같은 경험적 위험도이다.
m 은 훈련 견본 개수이다.
이 평균 훈련 오차의 최소화에 기초한 훈련 과정을 경험적 위험도 최소화 empirical risk minimization 라고 부른다. 이러한 설정에서도 기계 학습은 보통의 최적화와 아주 비슷하다.
다만, 위험돌르 직접 최저고하하는 대신, 경험적 위험도를 최소화하면 위험도도 크게 줄어들길 바라면서 경험적 위험도를 최적화할 뿐이다.
그런데 경험적 위험도 최소화의 한 가지 문제느 ㄴ과대적합이 일어나기 쉽다는 것이다. 매니폴드가 큰 모형은 그냥 훈련 집합을 외워버린다. 그래서 많은 경우 경험적 위험도 최소화는 그리 바람직하지 않다.
그리고 가장 효과적인 현대적인 최적화 알고리즘들은 경사 하강법에 기초하는데, 유용한 손실함수 중에는 쓸만한 미분이 없는 것들이 많다.
이 두 문제점 때문에 심층 학습에서는 경험적 위험도 최소화를 거의 사용하지 않는다.
8.1.2 대리 손실함수와 조기 종료
종종 우리가 관심이 있는 손실함수를 효율적으로 최적화할 수 없을 때가 있다.
예를 들어 0~1 손실 함수의 기댓값을 정확히 최소화하는 것은 비현실적이다.
심지어 선형 분류기에 대해서도 그렇다.
그런 상황에서는 흔히 진짜 손실함수 대신 진짜 손실함수에 비해 여러 가지 장점이 있는 대리 손실함수 surrogate loss function 를 최적화한다. 예를 들어, 0~1 손실함수의 대리로 흔히 정확한 부류의 로그 가능도를 사용한다.
음의 로그 가능도를 이용하면 모형은 입력이 주어졌을 때의 부류들의 조건부 확률을 추정할 수 있으며, 그런 조건부 확률을 잘 추정하는 모형은 기대분류 오차가 최소인 부류들을 선택할 수 있다.
경우에 따라서는 대리 손실함수를 사용한 덕분에 모형의 학습 능력이 개선되기도 한다.
일반적인 최적화와 훈련 알고리즘으로 쓰이는 최적화의 아주 중요한 차이점 하나는, 대체로 훈련 알고리즘은 극소점에서 멈추지 않는다는 것이다.
조기 종료의 경우 진 손실함수에 기초하며, 과대적합이 발생하기 시작하면 알고리즘을 끝낼 수 있도록 고안된다. 그래서 대리 손실함수의 미분이 아직 큰 상황에서도 훈련 알고리즘이 종료될 때가 많다.
순수한 최적화 알고리즘은 기울기가 아주 작아지면 수렴이 일어난 것으로 간주해서 실행을 종료한다.