Pytorch
와 Chemistry
를 키워드로 관련 논문들을 찾던 중에 NLP model
을 이용한 논문을 발견했다. 아미노산 결합체인 콜라겐(Collagen)의 아미노산 배열로부터 녹는점 $ T_{m} $ 을 예측하는 것이 주된 목표였다. 주로 자연어 처리에 쓰이는 NLP(Natural Language Processing) 기법을 화학적 분자에 적용한다는 점에서 색다른 접근 방식이라고 생각할 수 있다. 기존에 화학 분야에 ML와 AI을 적용하기 위해서는 주로 물리화학적 특성들을 모두 고려해서 복잡한 모델을 만들어냈었는데, 이 경우 단순 아미노산 배열로부터 녹는점을 예측할 수 있기에 간편하면서도 실용적이라고 볼 수 있었다. 논문의 전체 내용을 읽기 위해서는 CollagenTransformer - ACS Publications을 참고하길 바란다. 여기에서는 이 논문에 대해서 간단한 요약과 더 알아볼 부분들에 대해서 소개하려고 한다.
Introduction
Collagen의 특성
콜라겐(Collagen) 분자는 체내 단백질에서 30% 정도를 차지할 정도로 많은데, 그렇기에 콜라겐의 특성을 알아내는 것은 곧 생리학적인 현상들(physiological relevance)과 질병 원인 파악(disease etiology)에 도움을 준다. Gly-Xaa-Yaa 반복구조를 많이 가진 아미노산 결합체인 콜라겐은, 아미노산 배열과 tropocollagen 구조를 통해 특성을 결정할 수 있다.
선행연구
CollagenTranformer와 유사한 모델은 크게 두 가지가 있다.
- Persikov et al.
- algorithm to directly predict the mechanical stability based on the primary amino acid sequence of the collagen tripeptides
- Walker et al.
- algorithm to predict the thermal stability and register of homo- and heterotrimers
- ColGen
- LSTM 모델 이용
Approach
이런 분자의 특성을 알아내는 방식에는 크게 두가지가 있다.
- Traditional methods 기존에는 Molecular Dynamics 분자 동역학과 같은 이론을 통해 분자의 특성을 예측해왔다.
- ML approaches 최근에 들어서 Machine Learning 기술이 발달함에 따라서 Neural Network이나 NLP(Natural Language Processing)을 이용하여 분자의 특성을 예측하고자 노력하고 있다. 초기의 NLP model은 LSTM 모델을 이용하는데 sequential input이 필요하기 때문에 train하기에 용이하지 않다는 태생적 한계를 지니고 있었는데, 이 연구에서는 transformer model을 도입하여 self-attention을 이용하여 순서와 배열로부터(positional encoding) 특성을 예측하도록 하고 있다. Collagen 분자의 경우 짧은 구간에서는 sequential하고 긴 구간에서는 nonsequential한 특성을 동시에 가지고 있는데, transformer을 통해서 이런 nonsequential에 대해서도 대응할 수 있게 된다.
Goal of this paper
transformer ML model을 이용해서 collagen amino sequences로부터 $ T_{m} $ 값을 예측하는 것이다. 이를 위해 ‘a larger ProtBERT-based model’과 ‘smaller transformer model’ 두 가지 접근방식을 사용했다.
Results and Discussion
Transformer model의 attention을 통해서 Collagen 분자의 특성을 예측하였다. NLP 모델에서는 문장에서 특정 단어의 맥락을 파악하는 것이 목표인데, 이 모델에서는 단백질 배열(protein sequence, 문장에 해당)에서 아미노산(amino acid, 단어에 해당)의 맥락을 파악하여 최종적으로 녹는점을 예측한다.
Model structure
모델 구조에 대한 삽화를 그대로 가져오면 좋겠지만 저작권 상, 마음대로 사용할 수 없어서 아쉬웠다. 논문 링크를 참고하길 바란다. (다음에 시간이 되면 모델을 그려서 이미지로 올려볼 예정…)
Results
——– | small transformer model | ProtBert Conv head, and finetuning |
---|---|---|
R^2 accuracy(train/test/validation) | 0.88/0.84/0.28 | 0.97/0.79/0.62 |
n_parameters | 108,069 | 423,079,813 |
epochs & convergence | 1,300 | 40 |
Despite relatively small size of this data set, the transformer model accurately predict $ T_{m} $ values of input collagen sequences. 논문 내용 중에서 발췌…
ProtBERT을 사용한 모델에 비해서 0.026%에 해당하는 parameter을 가지고도 충분히 우수한 R^2 정확도를 보였다. epochs은 1,300에 해당하지만, 컴퓨팅 연산 상 1,500 정도까지는 충분히 허용 가능해서 괜찮다고 볼 수 있다. 다만, validation의 R^2는 0.28이라 아쉬웠는데 이는 다음과 같은 원인이 있을 수 있다.
- median에 해당하는 온도는 잘 파악하지만, 양 극단값은 데이터 부족으로 잘 설명하지 못함.
- train_data / val_data의 분포가 다름
- pretraining을 하지 않기 때문에 따르는 한계
Discussion
Transformer model의 장점은 다음과 같다.
- 추가적인 데이터가 생기더라도 model을 갈아엎거나 다시 세울 필요 x (reusability)
- interaction에 대한 길이 제한이 없다. cf) LSTM의 경우 short-range interactions 만 가능
- 물리화학적 원리를 이용한 명시적인 통제(explicit guiding)없이도 정확한 예측 가능하다.
Conclusion
- small transformer model : relatively few parameters. perform well
- ProtBERT-based model : fine-tuning strategy
Applicaions
- 콜라겐 기반 질병의 원인과 과정을 예측, 파악 e.g) osteogenesis imperfecta
- 단백질 관련 과학공학적 문제 해결 (특히 많은 양의 데이터가 없을 때 유용) e.g) design of silk-elastin composites, predict lethality of coronavirus variants given the amino acid composition
Further Study
[] Pytorch-Lightning으로 source 코드 정리하기 [] Backpropagation으로 특정 온도에서의 가능성 있는 amino acid sequences 예측 가능한지 생각해보기. (역순으로 예측 가능한지)