이 요약은 AI가 원문을 분석해 생성했습니다. 정확한 내용은 원문 기준으로 확인하세요.
핵심 요약
단백질의 3차원 구조를 그래프로 모델링하고, ESM-2의 강력한 임베딩을 노드 피처로 활용하여 물리 기반 모델들과 앙상블하는 것이 우승의 핵심이었다.
배경
Novozymes 효소 안정성 예측 경진대회는 수천 개의 효소 변이체에 대한 실험적 융점(Tm) 데이터를 바탕으로 열안정성을 예측하는 과제였다.
대상 독자
데이터 과학자, 생물정보학 연구자, 단백질 공학에 관심 있는 ML 엔지니어
의미 / 영향
이 솔루션은 단백질 공학에서 GNN과 LLM 임베딩의 결합이 실험적 데이터를 예측하는 데 매우 강력한 도구임을 보여주었다. 특히 물리적 구조 정보와 진화적 서열 정보를 통합하는 방식은 향후 산업용 효소 설계 및 신약 개발의 효율성을 크게 높일 것이다.
챕터별 상세
00:00
팀 소개 및 배경
Novozymes 팀과 우승자인 Eggplanck(Daisuke Iijima)가 인사를 나눴다. Eggplanck는 교토 대학교에서 입자 물리학을 전공했으며, 인턴 과정에서 그래프 신경망(GNN)을 연구하며 단백질 데이터셋에 관심을 갖게 되었다. 단백질 데이터셋이 GNN의 벤치마크로 자주 사용된다는 점에 착안하여 이번 경진대회에 참여했다.
- •우승자 Eggplanck는 물리학 전공자이며 GNN 연구 인턴 경험 보유
- •단백질 데이터셋이 GNN의 주요 벤치마크라는 점이 참여 동기
05:10
단백질 구조의 그래프 변환
PDB 파일에 포함된 단백질의 3차원 구조 정보를 그래프 형태로 변환했다. 각 아미노산 잔기(Residue)를 노드로 설정하고, 두 잔기 사이의 거리가 6Å(옹스트롬) 이내인 경우 엣지로 연결했다. 이를 통해 단백질의 물리적 근접성을 반영하는 그래프 구조를 생성했다.
- •아미노산 잔기를 노드로, 6Å 이내 거리를 엣지로 정의
- •PDB 파일의 3D 좌표 정보를 그래프 인접 행렬로 변환
07:00
노드 피처 엔지니어링: ESM-2 활용
GNN의 입력값인 노드 피처로 ESM-2 모델에서 추출한 임베딩 벡터를 사용했다. 단백질 서열 정보를 ESM-2에 입력하여 생성된 벡터와 각 아미노산의 물리화학적 특성을 결합했다. 야생형(Wild-type)과 변이형(Mutant) 서열 모두에 대해 임베딩을 수행하여 변화를 포착했다.
- •ESM-2 임베딩 벡터를 주요 노드 피처로 채택
- •아미노산의 물리화학적 특성 데이터를 추가 피처로 결합
07:30
GNN 모델 아키텍처: GIN
3개 계층으로 구성된 GIN(Graph Isomorphism Network) 아키텍처를 구축했다. 각 계층에서 메시지 패싱과 집계(Aggregation)를 수행하며, 각 층의 중간 표현값을 연결(Concatenate)하여 최종 출력을 생성했다. Deep Graph Library(DGL)를 사용하여 모델을 구현했으며 전체 학습 시간은 약 56분이 소요됐다.
- •3-layer GIN 아키텍처를 통한 그래프 구조 학습
- •DGL 라이브러리를 활용한 효율적인 모델 구현
09:30
앙상블 전략 및 버그의 역설
GNN 모델 단독 점수보다 Rosetta, Thermonet v2, RMSD 등 공공 리더보드에서 성능이 검증된 모델들과의 앙상블을 통해 최종 성능을 높였다. 흥미롭게도 제출된 GNN 모델에는 미니배치 내 샘플들이 거의 동일한 예측값을 출력하는 버그가 있었으나, 이것이 오히려 모델의 로버스트함(Robustness)을 높여 우승에 기여했다. 변이가 일어난 위치의 정보가 누락되었음에도 불구하고 구조적 특징만으로도 높은 성능을 기록했다.
- •Rosetta 등 물리 기반 모델과의 랭킹 기반 앙상블 수행
- •모델 내 버그가 역설적으로 일반화 성능 향상에 기여
python
import dgl
import torch
import torch.nn as nn
from dgl.nn import GINConv
class GINModel(nn.Module):
def __init__(self, in_dim, hidden_dim, out_dim):
super().__init__()
self.conv1 = GINConv(nn.Linear(in_dim, hidden_dim), 'sum')
self.conv2 = GINConv(nn.Linear(hidden_dim, hidden_dim), 'sum')
self.conv3 = GINConv(nn.Linear(hidden_dim, hidden_dim), 'sum')
self.mlp = nn.Sequential(
nn.Linear(hidden_dim * 3, hidden_dim),
nn.ReLU(),
nn.Linear(hidden_dim, out_dim)
)
def forward(self, g, h):
h1 = torch.relu(self.conv1(g, h))
h2 = torch.relu(self.conv2(g, h1))
h3 = torch.relu(self.conv3(g, h2))
# Concatenate intermediate representations
h_combined = torch.cat([h1, h2, h3], dim=1)
g.ndata['h'] = h_combined
return self.mlp(dgl.readout_nodes(g, 'h', op='sum'))DGL 라이브러리를 사용하여 구현한 3계층 GIN(Graph Isomorphism Network) 모델의 기본 구조
11:00
중심성(Centrality)과 안정성의 상관관계
변이가 발생한 노드의 정보 중심성(Information Centrality)과 열안정성 변화(dTm) 사이에 상관관계가 있음을 발견했다. 단백질 구조의 중심부에 위치한 아미노산의 변이가 안정성에 더 큰 영향을 미친다는 사실을 데이터로 확인했다. 중심성의 역수(Inverse)만으로도 리더보드에서 상당한 점수를 기록할 수 있었다.
- •노드 중심성과 효소 안정성 변화 사이의 유의미한 상관관계 확인
- •중심성 지표가 단백질 안정성 예측의 강력한 피처임을 입증
실무 Takeaway
- 단백질 구조를 그래프로 변환할 때 6Å 임계값을 사용하여 물리적 상호작용 범위를 정의하는 것이 효과적이다.
- ESM-2와 같은 대규모 언어 모델의 임베딩을 GNN의 노드 피처로 사용하면 서열과 구조 정보를 동시에 활용할 수 있어 성능이 극대화된다.
- 단일 딥러닝 모델에 의존하기보다 Rosetta와 같은 전통적인 물리 기반 시뮬레이션 결과와 앙상블하는 것이 경진대회 우승의 핵심 전략이다.
- 변이 위치의 네트워크 중심성(Centrality) 분석을 통해 단백질 안정성에 결정적인 부위를 사전에 식별할 수 있다.
언급된 리소스
AI 분석 전체 내용 보기
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
원문 발행 2026. 02. 25.수집 2026. 02. 25.출처 타입 YOUTUBE
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.