문장 유형 분류 AI 경진대회

알고리즘 | 언어 | 분류 | Weighted f1 Score

  • moneyIcon Prize : 500 만원
  • 1,049명 마감

 

[Public 1위, Private 17위, klue-r-large distribution loss]

2022.12.23 19:31 1,803 Views language

안녕하세요. siwooyong입니다.
해당 코드는 다음과 같이 구성되어 있습니다.

1. 데이터
- 멀티 라벨(4개의 라벨)을 하나의 라벨(해당 라벨은 전체 클래스에 대한 유사도 분포를 나타냄)로 변환했습니다.
- 즉, 해당 데이터가 각 클래스와 어느정도 유사한지를 나타낸다고 볼 수 있습니다.
- 결과적으로 정답 클래스에 해당하는 confidence는 0.86정도로 설정되었고 이는 label smoothing loss와 비슷하다고 할 수 있습니다. 
- 하지만 단순히 uniform distribution으로 regularization을 가하는 label smoothing loss와 다르게 클래스에 대한 유사도 분포를 반영한 학습이 가능했습니다.
- 즉 모델에게 "a클래스는 맞고 b클래스는 틀려!" 와 같은 학습이 아니라 "a클래스는 0.86 정도로 유사하고 b 클래스는 0.14 정도로 유사해!"와 같이 학습시키는 것입니다.
- 이후 kl divergence loss를 활용하여 학습을 진행했습니다.
- 일반적으로 사용하는 one-hot  라벨에 비하여 LB상에서 1.0점의 스코어 향상을 얻어낼 수 있었습니다.(단일 모델 기준 : 0.73998 -> 0.74989)

2. 모델 
- klue-roberta-large를 사용했습니다.
- koelectra, kobert, xlm-roberta-large 등을 활용해보았으나 단일모델 기준 klue-roberta-large의 성능이 가장 우수했습니다.

3. 학습
- stratified kfold(5 fold)으로 데이터를 분리시킨 후 5개의 모델을 학습시켜 soft voting 기법으로 앙상블을 진행했습니다. 


Code
로그인이 필요합니다
0 / 1000
Mather
2022.12.25 08:32

🎄🎄🎄