대부분의 딥러닝은 확률적 경사 하강법 알고리즘을 사용하여 진행되며, 이는 매우 중요한 역할을 합니다. 기계 학습에서는 일반화를 위해 훈련 집합이 커야 하지만, 이에 따라 계산 비용이 증가하는 딜레마가 발생합니다.
경사 하강법의 원리와 미니배치
확률적 경사 하강법의 핵심은 기울기가 하나의 기댓값이라는 통찰에 깔려 있습니다. 이 기댓값으로서의 기울기는 적은 수의 표본들을 이용하여 근사적으로 구한 추정값입니다. 경사 하강 알고리즘의 각 단계에서는 훈련 집합에서 적은 수의 보기들을 골고루 뽑아서 하나의 미니배치를 만들며, 이 미니배치의 크기는 일반적으로 1에서 몇백 사이의 비교적 작은 수로 설정됩니다. 특히, 학습 과정에서 훈련 집합 크기를 계속 키워도 미니배치는 고정되는 경우가 많습니다. 이를 통해 수십억 개의 보기로 이루어진 훈련 집합을 단 백 개의 보기에 대해 계산한 갱신 값들에 적합시킬 수 있습니다.
경사 하강법의 효율성과 현대적 적용
경사 하강법은 일반적으로 느리거나 신뢰성이 떨어진다는 평가를 받았지만, 현재는 기계 학습 모형을 훈련하는 데 매우 효과적으로 작동한다는 사실이 입증되었습니다. 이전에는 비볼록함수 최적화 문제에 경사 하강법을 적용하는 것이 무모하거나 무원식적으로 간주하였습니다. 그러나 요즘에는 경사 하강법을 사용하여 훈련된 모델이 매우 잘 작동한다는 것이 밝혀졌습니다. 최적화 알고리즘이 종종 최적점에 도달하지 못하거나 극소점에 도달하지 못할 수 있지만, 충분히 낮은 비용 함숫값을 빠르게 찾아내는 경우가 많습니다.
확률적 경사 하강법의 다양한 활용
확률적 경사 하강법은 딥러닝 외에도 여러 분야에서 중요하게 사용됩니다. 특히, 아주 큰 자료 집합에 대해 커다란 선형 모형을 훈련하는 주된 방법으로 활용됩니다. 모형 크기가 고정된 경우 확률적 경사 하강법 갱신당 비용은 훈련 집합 크기에 의존하지 않습니다. 훈련 집합이 커질수록 점점 더 큰 모형을 사용하는 경우가 많지만, 이는 필수적인 것은 아닙니다. 일반적으로 수렴에 이르는 데 필요한 갱신 횟수는 훈련 집합의 크기에 비례하여 증가합니다. 그러나 훈련 집합의 크기가 무한대에 접근하면 확률적 경사 하강법은 모형이 가능한 최상의 시험 오차에 수렴하게 됩니다. 이후에는 집합의 크기를 더 증가시켜도 모형이 가능한 최상의 시험 오차에 도달하는 데 필요한 훈련 시간이 늘어나지 않습니다. 이런 관점에서 모형을 확률적 경사 하강법으로 훈련하는 점근적 비용이 집합의 크기의 함수로서 O(1)라고 설명할 수 있습니다.
기계 학습 알고리즘의 최적화 접근 방식
딥러닝이 등장하기 전에는 핵 요령과 선형 모형의 조합이 주로 사용되었으며, 이를 통해 비선형 모형을 학습했습니다. 그러나 핵 기반 학습 알고리즘에서는 매우 큰 m x m 행렬을 만들어야 했고, 이로 인한 계산 비용은 O(m^2)이었습니다. 이러한 비용이 수십억 개의 보기로 이루어진 대규모 데이터 세트에는 부적합하다는 것은 명백합니다. 2006년 이후 딥러닝은 다른 경쟁 알고리즘보다 새로운 보기에 더 잘 일반화된다는 점으로 주목받았습니다. 또한, 딥러닝은 비선형 모형을 큰 데이터 세트에 대해 규모가 가변적인 방식으로 훈련할 수 있다는 장점으로 다시금 주목받게 되었습니다.
거의 모든 딥러닝 알고리즘은 비교적 간단한 조리법을 필요에 따라 구체적으로 적용한 사례에 해당합니다. 이러한 간단한 조리법에는 자료 집합의 명세, 비용 함수, 최적화 절차, 그리고 모형의 결합 등이 포함됩니다.
예를 들어 선형 회귀 알고리즘은 자료 집합과 비용 함수, 그리고 모델 명세로 구성됩니다. 일반적으로 이들을 결합하기 위해 하나의 최적화 알고리즘을 사용합니다. 대부분의 경우, 이 최적화 알고리즘은 표준 방정식을 사용하여 비용 함수의 기울기가 0인 지점을 구하는 형태입니다.
한 학습 알고리즘의 각 구성 요소를 다른 구성 요소들과 거의 독립적으로 교체할 수 있다는 점을 이용하면 다양한 알고리즘을 만들어 낼 수 있습니다. 일반적으로 비용 함수에는 학습 과정이 통계적 추정을 수행하게 만드는 항이 적어도 하나는 있습니다. 가장 흔히 쓰이는 비용 함수는 음의 로그 가능도입니다. 이러한 비용 함수를 최소화하는 것은 최대 가능도를 추정하는 것에 해당합니다.
모형을 비선형 모형으로 변경하면 대부분의 비용 함수는 닫힌 형식으로 최적화할 수 없게 됩니다. 이런 경우에는 경사 하강법과 같은 반복적인 수치 최적화 절차를 선택해야 합니다. 때로는 평가할 수 없는 함수를 비용 함수로 사용할 때도 있습니다. 그런 경우에도 비용 함수의 기울기를 근사할 수 있다면 반복적인 수치 최적화 절차를 사용하여 비용 함수를 근사적으로 최소화하는 것이 가능합니다.
대부분의 기계 학습 알고리즘은 이러한 접근 방식을 활용하고 있지만 때로는 이것이 명확하지 않을 수 있습니다. 어떤 기계 학습 알고리즘이 매우 독특하거나 정교하게 조정된 것처럼 보일 때, 그것은 최적화 절차가 매우 특화된 것일 수 있습니다. 예를 들어, 결정 트리나 k-평균과 같은 모델은 비용 함수의 치역에 평평한 영역이 존재하기 때문에 기울기 기반의 최적화 절차로 적절하게 최소화되지 않을 수 있습니다. 이러한 모델에는 특화된 최적화 절차가 필요합니다. 다양한 기계 학습 알고리즘을 이러한 방식으로 설명할 수 있다는 것을 깨닫는 것은, 각각의 알고리즘이 서로 다른 작동 원리를 가진 별개의 알고리즘이 아니라, 비슷한 작동 원리를 가지고 서로 관련된 작업을 수행하는 방법들의 단일한 분류법의 일부로서 이해하는 데 도움이 됩니다.
결론
딥러닝 및 기계 학습 알고리즘의 핵심은 확률적 경사 하강법으로, 이는 효과적으로 모델을 훈련시키고 일반화를 가능하게 합니다. 이는 대규모 데이터 세트에서도 효과적이며, 최적화 접근 방식은 다양한 알고리즘에 적용될 수 있습니다. 기계 학습의 이러한 접근 방식은 모델을 더 잘 이해하고 다양한 작업을 수행하는 방법을 제공합니다.