기계 학습의 중요한 과제는 알고리즘이 훈련 데이터뿐만 아니라 새로운 입력에 대해서도 효과적으로 동작하도록 만드는 것입니다. 이를 위해 주로 시험 오차의 감소를 목표로 하는 전략들이 사용되는데, 때로는 훈련 오차가 증가하더라도 시험 오차를 줄이기 위한 전략들이 채택됩니다. 이러한 전략들을 통틀어 정칙화라고 하며, 딥러닝의 실제 응용에서 사용되는 정칙화 방법은 다양합니다. 효과적인 정칙화 전략을 개발하는 것은 이 분야의 중요한 연구 과제 중 하나입니다.
정칙화의 의미와 방법
정칙화는 훈련 오차가 아니라 일반화 오차를 줄이기 위해 학습 알고리즘에 가하는 모든 종류의 수정을 의미합니다. 이러한 전략에는 여러 가지가 있습니다. 예를 들어, 추가적인 제약을 도입하거나 목적 함수에 새로운 항을 추가하는 방법이 있습니다. 이러한 추가 제약과 벌점을 잘 선택하면 학습 모델의 성능이 시험 데이터에 대해 향상될 수 있습니다. 때로는 특정한 사전 지식을 부호화하기 위해 제약과 벌점을 설계하기도 합니다. 더불어, 일반화를 개선하기 위해 보다 단순한 모델을 선호하는 경향이 있어서 제약과 벌점을 설계할 때 이를 고려하기도 합니다. 또한, 과소 결정 문제를 과적합 문제로 바꾸기 위해 제약과 벌점이 필요한 경우도 있습니다.
딥러닝에서 대부분의 정칙화 전략은 정칙화 추정량을 기반으로 합니다. 이러한 추정량은 편향을 늘리는 대신 분산을 줄이는 방식으로 작동합니다. 효과적인 정칙화를 위해서는 이러한 절충에서 이득을 얻어야 합니다. 즉, 편향이 과도하게 증가하지 않으면서 분산이 많이 감소해야 합니다.
실제 응용에서는 너무 복잡한 모델이나 목표 함수, 또는 진짜 데이터 생성 과정이 명확하지 않을 수 있습니다. 때로는 이러한 과정이 근사적으로나 아예 포함되지 않을 수도 있습니다. 진짜 데이터 생성 과정이 포함되어 있는지를 정확하게 알아내기는 어렵지만, 대부분의 경우 딥러닝 알고리즘은 외부에서 데이터를 수집하여 모델에 적용됩니다. 주로 이미지, 음성, 텍스트와 같이 매우 복잡한 영역에 사용됩니다. 이러한 응용 분야에서 진짜 데이터 생성 과정은 전체 모집단의 시뮬레이션에 관여합니다. 이런 의미에서 우리가 하는 것은 사각형 막대를 둥근 구멍에 맞추는 것과 유사합니다.
정칙화와 모델의 복잡성
모델의 복잡성을 조절하는 것은 단순히 적절한 크기의 모델을 찾는 간단한 문제가 아닙니다. 대신에, 우리는 큰 모델을 적절히 정칙화하여 최적으로 적합한 모델을 찾아야 합니다. 다행히도, 실제 딥러닝 응용에서는 이러한 모델을 거의 항상 발견할 수 있습니다.
매개변수 노름 벌점과 정칙화 전략
정칙화는 딥러닝이 등장하기 전부터 수십 년간 사용되어 왔습니다. 선형 회귀나 로지스틱 회귀와 같은 선형 모델에서는 간단하고 이해하기 쉬운 효과적인 정칙화 전략들이 가능합니다.
정칙화 접근 방식 중에는 신경망이나 선형 회귀, 로지스틱 회귀와 같은 모델의 목적 함수에 매개변수 노름 벌점을 추가하여 모델의 용량(capacity)을 제한하는 것들이 많이 있습니다.
정칙화 목적 함수를 최소화하는 훈련 알고리즘은 원래의 목적 함수와 매개변수의 크기에 대한 어떤 측도를 감소시키게 됩니다. 매개변수의 노름을 어떻게 선택하느냐에 따라 훈련 알고리즘이 선호하는 해의 특성이 달라집니다.
신경망에서는 일반적으로 각 층의 어파인 변환의 가중치들에만 벌점을 가하고 편향 항들은 정칙화하지 않은 매개변수 노름 벌점을 사용하는 것이 일반적입니다. 보통 편향 항들은 적은 양의 데이터로도 정확하게 적합될 수 있기 때문에 이러한 선택이 이루어집니다. 한 가중치는 두 변수 간의 상호 작용을 결정하므로 이를 적절히 적합시키려면 다양한 조건에서 두 변수를 관찰해야 합니다. 그러나 편향 항은 하나의 변수만을 제어하므로 이러한 정칙화가 없어도 분산이 많이 증가하지는 않습니다. 또한 편향 항을 정칙화하면 과소적합이 발생할 수 있으므로 일반적으로 가중치만을 정칙화합니다.
신경망에서는 각 층의 서로 다른 가중치에 대해 개별적인 정칙화를 사용하는 것이 바람직한 경우가 있습니다. 그러나 여러 초매개변수의 정확한 값을 찾기 위해 계산 비용이 매우 크다면, 모든 층에 대해 동일한 가중치 감쇄를 사용하는 것이 검색 공간의 크기를 줄이는 합리적인 선택일 수 있습니다.
가장 간단하고 많이 사용되는 매개변수 노름 벌점은 L² 매개변수 노름 벌점이며, 이는 가중치 감쇄(weight decay)라고도 불립니다. 이 정칙화 전략은 목적 함수에 정칙화 항을 추가하여 가중치들을 원점에 가까운 쪽으로 이동시킵니다. 이러한 L² 정칙화는 있지 회귀나 티코노프 정칙화라고도 합니다.
L¹ 정칙화와 특징 선택
L² 정칙화에 비해 L¹ 정칙화는 더 희소한 해를 만들어냅니다. 여기서 희소성은 최적값이 0인 매개변수가 많지 않다는 것을 의미합니다. L¹ 정칙화의 희소성은 L² 정칙화와는 다른 특성을 가집니다.
L¹ 정칙화가 유발하는 이러한 희소성은 예전부터 특징 선택을 위한 매커니즘으로 적극적으로 활용되어 왔습니다. 특징 선택은 사용할 수 있는 특징 중 반드시 사용해야 할 특징들의 부분집합을 선택하여 기계 학습 문제를 단순화합니다. 특히, 잘 알려진 최소 절댓값 축소 및 선택(LASSO) 연산자 모델은 L¹ 벌점을 선형 모델과 최소 제곱 비용 함수에 적용합니다. 이는 L¹ 벌점이 일부 특징들에 해당하는 가중치를 0으로 만들어 폐기할 수 있도록 하므로, 안전하게 폐기할 수 있는 일부 특징들을 식별할 수 있습니다.
결론
정칙화는 훈련 오차가 아니라 일반화 오차를 줄이기 위해 학습 알고리즘에 가하는 모든 종류의 수정을 의미합니다. 이를 위해 여러 전략들이 사용되며, 주로 시험 오차의 감소를 목표로 합니다. 실제 응용에서는 모델의 복잡성을 조절하고, 매개변수 노름 벌점과 같은 정칙화 전략을 활용하여 효과적인 학습을 이루어내야 합니다. 이는 기계 학습 분야의 중요한 연구 과제 중 하나입니다.