말랑말랑제리스타일

TensorFlow에서 사용되는 3가지 손실함수 본문

프로그래밍/딥러닝

TensorFlow에서 사용되는 3가지 손실함수

제리제리 2024. 3. 20. 11:33

TensorFlow에서는 약 15가지 정도의 손실함수를 지원한다고 하는데요.

그 중 용도에 따라 다르게 사용할 수 있는 세가지를 알아봤습니다.

 

딥러닝에서 손실함수(Loss Function)란

딥러닝에서 손실 함수란 loss율을 최소화시켜주는 함수입니다.

예측 값과 실제 값을 비교해 모델을 훈련할 때 손실을 최소화시켜주는 방식이죠.

 

Categorical Crossentropy 손실함수

먼저 TensorFlow로 케라스 Mnist 데이터셋 분류에 주로 사용되는 Categorical Crossentropy 손실함수입니다.

Mnist 데이터셋은 범주를 1~9까지 사이로 분류를 하는 데이터죠.

이런 범주형 데이터의 분류에는 Categorical Crossentropy 손실함수를 사용합니다.

이 외에도 원핫 인코딩을 하지 않아도 되는 Sparse Categorical Crossentropy 함수 등 비슷한 용도의 손실함수가 다수 존재합니다.

 

MSE(Mean Squared Error) 손실함수

주로 회귀 분석에 사용되는 손실합수입니다.

평균 제곱 오차를 구하는 방식으로 가장 직관적이고 간단한 방식이라고 합니다.

범주에 속하는 데이터 자체가 상당히 명확하고 간단한 데이터에 사용되는 함수로 보이며, 확장된 개념의 MAE나 RMSE 등의 손실함수가 존재합니다.

 

Binary Crossentropy 손실함수

BCE라고도 부르는 Binary Crossentropy 손실함수입니다.

주로 이진 분류, 즉 기냐 아니냐의 문제에 사용되는 손실함수입니다.

작동 방식은 예상하셨겠지만 Categorical Crossentropy처럼 이산확률 분포를 토대로 계산한다고 하네요.

이 외에도 확장된 개념을 포함해 텐서플로우에서 약 15가지정도의 손실함수를 지원한다고 하는데요.

분류 목적이나 구현 목적에 따라서 용도가 달라질 수 있겠네요.

 

 

반응형
Comments