KR102547802B1 - 뉴럴 네트워크를 이용하여 화학 구조를 생성하는 장치 및 방법 - Google Patents
뉴럴 네트워크를 이용하여 화학 구조를 생성하는 장치 및 방법 Download PDFInfo
- Publication number
- KR102547802B1 KR102547802B1 KR1020180098373A KR20180098373A KR102547802B1 KR 102547802 B1 KR102547802 B1 KR 102547802B1 KR 1020180098373 A KR1020180098373 A KR 1020180098373A KR 20180098373 A KR20180098373 A KR 20180098373A KR 102547802 B1 KR102547802 B1 KR 102547802B1
- Authority
- KR
- South Korea
- Prior art keywords
- chemical structure
- neural network
- physical property
- value
- expression region
- Prior art date
Links
- 239000000126 substance Substances 0.000 title claims abstract description 290
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 262
- 238000000034 method Methods 0.000 title claims abstract description 115
- 230000000704 physical effect Effects 0.000 claims abstract description 158
- 230000036961 partial effect Effects 0.000 claims abstract description 65
- 230000004913 activation Effects 0.000 claims description 24
- 230000006870 function Effects 0.000 claims description 17
- 238000004422 calculation algorithm Methods 0.000 claims description 12
- 238000012886 linear function Methods 0.000 claims description 9
- 238000005457 optimization Methods 0.000 claims description 8
- 230000000306 recurrent effect Effects 0.000 claims description 7
- 239000010410 layer Substances 0.000 description 69
- 230000008569 process Effects 0.000 description 37
- 238000001994 activation Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 20
- IJGRMHOSHXDMSA-UHFFFAOYSA-N Atomic nitrogen Chemical compound N#N IJGRMHOSHXDMSA-UHFFFAOYSA-N 0.000 description 16
- 230000008859 change Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 12
- 238000004458 analytical method Methods 0.000 description 10
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 8
- 229910052799 carbon Inorganic materials 0.000 description 8
- 229910052757 nitrogen Inorganic materials 0.000 description 8
- QVGXLLKOCUKJST-UHFFFAOYSA-N atomic oxygen Chemical compound [O] QVGXLLKOCUKJST-UHFFFAOYSA-N 0.000 description 7
- 229910052760 oxygen Inorganic materials 0.000 description 7
- 239000001301 oxygen Substances 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000002068 genetic effect Effects 0.000 description 5
- 239000000463 material Substances 0.000 description 3
- 238000000611 regression analysis Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000004618 QSPR study Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000012769 display material Substances 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000002844 melting Methods 0.000 description 1
- 230000008018 melting Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000035772 mutation Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16C—COMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
- G16C20/00—Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
- G16C20/40—Searching chemical structures or physicochemical data
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16C—COMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
- G16C10/00—Computational theoretical chemistry, i.e. ICT specially adapted for theoretical aspects of quantum chemistry, molecular mechanics, molecular dynamics or the like
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16C—COMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
- G16C20/00—Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
- G16C20/70—Machine learning, data mining or chemometrics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/086—Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16C—COMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
- G16C20/00—Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
- G16C20/10—Analysis or design of chemical reactions, syntheses or processes
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16C—COMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
- G16C20/00—Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
- G16C20/30—Prediction of properties of chemical compounds, compositions or mixtures
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16C—COMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
- G16C20/00—Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
- G16C20/50—Molecular design, e.g. of drugs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Chemical & Material Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Crystallography & Structural Chemistry (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Evolutionary Biology (AREA)
- Physiology (AREA)
- Probability & Statistics with Applications (AREA)
- Medicinal Chemistry (AREA)
- Pharmacology & Pharmacy (AREA)
- Image Analysis (AREA)
- Analytical Chemistry (AREA)
- Chemical Kinetics & Catalysis (AREA)
Abstract
뉴럴 네트워크 장치를 이용하여 화학 구조를 생성하는 방법 및 장치가 개시된다.
본 실시예에 따르면, 기준 화학 구조에 대한 표현자 또는 이미지 내 특정 물성을 발현시키는 발현 영역을 결정할 수 있다. 또한, 발현 영역에 대응하는 기준 화학 구조 내 부분 구조를 변경함으로써 새로운 화학 구조를 생성할 수 있다.
본 실시예에 따르면, 기준 화학 구조에 대한 표현자 또는 이미지 내 특정 물성을 발현시키는 발현 영역을 결정할 수 있다. 또한, 발현 영역에 대응하는 기준 화학 구조 내 부분 구조를 변경함으로써 새로운 화학 구조를 생성할 수 있다.
Description
뉴럴 네트워크를 이용하여 화학 구조를 생성하는 장치 및 방법에 관한다.
뉴럴 네트워크(neural network)는 생물학적 뇌를 모델링한 컴퓨터 과학적 아키텍쳐(computational architecture)를 참조한다. 뉴럴 네트워크(neural network) 기술이 발전함에 따라, 다양한 종류의 전자 시스템에서 뉴럴 네트워크를 활용하여 입력 데이터를 분석하고 유효한 정보를 추출하고 있다.
최근에는, 뉴럴 네트워크 기술을 이용하여 화학 구조의 물성을 평가함으로써, 소재 개발에 사용될 화학 구조를 선별해내기 위한 연구가 활발히 진행되고 있다. 특히 뉴럴 네트워크 기술을 이용하여 여러 요구사항이 반영된 화학 구조를 새롭게 생성할 수 있는 기술이 요구된다.
뉴럴 네트워크를 이용하여 화학 구조를 생성하는 장치 및 방법을 제공하는데 있다. 또한, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다. 해결하려는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제1 측면은, 기준 화학 구조에 대한 표현자를 획득하는 단계; 상기 표현자를 학습된 뉴럴 네트워크에 입력하여 상기 기준 화학 구조에 대한 특정 물성의 물성 값을 산출하는 단계; 상기 표현자 내 상기 특정 물성을 발현시키는 발현 영역을 결정하는 단계; 및 상기 발현 영역에 대응하는 상기 기준 화학 구조 내 부분 구조를 변경함으로써 새로운 화학 구조를 생성하는 단계;를 포함하는 뉴럴 네트워크 장치를 이용하여 화학 구조를 생성하는 방법을 제공할 수 있다.
또한, 상기 학습된 뉴럴 네트워크를 해석함으로써 상기 표현자 중 상기 특정 물성을 발현시키는 발현 영역을 결정하는 단계;를 포함하는 방법을 제공할 수 있다.
또한, 상기 학습된 뉴럴 네트워크에 LRP(Layer-wise Relevance Propagation) 기법을 적용함으로써 상기 표현자 중 상기 특정 물성을 발현시키는 발현 영역을 결정하는 단계;를 포함하고, LRP 기법을 적용하기 위해 상기 학습된 뉴럴 네트워크의 노드에 적용되는 활성화 함수를 선형(linear) 함수로 지정하고, 최적화를 위해 MSE(Mean Square Error)를 지정하는 것인, 방법을 제공할 수 있다.
또한, 상기 표현자 내 상기 발현 영역의 비트 값을 획득하는 단계; 및 상기 비트 값에 유전 알고리즘(Genetics Algorithm)을 적용하여 상기 발현 영역에 대응하는 상기 부분 구조를 변경함으로써 새로운 화학 구조를 생성하는 단계;를 포함하는 방법을 제공할 수 있다.
또한, 상기 발현 영역에 대응하는 상기 기준 화학 구조 내 부분 구조를 변경함으로써 새로운 제 1 화학 구조를 생성하는 단계; 상기 제 1 화학 구조에 대한 표현자를 상기 학습된 뉴럴 네트워크에 입력하여 상기 제 1 화학 구조에 대한 특정 물성의 물성 값을 산출하는 단계; 및 상기 제 1 화학 구조에 대한 특정 물성의 물성 값이 기설정된 값 미만인 경우, 상기 발현 영역에 대응하는 상기 제 1 화학 구조 내 부분 구조를 변경함으로써 새로운 제 2 화학 구조를 생성하고, 상기 제 1 화학 구조에 대한 특정 물성의 물성 값이 기설정된 값 이상인 경우, 상기 제 1 화학 구조를 저장하는 단계;를 포함하는 방법을 제공할 수 있다.
또한, 본 개시의 제 2 측면은, 화학 구조를 생성하는 뉴럴 네트워크 장치에 있어서, 적어도 하나의 프로그램이 저장된 메모리; 및 상기 적어도 하나의 프로그램을 실행함으로써 뉴럴 네트워크를 구동하는 프로세서를 포함하고, 상기 프로세서는, 기준 화학 구조에 대한 표현자를 획득하는 단계; 상기 표현자를 학습된 뉴럴 네트워크에 입력하여 상기 기준 화학 구조에 대한 특정 물성의 물성 값을 산출하는 단계; 상기 표현자 내 상기 특정 물성을 발현시키는 발현 영역을 결정하는 단계; 및 상기 발현 영역에 대응하는 상기 기준 화학 구조 내 부분 구조를 변경함으로써 새로운 화학 구조를 생성하는 단계;를 포함하는, 뉴럴 네트워크 장치를 제공할 수 있다.
또한, 본 개시의 제 3 측면은, 기준 화학 구조에 대한 이미지를 획득하는 단계; 상기 이미지를 학습된 뉴럴 네트워크에 입력하여 상기 기준 화학 구조에 대한 특정 물성의 물성 값을 산출하는 단계; 상기 이미지 내 상기 특정 물성을 발현시키는 발현 영역을 결정하는 단계; 및 상기 발현 영역에 대응하는 상기 기준 화학 구조 내 부분 구조를 변경함으로써 새로운 화학 구조를 생성하는 단계;를 포함하는, 뉴럴 네트워크 장치를 이용하여 화학 구조를 생성하는 방법을 제공할 수 있다.
또한, 상기 학습된 뉴럴 네트워크를 해석함으로써 상기 표현자 중 상기 특정 물성을 발현시키는 발현 영역을 결정하는 단계;를 포함하는, 방법을 제공할 수 있다.
또한, 상기 학습된 뉴럴 네트워크에 LRP(Layer-wise Relevance Propagation) 기법을 적용함으로써 상기 표현자 중 상기 특정 물성을 발현시키는 발현 영역을 결정하는 단계;를 포함하고, LRP 기법을 적용하기 위해 상기 학습된 뉴럴 네트워크의 노드에 적용되는 활성화 함수를 선형(linear) 함수로 지정하고, 최적화를 위해 MSE(Mean Square Error)를 지정하는 것인, 방법을 제공할 수 있다.
또한, 상기 이미지 내 상기 발현 영역의 픽셀 값을 획득하는 단계; 및 상기 픽셀 값에 가우시안 노이즈(Gaussian Noise)를 적용하여 상기 발현 영역에 대응하는 상기 부분 구조를 변경함으로써, 새로운 화학 구조를 생성하는 단계;를 포함하는, 방법을 제공할 수 있다.
또한, 상기 이미지 내 상기 특정 물성을 발현시키는 발현 영역이 복수개인 경우, 상기 복수개의 발현 영역에 대응하는 좌표 정보를 획득하는 단계; 상기 좌표 정보에 기초하여 상기 복수개의 발현 영역에 대한 중심점을 산출하고, 상기 중심점의 픽셀 값을 획득하는 단계; 및 상기 픽셀 값에 가우시안 노이즈(Gaussian Noise)를 적용하여 상기 중심점에 대응하는 상기 부분 구조를 변경함으로써, 새로운 화학 구조를 생성하는 단계;를 포함하는, 방법을 제공할 수 있다.
또한, 상기 발현 영역에 대응하는 상기 기준 화학 구조 내 부분 구조를 변경함으로써 새로운 제 1 화학 구조를 생성하는 단계; 상기 제 1 화학 구조에 대한 이미지를 상기 학습된 뉴럴 네트워크에 입력하여 상기 제 1 화학 구조에 대한 특정 물성의 물성 값을 산출하는 단계; 및 상기 제 1 화학 구조에 대한 특정 물성의 물성 값이 기설정된 값 미만인 경우, 상기 발현 영역에 대응하는 상기 제 1 화학 구조 내 부분 구조를 변경함으로써 새로운 제 2 화학 구조를 생성하고, 상기 제 1 화학 구조에 대한 특정 물성의 물성 값이 기설정된 값 이상인 경우, 상기 제 1 화학 구조를 저장하는 단계;를 포함하는, 방법을 제공할 수 있다.
또한, 본 개시의 제 4 측면은, 화학 구조를 생성하는 뉴럴 네트워크 장치에 있어서, 적어도 하나의 프로그램이 저장된 메모리; 및 상기 적어도 하나의 프로그램을 실행함으로써 뉴럴 네트워크를 구동하는 프로세서를 포함하고, 상기 프로세서는, 기준 화학 구조에 대한 이미지를 획득하고, 상기 이미지를 학습된 뉴럴 네트워크에 입력하여 상기 기준 화학 구조에 대한 특정 물성의 물성 값을 산출하고, 상기 이미지 내 상기 특정 물성을 발현시키는 발현 영역을 결정하며, 상기 발현 영역에 대응하는 상기 기준 화학 구조 내 부분 구조를 변경함으로써 새로운 화학 구조를 생성하는 것인, 뉴럴 네트워크 장치를 제공할 수 있다.
또한, 본 개시의 제 5 측면은, 제 1 및 제 3 측면의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.
본 발명에 따르면, 학습된 뉴럴 네트워크를 해석하여 화학 구조에 대한 물성을 발현시키는 부분 구조를 특정할 수 있다. 또한, 특정된 부분 구조를 변경함으로써 더 향상된 물성을 갖는 새로운 화학 구조를 생성할 수 있다.
도 1은 일 실시예에 따른 뉴럴 네트워크 장치의 하드웨어 구성을 도시한 블록도이다.
도 2는 일 실시예에 따른 딥 뉴럴 네트워크(Deep Neural Network, 이하 DNN)에서 수행되는 연산을 설명하는 도면이다.
도 3은 일 실시예에 따른 순환 뉴럴 네트워크(Recurrent Neural Network, 이하 RNN)에서 수행되는 연산을 설명하는 도면이다.
도 4는 일 실시예에 따른 화학 구조를 생성하는 뉴럴 네트워크 시스템을 도시하는 개념도이다.
도 5는 일 실시예에 따른 화학 구조를 표현하는 방식을 설명하는 도면이다.
도 6은 일 실시예에 따른 뉴럴 네트워크를 해석하는 방법을 설명하는 도면이다.
도 7은 일 실시예에 따른 표현자의 발현 영역을 변경하여 새로운 화학 구조를 생성하는 예시를 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 표현자의 비트 값을 변경함으로써 부분 구조를 변경하는 예시를 설명하기 위한 도면이다.
도 9는 일 실시예에 따른 이미지의 픽셀 값을 변경함으로써 부분 구조를 변경하는 예시를 설명하기 위한 도면이다.
도 10은 일 실시예에 따른 이미지 상의 발현 영역이 복수개인 경우 픽셀 값을 변경하는 예시를 설명하기 위한 도면이다.
도 11은 일 실시예에 따른 뉴럴 네트워크 장치에서 화학 구조에 대한 표현자를 변경하여 새로운 화학 구조를 생성하는 방법을 설명하는 흐름도이다.
도 12는 일 실시예에 따른 뉴럴 네트워크 장치에서 화학 구조에 대한 이미지를 변경하여 새로운 화학 구조를 생성하는 방법을 설명하는 흐름도이다.
도 2는 일 실시예에 따른 딥 뉴럴 네트워크(Deep Neural Network, 이하 DNN)에서 수행되는 연산을 설명하는 도면이다.
도 3은 일 실시예에 따른 순환 뉴럴 네트워크(Recurrent Neural Network, 이하 RNN)에서 수행되는 연산을 설명하는 도면이다.
도 4는 일 실시예에 따른 화학 구조를 생성하는 뉴럴 네트워크 시스템을 도시하는 개념도이다.
도 5는 일 실시예에 따른 화학 구조를 표현하는 방식을 설명하는 도면이다.
도 6은 일 실시예에 따른 뉴럴 네트워크를 해석하는 방법을 설명하는 도면이다.
도 7은 일 실시예에 따른 표현자의 발현 영역을 변경하여 새로운 화학 구조를 생성하는 예시를 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 표현자의 비트 값을 변경함으로써 부분 구조를 변경하는 예시를 설명하기 위한 도면이다.
도 9는 일 실시예에 따른 이미지의 픽셀 값을 변경함으로써 부분 구조를 변경하는 예시를 설명하기 위한 도면이다.
도 10은 일 실시예에 따른 이미지 상의 발현 영역이 복수개인 경우 픽셀 값을 변경하는 예시를 설명하기 위한 도면이다.
도 11은 일 실시예에 따른 뉴럴 네트워크 장치에서 화학 구조에 대한 표현자를 변경하여 새로운 화학 구조를 생성하는 방법을 설명하는 흐름도이다.
도 12는 일 실시예에 따른 뉴럴 네트워크 장치에서 화학 구조에 대한 이미지를 변경하여 새로운 화학 구조를 생성하는 방법을 설명하는 흐름도이다.
본 명세서에서 다양한 곳에 등장하는 "일부 실시예에서" 또는 "일 실시예에서" 등의 어구는 반드시 모두 동일한 실시예를 가리키는 것은 아니다.
본 개시의 일부 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “매커니즘”, “요소”, “수단” 및 “구성”등과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다.
또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다.
한편, 본 명세서에서 사용된 용어와 관련하여, 뉴럴 네트워크 시스템에서 이용되는 데이터인 표현자(descriptor)는 화학 구조의 구조적 특징을 표현하기 위해 사용되는 지표 값으로서, 주어진 화학 구조에 대해서 비교적 간단한 연산 처리를 수행함으로써 획득될 수 있는 값이다. 일 실시예에서 표현자는 특정한 부분 구조의 포함 여부를 표시하는 분자 구조 핑거프린트(fingerprint)(예를 들어, Morgan Fingerprint, Extended Connectivity Fingerprint(ECFP) 등)일 수 있다. 또한, 표현자는 분자량이나 분자 구조 내에 포함된 부분 구조(예를 들어, 링)의 개수 등과 같이 주어진 화학 구조로부터 바로 계산될 수 있는 값으로 구성된 정량적 구조-물성 상관관계(quantitative structure-property relationships, QSPR) 모델일 수 있다.
또한, 물성(property)은 화학 구조의 성질을 의미하며, 실험을 통해 측정되거나 시뮬레이션을 통해 계산된 실수 값일 수 있다. 예를 들어, 화학 구조가 디스플레이 소재로 사용되는 경우, 화학 구조의 물성은 빛에 대한 투과 파장, 발광 파장 등으로 표현될 수 있다. 또한, 화학 구조가 배터리 소재로 사용되는 경우, 화학 구조의 물성은 전압이 될 수 있다. 표현자의 경우와는 달리, 물성을 계산하는 데에는 복잡한 시뮬레이션이 필요하고 많은 시간이 소모될 수 있다.
또한, 구조(structure)는 화학 구조의 원자(atom) 레벨의 구조를 의미한다. 제1원리 양자 계산(First Principles Calculation)을 수행하여 물성을 도출하기 위해서, 원자 레벨로 구조가 표현될 것이 요구되므로, 신규 화학 구조를 생성하기 위해서는 원자 레벨의 구조가 도출될 수 있어야 한다. 구조는, 원자와 원자 간의 연결 관계(bond)에 기반하는 구조식일 수 있고, 간단한 형식의 문자열(1차원) 형태일 수도 있다. 구조를 표현하는 문자열 형식으로서, SMILES(Simplified Molecular-Input Line-Entry System) 코드, SMARTS(Smiles Arbitrary Target Specification) 코드 또는 InChi(International Chemical Identifier) 코드 등이 있다.
또한, 인자는 표현자, 물성 및 구조 간의 관계를 규정하는 요소이다. 인자는 데이터베이스에 저장된 표현자-물성-구조식 관계를 바탕으로 기계 학습을 수행함으로써 결정될 수 있다. 이로써 인자가 표현자, 물성, 그리고 구조식과 어떻게 연결되어 있는지 알아낼 수 있다.
이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.
도 1은 일 실시예에 따른 뉴럴 네트워크 장치의 하드웨어 구성을 도시한 블록도이다.
뉴럴 네트워크 장치(100)는 PC(personal computer), 서버 디바이스, 모바일 디바이스, 임베디드 디바이스 등의 다양한 종류의 디바이스들로 구현될 수 있고, 구체적인 예로서 뉴럴 네트워크를 이용한 음성 인식, 영상 인식, 영상 분류 등을 수행하는 스마트폰, 태블릿 디바이스, AR(Augmented Reality) 디바이스, IoT(Internet of Things) 디바이스, 자율주행 자동차, 로보틱스, 의료기기 등에 해당될 수 있으나, 이에 제한되지 않는다. 나아가서, 뉴럴 네트워크 장치(100)는 위와 같은 디바이스에 탑재되는 전용 하드웨어 가속기(HW accelerator)에 해당될 수 있고, 뉴럴 네트워크 장치(100)는 뉴럴 네트워크 구동을 위한 전용 모듈인 NPU(neural processing unit), TPU(Tensor Processing Unit), Neural Engine 등과 같은 하드웨어 가속기일 수 있으나, 이에 제한되지 않는다.
도 1을 참조하면, 뉴럴 네트워크 장치(100)는 프로세서(110) 및 메모리(120)를 포함한다. 도 1에 도시된 뉴럴 네트워크 장치(100)에는 본 실시예들와 관련된 구성요소들만이 도시되어 있다. 따라서, 뉴럴 네트워크 장치(100)에는 도 1에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음은 당해 기술분야의 통상의 기술자에게 자명하다.
프로세서(110)는 뉴럴 네트워크 장치(100)를 실행하기 위한 전반적인 기능들을 제어하는 역할을 한다. 예를 들어, 프로세서(110)는 뉴럴 네트워크 장치(100) 내의 메모리(120)에 저장된 프로그램들을 실행함으로써, 뉴럴 네트워크 장치(100)를 전반적으로 제어한다. 프로세서(110)는 뉴럴 네트워크 장치(100) 내에 구비된 CPU(central processing unit), GPU(graphics processing unit), AP(application processor) 등으로 구현될 수 있으나, 이에 제한되지 않는다.
메모리(120)는 뉴럴 네트워크 장치(100) 내에서 처리되는 각종 데이터들을 저장하는 하드웨어로서, 예를 들어, 메모리(120)는 뉴럴 네트워크 장치(100)에서 처리된 데이터들 및 처리될 데이터들을 저장할 수 있다. 또한, 메모리(120)는 뉴럴 네트워크 장치(100)에 의해 구동될 애플리케이션들, 드라이버들 등을 저장할 수 있다. 메모리(120)는 DRAM(dynamic random access memory), SRAM(static random access memory) 등과 같은 RAM(random access memory), ROM(read-only memory), EEPROM(electrically erasable programmable read-only memory), CD-ROM, 블루레이 또는 다른 광학 디스크 스토리지, HDD(hard disk drive), SSD(solid state drive), 또는 플래시 메모리를 포함할 수 있다.
메모리(120)에는 화학 구조에 대한 표현자 및 화학 구조의 물성을 수치적으로 나타내는 물성 값이 매칭되어 하나의 세트로 저장될 수 있다. 뉴럴 네트워크 장치(100)는 메모리(120)로부터 표현자 및 이에 대응하는 물성 값을 독출하거나, 메모리(120)에 표현자 및 이에 대응하는 물성 값을 기록할 수 있다. 일 실시예에서 표현자는 복수의 비트 값으로 구성될 수 있고, 물성 값은 투과 파장, 발광 파장, 전압 등에 대한 값일 수 있다.
또는, 도 1에 도시되지는 않았으나, 메모리(120)에는 화학 구조에 대한 이미지 및 화학 구조의 물성을 수치적으로 나타내는 물성 값이 매칭되어 하나의 세트로 저장될 수 있다. 일 실시예에서 이미지는 n X m (여기서, n 및 m은 자연수) 픽셀로 구성될 수 있다. 이하에서, 표현자에 관한 설명은, 표현자를 이미지로 대체하여도 동일하게 적용된다.
또한, 메모리(120)에는 화학 구조를 나타내는 구조 특징 값이 표현자 및 물성 값과 매칭되어 하나의 세트로 저장될 수도 있다. 구조 특징 값은 화학 구조를 표현하는 문자열 형식으로서, SMILES 코드 또는 SMARTS 코드일 수 있다.
프로세서(110)는 딥 뉴럴 네트워크(Deep Neural Network, 이하 DNN), 순환 뉴럴 네트워크(Recurrent Neural Network, 이하 RNN)과 같은 인공 뉴럴 네트워크(Artificial Neural Network, 이하 ANN)를 구동할 수 있다.
프로세서(110)는 표현자 및 표현자에 대응하는 물성 값을 이용하여 DNN을 학습시킬 수 있고, 이 과정에서 표현자와 물성 값 간의 관계를 규정하는 인자를 결정할 수 있다. 이후, 프로세서(110)는 DNN의 학습 과정에서 이용되지 않은 새로운 표현자를 입력 데이터로 이용하여 학습된 DNN을 구동시킴으로써, 출력 데이터로서 새로운 표현자에 대응하는 물성 값을 산출할 수 있다.
프로세서(110)는 표현자 및 구조 특징 값을 이용하여 RNN을 학습시킬 수 있고, 이 과정에서 표현자와 구조 특징 값간의 관계를 규정하는 인자를 결정할 수 있다. 이후, 프로세서(110)는 RNN의 학습 과정에서 이용되지 않은 새로운 표현자를 입력 데이터로 이용하여 학습된 RNN을 구동시킴으로써, 출력 데이터로서 새로운 표현자에 대응하는 구조 특징 값을 산출할 수 있다.
한편, 뉴럴 네트워크 장치(100)는 사용자 인터페이스(미도시)를 더 포함할 수 있다. 사용자 인터페이스는, 뉴럴 네트워크 장치(100)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 인터페이스에는 키 패드(key pad), 돔 스위치(dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.
도 2는 일 실시예에 따른 딥 뉴럴 네트워크(Deep Neural Network, 이하 DNN)에서 수행되는 연산을 설명하는 도면이다.
도 2를 참조하면, DNN(20)은 입력 레이어, 히든 레이어들 및 출력 레이어를 포함하는 구조를 가지며, 수신되는 입력 데이터(예를 들어, 및 )를 기초로 연산을 수행하고, 수행 결과를 기초로 출력 데이터(예를 들어, 및 )를 산출할 수 있다.
예를 들어, 도 2에 도시된 바와 같이, DNN(20)은 입력 레이어(Layer 1), 2개의 히든 레이어들(Layer 2 및 Layer 3) 및 출력 레이어(Layer 4)를 포함할 수 있다. DNN(20)은 유효한 정보를 처리할 수 있는 보다 많은 레이어들을 포함하므로, DNN(20)은 싱글 레이어를 갖는 뉴럴 네트워크보다 복잡한 데이터 집합들을 처리할 수 있다. 한편, DNN(20)은 4개의 레이어들을 포함하는 것으로 도시되어 있으나, 이는 예시에 불과할 뿐 DNN(20)은 더 적거나 많은 레이어들을 포함하거나, 더 적거나 많은 채널들을 포함할 수 있다. 즉, DNN(20)은 도 2에 도시된 것과는 다른, 다양한 구조의 레이어들을 포함할 수 있다.
DNN(20)에 포함된 레이어들 각각은 복수의 채널들을 포함할 수 있다. 채널은 뉴런(neuron), 프로세싱 엘리먼트(Processing element, PE), 유닛(unit) 또는 이와 유사한 용어들로 알려진, 복수의 인공 노드(artificial node)들에 해당될 수 있다. 예를 들어, 도 2에 도시된 바와 같이, Layer 1은 2개의 채널들(노드들), Layer 2 및 Layer 3 각각은 3개의 채널들을 포함할 수 있다. 다만, 이는 예시에 불과할 뿐 DNN(20)에 포함된 레이어들 각각은 다양한 개수의 채널들(노드들)을 포함할 수 있다.
DNN(20)의 레이어들 각각에 포함된 채널들은 서로 연결되어 데이터를 처리할 수 있다. 예를 들어, 하나의 채널은 다른 채널들로부터 데이터를 수신하여 연산할 수 있고, 연산 결과를 또 다른 채널들로 출력할 수 있다.
채널들 각각의 입력 및 출력 각각은 입력 액티베이션 및 출력 액티베이션이라고 지칭될 수 있다. 즉, 액티베이션은 한 채널의 출력임과 동시에, 다음 레이어에 포함된 채널들의 입력에 해당되는 파라미터일 수 있다. 한편, 채널들 각각은 이전 레이어에 포함된 채널들로부터 수신된 액티베이션들 및 웨이트들에 기초하여 자신의 액티베이션을 결정할 수 있다. 웨이트는 각 채널에서의 출력 액티베이션을 계산하기 위해 이용되는 파라미터로서, 채널들 간의 연결관계에 할당되는 값일 수 있다.
채널들 각각은 입력을 수신하여 출력 액티베이션을 출력하는 연산 유닛(computational unit) 또는 프로세싱 엘리먼트(processing element)에 의해 처리될 수 있고, 채널들 각각의 입력-출력은 매핑될 수 있다. 예를 들어, 는 액티베이션 함수(activation function)이고, 는 (i-1) 번째 레이어에 포함된 k 번째 채널로부터 i 번째 레이어에 포함된 j번째 채널로의 웨이트며, 는 i 번째 레이어에 포함된 j 번째 채널의 바이어스(bias)이고, 는 i 번째 레이어의 j 번째 채널의 액티베이션이라고 할 때, 액티베이션 는 다음과 같은 수학식 1을 이용하여 계산될 수 있다.
도 2에 도시된 바와 같이, 2번째 레이어(Layer 2)의 첫 번째 채널(CH 1)의 액티베이션은 로 표현될 수 있다. 또한, 은 수학식 1에 따라 의 값을 가질 수 있다. 상기 수학식 1의 는 Relu, sigmoid, tanh 등과 같은 활성함수를 의미하며, 결과적으로 특정 레이어의 특정 채널의 액티베이션은, 값을 활성함수에 통과시킨 결과 값을 의미할 수 있다.
다만, 앞서 설명한 수학식 1은 DNN(20)에서 데이터를 처리하기 위해 이용되는 액티베이션 및 웨이트를 설명하기 위한 예시일 뿐, 이에 제한되지 않는다.
일 실시예에서, 뉴럴 네트워크 장치는 메모리에 저장된 표현자(또는 이미지) 및 물성 값 세트를 이용하여 DNN(20)을 학습시킬 수 있다. 표현자(또는 이미지) 및 물성 값을 이용한 학습 과정에서, DNN(20)은 표현자(또는 이미지)와 물성 값 간의 관계를 규정하는 인자를 결정할 수 있다.
즉, DNN(20)을 구성하는 Layer 1 내지 Layer 4 중에서, 표현자(또는 이미지)는 입력 레이어인 Layer 1의 복수의 채널들(노드들)의 값에 대응되고, 물성 값은 출력 레이어인 Layer 4의 복수의 채널들(노드들)의 값에 대응되며, 인자는 적어도 하나의 히든 레이어(Layer 2 및/또는 Layer 3)의 복수의 채널들(노드들)의 값에 대응될 수 있다.
이후, 학습된 DNN(20)은 새로운 표현자(또는 새로운 이미지)를 입력 데이터로 입력 받아 구동됨으로써, 출력 데이터로서 입력된 새로운 표현자(또는 새로운 이미지)에 대응하는 물성 값을 산출할 수 있다.
도 3은 일 실시예에 따른 순환 뉴럴 네트워크(Recurrent Neural Network, 이하 RNN)에서 수행되는 연산을 설명하는 도면이다.
이하에서 도 2와 중복되는 설명은 편의상 생략하기로 한다.
RNN(30)은 시계열 데이터(time-series data)와 같이 시간의 흐름에 따라 변화하는 데이터를 학습하기 위한 뉴럴 네트워크로서, 기준 시점(t)과 다음 시점(t+1)에 네트워크를 연결하여 구성한 뉴럴 네트워크이다. 즉, RNN(30)은 뉴럴 네트워크의 히든 레이어에서 재귀적인 입력이 가능하도록 모델을 수정함으로써, 순차적으로(sequential) 입력되거나 피처(feature)의 시퀀스(sequence)가 입력으로 주어지는 데이터로부터 패턴을 효과적으로 학습 가능한, 시간적 측면이 고려된 뉴럴 네트워크이다.
도 3을 참조하면, RNN(30)의 히든 레이어를 구성하는 노드 s가 도시된다. 노드 s는 입력 데이터 x를 기초로 연산을 수행하여 출력 데이터 o를 산출할 수 있다. RNN(30)은 동일한 태스크를 모든 시퀀스에 대해 적용하며, 노드 s의 최종적인 출력 결과는 이전의 계산 결과에 영향을 받는다.
RNN(31)은 루프를 가지는 RNN(30)을 펼친 것이다. RNN(30)을 "펼친다"는 것은 RNN(30)을 전체 시퀀스에 대해 표현하였다는 것을 의미한다. RNN(31)에서 xt는 시간 스텝(time step) t에서의 입력 값이며, st는 시간 스텝 t에서의 히든 스테이트(hidden state)이다. st는 아래 수학식 2와 같이 표현될 수 있으며, 수학식 2 에서 함수 f로는 tanh 또는 Relu가 사용될 수 있으며, 첫 히든 스테이트를 계산하기 위한 s- 1는 일반적으로 0으로 초기화시킬 수 있다. 또한, RNN(31)에서 ot는 시간 스텝 t에서의 출력 값이다.
st는 네트워크의 메모리 부분으로서, st에는 이전의 시간 스텝들에서 일어난 일들에 대한 정보가 담겨있으며, 출력값 ot는 현재 시간 스텝 t의 메모리에만 의존한다.
한편, 각 레이어마다 파라미터 값들이 다른 기존의 뉴럴 네트워크 구조와 달리, RNN(31)은 모든 시간 스텝에 대해 파라미터 값(U, V 및 W)을 공유한다. 즉, RNN(31)의 각 스텝에서 입력값만 다를 뿐 거의 동일한 계산을 하므로, 학습해야 하는 파라미터 수를 줄일 수 있다.
일 실시예에서, 뉴럴 네트워크 장치는 메모리에 저장된 표현자(또는 이미지) 및 물성 값 세트를 이용하여 RNN(31)을 학습시킬 수 있다. 또는, 뉴럴 네트워크 장치는 DNN(20)의 학습 과정에서 결정된 인자 및 물성 값 세트를 이용하여 RNN(31)을 학습시킬 수 있다.
예를 들어, RNN(31)의 W는 DNN(20)의 학습 과정에서 결정된 인자이고, SMILES 코드로 표현되는 구조 특징 값이 "ABCD"일 때, Ot -1 및 xt는 "ABC", ot 및 xt+1은 "BCD"일 수 있다. 이후, 각 시간 스텝에서의 SMILES 코드가 집성(aggregation) 되어 하나의 SMILES 코드 "ABCDEFG", 즉, 구조 특징 값이 출력 데이터로서 산출될 수 있다.
이후, 학습된 RNN(31)은 새로운 표현자(또는 새로운 이미지)를 입력 데이터로 입력 받아 구동됨으로써, 출력 데이터로서 입력된 새로운 표현자(또는 새로운 이미지)에 대응하는 구조 특징 값을 산출할 수 있다. 또는, 학습된 RNN(31)은 새로운 표현자(또는 새로운 이미지)에 대한 인자를 입력 데이터로 입력 받아 구동됨으로써, 출력 데이터로서 입력된 새로운 표현자(또는 새로운 이미지)에 대응하는 구조 특징 값을 산출할 수 있다.
도 4는 일 실시예에 따른 화학 구조를 생성하는 뉴럴 네트워크 시스템을 도시하는 개념도이다.
도 4를 참조하면, DNN(410) 및 RNN(420)을 이용하여 화학 구조를 생성하는 뉴럴 네트워크 시스템이 도시된다.
뉴럴 네트워크 시스템에서 이용되는 데이터인 표현자는 화학 구조의 구조적 특징을 표현하기 위해 사용되는 지표 값으로서 ECFP로 표현될 수 있다. 물성은 화학 구조의 성질을 의미하며, 예를 들어, 빛에 대한 투과 파장, 발광 파장을 나타내는 실수 값일 수 있다. 구조는 화학 구조의 원자(atom) 레벨의 구조를 의미하며, SMILES 코드로 표현될 수 있다. 예를 들어, 수학식 3과 같이 SMILES 코드에 따라 구조식이 표현될 수 있다.
인자는 표현자, 물성 및 구조 간의 관계를 규정하는 요소이다. 인자는 적어도 하나의 히든 레이어일 수 있으며, 인자가 복수의 히든 레이어를 포함하는 경우 표현자와 물성 간의 관계를 규정하는 인자 및 표현자와 구조 간의 관계를 규정하는 인자 등은 각 히든 레이어 별로 결정될 수 있다.
DNN(410)은 표현자를 입력 데이터로 입력 받아 구동됨으로써, 출력 데이터로서 입력된 표현자에 대응하는 물성 값을 산출할 수 있다. 표현자 및 물성 값을 이용한 학습 과정에서, DNN(410)은 표현자와 물성 값 간의 관계를 규정하는 인자를 결정할 수 있다. RNN(420)은 표현자 또는 DNN(410)의 학습 과정에서 결정된 인자를 입력 데이터로 입력 받아 구동됨으로써, 출력 데이터로서 구조 특징 값을 산출할 수 있다.
도 5는 일 실시예에 따른 화학 구조를 표현하는 방식을 설명하는 도면이다.
도 5를 참조하면, 화학 구조(510)는 원자들의 화합 결합에 의하여 만들어지는 분자의 모양을 나타낸다. 화학 구조(510)는 원자의 위치, 원자 간 거리, 원자 간 결합의 세기 등으로 나타내어질 수 있다.
일 실시예에서 화학 구조(510)는 복수의 비트 값(1 또는 0)으로 구성되는 표현자(520)로 표시될 수 있다. 표현자(520)를 통해 특정한 부분 구조의 포함 여부를 확인할 수 있다.
다른 실시예에서 화학 구조(510)는 소정의 크기를 갖는 이미지(530)로 표시될 수 있다. 이미지(530)는 n X m (여기서, n 및 m은 자연수) 픽셀의 세 개의 채널(RGB(빨강, 녹색, 파랑))로 구성될 수 있다. 이미지(530)의 각 픽셀은 8비트 즉, 0(검정)에서 255(흰색)까지의 값이 할당될 수 있다. 예를 들어, 밝은 빨강은 R채널 값 246, G채널 값 20, B채널 값 50으로 합성되고, 모든 채널 값이 255이면 흰색이 된다.
이하에서는 설명의 편의상, 하나의 채널을 이용하여 화학 구조(510)가 이미지(530)로 표시되는 방법에 대해 설명하기로 한다.
화학 구조(510)를 구성하는 원자들 각각은 이미지(530) 상에서 서로 구분되는 색상으로 표시될 수 있다. 화학 구조(510)는 탄소(C), 질소(N) 및 산소(O)로 구성되는데, 이미지(530) 상에서 탄소(C)는 검정색, 질소(N)는 파란색, 산소(O)는 빨간색으로 표시될 수 있다.
도 5의 이미지(530)를 참조하면, 6x6 픽셀의 이미지(530) 상에서 화학 구조(510)의 탄소(C)가 위치하는 픽셀의 값은 '0'이 되고, 질소(N)가 위치하는 픽셀의 값은 '50'이 되며, 산소(O)가 위치하는 픽셀의 값은 '186'이 될 수 있다. 어떠한 원자도 존재하지 않는 이미지(530) 상의 픽셀의 값은 '255'가 될 수 있다.
한편, 이미지(530) 상에서 소정의 원자가 표시되는 색상 종류 및 이미지(530)를 구성하는 픽셀의 개수 등은 상술한 예로 제한되지 않는다.
화학 구조(510)에 대한 표현자(520) 또는 이미지(530)는 뉴럴 네트워크의 입력 데이터로 이용되어, 화학 구조(510)에 대한 특정 물성 값이 뉴럴 네트워크의 출력 데이터로 산출될 수 있다.
도 6은 일 실시예에 따른 뉴럴 네트워크를 해석하는 방법을 설명하는 도면이다.
뉴럴 네트워크 장치는 기준 화학 구조에 대한 특정 물성 값을 산출하기 위해, 기준 화학 구조에 대한 표현자 또는 이미지를 획득할 수 있다. 일 실시예에서 표현자는 복수의 비트 값으로 구성되고, 이미지는 n X m (여기서, n 및 m은 자연수) 픽셀로 구성될 수 있다.
뉴럴 네트워크 장치는 추론(inference) 과정(610)을 통해, 학습된 뉴럴 네트워크에 기준 화학 구조에 대한 표현자 또는 이미지를 입력 데이터로 입력하고 뉴럴 네트워크를 구동시킴으로써, 기준 화학 구조에 대한 특정 물성 값을 뉴럴 네트워크의 출력 데이터로서 획득할 수 있다.
이 때, 기준 화학 구조 내 어느 부분 구조에 의해 특정 물성 값이 발현되었는지 확인하기 위해, 뉴럴 네트워크 장치는 해석(interpretation) 과정(620)을 수행할 수 있다.
도 6을 참조하면, 일 실시예에서 뉴럴 네트워크 장치는 LRP(Layer-wise Relevance Propagation) 기법을 적용하여 학습된 뉴럴 네트워크를 해석할 수 있다. LRP 기법은 학습된 뉴럴 네트워크의 역방향(즉, 출력 레이어에서 입력 레이어 방향)으로 기여도(Relevance)을 전파하는 방법으로서, 각 레이어 사이에서 기여도가 전파될 때, 하위 레이어의 복수개의 노드들 중에서 상위 레이어에 가장 많은 기여를 하는 노드가 상위 레이어의 해당 노드로부터 가장 많은 기여도를 얻는 방식이다.
아래 수학식 4와 같이 LRP 기법에서 기여도를 산출하는 방식을 표현할 수 있다. 수학식 4에서 ai 및 aj는 i번째 레이어 및 j번째 레이어의 특정 노드에서 결정될 출력 값이고, w+ ij는 i번째 레이어 및 j번째 레이어의 특정 노드를 연결하는 웨이트 값이며, Ri 및 Rj는 각각 i번째 레이어 및 j번째 레이어의 특정 노드의 기여도를 나타낸다.
일 실시예에서 뉴럴 네트워크 장치는 LRP 기법의 적용을 위해, 회귀(regression) 분석 방법을 이용하여 학습된 뉴럴 네트워크의 노드에 적용되는 활성화 함수를 선형(linear) 함수로 지정하고, 최적화를 위해 MSE(Mean Square Error)를 지정할 수 있다. 구체적으로, 회귀 분석 방법에서는 최종 출력 값이 여러 개의 정수 값이 될 수 있으므로, 출력 노드의 활성화 함수를 선형(linear) 함수로 지정하여 뉴럴 네트워크를 학습할 수 있다. 또한, 회귀 분석 방법을 이용하기 위해 뉴럴 네트워크 학습 과정에서 손실 함수를 MSE로 지정할 수 있다.
그러나, 기준 화학 구조 내 어느 부분 구조에 의해 특정 물성 값이 발현되었는지 확인하기 위한 해석 과정(620)에서 이용될 수 있는 기법은 상술한 예로 제한되지 않는다.
뉴럴 네트워크의 입력 데이터가 기준 화학 구조에 대한 표현자인 경우, 입력 레이어의 복수개의 노드들은 표현자를 구성하는 비트 값들 각각에 대응될 수 있다. 뉴럴 네트워크 장치는 해석 과정(620)을 통해, 기준 화학 구조의 특정 물성 값이 발현되는데 가장 큰 기여를 한 입력 레이어의 노드 즉, 표현자의 비트 위치를 획득할 수 있다. 표현자의 비트 위치는 기준 화학 구조 내 특정 부분 구조에 대응하므로, 결과적으로 뉴럴 네트워크 장치는 해석 과정(620)을 통해 표현자의 비트 위치를 획득함으로써, 기준 화학 구조의 특정 물성 값이 발현되는데 가장 큰 기여를 한 특정 부분 구조를 결정할 수 있다.
뉴럴 네트워크의 입력 데이터가 기준 화학 구조에 대한 이미지인 경우, 입력 레이어의 복수개의 노드들은 이미지를 구성하는 픽셀 값들 각각에 대응될 수 있다. 뉴럴 네트워크 장치는 해석 과정(620)을 통해, 기준 화학 구조의 특정 물성 값이 발현되는데 가장 큰 기여를 한 입력 레이어의 노드 즉, 이미지의 픽셀 좌표를 획득할 수 있다. 이미지의 픽셀 좌표는 기준 화학 구조 내 특정 부분 구조에 대응하므로, 결과적으로 뉴럴 네트워크 장치는 해석 과정(620)을 통해 이미지의 픽셀 좌표를 획득함으로써, 기준 화학 구조의 특정 물성 값이 발현되는데 가장 큰 기여를 한 특정 부분 구조를 결정할 수 있다.
이하에서는 기준 화학 구조의 특정 물성 값이 발현되는데 가장 큰 기여를 한 표현자의 비트 위치 및 이미지의 픽셀 좌표를 발현 영역이라고 지칭하기로 한다.
도 7은 일 실시예에 따른 표현자의 발현 영역을 변경하여 새로운 화학 구조를 생성하는 예시를 설명하기 위한 도면이다.
도 7을 참조하면, 기준 화학 구조(710)의 표현자(712)는 '11100011011010110'일 수 있다. 뉴럴 네트워크 장치는 표현자(712)를 구성하는 비트 값들 각각을 순차적으로 뉴럴 네트워크(예를 들어, DNN)의 입력 레이어의 노드들에 입력함으로써, 출력 데이터로서 기준 화학 구조(710)에 대한 물성 값 즉, '발광 파장: 320nm'을 산출할 수 있다.
뉴럴 네트워크 장치는 기준 화학 구조(710)의 파장 값이 발현되는데 가장 큰 기여를 한 입력 레이어의 노드 즉, 표현자(712)의 발현 영역(713)을 획득할 수 있다. 표현자(712)의 발현 영역(713)은 기준 화학 구조(710) 내 특정 위치(711)에 대응될 수 있다. 도 7에서는 발현 영역(713)이 하나의 비트 값에 해당하는 것으로 도시되었으나, 발현 영역은 연속하는 복수개의 비트 값에 대응될 수도 있고, 표현자에는 복수개의 발현 영역이 존재할 수도 있다.
뉴럴 네트워크 장치는 기준 화학 구조(710)의 물성을 향상시키기 위해, 발현 영역(713)의 비트 값을 변경할 수 있다. 발현 영역(713)의 비트 값이 변경됨에 따라 특정 위치(711)의 구조가 변경될 수 있다. 발현 영역(713)의 비트 값을 변경하는 방법으로는 유전 알고리즘(Genetics Algorithm)이 적용될 수 있으며, 이에 대한 내용은 도 8에서 후술하기로 한다. 한편, 뉴럴 네트워크 장치는 발현 영역(713) 및/또는 발현 영역(713) 주변의 비트 값을 변경할 수도 있다.
뉴럴 네트워크 장치는 발현 영역(713)의 비트 값을 변경하여 새로운 표현자(722)를 산출할 수 있다. 도 7을 참조하면, 새로운 표현자(722)에서 발현 영역(713)의 비트 값 '1'이 '110100'으로 변경됨에 따라, 뉴럴 네트워크 장치는 비트 값 '110100'에 대응하는 새로운 부분 구조(721)를 특정 위치(711)에 적용함으로써, 새로운 부분 구조(721)가 적용된 새로운 화학 구조(720)를 생성할 수 있다.
한편, 새로운 화학 구조(720)를 생성하는 방법과 관련하여, 뉴럴 네트워크 장치는 뉴럴 네트워크(예를 들어, RNN)의 입력 데이터로 새로운 표현자(722)를 입력함으로써 출력 데이터로서 구조 특징 값을 산출할 수 있고, 산출된 구조 특징 값에 기초하여 새로운 화학 구조(720)를 생성할 수 있다.
뉴럴 네트워크 장치는 새로운 화학 구조(720)의 표현자(722)를 뉴럴 네트워크에 입력하여, 입력된 표현자(722)에 대응하는 물성 값 즉, '발광 파장: 325nm'을 산출할 수 있다. 즉, 뉴럴 네트워크 장치는 기준 화학 구조(710)의 부분 구조를 변경하여 새로운 화학 구조(720)를 생성함으로써 물성을 향상시킬 수 있다.
뉴럴 네트워크 장치는 기설정된 값(예를 들어, '발광 파장: 350nm')에 근접한 물성 값을 갖는 화학 구조가 생성될 때까지 상술한 과정을 통해 화학 구조를 반복 생성할 수 있다.
구체적으로, 뉴럴 네트워크 장치는 새로운 화학 구조(720)에 대한 물성 값(발광 파장: 325nm)과 기설정된 값(발광 파장: 350nm)을 비교하고, 새로운 화학 구조(720)에 대한 물성 값이 기설정된 값 미만인 경우, 표현자(722)의 발현 영역(723)의 비트 값을 변경함으로써 새로운 화학 구조를 생성할 수 있다.
한편, 상술한 과정을 통해 생성된 새로운 화학 구조에 대한 물성 값이 기설정된 값 이상인 경우, 뉴럴 네트워크 장치는 생성된 새로운 화학 구조를 메모리에 저장할 수 있다.
도 8은 일 실시예에 따른 표현자의 비트 값을 변경함으로써 부분 구조를 변경하는 예시를 설명하기 위한 도면이다.
일 실시예에서 뉴럴 네트워크 장치는 기준 화학 구조의 표현자를 구성하는 비트 값에 대해 유전 알고리즘(Genetics Algorithm)을 적용하여, 비트 값에 대해 선택, 교차, 변이 등의 연산을 수행할 수 있다.
뉴럴 네트워크 장치는 기준 화학 구조의 표현자를 구성하는 비트 값에 대해 유전 알고리즘을 적용함으로써, 기준 화학 구조의 표현자를 변경할 수 있다. 기준 화학 구조의 표현자가 변경됨에 따라, 기준 화학 구조 내 부분 구조가 변이(mutation), 제거(remove), 대체(replace)되거나, 기준 화학 구조에 부분 구조가 추가(addition)될 수 있다.
도 8을 참조하면, 뉴럴 네트워크 장치는 기준 화학 구조의 표현자를 구성하는 비트 값에 대해 유전 알고리즘을 적용하여, 기준 화학 구조 내 부분 구조를 변이(mutation)시킬 수 있다. 예를 들어, 뉴럴 네트워크 장치는 기준 화학 구조 내 제 1 위치(810)의 탄소(C)를 질소(N)로 변경할 수 있다. 또는, 뉴럴 네트워크 장치는 제 1 위치(810)의 원자와 결합된 인접 원자(811, 812)를 다른 원자로 변경할 수 있다.
또한, 뉴럴 네트워크 장치는 기준 화학 구조의 표현자를 구성하는 비트 값에 대해 유전 알고리즘을 적용하여, 기준 화학 구조에 부분 구조를 추가(addition)할 수 있다. 예를 들어, 뉴럴 네트워크 장치는 부분 구조(823)를 기준 화학 구조 내 제 2 위치(820)의 원자와 연결되도록 추가할 수 있다. 또는, 뉴럴 네트워크 장치는 부분 구조를 제 2 위치(820)의 원자와 결합된 인접 원자(821, 822)와 연결되도록 추가할 수 있다. 또는, 뉴럴 네트워크 장치는 제 2 위치(820)의 원자 및 제 2 위치(820)의 원자와 결합된 인접 원자(821) 모두와 연결된 축합 고리 형태의 부분 구조(824)를 추가할 수 있다.
또한, 뉴럴 네트워크 장치는 기준 화학 구조의 표현자를 구성하는 비트 값에 대해 유전 알고리즘을 적용하여, 기준 화학 구조 내 부분 구조를 제거(remove)할 수 있다. 예를 들어, 뉴럴 네트워크 장치는 기준 화학 구조 내 제 3 위치(830)의 원자와 연결된 부분 구조(831)를 제거할 수 있다. 또는 뉴럴 네트워크 장치는, 제 3 위치(830)의 원자를 제거함으로써 링 구조를 변경할 수 있다.
또한, 뉴럴 네트워크 장치는 뉴럴 네트워크 장치는 기준 화학 구조의 표현자를 구성하는 비트 값에 대해 유전 알고리즘을 적용하여, 기준 화학 구조 내 부분 구조를 대체(replace)할 수 있다. 예를 들어, 뉴럴 네트워크 장치는 기준 화학 구조 내 제 4 위치(840)의 링 구조를 새로운 부분 구조(841, 842)로 변경할 수 있다.
그러나, 표현자의 비트 값을 변경함으로써 부분 구조를 변경하는 예는 상술한 내용으로 한정되지 아니한다.
도 9는 일 실시예에 따른 이미지의 픽셀 값을 변경함으로써 부분 구조를 변경하는 예시를 설명하기 위한 도면이다.
도 9를 참조하면, 기준 화학 구조(910)의 이미지(912)는 6x6 픽셀로 구성될 수 있다. 기준 화학 구조(910)를 구성하는 원자들 각각은 이미지(912) 상에서 서로 구분되는 색상으로 표시될 수 있다. 기준 화학 구조(910)는 탄소(C), 질소(N) 및 산소(O)로 구성되는데, 이미지(912) 상에서 탄소(C)는 검정색, 질소(N)는 파란색, 산소(O)는 빨간색으로 표시될 수 있다. 예를 들어, 이미지(912) 상에서 탄소(C)가 위치하는 픽셀의 값은 '0'이 되고, 질소(N)가 위치하는 픽셀의 값은 '50'이 되며, 산소(O)가 위치하는 픽셀의 값은 '186'이 될 수 있다.
뉴럴 네트워크 장치는 이미지(912)를 구성하는 픽셀 값들 각각을 순차적으로 뉴럴 네트워크(예를 들어, DNN)의 입력 레이어의 노드들에 입력함으로써, 출력 데이터로서 기준 화학 구조(910)에 대한 물성 값 즉, '발광 파장: 320nm'을 산출할 수 있다.
뉴럴 네트워크 장치는 기준 화학 구조(910)의 파장 값이 발현되는데 가장 큰 기여를 한 입력 레이어의 노드 즉, 이미지(912)의 발현 영역(913)을 획득할 수 있다. 이미지(912)의 발현 영역(913)은 기준 화학 구조(910) 내 특정 위치(911)에 대응될 수 있다. 도 9에서는 발현 영역(913)이 하나의 픽셀 값에 해당하는 것으로 도시되었으나, 발현 영역은 서로 인접한 복수개의 픽셀 값에 대응될 수도 있고, 이미지에는 복수개의 발현 영역이 존재할 수도 있다.
뉴럴 네트워크 장치는 기준 화학 구조(910)의 물성을 향상시키기 위해, 발현 영역(913) 및/또는 발현 영역(913) 주변의 픽셀 값을 변경할 수 있다. 발현 영역(913) 및/또는 발현 영역(913) 주변의 픽셀 값이 변경됨에 따라 특정 위치(911)의 구조가 변경될 수 있다. 일 실시예에서 가우시안 노이즈(Gaussian Noise)를 적용하여 발현 영역(913) 및/또는 발현 영역(913) 주변의 픽셀 값을 변경할 수 있다. 가우시안 노이즈는 임의 차수의 분포 함수가 정규 분포로 나타내어지는 노이즈를 의미한다.
뉴럴 네트워크 장치는 발현 영역(913) 및/또는 발현 영역(913) 주변의 픽셀 값을 변경하여 새로운 이미지(922)를 산출할 수 있다. 도 9를 참조하면, 새로운 이미지(922)에서 발현 영역(913) 및/또는 발현 영역(913) 주변의 픽셀 값이 변경됨에 따라, 뉴럴 네트워크 장치는 변경된 픽셀 값에 대응하는 새로운 부분 구조(921)를 특정 위치(911)에 적용함으로써, 새로운 화학 구조(920)를 생성할 수 있다.
한편, 새로운 화학 구조(920)를 생성하는 방법과 관련하여, 뉴럴 네트워크 장치는 뉴럴 네트워크(예를 들어, RNN)의 입력 데이터로 새로운 이미지(922)를 입력함으로써 출력 데이터로서 구조 특징 값을 산출할 수 있고, 산출된 구조 특징 값에 기초하여 새로운 화학 구조(920)를 생성할 수 있다.
뉴럴 네트워크 장치는 새로운 화학 구조(920)의 이미지(922)를 뉴럴 네트워크에 입력하여, 입력된 이미지(922)에 대응하는 물성 값 즉, '발광 파장: 325nm'을 산출할 수 있다. 즉, 뉴럴 네트워크 장치는 기준 화학 구조(910)의 부분 구조를 변경하여 새로운 화학 구조(920)를 생성함으로써 물성을 향상시킬 수 있다.
뉴럴 네트워크 장치는 기설정된 값(예를 들어, '발광 파장: 350nm')에 근접한 물성 값을 갖는 화학 구조가 생성될 때까지 상술한 과정을 통해 화학 구조를 반복 생성할 수 있다.
구체적으로, 뉴럴 네트워크 장치는 새로운 화학 구조(920)에 대한 물성 값(발광 파장: 325nm)과 기설정된 값(발광 파장: 350nm)을 비교하고, 새로운 화학 구조(920)에 대한 물성 값이 기설정된 값 미만인 경우, 이미지(922)의 발현 영역(923) 및/또는 발현 영역(913) 주변의 픽셀 값을 변경함으로써 새로운 화학 구조를 생성할 수 있다.
한편, 상술한 과정을 통해 생성된 새로운 화학 구조에 대한 물성 값이 기설정된 값 이상인 경우, 뉴럴 네트워크 장치는 생성된 새로운 화학 구조를 메모리에 저장할 수 있다.
도 10은 일 실시예에 따른 이미지 상의 발현 영역이 복수개인 경우 픽셀 값을 변경하는 예시를 설명하기 위한 도면이다.
도 10을 참조하면, 기준 화학 구조(1010)의 이미지(1012)는 6x6 픽셀로 구성될 수 있다. 기준 화학 구조(1010)를 구성하는 원자들 각각은 이미지(1012) 상에서 서로 구분되는 색상으로 표시될 수 있다. 예를 들어, 이미지(1012) 상에서 탄소(C)가 위치하는 픽셀의 값은 '0'이 되고, 질소(N)가 위치하는 픽셀의 값은 '50'이 되며, 산소(O)가 위치하는 픽셀의 값은 '186'이 될 수 있다.
뉴럴 네트워크 장치는 이미지(1012)를 구성하는 픽셀 값들 각각을 순차적으로 뉴럴 네트워크(예를 들어, DNN)의 입력 레이어의 노드들에 입력함으로써, 출력 데이터로서 기준 화학 구조(1010)에 대한 물성 값 즉, '발광 파장: 320nm'을 산출할 수 있다.
일 실시예에서 뉴럴 네트워크 장치는 기준 화학 구조(1010)의 파장 값이 발현되는데 가장 큰 기여를 한 입력 레이어의 노드는 복수개일 수 있다. 즉, 이미지(1012) 상의 발현 영역(1013a, 1013b)은 복수개일 수 있다. 이미지(1012)의 제 1 발현 영역(1013a) 및 제 2 발현 영역(1013b) 각각은 기준 화학 구조(1010) 내 제 1 위치(1011a) 및 제 2 위치(1011b)에 대응될 수 있다. 도 10에 도시된 바와 같이, 제 2 발현 영역(1013b)에 대응하는 제 2 위치(1011b)는 기준 화학 구조의 바깥 영역일 수도 있다.
이미지(1012) 상의 발현 영역(1013a, 1013b)이 복수개인 경우, 뉴럴 네트워크 장치는 복수개의 발현 영역(1013a, 1013b)에 대응하는 이미지(1012) 상의 좌표 정보를 획득할 수 있다. 예를 들어, 이미지(1012) 좌측 하단을 기준으로, 제 1 발현 영역(1013a)의 좌표 정보는 (3, 3), 제 2 발현 영역(1013b)의 좌표 정보는 (5, 3)일 수 있다.
뉴럴 네트워크 장치는 복수개의 발현 영역(1013a, 1013b)에 대응하는 좌표 정보에 기초하여 중심점(1014)의 좌표 정보 (4, 3)을 산출할 수 있다. 뉴럴 네트워크 장치는 기준 화학 구조(1010)의 물성을 향상시키기 위해, 중심점(1014) 및/또는 중심점(1014) 주변의 픽셀 값을 변경할 수 있다. 중심점(1014) 및/또는 중심점(1014) 주변의 픽셀 값이 변경됨에 따라, 중심점(1014)에 대응하는 기준 화학 구조(1010) 상의 특정 위치(1015)의 구조가 변경될 수 있다. 일 실시예에서 가우시안 노이즈(Gaussian Noise)를 적용하여 중심점(1014) 및/또는 중심점(1014) 주변의 픽셀 값을 변경할 수 있다.
뉴럴 네트워크 장치는 중심점(1014) 및/또는 중심점(1014) 주변의 픽셀 값을 변경하여 새로운 이미지(1022)를 산출할 수 있다. 도 10을 참조하면, 새로운 이미지(1022)에서 중심점(1014) 및/또는 중심점(1014) 주변의 픽셀 값이 변경됨에 따라, 뉴럴 네트워크 장치는 변경된 픽셀 값에 대응하는 새로운 부분 구조(1021)를 특정 위치(1015)에 적용함으로써, 새로운 화학 구조(1020)를 생성할 수 있다.
뉴럴 네트워크 장치는 새로운 화학 구조(1020)의 이미지(1022)를 뉴럴 네트워크에 입력하여, 입력된 이미지(1022)에 대응하는 물성 값 즉, '발광 파장: 335nm'을 산출할 수 있다. 즉, 뉴럴 네트워크 장치는 기준 화학 구조(1010)의 부분 구조를 변경하여 새로운 화학 구조(1020)를 생성함으로써 물성을 향상시킬 수 있다.
도 11은 일 실시예에 따른 뉴럴 네트워크 장치에서 화학 구조에 대한 표현자를 변경하여 새로운 화학 구조를 생성하는 방법을 설명하는 흐름도이다.
도 11에 도시된, 뉴럴 네트워크 장치에서 화학 구조를 생성하는 방법은, 앞서 설명된 도면들에서 설명된 실시예들에 관련되므로, 이하 생략된 내용이라 할지라도, 앞서 도면들에서 설명된 내용들은 도 11의 방법에도 적용될 수 있다.
도 11을 참조하면, 단계 1110에서 뉴럴 네트워크 장치는 기준 화학 구조에 대한 표현자를 획득할 수 있다.
표현자는 화학 구조의 구조적 특징을 표현하기 위해 사용되는 지표 값이다. 표현자는 주어진 화학 구조에 대해서 비교적 간단한 연산 처리를 수행함으로써 획득될 수 있는 값이다. 일 실시예에서 표현자는 ECFP로 표현될 수 있으며 복수의 비트 값으로 구성될 수 있다. 그러나, 표현자의 표현 방식은 이에 제한되지 않는다.
이하에서, 기준 화학 구조에 대한 표현자는 기준 표현자로 지칭하기로 한다.
단계 1120에서 뉴럴 네트워크 장치는 기준 표현자를 학습된 뉴럴 네트워크에 입력하여 기준 화학 구조에 대한 특정 물성의 물성 값을 산출할 수 있다.
물성은 화학 구조의 성질을 의미하며, 예를 들어, 빛에 대한 투과 파장, 발광 파장을 나타내는 실수 값일 수 있다. 표현자의 경우와는 달리, 물성을 계산하는 데에는 복잡한 시뮬레이션이 필요하고 많은 시간이 소모될 수 있다.
뉴럴 네트워크 장치의 메모리에는 특정 화학 구조에 대한 표현자 및 특정 화학 구조의 물성을 수치적으로 나타내는 물성 값이 매칭되어 하나의 세트로 저장될 수 있다.
일 실시예에서, 뉴럴 네트워크 장치는 메모리에 저장된 표현자 및 물성 값 세트를 이용하여 뉴럴 네트워크(예를 들어, DNN)를 학습시킬 수 있다. 표현자 및 물성 값을 이용한 학습 과정에서, 뉴럴 네트워크에서 표현자와 물성 값 간의 관계를 규정하는 인자가 결정될 수 있다.
뉴럴 네트워크 장치는 기준 표현자를 학습된 뉴럴 네트워크의 입력 데이터로 입력하여 뉴럴 네트워크를 구동함으로써, 뉴럴 네트워크의 출력 데이터로서 입력된 기준 표현자에 대응하는 물성 값을 산출할 수 있다.
단계 1130에서 뉴럴 네트워크 장치는 기준 표현자 내 특정 물성을 발현시키는 발현 영역을 결정할 수 있다.
기준 화학 구조 내 어느 부분 구조에 의해 특정 물성 값이 발현되었는지 확인하기 위해, 뉴럴 네트워크 장치는 해석 과정을 수행할 수 있다.
일 실시예에서 뉴럴 네트워크 장치는 LRP(Layer-wise Relevance Propagation) 기법을 적용하여 학습된 뉴럴 네트워크를 해석할 수 있다. LRP 기법은 학습된 뉴럴 네트워크의 역방향(즉, 출력 레이어에서 입력 레이어 방향)으로 기여도(Relevance)을 전파하는 방법으로서, 각 레이어 사이에서 기여도가 전파될 때, 하위 레이어의 복수개의 노드들 중에서 상위 레이어에 가장 많은 기여를 하는 노드가 상위 레이어의 해당 노드로부터 가장 많은 기여도를 얻는 방식이다.
뉴럴 네트워크 장치는 LRP 기법의 적용을 위해, 학습된 뉴럴 네트워크의 노드에 적용되는 활성화 함수를 선형(linear) 함수로 지정하고, 최적화를 위해 MSE(Mean Square Error)를 지정할 수 있다.
뉴럴 네트워크의 입력 레이어의 복수개의 노드들은, 표현자를 구성하는 비트 값들 각각에 대응될 수 있다. 뉴럴 네트워크 장치는 해석 과정을 통해, 기준 화학 구조의 특정 물성 값이 발현되는데 가장 큰 기여를 한 입력 레이어의 노드 즉, 기준 표현자의 비트 위치(또는, 발현 영역)를 획득할 수 있다. 기준 표현자의 발현 영역은 기준 화학 구조 내 특정 부분 구조에 대응하므로, 결과적으로 뉴럴 네트워크 장치는 해석 과정을 통해 기준 표현자의 발현 영역을 획득함으로써, 기준 화학 구조의 특정 물성 값이 발현되는데 가장 큰 기여를 한 특정 부분 구조를 결정할 수 있다.
단계 1140에서 뉴럴 네트워크 장치는 발현 영역에 대응하는 기준 화학 구조 내 부분 구조를 변경함으로써 새로운 화학 구조를 생성할 수 있다.
뉴럴 네트워크 장치는 목표 물성 값을 입력으로 수신할 수 있다. 일 실시예에서 뉴럴 네트워크 장치를 제어하기 위한 데이터를 입력하는 수단인 사용자 인터페이스를 포함할 수 있다. 예를 들어, 사용자 인터페이스에는 키 패드(key pad), 터치 패드 등일 수 있으나 이에 한정되는 것은 아니다.
목표 물성 값은 뉴럴 네트워크 장치에서 최종적으로 생성될 화학 구조가 갖는 특정 물성의 수치 값이다. 일 실시예에서, 목표 물성 값은 굴절률 값, 탄성 계수, 녹는 점, 투과 파장 및 발광 파장이 될 수 있다. 예를 들어, 뉴럴 네트워크 장치는 '발광 파장: 350nm'를 목표 물성 값으로 수신할 수 있다. 또는, 목표 물성 값은 구체적인 수치 값이 아닌 증가(+) 방향 또는 감소(-) 방향으로 설정될 수도 있다.
뉴럴 네트워크 장치는 기준 화학 구조 내 부분 구조를 변경함으로써, 목표 물성 값에 근접한 물성 값을 갖는 새로운 화학 구조를 생성할 수 있다.
일 실시예에서 뉴럴 네트워크 장치는 기준 표현자의 발현 영역의 비트 값을 변경함으로써 새로운 표현자를 산출할 수 있다. 기준 표현자의 발현 영역의 비트 값이 변경됨에 따라 기준 화학 구조 내 부분 구조가 변경될 수 있다. 발현 영역의 비트 값을 변경하는 방법으로는 유전 알고리즘(Genetics Algorithm)이 적용될 수 있으나, 비트 값을 변경하는 방법은 이에 제한되지 않는다.
뉴럴 네트워크 장치는 기준 표현자의 발현 영역의 비트 값이 변경된 새로운 표현자를 학습된 뉴럴 네트워크(예를 들어, RNN)의 입력 데이터로 입력하여 뉴럴 네트워크를 구동함으로써, 뉴럴 네트워크의 출력 데이터로서 입력된 새로운 표현자에 대응하는 구조 특징 값을 산출할 수 있다. 뉴럴 네트워크 장치는 산출된 구조 특징 값에 기초하여 새로운 화학 구조를 생성할 수 있다. 또는, 뉴럴 네트워크 장치는 DNN의 학습 과정에서 산출된, 새로운 표현자에 대한 인자를 학습된 뉴럴 네트워크(예를 들어, RNN)의 입력 데이터로 이용할 수도 있다.
뉴럴 네트워크 장치는 목표 물성 값(예를 들어, '발광 파장: 350nm')에 근접한 물성 값을 갖는 화학 구조가 생성될 때까지 상술한 과정을 통해 화학 구조를 반복 생성할 수 있다.
구체적으로, 뉴럴 네트워크 장치는 새로운 화학 구조에 대한 물성 값과 목표 물성 값을 비교하고, 새로운 화학 구조에 대한 물성 값이 목표 물성 값 미만인 경우, 기준 표현자의 발현 영역의 비트 값을 변경함으로써 새로운 화학 구조를 다시 생성할 수 있다.
한편, 상술한 과정을 통해 생성된 새로운 화학 구조에 대한 물성 값이 목표 물성 값 이상인 경우, 뉴럴 네트워크 장치는 생성된 새로운 화학 구조를 메모리에 저장할 수 있다.
도 12는 일 실시예에 따른 뉴럴 네트워크 장치에서 화학 구조에 대한 이미지를 변경하여 새로운 화학 구조를 생성하는 방법을 설명하는 흐름도이다.
이하에서 도 11과 중복되는 내용은 생략하기로 한다.
도 12를 참조하면, 단계 1210에서 뉴럴 네트워크 장치는 기준 화학 구조에 대한 이미지를 획득할 수 있다.
일 실시예에서 기준 화학 구조에 대한 이미지는 n X m (여기서, n 및 m은 자연수) 픽셀로 구성될 수 있다. 예를 들어, 이미지의 각 픽셀은 8비트 즉, 0(검정)에서 255(흰색)까지의 값이 할당될 수 있다.
이하에서, 기준 화학 구조에 대한 이미지는 기준 이미지로 지칭하기로 한다.
단계 1220에서 뉴럴 네트워크 장치는 기준 이미지를 학습된 뉴럴 네트워크에 입력하여 기준 화학 구조에 대한 특정 물성의 물성 값을 산출할 수 있다.
뉴럴 네트워크 장치의 메모리에는 특정 화학 구조에 대한 이미지 및 특정 화학 구조의 물성을 수치적으로 나타내는 물성 값이 매칭되어 하나의 세트로 저장될 수 있다.
일 실시예에서, 뉴럴 네트워크 장치는 메모리에 저장된 이미지 및 물성 값 세트를 이용하여 뉴럴 네트워크(예를 들어, DNN)를 학습시킬 수 있다. 이미지 및 물성 값을 이용한 학습 과정에서, 뉴럴 네트워크에서 이미지와 물성 값 간의 관계를 규정하는 인자가 결정될 수 있다.
뉴럴 네트워크 장치는 기준 이미지를 학습된 뉴럴 네트워크의 입력 데이터로 입력하여 뉴럴 네트워크를 구동함으로써, 뉴럴 네트워크의 출력 데이터로서 입력된 기준 이미지에 대응하는 물성 값을 산출할 수 있다.
단계 1230에서 뉴럴 네트워크 장치는 이미지 내 특정 물성을 발현시키는 발현 영역을 결정할 수 있다.
뉴럴 네트워크의 입력 레이어의 복수개의 노드들은, 이미지를 구성하는 픽셀 값들 각각에 대응될 수 있다. 뉴럴 네트워크 장치는 해석 과정을 통해, 기준 화학 구조의 특정 물성 값이 발현되는데 가장 큰 기여를 한 입력 레이어의 노드 즉, 기준 이미지의 픽셀 좌표(또는, 발현 영역)를 획득할 수 있다. 기준 이미지의 발현 영역은 기준 화학 구조 내 특정 부분 구조에 대응하므로, 결과적으로 뉴럴 네트워크 장치는 해석 과정을 통해 기준 이미지의 발현 영역을 획득함으로써, 기준 화학 구조의 특정 물성 값이 발현되는데 가장 큰 기여를 한 특정 부분 구조를 결정할 수 있다.
단계 1240에서 뉴럴 네트워크 장치는 발현 영역에 대응하는 기준 화학 구조 내 부분 구조를 변경함으로써 새로운 화학 구조를 생성할 수 있다.
일 실시예에서 뉴럴 네트워크 장치는 기준 이미지의 발현 영역 및/또는 발현 영역 주변의 픽셀 값을 변경함으로써 새로운 이미지를 생성할 수 있다. 기준 이미지의 발현 영역 및/또는 발현 영역 주변의 픽셀 값이 변경됨에 따라 기준 화학 구조 내 부분 구조가 변경될 수 있다 일 실시예에서 가우시안 노이즈(Gaussian Noise)를 적용하여 발현 영역 및/또는 발현 영역 주변의 픽셀 값을 변경할 수 있으나, 픽셀 값을 변경하는 방법은 이에 제한되지 않는다.
뉴럴 네트워크 장치는 기준 이미지의 발현 영역 및/또는 발현 영역 주변의 픽셀 값이 변경된 새로운 이미지를 학습된 뉴럴 네트워크(예를 들어, RNN)의 입력 데이터로 입력하여 뉴럴 네트워크를 구동함으로써, 뉴럴 네트워크의 출력 데이터로서 입력된 새로운 이미지에 대응하는 구조 특징 값을 산출할 수 있다. 뉴럴 네트워크 장치는 산출된 구조 특징 값에 기초하여 새로운 화학 구조를 생성할 수 있다. 또는, 뉴럴 네트워크 장치는 DNN의 학습 과정에서 산출된, 새로운 이미지에 대한 인자를 학습된 뉴럴 네트워크(예를 들어, RNN)의 입력 데이터로 이용할 수도 있다.
뉴럴 네트워크 장치는 목표 물성 값(예를 들어, '발광 파장: 350nm')에 근접한 물성 값을 갖는 화학 구조가 생성될 때까지 상술한 과정을 통해 화학 구조를 반복 생성할 수 있다.
구체적으로, 뉴럴 네트워크 장치는 새로운 화학 구조에 대한 물성 값과 목표 물성 값을 비교하고, 새로운 화학 구조에 대한 물성 값이 목표 물성 값 미만인 경우, 기준 이미지의 발현 영역 및/또는 발현 영역 주변의 픽셀 값을 변경함으로써 새로운 화학 구조를 다시 생성할 수 있다.
한편, 상술한 과정을 통해 생성된 새로운 화학 구조에 대한 물성 값이 목표 물성 값 이상인 경우, 뉴럴 네트워크 장치는 생성된 새로운 화학 구조를 메모리에 저장할 수 있다.
본 실시예들은 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈과 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
또한, 본 명세서에서, "부"는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.
전술한 본 명세서의 설명은 예시를 위한 것이며, 본 명세서의 내용이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 실시예의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 포함되는 것으로 해석되어야 한다.
Claims (23)
- 뉴럴 네트워크 장치를 이용하여 화학 구조를 생성하는 방법에 있어서,
기준 화학 구조에 대한 제1 표현자를 획득하는 단계;
상기 제1 표현자를 학습된 뉴럴 네트워크의 DNN(deep neural network)에 입력하여 상기 기준 화학 구조에 대한 특정 물성의 물성 값을 산출하는 단계;
상기 제1 표현자 내 상기 특정 물성을 발현시키고, 적어도 하나의 비트 값을 포함하는 발현 영역을 결정하는 단계, 상기 제1 표현자는 상기 발현 영역에 대응되는 제1 비트 위치 및 상기 발현 영역 이외의 영역에 대응되는 제2 비트 위치를 포함함;
상기 발현 영역의 상기 적어도 하나의 비트 값을 상기 발현 영역에 대응되는 부분 구조와 상이한 부분 구조에 대응되는 복수의 비트 값으로 변경하여, 상기 제1 표현자와 구별되는 제2 표현자를 획득하는 단계; 및
상기 제2 표현자를 상기 학습된 뉴럴 네트워크의 RNN(recurrent neural network)에 입력하여 상기 제2 표현자에 대응하는 구조 특징 값을 산출하고, 산출된 상기 구조 특징 값에 기초하여 새로운 화학 구조를 생성하는 단계;
를 포함하는, 방법. - 제 1 항에 있어서,
상기 발현 영역을 결정하는 단계는,
상기 학습된 뉴럴 네트워크를 해석함으로써 상기 제1 표현자 중 상기 특정 물성을 발현시키는 발현 영역을 결정하는 단계;
를 포함하는, 방법. - 제 2 항에 있어서,
상기 발현 영역을 결정하는 단계는,
상기 학습된 뉴럴 네트워크에 LRP(Layer-wise Relevance Propagation) 기법을 적용함으로써 상기 제1 표현자 중 상기 특정 물성을 발현시키는 발현 영역을 결정하는 단계;
를 포함하고,
LRP 기법을 적용하기 위해 상기 학습된 뉴럴 네트워크의 노드에 적용되는 활성화 함수를 선형(linear) 함수로 지정하고, 최적화를 위해 MSE(Mean Square Error)를 지정하는 것인, 방법. - 제 1 항에 있어서,
상기 새로운 화학 구조를 생성하는 단계는,
상기 비트 값에 유전 알고리즘(Genetics Algorithm)을 적용하여 상기 발현 영역에 대응하는 상기 부분 구조를 변경함으로써 새로운 화학 구조를 생성하는 단계;
를 포함하는, 방법. - 제 1 항에 있어서,
상기 새로운 화학 구조를 생성하는 단계는,
상기 발현 영역에 대응하는 상기 기준 화학 구조 내 부분 구조를 변경함으로써 새로운 제 1 화학 구조를 생성하는 단계;
상기 제 1 화학 구조에 대한 표현자를 상기 학습된 뉴럴 네트워크에 입력하여 상기 제 1 화학 구조에 대한 특정 물성의 물성 값을 산출하는 단계; 및
상기 제 1 화학 구조에 대한 특정 물성의 물성 값이 기설정된 값 미만인 경우, 상기 발현 영역에 대응하는 상기 제 1 화학 구조 내 부분 구조를 변경함으로써 새로운 제 2 화학 구조를 생성하고, 상기 제 1 화학 구조에 대한 특정 물성의 물성 값이 기설정된 값 이상인 경우, 상기 제 1 화학 구조를 저장하는 단계;
를 포함하는, 방법. - 화학 구조를 생성하는 뉴럴 네트워크 장치에 있어서,
적어도 하나의 프로그램이 저장된 메모리; 및
상기 적어도 하나의 프로그램을 실행함으로써 뉴럴 네트워크를 구동하는 프로세서를 포함하고,
상기 프로세서는,
기준 화학 구조에 대한 제1 표현자를 획득하고,
상기 제1 표현자를 학습된 뉴럴 네트워크의 DNN(deep neural network)에 입력하여 상기 기준 화학 구조에 대한 특정 물성의 물성 값을 산출하고,
상기 제1 표현자 내 상기 특정 물성을 발현시키고, 적어도 하나의 비트 값을 포함하는 발현 영역을 결정하고 - 상기 제1 표현자는 상기 발현 영역에 대응되는 제1 비트 위치 및 상기 발현 영역 이외의 영역에 대응되는 제2 비트 위치를 포함함,
상기 발현 영역의 상기 적어도 하나의 비트 값을 상기 발현 영역에 대응되는 부분 구조와 상이한 부분 구조에 대응되는 복수의 비트 값으로 변경하여, 상기 제1 표현자와 구별되는 제2 표현자를 획득하고,
상기 제2 표현자를 상기 학습된 뉴럴 네트워크의 RNN(recurrent neural network)에 입력하여 상기 제2 표현자에 대응하는 구조 특징 값을 산출하고, 산출된 상기 구조 특징 값에 기초하여 새로운 화학 구조를 생성하는, 뉴럴 네트워크 장치. - 제 6 항에 있어서,
상기 프로세서는,
상기 학습된 뉴럴 네트워크를 해석함으로써 상기 제1 표현자 중 상기 특정 물성을 발현시키는 발현 영역을 결정하는 것인, 뉴럴 네트워크 장치. - 제 7 항에 있어서,
상기 프로세서는,
상기 학습된 뉴럴 네트워크에 LRP(Layer-wise Relevance Propagation) 기법을 적용함으로써 상기 제1 표현자 중 상기 특정 물성을 발현시키는 발현 영역을 결정하고,
LRP 기법을 적용하기 위해 상기 학습된 뉴럴 네트워크의 노드에 적용되는 활성화 함수를 선형(linear) 함수로 지정하고, 최적화를 위해 MSE(Mean Square Error)를 지정하는 것인, 뉴럴 네트워크 장치. - 제 6 항에 있어서,
상기 프로세서는,
상기 비트 값에 유전 알고리즘(Genetics Algorithm)을 적용하여 상기 발현 영역에 대응하는 상기 부분 구조를 변경함으로써 새로운 화학 구조를 생성하는 것인, 뉴럴 네트워크 장치. - 제 6 항에 있어서,
상기 프로세서는,
상기 발현 영역에 대응하는 상기 기준 화학 구조 내 부분 구조를 변경함으로써 새로운 제 1 화학 구조를 생성하고,
상기 제 1 화학 구조에 대한 표현자를 상기 학습된 뉴럴 네트워크에 입력하여 상기 제 1 화학 구조에 대한 특정 물성의 물성 값을 산출하며,
상기 제 1 화학 구조에 대한 특정 물성의 물성 값이 기설정된 값 미만인 경우, 상기 발현 영역에 대응하는 상기 제 1 화학 구조 내 부분 구조를 변경함으로써 새로운 제 2 화학 구조를 생성하고, 상기 제 1 화학 구조에 대한 특정 물성의 물성 값이 기설정된 값 이상인 경우, 상기 제 1 화학 구조를 상기 메모리에 저장하는 것인, 뉴럴 네트워크 장치. - 뉴럴 네트워크 장치를 이용하여 화학 구조를 생성하는 방법에 있어서,
기준 화학 구조에 대한 제1 이미지를 획득하는 단계;
상기 제1 이미지를 학습된 뉴럴 네트워크의 DNN(deep neural network)에 입력하여 상기 기준 화학 구조에 대한 특정 물성의 물성 값을 산출하는 단계;
상기 제1 이미지 내 상기 특정 물성을 발현시키고, 적어도 하나의 픽셀 값을 포함하는 발현 영역을 결정하는 단계, 상기 제1 이미지는 상기 발현 영역에 대응되는 제1 픽셀 좌표 및 상기 발현 영역 이외의 영역에 대응되는 제2 픽셀 좌표를 포함함;
상기 발현 영역의 상기 적어도 하나의 픽셀 값 및 상기 발현 영역 주변의 적어도 하나의 픽셀 값 중 적어도 하나를 상기 발현 영역에 대응되는 부분 구조와 상이한 부분 구조에 대응되는 적어도 하나의 픽셀 값으로 변경하여, 상기 제1 이미지와 구별되는 제2 이미지를 획득하는 단계; 및
상기 제2 이미지를 상기 학습된 뉴럴 네트워크의 RNN(recurrent neural network)에 입력하여 상기 제2 이미지에 대응하는 구조 특징 값을 산출하고, 산출된 구조 특징 값에 기초하여 새로운 화학 구조를 생성하는 단계;
를 포함하는, 방법. - 제 11 항에 있어서,
상기 발현 영역을 결정하는 단계는,
상기 학습된 뉴럴 네트워크를 해석함으로써 상기 제1 이미지 중 상기 특정 물성을 발현시키는 발현 영역을 결정하는 단계;
를 포함하는, 방법. - 제 12 항에 있어서,
상기 발현 영역을 결정하는 단계는,
상기 학습된 뉴럴 네트워크에 LRP(Layer-wise Relevance Propagation) 기법을 적용함으로써 상기 제1 이미지 중 상기 특정 물성을 발현시키는 발현 영역을 결정하는 단계;
를 포함하고,
LRP 기법을 적용하기 위해 상기 학습된 뉴럴 네트워크의 노드에 적용되는 활성화 함수를 선형(linear) 함수로 지정하고, 최적화를 위해 MSE(Mean Square Error)를 지정하는 것인, 방법. - 제 11 항에 있어서,
상기 새로운 화학 구조를 생성하는 단계는,
상기 픽셀 값에 가우시안 노이즈(Gaussian Noise)를 적용하여 상기 발현 영역에 대응하는 상기 부분 구조를 변경함으로써, 새로운 화학 구조를 생성하는 단계;
를 포함하는, 방법. - 제 11 항에 있어서,
상기 새로운 화학 구조를 생성하는 단계는,
상기 제1 이미지 내 상기 특정 물성을 발현시키는 발현 영역이 복수개인 경우, 상기 복수개의 발현 영역에 대응하는 좌표 정보를 획득하는 단계;
상기 좌표 정보에 기초하여 상기 복수개의 발현 영역에 대한 중심점을 산출하고, 상기 중심점의 픽셀 값을 획득하는 단계; 및
상기 픽셀 값에 가우시안 노이즈(Gaussian Noise)를 적용하여 상기 중심점에 대응하는 상기 부분 구조를 변경함으로써, 새로운 화학 구조를 생성하는 단계;
를 포함하는, 방법. - 제 11 항에 있어서,
상기 새로운 화학 구조를 생성하는 단계는,
상기 발현 영역에 대응하는 상기 기준 화학 구조 내 부분 구조를 변경함으로써 새로운 제 1 화학 구조를 생성하는 단계;
상기 제 1 화학 구조에 대한 이미지를 상기 학습된 뉴럴 네트워크에 입력하여 상기 제 1 화학 구조에 대한 특정 물성의 물성 값을 산출하는 단계; 및
상기 제 1 화학 구조에 대한 특정 물성의 물성 값이 기설정된 값 미만인 경우, 상기 발현 영역에 대응하는 상기 제 1 화학 구조 내 부분 구조를 변경함으로써 새로운 제 2 화학 구조를 생성하고, 상기 제 1 화학 구조에 대한 특정 물성의 물성 값이 기설정된 값 이상인 경우, 상기 제 1 화학 구조를 저장하는 단계;
를 포함하는, 방법. - 화학 구조를 생성하는 뉴럴 네트워크 장치에 있어서,
적어도 하나의 프로그램이 저장된 메모리; 및
상기 적어도 하나의 프로그램을 실행함으로써 뉴럴 네트워크를 구동하는 프로세서를 포함하고,
상기 프로세서는,
기준 화학 구조에 대한 제1 이미지를 획득하고,
상기 제1 이미지를 학습된 뉴럴 네트워크의 DNN(deep neural network)에 입력하여 상기 기준 화학 구조에 대한 특정 물성의 물성 값을 산출하고,
상기 제1 이미지 내 상기 특정 물성을 발현시키고, 적어도 하나의 픽셀 값을 포함하는 발현 영역을 결정하고 - 상기 제1 이미지는 상기 발현 영역에 대응되는 제1 픽셀 좌표 및 상기 발현 영역 이외의 영역에 대응되는 제2 픽셀 좌표를 포함함,
상기 발현 영역의 상기 적어도 하나의 픽셀 값 및 상기 발현 영역 주변의 적어도 하나의 픽셀 값 중 적어도 하나를 상기 발현 영역에 대응되는 부분 구조와 상이한 부분 구조에 대응되는 적어도 하나의 픽셀 값으로 변경하여, 상기 제1 이미지와 구별되는 제2 이미지를 획득하며,
상기 제2 이미지를 상기 학습된 뉴럴 네트워크의 RNN(recurrent neural network)에 입력하여 상기 제2 이미지에 대응하는 구조 특징 값을 산출하고, 산출된 구조 특징 값에 기초하여 새로운 화학 구조를 생성하는 것인, 뉴럴 네트워크 장치. - 제 17 항에 있어서,
상기 프로세서는,
상기 학습된 뉴럴 네트워크를 해석함으로써 상기 제1 이미지 중 상기 특정 물성을 발현시키는 발현 영역을 결정하는 것인, 뉴럴 네트워크 장치. - 제 18 항에 있어서,
상기 프로세서는,
상기 학습된 뉴럴 네트워크에 LRP(Layer-wise Relevance Propagation) 기법을 적용함으로써 상기 제1 이미지 중 상기 특정 물성을 발현시키는 발현 영역을 결정하며,
LRP 기법을 적용하기 위해 상기 학습된 뉴럴 네트워크의 노드에 적용되는 활성화 함수를 선형(linear) 함수로 지정하고, 최적화를 위해 MSE(Mean Square Error)를 지정하는 것인, 뉴럴 네트워크 장치. - 제 17 항에 있어서,
상기 프로세서는,
상기 픽셀 값에 가우시안 노이즈(Gaussian Noise)를 적용하여 상기 발현 영역에 대응하는 상기 부분 구조를 변경함으로써, 새로운 화학 구조를 생성하는 것인, 뉴럴 네트워크 장치. - 제 17 항에 있어서,
상기 프로세서는,
상기 제1 이미지 내 상기 특정 물성을 발현시키는 발현 영역이 복수개인 경우, 상기 복수개의 발현 영역에 대응하는 좌표 정보를 획득하고,
상기 좌표 정보에 기초하여 상기 복수개의 발현 영역에 대한 중심점을 산출하고, 상기 중심점의 픽셀 값을 획득하며,
상기 픽셀 값에 가우시안 노이즈(Gaussian Noise)를 적용하여 상기 중심점에 대응하는 상기 부분 구조를 변경함으로써, 새로운 화학 구조를 생성하는 것인, 뉴럴 네트워크 장치. - 제 17 항에 있어서,
상기 프로세서는,
상기 발현 영역에 대응하는 상기 기준 화학 구조 내 부분 구조를 변경함으로써 새로운 제 1 화학 구조를 생성하고,
상기 제 1 화학 구조에 대한 이미지를 상기 학습된 뉴럴 네트워크에 입력하여 상기 제 1 화학 구조에 대한 특정 물성의 물성 값을 산출하며,
상기 제 1 화학 구조에 대한 특정 물성의 물성 값이 기설정된 값 미만인 경우, 상기 발현 영역에 대응하는 상기 제 1 화학 구조 내 부분 구조를 변경함으로써 새로운 제 2 화학 구조를 생성하고, 상기 제 1 화학 구조에 대한 특정 물성의 물성 값이 기설정된 값 이상인 경우, 상기 제 1 화학 구조를 메모리에 저장하는 것인, 뉴럴 네트워크 장치. - 제 1 항 및 제 11 항 중 어느 한 항의 방법을 컴퓨터에서 실행하기 위한 프로그램을 저장한 컴퓨터로 읽을 수 있는 저장매체.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180098373A KR102547802B1 (ko) | 2018-08-23 | 2018-08-23 | 뉴럴 네트워크를 이용하여 화학 구조를 생성하는 장치 및 방법 |
US16/269,092 US11670403B2 (en) | 2018-08-23 | 2019-02-06 | Method and apparatus for generating chemical structure using neural network |
CN201910140880.5A CN110858504A (zh) | 2018-08-23 | 2019-02-26 | 产生化学结构的方法、神经网络设备和非瞬时计算机可读的记录介质 |
EP19164409.5A EP3614314B1 (en) | 2018-08-23 | 2019-03-21 | Method and apparatus for generating chemical structure using neural network |
US18/139,655 US20230268035A1 (en) | 2018-08-23 | 2023-04-26 | Method and apparatus for generating chemical structure using neural network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180098373A KR102547802B1 (ko) | 2018-08-23 | 2018-08-23 | 뉴럴 네트워크를 이용하여 화학 구조를 생성하는 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200022595A KR20200022595A (ko) | 2020-03-04 |
KR102547802B1 true KR102547802B1 (ko) | 2023-06-26 |
Family
ID=65904210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180098373A KR102547802B1 (ko) | 2018-08-23 | 2018-08-23 | 뉴럴 네트워크를 이용하여 화학 구조를 생성하는 장치 및 방법 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11670403B2 (ko) |
EP (1) | EP3614314B1 (ko) |
KR (1) | KR102547802B1 (ko) |
CN (1) | CN110858504A (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210287137A1 (en) * | 2020-03-13 | 2021-09-16 | Korea University Research And Business Foundation | System for predicting optical properties of molecules based on machine learning and method thereof |
CN114496111B (zh) * | 2022-01-28 | 2024-09-13 | 厦门大学 | 一种基于机器学习快速预测核磁共振化学位移的方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040186815A1 (en) * | 2002-12-20 | 2004-09-23 | Stockfisch Thomas P. | Method for accommodating missing descriptor and property data while training neural network models |
EP1895436A1 (en) * | 2006-08-31 | 2008-03-05 | Silicos NV | Method for evolving molecules and computer program for implementing the same |
US9235799B2 (en) * | 2011-11-26 | 2016-01-12 | Microsoft Technology Licensing, Llc | Discriminative pretraining of deep neural networks |
GB201209239D0 (en) | 2012-05-25 | 2012-07-04 | Univ Glasgow | Methods of evolutionary synthesis including embodied chemical synthesis |
KR102276339B1 (ko) | 2014-12-09 | 2021-07-12 | 삼성전자주식회사 | Cnn의 근사화를 위한 학습 장치 및 방법 |
RU2703343C2 (ru) | 2015-03-20 | 2019-10-16 | Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. | Назначение оценки релевантности для искусственных нейронных сетей |
KR102523472B1 (ko) | 2016-08-01 | 2023-04-18 | 삼성전자주식회사 | 신규 물질의 구조 생성 방법 및 장치 |
KR20180056013A (ko) | 2016-11-18 | 2018-05-28 | 강원대학교산학협력단 | 나노 물질의 독성을 예측하는 방법 및 장치 |
KR102587959B1 (ko) | 2018-01-17 | 2023-10-11 | 삼성전자주식회사 | 뉴럴 네트워크를 이용하여 화학 구조를 생성하는 장치 및 방법 |
-
2018
- 2018-08-23 KR KR1020180098373A patent/KR102547802B1/ko active IP Right Grant
-
2019
- 2019-02-06 US US16/269,092 patent/US11670403B2/en active Active
- 2019-02-26 CN CN201910140880.5A patent/CN110858504A/zh active Pending
- 2019-03-21 EP EP19164409.5A patent/EP3614314B1/en active Active
-
2023
- 2023-04-26 US US18/139,655 patent/US20230268035A1/en active Pending
Non-Patent Citations (3)
Title |
---|
G. Montavon et al., Methods for interpreting and understanding deep neural networks, Digit. Signal Process. Vol.73, pp1-15(2017.10.24.)* |
J. Lim et al., Molecular generative model based on conditional variational autoencoder for de novo molecular design, J. Cheminform. Vol.10, 31(2018.07.11.)* |
N. Brown et al., A Graph-Based Genetic Algorithm and Its Applications to the Multiobjective Evolution of Median Molecules, J. Chem. Inf. Comput. Sci. Vol.44, pp1079-1087(2004)* |
Also Published As
Publication number | Publication date |
---|---|
EP3614314A1 (en) | 2020-02-26 |
KR20200022595A (ko) | 2020-03-04 |
US11670403B2 (en) | 2023-06-06 |
CN110858504A (zh) | 2020-03-03 |
EP3614314B1 (en) | 2024-09-04 |
US20200066377A1 (en) | 2020-02-27 |
US20230268035A1 (en) | 2023-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102587959B1 (ko) | 뉴럴 네트워크를 이용하여 화학 구조를 생성하는 장치 및 방법 | |
US11620529B2 (en) | Method of continual-learning of data sets and apparatus thereof | |
US20230195845A1 (en) | Fast annotation of samples for machine learning model development | |
US20230268035A1 (en) | Method and apparatus for generating chemical structure using neural network | |
KR20190066076A (ko) | 시간차 모델을 위한 비지도 학습 기법 | |
KR20210042777A (ko) | 화학구조를 생성하는 장치 및 방법 | |
KR20230039032A (ko) | 딥러닝 기반의 인공지능 자동 생성 방법 및 인공지능 정확도 개선을 위한 MLOps 장치 | |
KR102401114B1 (ko) | UX-bit를 이용한 가치망을 포함하는 자동 디자인 생성 인공신경망 장치 및 방법 | |
CN112819151A (zh) | 用于识别图像的方法和设备以及训练方法 | |
Sikka | Elements of Deep Learning for Computer Vision: Explore Deep Neural Network Architectures, PyTorch, Object Detection Algorithms, and Computer Vision Applications for Python Coders (English Edition) | |
KR102552856B1 (ko) | 커머스 연계 콘텐츠 제공 플랫폼 서비스를 위한 키워드 추출 및 콘텐츠 템플릿 생성 자동화 방법, 장치 및 시스템 | |
US20210174910A1 (en) | Method and apparatus for generating new chemical structure using neural network | |
Yadav et al. | Deep Learning, Neural Networks, and Their Applications in Business Analytics | |
KR102519183B1 (ko) | 분자구조를 생성하는 장치 및 방법 | |
JP7330827B2 (ja) | データ処理装置、データ処理方法、およびデータ処理プログラム | |
Shaik et al. | Graph-enabled reinforcement learning for time series forecasting with adaptive intelligence | |
KR102717272B1 (ko) | 텍스트를 정성적으로 비교하는 방법 및 이를 위한 장치 | |
KR102594173B1 (ko) | 타임 시리즈 데이터 예측을 위한 학습 이미지를 생성하는 방법 및 장치 | |
Vaissnave et al. | Advancements in Deep Learning Algorithms | |
KR102636461B1 (ko) | 인공지능 모델 학습을 위한 오토 레이블링 자동화 방법, 장치 및 시스템 | |
WO2024106125A1 (ja) | 演算装置、計画立案支援方法及びプログラム | |
CN117151247B (zh) | 机器学习任务建模的方法、装置、计算机设备和存储介质 | |
KR102490320B1 (ko) | 3d 신체 모델을 이용한 사용자 맞춤형 제품 및 행동 추천 방법, 장치 및 시스템 | |
Baheti | ADAPTIVE STATE BASED SYSTEMS | |
Heinerud et al. | Automatic testing of graphical user interfaces |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
X091 | Application refused [patent] | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |