2022 AI 대학원 챌린지

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

  • moneyIcon 상금 : 총 2,500만원
  • 304명 마감

 

[Private 0.74296 AMLL팀] LGBM + ESM embedding

공동작성자

stroke
2022.08.01 20:38 1,582 조회 language

Light GBM을 사용하여 classification을 수행한 코드 입니다.

1. 임베딩

epitope_seq와 antigen_seq을 ESM모델로 임베딩하여 사용했습니다.
antigen_seq의 경우 start_position과 end_position 기준으로 각각 왼쪽, 오른쪽의 시퀀스를 window size 256만큼 취하여,
antigen_seq_left, antigen_seq_right로 나누어 임베딩하였습니다.

각 시퀀스의 임베딩은 ESM의 토큰별 hidden state를 평균을 취하여 임베딩 벡터로 사용했습니다.

임베딩 벡터의 차원은 1280입니다.
임베딩 차원이 너무 커서 이걸 PCA로 줄이는 시도도 해 보았지만,
PCA로 차원을 줄이면 오히려 성능이 낮아 그대로 사용하기로 했습니다.

임베딩은 ESM모델, SeqVec(ELMO)모델, T5모델 등등 다양하게 사용해 보았는데,
ESM모델을 사용한 경우가 가장 성능이 좋았습니다.

2. 기계학습 모델

모델은 Light GBM(LGBM)을 사용했습니다.

LGBM, CatBoost, XGBoost, TabNet, T5, BERT 등등 
다양한 모델을 가지고 실험한 결과 LGBM이 가장 성능이 좋았고,
여러 모델을 앙상블 했을 때는 성능이 오히려 하락하여
LGBM 단일 모델을 사용하게 되었습니다.

3. 코드

ESM 임베딩을 구하는 코드와, LGBM classifier를 사용한 코드를 업로드합니다.


감사합니다.

코드
로그인이 필요합니다
0 / 1000
안녕해요
2022.08.02 10:47

Reference 정보도 중요한 feature군요! 코드 공유 감사합니다. 
개인적으로 궁금한 내용이 있는데 T5, ELMO, BERT와 ESM을 사용한 모델 간의 성능 차이는 어느 정도가 있었는지 알려주실 수 있나요?

-_-
2022.08.02 13:32

이전에 모든 컬럼의 데이터로 학습하여 제출했을 때 기준으로 말씀드리면,
lgbm + esm 임베딩은 0.932, lgbm + T5 임베딩은 0.927으로 성능이 나왔었습니다.
ELMO 임베딩은 벨리데이션 성능이 높지 않아서 제출을 하지 않았습니다.

또한 T5 사전학습 모델과 BERT 모델은 시퀀스만 사용하여 파인튜닝을 했었고,
각각 제출 성능은 0.626, 0.618으로 나왔었습니다.

안녕해요
2022.08.02 13:25

궁금했던 내용에 대해 답변해주셔서 감사합니다!

섭섭한틀니
2022.08.02 16:55

저희는 Reference 정보가 Epitope을 predict하는데 취지에 맞지 않는 정보로 생각하여 제거하였는데, 혹시 Reference정보를 따로 이용한 이유가 있나요? 
그리고 Reference 정보를 제거하였을 때의 성능은 혹시 측정해 보셨는지 궁금합니다