인공지능 & 소프트웨어

알파폴드2: 3차원 단백질 구조 예측을 위한 어텐션 메커니즘

ricardo-gomez-angel-ZUwXnS7K7Ok-unsplash.jpg

Summary

본 기사에서는 알파폴드1와 비교하여 알파폴드2에서 크게 어떤 점들이 개선되었으며 어떤 특징이 있는지 알아보았습니다.

지난 2020년 말, 구글의 자회사 딥마인드는 단백질 구조예측 프로그램인 알파폴드를 발표했습니다. 머신러닝 기술을 활용하여 단백질 구조를 예측하는 알파폴드는 그야말로 엄청난 반향을 불러 일으켰습니다. 이후 딥마인드는 알파폴드의 소스코드를 공개하여 누구나 단백질 구조 예측 데이터베이스를 이용할 수 있도록 했습니다.  

 

알파폴드2의 코드가 공개됨에 따라 많은 연구기관들은 이를 활용하여 더 정교한 단백질 구조를 예측 모델을 만들기도 하고 보다 빠르게 단백질 구조 예측을 하는 등 알파폴드를 다양하게 이용할 수 있게 되었습니다. 알파폴드2와 알파폴드 데이터베이스가 있었기에 단백질 구조에 대한 더 풍부하고 질 높은 연구가 이루어질 수 있었으며 앞으로 이와 관련된 특허 출원도 많이 이루어질 것이라 기대합니다. 

 

이전 기사에서 파이특허는 알파폴드2에서 어떤 새로운 점들을 발견할 수 있을지 예상해 보았습니다. 당시에는 알파폴드2의 정체가 모두 공개되지 않은 상태였기에 알파폴드2에 대한 무수한 추측들로 가득했는데요, 논문이 공개된 후 알아본 알파폴드2는 우리의 예측에서 크게 벗어나지 않는 모습이었습니다. 

 

 

알파폴드의 전반적인 구조 및 개선 사항

 

알파폴드2 시스템은 크게 세 가지 단계로 구분할 수 있습니다. 첫 번째 단계인 전처리 과정에서 알파폴드2는 입력 시퀀스와 시퀀스 정보, 그리고 템플릿 정보와 일치하는 MSA(다중서열정렬) 정보를 MSA representation 및 pair representation에 임베딩 합니다. 이후 두 번째 단계에서는 Evoformer라는 두 개의 트랜스포머로 이루어진 딥러닝 네트워크를 사용하여 MSA 및 pair representation을 업데이트 합니다. 마지막 단계인 구조 모듈에서는 전 단계에서 Evoformer를 통해 만들어진 결과물을 3차원 구조로 변환합니다. 알파폴드2는 이와 같은 과정을 다시 처음부터 반복하여 MSA 정보 및 아미노산 쌍 정보를 개선하고, 결과적으로 단백질 구조 예측을 보다 정확하게 할 수 있게 됩니다.   

 

그렇다면 알파폴드1와 비교하여 알파폴드2에서 크게 어떤 점들이 개선되었으며 어떤 특징이 있는지 좀 더 자세히 알아보겠습니다. 

 

1. MSA 및 템플릿 임베딩: 입력 시퀀스 단계에서 알파폴드는 MSA를 사용하여 유사한 단백질 구조를 찾고 단백질과 아미노산 간 상호 관계를 분석합니다. 알파폴드1과의 가장 큰 차이점은, 알파폴드1은 MSA 통계만 사용했다면, 알파폴드2는 MSA에서 발견한 raw sequence를 임베딩한다는 점 입니다.

 

알파폴드2는 임베딩을 통해 아미노산 간의 연관성에 대한  좀 더 심도있는 이해를 가능하게 합니다. 모든 시퀀스들의 구조를 파악하지 못하더라도 MSA와 연관된 변이를 통해 정보를 얻을 수 있습니다.

 

 

임베딩 과정 중에서 로딩된 MSA 정보를 줄이기 위해, 알파폴드2는 유사한 시퀀스들을 하나의 클러스터로 그룹화하며, 이 때 각각의 클러스터에서  MSA를 구성하기 위한 대표(representative)가 선택됩니다(msa_feat). 선택된 대표는 클러스터의 특징들로 임베딩되기 때문에 모든 시퀀스들은 최종 판단에 기여하게 되며 정확도를 높일 수 있습니다. 

 

 또한, 알파폴드2는 residue 간의 거리를 나타내는 pair representation을 임베딩합니다. 이는 알파폴드1의 디스토그램과 비교해볼 수 있는데요, pair representation은 non-clustered MSA 정보와 상응하는 추가 MSA presentation 임베딩(extra_msa_feat) 및 입력 시퀀스 정보로 업데이트 됩니다.

 

2. 그래프와 어텐션의 중요성: 알파폴드1은 3차원 구조를 도출하기 위해 MSA로부터 파생된 단백질 구조와 특징들로 트레이닝 되어 아미노산 쌍 간의 거리를 예측하는 CNN라고 정의할 수 있습니다. 그러나 알파폴드1의 CNN은 원거리의 residue 간의 정보는 고려하지 않는 등 시퀀스에 포함된 모든 정보를 활용하지는 않습니다. 그러나 이같이 누락된 정보들이 단백질 구조에는 매우 중요한 정보일 수 있습니다. 이와 다르게 어텐션(attention mechanism)은 중요한 요소들을 모두 고려합니다. 

 

알파폴드2의 중요한 요소 중 하나는 바로 이 어텐션 기반의 알고리즘을 사용하는 Evoformer로, 이를 통해 입력 데이터의 상관관계를 파악하도록 합니다. 어텐션 메커니즘을 통해 네트워크들은 좀 더 유연성을 가지게 되어 이웃하지 않은 노드들 간의 상관관계도 파악할 수 있게 됩니다. 이를 통해, 시스템은 각각의 residue 구조를 추정해낼 때 어떤 정보를 취사선택 해야 하는지 학습합니다.

 

 

Evoformer는 어텐션 메커니즘 기반의 48개의 블록으로 구성됩니다. 이 48개 레이어는 MSA representation과 pair representation을 개선하며, 두 섹션 사이에서 흐름을 연결하며 정보를 업데이트 합니다. Pair representation 정보는 그래프로 정렬되며 삼각형 업데이트 형태로 반복적으로 개선됩니다. 

 

MSA representation이 이루어지는 단계에서, 네트워크는 먼저 행 방향(가로 방향) 어텐션을 계산하여 시퀀스의 어떤 아미노산 쌍이 서로 더 관련이 있는지 파악합니다. 아미노산 간의 관계를 업데이트 할 때, 네트워크는 현재의 pair representation에서 직접 계산되는 pair bias 라는 정보를 추가합니다. 이 값을 사용함으로써 네트워크가 어텐션 메커니즘을 더하고 아미노산 쌍의 관계를 좀 더 정확하게 파악할 수 있게 됩니다. 

 

 

그 다음에는 열 방향(세로 방향) 어텐션이 이루어져 어떤 시퀀스가 더 중요도를 갖는지 식별합니다. Alignment column 내의 시퀀스 간 정보를 교환하여 네트워크 첫 번째 시퀀스로부터 기타 다른 시퀀스(다음 단계에서 구조를 예측하게 될 시퀀스)로 3차원 구조에 대한 정보를 전달합니다.  

 

Evoformer 단계에서는 업데이트된 내용을 개선(refine)하기 위한 두 가지 종류의 커뮤니케이션 포인트를 발견할 수 있습니다. 하나는 앞서 설명드린 MSA 업데이트를 돕는 pair representation에서 발견되는 pair bias이며, 다른 하나는 outer product mean으로 MSA representation이 pair representation을 업데이트 할 수 있는 방법을 제공하는 커뮤니케이션 포인트 입니다. 

 

앞서 설명드린 내용과 같이, pair representation을 개선할 때 알파폴드2는 어텐션을 사용하여 residue pair가 서로 어떻게 연관되는지 graph representation으로 확인합니다. 이러한 graph representation은 세 개의 아미노산(노드)과 그에 상응하는 엣지들로 구성됩니다. 

 

여기에서 알파폴드2는 삼각 부등식을 이용하여 아미노산 쌍 간의 거리를 3차원 형태로 구현합니다. Pair representation은 두 개의 다른 노드와 각각의 edge를 바탕으로 residue 간의 거리를 업데이트하는 triangle multiplicative update 라는 과정을 통해 업데이트 됩니다. 

 

이 세 개의 노드들은 triangular self-attention 을 사용하여 업데이트 됩니다. 어텐션은 알고리즘이 추가적인 기하학적, 화학적 제약조건(constraint)을 학습하게 하고, triangular multiplicative update 를 통해 특정 residue subsequence가 불필요한 정보를 고려하지 않도록 합니다. Triangular attention을 이용하여 시퀀스 상에서는 멀리 떨어진 residue 들도 3차원으로 구현했을 때는 근거리에 있을 수 있다는 것입니다.


3. 적응계산시간(Adaptive Computation Time): ACT는 순환신경망(RNN, Recurrent Neural Network)이 입력된 내용을 몇 번 반복하여 평가해야 하는지 학습할 수 있도록 하는 메커니즘을 의미합니다. 딥 네트워크에서는 ACT가 수월하게 이루어질 수도 있겠으나, 보다 비용 효율적인 계산 과정이 이루어질 수 있다면 가장 이상적일 것입니다. 알파폴드2의 경우에는 적응시간을 IPA(invariant point attention)을 통해 계산합니다. 

 

IPA 모듈은 최종 3차원 구조를 만들기 위해 각각의 독립적인 아미노산의 이동과 회전에 대한 불변성으로부터 구현됩니다.   

 

IPA는 3차원 구조 구현을 위해 특별히 고안된 새로운 유형의 어텐션 입니다. 모델에 equivariance property (등변성)을 임베딩함으로써, 네트워크는 글로벌 프레임을 로테이션하는 것이 예측을 하는 데에 중요한 부분이 아님을 학습하게 됩니다. IPA에서는 네트워크가 등변성을 학습하지 않아도 되기 때문에, 각 트레이닝 사이클에서 최대의 정보를 추출하는 데에 집중합니다. 결과적으로 적절한 폴딩을 찾는 데에 네트워크가 계산하는 모델의 수를 줄일 수 있게 됩니다. 

 

 

4. 단대단 예측(end-to-end prediction): 알파폴드 논문의 제 1 저자인 존 점퍼 박사와 연구팀은 알파폴드2를 end-to-end 로 트레이닝하여 단백질 모델들을 끊임없이 개선시키도록 했음을 강조한 바 있습니다. 알파폴드2 시스템은 Evoformer의 모든 결과물과 구조 모델(예: MSA, pair representations, predicted structure)을 더 이상 개선이 이루어지지 않을 때까지 계속해서 첫 번째 단계로 다시 보내는 과정을 반복했습니다. 네트워크 전체에서 이루어지는 이러한 지속적 개선(또는 “재활용”) 과정을 통해 아미노산 쌍 간에 연결이 끊기지 않도록 막거나 이전 알파폴드1 모델의 3차원 구조를 개선할 수 있었습니다. 

 

알파폴드 데이터베이스의 공개 덕분에 제약 분야를 비롯한 다양한 영역에서 더 빠르고 정확한 단백질 예측이 가능해지고 있습니다. 이번 아티클에서는 알파폴드2의 특징들과 기타 단백질 예측 프로그램 및 기존의 알파폴드와의 차이점들을 알아보았습니다. 가장 놀라운 점은 알파폴드2의 탄생에 기여한 수많은 특징들이 다른 네트워크에도 도입되었으며 이제 다양한 문제들을 해결하는 데에 활용될 수 있을 것이라는 점 입니다. 가까운 미래에 위에 언급된 아이디어들을 적용한 보다 진화한 인공지능 기구들이 탄생하여 이보다 더 놀라운 결과물들을 도출할 수 있기를 바랍니다. 

인공지능 & 로보틱스특허구글(Google)분석시리즈의료·건강

저자 및 공동저자

"질문이 있으세요?"

"질문이 있으세요?"