손실 함수 정의
1. 개요
1. 개요
손실 함수는 기계 학습과 최적화 문제에서 모델의 예측값과 실제값 사이의 차이를 정량적으로 측정하는 함수이다. 이 차이를 '손실' 또는 '비용'이라고 부르며, 모델 학습의 핵심 목표는 이 손실 함수의 값을 최소화하는 모델 매개변수를 찾는 것이다.
손실 함수는 모델의 성능을 평가하는 기준이자, 학습 알고리즘이 매개변수를 조정하는 방향을 결정하는 지표 역할을 한다. 손실 값이 작을수록 모델의 예측이 실제 데이터에 더 잘 부합한다고 판단한다. 따라서 적절한 손실 함수의 선택은 모델의 학습 효율성과 최종 성능에 직접적인 영향을 미치는 중요한 요소이다.
손실 함수의 개념은 통계학의 추정 이론과 회귀 분석에서 비롯되었으며, 인공 신경망의 발전과 함께 그 중요성이 더욱 부각되었다. 오늘날에는 문제의 유형(예: 회귀, 분류, 생성 모델링)과 데이터의 특성에 따라 다양한 손실 함수가 설계되어 활용되고 있다.
2. 손실 함수의 정의와 목적
2. 손실 함수의 정의와 목적
손실 함수는 기계 학습과 최적화 문제에서 모델의 예측값과 실제 관측값 사이의 차이를 정량화하는 함수이다. 이 함수는 모델의 성능을 측정하는 기준이 되며, 모델 학습 과정에서 이 함수의 값을 최소화하는 방향으로 모델 파라미터를 조정하는 것이 목적이다. 손실 함수의 값이 작을수록 모델의 예측이 실제 데이터에 더 잘 부합한다고 판단한다.
수학적으로, 손실 함수 L은 주로 예측값 ŷ과 실제 목표값 y를 입력으로 받는 함수 L(ŷ, y)로 표현된다. 때로는 모델의 파라미터 θ를 명시적으로 포함하여 L(θ; x, y)로 표기하기도 한다. 여기서 x는 입력 데이터를 의미한다. 손실 함수의 출력은 하나의 실수 값이며, 이를 손실(loss) 또는 비용(cost)이라고 부른다. 학습 알고리즘의 목표는 주어진 훈련 데이터셋에 대해 이 손실의 평균, 즉 평균 손실을 최소화하는 파라미터 θ*를 찾는 것이다.
기계 학습에서 손실 함수의 역할은 핵심적이다. 이는 모델이 학습해야 할 목표를 구체적으로 정의한다. 예를 들어, 회귀 분석에서는 예측값과 실제값의 거리를, 분류 문제에서는 잘못 분류할 확률을 손실 함수로 정의한다. 학습 알고리즘, 대표적으로 경사 하강법은 이 손실 함수의 기울기(gradient)를 계산하여 파라미터를 업데이트하는 방향을 결정한다. 따라서 손실 함수의 선택은 모델이 학습하는 방식과 최종 성능에 직접적인 영향을 미친다.
손실 함수의 설계는 해결하려는 문제의 본질에 기반해야 한다. 올바른 손실 함수는 모델이 우리가 진정으로 최소화하고자 하는 오차를 정확히 반영해야 한다. 예를 들어, 집값을 예측하는 모델에서 절대적인 오차를 줄이는 것과 비율적인 오차를 줄이는 것은 서로 다른 손실 함수를 필요로 한다. 이처럼 문제의 목적에 맞는 손실 함수를 정의하는 것이 효과적인 모델 학습의 첫걸음이다.
2.1. 수학적 정의
2.1. 수학적 정의
손실 함수는 주어진 입력 데이터에 대해 모델이 예측한 값과 실제 관측된 값 사이의 차이를 측정하는 함수이다. 이 함수는 일반적으로 $L(y, \hat{y})$ 또는 $L(\theta)$와 같이 표기하며, 여기서 $y$는 실제 값(레이블), $\hat{y}$는 모델의 예측값, $\theta$는 모델의 매개변수를 나타낸다.
수학적으로, 손실 함수는 주로 두 가지 형태로 정의된다. 하나는 단일 데이터 포인트에 대한 오차를 측정하는 점별 손실 함수이고, 다른 하나는 전체 데이터셋에 대한 평균 오차를 나타내는 평균 손실 함수 또는 비용 함수이다. 점별 손실은 $L^{(i)} = L(y^{(i)}, f(x^{(i)}; \theta))$로, 여기서 $i$는 데이터 샘플의 인덱스를 의미한다. 전체 데이터셋에 대한 비용 함수 $J(\theta)$는 일반적으로 모든 훈련 샘플에 대한 점별 손실의 평균으로 계산된다: $J(\theta) = \frac{1}{N} \sum_{i=1}^{N} L(y^{(i)}, f(x^{(i)}; \theta))$.
손실 함수의 출력은 항상 스칼라 값이며, 이 값이 작을수록 모델의 예측이 실제 값에 가깝다는 것을 의미한다. 따라서 기계 학습과 최적화 과정의 핵심 목표는 이 손실 함수의 값을 최소화하는 모델 매개변수 $\theta^*$를 찾는 것이다: $\theta^* = \arg\min_{\theta} J(\theta)$. 이 과정을 손실 함수 최소화 또는 위험 최소화라고 부른다.
2.2. 기계 학습에서의 역할
2.2. 기계 학습에서의 역할
기계 학습에서 손실 함수는 모델의 학습 과정을 이끄는 핵심적인 나침반 역할을 한다. 학습 알고리즘의 목표는 주어진 훈련 데이터에 대해 손실 함수의 값을 최소화하는 모델 매개변수를 찾는 것이다. 이 과정에서 손실 함수는 모델의 예측이 실제 값과 얼마나 차이가 나는지를 정량적으로 측정하여, 그 차이를 줄이는 방향으로 모델을 조정하도록 안내한다.
손실 함수의 값, 즉 손실은 모델의 현재 성능을 나타내는 지표로 사용된다. 학습이 진행됨에 따라 이 손실 값이 감소하는 것은 모델이 데이터의 패턴을 더 잘 학습하고 있음을 의미한다. 반대로, 손실이 감소하지 않거나 증가한다면 모델 구조나 하이퍼파라미터, 학습 알고리즘에 문제가 있을 수 있다는 신호가 된다. 따라서 손실 함수의 변화를 관찰하는 것은 학습 과정을 모니터링하고 디버깅하는 기본적인 방법이다.
손실 함수의 선택은 해결하려는 문제의 유형과 데이터의 특성에 크게 의존한다. 예를 들어, 연속적인 값을 예측하는 회귀 분석 문제에는 평균 제곱 오차가, 범주를 예측하는 분류 문제에는 교차 엔트로피 손실이 일반적으로 사용된다. 적절한 손실 함수를 선택하지 않으면 모델이 원하는 방식으로 학습되지 않거나, 수렴 속도가 매우 느려질 수 있다.
또한, 손실 함수는 모델이 학습해야 할 '중요한 것'에 대한 암묵적인 가정을 포함한다. 어떤 오차에 더 큰 패널티를 부여할지 결정함으로써, 모델의 행동을 특정 방향으로 유도할 수 있다. 이는 단순히 예측 정확도를 높이는 것을 넘어, 모델의 견고성이나 공정성과 같은 더 넓은 목표를 달성하는 데에도 활용될 수 있다[1].
3. 손실 함수의 주요 유형
3. 손실 함수의 주요 유형
손실 함수는 해결하려는 기계 학습 문제의 유형에 따라 다양한 형태를 가진다. 주로 회귀 분석, 분류 문제, 생성 모델 학습이라는 세 가지 큰 범주로 나누어 볼 수 있다.
회귀 문제용 손실 함수
회귀 문제는 연속적인 값을 예측하는 것이 목표이다. 가장 널리 사용되는 손실 함수는 평균 제곱 오차이다. 이는 예측값과 실제값 사이의 차이를 제곱하여 평균을 낸 것으로, 큰 오차에 대해 민감하게 반응하는 특성을 가진다. 평균 절대 오차는 오차의 절대값을 사용하여 이상치의 영향을 상대적으로 덜 받는다. 후버 손실은 MSE와 MAE의 특성을 결합한 함수로, 작은 오차에는 제곱을, 큰 오차에는 절대값을 사용한다.
손실 함수 | 수식 (단일 샘플) | 주요 특징 |
|---|---|---|
평균 제곱 오차 (MSE) | $(y - \hat{y})^2$ | 큰 오차에 민감, 미분 가능 |
평균 절대 오차 (MAE) | $\ | y - \hat{y}\ |
$\begin{cases} \frac{1}{2}(y-\hat{y})^2 & \text{for } \ | y-\hat{y}\ |
분류 문제용 손실 함수
분류 문제는 데이터가 속할 범주를 예측하는 것이다. 이진 분류에서 가장 기본적인 함수는 이진 교차 엔트로피 손실이다. 이는 예측된 확률 분포와 실제 레이블의 분포 사이의 차이를 측정한다. 다중 클래스 분류에서는 범주형 교차 엔트로피 손실이 주로 사용된다. 힌지 손실은 서포트 벡터 머신에서 주로 활용되며, 마진을 최대화하는 데 초점을 맞춘다.
생성 모델용 손실 함수
생성적 적대 신경망이나 변분 자동인코더와 같은 생성 모델은 고유한 손실 함수를 사용한다. GAN은 생성자와 판별자라는 두 네트워크를 적대적으로 훈련시키며, 이 과정에서 판별자가 실제 데이터와 생성된 데이터를 구분하지 못하도록 하는 적대적 손실을 최소화한다. VAE는 재구성 오차와 함께 학습된 잠재 변수의 분포가 사전 분포(보통 정규분포)에 가깝도록 하는 쿨백-라이블러 발산 항을 손실에 포함한다.
3.1. 회귀 문제용 손실 함수
3.1. 회귀 문제용 손실 함수
회귀 문제는 연속적인 값을 예측하는 작업을 말한다. 이때 모델의 예측값과 실제 목표값 사이의 차이를 측정하기 위해 사용되는 손실 함수에는 여러 종류가 있다. 가장 기본적인 것은 평균 제곱 오차이다. MSE는 예측 오차의 제곱을 평균한 값으로, 큰 오차에 대해 더 민감하게 반응하는 특성을 가진다. 이는 경사 하강법과 같은 최적화 알고리즘에서 유용하게 활용되지만, 이상치의 영향을 크게 받을 수 있다는 단점도 있다.
이상치의 영향을 완화하기 위해 사용되는 대안은 평균 절대 오차이다. MAE는 오차의 절댓값을 평균한 것으로, MSE에 비해 이상치에 덜 민감하고 해석이 직관적이다. 그러나 MAE는 0에서 미분 불가능하며, 최적화 과정에서 수렴 속도가 상대적으로 느릴 수 있다. Huber 손실은 MSE와 MAE의 장점을 결합한 함수로, 작은 오차 영역에서는 MSE처럼, 큰 오차 영역에서는 MAE처럼 동작하도록 설계되었다. 이는 이상치에 대한 강건성을 유지하면서도 최적화 효율성을 높인다.
손실 함수 | 수식 (단일 샘플 기준) | 주요 특징 |
|---|---|---|
(y - ŷ)² | 큰 오차에 민감, 이상치 영향 큼, 미분 가능 | |
\ | y - ŷ\ | |
Huber 손실 | { 0.5*(y-ŷ)² if \ | y-ŷ\ |
특정 문제에 따라 다른 손실 함수도 사용된다. 예를 들어, 평균 제곱근 오차는 MSE에 제곱근을 취해 오차의 단위를 원본 데이터와 일치시키는 지표이다. 분위수 회귀에 사용되는 분위수 손실은 예측의 특정 분위수(예: 중앙값)에 초점을 맞추도록 한다. 최종 손실 함수의 선택은 데이터의 분포, 이상치 존재 여부, 모델의 최적화 난이도, 그리고 예측 오차에 대한 비용 함수를 종합적으로 고려하여 결정된다.
3.2. 분류 문제용 손실 함수
3.2. 분류 문제용 손실 함수
분류 문제에서 손실 함수는 모델이 예측한 클래스 확률 분포와 실제 클래스 레이블 간의 차이를 정량화한다. 이진 분류와 다중 클래스 분류에 따라 주로 사용되는 함수가 다르며, 로지스틱 회귀나 신경망의 출력층 활성화 함수와 밀접하게 연계되어 사용된다.
주요 손실 함수로는 이진 교차 엔트로피와 범주형 교차 엔트로피가 있다. 이진 교차 엔트로피는 두 개의 클래스를 구분하는 문제에 사용되며, 모델의 출력이 하나의 확률 값(예: 클래스 1에 속할 확률)을 가정한다. 수식은 L = -[y * log(p) + (1-y) * log(1-p)]로 표현되며, 여기서 y는 실제 레이블(0 또는 1), p는 모델이 예측한 양성 클래스의 확률이다. 다중 클래스 분류에는 범주형 교차 엔트로피(또는 다중 클래스 로그 손실)가 사용된다. 이는 실제 레이블을 원-핫 인코딩 벡터로, 모델 출력을 모든 클래스에 대한 확률 분포 벡터로 간주하여 차이를 계산한다. 수식은 L = -∑ y_i * log(p_i)이며, 합계는 모든 클래스에 대해 수행된다.
다른 중요한 손실 함수로는 힌지 손실이 있다. 이는 주로 서포트 벡터 머신에서 사용되며, 예측이 정답 클래스에 대해 일정 마진 이상으로 확신할 때만 손실이 0이 되는 특성을 가진다. 이는 모델이 결정 경계에서 먼, 더 확실한 예측을 하도록 유도한다. 또한, 클래스 간 데이터 불균형이 심한 문제를 해결하기 위해 가중치가 부여된 교차 엔트로피나 초점 손실과 같은 변형 함수들도 개발되었다. 초점 손실은 잘 분류된 쉬운 예제보다 오분류된 어려운 예제에 더 큰 가중치를 부여하여 모델의 학습을 개선한다[2].
손실 함수 | 주 사용처 | 주요 특징 |
|---|---|---|
이진 분류 | 출력이 단일 확률, 로지스틱 회귀와 함께 사용 | |
다중 클래스 분류 | 출력이 확률 분포 벡터, 소프트맥스 함수와 함께 사용 | |
서포트 벡터 머신 | 마진 최대화에 기여, 확률 출력보다 점수 출력에 사용 | |
클래스 불균형 분류 | 쉬운 예제의 영향력을 낮춰 불균형 문제 완화 |
3.3. 생성 모델용 손실 함수
3.3. 생성 모델용 손실 함수
생성 모델은 훈련 데이터의 분포를 학습하여 새로운 데이터 샘플을 생성하는 것을 목표로 한다. 이 과정에서 모델이 생성한 데이터의 분포와 실제 데이터의 분포 사이의 차이를 측정하고 최소화하기 위해 특화된 손실 함수가 사용된다. 이러한 함수들은 생성된 샘플의 품질과 다양성을 평가하는 데 중점을 둔다.
적대적 생성 신경망은 생성기와 판별기라는 두 개의 신경망을 적대적으로 경쟁시키는 프레임워크이다. 여기서 사용되는 손실 함수는 이진 교차 엔트로피에 기반한다. 생성기의 목표는 판별기를 속일 수 있는 현실적인 데이터를 생성하는 것이고, 판별기의 목표는 실제 데이터와 생성된 데이터를 정확히 구분하는 것이다. 이 두 네트워크의 목적 함수는 서로 반대되는 미니맥스 게임의 형태를 띤다. 와서스테인 GAN은 판별기를 크리틱으로 변경하고, 두 분포 사이의 Earth Mover's Distance를 근사하여 최적화 안정성을 크게 향상시킨 대표적인 변형이다.
변분 오토인코더는 생성 모델의 또 다른 주요 계보로, 잠재 변수 공간을 통해 데이터를 생성한다. VAE의 손실 함수는 증거 하한으로 구성된다. 이는 재구성 손실과 쿨백-라이블러 발산 항의 합이다. 재구성 손실은 입력 데이터를 디코더를 통해 복원했을 때의 오차를 측정하며, KL 발산 항은 인코더가 학습하는 잠재 변수의 사후 분포가 사전 분포(보통 정규 분포)에서 얼마나 벗어나지 않도록 정규화하는 역할을 한다. 이는 생성 과정의 규제와 해석 가능한 잠재 공간 형성에 기여한다.
최근에는 생성 모델의 성능을 더욱 정교하게 평가하고자 새로운 손실 함수가 지속적으로 제안되고 있다. 예를 들어, 퓨리어 특징 매칭 손실은 생성된 이미지와 실제 이미지의 중간층 특징 통계를 비교하여 시각적 품질을 향상시킨다. 확산 모델은 순방향 노이즈 추가 과정과 역방향 노이즈 제거 과정을 정의하며, 이 과정에서 평균 제곱 오차를 사용하여 점진적으로 노이즈를 제거하는 네트워크를 학습한다.
4. 손실 함수의 특성과 선택 기준
4. 손실 함수의 특성과 선택 기준
손실 함수의 특성 중 가장 중요한 것은 볼록성이다. 볼록 함수는 국소 최솟값이 곧 전역 최솟값임을 보장하므로, 경사 하강법과 같은 최적화 알고리즘이 최적해에 수렴하기 쉽다. 평균 제곱 오차와 같은 많은 전통적인 손실 함수는 볼록한 특성을 가진다. 그러나 심층 신경망과 같은 복잡한 모델에서 사용되는 손실 함수, 예를 들어 교차 엔트로피는 비볼록한 경우가 많아 최적화 과정에서 국소 최솟값에 빠질 위험이 존재한다.
손실 함수를 선택할 때는 해결하려는 문제의 유형과 데이터의 특성을 고려해야 한다. 회귀 문제에서는 연속적인 값을 예측하므로 평균 제곱 오차나 평균 절대 오차가 일반적이다. 분류 문제에서는 교차 엔트로피 손실이 가장 널리 사용되며, 특히 로지스틱 회귀나 신경망 분류기에 적합하다. 데이터에 이상치가 많은 경우, 후버 손실과 같이 이상치에 덜 민감한 로버스트(Robust) 손실 함수를 선택하는 것이 바람직하다.
선택 기준 | 고려 사항 | 적합한 손실 함수 예시 |
|---|---|---|
문제 유형 | 회귀 / 분류 / 생성 | |
데이터 분포 | 이상치 존재 여부, 불균형 데이터 | |
최적화 난이도 | 함수의 볼록성, 기울기의 특성 | |
모델 출력 | 확률 분포 / 단일 값 |
또한, 클래스 불균형 문제가 심한 분류 작업에서는 Focal Loss와 같이 잘 분류된 샘플보다 오분류된 샘플에 더 큰 가중치를 주는 손실 함수가 효과적일 수 있다. 최종적으로 손실 함수의 선택은 모델의 학습 안정성, 수렴 속도, 그리고 최종적인 일반화 성능에 직접적인 영향을 미치므로, 실험을 통해 검증하는 과정이 필수적이다.
4.1. 볼록성과 최적화
4.1. 볼록성과 최적화
손실 함수의 볼록성은 최적화 과정의 난이도와 해의 안정성에 직접적인 영향을 미친다. 볼록 함수는 국소 최솟값이 곧 전역 최솟값임을 보장하므로, 경사 하강법과 같은 반복적 최적화 알고리즘이 전역 최적해로 수렴할 가능성이 높다. 반면, 비볼록 함수는 다수의 국소 최솟값을 가지기 때문에, 초기값이나 최적화 경로에 따라 서로 다른 해에 도달할 수 있으며, 이는 모델 성능의 불안정성으로 이어진다.
함수 유형 | 최적화 특징 | 대표적인 손실 함수 예시 |
|---|---|---|
볼록 함수 | 국소 최솟값 = 전역 최솟값. 최적화가 비교적 용이하고 해가 안정적이다. | |
비볼록 함수 | 다수의 국소 최솟값 존재. 초기값에 민감하며 전역 최적해 수렴이 보장되지 않는다. | 교차 엔트로피 손실 (로지스틱 회귀에서), 신경망의 대부분의 손실 함수 |
실제 기계 학습, 특히 심층 신경망에서는 모델의 복잡도가 높아 손실 함수의 형태가 매우 비선형적이고 비볼록한 경우가 대부분이다. 이 경우, 확률적 경사 하강법과 같은 방법은 미니배치의 무작위성을 통해 국소 최솟값에서 벗어날 가능성을 제공한다. 또한, 모멘텀, Adam과 같은 최적화 알고리즘은 과거 기울기 정보를 활용하여 비볼록 지형을 더 효과적으로 탐색하도록 설계되었다. 따라서 볼록성은 이론적 분석의 편의를 제공하지만, 현대의 복잡한 모델에서는 비볼록성을 가정하고 이를 효과적으로 다루는 최적화 기법의 개발이 더 중요해졌다.
4.2. 데이터 특성에 따른 선택
4.2. 데이터 특성에 따른 선택
데이터의 특성은 적절한 손실 함수 선택에 결정적인 영향을 미친다. 데이터의 분포, 이상치 존재 여부, 목표 변수의 스케일, 문제의 종류(회귀, 분류 등)에 따라 최적의 손실 함수가 달라진다.
이상치가 많은 데이터의 경우, 평균 제곱 오차는 큰 오차에 대해 제곱 패널티를 부여하므로 이상치에 매우 민감하게 반응한다. 이 경우 평균 절대 오차나 후버 손실과 같이 이상치에 덜 민감한 로버스트(Robust) 손실 함수를 선택하는 것이 일반적이다. 분류 문제에서 클래스 불균형이 심한 경우, 단순 교차 엔트로피는 다수 클래스에 편향될 수 있다. 이를 해결하기 위해 가중 교차 엔트로피나 Focal Loss와 같이 소수 클래스에 더 큰 패널티를 부여하는 손실 함수를 사용한다.
데이터 특성 | 권장 손실 함수 | 선택 이유 |
|---|---|---|
이상치가 많음 | 큰 오차에 대한 패널티가 선형적이거나 제한되어 있어 로버스트함 | |
클래스 불균형 심함 | 가중 교차 엔트로피, Focal Loss | 소수 클래스의 샘플에 더 큰 중요도를 부여하여 모델의 편향을 교정 |
출력이 확률 분포 | 두 확률 분포 간의 차이를 직접적으로 측정 | |
라벨에 노이즈 존재 | 라벨 스무딩이 적용된 교차 엔트로피 | 과적합을 방지하고 모델의 일반화 성능을 향상 |
연속적인 값을 예측하는 회귀 문제에서는 평균 제곱 오차가 널리 쓰이지만, 데이터의 오차 분포가 정규 분포를 따른다는 가정이 필요하다. 오차 분포가 비대칭적이라면 평균 절대 오차가 더 적합할 수 있다. 생성 모델에서는 생성된 데이터의 분포와 실제 데이터 분포 사이의 차이를 측정하는 젠슨-섀넌 발산 또는 바서슈타인 거리를 기반으로 한 손실 함수가 사용된다. 최종적으로는 손실 함수의 선택이 모델의 수렴 속도, 최종 성능, 그리고 일반화 능력에 직접적인 영향을 미치므로, 데이터의 특성을 면밀히 분석한 후 결정해야 한다.
5. 손실 함수 최적화 방법
5. 손실 함수 최적화 방법
손실 함수 최적화 방법은 주어진 손실 함수의 값을 최소화하는 모델 매개변수를 찾는 과정을 의미한다. 이는 기계 학습 모델 훈련의 핵심 단계이다. 가장 기본적이고 널리 사용되는 최적화 알고리즘은 경사 하강법이다.
경사 하강법은 손실 함수의 기울기(gradient)를 계산하여 매개변수를 업데이트한다. 구체적인 과정은 다음과 같다. 먼저 매개변수에 대한 손실 함수의 편미분을 계산하여 기울기 벡터를 구한다. 이후 이 기울기의 반대 방향, 즉 손실을 감소시키는 방향으로 매개변수를 조금씩 이동시킨다. 이때 한 번에 이동하는 크기를 결정하는 학습률은 중요한 초매개변수이다. 학습률이 너무 크면 최적점을 지나쳐 발산할 수 있고, 너무 작으면 수렴 속도가 매우 느려진다. 기본 경사 하강법은 매 업데이트마다 전체 훈련 데이터셋을 사용하여 기울기를 계산하므로, 데이터셋이 클 경우 계산 비용이 매우 커진다는 단점이 있다.
이 문제를 해결하기 위해 고안된 변형 알고리즘이 확률적 경사 하강법이다. 이 방법은 매 반복마다 전체 데이터가 아닌 하나의 훈련 샘플(또는 소규모의 미니배치)을 무작위로 선택하여 그 기울기로 매개변수를 업데이트한다. 이는 계산 효율성을 크게 높이고, 매번 다른 샘플의 노이즈가 포함된 기울기를 사용함으로써 지역 최적점에 빠지는 위험을 줄일 수 있다. 확률적 경사 하강법의 발전형으로는 모멘텀을 적용하여 진동을 줄이는 방법, Adam이나 RMSProp처럼 각 매개변수에 맞춤형 학습률을 적용하는 적응형 최적화 알고리즘 등이 있다.
최적화 알고리즘 | 주요 특징 | 장점 | 단점 |
|---|---|---|---|
배치 경사 하강법 | 매 스텝마다 전체 데이터로 기울기 계산 | 안정적인 수렴 | 계산량 많음, 큰 메모리 필요 |
확률적 경사 하강법 (SGD) | 매 스텝마다 하나의 샘플로 기울기 계산 | 계산 효율성 높음, 지역 최적점 탈출 가능 | 업데이트 노이즈 큼, 진동 가능성 |
미니배치 경사 하강법 | 매 스텝마다 작은 데이터 묶음(미니배치)으로 계산 | SGD와 배치법의 절충, GPU 가속 효율적 | 미니배치 크기가 새로운 초매개변수 |
모멘텀을 포함한 SGD | 과거 기울기 방향을 고려하여 관성 추가 | 진동 감소, 수렴 속도 향상 | 모멘텀 계수 설정 필요 |
Adam | 모멘텀과 적응적 학습률을 결합 | 많은 문제에서 잘 작동, 초매개변수 튜닝 비교적 용이 | 원 논문 저자가 지적한 일반화 문제 가능성[3] |
5.1. 경사 하강법
5.1. 경사 하강법
경사 하강법은 손실 함수를 최소화하는 모델 매개변수를 찾기 위해 가장 널리 사용되는 최적화 알고리즘이다. 이 방법은 손실 함수의 기울기(gradient)를 계산하여, 그 기울기의 반대 방향으로 매개변수를 조금씩 업데이트하는 과정을 반복한다. 기본 아이디어는 산에서 내리막을 따라 내려가는 것과 유사하여, 현재 위치에서 가장 가파르게 하강하는 방향으로 이동하여 손실 함수 값이 최소가 되는 지점, 즉 전역 최솟값 또는 국소 최솟값에 도달하는 것을 목표로 한다.
구체적인 과정은 다음과 같다. 먼저, 가중치와 편향과 같은 모델 매개변수를 임의의 값으로 초기화한다. 그런 다음, 현재 매개변수에서 손실 함수의 기울기(각 매개변수에 대한 편미분 벡터)를 계산한다. 계산된 기울기 벡터는 손실 함수가 가장 빠르게 증가하는 방향을 가리키므로, 이를 반전시킨 방향으로 매개변수를 업데이트한다. 업데이트 식은 일반적으로 θ = θ - η * ∇J(θ)로 표현된다. 여기서 θ는 매개변수 벡터, η는 학습률, ∇J(θ)는 현재 θ에서의 손실 함수 J의 기울기 벡터이다. 학습률은 한 번에 얼마나 큰 보폭으로 매개변수를 업데이트할지를 결정하는 하이퍼파라미터로, 너무 크면 최솟값을 지나쳐 발산할 수 있고, 너무 작으면 수렴 속도가 매우 느려지거나 조기에 멈출 수 있다[4].
경사 하강법은 배치 방식에 따라 몇 가지 변형이 존재한다. 표준적인 배치 경사 하강법은 매 업데이트 단계마다 전체 훈련 데이터셋을 사용하여 기울기를 정확하게 계산한다. 이는 정확한 방향으로 업데이트하지만, 데이터셋이 클 경우 한 번의 계산에 매우 많은 시간과 메모리가 소요된다는 단점이 있다. 이 문제를 해결하기 위해 등장한 것이 확률적 경사 하강법과 미니배치 경사 하강법이다. 확률적 경사 하강법은 매 단계마다 단 하나의 훈련 샘플을 무작위로 선택하여 기울기를 근사적으로 계산하고, 미니배치 경사 하강법은 작은 크기의 샘플 집합(미니배치)을 사용한다. 이 변형들은 계산 효율성을 높이고, 노이즈가 있는 업데이트를 통해 국소 최솟값에서 벗어날 가능성을 제공한다.
경사 하강법의 성능은 손실 함수의 형태와 밀접한 관련이 있다. 볼록 함수인 손실 함수(예: 평균 제곱 오차)의 경우, 적절한 학습률로 경사 하강법을 적용하면 전역 최솟값에 수렴함이 보장된다. 그러나 딥 러닝 모델의 손실 함수와 같이 매우 복잡하고 비볼록한 형태를 가진 경우, 알고리즘이 국소 최솟값이나 안장점에 갇힐 위험이 있다. 이를 완화하기 위해 모멘텀, AdaGrad, RMSProp, Adam과 같은 고급 최적화 기법들이 개발되었다. 이러한 기법들은 과거 기울기의 정보를 활용하거나 매개변수별로 학습률을 적응적으로 조정하여 더 빠르고 안정적인 수렴을 도모한다.
5.2. 확률적 경사 하강법
5.2. 확률적 경사 하강법
확률적 경사 하강법은 경사 하강법의 변형으로, 매 단계(에포크)에서 전체 훈련 데이터 대신 무작위로 선택된 하나의 데이터 샘플에 대한 기울기를 계산하여 모델 매개변수를 업데이트하는 방법이다. 이는 계산 비용을 크게 줄여주며, 특히 대규모 데이터셋을 다룰 때 효율적이다. 또한, 손실 함수의 국소 최솟값에 빠지는 위험을 줄이고 더 넓은 범위를 탐색하여 더 나은 최적점을 찾을 가능성을 높인다.
특성 | 설명 |
|---|---|
업데이트 빈도 | 각 데이터 샘플마다 매개변수 업데이트가 이루어진다. |
계산 효율성 | 한 번의 반복에 필요한 계산량이 적다. |
수렴 속도 | 초기에는 빠르게 감소하지만, 후반부에 진동이 있을 수 있다. |
노이즈 영향 | 개별 샘플의 노이즈로 인해 업데이트 경로가 불안정할 수 있다. |
이 방법의 주요 단점은 개별 샘플의 노이즈로 인해 업데이트 경로가 매우 불규칙하고 진동할 수 있다는 점이다. 이를 완화하기 위해 미니배치 확률적 경사 하강법이 널리 사용된다. 미니배치 방식은 전체 데이터도, 단일 샘플도 아닌 작은 묶음(미니배치)의 데이터를 사용하여 기울기를 추정한다. 이는 단일 샘플 방식보다 기울기 추정의 분산을 줄여 더 안정적인 수렴을 도모하면서도, 전체 배치 방식보다는 계산 효율성을 유지하는 절충안이다. 학습률 스케줄링[5]과 같은 방법을 함께 사용하면 수렴 안정성을 더욱 높일 수 있다.
6. 손실 함수의 평가 지표와의 관계
6. 손실 함수의 평가 지표와의 관계
손실 함수와 평가 지표는 기계 학습 모델의 성능을 측정하는 데 모두 사용되지만, 그 목적과 사용 시점이 명확히 구분된다. 손실 함수는 모델 훈련 과정에서 매개변수를 조정하기 위한 최적화의 기준으로 사용된다. 반면, 평가 지표는 훈련이 완료된 모델의 최종 성능을 인간이 해석하기 쉬운 형태로 요약하여 보고하는 데 주로 활용된다.
예를 들어, 이진 분류 문제에서 흔히 사용되는 이진 교차 엔트로피 손실은 경사 하강법을 통해 모델 가중치를 업데이트하는 데 적합한 미분 가능한 형태를 가진다. 그러나 모델의 최종 성능을 평가할 때는 정확도, 정밀도, 재현율, F1 점수 또는 ROC 곡선 아래 면적과 같은 지표가 더 직관적이다. 이러한 평가 지표는 종종 손실 함수와 직접적인 수치적 일치를 보이지 않는다. 모델이 훈련 데이터에 대해 낮은 손실 값을 기록했더라도, 과적합이나 클래스 불균형 문제로 인해 실제 원하는 평가 지표에서의 성능은 낮을 수 있다.
다음 표는 몇 가지 일반적인 문제 유형에서의 손실 함수와 평가 지표의 대표적인 예를 보여준다.
따라서 모델 개발 과정에서는 손실 함수를 최소화하는 방향으로 훈련을 진행하되, 최종 모델 선택과 성능 보고는 실제 업무 목표와 부합하는 평가 지표를 기준으로 이루어져야 한다. 때로는 평가 지표 자체가 미분 불가능하여 직접적인 최적화가 어려운 경우[6], 해당 지표와 상관관계가 높은 대리 손실 함수를 설계하여 훈련에 사용하기도 한다.
7. 손실 함수의 한계와 발전 방향
7. 손실 함수의 한계와 발전 방향
손실 함수는 모델 학습의 핵심 도구이나 몇 가지 근본적인 한계를 지닌다. 첫째, 손실 함수는 주어진 데이터에 대한 오차만을 최소화하도록 설계되므로, 학습 데이터에 존재하지 않는 새로운 패턴이나 이상치에 대한 모델의 일반화 성능을 직접적으로 보장하지 않는다. 이는 과적합 문제로 이어질 수 있다. 둘째, 많은 손실 함수가 단일 목표(예: 평균 제곱 오차 최소화)에 집중하기 때문에, 실제 응용에서 중요한 다중 목표(예: 정확도와 처리 속도의 균형)를 동시에 고려하는 데 한계가 있다. 또한 경사 하강법 기반 최적화는 손실 함수의 국소 최적점에 빠질 위험이 있으며, 특히 비볼록 함수에서는 전역 최적해를 찾기 어렵다.
이러한 한계를 극복하기 위한 다양한 발전 방향이 연구되고 있다. 첫째, 규제 항을 손실 함수에 추가하거나, 드롭아웃과 같은 기법을 통해 모델의 일반화 성능을 직접적으로 향상시키려는 접근이 있다. 둘째, 다중 작업 학습을 위한 손실 함수 설계가 활발하다. 여러 관련 작업의 손실을 조합하거나, 작업 간 중요도에 따라 가중치를 부여하는 방식이다. 셋째, 메타러닝이나 강화 학습을 활용하여 작업이나 데이터 분포에 맞게 손실 함수 자체를 동적으로 학습하거나 선택하는 연구가 진행 중이다. 이는 '손실 함수의 학습'이라는 새로운 패러다임을 제시한다.
한계 | 설명 | 발전 방향/대응 전략 |
|---|---|---|
일반화 보장 부족 | 학습 데이터의 오차 최소화에 집중, 새로운 데이터 성능 불확실 | |
단일 목표 최적화 | 복잡한 현실 문제의 다중 목표(정확도, 속도, 공정성 등) 반영 어려움 | 다중 작업 손실 함수, 가중치 조정, Pareto 최적 탐색 |
최적화의 어려움 | 비볼록 함수에서 국소 최적점에 갇힐 위험, 전역 최적해 탐색 보장 안됨 | 고급 옵티마이저(Adam, RMSProp), 확률적 경사 하강법, 시뮬레이션된 풀림 |
도메인 의존성 | 특정 문제(회귀, 분류)에 맞춰진 손실 함수, 새로운 도메인 적용 어려움 | 도메인 적응 손실 함수, 자기 지도 학습용 손실 함수 설계 |
또한, 설명 가능한 인공지능의 중요성이 부각되면서, 모델의 예측을 해석 가능하게 만드는 동시에 성능도 유지하는 새로운 손실 함수에 대한 관심이 높아지고 있다. 예를 들어, 예측 결과와 함께 불확실성을 추정하도록 유도하는 손실 함수나, 모델의 결정 경계를 더 단순하고 이해하기 쉽게 만드는 제약을 손실에 포함하는 방법 등이 연구된다. 궁극적으로 손실 함수의 발전은 단순한 오차 측정을 넘어, 모델의 신뢰성, 강건성, 공정성, 효율성 등 다양한 목표를 통합적으로 달성하는 방향으로 나아가고 있다.
