최적화는 어려운 과제이며, 기계 학습에서는 볼록함수를 대상으로 설계하여 일반적으로 어려움을 피하려고 했습니다. 그러나 신경망 훈련 시 비볼록 상황으로 마주치며, 볼록함수 최적화 역시 쉽지 않습니다.
볼록함수 최적화의 문제점
볼록함수를 최적화할 때도 어려움이 있으며, 그중의 가장 큰 문제는 해세행렬의 불량조건입니다. 이는 볼록함수뿐만 아니라 대부분의 수치 최적화에서 일반적으로 발생하는 문제입니다.
신경망 훈련에서의 불량조건과 최적화 알고리즘
신경망 훈련에서도 이러한 불량조건이 존재한다고 믿는 사람들이 많습니다. 불량조건이 있으면 확률적 경사 하강법이 문제가 될 수 있습니다.
불량조건은 신경망 외의 다른 상황에서도 발생하는데, 그런 상황들에 사용되는 기법 중 일부는 신경망에서는 효과가 없습니다. 예를 들어, 뉴턴법은 헤세 행렬이 불량조건인 볼록함수의 최적화에 매우 효과적이지만, 신경망에 적용하려면 뉴턴법을 크게 수정해야 합니다.
볼록함수의 최적화와 극솟값의 특성
볼록함수 최적화 문제의 중요한 특징은 그 문제를 극솟값을 찾는 문제로 간주할 수 있다는 것입니다. 볼록함수에서는 극솟값이 반드시 최솟값입니다. 그러나 일부 볼록함수는 하단에 평평한 영역이 있어 최소점이 하나만 있는 것이 아닙니다. 이런 볼록함수에서는 평평한 영역의 어떤 점이라도 최소점으로 간주할 수 있습니다. 따라서 볼록함수를 최적화할 때 유일한 최소점이 아니더라도 임의 종류의 임계점에 도달하면 충분히 좋은 해를 얻을 수 있습니다.
신경망의 비볼록함수와 극솟값의 다양성
신경망과 같은 비볼록함수에서는 극솟값이 여러 개 존재할 수 있습니다. 대부분의 심층 학습 모델은 본질적으로 극솟값이 매우 많을 수밖에 없습니다.
모델의 식별성 문제와 비식별성
신경망을 포함하여 동일하게 매개변수화된 여러 잠재변수가 있는 모든 모델은 여러 개의 극솟값을 가집니다. 이는 모델의 식별성 문제 때문입니다. 충분히 큰 훈련 데이터 세트로 모델의 매개변수 중 하나를 유일하게 결정할 수 있을 때, 그 모델을 '식별할 수 있다' 또는 '식별성이 있다'라고 합니다. 그러나 잠재변수가 있는 모델은 식별성이 없는 경우가 많습니다. 이는 잠재변수를 서로 교환하여 동등한 모델을 얻을 수 있기 때문입니다.
예를 들어, 어떤 신경망의 첫 번째 층에서 단위 1에 대한 입력 가중치 벡터와 단위 2에 대한 입력 가중치 벡터를 바꾸고, 출력층에서도 해당 출력 가중치 벡터를 바꾼다면, 각각 n개의 단위로 이루어진 m개의 층에서 은닉 단위를 배열하는 방법은 n!^m 가지가 됩니다. 이러한 종류의 비식별성을 '가중치 공간 대칭성'이라고 합니다.
가중치 공간 대칭성 외에도 신경망에서는 식별성이 없는 경우가 많습니다. 예를 들면, 모든 종류의 ReLU(정류 선형 단위) 신경망이나 맥스아웃 신경망에서는 한 단위의 모든 입력 가중치와 편향 매개변수들을 계수에 비례하고 출력 가중치들을 반비례시켜도 신경망의 행동이 변하지 않습니다. 이는 비용함수에 모델의 출력이 아닌 가중치들에 직접 의존하는 항이 없기 때문입니다. 따라서 정류 선형 신경망이나 맥스아웃 신경망의 모든 극소점은 그와 동등한 극소점들의 (m x n) 차원 쌍곡선에 위치한다는 것을 의미합니다.
신경망의 비식별성 문제와 극소점의 비용
이러한 모델의 식별성 문제는 신경망의 비용함수에 극솟값이 매우 많거나 심지어 무한대로 존재할 수 있다는 것을 의미합니다. 그러나 비식별성에서 비롯된 모든 극솟값은 해당 비용함수의 값이 동일합니다. 따라서 그런 극솟값들 때문에 비볼록함수에서 발생하는 문제 형태는 일어나지 않습니다.
그러나 극소점에서의 비용이 최소점에서의 비용보다 훨씬 크다면 문제가 발생할 수 있습니다. 극소점의 비용이 최소점의 비용보다 큰 작은 신경망을 구축하는 것이 가능합니다. 비용이 큰 극소점이 흔하다면 기울기 기반 최적화 알고리즘에서 심각한 문제가 발생할 수 있습니다.
최적화 알고리즘에서의 문제와 해결 방안
실제 응용에서 널리 사용되는 신경망에 고비용 극소점이 많이 존재하고, 그러한 극소점들 때문에 최적화 알고리즘이 문제를 겪는지에 대해서는 아직 확실하지 않습니다. 지난 수년간 실무자들은 극소점이 신경망 최적화에서 흔히 발생하는 문제라고 생각했습니다. 그러나 최근에는 이러한 문제가 적다고 여겨집니다. 이 문제는 여전히 활발한 연구 주제이지만, 전문가들은 충분히 큰 신경망에서는 대부분의 극소점에서 비용함숫값이 작아진다고 추측하며, 매개변수 공간에서 진정한 최소점을 찾는 것보다는 그저 비용이 충분히 작은 점을 찾는 것이 더 중요하다고 생각합니다.
결론
결론적으로, 최적화는 어려운 과제이며, 신경망 훈련에서 볼록함수 최적화 역시 쉽지 않습니다. 볼록함수 최적화의 문제는 해세 행렬의 불량조건으로 시작하며, 이러한 문제는 신경망 훈련에서 더욱 뚜렷하게 나타납니다. 비볼록함수에서는 여러 개의 극솟값이 존재할 수 있고, 모델의 식별성 문제로 인해 극솟값이 매우 다양하게 나타날 수 있습니다. 이러한 문제들은 최적화 알고리즘에도 영향을 미치며, 실제 응용에서는 여전히 연구가 필요하지만, 대부분의 극소점에서 비용이 충분히 작아진다는 점이 중요한 해결책으로 간주됩니다.