KR102587959B1 - 뉴럴 네트워크를 이용하여 화학 구조를 생성하는 장치 및 방법 - Google Patents

뉴럴 네트워크를 이용하여 화학 구조를 생성하는 장치 및 방법 Download PDF

Info

Publication number
KR102587959B1
KR102587959B1 KR1020180006275A KR20180006275A KR102587959B1 KR 102587959 B1 KR102587959 B1 KR 102587959B1 KR 1020180006275 A KR1020180006275 A KR 1020180006275A KR 20180006275 A KR20180006275 A KR 20180006275A KR 102587959 B1 KR102587959 B1 KR 102587959B1
Authority
KR
South Korea
Prior art keywords
neural network
presenters
generation
target
structural feature
Prior art date
Application number
KR1020180006275A
Other languages
English (en)
Other versions
KR20190087898A (ko
Inventor
권영천
강석호
김경덕
유지호
최윤석
Original Assignee
삼성전자주식회사
성균관대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사, 성균관대학교산학협력단 filed Critical 삼성전자주식회사
Priority to KR1020180006275A priority Critical patent/KR102587959B1/ko
Priority to US16/156,709 priority patent/US11581067B2/en
Priority to EP18201299.7A priority patent/EP3514734B1/en
Priority to CN201811266187.4A priority patent/CN110046692A/zh
Publication of KR20190087898A publication Critical patent/KR20190087898A/ko
Application granted granted Critical
Publication of KR102587959B1 publication Critical patent/KR102587959B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16CCOMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
    • G16C20/00Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
    • G16C20/40Searching chemical structures or physicochemical data
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16CCOMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
    • G16C99/00Subject matter not provided for in other groups of this subclass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16CCOMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
    • G16C20/00Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16CCOMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
    • G16C20/00Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
    • G16C20/50Molecular design, e.g. of drugs
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16CCOMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
    • G16C20/00Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
    • G16C20/70Machine learning, data mining or chemometrics
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16CCOMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
    • G16C20/00Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
    • G16C20/80Data visualisation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N37/00Details not covered by any other group of this subclass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B15/00ICT specially adapted for analysing two-dimensional or three-dimensional molecular structures, e.g. structural or functional relations or structure alignment
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16CCOMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
    • G16C20/00Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
    • G16C20/20Identification of molecular entities, parts thereof or of chemical compositions
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16CCOMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
    • G16C20/00Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
    • G16C20/30Prediction of properties of chemical compounds, compositions or mixtures
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16CCOMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
    • G16C60/00Computational materials science, i.e. ICT specially adapted for investigating the physical or chemical properties of materials or phenomena associated with their design, synthesis, processing, characterisation or utilisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Chemical & Material Sciences (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Evolutionary Biology (AREA)
  • Genetics & Genomics (AREA)
  • Physiology (AREA)
  • Medicinal Chemistry (AREA)
  • Pharmacology & Pharmacy (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Neurology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Image Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

뉴럴 네트워크 장치에서 화학 구조를 생성하는 방법에 있어서, 목표 물성 값 및 목표 구조 특징 값을 입력으로 수신하고, 수신된 입력에 기초하여 1 세대 표현자들을 선택한다. 1 세대 표현자들에 대해 유전 알고리즘(Genetic Algorithm)을 적용하여 2 세대 표현자들을 생성한 후, 제 1 뉴럴 네트워크 및 제 2 뉴럴 네트워크를 이용하여 2 세대 표현자들 각각의 물성 및 구조를 평가한다. 평가 결과에 기초하여, 2 세대 표현자들 중에서, 목표 물성 값 및 목표 구조 특징 값을 갖는 후보 표현자들을 선택하고, 제 2 뉴럴 네트워크를 이용하여 선택된 후보 표현자들에 대한 화학 구조를 생성하는 방법이 개시된다.

Description

뉴럴 네트워크를 이용하여 화학 구조를 생성하는 장치 및 방법 {METHOD AND APPARATUS FOR GENERATING CHEMICAL STRUCTURE USING NEURAL NETWORK}
뉴럴 네트워크에서 화학 구조를 생성하는 장치 및 방법에 관한다.
뉴럴 네트워크(neural network)는 생물학적 뇌를 모델링한 컴퓨터 과학적 아키텍쳐(computational architecture)를 참조한다. 뉴럴 네트워크(neural network) 기술이 발전함에 따라, 다양한 종류의 전자 시스템에서 뉴럴 네트워크를 활용하여 입력 데이터를 분석하고 유효한 정보를 추출하고 있다.
최근에는, 뉴럴 네트워크 기술을 이용하여 화학 구조의 물성을 평가함으로써, 소재 개발에 사용될 화학 구조를 선별해내기 위한 연구가 활발히 진행되고 있다. 특히 뉴럴 네트워크 기술을 이용하여 여러 요구사항이 반영된 화학 구조를 새롭게 생성할 수 있는 기술이 요구된다.
뉴럴 네트워크에서 화학 구조를 생성하는 장치 및 방법을 제공하는데 있다. 또한, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다. 해결하려는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제1 측면은, 목표 물성 값 및 목표 구조 특징 값을 입력으로 수신하는 단계; 상기 수신된 입력에 기초하여, 1 세대 표현자들을 선택하는 단계; 상기 1 세대 표현자들에 대해 유전 알고리즘(Genetic Algorithm)을 적용하여 2 세대 표현자들을 생성하는 단계; 제 1 뉴럴 네트워크를 이용하여 상기 2 세대 표현자들 각각의 물성을 평가하고, 제 2 뉴럴 네트워크를 이용하여 상기 2 세대 표현자들 각각의 구조를 평가하는 단계; 상기 평가 결과에 기초하여, 상기 2 세대 표현자들 중에서, 상기 목표 물성 값 및 상기 목표 구조 특징 값을 갖는 후보 표현자들을 선택하는 단계; 및 상기 제 2 뉴럴 네트워크를 이용하여 상기 선택된 후보 표현자들에 대한 화학 구조를 생성하는 단계;를 포함하는 뉴럴 네트워크 장치에서 화학 구조를 생성하는 방법을 제공할 수 있다.
또한, 본 개시의 제 2 측면은, 목표 물성 값 및 목표 구조 특징 값을 입력으로 수신하는 사용자 인터페이스; 적어도 하나의 프로그램이 저장된 메모리; 및 상기 적어도 하나의 프로그램을 실행함으로써 뉴럴 네트워크를 구동하는 프로세서를 포함하고, 상기 프로세서는, 상기 수신된 입력에 기초하여, 1 세대 표현자들을 선택하고, 상기 1 세대 표현자들에 대해 유전 알고리즘(Genetic Algorithm)을 적용하여 2 세대 표현자들을 생성하고, 제 1 뉴럴 네트워크를 이용하여 상기 2 세대 표현자들 각각의 물성을 평가하고, 제 2 뉴럴 네트워크를 이용하여 상기 2 세대 표현자들 각각의 구조를 평가하고,상기 평가 결과에 기초하여, 상기 2 세대 표현자들 중에서, 상기 목표 물성 값 및 상기 목표 구조 특징 값을 갖는 후보 표현자들을 선택하고, 상기 제 2 뉴럴 네트워크를 이용하여 상기 선택된 후보 표현자들에 대한 화학 구조를 생성하는, 화학 구조를 생성하는 뉴럴 네트워크 장치를 제공할 수 있다.
또한, 본 개시의 제 3 측면은, 제 1 표현자들을 저차원(low dimension)의 잠재 변수들(latent variable)로 변환하는 단계; 상기 잠재 변수들을 레턴트 맵(latent map)에 매핑하는 단계; 상기 레턴트 맵에서 상기 잠재 변수들이 매핑되지 않은 영역을 선택하는 단계; 및 상기 선택된 영역의 상기 잠재 변수들을 고차원의 제 2 표현자들로 변환한 후, 상기 제 2 표현자들에 대한 화학 구조를 생성하는 단계;를 포함하는 뉴럴 네트워크 장치에서 CVAE(Conditional Variational Autoencoder)를 이용하여 화학 구조를 생성하는 방법을 제공할 수 있다.
또한, 본 개시의 제 4 측면은, 적어도 하나의 프로그램이 저장된 메모리; 및 상기 적어도 하나의 프로그램을 실행함으로써 뉴럴 네트워크를 구동하는 프로세서를 포함하고, 상기 프로세서는, 상기 제 1 표현자들을 저차원(low dimension)의 잠재 변수들(latent variable)로 변환하고, 상기 잠재 변수들을 레턴트 맵(latent map)에 매핑하고, 상기 레턴트 맵에서 상기 잠재 변수들이 매핑되지 않은 영역을 선택하고, 상기 선택된 영역의 상기 잠재 변수들을 고차원의 제 2 표현자들로 변환한 후, 상기 제 2 표현자들에 대한 화학 구조를 생성하는, CVAE(Conditional Variational Autoencoder)를 이용하여 화학 구조를 생성하는 뉴럴 네트워크 장치를 제공할 수 있다.
또한, 본 개시의 제 5 측면은, 제 1 및 제 3측면의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.
도 1은 일 실시예에 따른 뉴럴 네트워크 장치의 하드웨어 구성을 도시한 블록도이다.
도 2는 일 실시예에 따른 딥 뉴럴 네트워크(Deep Neural Network, 이하 DNN)에서 수행되는 연산을 설명하는 도면이다.
도 3은 일 실시예에 따른 순환 뉴럴 네트워크(Recurrent Neural Network, 이하 RNN)에서 수행되는 연산을 설명하는 도면이다.
도 4는 일 실시예에 따른 CVAE(Conditional Variational AutoEncoder)에서 수행되는 연산을 설명하는 도면이다.
도 5는 일 실시예에 따른 화학 구조를 생성하는 뉴럴 네트워크 시스템을 도시하는 개념도이다.
도 6은 일 실시예에 따른 물질의 구조식을 문자열로 표현하는 일 예를 설명하는 도면이다.
도 7은 일 실시예에 따른 1 세대 표현자들을 선택하는 과정을 설명하는 도면이다.
도 8은 일 실시예에 따른 1 세대 표현자들에 대해 유전 알고리즘(Genetic Algorithm)을 적용하는 과정을 설명하는 도면이다.
도 9a 내지 도 9b는 일 실시예에 따른 표현자들의 물성 및 구조를 평가하는 과정을 설명하는 도면이다.
도 10은 일 실시예에 따른 CVAE를 이용하여 화학 구조를 생성하는 뉴럴 네트워크 시스템을 도시하는 개념도이다.
도 11은 일 실시예에 따른 DNN 및 RNN을 이용하여 화학 구조를 생성하는 방법을 설명하는 흐름도이다.
도 12는 일 실시예에 따른 CVAE를 이용하여 화학 구조를 생성하는 방법을 설명하는 흐름도이다.
본 명세서에서 다양한 곳에 등장하는 "일부 실시예에서" 또는 "일 실시예에서" 등의 어구는 반드시 모두 동일한 실시예를 가리키는 것은 아니다.
본 개시의 일부 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “매커니즘”, “요소”, “수단” 및 “구성”등과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다.
또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다.
한편, 본 명세서에서 사용된 용어와 관련하여, 뉴럴 네트워크 시스템에서 이용되는 데이터인 표현자(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)에 구조 특징 값 및 물성 값을 기록할 수 있다. 물성 값은 물질이 가지고 있는 특성을 의미하며, 실험을 통해 측정되거나 시뮬레이션을 통해 계산된 실수 값일 수 있다. 또한, 구조 특징 값은 물질의 구조를 표현하기 위해 사용되는 지표 값으로 특정한 부분 구조의 포함 여부를 표시하는 분자 구조 핑거프린트(fingerprint)(예를 들어, Morgan Fingerprint, Extended Connectivity Fingerprint(ECFP))일 수 있다.
프로세서(110)는 딥 뉴럴 네트워크(Deep Neural Network, 이하 DNN), 순환 뉴럴 네트워크(Recurrent Neural Network, 이하 RNN) 및 CVAE(Conditional Variational AutoEncoder)를 구동할 수 있다.
프로세서(110)는 표현자 및 물성(물성 값)을 이용하여 DNN을 학습시킬 수 있고, 이 과정에서 표현자와 물성 간의 관계를 규정하는 인자를 결정할 수 있다. 프로세서(110)는 학습된 DNN을 구동시킴으로써, 입력 레이어에서 표현자를 입력 데이터로 이용하여 연산을 수행하고, 연산 수행 결과를 기초로 물성 값을 출력 데이터로 생성할 수 있다.
프로세서(110)는 표현자 및 구조(구조 특징 값)를 이용하여 RNN을 학습시킬 수 있고, 이 과정에서 표현자와 구조 간의 관계를 규정하는 인자를 결정할 수 있다. 프로세서(110)는 학습된 RNN을 구동시킴으로써, 입력 레이어에서 표현자 또는 인자를 입력 데이터로 이용하여 연산을 수행하고, 연산 수행 결과를 기초로 구조 특징 값을 출력 데이터로 생성할 수 있다.
프로세서(110)는 CVAE를 이용하여 데이터베이스에 존재하지 않는 새로운 화학 구조를 생성할 수 있다. 구체적으로, CVAE의 입력층에서 데이터베이스에 저장된 고차원 데이터인 표현자가 입력 데이터로 이용되고, 인코더에서 고차원의 표현자가 이보다 낮은 차원인 잠재 변수로 변환되는 인코딩이 수행될 수 있다. 이후 CVAE의 디코더에서 저차원의 잠재 변수를 디코딩함으로써, 최종적으로 출력층에서는 새로운 화학 구조에 대응되는 고차원 데이터인 표현자가 출력될 수 있다.
한편, 뉴럴 네트워크 장치(100)는 사용자 인터페이스(미도시)를 더 포함할 수 있다. 사용자 인터페이스는, 뉴럴 네트워크 장치(100)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 인터페이스에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.
이하 본 실시예들의 설명에서는 이와 같이 뉴럴 네트워크 장치(100)를 이용하여 화학 구조를 생성하고, 생성된 화학 구조를 평가하는 방법들에 대해 상세하게 설명하도록 한다. 이하에서 설명된 방법들은 뉴럴 네트워크 장치(100)의 프로세서(110) 및 메모리(120)에 의해 수행될 수 있다.
도 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은 DNN(20)에서 데이터를 처리하기 위해 이용되는 액티베이션 및 웨이트를 설명하기 위한 예시일 뿐, 이에 제한되지 않는다. 액티베이션은 이전 레이어로부터 수신된 액티베이션들의 합(sum)에 액티베이션 함수를 적용한 값을 Rectified Linear Unit (ReLU)을 통과시킴으로써 획득된 값일 수 있다.
일 실시예에서, 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(32)는, 표현자 및 구조(구조 특징 값)를 이용한 학습을 통해 표현자와 구조 간의 관계를 규정하는 인자를 결정할 수 있다. 앞서 도 2에서 설명한 바와 같이, 인자는 적어도 하나의 히든 레이어일 수 있다. RNN(32)에서는 입력 레이어에서 표현자 또는 인자를 입력 데이터로 이용하여 연산을 수행하고, 연산 수행 결과를 기초로 구조 특징 값을 출력 데이터로 생성할 수 있다.
예를 들어, 구조 특징 값을 나타내는 문자열이 "ABCDEFG"일 때, 각 시간대의 입력 및 출력은, "ABC", "BCD", "CDE", "DEF", "EFG"가 될 수 있다. 즉, RNN 부분의 각 스텝은 시각 t에서 입력된 문자열의 다음 문자열을 시각 t+1의 입력으로 사용할 수 있다.
RNN(32)는, 데이터 (h, s)(즉, 인자 및 구조 데이터)에 대하여, 구조 s를 나타내는 문자열의 생성 확률을 최대화하도록 학습을 수행할 수 있다. 문자열의 생성 확률 p는 아래 수학식 3과 같이 표현될 수 있다.
학습을 통해서 RNN 부분의 구성이 완료되면(즉, 구조 인자를 결정하는데 사용되는 RNN 모델의 파라미터 값을 결정하면), 표현자를 인코딩하여 얻은 인자에 대해 디코딩을 수행할 수 있다. 다른 실시예에 따르면 디코딩은, 인자 e(x)를 입력으로 하여 디코딩된 문자열의 첫 부분(ABC)을 획득하고, 획득된 문자열 'ABC'를 입력으로 하여 'BCD'를 획득하고, 획득된 문자열 'BCD'를 입력으로 하여 문자열 'CDE'를 획득하는 방식으로 순차적으로 진행된다.
도 3을 참조하면, 특정 시점 t에서의 문자열의 앞 부분 두 개의 문자가, 시점 t-1의 문자열의 뒤 부분 두 개의 문자와 같다. 이후, 각 시점의 문자열이 집성(aggregation) 되어 하나의 문자열(ABCDEFG)이 출력된다.
도 4는 일 실시예에 따른 CVAE(Conditional Variational AutoEncoder)에서 수행되는 연산을 설명하는 도면이다.
도 4를 참조하면, CVAE(40)는 입력층, 인코더(Encoder), 디코더(Decoder) 및 출력층을 포함하는 구조를 가진다. CVAE(40)의 입력층에서 데이터베이스에 저장된 이미지와 같은 고차원 데이터가 입력 데이터로 이용되고, 인코더에서는 고차원의 입력 데이터를 이보다 낮은 차원의 잠재 변수(latent variable) z로 변환하는 인코딩이 수행된다. 일 실시예에서 잠재 변수 z는 평균, 분산 σ인 정규분포를 따르며, 일반적으로 2~50차원 데이터일 수 있다. 이후 디코더에서는 저차원의 잠재 변수 z를 디코딩함으로써, 출력층에서는 데이터베이스에 존재하지 않는 새로운 이미지(고차원 데이터)가 출력될 수 있다.
예를 들어, 사람 형상의 이미지가 입력 데이터로 이용된 경우 잠재 변수는 물체의 형상, 카메라 좌표(view point) 및 광원의 정보 등이 될 수 있고, 숫자 이미지가 입력 데이터로 이용된 경우 잠재 변수는 선의 각도 및 가로세로의 비(aspect ratio) 등이 될 수 있다.
한편, 잠재 변수 z는 레턴트 맵(latent map)에 매핑될 수 있는데, 레턴트 맵에서 잠재 변수 z가 매핑되지 않은 영역에 포함된 소정의 값 z'을 디코더에 입력하여 디코딩함으로써, 출력층에서는 데이터베이스에 존재하지 않는 새로운 데이터가 생성될 수 있다.
CVAE(1000)에서는, 입력층에서 데이터베이스에 저장된 고차원 데이터인 표현자가 입력 데이터로 이용되고, 인코더에서 고차원의 표현자가 이보다 낮은 차원인 잠재 변수로 변환되는 인코딩이 수행될 수 있다. 이후 CVAE(1000)의 디코더에서 저차원의 잠재 변수를 디코딩함으로써, 최종적으로 출력층에서는 새로운 화학 구조에 대응되는 고차원 데이터인 표현자가 출력될 수 있다.
도 5는 일 실시예에 따른 화학 구조를 생성하는 뉴럴 네트워크 시스템을 도시하는 개념도이다.
도 5를 참조하면, DNN(500), RNN(510) 및 CVAE(520)를 이용하여 화학 구조를 생성하는 뉴럴 네트워크 시스템이 도시된다.
뉴럴 네트워크 시스템에서 이용되는 데이터인 표현자(descriptor)는 특정한 부분 구조의 포함 여부를 표시하는 분자 구조 핑거프린트(fingerprint)(예를 들어, Extended Connectivity Fingerprint(ECFP)) 등 바로 계산될 수 있는 값으로 구성된 정량적 구조-물성 상관관계(quantitative structure-property relationships, QSPR) 표현자를 포함할 수 있다. 물성(property)은 물질이 가지고 있는 특성을 의미하며, 실험을 통해 측정되거나 시뮬레이션을 통해 계산된 실수 값이 될 수 있다. 구조(structure)는 물질의 원자(atom) 레벨의 구조를 의미한다. 구조를 표현하는 문자열 형식으로서, SMILES(Simplified Molecular-Input Line-Entry System) 코드, SMARTS(Smiles Arbitrary Target Specification) 코드 또는 InChi(International Chemical Identifier) 코드 등이 있다. 예를 들어, 수학식 4와 같이 SMILES 코드에 따라 구조식이 표현되거나, 수학식 5와 같이 SMARTS 코드에 따라 구조식이 표현될 수 있다.
인자는 표현자, 물성 및 구조 간의 관계를 규정하는 요소이다. 인자는 적어도 하나의 히든 레이어일 수 있으며, 인자가 복수의 히든 레이어를 포함하는 경우 표현자와 물성 간의 관계를 규정하는 인자 및 표현자와 구조 간의 관계를 규정하는 인자 등은 각 히든 레이어 별로 결정될 수 있다.
레턴트 맵(latent map)은 2, 3차원으로 표현된 표현자들이 매핑된 시각화 가능한 좌표이다. 레턴트 맵을 이용하여 표현자들 간의 유사성을 시각화하여 확인할 수 있다.
DNN(500)에서는, 입력 레이어에서 표현자를 입력 데이터로 이용하여 연산을 수행하고, 연산 수행 결과를 기초로 물성(물성 값)을 출력 데이터로 생성할 수 있다. RNN(510)에서는, 입력 레이어에서 표현자 또는 인자를 입력 데이터로 이용하여 연산을 수행하고, 연산 수행 결과를 기초로 구조(구조 특징 값)를 출력 데이터로 생성할 수 있다. 구조 특징 값을 나타내는 문자열 형식으로는 SMILES 코드 및 SMARTS 코드 등이 사용될 수 있다.
또한, DNN(50) 및 RNN(510)에서는 메모리에 저장된 물성(물성 값) 및 구조(구조 특징 값) 간의 관계에 기초하여 학습을 수행함으로써, 표현자, 물성 및 구조 간의 관계를 규정하는 요소인 인자를 결정할 수 있다. 일 실시예에서, 인자는 적어도 하나의 히든 레이어일 수 있으며, 인자가 복수의 히든 레이어를 포함하는 경우 표현자와 물성 간의 관계를 규정하는 인자 및 표현자와 구조 간의 관계를 규정하는 인자 등은 각 히든 레이어 별로 결정될 수 있다.
RNN(510)에서는 DNN(500) 부분에서 결정된 인자를 입력 데이터로 이용하여 연산을 수행하고, 연산 수행 결과를 기초로 구조 특징 값을 출력 데이터로 생성할 수도 있다.
CVAE(520)에서는 입력층에서 데이터베이스에 저장된 고차원 데이터인 표현자가 입력 데이터로 이용되고, 인코더에서 고차원의 표현자가 이보다 낮은 차원인 잠재 변수로 변환되는 인코딩이 수행된다. 이후 디코더에서 저차원의 잠재 변수를 디코딩함으로써, 출력층에서는 새로운 화학 구조에 대응되는 고차원 데이터인 표현자가 출력된다. CVAE(520)에서 출력된 표현자를 DNN(500)에 입력 데이터로 이용하는 경우 물성 값을 생성할 수 있고, 출력된 표현자를 RNN(510)에 입력 데이터로 이용하는 경우 구조 특징 값을 생성할 수 있다.
도 6는 일 실시예에 따른 물질의 구조식을 문자열로 표현하는 일 예를 설명하는 도면이다.
도 6을 참조하면, 물질의 구조식을 문자열로 표현하는 일 예가 도시된다. 물질의 전체 구조(610) 중에서 유지되어야 할 부분 구조(620) 즉, 최종적으로 생성될 화학 구조에 필수적으로 포함되어야 할 부분 구조(620)가 존재할 수 있다.
부분 구조(620)는 SMILES(Simplified Molecular-Input Line-Entry System) 코드, SMARTS(Smiles Arbitrary Target Specification) 코드 또는 InChi(International Chemical Identifier) 코드 등의 문자열로 표현될 수 있다. 예를 들어, 부분 구조(620)를 수학식 6과 같이 SMARTS 코드로 표현할 수 있다.
또한, 부분 구조(620) 중에서 결합(Bond) 및 원자(Atom) 부분이 변경되는 것이 허용되는 경우 SMARTS 코드(621)와 같이 표현될 수 있고, 부분 구조(620) 중에서 원자(Atom) 부분이 변경되는 것이 허용되는 경우 SMARTS 코드(622)와 같이 표현될 수 있으며, 부분 구조(620) 중에서 결합(Bond) 및 원자(Atom) 부분이 고정되는 경우 SMARTS 코드(623)와 같이 표현될 수 있다.
도 7은 일 실시예에 따른 1 세대 표현자들을 선택하는 과정을 설명하는 도면이다.
도 7을 참조하면, 뉴럴 네트워크 장치(700)는 목표 물성 값(710) 및 목표 구조 특징 값(720)을 입력으로 수신할 수 있다. 뉴럴 네트워크 장치(700)는 목표 물성 값(710) 및 목표 구조 특징 값(720)을 만족하는 화학 구조를 생성할 수 있다. 즉, 뉴럴 네트워크 장치는 특정 부분 구조를 포함하며 물성이 개선된 화학 구조를 생성할 수 있다.
목표 물성 값(710)은 뉴럴 네트워크 장치(700)에서 최종적으로 생성될 화학 구조가 갖는 특정 물성의 수치 값이다. 일 실시예에서, 목표 물성 값(710)은 굴절률 값, 탄성 계수, 녹는 점, 투과 파장 및 발광 파장이 될 수 있다. 예를 들어, 뉴럴 네트워크 장치(700)는 '발광 파장: λ=350nm'를 목표 물성 값(710)으로 수신할 수 있다.
다른 실시예에서, 목표 물성 값(710)은 구체적인 수치 값이 아닌 증가(+) 방향 또는 감소(-) 방향으로 설정될 수 있다. 메모리(730)에는 구조 특징 값 및 물성 값이 매칭되어 하나의 세트로 저장되는데, 뉴럴 네트워크 장치(700)는 메모리(730)에 저장된 특정 물성 값을 선택할 수 있다. 이 때, 뉴럴 네트워크 장치(700)가 목표 물성 값(710)을 구체적인 수치가 아닌 증가 방향으로 설정함으로써, 최종적으로 생성될 화학 구조가 메모리(730)에서 선택된 물성 값 보다 더 큰 물성 값을 갖도록 할 수 있다.
목표 구조 특징 값(720)은 뉴럴 네트워크 장치(700)에서 최종적으로 생성될 화학 구조에 필수적으로 포함되어야 할 부분 구조를 수치로 나타낸 값이다. 부분 구조는 SMILES 코드 또는 SMARTS 코드로 표현될 수 있다. 또한, SMILES 코드 또는 SMARTS 코드로 표현된 부분 구조를 수치 값으로 표현하기 위해, ECFP(Extended Connectivity Fingerprint) 및 QSPR(quantitative structure-property relationships)와 같은 표현자를 이용할 수 있다.
일 실시예에서, 목표 구조 특징 값(720)은 특정 화학 구조의 표현자일 수 있다. 예를 들어, 부분 구조(721)는 SMILES 코드(722a) 또는 SMARTS 코드(722b)로 표현될 수 있는데, 뉴럴 네트워크 장치(700)는 SMILES 코드(722a) 또는 SMARTS 코드(722b)에 대응되는 표현자(723)를 목표 구조 특징 값(720)으로 수신할 수 있다. 도 7에서는 이해를 돕기 위해 표현자(723)에 대응되는 SMILES 코드, SMARTS 코드 및 화학 구조가 함께 도시된다.
한편, 표현자는 100비트 길이를 갖는 2진수 값일 수 있으며, 이하에서는 편의상 비트 값 "1"을 갖는 자리의 자릿수만으로 표현자를 표시하기로 한다. 예를 들어, 표현자(723)는 [0 2 4 8 9 10 18 19 20 29 30 42 47 48 49 51 53 56 57 63 64 66 72 79 83 86 87 93 95 97 98]로 표현될 수 있으며, 이 때 표현자(723)의 0, 2, 4, 8, 9, 10 등의 자릿수는 비트 값으로 "1"을 가지며 1, 3, 5, 6, 7, 11 등의 자릿수는 비트 값으로 "0"을 갖는 것을 의미한다.
뉴럴 네트워크 장치(700)는 수신된 목표 물성 값(710) 및 목표 구조 특징 값(720)에 기초하여, 1 세대 표현자들(740)을 선택할 수 있다. 구체적으로, 구조 특징 값 및 물성 값이 매칭되어 저장된 메모리(730)에서, 뉴럴 네트워크 장치(700)는 수신된 목표 물성 값(710)과 비슷한 물성 값을 갖고, 수신된 목표 구조 특징 값(720)과 비슷한 구조 특징 값을 갖는 1 세대 표현자들(740)을 선택할 수 있다.
도 7을 참조하면, 뉴럴 네트워크 장치(700)는 목표 물성 값(710)으로 '발광 파장: λ=350nm', 및 목표 구조 특징 값(720)으로 표현자(723)를 입력으로 수신한다. 뉴럴 네트워크 장치(700)는 수신된 입력과 비슷한 구조 특징 값 및 비슷한 물성 값을 갖는 화학 구조들을 메모리(730)에서 선택할 수 있다. 선택된 화학 구조들은 표현자 1 및 표현자 2와 같이 표현되는 목표 구조 특징 값(740)을 가질 수 있으며, 목표 구조 특징 값(740)에 포함된 복수의 표현자들(예를 들어, 표현자 1 및 표현자 2)이 1 세대 표현자들에 해당된다. 한편, 도 7에서는 이해를 돕기 위해 표현자 1 및 표현자 2에 각각 대응되는 SMILES 코드, SMARTS 코드 및 화학 구조가 함께 도시된다.
도 8은 일 실시예에 따른 1 세대 표현자들에 대해 유전 알고리즘(Genetic Algorithm)을 적용하는 과정을 설명하는 도면이다.
도 8을 참조하면, 뉴럴 네트워크 장치는 1 세대 표현자들에 대해 유전 알고리즘을 적용하여 2 세대 표현자들을 생성할 수 있다. 유전 알고리즘은 기존 후보 물질의 교배 및 변이를 통해서 신규 후보 물질을 생성하는 알고리즘으로서, 유전 알고리즘의 연산 과정은 임의적이다. 유전 알고리즘은 선택, 교차, 변이 등의 연산으로 구성된다. 선택은 한 세대에서 다음 세대로 전해지는 물질의 후보가 되는 물질들을 선택하는 것이고, 교차는 세대 내에서의 교배를 통해 다음 세대의 후보 물질을 생성하는 것이며, 변이는 하나의 후보 물질 내에서 표현자의 순서 혹은 값이 임의로 변경되어 후보 물질이 변형되는 것이다.
도 8을 참조하면, 뉴럴 네트워크 장치는 1 세대 표현자들을 선택할 수 있다. 1 세대 표현자들은 표현자 1 내지 표현자 4이며, 표현자 1 내지 표현자 4는 이진 코드 방식으로 표현될 수 있다.
뉴럴 네트워크 장치는 1 세대 표현자들로 선택된 표현자 1 내지 표현자 4에 대해 교차(crossover) 및 변이(mutation) 연산을 수행할 수 있다. 교차 및 변이 연산 수행 결과, 뉴럴 네트워크 장치는 1 세대 표현자들(표현자 1 내지 표현자 4)로부터 2 세대 표현자들을 생성할 수 있다.
도 9a 내지 도 9b는 일 실시예에 따른 표현자들의 물성 및 구조를 평가하는 과정을 설명하는 도면이다.
도 9a를 참조하면, 뉴럴 네트워크 장치의 DNN(900)은, 표현자 및 물성(물성 값)을 이용한 학습을 통해, 표현자와 물성 간의 관계를 규정하는 인자가 결정된 뉴럴 네트워크이다.
구체적으로, DNN(900)은 표현자 및 물성 값인 (x, y) 데이터에 기초하여, 인코딩 함수 e() 및 예측 함수 f()를 학습한다. 인코딩 함수 e()는, 표현자로부터 숨겨진 인자를 도출해내기 위한 함수이다. 표현자가 x인 경우, 인코딩 함수를 통해 표현자 x에 대한 인자 h(=e(x))가 결정될 수 있다. 예측 함수 f()는, 인코딩의 결과로 획득된 인자를 기반으로, 물성을 예측하기 위한 함수이다. 물성이 y인 경우, 인자 h에 예측 함수를 적용하면 y=f(h) 이다. 학습 단계에서는, DNN(900)은 데이터 (x, y)의 확률이 최대가 되도록, 또는 예측에 의한 물성값 f(e(x))와 실제 물성 y와의 차이가 최소화되도록 인자를 결정할 수 있다.
DNN(900)에서는, 입력 레이어에서 표현자를 입력 데이터로 이용하여 연산을 수행하고, 연산 수행 결과를 기초로 물성 값을 출력 데이터로 생성한다. 인자는 표현자 및 물성 간의 관계를 나타내기 위한 드러나지 않은 핵심 요소일 수 있다. DNN(900)을 구성하는 복수의 레이어들 중에서, 표현자는 입력 레이어이고, 인자는 히든 레이어이며, 물성 값은 출력 레이어일 수 있다.
뉴럴 네트워크 장치는 DNN(900)에 2 세대 표현자들을 입력 데이터로 입력하고, 인코딩 함수 e() 및 예측 함수 f()를 적용하여 2 세대 표현자들 각각에 대한 물성 값을 출력 데이터로 생성한다. 뉴럴 네트워크 장치는 생성된 물성 값을 목표 물성 값과 비교함으로써 2 세대 표현자들의 물성을 평가할 수 있다.
또한, 뉴럴 네트워크 장치의 RNN(910)은, 표현자 및 구조(구조 특징 값)를 이용한 학습을 통해 표현자와 구조 간의 관계를 규정하는 인자가 결정된 뉴럴 네트워크이다.
구체적으로, RNN(910)은 표현자 및 구조 특징 값인 (x, s) 데이터에 기초하여, 인코딩 함수 e() 및 디코딩 함수 d()를 학습하며, 디코딩 함수 d()가 학습되는 과정에서 인자가 결정될 수 있다. 한편, DNN(900)의 학습 과정을 통해 인코딩 함수 e()가 결정된 경우, RNN(910)은 DNN(900)에서 결정된 인코딩 함수 e()를 이용함으로써, 인자 및 구조 특징 값인 (h, s) 데이터에 기초하여 디코딩 함수 d()를 학습할 수 있다.
디코딩 함수 d()는, 표현자로부터 도출된 인자를 이용하여 물질의 구조를 원자 레벨에서 생성할 수 있는 함수이다. 구조가 s로 표현될 때, s=d(h)가 성립한다.
RNN(910)에서는, 입력 레이어에서 표현자를 입력 데이터로 이용하여 연산을 수행하고, 연산 수행 결과를 기초로 구조 특징 값을 출력 데이터로 생성한다. 인자는 표현자 및 구조 간의 관계를 나타내기 위한 드러나지 않은 핵심 요소로서, RNN(910)의 히든 레이어일 수 있으며, DNN(900)의 학습 과정을 통해 생성된 히든 레이어를 이용할 수도 있다.
뉴럴 네트워크 장치는 RNN(910)에 2 세대 표현자들을 입력 데이터로 입력하고, 인코딩 함수 e() 및 디코딩 함수 d()를 적용하여 2 세대 표현자들 각각에 대한 구조 특징 값을 출력 데이터로 생성한다. 뉴럴 네트워크 장치는 생성된 구조 특징 값에 목표 특징 값이 포함되는지 여부를 판단함으로써, 2 세대 표현자들의 구조를 평가할 수 있다.
구체적으로, RNN(910)에서는 구조 특징 값(최종 화학 구조)이 SMILES 코드 형태로 생성될 수 있다. 목표 구조 특징 값(부분 구조)이 SMARTS 코드 형태로 입력되면, 뉴럴 네트워크 장치는 RDkit 라이브러리를 이용하여 구조 특징 값에 해당하는 SMILES 코드와, 목표 구조 특징 값에 해당하는 SMARTS 코드의 문자열을 비교함으로써, 구조 특징 값에 목표 구조 특징 값이 포함되는지 여부를 판단할 수 있다. RNN(910)에서 생성된 구조 특징 값에 목표 구조 특징 값이 포함되는 경우, 즉, 생성된 최종 화학 구조에 부분 구조가 포함되는 경우, 뉴럴 네트워크 장치는 RNN(910)에 입력된 해당 2 세대 표현자를 후보 표현자로 선택할 수 있다. 한편, 구조 특징 값(최종 화학 구조), 및 목표 구조 특징 값(부분 구조)의 표현 방식은 이에 제한되지 않는다.
뉴럴 네트워크 장치는 DNN(900)을 이용하여 2 세대 표현자들의 물성을 평가하고, RNN(910)을 이용하여 2 세대 표현자들의 구조를 평가할 수 있다. 또한, 뉴럴 네트워크 장치는 물성 및 구조 평가 결과에 기초하여, 2 세대 표현자들 중에서, 목표 물성 값 및 목표 구조 특징 값을 갖는 후보 표현자들을 선택할 수 있다. 최종적으로, 뉴럴 네트워크 장치는 선택된 후보 표현자들에 대한 화학 구조를 생성함으로써, 특정 부분 구조를 포함하며 목표 물성 값을 갖는 개선된 화학 구조를 생성할 수 있다.
한편, 2 세대 표현자들의 물성 값 및/또는 구조 특징 값이 목표 값에 미치지 못할 경우, 뉴럴 네트워크 장치는 2 세대 표현자들에 대해 유전 알고리즘을 적용하여 3 세대 표현자들을 생성할 수 있다. 뉴럴 네트워크 장치는 DNN(900)를 이용하여 3 세대 표현자들의 물성을 평가하고, RNN(910)을 이용하여 3 세대 표현자들의 구조를 평가할 수 있다. 뉴럴 네트워크 장치는 목표 물성 값 및 목표 구조 특징 값을 만족하는 표현자들이 생성될 때까지 유전 알고리즘을 이용하여 표현자들을 진화시킬 수 있다.
또한, 2 세대 표현자들 각각의 물성 및 구조를 평가한 결과, 목표 물성 값 및 목표 구조 특징 값을 갖는 후보 표현자들의 수가 기설정된 값 이하인 경우, 뉴럴 네트워크 장치는 유전 알고리즘에 적용된 변형 지수를 변경할 수 있다.
한편, 유전 알고리즘에 적용된 변형 지수에 따라 1 세대 표현자들이 변형되는 정도가 달라질 수 있다. 일 실시예에서 변형 지수를 낮추는 것은, 유전자 알고리즘을 구성하는 선택, 교차, 변이 및 대치 등의 연산 중에서 1 세대 표현자들을 변형시키는 변형도가 큰 연산들의 수행횟수를 낮추는 것을 의미할 수 있다. 그러나 변형 지수를 변경하는 방법은 이에 제한되지 않는다.
뉴럴 네트워크 장치는 유전 알고리즘의 변형 지수를 변경한 후, 1 세대 표현자들로부터 2 세대 표현자들을 재생성 할 수 있다. 일 실시예에서 2 세대 표현자들이 100개 생성되었고, 목표 물성 값 및 목표 구조 특징 값을 갖는 후보 표현자들의 수가 10개 이하인 경우, 뉴럴 네트워크 장치는 유전 알고리즘의 변형 지수를 낮춘 후, 1 세대 표현자들에 대해 유전 알고리즘을 다시 적용하여 2 세대 표현자들을 재생성 할 수 있다.
도 9b를 참조하면, 뉴럴 네트워크 장치는 유전 알고리즘을 이용하여 표현자들을 진화시키고, DNN(900) 및 RNN(910)을 이용하여 생성된 표현자들의 물성 값 및 구조 특징 값을 평가함으로써 특정 부분 구조를 포함하며 물성이 개선된 화학 구조를 생성할 수 있다.
일 실시예에서 뉴럴 네트워크 장치는 특정 부분 구조를 포함하며 물성이 개선된 화학 구조를 점진적으로 생성할 수 있다. 예를 들어, 뉴럴 네트워크 장치는 부분 구조(921)를 포함하며, 증가된 파장 값(T1 값)을 갖는 화학 구조를 생성할 수 있다.
구체적으로, 뉴럴 네트워크 장치는 부분 구조(921)를 포함하고 T1 값이 355.93이고 구조 특징 값 'OC(=O)C1=CC=CC=C1NC1=CC=CC=C1'을 갖는 화학 구조(922)를 선택할 수 있다. 뉴럴 네트워크 장치는 선택된 화학 구조(922)의 구조 특징 값 'OC(=O)C1=CC=CC=C1NC1=CC=CC=C1'에 대해 유전 알고리즘을 적용함으로써, 부분 구조(921)를 포함하고 증가된 T1 값 420.11을 갖는 화학 구조(923)를 생성할 수 있다. 생성된 화학 구조(923)는 구조 특징 값으로 'N(C1=CC=CC=C1)C1=C2C=CC=CC2=NC2=C1C=CC=C2'을 갖는다.
이와 같은 방법으로, 뉴럴 네트워크 장치는 생성된 화학 구조(923)에 대해 유전 알고리즘을 적용함으로써, 부분 구조(921)를 포함하며 증가된 T1 값을 갖는 화학 구조를 생성할 수 있다. 뉴럴 네트워크 장치는 목표 물성 값에 가까운 물성 값을 갖는 화학 구조가 생성될 때까지 유전 알고리즘을 적용하여 화학 구조를 생성할 수 있다.
다른 실시예에서, 뉴럴 네트워크 장치는 생성된 화학 구조(923)에 대해 유전 알고리즘을 적용함으로써, 특정 부분 구조를 포함하며 감소된 T1 값을 갖는 화학 구조를 생성할 수도 있다.
도 10은 일 실시예에 따른 CVAE를 이용하여 화학 구조를 생성하는 뉴럴 네트워크 시스템을 도시하는 개념도이다.
뉴럴 네트워크 장치의 CVAE(1000)에서는, 입력층에서 데이터베이스에 저장된 고차원 데이터인 표현자가 입력 데이터로 이용되고, 인코더에서 고차원의 표현자가 이보다 낮은 차원인 잠재 변수로 변환되는 인코딩이 수행된다. 이후 CVAE(1000)의 디코더에서 저차원의 잠재 변수를 디코딩함으로써, 최종적으로 출력층에서는 새로운 화학 구조에 대응되는 고차원 데이터인 표현자가 출력된다.
구체적으로, CVAE(1000)는 기존 화학 구조들 각각에 대한 고차원의 표현자 x를 저차원의 잠재 변수 l로 인코딩할 수 있다. 잠재 변수 l은, 고차원의 표현자 x의 차원을 낮춘 2차원 표현자 z 및 코어 구조 정보 t를 포함할 수 있다. 그러나 잠재 변수 l이 포함하는 데이터는 이에 제한되지 않는다.
아래 표 1은 코어 구조 정보 t에 해당하는 구조의 예시들을 나타낸다.
코어 구조 정보 t 코어 구조
t=0
t=1
t=2
t=3
t=4
t=5
t=6
t=7
잠재 변수 l은 레턴트 맵(latent map)(1030)에 매핑될 수 있다. 잠재 변수 l에 포함된 2차원 표현자 z는 레턴트 맵(1030)의 (x, y) 좌표 값에 대응되며, 잠재 변수 l에 포함된 코어 구조 정보 t는 레턴트 맵(1030)에서 색깔로 구별된다(도 10에서 레턴트 맵(1030)의 색깔은 미도시).
일 실시예에서 코어 구조 정보 t는 레턴트 맵(1030)에서 8종류의 색깔로 구분되어 표시될 수 있다. 예를 들어, 코어 구조 t=0을 갖는 잠재 변수 l은 레턴트 맵(1030)에서 파란색으로 표시되며, 코어 구조 t=1을 갖는 잠재 변수 l은 레턴트 맵(1030)에서 하늘색으로 표시될 수 있다.
레턴트 맵(1030)을 이용하는 경우 표현자들 간의 유사성을 시각적으로 확인할 수 있다. 레턴트 맵(1030)에서는 표현자들이 구조 형태 별로 군집화 되는 것을 확인할 수 있으므로, 이를 통해 특정 구조 형태가 포함된 새로운 화학 구조를 생성하는 것이 상대적으로 용이하다. 도 10의 레턴트 맵(1030)을 참조하면, 동일한 색깔 즉, 동일한 구조 형태 별로 군집화 되는 것을 확인할 수 있다.
CVAE(1000)는 레턴트 맵(1030)에서 잠재 변수들이 매핑되지 않은 영역(1040)을 선택할 수 있다. 선택된 영역(1040)의 잠재 변수가 디코딩됨으로써, 잠재 변수가 고차원의 표현자로 변환될 수 있다. CVAE(1000)는 변환된 고차원의 표현자에 대한 화학 구조를 생성함으로써, 새로운 화학 구조를 생성할 수 있다.
즉, CVAE(1000)는 레턴트 맵(1030)에서 잠재 변수들이 매핑되지 않은 영역(1040)의 소정의 잠재 변수 값을 디코딩함으로써, 데이터베이스에 존재하지 않는 새로운 화학 구조를 생성할 수 있다. 또한, 레턴트 맵(1030)에서 특정 구조 형태가 군집해있는 부근의 잠재 변수를 디코딩함으로써, 해당 특정 구조 형태를 포함하는 화학 구조를 생성할 수 있다.
또한, 뉴럴 네트워크 장치는 CVAE(1000)에서 생성된 새로운 화학 구조에 대해, DNN(1010)을 이용하여 물성 값을 생성하고, RNN(1020)을 이용하여 구조 특징 값을 생성할 수 있다. 또한, 뉴럴 네트워크 장치는 새로운 화학 구조의 물성 및 특징을 평가할 수 있으며, 평가 결과 목표 물성 값 및 목표 구조 특징 값에 미치지 못할 경우, 뉴럴 네트워크 장치는 생성된 새로운 화학 구조에 대해 유전 알고리즘을 적용하여 다음 세대 화학 구조들을 생성할 수 있다.
도 11은 일 실시예에 따른 DNN 및 RNN을 이용하여 화학 구조를 생성하는 방법을 설명하는 흐름도이다. 도 11에 도시된, 뉴럴 네트워크 장치에서 화학 구조를 생성하는 방법은, 앞서 설명된 도면들에서 설명된 실시예들에 관련되므로, 이하 생략된 내용이라 할지라도, 앞서 도면들에서 설명된 내용들은 도 11의 방법에도 적용될 수 있다.
도 11을 참조하면, 단계 1110에서 뉴럴 네트워크 장치는 목표 물성 값 및 목표 구조 특징 값을 입력으로 수신할 수 있다.
목표 물성 값은 뉴럴 네트워크 장치에서 최종적으로 생성될 화학 구조가 갖는 특정 물성의 수치 값이다. 일 실시예에서, 목표 물성 값은 굴절률 값, 탄성 계수, 녹는 점, 투과 파장 및 발광 파장이 될 수 있다. 다른 실시예에서, 목표 물성 값(710)은 구체적인 수치 값이 아닌 증가(+) 방향 또는 감소(-) 방향으로 설정될 수 있다.
목표 구조 특징 값은 뉴럴 네트워크 장치에서 최종적으로 생성될 화학 구조에 필수적으로 포함되어야 할 부분 구조를 수치로 나타낸 값이다. 부분 구조를 수치 값으로 표현하기 위해, ECFP(Extended Connectivity Fingerprint) 및 QSPR(quantitative structure-property relationships)와 같은 표현자를 이용할 수 있다.
뉴럴 네트워크 장치는 목표 물성 값 및 목표 구조 특징 값에 기초하여, 특정 부분 구조를 포함하며 물성이 개선된 화학 구조를 생성할 수 있다.
단계 1120에서 뉴럴 네트워크 장치는 수신된 입력에 기초하여, 1 세대 표현자들을 선택할 수 있다. 메모리에 저장된 표현자들 중에서, 뉴럴 네트워크 장치는 수신된 목표 물성 값과 비슷한 물성 값을 갖고, 수신된 목표 구조 특징 값과 비슷한 구조 특징 값을 갖는 표현자들을 1 세대 표현자들로 선택할 수 있다.
단계 1130에서 뉴럴 네트워크 장치는 1 세대 표현자들에 대해 유전 알고리즘을 적용하여 2 세대 표현자들을 생성할 수 있다. 뉴럴 네트워크 장치는 1 세대 표현자들에 대해 교차 및 변이 연산을 수행함으로써 2 세대 표현자들을 생성할 수 있다.
단계 1140에서 뉴럴 네트워크 장치는 2 세대 표현자들 각각의 물성 및 구조를 평가할 수 있다.
뉴럴 네트워크 장치는 DNN에 2 세대 표현자들을 입력 데이터로 입력하고, 인코딩 함수 및 예측 함수를 적용하여 2 세대 표현자들 각각에 대한 물성 값을 출력 데이터로 생성할 수 있다. 뉴럴 네트워크 장치는 생성된 물성 값을 목표 물성 값과 비교함으로써 2 세대 표현자들의 물성을 평가할 수 있다.
또한, 뉴럴 네트워크 장치는 RNN에 2 세대 표현자들을 입력 데이터로 입력하고, 인코딩 함수 및 디코딩 함수를 적용하여 2 세대 표현자들 각각에 대한 구조 특징 값을 출력 데이터로 생성할 수 있다. 뉴럴 네트워크 장치는 생성된 구조 특징 값을 목표 구조 특징 값과 비교함으로써 2 세대 표현자들의 구조를 평가할 수 있다.
일 실시예에서 뉴럴 네트워크 장치는 RDkit 라이브러리를 이용하여 구조 특징 값에 해당하는 SMILES 코드와, 목표 구조 특징 값에 해당하는 SMARTS 코드의 문자열을 비교함으로써, 구조 특징 값에 목표 구조 특징 값이 포함되는지 여부를 판단할 수 있다. RNN(910)에서 생성된 구조 특징 값에 목표 구조 특징 값이 포함되는 경우, 즉, 생성된 최종 화학 구조에 부분 구조가 포함되는 경우, 뉴럴 네트워크 장치는 RNN(910)에 입력된 해당 2 세대 표현자를 후보 표현자로 선택할 수 있다.
단계 1150에서 뉴럴 네트워크 장치는 평가 결과에 기초하여, 2 세대 표현자들 중에서, 목표 물성 값 및 목표 구조 특징 값을 갖는 후보 표현자들을 선택할 수 있다.
한편, 2 세대 표현자들의 물성 값 및/또는 구조 특징 값이 목표 값에 미치지 못할 경우, 뉴럴 네트워크 장치는 2 세대 표현자들에 대해 유전 알고리즘을 적용하여 3 세대 표현자들을 생성할 수 있다. 뉴럴 네트워크 장치는 DNN를 이용하여 3 세대 표현자들의 물성을 평가하고, RNN을 이용하여 3 세대 표현자들의 구조를 평가할 수 있다. 즉, 뉴럴 네트워크 장치는 목표 물성 값 및 목표 구조 특징 값을 만족하는 표현자들이 생성될 때까지 유전 알고리즘을 이용하여 표현자들을 진화시킬 수 있다.
단계 1160에서 뉴럴 네트워크 장치는 선택된 후보 표현자들에 대한 화학 구조를 생성할 수 있다.
뉴럴 네트워크 장치는 RNN에 후보 표현자들을 입력 데이터로 입력하고, 인코딩 함수 및 디코딩 함수를 적용하여 후보 표현자들 각각에 대한 구조 특징 값을 출력 데이터로 생성할 수 있다. 뉴럴 네트워크 장치는 생성된 구조 특징 값을 SMILES 코드 또는 InChi(International Chemical Identifier) 코드 등으로 변환함으로써, 화학 구조를 생성할 수 있다.
도 12는 일 실시예에 따른 CVAE를 이용하여 화학 구조를 생성하는 방법을 설명하는 흐름도이다. 도 13에 도시된, 뉴럴 네트워크 장치에서 화학 구조를 생성하는 방법은, 앞서 설명된 도면들에서 설명된 실시예들에 관련되므로, 이하 생략된 내용이라 할지라도, 앞서 도면들에서 설명된 내용들은 도 11의 방법에도 적용될 수 있다.
도 12를 참조하면, 단계 1210에서 뉴럴 네트워크 장치는 제 1 표현자들을 저차원(low dimension)의 잠재 변수들(latent variable)로 변환할 수 있다.
메모리에는 구조(구조 특징 값) 및 물성(물성 값)이 매칭되어 하나의 세트로 저장되는데, 구조 특징 값은 메모리에 표현자 형태로 저장될 수 있으며, 메모리에 저장된 표현자들은 고차원의 데이터일 수 있다.
뉴럴 네트워크 장치는 메모리에 저장된 화학 구조의 표현자들(즉, 제 1 표현자들) 각각을 저차원의 잠재 변수들로 변환할 수 있다. 일 실시예에서 뉴럴 네트워크 장치는 목표 물성 값 및/또는 목표 구조 특징 값을 입력으로 수신한 후, 수신된 입력에 기초하여 메모리에 저장된 화학 구조의 표현자들의 일부를 제 1 표현자들로서 선택할 수 있다. 뉴럴 네트워크 장치는 선택된 제 1 표현자들을 저차원의 잠재변수로 변환할 수 있다.
뉴럴 네트워크 장치는 CVAE를 이용하여 고차원의 표현자들을 저차원의 잠재 변수 l로 인코딩할 수 있다. 잠재 변수는, 고차원 표현자의 차원을 낮춘 2차원 표현자 및 코어 구조를 포함할 수 있다.
단계 1220에서 뉴럴 네트워크 장치는 잠재 변수들을 레턴트 맵(latent map)에 매핑할 수 있다.
잠재 변수에 포함된 2차원 표현자는 레턴트 맵의 (x, y) 좌표 값에 대응되며, 잠재 변수 에 포함된 코어 구조 t는 레턴트 맵에서 색깔로 표시될 수 있다.
단계 1230에서 뉴럴 네트워크 장치는 레턴트 맵에서 잠재 변수들이 매핑되지 않은 영역을 선택할 수 있다.
뉴럴 네트워크 장치는 레턴트 맵에서 잠재 변수가 매핑되지 않은 영역에 포함된 소정의 값을 디코더에 입력하여 디코딩함으로써, 데이터베이스에 존재하지 않는 새로운 화학 구조를 생성할 수 있다.
레턴트 맵에서는 표현자들이 구조 형태 별로 군집화 되는 것을 확인할 수 있으므로, 이를 통해 새로운 화학 구조를 생성하는 것이 상대적으로 용이하다. 잠재 변수가 매핑되지 않은 영역에 포함된 잠재 변수 중에서, 특정 구조 형태가 군집해있는 부근의 잠재 변수를 디코딩함으로써, 해당 특정 구조 형태를 포함하는 화학 구조를 생성할 수 있다.
단계 1240에서 뉴럴 네트워크 장치는 선택된 영역의 잠재 변수들을 고차원의 제 2 표현자들로 변환한 후, 제 2 표현자들에 대한 화학 구조를 생성할 수 있다.
뉴럴 네트워크 장치는 CVAE를 이용하여 선택된 영역의 잠재 변수를 디코딩함으로써, 잠재 변수를 고차원의 표현자로 변환할 수 있다. 또한, 뉴럴 네트워크 장치는 CVAE를 이용하여 변환된 고차원의 표현자에 대한 화학 구조를 생성함으로써, 새로운 화학 구조를 생성할 수 있다.
또한, 뉴럴 네트워크 장치는 변환된 고차원 표현자들 각각의 물성 및 구조를 평가할 수 있다. 평가 결과 목표 물성 값 및 목표 구조 특징 값에 미치지 못할 경우, 뉴럴 네트워크 장치는 변환된 고차원 표현자들에 대해 유전 알고리즘을 적용하여 다음 세대 표현자들을 생성할 수 있다. 이는 단계 1110 내지 단계 1160 설명과 중복되므로 편의상 생략하기로 한다.
본 실시예들은 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다.
또한, 본 명세서에서, "부"는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.
전술한 본 명세서의 설명은 예시를 위한 것이며, 본 명세서의 내용이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 실시예의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 포함되는 것으로 해석되어야 한다.

Claims (21)

  1. 뉴럴 네트워크 장치에서 화학 구조를 생성하는 방법에 있어서,
    목표 물성 값 및 목표 구조 특징 값을 입력으로 수신하는 단계;
    상기 목표 물성 값 및 상기 목표 구조 특징 값에 기초하여, 1 세대 표현자들을 선택하는 단계;
    상기 1 세대 표현자들에 대해 유전 알고리즘(Genetic Algorithm)을 적용하여 2 세대 표현자들을 생성하는 단계;
    제 1 뉴럴 네트워크를 이용하여 상기 2 세대 표현자들 각각의 물성을 평가하고, 제 2 뉴럴 네트워크를 이용하여 상기 2 세대 표현자들 각각의 구조를 평가하는 단계;
    상기 평가 결과에 기초하여, 상기 2 세대 표현자들 중에서, 상기 목표 물성 값 및 상기 목표 구조 특징 값을 갖는 후보 표현자들을 선택하는 단계; 및
    상기 제 2 뉴럴 네트워크를 이용하여 상기 선택된 후보 표현자들에 대한 화학 구조를 생성하는 단계;
    를 포함하는 방법.
  2. 제 1항에 있어서,
    상기 후보 표현자들을 선택하는 단계는,
    상기 선택된 후보 표현자들의 수가 기설정된 값 이하인 경우, 상기 유전 알고리즘의 변형 지수를 변경하는 단계; 및
    상기 1 세대 표현자들에 대해, 상기 변경된 변형 지수에 기초하여 상기 유전 알고리즘을 적용함으로써 상기 2 세대 표현자들을 재생성하는 단계;
    를 더 포함하는, 방법.
  3. 제 1항에 있어서,
    상기 물성을 평가하는 단계는,
    상기 2 세대 표현자들을 상기 제 1 뉴럴 네트워크에 입력하고, 상기 2 세대 표현자들 각각의 물성 값을 출력으로서 생성하는 단계; 및
    상기 생성된 물성 값과 상기 목표 물성 값을 비교함으로써, 상기 2 세대 표현자들 각각의 물성을 평가하는 단계;
    를 포함하고,
    상기 제 1 뉴럴 네트워크는 심층 신경망(Deep Neural Network, 이하 DNN)인 것인, 방법.
  4. 제 1항에 있어서,
    상기 구조를 평가하는 단계는,
    상기 2 세대 표현자들을 상기 제 2 뉴럴 네트워크에 입력하고, 상기 2 세대 표현자들 각각에 대한 구조 특징 값을 출력으로서 생성하는 단계; 및
    상기 생성된 구조 특징 값에 상기 목표 구조 특징 값이 포함되는지 여부를 판단함으로써, 상기 2 세대 표현자들의 상기 구조를 평가하는 단계;
    를 포함하고,
    상기 제 2 뉴럴 네트워크는 순환 신경망(Recurrent Neural Network, 이하 RNN)인 것인, 방법.
  5. 화학 구조를 생성하는 뉴럴 네트워크 장치에 있어서,
    목표 물성 값 및 목표 구조 특징 값을 입력으로 수신하는 사용자 인터페이스;
    적어도 하나의 프로그램이 저장된 메모리; 및
    상기 적어도 하나의 프로그램을 실행함으로써 뉴럴 네트워크를 구동하는 프로세서를 포함하고,
    상기 프로세서는,
    상기 목표 물성 값 및 상기 목표 구조 특징 값에 기초하여, 1 세대 표현자들을 선택하고,
    상기 1 세대 표현자들에 대해 유전 알고리즘(Genetic Algorithm)을 적용하여 2 세대 표현자들을 생성하고,
    제 1 뉴럴 네트워크를 이용하여 상기 2 세대 표현자들 각각의 물성을 평가하고, 제 2 뉴럴 네트워크를 이용하여 상기 2 세대 표현자들 각각의 구조를 평가하고,상기 평가 결과에 기초하여, 상기 2 세대 표현자들 중에서, 상기 목표 물성 값 및 상기 목표 구조 특징 값을 갖는 후보 표현자들을 선택하고,
    상기 제 2 뉴럴 네트워크를 이용하여 상기 선택된 후보 표현자들에 대한 화학 구조를 생성하는, 뉴럴 네트워크 장치.
  6. 제 5항에 있어서,
    상기 프로세서는,
    상기 선택된 후보 표현자들의 수가 기설정된 값 이하인 경우, 상기 유전 알고리즘의 변형 지수를 변경하고,
    상기 1 세대 표현자들에 대해, 상기 변경된 변형 지수에 기초하여 상기 유전 알고리즘을 적용함으로써 상기 2 세대 표현자들을 재생성하는, 뉴럴 네트워크 장치.
  7. 제 5항에 있어서,
    상기 프로세서는,
    상기 2 세대 표현자들을 상기 제 1 뉴럴 네트워크에 입력하고, 상기 2 세대 표현자들 각각의 물성 값을 출력으로서 생성하고,
    상기 생성된 물성 값과 상기 목표 물성 값을 비교함으로써, 상기 2 세대 표현자들 각각의 물성을 평가하며,
    상기 제 1 뉴럴 네트워크는 심층 신경망(Deep Neural Network, 이하 DNN)인 것인, 뉴럴 네트워크 장치.
  8. 제 5항에 있어서,
    상기 프로세서는,
    상기 2 세대 표현자들을 상기 제 2 뉴럴 네트워크에 입력하고, 상기 2 세대 표현자들 각각에 대한 구조 특징 값을 출력으로서 생성하고,
    상기 생성된 구조 특징 값에 상기 목표 구조 특징 값이 포함되는지 여부를 판단함으로써, 상기 2 세대 표현자들의 상기 구조를 평가하며,
    상기 제 2 뉴럴 네트워크는 순환 신경망(Recurrent Neural Network, 이하 RNN)인 것인, 뉴럴 네트워크 장치.
  9. 뉴럴 네트워크 장치에서 CVAE(Conditional Variational Autoencoder)를 이용하여 화학 구조를 생성하는 방법에 있어서,
    목표 물성 값 및 목표 구조 특징 값을 입력으로 수신하는 단계;
    상기 목표 물성 값 및 상기 목표 구조 특징 값에 기초하여, 제 1 표현자들을 선택하는 단계;
    상기 제 1 표현자들을 저차원(low dimension)의 잠재 변수들(latent variable)로 변환하는 단계;
    상기 잠재 변수들을 레턴트 맵(latent map)에 매핑하는 단계;
    상기 레턴트 맵에서 상기 잠재 변수들이 매핑되지 않은 영역을 선택하는 단계; 및
    상기 선택된 영역의 상기 잠재 변수들을 고차원의 제 2 표현자들로 변환한 후, 상기 제 2 표현자들에 대한 화학 구조를 생성하는 단계;
    를 포함하는 방법.
  10. 제 9항에 있어서,
    상기 저차원의 잠재 변수는, 코어 구조 정보 및 저차원의 표현자를 포함하는 것인, 방법.
  11. 제 9항에 있어서,
    상기 화학 구조를 생성하는 단계는,
    제 1 뉴럴 네트워크를 이용하여 상기 제 2 표현자들 각각의 물성을 평가하고, 제 2 뉴럴 네트워크를 이용하여 상기 제 2 표현자들 각각의 구조를 평가하는 단계;
    상기 평가 결과에 기초하여, 상기 제 2 표현자들 중에서, 상기 목표 물성 값 및 상기 목표 구조 특징 값을 갖는 후보 표현자들을 선택하는 단계; 및
    상기 제 2 뉴럴 네트워크를 이용하여 상기 선택된 후보 표현자들에 대한 화학 구조를 생성하는 단계;
    를 포함하는 방법.
  12. 제 9항에 있어서,
    상기 방법은,
    상기 제 2 표현자들에 대해 유전 알고리즘을 적용하여 다음 세대 표현자들을 생성하는 단계;
    제 1 뉴럴 네트워크를 이용하여 상기 다음 세대 표현자들 각각의 물성을 평가하고, 제 2 뉴럴 네트워크를 이용하여 상기 다음 세대 표현자들 각각의 구조를 평가하는 단계;
    상기 평가 결과에 기초하여, 상기 다음 세대 표현자들 중에서, 상기 목표 물성 값 및 상기 목표 구조 특징 값을 갖는 후보 표현자들을 선택하는 단계; 및
    상기 제 2 뉴럴 네트워크를 이용하여 상기 선택된 후보 표현자들에 대한 화학 구조를 생성하는 단계;
    를 더 포함하는 방법.
  13. 제 11항에 있어서,
    상기 물성을 평가하는 단계는,
    상기 제 2 표현자들을 상기 제 1 뉴럴 네트워크에 입력하고, 상기 고차원의 제 2 표현자들 각각의 물성 값을 출력으로서 생성하는 단계; 및
    상기 생성된 물성 값과 상기 목표 물성 값을 비교함으로써, 상기 고차원의 제 2 표현자들 각각의 물성을 평가하는 단계;
    를 포함하고,
    상기 제 1 뉴럴 네트워크는 심층 신경망(Deep Neural Network, 이하 DNN)인 것인, 방법.
  14. 제 11항에 있어서,
    상기 구조를 평가하는 단계는,
    상기 제 2 표현자들을 상기 제 2 뉴럴 네트워크에 입력하고, 상기 고차원의 제 2 표현자들 각각에 대한 구조 특징값을 출력으로서 생성하는 단계; 및
    상기 생성된 구조 특징 값에 상기 목표 구조 특징 값이 포함되는지 여부를 판단함으로써, 상기 제 2 표현자들의 상기 구조를 평가하는 단계;
    를 포함하고,
    상기 제 2 뉴럴 네트워크는 순환 신경망(Recurrent Neural Network, 이하 RNN)인 것인, 방법.
  15. CVAE(Conditional Variational Autoencoder)를 이용하여 화학 구조를 생성하는 뉴럴 네트워크 장치에 있어서,
    목표 물성 값 및 목표 구조 특징 값을 입력으로 수신하는 사용자 인터페이스;
    적어도 하나의 프로그램이 저장된 메모리; 및
    상기 적어도 하나의 프로그램을 실행함으로써 뉴럴 네트워크를 구동하는 프로세서를 포함하고,
    상기 프로세서는,
    제 1 표현자들을 저차원(low dimension)의 잠재 변수들(latent variable)로 변환하고,
    상기 잠재 변수들을 레턴트 맵(latent map)에 매핑하고,
    상기 레턴트 맵에서 상기 잠재 변수들이 매핑되지 않은 영역을 선택하고,
    상기 선택된 영역의 상기 잠재 변수들을 고차원의 제 2 표현자들로 변환한 후, 상기 제 2 표현자들에 대한 화학 구조를 생성하는, 뉴럴 네트워크 장치.
  16. 제 15항에 있어서,
    상기 저차원의 잠재 변수는, 코어 구조 정보 및 저차원의 표현자를 포함하는 것인, 뉴럴 네트워크 장치.
  17. 제 15항에 있어서,
    상기 프로세서는,
    제 1 뉴럴 네트워크를 이용하여 상기 제 2 표현자들 각각의 물성을 평가하고, 제 2 뉴럴 네트워크를 이용하여 상기 제 2 표현자들 각각의 구조를 평가하고,
    상기 평가 결과에 기초하여, 상기 제 2 표현자들 중에서, 상기 목표 물성 값 및 상기 목표 구조 특징 값을 갖는 후보 표현자들을 선택하고,
    상기 제 2 뉴럴 네트워크를 이용하여 상기 선택된 후보 표현자들에 대한 화학 구조를 생성하는, 뉴럴 네트워크 장치.
  18. 제 15항에 있어서,
    상기 프로세서는,
    상기 제 2 표현자들에 대해 유전 알고리즘을 적용하여 다음 세대 표현자들을 생성하고,
    제 1 뉴럴 네트워크를 이용하여 상기 다음 세대 표현자들 각각의 물성을 평가하고, 제 2 뉴럴 네트워크를 이용하여 상기 다음 세대 표현자들 각각의 구조를 평가하고,
    상기 평가 결과에 기초하여, 상기 다음 세대 표현자들 중에서, 상기 목표 물성 값 및 상기 목표 구조 특징 값을 갖는 후보 표현자들을 선택하고,
    상기 제 2 뉴럴 네트워크를 이용하여 상기 선택된 후보 표현자들에 대한 화학 구조를 생성하는, 뉴럴 네트워크 장치.
  19. 제 17항에 있어서,
    상기 프로세서는,
    상기 제 2 표현자들을 순환 신경망(Recurrent Neural Network, 이하 RNN)에 입력하고, 상기 고차원의 제 2 표현자들 각각에 대한 구조 특징 값을 출력으로서 생성하고,
    상기 생성된 구조 특징 값에 상기 목표 구조 특징 값이 포함되는지 여부를 판단함으로써, 상기 제 2 표현자들의 상기 구조를 평가하는, 뉴럴 네트워크 장치.
  20. 제 17항에 있어서,
    상기 프로세서는,
    상기 제 2 표현자들을 심층 신경망(Deep Neural Network, 이하 DNN)에 입력하고, 상기 고차원의 제 2 표현자들 각각의 물성 값을 출력으로서 생성하고,
    상기 생성된 물성 값과 상기 목표 물성 값을 비교함으로써, 상기 고차원의 제 2 표현자들 각각의 물성을 평가하는, 뉴럴 네트워크 장치.
  21. 제 1항 또는 제 9항의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020180006275A 2018-01-17 2018-01-17 뉴럴 네트워크를 이용하여 화학 구조를 생성하는 장치 및 방법 KR102587959B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020180006275A KR102587959B1 (ko) 2018-01-17 2018-01-17 뉴럴 네트워크를 이용하여 화학 구조를 생성하는 장치 및 방법
US16/156,709 US11581067B2 (en) 2018-01-17 2018-10-10 Method and apparatus for generating a chemical structure using a neural network
EP18201299.7A EP3514734B1 (en) 2018-01-17 2018-10-18 Method and apparatus for generating a chemical structure using a neural network
CN201811266187.4A CN110046692A (zh) 2018-01-17 2018-10-29 产生化学结构的方法、神经网络设备和计算机可读记录介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180006275A KR102587959B1 (ko) 2018-01-17 2018-01-17 뉴럴 네트워크를 이용하여 화학 구조를 생성하는 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20190087898A KR20190087898A (ko) 2019-07-25
KR102587959B1 true KR102587959B1 (ko) 2023-10-11

Family

ID=63914913

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180006275A KR102587959B1 (ko) 2018-01-17 2018-01-17 뉴럴 네트워크를 이용하여 화학 구조를 생성하는 장치 및 방법

Country Status (4)

Country Link
US (1) US11581067B2 (ko)
EP (1) EP3514734B1 (ko)
KR (1) KR102587959B1 (ko)
CN (1) CN110046692A (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102547802B1 (ko) 2018-08-23 2023-06-26 삼성전자주식회사 뉴럴 네트워크를 이용하여 화학 구조를 생성하는 장치 및 방법
US11995854B2 (en) * 2018-12-19 2024-05-28 Nvidia Corporation Mesh reconstruction using data-driven priors
KR102110176B1 (ko) * 2019-10-11 2020-05-13 주식회사 메디리타 신약 후보 물질 도출 방법 및 장치
EP4050612A4 (en) * 2019-10-21 2023-11-15 Standigm Inc. METHOD AND DEVICE FOR COMPOUND DESIGN
JP7483244B2 (ja) 2019-10-21 2024-05-15 国立大学法人東京工業大学 化合物生成装置、化合物生成方法、学習装置、学習方法及びプログラム
KR20210072528A (ko) * 2019-12-09 2021-06-17 삼성전자주식회사 뉴럴 네트워크를 이용하여 새로운 화학 구조를 생성하는 장치 및 방법
US11875264B2 (en) * 2020-01-15 2024-01-16 R4N63R Capital Llc Almost unsupervised cycle and action detection
US20210303762A1 (en) * 2020-03-31 2021-09-30 International Business Machines Corporation Expert-in-the-loop ai for materials discovery
CN112199884A (zh) * 2020-09-07 2021-01-08 深圳先进技术研究院 物品分子生成方法、装置、设备及存储介质
CN112270951B (zh) * 2020-11-10 2022-11-01 四川大学 基于多任务胶囊自编码器神经网络的全新分子生成方法
JP7312468B2 (ja) * 2021-02-12 2023-07-21 Hpcシステムズ株式会社 分子構造生成方法及びプログラム
CN113276119B (zh) * 2021-05-25 2022-06-28 清华大学深圳国际研究生院 一种基于图Wasserstein自编码网络的机器人运动规划方法及***
WO2023077522A1 (zh) * 2021-11-08 2023-05-11 深圳晶泰科技有限公司 化合物设计方法、装置、设备及计算机可读存储介质
CN114220488A (zh) * 2021-11-08 2022-03-22 深圳晶泰科技有限公司 化合物设计方法、装置、设备及计算机可读存储介质
KR20230132186A (ko) * 2022-03-08 2023-09-15 연세대학교 산학협력단 딥러닝 기반 분자 설계 방법, 이를 수행하는 장치 및 컴퓨터 프로그램

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5463564A (en) 1994-09-16 1995-10-31 3-Dimensional Pharmaceuticals, Inc. System and method of automatically generating chemical compounds with desired properties
JP2003058579A (ja) 2001-08-21 2003-02-28 Bridgestone Corp 設計・配合の最適化方法
JP2004301928A (ja) 2003-03-28 2004-10-28 Seiko Epson Corp 薄膜形成方法および薄膜を有する被処理体
DE10350525A1 (de) 2003-10-29 2005-06-09 Bayer Technology Services Gmbh Verfahren zur Visualisierung der ADME-Eigenschaften chemischer Substanzen
JP2006113893A (ja) 2004-10-15 2006-04-27 Mitsubishi Electric Corp 化学物質の自動分類方法、情報空間の可視化法及び情報検索システム並びに情報検索プログラム
KR101375672B1 (ko) 2011-10-27 2014-03-20 주식회사 켐에쎈 화합물의 물성을 예측하는 방법 및 화합물의 물성을 예측하는 시스템
KR102457974B1 (ko) 2015-11-04 2022-10-21 삼성전자주식회사 신규 물질 탐색 방법 및 장치
US10366779B2 (en) 2015-12-30 2019-07-30 International Business Machines Corporation Scheme of new materials
KR102523472B1 (ko) 2016-08-01 2023-04-18 삼성전자주식회사 신규 물질의 구조 생성 방법 및 장치

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Gomez-Bombarelli, R. et al., Automatic Chemical Design Using a Data-Driven Continuous Representation of Molecules, ACS Cent. Sci. Vol.4, pp268-276(2018.01.12.)*
T. Blaschke et al., Application of generative autoencoder in de novo molecular design, arXiv:1711.07839v1(2017)*

Also Published As

Publication number Publication date
KR20190087898A (ko) 2019-07-25
EP3514734B1 (en) 2024-05-29
US11581067B2 (en) 2023-02-14
US20190220573A1 (en) 2019-07-18
CN110046692A (zh) 2019-07-23
EP3514734A1 (en) 2019-07-24

Similar Documents

Publication Publication Date Title
KR102587959B1 (ko) 뉴럴 네트워크를 이용하여 화학 구조를 생성하는 장치 및 방법
Li et al. A survey of data-driven and knowledge-aware explainable ai
JP2024500182A (ja) 説明可能なトランスデューサ・トランスフォーマ
CN112561064B (zh) 基于owkbc模型的知识库补全方法
KR20210042777A (ko) 화학구조를 생성하는 장치 및 방법
US11334791B2 (en) Learning to search deep network architectures
KR20220015479A (ko) 약물-표적 단백질의 상호작용을 예측하는 방법 및 그 방법을 수행하는 장치
US20230268035A1 (en) Method and apparatus for generating chemical structure using neural network
CN112380326B (zh) 一种基于多层感知的问题答案抽取方法及电子装置
KR102586799B1 (ko) 인공지능 모델을 활용한 웹소설 기반 웹북 생성 자동화 처리 방법, 장치 및 시스템
US20210174910A1 (en) Method and apparatus for generating new chemical structure using neural network
Lee et al. Crossmodal clustered contrastive learning: Grounding of spoken language to gesture
CN116092668A (zh) 一种融合多元异构数据的心衰患者再入院预测方法
CN115470327A (zh) 基于知识图谱的医疗问答方法及相关设备
US11854672B2 (en) Method and apparatus for generating chemical structure
KR102519183B1 (ko) 분자구조를 생성하는 장치 및 방법
Bennetot et al. A practical guide on explainable ai techniques applied on biomedical use case applications
CN117994397B (zh) 数字人文本动作生成方法、装置、计算机设备和存储介质
KR102584712B1 (ko) 인공지능을 기반으로 한 음원 유사 판단 및 블록체인을 기반으로 한 음원 인덱싱 정보 저장 및 관리 방법, 장치 및 시스템
CN117972435B (zh) 一种数字人文本动作模型训练方法及数字人动作生成方法
US20230401479A1 (en) Multimodal data inference
WO2023027109A1 (ja) 機械学習モデルのためのデータの併合規則の生成装置、データの併合規則の生成装置の作動方法およびプログラム、並びに、機械学習モデルの学習装置、学習装置の作動方法およびプログラム
Vaissnave et al. Advancements in Deep Learning Algorithms
Castellano et al. Discovering human understandable fuzzy diagnostic rules from medical data
KR20230161867A (ko) 분자 구조 조건을 고려한 합성가능한 분자 생성 모델을 위한 오토인코딩 장치 및 이를 이용한 분자 생성 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant