728x90

 CharRNN은 SMILES와 LSTM을 활용한 graph generative model로, 각 character를 하나씩 generate하는 모델이다. 이번 글에서는 CharRNN이 무엇인지에 대해 Generating Focused Molecule Libraries for Drug Discovery with Recurrent Neural Networks 논문을 리뷰하면서 알아보겠다.

Motivation

 이 논문의 motivation은 아주 간단하다. NLP, image 등 다양한 분야에서 recurrent neural network (RNN)이 아주 잘 작동했기 때문에 이를 그래프에도 작동하면 잘 되지 않을까? 라는 생각에서 시작했다. 그래프에 RNN을 적용하기 위해서는 그래프가 sequence 형태로 표현되어야 했고, 이를 위해 SMILES를 사용하였다.

SMILES 표현의 예시

Method

 이 논문의 method 또한 아주 간단하다. 블로그 글로 써도 되는지에 대한 약간의 의문이 드는 정도.. 그래도 설명하면, CharRNN은 SMILES와 RNN을 활용하여 각 character를 하나씩 generate하는 모델이다. 이 논문에서는 RNN 중에서도 LSTM을 사용헀다. 이의 과정을 그림으로 표현하면 다음과 같다.

CharRNN의 generation 과정

 즉, 맨 처음에 하나의 character로부터 시작해서 해당 위치가 각 character가 될 확률을 y라는 output으로 도출하고, 이를 활용해서 다음 차례의 character인 $s_{t+1}$을 만들어낸다. 그리고 이 $s_{t+1}$을 $x_{t+1}$라는 input vector로 다시 만들어서 이것과 이전 state의 hidden vector $h_t$를 다음 state의 input으로 활용하는 구조이다. 결과적으로, $h_t$라는 state vector는 현재까지 generate된 모든 character들의 representation을 담고 있는 것이다. 아주 간단한 RNN 구조이다.

 이를 식으로 표현하면 다음과 같다.

CharRNN의 구조

Transfer learning

 이 논문에서는 transfer learning도 활용하였다. Transfer learning은 큰 데이터셋에 대해서 먼저 학습(pre-training)을 해서 general한 information을 먼저 모델에 학습을 시켜 이를 초깃값으로 하고, 이를 다시 작은 데이터셋에 대해 학습(fine-tuning)함으로써 specific한 information을 학습하는 과정이다. 이 논문에서는 엄청 많은 분자들이 포함된 데이터셋에 대해서 모델을 먼저 학습하고, 어떤 항원에 대해 반응하는지 등의 특정 특성을 학습하는 방법을 통해서 generative model이 general feature와 target feature를 동시에 학습할 수 있도록 하였다.

Target prediction

 또한 이 논문에서는 genarete된 molecule들이 우리가 원하는 property를 가지고 있는지를 분석하기 위해서 target prediction을 하고, 원하는 property를 가지지 않는다면 filtering하는 방법을 선택했다. 이 논문에서는 gradient boosting tree (GBT), random forest 등 간단한 머신러닝 방법론들을 활용했다. 

 결과적으로, CharRNN은 다음과 같은 de novo drug design cycle을 가진다.

CharRNN의 de novo drug design cycle

Experiment

 이러한 간단한 구조의 CharRNN은 굉장히 직관적인 구조에도 불구하고 아직까지도 꽤나 작동을 잘하고 있다. 그 결과를 뒷받침하는 몇 가지 실험을 살펴보겠다.

 우선, CharRNN은 다음과 같이 학습한 molecule의 분포와 꽤나 비슷한 generated molecule들의 분포를 보였다. 이는 CharRNN이 training dataset의 특성을 잘 학습했음을 뒷받침한다.

ChEMBL이 training dataset. Generated가 generate된 dataset.

 다음으로, transfer learning을 통해서 loss를 굉장히 효율적으로 줄여나가는 학습 과정을 보이기도 했다. 그 결과는 다음과 같다.

초록색(transfer learning)의 loss가 파란색(transfer learning 없는 것)보다 훨씬 낮음

 

 이번 글에서는 정말 기본적인 graph generation 방법인 CharRNN에 대해 알아보았다. 그래프 글보다는 머신러닝 글이 조회수가 압도적으로 잘 나오지만.. 언젠가 그래프가 세상을 지배할 때를 대비해서..

 

References

Segler, M. H., Kogej, T., Tyrchan, C., & Waller, M. P. (2018). Generating focused molecule libraries for drug discovery with recurrent neural networks. ACS central science, 4(1), 120-131.

300x250
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기