AlphaFold2 톺아보기 - (2) 개요

AlphaFold2에 대한 설명과 단상

본 포스트에서는 AlphaFold2의 핵심 아이디어와, 그 아이디어를 딥 러닝 모델에 어떻게 녹여내었는지를 개괄적으로 설명합니다. 딥 러닝 모델의 구현을 비롯한 보다 자세한 내용은 추후 게시될 포스트들에서 다루고자 하며, 여기서는 큰 흐름을 먼저 다루어 전체적인 이해를 돕고자 합니다. 이후 다룰 복잡한 내용들에 매몰되어 헤메거나 막힐 때마다, 다시금 모델의 전체적인 그림을 보고 큰 흐름을 잡는 길잡이로서 이 글이 활용되었으면 좋겠습니다.

AlphaFold2를 아주 간단히 설명하자면…

개인적으로, AlphaFold2 모델의 핵심 딥 러닝 기술 중 가장 중요한 하나를 꼽아야 한다면 단연

Attention


이라고 생각합니다. 그 본질을 좀 더 길게 한 구절로 설명하자면

Self-attention 연산을 이용하여 개별 아미노산 잔기와,
나아가 두 잔기 사이의 관계를 나타내는 표현을 반복적으로 갱신


하는 것으로 생각해볼 수 있습니다. 사실 이러한 어텐션(Attention) 메커니즘은 그것이 처음 제안된 논문의 제목이 ‘Attention is all you need’일 정도로 매우 도발적인

다음 한 문장으로 설명할 수 있다고 생각합니다.

아미노산 잔기(residue)들의 공진화(co-evolution), 잔기쌍(residue pair)의 feature 및 두 요소 간의 상호작용을 딥 러닝 모델에 접목시켜 단백질 구조를 예측하기 위해서 self-attention과 이를 변형한 연산들을 훌륭하게 디자인 및 구현하여 활용한 모델.

AlphaFold2 모델 개요.

AlphaFold2를 구성하는 4가지 요소.

AlphaFold2는 크게 (1) 입력 임베딩(Input embedding), (2) Evoformer block, (3) 구조 모듈(Structure module), 그리고 (4) 재활용(Recycling)의 4가지 요소로 구성됩니다. 여기서는 각 요소를 어떤 이유에서 모델에 사용하였는지, 그 동기를 생각해보고 각각을 간단히 설명하고자 합니다.

1. 입력 임베딩(Input embedding).

왜 사용하는가?

아미노산 서열 데이터베이스와 이미 알려진 단백질 구조 정보 데이터베이스의 도움을 받아서, 입력 아미노산 서열에 대한 적절한 입력 임베딩 혹은 입력 표현(input representation) 들을 구성합니다.

개요.

2. Evoformer blocks.

왜 사용하는가?

Evoformer block은 AlphaFold2에서 제안된 특별한 딥 러닝 연산 모듈로서, 이름에서 암시하는 바와 같이 진화적인 관계(Evolution)과 최근 각광받고 있는 딥러닝 연산 모듈인 트랜스포머(Transformer)

개요.

3. 구조 모듈(Structure module).

왜 사용하는가?

개요.

4. 재활용(Recycling).

왜 사용하는가?

개요.

저자들이 제안하는 AlphaFold2 모델의 특이사항