AI바라기의 인공지능
단백질 : 논문 리뷰 : FoldToken: Learning Protein Language via Vector Quantization and Beyond 본문
단백질 : 논문 리뷰 : FoldToken: Learning Protein Language via Vector Quantization and Beyond
AI바라기 2025. 4. 9. 15:32쉬운 설명:
이 논문은 단백질의 서열(글자)과 3D 구조(모양) 정보를 하나로 합쳐 '단백질 언어'라는 새로운 **discrete code (디지털 부호)**를 만드는 FoldTokenizer를 제안합니다. 마치 영어 단어가 의미를 나타내듯, 이 FoldToken 하나하나가 서열과 구조 정보를 함께 담고 있습니다. 핵심 기술인 SoftCVQ는 이 코드를 만들 때, (1) 구조 정보를 최대한 잘 복원하면서도 (SoftVQ 장점: soft global querying), (2) 생성 모델(FoldGPT)이 이 코드를 쉽게 배우고 생성할 수 있도록 (LFQ/SoftGVQ 장점: binary ID 사용) 균형을 맞춘 똑똑한 양자화 (quantization) 방법입니다. 이렇게 만들어진 '단백질 언어' 덕분에, ChatGPT 같은 언어 모델 (FoldGPT)을 이용해 단백질의 서열과 구조를 **동시에 설계하거나 빈 곳을 채워 넣는 작업(inpainting)**을 할 수 있게 됩니다.
FoldToken 학습 노트
Purpose of the Paper:
- 단백질 서열 (discrete sequence)과 구조 (continuous 3D points) 간의 modality gap 문제를 해결하고자 함. 기존 방식들은 sequence는 Transformer, structure는 GNN 등 다른 모델 구조를 사용해야 했음.
- 기존 구조 표현 방식인 folding angle sequence는 continuous 값이라 discrete symbol 기반의 강력한 NLP 모델 (e.g., GPT) 적용에 한계가 있었음.
- 단백질 서열과 구조 정보를 동시에 표현하는 **새로운 discrete "protein language" (FoldToken)**를 만들고, 이를 통해 sequence-structure 통합 모델링 및 생성을 목표함. 기존 Vision 분야의 discrete representation 학습 (VQ-VAE 등)에서 영감을 받음.
- Discrete code로부터 고품질의 3D 구조를 복원하기 위한 새로운 Vector Quantization (VQ) 방법 (SoftCVQ) 개발의 필요성을 제기함. 기존 VQ 방식들 (VVQ, LFQ)의 한계를 분석하고 극복하고자 함.
Key Contributions:
- FoldTokenizer 제안: 단백질 sequence와 structure 정보를 joint discrete space로 projection하여 FoldToken이라는 새로운 discrete symbol을 학습하는 모델. 정보 손실을 최소화하기 위해 reconstruction loss로 학습됨.
- FoldGPT 개발: 학습된 FoldToken sequence를 활용하여 단백질 sequence-structure co-generation을 수행하는 최초의 GPT-style autoregressive 모델. General backbone inpainting 및 antibody design task에 적용.
- SoftCVQ (Soft Conditional Vector Quantization) 개발: 기존 VQ 방식들의 한계(reconstruction 품질 저하, generation 어려움 등)를 극복하기 위해 제안된 향상된 VQ module. Reconstruction과 generation 성능 간의 trade-off를 효과적으로 해결.
Novelty:
- 단백질 sequence와 structure라는 서로 다른 modality를 하나의 unified discrete language (FoldToken)로 통합한 최초의 시도.
- 단백질 분야에서 sequence-structure 정보를 동시에 다루는 **autoregressive GPT-style 생성 모델 (FoldGPT)**을 구현.
- SoftCVQ: Reconstruction 성능 향상을 위한 soft global querying (SoftVQ 아이디어)과 generation 안정성 및 효율성을 위한 conditional codebook vector generation + binary VQ-ID (SoftGVQ/LFQ 아이디어)를 결합하여, protein domain에 특화된 VQ 성능 균형점을 찾은 독창적인 VQ 방법론.
Experimental Highlights:
- Reconstruction (Q1, CATH4.3 test set):
- SoftCVQ와 SoftVQ는 VVQ, LFQ 대비 월등한 구조 복원 성능을 보임 (TMScore ≈ 0.75 vs < 0.5, Success Rate ≈ 95% vs < 30%). Soft querying이 핵심임을 시사.
- FoldTokenizer (SoftCVQ 사용 시)는 CATH4.3 dataset (2.7GB PDB)을 18MB의 discrete FoldToken sequence로 효과적으로 압축 가능함을 보임.
- Backbone Inpainting (Q2, CATH4.3):
- FoldGPT는 sequence inpainting에서 baseline (ESM2, EvoDiff) 대비 우수한 성능을 보임.
- Structure inpainting에서는 다른 angle-based 방법들 (FoldingDiff, DiffSDS)보다 뛰어난 성능을 달성 (TMScore 28.9 vs 23.5, 25.6). (단, coordinate-based 방법들이 여전히 더 우수함)
- Antibody Design (Q3, SAbDab):
- FoldGPT는 antibody-only setting에서 더 많은 원자 정보를 사용하는 baseline (LSTM, RefineGNN) 보다 우수한 CDR design 성능 (AAR, RMSD)을 보이며 가능성을 입증.
- FoldGPT 학습 안정성을 위해 SoftCVQ의 binary VQ-ID가 필수적임을 실험적으로 확인 (Fig. 4).
- VQ Method Comparison: VVQ, LFQ, SoftVQ, SoftGVQ, SoftCVQ 간의 장단점을 명확히 비교 분석하고 SoftCVQ의 우수성을 입증 (Table 1, Table 2).
Limitations and Future Work:
- Angle-based Representation 한계: 현재 FoldGPT는 angle 기반 구조 표현을 사용하므로, 복잡한 3D 상호작용 (e.g., antibody-antigen interaction) 모델링이 어렵고 coordinate-based 방법 대비 오차 누적에 취약할 수 있음.
- Coordinate-based 모델과의 성능 격차: Structure generation 성능 면에서 최신 coordinate-based diffusion 모델 (e.g., RFDiffusion)에는 아직 미치지 못함.
- Antibody Design 한계: 현재 구현은 Cα atom만 고려하며 antigen 등 다른 중요한 원자 정보를 활용하지 못함.
- Future Work:
- FoldToken과 FoldGPT를 coordinate-based representation으로 확장하여 3D 정보를 더 정밀하게 모델링.
- Antibody design 시 antigen 정보 및 full atom context를 통합.
- 학습된 'protein language'를 generation 외 다른 predictive task (e.g., function prediction)에도 적용.
- SoftCVQ를 단백질 외 다른 domain (CV, NLP, Graph)에 적용.
Overall Summary:
이 논문은 FoldTokenizer와 개선된 SoftCVQ를 통해 단백질 서열과 구조를 통합하는 새로운 **discrete protein language (FoldToken)**를 제안합니다. 이를 기반으로 최초의 **GPT-style sequence-structure co-generation 모델 (FoldGPT)**을 개발하여, backbone inpainting과 antibody design에서 기존 angle-based 방법 대비 우수한 성능을 보여주었습니다. 핵심 기술인 SoftCVQ는 reconstruction과 generation 성능의 균형을 맞춘 중요한 VQ 기여이며, 이 연구는 향후 단백질 연구에 NLP 기술을 접목할 새로운 가능성을 열었습니다. 다만 현재 angle-based 표현의 한계점 극복은 향후 과제입니다.
Abstract
protein sequences와 structures를 동시에 기술하는 외부 언어가 존재하는가? continuous 3D points로 표현되는 Protein structures는 discrete sequences의 대조적인 modeling paradigms 때문에 오랫동안 어려움이 제기되어 왔다.
우리는 protein sequence-structure를 discrete symbols로 표현하기 위해 FoldTokenizer를 소개한다. 이 혁신적인 approach는 information preservation을 위한 reconstruction loss에 의해 유도되어 residue types와 structures를 discrete space로 projecting하는 것을 포함한다.
우리는 learned discrete symbols를 FoldToken이라고 부르며, FoldTokens의 sequence는 protein sequence-structure를 unified modality로 변환하면서 새로운 protein language로서 기능한다.
우리는 생성된 protein language를 general backbone inpainting 및 antibody design tasks에 적용하여, sequence-structure co-generation을 위한 첫 번째 GPT-style model(FoldGPT)을 구축하고 promising results를 보인다. 우리 success의 핵심은 vector quantization module인 Soft Conditional Vector Quantization (SoftCVQ)의 상당한 enhancement이다.
1. Introduction
Sequence와 structure modeling은 mutation prediction, sequence design, function prediction을 포함한 protein applications에서 중요한 역할을 합니다. 그러나 sequence와 structure 간의 modality gap은 일반적으로 서로 다른 model architectures를 필요로 합니다. 즉, sequence learners는 일반적으로 transformers를 기반으로 하는 반면, structure learners는 대개 graph neural networks (GNNs)를 기반으로 합니다. modality-specific models에서 오는 constraints, 특히 GNNs에 필요한 structure prior는 modeling flexibility를 제한하고 GPT와 같은 최근의 진보를 protein tasks에 적용하는 것을 방해합니다. image를 sequence of patches (image foreign language)로 변환하는 ViT에 Transformer를 적용한 success를 고려할 때, protein foreign language를 통해 sequence와 structure modalities를 unify할 방법이 있는지 궁금합니다.
최근 연구는 structure to sequence transformation에서 가능성을 보여줍니다. IG-VAE와 FoldingDiff는 protein structures를 sequences of folding angles로 변환할 것을 제안하며, unconditional protein backbone generation에서 큰 잠재력을 보여줍니다. DiffSDS는 conditional 및 constrained backbone inpainting 시나리오에서 이 방법을 확장합니다. 이러한 방법들은 3D coordinates를 angle sequence로 단순화하여, advanced transformers가 structural modeling에 적용될 수 있도록 합니다. 그러나 continuous angles는 human language와 달리 discrete symbols로 modeling하기 어려워, regression loss로 trained된 models이 일반적으로 classification loss로 trained된 models보다 성능이 낮은 auto-regressive generation에서 language transformers를 방해합니다. protein 연구와 NLP를 연결하는 discrete protein language를 구축하는 것은 여전히 해결되지 않은 과제입니다.
discrete vision language 학습에서 영감을 받아, 우리는 sequence와 structure를 동시에 기술하는 새로운 protein foreign language, 즉 protein language를 생성합니다. key idea는 FoldTokenizer를 통해 sequence와 structure를 joint discrete space로 project한 다음, discrete codes의 sequence가 sequence와 structure modalities를 unify하는 새로운 protein language로 기능할 수 있다는 것입니다. 생성된 protein language가 original sequence-structure와 informationally equivalent함을 보장하기 위해, 우리는 reconstruction loss를 통해 FoldTokenizer를 train합니다. 일단 protein language가 학습되면, generative 및 predictive downstream tasks에 사용될 수 있습니다. 공간과 노력의 제약으로 인해, 이 논문은 generative tasks에 초점을 맞춥니다.
protein language로부터 structures를 Recovering하는 것은 non-trivial challenge이며, 새로운 VQ methods의 개발을 필요로 합니다. vanilla VQ (VVQ)와 최근의 lookup-free VQ (LFQ)를 평가한 후, 우리는 이들이 sequence에서는 능숙하지만 structure reconstruction에서는 suboptimal하다는 것을 밝혀냈습니다. 우리는 이들의 limitations와 strengths를 systemically analyzed하고, 개선을 위한 targeted strategies를 제안합니다. high-quality reconstruction의 핵심은 전체 codebook space에 걸친 soft querying입니다. LFQ는 reconstruction과 generation tasks 간의 trade-off를 확인했습니다 - reconstruction에서 뛰어난 models은 downstream tasks에서 underperform할 수 있습니다. 우리는 이 phenomenon이 존재하는 이유를 추가로 analyze하고, 이 challenge를 극복하기 위한 improved VQ method를 제안합니다. 제안된 SoftCVQ method는 처음으로 protein reconstruction과 generation tasks 모두에서 good performance를 달성하며, prior approaches에서 보였던 limitations를 효과적으로 해결합니다.
우리는 우리 model을 reconstruction 및 generative tasks 모두에서 assess합니다. 우리의 findings는 제안된 SoftCVQ method가 기존 VQ methods를 surpassing하며 reconstruction quality에서 상당한 enhancement를 보여준다는 것을 밝힙니다. learned protein language를 Leveraging하여, 우리는 pioneering autoregressive sequence-structure co-generation model인 FoldGPT를 소개합니다. 놀랍게도, FoldGPT는 sequences of continual angles에 의존하는 comparable methods를 outperforms하며, discretization의 value에 대한 추가적인 confirmation을 제공합니다. 우리의 evaluation은 FoldGPT의 antibody design ability까지 확장되며, 여기서 동일한 범주의 previous methods를 surpasses합니다.
AI 연구자를 위한 Introduction 섹션 정리 노트
- 핵심 문제: Protein sequence (discrete)와 structure (continuous 3D)를 통합적으로 modeling하는 것의 어려움. 기존 방식은 modality별 (transformers vs. GNNs) 다른 architecture를 요구하여 GPT와 같은 unified model 적용을 제한함.
- 기존 접근법의 한계: Structure를 folding angles sequence로 변환하는 방법 (IG-VAE, FoldingDiff 등)은 transformers 사용을 가능하게 했으나, continuous angles는 discrete symbols로 modeling하기 어려워 language model 기반 auto-regressive generation에 불리함 (classification loss 대비 regression loss의 비효율성). Discrete protein language 부재.
- 제안된 핵심 아이디어: Discrete vision language에서 영감을 받아, sequence와 structure 정보를 동시에 joint discrete space로 project하는 FoldTokenizer를 제안. 이로부터 생성된 discrete codes의 sequence를 새로운 protein language로 정의하여 두 modality를 unify함. Information preservation을 위해 reconstruction loss로 FoldTokenizer를 train함.
- 주요 기술적 기여 (VQ): Discrete protein language로부터 structure를 recovering하는 것이 challenge. 기존 VQ (VVQ, LFQ)는 sequence 복원에는 능숙하나 structure reconstruction 성능이 suboptimal하며, reconstruction과 generation task 간 trade-off (LFQ) 존재. 이를 해결하기 위해 soft querying 기반의 새로운 VQ 방법인 SoftCVQ를 제안. SoftCVQ는 protein reconstruction과 generation tasks 모두에서 good performance를 달성하여 기존 VQ의 limitations 극복.
- 구현 및 결과 예고: 학습된 protein language를 활용하여 최초의 autoregressive sequence-structure co-generation model인 FoldGPT를 구축. FoldGPT가 continuous angle sequence 기반 방법들보다 우수한 성능을 보이며 (antibody design 포함), discretization 접근법의 유효성을 입증할 것임을 시사.
쉬운 설명 :
Imagine 단백질(protein)은 레고 블록 설명서(sequence, 글자 순서)와 완성된 레고 모양(structure, 3D 형태) 두 가지 정보를 다 가지고 있어요. 이 둘을 동시에 이해하고 새로운 레고(단백질)를 디자인하는 건 어려워요. 왜냐하면 설명서(글자)를 읽는 방식과 3D 모양을 이해하는 방식이 달라서, 보통 별개의 도구(모델)를 써야 했거든요. 이러면 GPT처럼 글 쓰는 데 강력한 도구를 단백질 전체에 쓰기 어려웠죠.
이 논문의 아이디어는: 단백질의 설명서(sequence) 정보와 3D 모양(structure) 정보를 한꺼번에 번역해서, 마치 새로운 '단백질 언어'(protein language)처럼 만드는 거예요. FoldTokenizer라는 번역기를 써서 이 두 정보를 합쳐 일련의 '코드 단어'(discrete codes)로 바꿔줍니다. 이렇게 하면 단백질 정보가 글자처럼 다루기 쉬운 형태로 통합돼요.
중요한 기술: 그런데 이 '코드 단어'만 보고 원래의 복잡한 3D 모양(structure)을 정확히 복원하는 게 꽤 어려워요. 기존 방법들은 이걸 잘 못하거나, 복원은 잘해도 새로운 단백질 생성(generation)에는 약한 문제가 있었어요. 그래서 이 논문에서는 SoftCVQ라는 새로운 기술을 개발해서, 3D 모양 복원도 잘하고 새로운 단백질 디자인(generation)도 잘하게 만들었어요.
결론적으로: 이 새로운 '단백질 언어'와 SoftCVQ 기술을 이용해서, FoldGPT라는 모델을 만들었어요. 이 모델은 단백질의 설명서(sequence)와 3D 모양(structure)을 한 번에 이어서 생성할 수 있는 최초의 모델 중 하나예요. 실험해보니 기존 방식들보다 성능이 좋았고, 특히 항체 디자인(antibody design) 같은 작업에서도 더 뛰어났다고 해요. 즉, 단백질 정보를 '코드 단어'처럼 바꾸는 방식이 효과적이라는 걸 보여줍니다.
2. Related Work
Protein Sequence-Structure Co-modeling
Protein Sequence-Structure Co-modeling은 joint representations를 만들고 sequences와 structures의 simultaneous generation을 가능하게 하는 것을 목표로 하는 vibrant area of research로 부상했습니다. Co-representation techniques는 pretrained sequence models과 protein structures에 대해 pretrained된 graph neural networks를 integrate합니다. 이러한 fused embeddings는 binding affinity 및 stability prediction과 같은 predictive tasks에서 applications를 찾습니다. Co-design techniques는 sequence generative models과 structure generative models 사이에 connections를 설정하여 처음부터 novel sequences와 structures를 generate합니다. 이러한 approaches는 sequences와 structures가 complementary information을 포함하고 있음을 강조하며, protein folding과 inverse-folding의 양 측면과 관련된 challenges를 해결하기 위해 co-modeling methods의 추가적인 발전 필요성을 강조합니다. co-modeling의 주목할 만한 application은 antibody design입니다.
Angle-based Structure Representation
local residue coordinate systems에서 파생된 bond angle, torsion angle, bond length와 같은 invariant features는 protein structures의 natural representations 역할을 합니다. 이들은 translation이나 rotation에 영향을 받지 않는 intrinsic geometric properties를 capture하므로 inverse folding 및 antibody design과 같은 tasks에 ideal합니다. transformer의 paradigm에 맞추기 위해, 우리는 structural information을 locally folding angles의 sequence로 encode합니다. Formally, 우리는 Euclidean coordinate x_i를 invariant representation a_i로 transforming하는 f : x_i \rightarrow a_i를 define합니다. 즉, a_i = (r_i, \alpha_i, \beta_i)이며, 여기서 r_i, \alpha_i, \beta_i는 각각 bond length, bond angle, torsion angle입니다. folding angle computation의 details는 Appendix.A에서 illustrate합니다.
AI 연구자를 위한 Related Work 섹션 정리 노트
- Protein Sequence-Structure Co-modeling 현황:
- Joint representation 및 simultaneous generation을 목표로 하는 연구가 활발함.
- Co-representation: Pretrained sequence model과 structure model (주로 GNN)의 embeddings를 fuse하여 predictive tasks (binding affinity 등)에 활용.
- Co-design: 별도의 sequence/structure generative model을 link하여 novel protein 생성.
- 시사점: 기존 연구들은 sequence와 structure 정보가 상호 보완적임을 인지하나, 종종 분리된 model을 통합/연결하는 방식. Antibody design이 주요 application. (본 논문은 이와 달리, 단일 discrete representation (protein language) 기반의 co-generation을 지향)
- Angle-based Structure Representation 현황:
- Protein structure를 local coordinate 기반의 invariant features (주로 bond angle, torsion angle)의 sequence로 표현하는 것이 일반적 (f : x_i \rightarrow a_i, a_i = (r_i, \alpha_i, \beta_i)).
- 장점: Translation/rotation 불변성, transformer paradigm에 적합 (구조를 sequence로 변환). Inverse folding, antibody design 등에 활용됨.
- 본 논문과의 관계: 이것이 structure를 sequence로 나타내는 대표적인 continuous 방식이며, 본 논문에서 제안하는 discrete representation (FoldToken)이 개선하고자 하는 대상임 (특히 autoregressive generation 성능 측면에서).
쉬운 설명 :
이 섹션은 이 논문과 관련된 다른 연구들이 어떤 것들을 해왔는지 살펴보는 부분입니다.
1. 단백질 서열(Sequence)과 구조(Structure) 정보를 함께 다루려는 연구들:
- 사람들이 단백질의 아미노산 서열(글자 순서) 정보와 3D 구조(모양) 정보를 어떻게든 같이 활용하려고 연구해왔어요.
- 어떤 연구(Co-representation)는 서열 분석 모델과 구조 분석 모델을 각각 학습시킨 뒤, 거기서 나온 정보(embedding)를 합쳐서 단백질의 기능(예: 다른 분자와 얼마나 잘 붙는지)을 예측하는 데 썼고요.
- 다른 연구(Co-design)는 서열 생성 모델과 구조 생성 모델을 연결해서, 아예 새로운 서열과 구조를 가진 단백질을 디자인하려고 시도했어요.
- 핵심: 이런 연구들은 서열과 구조 정보가 서로 도움이 된다는 걸 보여주지만, 종종 두 정보를 다루는 모델을 따로 만들어서 합치거나 연결하는 방식을 썼어요. (이 논문은 처음부터 하나로 통합된 '단백질 언어'를 만들려는 점에서 차이가 있죠.) 항체(antibody) 디자인이 이 분야의 주요 목표 중 하나예요.
2. 단백질 구조를 '각도'로 표현하는 연구들:
- 단백질의 3D 구조를 표현하는 한 가지 흔한 방법은 각 아미노산 연결 부위의 '꺾이는 각도'(bond angle, torsion angle 등) 값들을 사용하는 거예요. 복잡한 3D 좌표 대신, a_i = (r_i, \alpha_i, \beta_i)처럼 각도와 거리 값들의 리스트(sequence)로 구조를 나타내는 거죠.
- 왜 이렇게 할까요? 이 각도 값들은 단백질 전체를 돌리거나 움직여도 변하지 않는 고유한 값이고, 구조 정보를 마치 글자처럼 순서대로 나열(sequence)할 수 있어서 transformer 같은 시퀀스 처리 모델을 쓰기 좋기 때문이에요.
- 핵심: 이런 '각도 시퀀스' 방식은 많이 쓰이지만, 이 논문에서는 각도 값이 딱 떨어지는 '단어'가 아니라 연속적인 숫자(continuous)라서 GPT 같은 모델에는 좀 불리하다고 보고, 자신들이 제안하는 'FoldToken'(discrete) 방식이 더 낫다고 주장하려는 배경이 됩니다.
3. Method
**3.1. Overall framework**
Figure 1에서 보듯이, 전체 pipeline은 두 개의 models를 포함합니다: (1) sequence와 structure를 기술하는 discrete protein language를 학습하는 FoldTokenizer (2) protein language를 사용하고 protein sequence-structure를 autoregressively하게 generating하는 NLP-style model인 FoldGPT.
FoldTokenizer는 encoder, quantizer, decoder를 포함하며, residue types와 Cα coordinates를 jointly하게 discrete latent codes로 represent합니다. protein length가 n일 때, sequence와 structure가 각각 S = {si : 1 ≤ i ≤ n}와 A = {ai ∈ R3 : 1 ≤ i ≤ n}로 주어집니다. FoldTokenizer를 다음과 같이 formulate합니다:
```latex
\begin{cases}
h \sim q_{enc}(h|S, A) \\
z = Q(h) \\
\hat{S}, \hat{A} = p_{dec}(S, A|Q^{-1}(z))
\end{cases}
```
encoder `q_{enc}(·)`는 protein sequence와 structure를 continuous latent embedding `h = \{h_1, h_2, \cdots , h_n\} \in R^{n,d}`로 maps하는 transformer-based model입니다. quantizer `Q : h \rightarrow z`는 continual embeddings `h`를 discrete codes `z \in Z^{n,1}`로 converts하며, 이의 reverse operation은 `Q^{-1} : z \rightarrow \hat{h}`입니다. decoding transformer `p_{dec}(·)`는 reversed latent embedding `\hat{h}`로부터 sequence와 structure를 reconstructs합니다.
FoldGPT 우리는 생성된 protein language를 protein inpainting 문제에 apply합니다. masked backbone atoms를 `M = \{(a_i, s_i)\}_{i \in I_m}`으로, known backbone atoms를 `K = \{(a_i, s_i)\}_{i \in I_k}`로 denote합니다. 여기서 `a_i`와 `s_i`는 i번째 Cα atom의 coordinates와 residue type입니다. 여기서 `I_m`과 `I_k`는 각각 unknown 및 known residues의 indices를 denote합니다. protein inpainting의 objective는 `K`에 conditioned된 learnable function `f_{\theta}`를 사용하여 `\hat{M}`을 generate하는 것입니다:
```latex
f_{\theta}: \mathcal{K} \rightarrow \mathcal{M}
```
FoldTokenizer를 사용하여, structure-sequence `\{(a_1, s_1), (a_2, s_2), \cdots , (a_n, s_n)\}`을 discrete codes `{z_1, z_2, \cdots , z_n}`으로 encode합니다. 그 후, `{z_i\}_{i \in I_k}`에 conditioned하여 `{z_i\}_{i \in I_m}`을 mask out하고 regenerate합니다. previous work와 비교하여 distinctive feature는 multimodal sequence-structure를 discrete foreign language로 transformation하는 것입니다. 이는 structure-sequence co-design에서 pure transformer model을 가능하게 하여, SE(3) models와 diffusion strategies의 필요성을 eliminate합니다. Fig.1에서 보듯이, FoldGPT는 GLM에서 inspiration을 얻었으며, masked regions를 autoregressive manner로 generating하기 전에 모든 known contexts에 대해 full attention을 utilizes합니다. known segment와 unknown segment를 differentiate하기 위해, position encoding과 함께 segment encoding을 utilize합니다. FoldGPT를 다음과 같이 formulate합니다:
```latex
\max_{\theta} \mathbb{E} \sum_{k \in \mathcal{I}_m} \log p_{\theta} (z_k | \{z_i\}_{i \in \mathcal{I}_k}, \{z_j\}_{j
```
**3.2. FoldTokenizer: Encoder & Decoder**
**Protein Encoder**
Protein Encoder encoder transformer는 rotary position encoding을 사용하며 protein sequence `S`와 structure `X`를 continuous latent embedding `h \in R^d`로 projects합니다. 우리는 sequence-structure embeddings를 단순 addition으로 fuse합니다:
```latex
\begin{cases}
h^{s} = \text{Embedding}(S) \\
h^{x} = \text{Linear}(\mathcal{X}) \\
h = \text{Transformer}_{enc}(h^{s} + h^{x})
\end{cases}
```
**Protein Decoder**
Protein Decoder decoder는 encoder와 same architecture를 가지며 discrete latent codes `z`로부터 separate predictive heads를 통해 sequence-structure를 reconstructs합니다:
```latex
\begin{cases}
h^{dec} = \text{Transformer}_{dec}(Q^{-1}Q(h)) \\
\hat{S} = \text{Linear}_{s}(h^{dec}) \in \mathbb{R}^{n,20} \\
\hat{X} = \text{Linear}_{x}(h^{dec}) \in \mathbb{R}^{n,1}
\end{cases}
```
**Reconstruction Loss**
Reconstruction Loss learning objective는 VQ-VAE처럼 protein sequence-structure를 recover하는 것입니다. residue type classification을 위해 cross-entropy loss를 사용합니다:
```latex
\mathcal{L}_{s} = \log p(S|z) = - \sum_{i=1}^{n} s_{i} \log(\hat{s}_{i})
```
angles (`\alpha_i`, `\beta_i`)의 periodicity를 handle하기 위해, 이들의 trigonometric values를 minimize합니다. 즉, `\alpha_i`에 대해 `l_{\alpha_i} = || \sin \alpha_i - \sin \hat{\alpha}_i||_2^2 + || \cos \alpha_i - \cos \hat{\alpha}_i||_2^2` 이며, structure loss는 다음과 같습니다:
```latex
\mathcal{L}_{a} = \log p(\mathcal{X} | z) = \sum_{i=1}^{n} (||r_{i} - \hat{r}_{i}||_{2}^{2} + l_{\alpha_{i}} + l_{\beta_{i}})
```
overall reconstruction은 weighted version입니다:
```latex
\mathcal{L}_{rec} = \lambda_s \mathcal{L}_s + \lambda_a \mathcal{L}_a
```
**3.3. Challenges on Vector Quantization**
이 section에서는 Fig.2에서 보듯이 기존 vanilla quantizers와 lookup-free quantizers를 thoroughly examine합니다. 이러한 limitations와 strengths를 understanding함으로써, 이 분야의 further improvements를 위한 길을 열고자 합니다.
**Vector Quantization Problem**
Vector Quantization Problem quantizer `Q : h \rightarrow z`는 continuous embedding `h`를 VQ-ID라고 명명된 discrete latent code `z`로 converts합니다. de-quantizer `Q^{-1} : z \rightarrow \hat{h}`는 `z`로부터 continual embedding `\hat{h}`를 recover합니다. problem formulation은 다음과 같습니다:
```latex
\begin{cases}
z = Q(h) \\
\hat{h} = Q^{-1}(z)
\end{cases}
```
**Strategy A: Vanilla Quantizer (VVQ)**
Strategy A: Vanilla Quantizer (VVQ) input `h`가 주어지면, vanilla quantizer는 codebook `E = \{v_k\}_{k=1}^m`에서 nearest codebook vector `v`를 찾습니다. `v`의 index는 `h`의 VQ-ID라고 불리는 discrete latent code `z` 역할을 합니다.
```latex
\begin{cases}
z_i = Q(h_i) = \mathop{\text{arg min}}_j \ ||h_i - v_j||_2 \\
\hat{h}_i = Q^{-1}(z_i) = v_{z_i}
\end{cases}
```
VVQ의 learning stability를 improve하기 위해, codebook updating에 exponential moving average (EMA) mechanism을 utilize하고 quantization 전에 continuous embeddings `h`와 `v`를 unit hypersphere로 normalize합니다: `h \leftarrow h/||h||_2`, `v \leftarrow v/||v||_2`. gradient update 외에도, EMA는 `v_i`가 data distribution에서 deviate할 때 `v`를 그것의 nearest top-k embeddings `{h_j : 1 \le j \le k}`의 center로 이동시킵니다. 이 process는 `v_i \leftarrow \tau v_i + (1 - \tau)(h_i - v_i)`로 described됩니다. `\tau = 0.95` if `|| \frac{1}{k} \sum_{j=1}^k h_j - v_i||_2 > \epsilon` 이고, otherwise `\tau = 0.0`입니다. `\tau`, `k`, `\epsilon`은 각각 moving average weight, nearest embeddings의 수, out-of-distribution embeddings의 threshold입니다. 우리는 `k = 5`와 `\epsilon = 0.1`로 set합니다. `h`와 `v`를 align하기 위해 VQ loss를 apply하며, 이는 `L_{vq} = ||sg(h) - v||_2^2 + 0.25||h - sg(v)||_2^2`로 denoted됩니다.
**Limitations of VVQ**
Limitations of VVQ vanilla quantizer는 `\hat{h}_i`의 gradient를 `h_i`로 directly copies합니다, 즉, `\partial L / \partial h_i \leftarrow \partial L / \partial \hat{h}_i`. 이는 embedding `\partial L / \partial h_i`와 `h_i` 사이의 gradient mismatching을 초래합니다. 추가적으로, higher reconstruction quality가 반드시 downstream tasks에서의 better generation performance로 이어지지는 않습니다. 예를 들어, reconstruction과 generation이 상반될 수 있음이 지적되었습니다: Vocabulary를 Enlarging하면 reconstruction quality를 improve할 수 있습니다. 그러나 이러한 improvement는 vocabulary size가 small할 때만 generation으로 확장되며, very large vocabulary는 실제로 generative model의 performance를 hurt할 수 있습니다.
왜 contradiction이 occur합니까? 우리는 intrinsic reason을 continuous representations와 discrete representations 간의 semantic irrelevance와 large class space 탓으로 attribute합니다. limitations를 다음과 같이 summarize합니다:
1. **Gradient Mismatching** VQ-IDs `{z_i}_{i=1}^m`가 non-differentiable하기 때문에, vanilla quantizer는 `\hat{h}_i`의 gradient를 `h_i`로 directly copies합니다, 즉 `\partial L / \partial h_i = \partial L / \partial \hat{h}_i`. 그러나 일반적으로 `\hat{h}_i`는 `h_i`와 같지 않으므로, embedding `h_i`와 그것의 gradient `\partial L / \partial h_i` 사이에 mismatching이 발생합니다.
2. **Semantic Irrelevance** discrete representations와 continuous representations는 correlation을 exhibit하지 않으며, 이는 `(h_i - h_j)`와 `(z_i - z_j)` 사이에 association이 없음을 implying합니다. 이 irrelevance는 generative model이 `z_i`와 `z_j` 간의 high similarity에도 불구하고 `h_i`를 recovering하기 위해 exact `z_i`를 accurately predict해야 함을 means합니다. 이는 generation의 difficulty를 더욱 increase시킵니다.
3. **Large Class Space** generative model에 관해서, 각 VQ-ID `z_i`는 class index를 represents합니다. `m`의 large codebook size는 실제로 "protein language"를 generating하는 데 challenges를 pose할 수 있습니다.
**Strategy B: Lookup-Free Vector Quantizer (LFQ)**
Strategy B: Lookup-Free Vector Quantizer (LFQ) 이 method는 semantic mismatching과 large class space problems를 address합니다. `j`-번째 element가 1인 one-hot vector를 `e_j \in R^d`로 denote하고, `d = \log_2 m`입니다. key idea는 continuous `h_i`를 `V = \{\sum_{j=1}^d [w_{ij} e_j + (1 - w_{ij})(-e_j)] : w_{ij} \in \{0, 1\}\}` space로 project하는 것입니다:
```latex
\begin{cases}
\hat{h}_{i} = \text{sign} \left( h_{i} \right) = \sum_{j=1}^{d} \left[ u(h_{ij})e_{j} + (1 - u(h_{ij}))(-e_{j}) \right] \\
\text{Bit}^{-1}(z, d) := \sum_{j=1}^{d} 2^{j-1}z_{j} \\
\text{Bit}(z, d) := \left[ \left\lfloor z/2^{d-1} \right\rfloor, \left\lfloor z/2^{d-2} \right\rfloor, \cdots, \left\lfloor z/2^{0} \right\rfloor \right]^{T} \\
z_{i} = \text{Bit}^{-1}(u(\hat{h}_{i,j}))
\end{cases}
```
LFQ는 latent embedding `h_i`를 sign vector `\hat{h}_i \in \{-1, 1\}^d`로 transforms합니다. `sign(x) = 1` if `x \ge 0` and `sign(x) = -1` if `x < 0`. `u(x) = (sign(x) + 1)/2` 입니다. 우리는 `u(\hat{h}_i)`를 binary VQ-ID vector라고 refer하며, 이의 decimal form이 VQ-ID `z_i`로 used됩니다. functions `Bit^{-1}(\cdot, \cdot)`와 `Bit(\cdot, \cdot)`는 binary VQ-ID vector와 VQ-ID 간의 transformation을 define합니다.
**Strength of LFQ**
Strength of LFQ binary VQ-ID `u(\hat{h}_i)`는 `h_i`의 sign information을 directly captures하여, discrete representations와 continuous representations 간의 semantic relevance를 establish합니다. 이 semantic relevance는 downstream tasks에 여러 advantages를 offer합니다, including:
1. **Robust Generation:** model에게 all bits의 Accurate prediction은 unnecessary합니다. correct "key" bits의 Majority가 similar overall semantics를 ensures하여, proteins의 reasonable reconstruction으로 leading합니다.
2. **Simplified Classification:** size `m`의 space에서 tokens를 predicts하는 VVQ와 달리, LFQ는 문제를 `\log_2 m`개의 binary classifications로 decompose하는 것을 allows합니다.
LFQ는 semantic irrelevance issue를 addresses하고 generation을 more robust하고 optimize하기 easy하게 만듭니다.
**Limitations of LFQ**
Limitations of LFQ LFQ는 gradient mismatching issue를 address하지 못하고 information bottleneck이라는 new challenge를 introduces합니다. Typically, codebook space는 VQ-ID storing에 required bits를 accommodate하기 위해 `2^8` (int8), `2^{16}` (int16), `2^{32}`(int32), `2^{64}`(int64)와 같은 options에서 chosen됩니다. 그러나 VVQ와의 fair comparison과 effective data compression을 위해, 오직 `2^8`과 `2^{16}`만 considered되어, lookup-free VQ에서 hidden space size가 8 또는 16이 됩니다. This low dimensionality는 accurate reconstruction을 hampers하는 information bottleneck problem을 poses합니다.
**3.4. How to improve VQ methods?**
aforementioned problems를 address하기 위해, 우리는 세 가지 VQ methods, 즉 soft quantizer (SoftVQ), soft group quantizer (SoftGVQ), soft conditional quantizer (SoftCVQ)를 introduce합니다. Table 1에서, 우리는 VQ methods의 addressed issues, 즉 gradient mismatching (GM), semantic irrelevance (SI), multiclass classification (MC), information bottleneck (IB)와 soft global querying (SGQ)의 strength를 summarize합니다. 독자들은 strategy E에서 SGQ를 understand할 것입니다.
**Strategy C: Soft Vector Quantizer (SoftVQ vs VVQ)**
Strategy C: Soft Vector Quantizer (SoftVQ vs VVQ) Instead of selecting the closest codebook vector, the soft quantizer는 entire codebook `E = \{v_k\}_{k=1}^m`를 query하기 위해 differentiable attention operation을 utilizes합니다:
```latex
\begin{cases}
a_{ij} = \frac{\exp{(h_i^T v_j /T)}}{\sum_{j=1}^m \exp{(h_i^T v_j /T)}}\\
\hat{h}_i = \sum_{j=1}^m a_{ij} v_j\\
z_i = \arg \max_j a_{ij}
\end{cases}
```
temperature parameter `T`는 attention map의 smoothness를 control하는 데 crucial role을 plays합니다. `T \rightarrow 0`일 때, attention map은 one-hot vector가 되며, 이는 VVQ와 equivalent합니다. training process 동안, `T`가 1.0에서 1e-5로 gradually decreases함에 따라, model은 "nearest" codebook vector를 querying하기 위한 sharp attention map을 automatically learns합니다. differentiable attention operation은 gradient mismatch problem을 avoids합니다. inference phase 동안, 우리는 distribution `z_i \sim \text{Multinomial}([a_{i,0}, a_{i,1}, \cdots , a_{i,M}])`로부터 discrete latent codes `z_i`를 obtain하기 위해 random sampling을 employ합니다.
**Strategy D: Soft Group Vector Quantizer (SoftGVQ vs LFQ)**
Strategy D: Soft Group Vector Quantizer (SoftGVQ vs LFQ) LFQ와 Similar하게, soft group quantizer는 continuous embedding `h_i`를 `V = \{\sum_{j=1}^{\log_2(m)} [w_{ij}v_j + (1 - w_{ij})\dot{v}_j] : w_{ij} \in [0, 1]\}` space로 projects합니다. 여기서 `m`은 codebook size이고, `v_j`와 `\dot{v}_j`는 j-번째 group의 learnable basis vectors입니다. `w_{ij}`는 soft attention으로 computed됩니다, 즉, `w_{ij} = \frac{\exp{(h_i^T v_j /T)}}{\exp{(h_i^T v_j /T)} + \exp{(h_i^T \dot{v}_j /T)}}`입니다. training 동안, 우리는 `T`를 1에서 1e-5로 gradually reduce합니다. `w = [w_{i,1}, w_{i,2}, \cdots , w_{i,\log_2(m)}]`로 Define하면, binary VQ-ID vector는 `u(w - 0.5)`입니다. recovered embedding `\hat{h}_i`와 VQ-ID `z_i`는 다음과 같이 computed될 수 있습니다:
```latex
\begin{cases}
\hat{h}_i = \sum_{j=1}^{\log_2(m)} [w_{ij}v_j + (1 - w_{ij})\dot{v}_j] \\
z_i = \text{Bit}^{-1}(u(w - 0.5))
\end{cases}
```
soft group quantizer는 several advantages를 offers합니다:
1. basis vectors (`v_j`와 `\dot{v}_j`)는 learnable하고 data-dependent하며, LFQ에서 used된 binary one-hot basises (`e_j`와 `-e_j`)에 limited되지 않습니다. This allow the model to capture the principle directions of the data distribution.
2. 각 group 내에서, nearest codebook vector를 select하기 위해 soft quantization strategy가 employed되어, gradient mismatching issue를 addressing합니다.
3. hidden space dimension은 basis vectors의 그것과 equal하며, LFQ에서처럼 `\log_2(m)`으로 constrained되지 않아, information bottleneck issue를 elleviating합니다.
**Strategy E: Soft Conditional Quantizer (SoftCVQ, Final Version)**
Strategy E: Soft Conditional Quantizer (SoftCVQ, Final Version) SoftVQ와 SoftGVQ는 각각 VVQ와 LFQ에 대한 improvements를 present합니다. However, 우리는 high-quality reconstruction (SoftVQ)와 generation (SoftGVQ) 간의 trade-off를 observed했습니다. SoftGVQ의 binary VQ-IDs는 generation tasks에 beneficial하지만, SoftVQ와 compared하여 reconstruction terms에서는 relatively poorer하게 perform합니다. reconstruction과 generation capabilities 간의 balance를 strike하기 위해, 우리는 Soft Conditional Vector Quantizer (SoftCVQ)라는 novel approach를 propose합니다.
insights는 following observations에서 comes합니다:
1. high-quality reconstruction을 achieving하는 key는 entire codebook space를 query하기 위해 soft attention을 employing하는 데 lies합니다, 즉, soft global querying → SoftVQ에서 inspired됨.
2. VQ-ID의 binary form은 generation을 facilities합니다 → SoftGVQ와 LFQ에서 inspired됨.
proposed SoftCVQ는 binary VQ-IDs를 keeping하면서 whole codebook에 대한 attention query를 allow합니다. A straightforward idea는 fixed binary vectors로 comprising된 codebook을 use하는 것입니다, 즉, `V = \{Bit(z, \log_2(m)) \in R^{\log_2(m)}\}_{z=1}^m`, 그리고 latent embedding `h`와 all the codebook vectors `V` 사이에 soft attention을 applies하는 것입니다. However, this approach는 small latent dimension `\log_2(m)` 때문에 information bottleneck으로 suffers합니다. this challenge를 address하기 위해, 우리는 `\log_2(m)`-dimensional binary vectors `V`를 `d`-dimensional vectors로 projects하는 conditional network를 introduce합니다:
```latex
v_j = \text{ConditionNet}(\text{Bit}(z, \log_2(m))) \quad (14)
```
`ConditionNet : R^{\log_2(m)} \rightarrow R^d`는 MLP입니다. 만약 codebook size가 `2^{16}`이라면, MLP는 65536개의 16-dimension boolvectors를 65536개의 d-dimension vectors로 projects합니다. 그런 다음 latent embedding `h_i`와 `{v_z}_{z=1}^m` 사이에 soft vector quantization을 apply하여 quantized embedding `\hat{h}_i`를 obtain합니다:
```latex
\hat{h}_i = \text{SoftVQ}(h_i, \{v_z\}_{z=1}^m) \quad (15)
```
evaluation 동안, `\hat{h}_i`에 nearest codebook vector가 `v_z`일 때, corresponding VQ-ID는 exactly `z`이며, 이의 binary VQ-ID vector는 `Bit(i, \log_2(m))`입니다.
AI 연구자를 위한 Method 섹션 정리 노트
- Overall Framework: 2단계 Pipeline
- FoldTokenizer: Sequence (S)와 Structure (A, Cα coordinates) 입력을 받아 discrete protein language (FoldTokens z)를 학습하는 encoder-quantizer-decoder architecture.
- Encoder (q_{enc}): Transformer-based, S와 A를 continuous latent embedding h로 mapping.
- Quantizer (Q): h를 discrete codes z로 변환. (핵심 기여 부분)
- Decoder (p_{dec}): Q^{-1}(z)로부터 \hat{S}, \hat{A}를 reconstruct.
- Formulation: \begin{cases} h \sim q_{enc}(h|S, A) \ z = Q(h) \ \hat{S}, \hat{A} = p_{dec}(S, A|Q^{-1}(z)) \end{cases}
- FoldGPT: Protein language (z)를 사용하여 protein inpainting 수행. NLP-style autoregressive model.
- Objective: Known context ({z_i}{i \in I_k})와 이전에 생성된 masked token ({z_j}{j<k,j \in I_m})을 condition으로 masked token (z_k) 예측 확률 최대화. \max_{\theta} \mathbb{E} \sum_{k \in \mathcal{I}m} \log p{\theta} (z_k | {z_i}_{i \in \mathcal{I}k}, {z_j}{j<k,j \in I_m})
- Novelty: Discrete language 사용으로 SE(3)/diffusion 없이 pure transformer 기반 sequence-structure co-design 가능. GLM-inspired full attention, segment encoding 활용.
- FoldTokenizer: Sequence (S)와 Structure (A, Cα coordinates) 입력을 받아 discrete protein language (FoldTokens z)를 학습하는 encoder-quantizer-decoder architecture.
- FoldTokenizer Details:
- Encoder: Rotary position encoding 사용. Sequence embedding (h^s)과 structure linear projection (h^x)을 addition으로 fuse 후 Transformer_{enc} 통과.
- Decoder: Encoder와 동일 architecture. Q^{-1}Q(h) 입력받아 Transformer_{dec} 통과 후 separate heads (Linear_s, Linear_x)로 \hat{S} (R^{n,20}), \hat{X} (R^{n,1}, 아마도 angle/distance 관련) 예측.
- Reconstruction Loss (\mathcal{L}_{rec}): \lambda_s \mathcal{L}_s + \lambda_a \mathcal{L}_a
- \mathcal{L}_s: Residue type classification 위한 cross-entropy.
- \mathcal{L}_a: Structure (r, \alpha, \beta) reconstruction. r은 MSE, \alpha, \beta는 periodicity 고려하여 sin, cos 값 차이의 L2 norm 제곱합 사용.
- Vector Quantization (VQ) Challenges & Proposed Solutions:
- Existing Methods Review:
- VVQ: Nearest neighbor search. Limitations: Gradient Mismatch (GM), Semantic Irrelevance (SI), Large Class Space / Multiclass Classification (MC). Reconstruction/Generation trade-off.
- LFQ: Binary sign projection. Addresses SI, MC. Limitations: GM 잔존, Information Bottleneck (IB).
- Proposed VQ Methods: (GM, SI, MC, IB 문제 해결 및 Soft Global Querying (SGQ) 강점 활용 목표)
- SoftVQ (vs VVQ): Differentiable soft attention (with temperature T)으로 전체 codebook query. GM 해결. Reconstruction에 강점.
- SoftGVQ (vs LFQ): Learnable group basis vectors (v_j, \dot{v}_j) 사용 + group 내 soft attention. GM, IB 해결 시도. Binary VQ-ID 유지 (→ SI, MC 해결). Generation에 강점.
- SoftCVQ (Final): Reconstruction (SoftVQ)과 Generation (SoftGVQ) balance.
- Core Idea: Soft global query + Binary VQ-ID.
- Mechanism: Fixed binary IDs Bit(z, log2(m))를 ConditionNet (MLP)로 고차원(d) v_z vector로 project. 이 {v_z} 전체에 대해 SoftVQ (soft attention) 수행하여 \hat{h} 계산. VQ-ID z는 nearest v_z의 index.
- Benefit Claim: Soft global query의 reconstruction 장점과 binary VQ-ID의 generation 장점을 결합, IB 문제도 ConditionNet 통해 완화.
- Existing Methods Review:
쉬운 설명 :
이 섹션에서는 논문에서 제안하는 단백질 설계 방법(모델 구조와 학습 방식)을 설명합니다. 크게 두 단계로 나뉩니다.
1단계: FoldTokenizer (단백질 정보를 '코드 단어'로 번역하기)
- 단백질의 아미노산 서열(sequence) 정보와 3D 구조(structure) 정보를 함께 입력받습니다.
- Encoder (정보 읽기): Transformer라는 도구를 사용해 이 두 정보를 읽어서 컴퓨터가 이해할 수 있는 중간 단계의 표현(h)으로 만듭니다.
- Quantizer (코드 단어 만들기): 이 중간 표현(h)을 '코드북'이라는 사전을 참조해서 가장 잘 나타내는 **하나의 '코드 단어'(FoldToken, z)**로 변환합니다. 이 과정이 매우 중요하며, 이 논문에서는 기존 방식들의 문제점을 해결하는 새로운 Quantizer 기술들을 제안합니다 (아래에서 설명).
- Decoder (번역 검증): 만들어진 코드 단어(z)만 보고 원래의 서열과 구조 정보를 얼마나 잘 복원(reconstruct)할 수 있는지 확인합니다. 이 복원 능력을 기준으로 FoldTokenizer를 학습시킵니다 (Reconstruction Loss 사용). 특히 구조 정보는 각도(angle)의 주기성(periodicity)을 고려해서 손실(loss)을 계산합니다.
2단계: FoldGPT (코드 단어로 새로운 단백질 쓰기)
- FoldTokenizer가 만든 '코드 단어'(FoldToken z)들의 sequence를 입력으로 사용합니다.
- 단백질 디자인 (Inpainting): 마치 GPT가 문장의 빈칸을 채우듯, FoldGPT는 단백질의 일부분(코드 단어들)이 가려져 있을 때, 주변 코드 단어들을 보고 빠진 부분을 자연스럽게 채워 넣는 방식으로 새로운 단백질 구조를 생성합니다. 한 번에 하나씩 코드 단어를 예측하며 이어 나갑니다(autoregressive).
- 장점: 모든 정보가 '코드 단어'라는 통일된 형태로 바뀌었기 때문에, 복잡한 3D 모델이나 확산(diffusion) 모델 없이 오직 Transformer라는 하나의 도구만으로 서열과 구조를 함께 디자인(co-design)할 수 있습니다.
핵심 기술: 더 좋은 Quantizer (코드 단어 잘 만들기)
- 기존의 코드 단어 변환 방식(VVQ, LFQ)들은 학습이 어렵거나(Gradient Mismatch), 코드 단어가 원래 정보의 의미를 잘 반영하지 못하거나(Semantic Irrelevance), 정보가 너무 압축되어 손실(Information Bottleneck)되는 등의 문제가 있었습니다. 특히, 복원을 잘하는 방식과 생성(디자인)을 잘하는 방식이 다른 trade-off가 있었죠.
- 이 논문의 제안 (SoftVQ, SoftGVQ, SoftCVQ):
- SoftVQ: 코드북 전체를 부드럽게(soft attention) 참고해서 복원 성능을 높입니다.
- SoftGVQ: 코드 단어 구조를 이진(binary) 형태로 유지하면서(생성에 유리) 정보 손실을 줄이려 합니다.
- SoftCVQ (최종 버전): SoftVQ의 '복원 능력'과 SoftGVQ의 '생성 능력'의 장점을 합치려고 합니다. 핵심 아이디어는 코드 단어 자체는 이진(binary) 형태를 유지하되, 이진 코드를 ConditionNet이라는 보조 신경망을 통해 더 풍부한 정보(고차원 vector)로 변환한 뒤, 이 변환된 정보 전체를 부드럽게(soft attention) 참고하여 최적의 코드 단어를 찾는 것입니다. 이를 통해 복원과 생성 능력의 균형을 맞추고자 합니다.
요약하면, 단백질 정보를 '코드 단어'로 잘 번역하는 FoldTokenizer (특히 개선된 SoftCVQ quantizer 사용)와, 그 코드 단어를 이용해 새로운 단백질을 생성하는 FoldGPT를 통해 효율적인 단백질 서열-구조 동시 설계를 목표로 합니다.