본문 바로가기
과학/재료공학

기계학습 포텐셜(Machine Learning Potential, MLP)의 대표 알고리즘, Gaussian Approximation Potential(GAP), Neural Network Potential(NNP)의 공통점 소개

by NC_ 2022. 6. 19.

정확하지만 느린 제일원리 계산, 그리고 빠르지만 부정확한 Classical Force Field, 두 방법론은 양쪽 모두 재료 시뮬레이션에서 다양한 연구에 사용되었지만 각각의 한계 때문에 우리는 이 두 방법론을 실제 제품 스케일에서 사용할 수는 없었다. 따라서 재료 시뮬레이션을 연구하는 연구자들은 각자가 좀 더 중요하게 여기는 것이 어떤 요소인지를 기준으로 제일원리 계산과 Classical Force Field 중 하나를 선택해야 했다. 예를 들어, 정확도가 중시되는 연구에서는 전체 제품 중 특정 부분만을 고려하여 시뮬레이션할 시스템을 구성한 다음 제일원리 계산을 사용하고, 많은 시뮬레이션이 필요하거나, 제품 전체를 고려해야 하는 경우, 혹은 시뮬레이션할 시스템을 작게 조정하기 어려운 경우에는 Classical Force Field를 사용하는 식으로 말이다. 하지만 이러한 방법들은 당연히 한계가 있었고, 이를 극복하기 위해 많은 연구자가 새로운 방법론을 개발하려는 노력을 기울여 왔다. 그중에서 어느 정도 성과를 얻은 방법론이 바로 우리가 저번 포스팅에서 살펴본 기계학습을 사용한 Force Field(Machine Learning Force Field, MLFF)이다. 그리고 MLFF중에서도 대표적인 두 가지 방법론이 Gaussian Approximation Potential(GAP) 및 Neural Network Potential(NNP)이다.

 

 

여기서 Gaussian Approximation 및 Neural Network는 각 방법론에서 사용한 기계학습 알고리즘을 의미하고, 뒤에 공통으로 등장하는 Potential은 Force Field의 다른 표현인 Potential Energy Surface(PES)의 줄임말이다. 사실 MLFF라는 명칭 역시 Machine Learning Potential(MLP)이라고 쓰이기도 하고, 이렇게 쓸 경우 한글로 기계학습 포텐셜이라고 부르기도 용이하기 때문에, 앞으로는 명칭을 기계학습 포텐셜로 통일하여 부르기로 하겠다. 두 방법 모두 처음 발표된 이후로 다양한 연구자들이 이를 사용한, 혹은 개선된 방법론을 개발하는 연구를 진행하였고, 필자의 얕은 지식에 비추어볼 때 MLFF 분야의 메인스트림이라 할 수 있기 때문에 이 두 가지 방법론의 공통점을 확인하고 장단점을 비교하는 것은 향후 MLFF를 사용해 볼 의향이 있는 연구자 혹은 연구자 꿈나무들에게 큰 의미가 있지 않을까 한다.
두 방법론의 공통점을 먼저 살펴볼 텐데, 사실 이 두 방법론의 공통점은 기계학습 포텐셜 전반의 공통점이라고 보아도 무방하다. 기계학습 포텐셜의 경우 태생이 Classical Force Field를 기반으로 하기 때문에, 재료의 에너지를 계산하는 방법이 Classical Force Field와 닮았다. 즉, 개별 원자의 원자 당 에너지를 계산하고 이를 더하여 시스템 전체의 에너지를 구하는 방식이다. 참고로 제일원리 계산의 경우 이런 식의 원자 당 에너지는 원칙적으로 '정의할 수 없다'. 결과적으로 E = sum(E_atom)과 같은 수식으로 나타낼 수 있다. 그렇다면 E_atom은 어떻게 구할까? 앞서 살펴보았던 Classical Force Field의 경우에는 이를 상호작용별로 추가로 분리하는 과정을 거친다. 즉, E_atom = E_pair + E_angle +... 등으로 말이다. 그리고 여기서 상호작용별 에너지는 다음과 같이 나타낼 수 있다. E_pair = sum(E_pair_ij, j는 i의 인접 원자들). 반면, GAP 및 NNP의 경우 원자 i에 대한 원자 당 에너지를 구할 때 원자 i 및 그 인접 원자들의 위치 정보를 일정한 크기의 벡터로 변환하고(이를 기계학습에서는 Embedding이라고 한다) 이를 기계학습 알고리즘에서 사용하는 함수에 대입하여 그 결괏값을 원자 당 에너지로 사용하게 된다. 수식으로 표현하면 E_atom = f_ML(G_embedding({vector R}))이 된다. 여기서 {vector R}은 원자 i 및 그 인접 원자들의 3차원 좌표를 의미하고, G_embedding은 원자들의 3차원 좌표를 벡터로 변환하는 함수, f_ML은 기계학습 알고리즘을 의미한다. 이때 사용하는 기계학습 알고리즘에 따라 효과적인 Embedding 함수 역시 달라지기 때문에, GAP 같은 경우에는 Smooth Overlap of Atomic Positions(SOAP)라는 함수를, NNP는 Atomic Symmetry Function이라는 함수를 사용한다. 두 방법론 모두 원자들의 3차원 좌표가 평행이동(Translation) 하거나, 회전(Rotation)하거나, 원자들의 순서가 바뀌어도(Permutation) 동일한 벡터를 결과로 출력하도록 설계되었다. 이는 조금 생각해 보면 당연하다는 것을 알 수 있을 것이다. 우리가 재료를 돌려서 각 원자의 3차원 좌표가 바뀐다고 한들 재료 자체에는 변화가 없다면 동일한 에너지를 가져야 할 테니까.

 


이렇게 이번 포스팅에서는 기계학습 포텐셜의 두 가지 큰 줄기인 GAP 및 NNP에 대해 간단히 설명하였고, 두 방법론의 공통점에 대해 살펴보았다. 이를 위해 수식을 약간 사용했지만, 복잡한 부분은 생략하고 최대한 간단하게 서술했으므로 수식에 익숙하지 않은 사람들이 보기에도 과도하게 어렵지는 않으리라 생각한다. 다음 포스팅에서는 두 방법론의 장단점에 대하여 설명하려 하는데, 만약 한 번의 포스팅으로 끝내기 어려운 경우 GAP과 NNP 각각에 대해 별도의 포스팅을 게재하도록 하겠다. 

댓글