인공지능을 활용한 결정구조 설계/탐색 by 바죠

인공지능을 이용한 결정구조 설계/탐색

인공지능 도구들에는 아래와 같이 여러가지가 있다.


계산양에 상관없이 가장 직접적인 접근법을 먼저 살펴보자.
물론, 결정구조는 안정한 결정구조이여야 한다. 
구조적으로, 운동학적으로, 그리고 열적으로 안정해야 할 것이다. 
이론적 탐색과 설계의 영역에서는 우리는 언제나 제일원리 계산에 의존할 수 있다.

복잡한 함수를 최적화시킬 때에는 인공지능의 최적화 도구를 활용한 것이 유용하다.
기초적인 최적화 도구들도 이용한다. 
예를 들어, 국소최적화(local optimization) 방법으로서 BFGS, Nelder-Mead같은 것을 들 수 있다.
하지만, 광역최적화 방법이 필요하다.

광역최적화(global optimization)를 통해서 원하는 원하는 물성을 가지는 물질을 설계/탐색하는 것이 가능하다.

우선 3차원의 경우, 230 가지 종류의 공간군(space group)이 존재한다.
layer group은 80가지가 가능하다.

당연히 무수히 많은 결정구조들이 수학적으로는 가능하다.
효율적인 구조공간을 탐색하기위해서 대칭성 높은 결정구조를 임의로 만들어 낼 수 있는 방법이 필요하다.
이들 대칭적 구조로 부터 탐색과 설계를 시작하는 것이 유리하다. 단순히 무작위 구조들을 가지고 시작하는 것과 차이가 있다.
무작위 구조들이라고 하더라도 대칭성을 가지고 있는 무작위 구조들이 도움이 된다.
 분자구조 공간을 탐색할 때에도 마찬가지이다. 대칭성 높은 분자구조들을 먼저 고려하는 것이 유리하다.

수학적으로 무수히 많은 가능성들이 있겠지만, 당연히, 물리적으로 안정한 구조들의 수는 기하급수적으로 줄어든다. 
왜냐하면, 결정구조의 에너지가 높을수록 생성되어 발견될 확률은 기하급수적으로 줄어든다.
볼츠만 확률을 생각할 수 있다.

\[   \exp(-\frac{E}{k_BT})\]

다시 탐색과 설계의 영역으로 들어가보자.
목적함수(objective function)을 임의로 설정할 수 있다. 물성을 이용하여 목적함수를 설정할 수 있다. 
물론, 원자들의 배치를 이용할 수도 있다. 원자배열의 특수성이 특정한 물성을 줄 수 있는 경우를 예로 들 수 있다.

단위셀의 모양, 단위셀 내부의 원자배열은 결정구조를 결정한다.
단위셀 모양:
\[  a,b,c,\alpha,\beta,\gamma  \]
단위셀 내부의 원자 배열:
\[  \{ \vec{R}_I  \}  \]

따라서, 이것이 결정구조 찾기 문제에서의 표현식(representation)이다.
기계학습의 3요소: representation, evaluation, optimization

이러한 임의의 결정구조로부터 우리는 물성을 얻어낼 수 있다. 
제일원리(first-principles) 계산을 활용하면 상황에 따라서 다르지만, 꿰 정밀한 물성을 예측할 수 있다. 
즉, 아래와 같은 전통적인 계산 방식을 통해서 전자구조를 얻어낼 수 있고, 물성을 예측할 수 있다.
제일원리 계산은 상당한 컴퓨터 자원을 필요로 한다. 
계산이 오래 걸리기 때문에 한 동안 아래와 같은 접근법만이 의미가 있었다고 볼 수 있다.
시대가 바뀌고 있다. 
컴퓨터의 성능이 좋아지고 있다. 따라서, 아래와 같은 독립적인 계산들을 병렬적으로 수행할 수 있다.

\[  structure  \rightarrow electronic ~structure \rightarrow material ~property  ~ calculation  \]

조금 더 일반적인 상황을 생각하면, 많은 경우 물질의 성능지수(figure of merit)까지 제일원리로 계산할 수 있다.
성능지수를 논한다는 것은 이미 이 물질이 특정한 응용에 활용되었다는 것을 의미한다. 
즉, 소자로서 작동할 때를 가정하고 물질의 성능을 정의하게 된 것이다. 몇 가지 가정들이 있을 수 있을 것이다.

\[  a, b, c, \alpha, \beta, \gamma, \{\vec{R_I} \}  \rightarrow {\rm electronic~ structure }  \rightarrow {\rm physical~property}  \rightarrow {\rm performance} \rightarrow {\rm figure ~ of ~merit}  \]
이러한 계산을 반복적으로 수행할 수 있다고 가정한다. 
즉, 서로 다른 결정구조를 이용하여 물성을 독립적으로 계산할 수 있다고 가정한다.
이러한 가정이 성립하면, 우리는 보다 일반적으로 아래와 같이 체계적으로 원하는 target 함수를 계산된 calculation 함수와 비교할 수 있고, 나아가 최종적으로 그 차이를 최소화 할 수 있다.

이렇게 해서 원하는 물성(target)을 가지는 결정구조를 얻어낼 수 있다. 
물론, 효율적으로 원하는 물성을 얻어낼 수 있은 알고리듬이 필요하다.
 
여기서 언급한 target은 일반적인 함수이다. 물론, 특정한 스칼라 값일 수도 있다.
예를 들어, 에너지의 함수인 스펙트럼일 수도 있다. 
원하는 스펰트럼이 존재할 수 있다.
 
순전히, 전자구조와 관련된 물리양이 아니라도 좋다. 원자배열에 대한 정보를 포함할 수도 있다.
원하지 않은 물성들을 벌점함수(penalty function)로 정의하여 목적함수에 추가할 수 있다.

\[  O(a,b,c,\alpha,\beta,\gamma,\{\vec{R}_I\})=(target-calculation)^2+penalty   \]

\[  structure \rightarrow   electronic ~structure \rightarrow  property  ~ calculation   \]

\[  structure \rightarrow  calculation, target   \]

매우 직접적인 방법이다. 
제일원리(first-principles) 계산과 광역최적화(global optimization) 방법을 결합하면 그야 말로 원하는 물성을 얻어낼 수 있다. 
존재하는 데이터에 영향을 받지 않는다. 
데이터에 편향되지 않는다. 제일원리 계산의 정밀도에 편향될 수 있다. 
계산양에 편향될 수 있다. 계산시간이 충분하지 않으면 발생할 수 있다.
계산양이 많을 수 있다. 실험적으로 합성이 쉽게 되지 않을 가능성이 높다.

실험적으로 합성할 수 있는가?라는 질문에 일반적으로 대답을 할 수는 없지만 이론상으로 특정 물성이 가장 뛰어난 결정구조를 이론적으로 설계하는 것은 가능하다. 다수의 예제들이 있다. 
최고 수준의 성능지수를 가지는  광전, LED, 위상 물질, 고이동도, 초전도 물질 등의 설계가 가능하다.
광역최적화에서 해들의 다양성을 존중하는 것이 매우 중요함을 지적한다.
지난호 보기 | 물리학과 첨단기술 (kps.or.kr) 첫번째 특집(인공지능 기반 연구)
지난호 보기 | 물리학과 첨단기술 (kps.or.kr) 두번째 특집(인공지능 기반 연구)
인공지능의 도구들 중에 매우 넓은 분야에 활용되는 도구로서 인공신경망을 들 수 있다.
인공신경망을 알려진 데이터, 또는 얻어낼 수 있는 데이터로 훈련을 시키면 많은 새로운 일들을 할 수 있다.
특정한 일을 할 수 있도록 인공신경망을 훈련시킬 수 있다. 
결정구조를 만들어낼 수 있도록 인공신경망을 훈련시킬 수 있다.

인공신경망(artificial neural network)을 활용하여 결정구조를 찾는 것도 가능하다. 
다시 말해서, 기존의 데이터를 학습하는 과정을 이용하려고 한다. 
현재까지 알려진 대부분의 결정구조들은 웹페이지를 통해서 얻을 수 있다.

결정구조(crystal structure)뿐만아니라 기본 물성들을 얻어낼 수 있다. 
API를 사용하여 쉽게 다운로드 받을 수도 있다.

지도학습을 도식적으로 나타내면 아래와 같다.

\[ \vec{X} \rightarrow \vec{y} \]

{X, y} 형식의 데이터가 알려져 있을 때, 훈련을 통해서 입출력의 상관관계를 알아낼 수 있다면, 새로운 데이터 X에 대해서 y를 얻어낼 수 있다는 것이다.
이러한 체계는 알려지지 않은 복잡한 인과관계가 있는 일반적인 회귀나 분류에 적용될 수 있는 것이다. 
이러한 인과관계 특성은 데이터를 기반으로 한 인공신경망의 학습을 통해서 얻어진다.

분류와 회귀 이외에도 인공신경망이 활용된다. 분류와 회귀는 데이터를 차별해 내는 것이다.
분류 모델 이외에, 인공신경망을 활용하면, 생성모델의 구성도 가능하다.


기존 데이터에 대한 훈련을 전제로 하는 인공신경망은 매우 다양한 방법으로 활용할 수 있다.
분자구조, 결정구조들을 인공신경망이 학습할 수 있다.
학습을 바탕으로 새로운 구조들 만들 수 있고, 물성도 예측할 수 있다.
 
바로 직접적으로 원자구조를 얻어낼 수 있지만, 제일원리 계산을 통한 검증이 필요하다. 
실험을 하는 것보다는 제일원리 계산을 먼저 수행해 보는 것이 타당하다.
사실, 인공신경망으로 얻어진 결정구조가 최적화된 결정구조라는 보장은 어디에도 없다.

기계학습의 정밀도에 따라서 제일원리 계산을 통한 검정이 필요할 것이다.
하지만, 제대로 작동한다면 굉장히 간단한 계산으로도 매우 유용한 정보들을 얻어낼 수 있을 것이다.

생성모델을 인공신경망으로 만들 수 있다. 
인공신경망을 사용하는 방법과 진화학습 방법을 사용하는 방법의 비교가 필요하다.
계산양으로 따지면 진화학습 방법이 더 많은 계산을 하게 된다. 
윈칙적으로 보다 더 좋은 성능을 발휘할 수 있다.

인공신경망을 활용하는 경우, 매우 좋은 표현식(representation)을 개발해야 한다는 부담이 있다. 
아울러, 좋은 데이터베이스를 확보해야한다. 
비교적 간단한 계산으로 새로운 해들을 만들어 낼 수 있다.
물성을 잠재공간에서 회귀분석할 수 있다. 이를 활용하면, 잠재공간에서 물성 최적화도 이론적으로 가능하다.
하지만, VAE(variational autoencoder)를 활용한 생성모델의 한계도 잘 알려져 있다. 
진화학습 방법에 비해서 보다 다양한 해들을 쉽게 생성하지 못한다.
GAN, RNN을 활용한 경우도 마찬가지이다.

인공신경망, VAE를 사용하는 방법도 가능하다.
기존의 데이터로 부터 원하는 물성 공간의 '암호'를 뽑아내는 것이 목표이다.
물성 공간을 어림 짐작할 수 있는것은 여러개의 '암호'들을 확보하면 어느 정도 가능하다.
새로운 임의의 '암호'를 만들어낸 다음에 준비된 해독기(decoder)로 해독하면 새로운 물성을 가지는 결정구조를 만들어 낼 수 있다.

인공신경망을 활용하여 최적화를 수행할 수 있다. 
실제 함수를 계산하지 않고, 현재까지 구축된 대리모델을 이용하는 것이다.
대리모델은 인공신경망으로 만들어진 함수를 의미한다. 
데이터가 지속적으로 추가될 수록 실제 함수와 가까워 질 것이다. 
이것이 베이지안 옵티마이제이션이다. 베이즈 확률론을 사용하는 것이다.

인공신경망(artificial neural network)을 활용한 방법과 진화학습(evolutionary learning) 방법이 경쟁하고 있다. 
한 가지 확실한 것은 진화학습 방법이 좀더 일반적이라는 것이다. 
인공신경망의 사전 학습이 수행되는 것이 아니다. 최적화 과정에서 변이, 교차를 수행할 때 학습이 수행된다.
물론, 계산의 복잡도는 매우 높다. 

생성모델들에서 발견되는 변이/교차 작업에 해당하는 계산들은 기본적으로 인공신경망들이 사전에 학습되었다는 전제를 가지고 있다.

반면, 인공신경망을 활용하는 것들은 매우 빠른 실행 속도로 일을 처리한다는 특징이 있다. 
제일원리 계산을 피한다는 기계학습의 전제가 보다 더 깊숙히 깔려있다.  
인공신경망을 활용한 응용 논문들의 수는 증가일로에 있다.
model free optimization == genetic algorithm
model based optimization == Bayesian optimization


\[ data \rightarrow encoder \rightarrow latent ~ space \rightarrow decoder   \]

\[  latent ~space \rightarrow decorde = generator \]
다양성을 확보한 유전 알고리듬(genetic algorithm, GA)은 기존의 인공신경망을 활용한 방법보다 더 다양한 해들을 제공할 수 있다.
이것은 기존의 다른 논문의 결론과 일치하는 것이다. 
GA을 활용하는 것이 인공신경망을 활용하는 것보다 더 다양한 해를 얻을 수 있다는 사실과 일치한다. 
아울러, 효율적인 최적화가 가능하다. 이것은 CSA 방법에서 주장한 내용과 동일한 것이다.


인공지능 기반 설계 물질들은 철저한 검증작업이 필요하다.

---------------------------------------------------------------------------------------------------------------------

결정구조 찾기와 사실상 동일한 부류의 계산들이 화학분야에서 많이 수행되었다.
이것은 곧바로 신약 설계와 연결된 분야이다. 
화학분야에서는 주로 분자들을 다루는데, 분자들을 문자들로 표현하고 이러한 문자들을 잘 이해하므로써 새로운 분자들을 이론적으로 쉽게 만들어낼 수 있다. 
일관된 하나의 방식으로 표현하고 생성해 낼 수 있다. 여전히 실험 측정과는 동떨어진 것이라고 볼 수 있다. 
하지만, 사실상 알려진 모든 분자들을 한꺼번에 취급하는 것에 주목해야 한다. 
좀 더 일반적으로 분자들을 컴퓨터에서 다룰 수 있게 된 점은 분명하다. 

재료 분야에서는 결정구조를 다룬다. 
분자구조를 다루는 점만이 다를뿐이다.
쉽게 말하면, 다양하고 무수히 많이 있는 분자구조들 중에서 신약이 될 수 있는 것을 찾아내는 문제이다.

신약 하나 개발하는데 필요한 돈과 시간은 각각 one billion dollars (= 1조 1천억원), 13년 정도로 알려져 있다.
평균적으로 그렇다는 것이다. 조금 더 쉬운 약도 있고, 조금 더 어려운 약도 있다는 것이다.

이러한 형국에서 계산양의 부담 때문에 새로운 물질의 찾기를 시작하지 않는 것은 어불성설이다.
다소 비싸더라도 꼭 시도해야 하는 것이다. 경제적으로 가치가 있는 일이다.

가능한 분자들의 수:
\[ 10^{60}\]


재료을 하나 잘 사용할 수 있게 하는데는 20년 이상의 시간이 필요하다. 
39개의 문자들이 순서대로 정확하게 'to be or not to be that is the question'이 될 가능성은 매우 많은 문자 배열들 중에서 특정한 하나에 해당한다. 얼마나 많은 가능성이 있는냐?

영문자 26개 더하기 1개의 빈칸(blank)를 고려하고 있다. 즉, 27개의 문자들을 허용하고 있다.
문장의 길이는 39이다.

\[ 27^{39} = 6.7 \times 10^{55} \] 

이렇게 많은 가능성을 가지고 있는 문자열들에서 하나의 문자열을 어떻게 찾을 수 있는가?

우선, 목적함수를 이용한다. 39점 만점이 되게 목적함수를 정의할 수 있다.
정해진 자리에 정확하게 정해진 문자가 있을 때, 1점을 준다.

점수는 합산으로 얼마든지 고득점이 가능한 구조이다. 따라서, 100개로 구성된 임의의 문자열들을 가정하다.
어느 하나라도 1점을 확보하고 있는 부모가 다음 세대 자식을 만들 경우, 쉽게 2점을 확보할 가능성이 열려 있다.

위의 그림에서 처럼, 분자들을 문자열로 표현할 수 있다. 이것을 SMILES라고 한다. 
이렇게 하여 다양한 분자들을 표현할 수 있다.

400 nm 빛을 잘 흡수하는 분자들을 찾아낼 수 있다.
목적함수를 특정 파장으로 국한하고, oscillator strength 값이 큰 것들을 취급할 수 있게 한다.


핑백

덧글

  • 2021/10/16 16:13 # 답글 비공개

    비공개 덧글입니다.
  • 바죠 2021/03/25 16:18 # 삭제 답글

    https://news.naver.com/main/read.nhn?mode=LSD&mid=shm&sid1=105&oid=081&aid=0003173333

댓글 입력 영역

최근 포토로그



MathJax