보통, 다중 클래스 분류 시 Loss Function으로 categorical_crossentropy를 사용한다.
그러나 사실 다중 클래스 분류 시 [Sparse]_categorical_crossentropy를 Loss Function으로 사용하기도 한다.
이 둘 중 어느 것을 사용하여도 사실 모델의 정확도에는 영향을 미치지 않는다.
이 둘의 차이점은 무엇일까??
바로, Training Data의 Label의 형태이다.
categorical_crossentropy : Training Data의 Label값이 [One-Hot Encoding]인 경우 사용
Sparse_categorical_crossentropy : Training Data의 Label 값이 [정수(int)]인 경우 사용
([컴퓨터 비전과 딥러닝 p 407의 PG9-4]에서 Sparse_categorical_crossentropy를 Loss Function으로 사용하고 있다)
Sparse_categorical_crossentropy의 장점
1. One-Hot Encoding : 분류 클래스의 개수가 1만개이면, 1만 개의 벡터 크기를 가지는 Label값을 가지게 된다.
-> 메모리 소요가 심하다. 그러나 분류 클래스의 Label 값이 정수(int)형이라면 메모리 소모를 굉장히 줄일 수가 있다.
'딥러닝(Deep Learning) > 컴퓨터 비전' 카테고리의 다른 글
N-shot-learning(Feat. [Zero-shot-Learing],[One-Shot-Learning],[Few-Shot-Learning] ,얼굴 인식 , 얼굴확인/식별) (1) | 2024.04.18 |
---|---|
cv2.VideoCapture(0,cv.CAP_DSHOW)(Feat. [컴퓨터 비전과 딥러닝 중 P 418] (0) | 2024.04.17 |
Inception,Xception Model (0) | 2024.04.16 |
Batch Normalization(Feat. 배치 정규화, U-Net, Inception) (0) | 2024.04.13 |
padding,stride,pooling의 개념(Feat. Same Padding, Valid Padding) (0) | 2024.04.13 |