-100과 ignore label

Soogyung Gwon·3일 전

구름을잡아라

목록 보기
58/60

꼭 -100을 써야할까?

Hugging Face의

  • BertForTokenClassification
  • TFBertForTokenClassification

등은 내부적으로 보통:
ignore_index=-100

즉 label이 -100이면 loss 계산에서 제외

  • -100 외에도 다른 숫자를 사용할 수 있지만, 그러기 위해서는 loss 함수도 같이 수정해 줘야 한다. (혹은 직접 마스킹)
  • 단 다른 숫자를 사용할 때 다른 라벨 ID와 충돌하면 안 된다. (그래서 보통 음수를 사용)

TensorFlow에서는...

ignore_index 옵션이 없는 경우가 많아서

active_loss = labels != -100

같이 직접 mask를 만들어 처리한다 (loss를 계산하기 전에 배제).
이런 경우에는 직접 배제하기 때문에 ignore_index 설정이 필요 없다.

profile
오랜시간 망설였던 코딩을 다시 해보려고 노력하고 있는 사람

0개의 댓글