MLFF(Machine Learning Force Fields)의 개념과 모델
1. MLFF(Machine Learning Force Fields) 배경
분자 동역학은 Force Fields에 기반해 원자의 위치, 힘 등을 활용하여 원자 및 분자의 구조 및 상호작용의 변화 등 동적 특성을 예측한다. 이러한 변화는 시뮬레이션 방식에 따라 다르겠지만, 용융, 냉각 등의 주변 온도의 차이를 주면서 발생한다. 분자 동역학에서 동적 특성을 예측하기 위한 기법으로 DFT(Density Functional Theory, 밀도범함수 이론)가 있다. 해당 기법은 결과를 정확하게 예측할 수 있지만 그 만큼 엄청난 연산량이 요구된다는 점에서 개선이 필요하다.
2. MLFF(Machine Learning Force Fields)란?
분자 동역학 시뮬레이션 상에서 동적 특성을 예측하기 위한 DFT 기법을 대신하여 기계 학습을 사용하는 방식을 Machine Learning Force Fields(MLFF)라 한다. 적은 연산량으로 정확한 예측이 가능하다는 점에서 DFT 기법보다 더 효율적이라고 할 수 있다. 하지만, 아직까지는 정확성 측면에서 DFT보다 낮기에 이를 높이기 위한 연구가 활발히 진행 중이다. MLFF 모델로는 크게 GNN, Descriptor 기반의 모델로 나뉜다. GNN 기반의 대표적인 모델로 MACE, SchNet, GemNet-T/dT 등이 있으며 Descriptor 기반의 모델로 BPNN, DPA-1 등이 있다. 아래의 이미지는 "Benchmark of Machine Learning Force Fields for Semiconductor Simulations: Datasets, Metrics, and Comparative Analysis" 논문에서 제공한 Benchmark로 기존의 MLFF 모델을 EF 메트릭(힘과 에너지에 대한 오차)로 평가한 결과이다. EF 메트릭에 대한 수치가 작을수록 오차가 더 작으며 더 좋은 성능을 나타낸다.
3. MLFF(Machine Learning Force Fields) 모델
MLFF(Machine Learning Force Fields) 모델로 크게 Descriptor와 GNN 기반의 모델이 존재하지만, 이번 챌린지에서 진행한 GNN 기반의 모델을 중심으로 설명해보면 다음과 같다.
#1. Dataset
이번 챌린지에서 사용한 HfO 데이터셋으로 Hf 원자 32개 O 원자 64개로 이루어진 분자에 대해 m-MQA 방식으로 시뮬레이션 되어 생성된 결과이다. 여기서 m-MQA 방식은 modified Melting-Quenching-Annealing의 약자로 열 처리 기법을 의미한다. 아주 간단하게 HfO 분자에 대해 고온으로 용융했다가 저온으로 냉각시키고 안정화시킨 열 처리를 했다고 생각하면 된다.
해당 데이터셋은 xyz 파일 확장자로 화학 분자를 설명하는데 사용되는 형식이다. 데이터셋에는 시뮬레이션 과정을 일정한 시간 단위로 쪼개어서 해당 시점의 시스템과 각 원자에 대한 정보(에너지, 힘, 원자 위치 등)를 제공하며 이를 스냅샷으로 지칭한다. Train 데이터셋에는 1500개, Test 데이터셋에는 3000개의 스냅샷이 존재했다. 아래의 첫번째 사진은 HfO의 Train 데이터셋에서 첫번째 스냅샷의 일부를 캡처한 사진이다. 사진에서 96은 총 원자 개수를 의미하고 두번째와 세번째 줄은 하나의 원자가 아닌 전체 시스템에 대한 정보를 나타낸 것이며 그 이후로는 96개의 원자에 대해 원자의 종류, 위치 좌표와 작용하는 힘의 정보를 담고 있다. 이에 대한 자세한 설명은 두번째 사진으로 정리해놓았다. 이 중 이해하기 어려웠던 PBC 개념에 대해 살펴보면, 시뮬레이션 과정에서 분자가 움직이기에 지정된 크기의 셀(그림에서 하나의 정사각형을 의미)에서 벗어났을 때 어떻게 할지에 대한 조건이다. 'T T T'로 설정되었기에 기본 셀에서 벗어날 경우 다른 셀에서도 동일한 상호작용이 일어남을 가정하고 진행하겠다는 표현이다.
#2. Data Preprocessing
GNN 기반의 MLFF 모델은 주어진 화학 구조를 바탕으로 그래프로 전처리하여 GNN(Graph Neural Network)을 사용한다. 주어진 데이터셋을 바로 GNN 모델의 Input으로 사용할 수 없기에 이를 그래프의 형태로 바꾸는 전처리 과정이 필요하다. 그래프를 생성할 때 분자 내의 원자를 노드로 하고 2개의 원자 사이의 거리를 계산하여 cutoff를 주어 엣지를 생성한다. 그래프를 만들기 위해 모든 원자 쌍을 연결할 수 없기에 최대 이웃 노드 개수와 최대 반경을 설정하여 하나의 원자에 대해 연결될 이웃들에 제한을 두었다. 생성된 그래프를 lmdb 파일 형태로 각 스냅샷 별 그래프를 저장하였다.
#3. Model
GNN 기반 MLFF 모델에 대한 전반적인 흐름은 주어진 화학 구조를 바탕으로 그래프를 생성한 후 이를 GNN을 사용하여 시스템의 에너지와 각 원자의 힘을 예측하는 것이다. MACE, SchNet, GemNet-T/dT 등의 모델은 모두 GNN을 다른 방식으로 설계하였다. 예를 들어, 중심 원자를 기준으로 몇 hop의 이웃을 반영하는지, 원자 간의 각도, 거리 등 어떠한 정보를 사용하는지 등 다양한 접근 방식이 존재한다.
2024 Samsung AI Challenge의 Machine Learning Force Fields 부문에 참가하였다.
나도 처음 공부하다 보니 생소한 부분도 많고 논문 이외의 참고 자료가 거의 없어 힘들었다.
약 3주간 공부한 얕은 내용이지만, 처음 이 분야에 입문하는 사람들에게 조금이라도 도움이 되고자 작성해보았다.
'예바의 스터디 > 개념 정리' 카테고리의 다른 글
[컴파일러] FOLLOW(𝞪)의 개념과 예제 (2) | 2024.10.13 |
---|---|
[컴파일러] FIRST(𝞪)의 개념과 예제 (2) | 2024.09.16 |
MPNN(Message Passing Neural Network) (4) | 2024.08.15 |
KMP 알고리즘 (Knuth-Morris-Pratt Algorithm) (6) | 2024.05.05 |