표현자과 다양성에 대해서 [기계학습] by 바죠

기계학습(machine learning), 표현자(representation)과 다양성(diversity)에 대해서

기계학습의 3요소: 표현자(representation), 성능지수(evaluation) , 최적화(optimization)  
궁극적으로 필요한 것은 높은 성능지수이다. (사람보다 훨씬 더 정밀하게 특정한 일을 할 수 있는가?, 사실 동등 수준이면 O.K.)
인공신경망 가중치 파라메터들은 최적화방법을 통해서 결정된다. 
(기계학습을 통해서 얻게되는 인공신경망을 구성하는 정보는 저장된다.)
기계학습에서 가장 중요한 것은, 가장 어려운 것은 표현식을 개발하는 것이다. 보다 좋은 표현식을 개발하는 것이다.
궁극적으로는 가장 좋은 표현자(표현식)을 개발하는 것이 가장 기본이다. 문제마다 가장 이상적인 표현자을 찾아야 한다.
많은 경우, 풀고있는 문제에 하나의 표현자을 활용한다. 항상 새로운 표현자을 고려해 보아야한다. 더 좋은 표현자이 있지 않을까?


특히, representation의 중요성이 특별히 강조된 경우를 살펴보고자 한다.
각종 분자모형을 1차원 표현식으로 다루는 것 중 하나가 SMILES이다. https://en.wikipedia.org/wiki/Simplified_molecular-input_line-entry_system

굉장히 오랬동안 사용되어온 1차원 형식의 분자표현 방식이다.  [숫자와 기호를 포함하는 일차원으로 표현된 문자열이다.]
많은 경우, 기계학습 분야에서는 1차원 형식의 표현자을 선호한다. 
최근의 한 논문에서 이보다 더 좋은 분자 표현 방식을 발표했다.
SMILES 보다는 SELFIES가 더 좋다.
더 좋은 representation을 개발한 하나의 예가 될 수 있다.
분자설계를 할 때 사용하는 SMILES 표현자 보다 새롭게 개발된 SELFIES라는 표현 방식이 더 좋다.
왜 좋은가? 왜 SELFIES가 SMILES보다 좋다고 할 수 있는가?
다양한 분자를 더 쉽게 만들어 낼 수 있기 때문이다. 표현력이 더 뛰어나기 때문이다. 변이, 교차를 쉽게 실행할 수 있다.


one-hot encodings of SMILES and SELFIES

잠재공간(latent space)에서 실제로 활용할 수 있는 공간 (녹색)
실제로 분자모양을 생산해 낼 수 있는 잠재공간을 녹색으로 표시했다. 물론, 분석을 통해서 만들어낼 수 있는 분자들의 다양성을 조사할 수 있다.

다양성을 어떻게 확보할 수 있는가?
여기서 다양성은 샘플링(sampling)관련한 내용이다. 샘플링은 얼마나 다양한 해들을 골고루 추출해 낼 수 있느냐를 말하는 것이다.

한 가지 방법으로 제시된 것을 보자. 여기서는 인공신경망을 활용한다. 
알려진 데이터를 이용하고 다양성 측면에서 차별 점수를 제시한다. 차별성이 강할수록 높은 차별점수를 준다.
물성점수 J와 같은 개념이다. 원하는 물성에 가까울수록 높은 물성점수를 준다.
arXiv:1909.11655v4


rotationally invariant fingerprint:

---------------------------------------------------------------------------------------------------------------------
실제 응용에서는 보다 더 다양한 분자들을 쉽게 얻어낼 수 있어야한다. 
유전 알고리듬의 경우, 교차, 변이를 이용해서 새로운 형식의 분자를 얻어낸다.

VAE(variational autoencoder)의 경우, 잠재공간에서 새로운 분자 생성이 이론적으로는 가능하다. 
하지만, 잠재공간 전체가 쓸모있는 공간인가하는 질문을 해야만한다. 
또한, 표현자가 얼마나 잘 새로운 분자를 쉽게 표현할 수 있는지도 질문해야 한다.

genetic algorithm(GA)이 VAE, GAN 방법 보다 더 쉽게 새로운 다양한 해들을 제공한다는 논문: https://arxiv.org/pdf/1909.11655.pdf
다양성을 강조할 수록 discriminator score는 증가한다. 
distance, vector, tensor --> invariant quantities
rotationally invariant representation


일반적으로 표현방식은 교차와 변이 연산과 밀접하게 연관되어 있다. 이러한 연산을 통해서 새로운 양식의 해를 쉽게 만들 수 있어야 한다.  
VAE, GAN(generative adversarial network)에서도 마찬가지이다. 직접적인 성능비교가 가능할 것이다.
가장 쉬운 비교대상은 GA(genetic algorithm) 일 것이다. GA 보다 더 다양한 해들을 만들어 낼 수 있는가?

근본적으로 원하는 물성을 가지는 구조를 찾는 문제이다. 이것은 유전 알고리듬(genetic algorithm)을 활용한 최적화 문제로 접근할 수 있다. 이를 통상 inverse problem이라고 한다. Genetic algorithm, VAE, GAN 모두 inverse problem에 적용할 수 있는 것들이다. 

진화적 학습 방법 (evolutionary learning method):

VAE (variational autoencoder): 

GAN (generative adversarial network):

AutoML-zero (Google, 2020):


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

https://arxiv.org/pdf/2111.02206.pdf
https://arxiv.org/ftp/arxiv/papers/2111/2111.01905.pdf


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

2012년이 딥러닝의 원년이다.
2011년 Relu 함수의 출현 : vanishing gradient problem 해결, 표현력이 높은 딥러닝이 시작됨.
2012년 Dropout 방법의 출현 : overfitting problem 해결, 정규화된 훈련이 가능함. regularization의 도입.
2012년 CNN 출현 : 방대한 이미지 데이터 처리 문제 해결, 비대칭 데이터에 대한 처리가 가능함.
2013년 VAE 출현: 생성모델로서 다양한 가능성을 제안함.
2014년 GAN 출현: 생성모델로서 많은 응용 가능성을 제안함.
2015년 TensorFlow 구현의 출현과 보급 : 실질적인 딥러닝의 민주화가 단행됨.
2016년 알파고 출현 : 바둑 정복
2017년 알파고 제로 출현 : tabula rasa, first-principles 방법을 이용하여 바둑 정복, 진정한 바둑의 정복이 가능함. 기보없이 바둑 정복함. 프로기사에게 절대로 지지 않는 사실상 바둑의 신이 탄생함. 바둑의 역사 5000년 Mastering the game of Go without human knowledge | Nature http://incredible.egloos.com/7372719
2017년 cycleGAN 출현 http://incredible.egloos.com/7530913
2018년 알파폴드 출현
2021년 플로어플랜닝 (반도체 칩 설계) A graph placement methodology for fast chip design | Nature
2021년 나우캐스팅 (단기 일기예보) https://www.nature.com/articles/s41586-021-03854-z
2022년 알파코드  https://alphacode.deepmind.com/



핑백

덧글

  • 바죠 2021/11/04 15:12 # 답글

    Materials Project --> computational
    Cambridge Structural Database (CSD) --> experimental
댓글 입력 영역

최근 포토로그