월간 데이콘 코드 유사성 판단 AI 경진대회

알고리즘 | NLP | 분류 | 유사성 | Accuracy

  • moneyIcon 상금 : 총 600만 원
  • 907명 마감

 

[Private 33등/0.96139] 2.학습, 추론 - GraphCodeBert

2022.06.13 17:22 1,986 조회 language

시간 대부분을 데이터 생성과 모델 학습을 기다리는 것에 투자하였습니다.
그만큼 학습은 baseline과 동일한 정도로 수정한 것이 없습니다.
모두들 화이팅

1.학습 데이터 생성 - uniXcoder
https://dacon.io/competitions/official/235900/codeshare/5142
2.학습, 추론 - GraphCodeBert
https://dacon.io/competitions/official/235900/codeshare/5143

# 데이터 생성에서 사용된 아이디어
1. contrastive learning의 개념을 적용하여 negative sample을 선정하였습니다.
2. 학습할 모델보다 성능이 좋은 다른 모델(UniXcoder)을 이용해서 dataset을 sampling을 하였습니다. 이는 학습모델(GraphCodeBert)이 생각하지 못한 경우를 다른 모델로부터 배울 수 있다는 가정에서 접근하였습니다.
3. 전처리는 간단하게 주석만 제거했습니다.

# 학습에 사용된 아이디어
1. pretrained model 사용 - [GraphCodeBert](https://github.com/microsoft/CodeBERT)
2. [Label smoothing](https://arxiv.org/pdf/1906.02629.pdf)
3. tokenize시 truncation 방향을 right에서 left로 변경

코드