월간 데이콘 항공편 지연 예측 AI 경진대회

알고리즘 | 정형 | 분류 | 준지도학습 | 항공 | LogLoss

  • moneyIcon Prize : 인증서
  • 1,543명 마감

 

meta pseudo labels && Custom Loss (binary cross entropy)

2023.05.03 22:46 1,974 Views language

라벨링 데이터 불균형을 해결하기 위해서 이진 크로스 엔트로피에 적용 비율을 곱하여 custom loss를 이용하였습니다.
custom loss 사용 후 제출 점수가 크게 향상되어서 (대략 1.17 -> 0.716) 이렇게 글을 다시 올립니다.

준지도 학습 (Semi-Supervised-Learning)에서 흔히 쓰이는 Meta Pseudo Labels 를 적용해 보았습니다.
제출 점수가 그리 높진 않았습니다.
Teacher 모델과 Student 모델을 동시에 학습 시켜야 하기 때문에 GPU 사용량이 많은 학습 방법 입니다.

코드 구현은 아래 Kaggle Notebook을 참고하였습니다.
https://www.kaggle.com/code/hengck23/playground-for-meta-pseudo-label

남은 대회 기간 동안 화이팅 입니다!!!

Code
로그인이 필요합니다
0 / 1000
Soonb
2023.05.04 11:31

질문있습니다! custom loss 에서 xi 값이 0.725 인데 이거는 어디서 추론하신 값인가요?

__lia__
2023.05.04 11:53

반영 비율을 달리 하고자 0.6 부터 xi값을 증가시키면서 라벨링된 데이터에 대한 loss값을 확인하였습니다.
xi 값이 증가할수록 제출 점수가 향상되는 경향을 보였습니다. 또한 xi 값이 증가할수록 모델의 수렴 속도가 더 느려져 학습을 더 많이 진행하였습니다.

Soonb
2023.05.04 11:52

감사합니다. 그렇다고 하시는것은 
training 데이터 내에서, 라벨링 된 데이터에 대한 loss 값이 최소가 되도록 hueristic하게 찾으신게 0.725 라고 이해하면 될까요?

__lia__
2023.05.04 11:53

넵 정확합니다 ^^

Soonb
2023.05.04 11:54

넵! 답변 감사합니다!

설빙더아이스
2023.05.04 16:25

좋은 코드 공유 감사합니다. 잘 보고 갑니다!

__lia__
2023.05.04 17:18

감사합니다!

핵융합소스
2023.05.04 18:24

질문 있습니다. xi값의 xi는 어디서 비롯된건가요?

__lia__
2023.05.04 18:32

psi랑 잠시 혼동이 있었습니다....

핵융합소스
2023.05.04 19:31

아하 그렇군요.
이건 개인적인 견해입니다만, 'Origin_Airport' 열이 매핑된 상태임을 보다 확실히 하기 위해 열 이름을 'Mapped_Airport_Origin', 두문자어로 줄여 'MAO'로 지정하는 것은 어떨까요?

이세의인공지능
2023.05.05 21:02

[Define Training Process]에서
RuntimeError: one of the variables needed for gradient computation has been modified by an inplace operation: [torch.cuda.FloatTensor [32, 1]], which is output 0 of AsStridedBackward0, is at version 2; expected version 1 instead.
라는 에러가 나옵니다ㅠㅠ 변수를 덮어쓰거나 하면 나오는 에러였던 것으로 기억하는데 뭐가 문젠지 잘 모르겠네요!

__lia__
2023.05.05 21:21

우선 저도 같은 코드를 colab 환경에서 실행하였을 때 위와 같은 오류코드를 경혐한적이 없어서 답을 드리지 못하겠습니다 ㅠㅠ
혹시 어느 line에서 오류가 나왔는지 알수 있을까요?