기계 학습의 주요 어려움은 모델을 훈련할 때 사용한 데이터뿐만 아니라 이전에 관찰하지 않았던 새로운 데이터에 대해서도 모델이 잘 작동하도록 하는 것입니다. 이를 일반화라고 합니다.
최적화 문제: 훈련과 시험 오차의 관리
기계 학습 모델을 훈련할 때, 일반적으로 훈련 집합을 사용하고 모델의 예측과 실제 값 간의 오차를 측정하여 훈련 오차를 줄이려고 합니다. 이는 최적화 문제입니다. 그러나 기계 학습에서 다른 중요한 측면은 일반화 오차도 줄여야 한다는 것입니다. 일반화 오차는 새로운 입력에 대한 예측 오차의 기댓값으로, 훈련된 시스템이 실제로 마주할 수 있는 모든 가능한 입력에 대한 오차의 평균입니다.
통계적 학습 이론에서는 훈련 집합과 시험 집합을 일정한 가정과 제약에 따라 수집함으로써 모델의 성능을 개선할 수 있다는 원리를 제시합니다. 이는 훈련과 시험 데이터가 일정한 분포를 따르고, 일정한 조건이 충족된다는 가정 아래에서 이루어집니다. 이렇게 하면 훈련된 모델이 새로운 데이터에 대해 더 일반화되도록 할 수 있습니다.
확률적 학습 이론과 데이터 생성
훈련 자료와 시험 자료는 확률분포에 기반하여 생성됩니다. 이러한 자료 생성에는 독립동일분포 가정이라는 일련의 가정이 사용됩니다. 이 가정은 각 자료 집합의 샘플이 서로 독립이며, 훈련 집합과 시험 집합의 샘플이 같은 확률분포를 따른다는 것을 의미합니다. 이를 통해 자료 생성 과정을 개별 샘플의 확률분포로 설명하고, 이를 활용하여 모든 훈련 샘플과 시험 샘플을 생성할 수 있습니다. 이러한 공통의 확률분포를 자료 생성 분포라고 합니다. 이러한 확률적 틀과 독립동일분포 가정을 사용하여 훈련 오차와 시험 오차 간의 관계를 수학적으로 분석할 수 있습니다.
훈련 오차와 시험 오차의 관계
훈련 오차와 시험 오차 사이의 관계 중 하나는 무작위로 선택된 모델의 기대 훈련 오차가 해당 모델의 기대 시험 오차와 동일하다는 것입니다. 이는 두 데이터 집합이 동일한 확률 분포에서 생성되었기 때문에 발생합니다. 매개변수가 고정되어 있고 무작위로 샘플을 선택한 경우, 기대 훈련 오차와 기대 시험 오차는 동일합니다. 물론, 기계 학습에서는 매개변수를 조정하여 훈련 집합 오차를 줄이고, 그에 따라 시험 집합 오차를 줄이기 위해 노력합니다. 이러한 과정에서 훈련 과정에서의 기대 시험 오차는 기대 훈련 오차보다 크거나 같습니다. 이는 과소적합과 과대적합이라는 두 가지 주요 문제를 반영합니다. 과소적합은 모델이 훈련 데이터의 오차를 충분히 줄이지 못할 때 발생하며, 과대적합은 훈련 데이터와 시험 데이터 사이의 오차 차이가 너무 큰 경우 발생합니다.
모델의 수용력 조절
주어진 학습 모델의 과소적합 또는 과대적합 가능성은 모델의 수용력을 조절하여 제어할 수 있습니다. 모델의 수용력은 일종의 비공식적인 용어로, 모델이 다양한 함수에 얼마나 적합한지를 나타냅니다. 수용력이 낮은 모델은 훈련 데이터에 대해 적합하지 못할 수 있지만, 수용력이 높은 모델은 훈련 데이터의 세부 사항까지 기억하여 과대적합을 일으킬 수 있습니다. 따라서 모델의 수용력을 적절히 조절하여 과소적합과 과대적합 사이의 균형을 유지하는 것이 중요합니다.
가설 공간 선택과 모델의 다양성
학습 알고리즘의 수용력을 제어하는 한 가지 방법은 알고리즘의 가설 공간을 적절히 선택하는 것입니다. 여기서 가설 공간이란 학습 알고리즘이 가능한 해답으로 고려하는 함수들의 집합을 의미합니다. 예를 들어, 선형 회귀 알고리즘의 가설 공간은 주어진 입력에 대해 모든 일차 함수의 집합입니다. 이를 포함하여 다항식 등 다양한 함수를 가설 공간에 추가함으로써 선형 회귀 모델이 보다 다양한 함수를 학습할 수 있습니다. 이렇게 하면 모델의 수용력이 늘어나게 됩니다. 이러한 가설 공간의 선택은 모델의 적합성과 일반화 능력에 영향을 미치므로 신중하게 고려되어야 합니다.
모델의 수용력과 성능 최적화
기계 학습 알고리즘은 일반적으로 과제의 복잡도와 주어진 훈련 데이터의 양에 적합한 수용력을 가질 때 최고의 성능을 발휘합니다. 수용력이 부족한 모델은 복잡한 과제를 해결하지 못할 수 있습니다. 반면에 수용력이 높은 모델은 복잡한 과제를 다룰 수 있지만, 수용력이 과제를 해결하는 데 필요한 수준을 넘어가면 과대적합될 가능성이 있습니다. 이에 따라 적절한 모델의 수용력을 선택하는 것이 중요합니다.
모델의 유효 수용력과 함수 공간의 제한
입력 특징의 수를 변경하고 새로운 특징과 관련된 매개변수를 추가하는 것은 모델의 수용력을 변경하는 한 가지 방법입니다. 그러나 이 외에도 수많은 방법이 있습니다. 또한, 모델의 수용력은 모델의 선택만으로 결정되지 않습니다. 모델에는 학습 알고리즘이 선택할 수 있는 함수들이 속하는 함수 공간이 있습니다. 이를 모델의 표현 수용력이라고 합니다. 종종 최적의 함수를 찾는 것은 어려운 최적화 문제입니다. 따라서 학습 알고리즘은 훈련 오차가 현저히 줄어드는 함수를 선택하는 것으로 만족할 수 있습니다. 최적화 알고리즘의 제한 등으로 인해 모델의 유효 수용력이 함수 공간의 표현 수용력보다 작을 수 있습니다.
수용력 측정: 바프니코-체르노넨츠 통찰력(VC Dimension)
통계적 학습 이론에서는 모델의 수용력을 수량화하는 다양한 수단을 제공합니다. 그중에서도 가장 잘 알려진 것이 바프니코-체르노넨츠 통찰력(VC Dimension)입니다. VC 차원은 이진 분류기의 수용력을 측정하는 데 사용됩니다. VC 차원은 분류기가 임의로 이름표를 부여할 수 있는 서로 다른 m개의 데이터점으로 이루어진 훈련 집합이 존재하는 경우를 만족하는 m의 가장 큰 값입니다. 이것이 그 분류기의 VC 차원입니다.
통계적 학습 이론의 예측과 수량화
모델의 수용력을 수량화할 수 있으면 통계적 학습 이론을 사용하여 예측을 수량화할 수 있습니다. 통계적 학습 이론의 중요한 결과 중 하나는 모델의 수용력을 향상하면 훈련 오차와 일반화 오차 간의 격차도 증가한다는 것입니다. 그러나 훈련 데이터의 수가 증가하면 이 격차가 감소한다는 것도 중요한 결과입니다. 이러한 한계는 기계 학습 알고리즘이 실제로 작동할 수 있는 이론적 근거를 제공하지만, 딥러닝 알고리즘에서 이러한 한계가 실제로 사용되는 경우는 드뭅니다. 이는 한편으로는 이러한 한계가 너무 느슨하고, 다른 한편으로는 딥러닝 모델의 수용력을 정확하게 측정하는 것이 어려운 경우가 많기 때문입니다. 딥러닝 모델의 수용력을 측정하는 것은 본질적으로 어려운 문제이며, 최적화 알고리즘의 능력뿐만 아니라 딥러닝에서 발생하는 일반적인 비볼록 함수 최적화 문제를 이해하는 데도 아직 많은 어려움이 있기 때문입니다.
결론
기계 학습에서의 주요 어려움은 모델이 훈련 데이터뿐만 아니라 이전에 관찰하지 않았던 새로운 데이터에 대해서도 잘 작동하도록 하는 것, 즉 일반화하는 것입니다. 이를 위해 최적화 문제와 함께 훈련 오차와 시험 오차의 관리가 필요합니다. 이를 통해 모델의 수용력을 적절히 조절하고 함수 공간을 선택하여 적절한 모델의 유효 수용력을 유지하는 것이 중요합니다. 통계적 학습 이론은 모델의 수용력을 수량화하고 예측을 할 수 있지만, 딥러닝에서는 이를 정확하게 측정하는 것이 어려운 문제이며, 아직 많은 어려움이 남아있습니다.