인프런 커뮤니티 질문&답변

A+Plus님의 프로필 이미지

작성한 질문수

딥러닝 이론 + PyTorch 실무 완전 정복

[이론] Classification Task의 Loss Function

Section 3 이론 classification Loss function 질문

해결된 질문

24.06.26 13:50 작성

·

128

1

안녕하세요.

Section 3 이론 classification Loss function 질문있습니다.

ground truth는 각 class별 실제 확률값이라고 하셨는데, 실제 데이터에서 우리가 주어진 정보는 해당 observation이 어떤 클라스를 가지는지 label정보만 주어집니다. (확률이 아님)

각 loss function별 비교를 위해 설명해주신부분은 이해가 되었으나, 실제로 모델이 학습할때 class별 ground truth 확률값을 모르는 상황에서 어떻게 학습이 되는지 궁금합니다.

혹시라도 강의 후반에 관련 내용이 나온다면 미리 죄송하다는 말씀 드립니다.

감사합니다.

답변 1

2

변정현님의 프로필 이미지
변정현
지식공유자

2024. 06. 27. 23:48

안녕하세요 변정현입니다~

좋은 질문 주셔서 감사합니다~

네 일반적으로는 어떤 클라스를 가지는지 Label값이 주어집니다.

하지만, 예를 들어서 Masked Language Modeling의 task처럼

"<...>은 강아지의 한 종류이다" 라는 문장에서 빈칸에 들어가기 적합한 단어는 여러가지가 있을 수 있습니다.

"치와와"도 정답지가 될 수 있고, "말티즈"도 정답지가 될 수 있습니다.

따라서 여러 class들이 동시에 정답지가 될 수 있는 경우에 Ground Truth은 확률값으로 표현될 수도 있습니다.

그리고 학습 기법 중 하나인 Label Smoothing은 딥러닝 모델의 분류 문제에서 모델의 일반화 성능을 향상시키기 위해 사용되는 기법인데요.

Label smoothing은 정답 레이블을 완전히 확신하는 대신, 정답 레이블을 약간 부드럽게 만들어 모델이 지나치게 확신하지 않도록 합니다. 이를 통해서 모델의 과적합을 방지하여 일반화 성능에 도움이 됩니다. 예를 들어, 원-핫 인코딩에서 [0, 1, 0]이 정답이라면, Label smoothing을 적용하면 [0.1, 0.8, 0.1]처럼 정답에 대해 덜 확신하게 됩니다.

그리고 "실제로 모델이 학습할때 class별 ground truth 확률값을 모르는 상황에서 어떻게 학습이 되는지 궁금합니다."에 대한 부분은 Gradient Descent (경사 하강 방법)에서 설명됩니다!

감사합니다~

A+Plus님의 프로필 이미지
A+Plus
질문자

2024. 06. 30. 14:14

감사합니다!

A+Plus님의 프로필 이미지

작성한 질문수

질문하기