2022 AI 대학원 챌린지

LG | 채용 | B-cell | Epitope | Classification | macro-f1

  • moneyIcon Prize : 총 2,500만원
  • 311명 마감

 

[Private 0.7572] CVML - ResNet1D + MLP 코드 공유

공동작성자

stroke
2022.08.03 01:12 2,226 Views language

안녕하세요 CVML 팀입니다.

저희는 Amino acid feature(aaindex)를 가공하여 ResNet1D+MLP의 구조인 커스텀 모델로 학습하였습니다.


<Train-Valid Data Split>

CD-HIT(서열 기반 클러스터링 프로그램)을 사용해 NoRedundancy dataset을
만들어주는것이 목표였습니다. 데이터를 split하되, dictionary 자료 구조를 이용해 
중첩 mapping을 하여 버리는 데이터 없이 모든 데이터셋을 사용하고자 했습니다. 


<Training>

- Preprocessing
학습엔 Epitope seq만 사용하고 Antigen seq는 사용하지 않았습니다. 이것은 epitope 인지 아닌 지를 결정하는 Assay 실험에서 영감을 얻었는데 ,
이 Assay 실험들이 전체 Antigen seq는 고려하지 않아도 되는  peptide based 실험이기 때문입니다. Epitopd seq만 사용함으로써 결과적으로는, 하나의 Antigen seq를 공유하고 있는 데이터 샘플들이 많아 심각했던 오버피팅 문제를 해결할 수 있었습니다.

- AA Feature
Amino acid feature를 얻기 위해 aaindex 라이브러리를 사용했는데, 논문을 참고하여 총 14개의 aaindex property를 사용했습니다. 
이렇게 aa feature를 구하고, epitope seq의 aa feature를 평균 내준 값을 peptide feature로 사용했습니다.

- Model
ResNet1D와 MLP를 조합한 커스텀 모델(AAPropResNet)을 학습에 사용했습니다.

- Focal Loss
class분포가 10:1 정도로 unbalance하기 때문에 Focal loss를 사용했습니다.


<Inference>
5-fold로 학습된 5개의 AAPropResNet 모델을 Soft-voting 방식에 따라 각각의 probability를 평균 내준 값으로 label을 결정했습니다.

Code
로그인이 필요합니다
0 / 1000
안녕해요
2022.08.03 10:14

코드 공유 감사합니다! 많이 배워갑니다 ㅎㅎ

됴로롱
2022.08.03 12:37

감사합니다 :)

신한고양이
2022.08.03 11:20

잘 봤습니다! AAPropResNet는 논문에서 사용한 모델인가요?

됴로롱
2022.08.03 12:36

이번 챌린지하면서 저희가 만든 모델입니다!    

신한고양이
2022.08.03 13:19

아 넵 감사합니다 ㅎㅎ