머신러닝 개발자의 러닝머신

[딥러닝] 손실 함수(Loss Function) 본문

ML.AI/ML, DL

[딥러닝] 손실 함수(Loss Function)

oongsong 2023. 5. 6. 11:03
반응형

손실 함수(Loss Function) 란?

 

손실 함수는 학습을 통해 얻은 데이터의 추정치가 실제 데이터와 얼마나 차이가 나는지를 말하는 지표로,

학습률(learning rate)과 손실 함수의 순간 기울기를 이용해 오차를 최소화 하는 방향으로 인공신경망의 가중치를 업데이트 한다. [경사 하강법]

 

손실 함수의 값이 클수록 정답과 출력 데이터와의 오차가 크다는 것을 의미하고, 반대로 이 값이 '0'에 가까울수록 완벽하게 추정할 수 있다는 의미이다. 대표적인 손실 함수로는 평균제곱오차(Mean Squared Error, MSE)와 크로스 엔트로피 오차(Cross Entropy Error, CEE)가 있다.

 

1. 평균 제곱 오차(Mean Squared Error, MSE)

평균 제곱 오차는 가장 많이 쓰이는 손실 함수 중 하나로, 실제 값과 예측값의 차이를 제곱하여 평균을 낸 것이 평균 제곱 오차를 의미하며 수식은 다음과 같다. 

이때, n은 데이터의 전체 개수, yi는 정답값, ti는 신경망의 출력을 뜻한다. 

평균 제곱 오차는 제곱 연산으로 차이가 커질수록 값이 커진다는 특징이 있다. 이로 인해 최적값과 가까워질수록 이동 거리가 다르게 변화하기 때문에 최적값 수렴에 유리하다는 장점이 있다. 하지만 1 미만의 값은 제곱 결과 더 작아지고, 그 이상의 값은 더 커지므로 값의 왜곡이 발생한다는 단점이 존재한다. 

MSE로 학습하는 과정

 

2. 평균 제곱근 오차 (Root Mean Square Error, RMSE)

평균 제곱근 오차는 MSE에 제곱근을 적용한 오차값을 의미한다. MSE의 제곱된 값에 루트를 적용하기 때문에 제곱으로 인한 값의 왜곡을 감소시킬 수 있다는 특징이 있다. 

 

3. 이진 크로스 엔트로피 오차(Binary Cross Entropy) 

 

이진 크로스 엔트로피 오차는 이항 교차 엔트로피라고도 부르는 손실 함수로, 출력층에서 시그모이드 함수를 사용 데이터의 출력을 0과 1로 구분하는 이진 분류(Binary Classification)의 경우 사용한다. 시그모이드 함수에 포함된 자연 상수 e로 인해 평균 제곱 오차를 적용하면 매끄럽지 못한 그래프가 출력되는 점을 개선할 수 있다. 

 

수식은 다음과 같고 yi는 정답값, y_prob는 신경망의 출력값을 의미한다. 

 

4. Categorical Cross Entropy 

categorical cross entropy는 범주형 교차 엔트로피라고도 부르는 손실 함수로, 출력층에서 소프트맥스 함수를 사용하는 다중 클래스 분류(Multi-Class Claddisification) 문제에서 사용한다.  

 

수식은 다음과 같고 CCE는 BCE의 일반화된 버전으로 모든 클래스들의 오차 합을 구하기 위한 추가적인 변수 j가 추가된다.

 

.

.

지금까지 손실 함수의 정의와 다양한 종류의 함수와 특징, 장단점을 살펴봤습니다. 

이후 포스트부터는 딥러닝 학습에 대해 본격적으로 알아보겠습니다.

 

 

참고자료 

 

 

 

반응형