KR20210042777A - 화학구조를 생성하는 장치 및 방법 - Google Patents

화학구조를 생성하는 장치 및 방법 Download PDF

Info

Publication number
KR20210042777A
KR20210042777A KR1020190149114A KR20190149114A KR20210042777A KR 20210042777 A KR20210042777 A KR 20210042777A KR 1020190149114 A KR1020190149114 A KR 1020190149114A KR 20190149114 A KR20190149114 A KR 20190149114A KR 20210042777 A KR20210042777 A KR 20210042777A
Authority
KR
South Korea
Prior art keywords
chemical structure
presenter
model
generation model
structure generation
Prior art date
Application number
KR1020190149114A
Other languages
English (en)
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 US16/897,456 priority Critical patent/US11854672B2/en
Publication of KR20210042777A publication Critical patent/KR20210042777A/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/60In silico combinatorial chemistry
    • G16C20/62Design of libraries
    • 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
    • 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/10Analysis or design of chemical reactions, syntheses or processes
    • 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
    • G16C20/00Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
    • G16C20/90Programming languages; Computing architectures; Database systems; Data warehousing
    • 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)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Chemical & Material Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Analytical Chemistry (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Chemical Kinetics & Catalysis (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Library & Information Science (AREA)
  • Medicinal Chemistry (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

화학구조 생성 모델을 이용하여 새로운 화학구조를 생성하는 방법 및 장치가 제공된다. 본 개시에 따른 방법은, 인코더를 이용하여 제1 표현자를 잠재 변수로 인코딩하고, 디코더를 이용하여 잠재 변수를 디코딩함으로써 제2 표현자를 생성하며, 제2 표현자에 대응하는 새로운 화학구조를 생성할 수 있다.

Description

화학구조를 생성하는 장치 및 방법{METHOD AND APPARATUS FOR GENERATING CHEMICAL STRUCTURE}
본 개시는 화학구조를 생성하는 장치 및 방법에 관한다.
뉴럴 네트워크(neural network)는 생물학적 뇌를 모델링한 컴퓨터 과학적 아키텍쳐(computational architecture)를 참조한다. 뉴럴 네트워크(neural network) 기술이 발전함에 따라, 다양한 종류의 전자 시스템에서 뉴럴 네트워크를 활용하여 입력 데이터를 분석하고 유효한 정보를 추출하고 있다.
최근에는, 뉴럴 네트워크 기술을 이용하여 소재 개발에 사용될 화학구조를 선별해내기 위한 연구가 활발히 진행되고 있다.
한편, 문자열 또는 벡터 형태로 표현되는 화학구조의 경우, 3차원 화학구조를 온전히 표현하지 못하고 무시되는 정보들이 많다. 이에 따라 문자열 또는 벡터 형태의 한계를 극복하고 보다 정확한 물성 예측 및 다양한 화학구조를 생성하기 위해서는, 3차원 화학구조를 입력 데이터 및 출력 데이터로 활용할 수 있는 기술이 요구된다.
화학구조를 생성하는 장치 및 방법을 제공하는데 있다. 또한, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다. 해결하려는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제1 측면은, 화학구조 생성 모델을 이용하여 새로운 화학구조를 생성하는 방법에 있어서, 소정의 화학구조에 대한 제1 표현자를 입력으로 수신하는 단계; 인코더를 이용하여, 상기 제1 표현자를 잠재 변수(latent variable)로 인코딩하는 단계; 디코더를 이용하여 상기 잠재 변수를 디코딩함으로써 제2 표현자를 생성하는 단계; 및 상기 제2 표현자에 대응하는 새로운 화학구조를 생성하는 단계;를 포함하는, 방법을 제공할 수 있다.
또한, 상기 새로운 화학구조를 생성하는 단계는, 상기 제2 표현자를 유효성 평가 모델에 입력하고, 상기 유효성 평가 모델로부터 보상(reward)을 피드백으로 수신하는 단계; 및 상기 보상에 기초하여 상기 화학구조 생성 모델을 업데이트하는 단계;를 더 포함하는, 방법을 제공할 수 있다.
또한, 상기 화학구조 생성 모델을 업데이트하는 단계는, 상기 제2 표현자에 대한 보상이 제1 값인 경우에만 상기 화학구조 생성 모델의 웨이트(weight)를 업데이트하는 단계;를 포함하고, 상기 유효성 평가 모델에서는, 상기 제2 표현자가 유효한 화학구조를 나타내는 경우 보상으로 제1 값이 출력되고, 상기 제2 표현자가 유효하지 않은 화학구조를 나타내는 경우 보상으로 제2 값이 출력되는 것인, 방법을 제공할 수 있다.
또한, 상기 제1 표현자 및 상기 제2 표현자는, 화학구조의 버텍스(vertex) 정보 및 엣지(edge) 정보에 기초하여 생성된 2차원 그래프 형태를 갖는 것인, 방법을 제공할 수 있다.
또한, 상기 화학구조 생성 모델을 업데이트하는 단계는, 상기 제2 표현자를 물성예측 모델에 입력하고, 상기 물성예측 모델로부터 예측 물성 값을 피드백으로 수신하는 단계; 및 상기 예측 물성 값에 기초하여 상기 화학구조 생성 모델의 웨이트를 업데이트하는 단계;를 포함하는, 방법을 제공할 수 있다.
또한, 상기 제2 표현자가 기설정된 제약조건(blacklist)을 포함하는지 여부를 결정하는 단계; 및 상기 기설정된 제약조건을 포함하지 않는 상기 제2 표현자를 상기 유효성 평가 모델에 입력하고, 상기 유효성 평가 모델로부터 상기 보상을 피드백으로 수신하는 단계;를 포함하는, 방법을 제공할 수 있다.
또한, 상기 화학구조 생성 모델은 CVAE(Conditional Variational Autoencoder) 모델인 것인, 방법을 제공할 수 있다.
또한, 상기 유효성 평가 모델은 강화학습(reinforcement learning) 모델인 것인, 방법을 제공할 수 있다.
또한, 상기 물성예측 모델은 심층신경망(deep neural network) 모델인 것인, 방법을 제공할 수 있다.
본 개시의 제 2 측면은, 화학구조 생성 모델을 이용하여 새로운 화학구조를 생성하는 방법에 있어서, 상기 화학구조 생성 모델의 레턴트 맵 상의 임의의 잠재 변수를 획득하는 단계; 디코더를 이용하여 상기 임의의 잠재 변수를 디코딩함으로써 표현자를 생성하는 단계; 및 상기 표현자에 대응하는 새로운 화학구조를 생성하는 단계; 를 포함하는, 방법을 제공할 수 있다.
본 개시의 제 3 측면은, 화학구조 생성 모델을 이용하여 새로운 화학구조를 생성하는 장치에 있어서, 적어도 하나의 프로그램이 저장된 메모리; 및 상기 적어도 하나의 프로그램을 실행하는 프로세서를 포함하고, 상기 프로세서는, 인코더를 이용하여, 소정의 화학구조에 대한 제1 표현자를 잠재 변수로 인코딩하고, 디코더를 이용하여 상기 잠재 변수를 디코딩함으로써 제2 표현자를 생성하며, 상기 제2 표현자에 대응하는 새로운 화학구조를 생성하는 것인, 장치를 제공할 수 있다.
또한, 본 개시의 제 4 측면은, 화학구조 생성 모델을 이용하여 새로운 화학구조를 생성하는 장치에 있어서, 적어도 하나의 프로그램이 저장된 메모리; 및 상기 적어도 하나의 프로그램을 실행하는 프로세서를 포함하고, 상기 프로세서는, 상기 화학구조 생성 모델의 레턴트 맵 상의 임의의 잠재 변수를 획득하며, 상기 디코더를 이용하여 상기 임의의 잠재 변수를 디코딩함으로써 표현자를 생성하며, 상기 표현자에 대응하는 새로운 화학구조를 생성하는 것인, 장치를 제공할 수 있다.
또한, 본 개시의 제 5 측면은, 제 1 및 제 3 측면의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.
본 개시에 따르면, 유효한 화학구조를 나타내는 표현자들만을 이용하여 화학구조 생성 모델을 학습시킴으로써, 화학구조 생성 모델의 학습 및 추론 효율이 향상될 수 있다.
도 1은 일 실시예에 따른 장치의 하드웨어 구성을 도시한 블록도이다.
도 2는 일 실시예에 따른 심층신경망(Deep Neural Network, 이하 심층신경망)에서 수행되는 연산을 설명하는 도면이다.
도 3a 내지 도 3b는 일 실시예에 따른 강화학습(Reinforcement Learning) 및 심층강화학습(Deep Reinforcement Learning: DRL)을 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 CVAE(Conditional Variational AutoEncoder)에서 수행되는 연산을 설명하는 도면이다.
도 5는 일 실시예에 따른 2차원 그래프 형태의 표현자를 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 화학구조를 생성하고 물성을 예측하는 과정을 설명하기 위한 개념도이다.
도 7은 일 실시예에 따른 화학구조 생성 모델을 학습시키는 과정을 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 화학구조 생성 모델을 이용하여 새로운 화학구조를 생성하는 과정을 설명하기 위한 도면이다.
도 9는 일 실시예에 따른 화학구조 생성 모델에서 화학구조를 생성하는 방법을 설명하는 흐름도이다.
본 명세서에서 다양한 곳에 등장하는 "일부 실시예에서" 또는 "일 실시예에서" 등의 어구는 반드시 모두 동일한 실시예를 가리키는 것은 아니다.
본 개시의 일부 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “매커니즘”, “요소”, “수단” 및 “구성”등과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다.
또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다.
이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.
도 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)에는 화학구조 및 물성(property) 값이 매칭되어 하나의 세트로 저장되는데, 장치(100)는 메모리(120)로부터 화학구조 및 이에 대응하는 물성 값을 독출하거나, 메모리(120)에 화학구조 및 이에 대응하는 물성 값을 기록할 수 있다.
화학구조는 물질의 원자(atom) 레벨의 구조를 의미한다. 화학구조는 간단한 형식의 문자열(1차원) 형태일 수도 있다. 예를 들어, 화학구조는 SMILES(Simplified Molecular-Input Line-Entry System) 코드, SMARTS(Smiles Arbitrary Target Specification) 코드 또는 InChi(International Chemical Identifier) 코드 등으로 표현될 수 있다.
또는, 화학구조는 원자와 원자 간의 연결 관계(bond)에 기반하는 구조식일 수 있다. 화학구조는 원자를 나타내는 버텍스(vertex) 및 원자 간의 연결 관계를 나타내는 엣지(edge)를 포함한다. 일 실시예에서 화학구조는 버텍스 정보 및 엣지 정보에 기초하여 생성된 2차원 그래프 형태로 표현될 수 있다.
물성 값은 물질이 가지고 있는 특성을 의미하며, 실험을 통해 측정되거나 시뮬레이션을 통해 계산된 실수 값이 될 수 있다. 예를 들어, 물질이 디스플레이 소재인 경우 빛에 대한 투과 파장, 발광 파장 등이 될 수 있고, 물질이 배터리 소재인 경우 전압이 될 수 있다. 표현자의 경우와는 달리, 물성을 계산하는 데에는 복잡한 시뮬레이션이 필요하고 많은 시간이 소모될 수 있다.
프로세서(110)는 화학구조 생성 모델, 유효성 평가 모델 및 물성 예측 모델을 구동할 수 있다.
프로세서(110)는 화학구조 생성 모델을 이용하여 데이터베이스에 존재하지 않는 새로운 화학구조를 생성할 수 있다. 일 실시예에서 화학구조 생성 모델은 CVAE(Conditional Variational AutoEncoder) 모델일 수 있다.
구체적으로, 프로세서(110)는 화학구조 생성 모델에 특정 화학구조에 대한 제1 표현자를 입력할 수 있다. 화학구조의 표현자는 고차원 데이터이다. 화학구조 생성 모델의 인코더(encoder)는 표현자를 저차원의 잠재 변수로 인코딩하고, 화학구조 생성 모델의 디코더(decoder)는 잠재 변수를 디코딩함으로써 고차원의 제2 표현자를 출력할 수 있다. 화학구조 생성 모델에 입력된 제1 표현자와, 화학구조 생성 모델로부터 출력된 제2 표현자가 서로 상이한 경우, 제2 표현자에 대응하는 화학구조는 새로운 화학구조일 수 있다.
또한, 프로세서(110)는 유효성 평가 모델을 이용하여, 유효한 화학구조와 유효하지 않은 화학구조를 결정할 수 있다. 일 실시예에서 유효성 평가 모델은 강화학습(Reinforcement Learning) 모델일 수 있다.
구체적으로, 프로세서(110)는 화학구조 생성 모델로부터 생성된 새로운 화학구조에 대한 표현자를 유효성 평가 모델에 입력할 수 있다. 일 실시예에서, 유효성 평가 모델은 라이브러리(library)를 통해서 새로운 화학구조에 대한 표현자의 문법을 확인함으로써, 새로운 화학구조가 유효한지 여부를 결정할 수 있다. 예를 들어, 라이브러리는 Rdkit 라이브러리일 수 있으나, 이에 제한되지 않는다.
유효성 평가 모델은 새로운 화학구조의 유효성 여부에 따라 상이한 보상(reward)을 출력할 수 있다. 유효성 평가 모델로부터 출력된 보상은 화학구조 생성 모델의 디코더를 업데이트하는데 이용될 수 있다.
또한, 프로세서(110)는 물성 예측 모델을 이용하여, 새로 생성된 화학구조의 물성 값을 예측할 수 있다. 일 실시예에서 물성 예측 모델은 심층신경망(Deep Neural Network) 모델일 수 있다. 구체적으로, 프로세서(110)는 물성 예측 모델에 화학구조에 대한 표현자를 입력할 수 있다. 물성 예측 모델은 입력된 표현자에 기초하여 물성 값을 출력할 수 있다.
한편, 장치(100)는 사용자 인터페이스(미도시)를 더 포함할 수 있다. 사용자 인터페이스는, 장치(100)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 인터페이스에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.
이하 본 실시예들의 설명에서는 이와 같이 장치(100)를 이용하여 화학구조를 생성하고, 생성된 화학구조를 평가하는 방법들에 대해 상세하게 설명하도록 한다. 이하에서 설명된 방법들은 장치(100)의 프로세서(110) 및 메모리(120)에 의해 수행될 수 있다.
도 2는 일 실시예에 따른 심층신경망(Deep Neural Network, 이하 심층신경망)에서 수행되는 연산을 설명하는 도면이다.
도 2를 참조하면, 심층신경망(200)은 입력 레이어, 히든 레이어들 및 출력 레이어를 포함하는 구조를 가지며, 수신되는 입력 데이터(예를 들어, I1 및 I2)를 기초로 연산을 수행하고, 수행 결과를 기초로 출력 데이터(예를 들어, O1 및 O2)를 생성할 수 있다.
예를 들어, 도 2에 도시된 바와 같이, 심층신경망(200)은 입력 레이어(Layer 1), 2개의 히든 레이어들(Layer 2 및 Layer 3) 및 출력 레이어(Layer 4)를 포함할 수 있다. 심층신경망(200)은 유효한 정보를 처리할 수 있는 보다 많은 레이어들을 포함하므로, 심층신경망(200)은 싱글 레이어를 갖는 뉴럴 네트워크보다 복잡한 데이터 집합들을 처리할 수 있다. 한편, 심층신경망(200)은 4개의 레이어들을 포함하는 것으로 도시되어 있으나, 이는 예시에 불과할 뿐 심층신경망(200)은 더 적거나 많은 레이어들을 포함하거나, 더 적거나 많은 채널들을 포함할 수 있다. 즉, 심층신경망(200)은 도 2에 도시된 것과는 다른, 다양한 구조의 레이어들을 포함할 수 있다.
심층신경망(200)에 포함된 레이어들 각각은 복수의 채널들을 포함할 수 있다. 채널은 뉴런(neuron), 프로세싱 엘리먼트(Processing element, PE), 유닛(unit) 또는 이와 유사한 용어들로 알려진, 복수의 인공 노드(artificial node)들에 해당될 수 있다. 예를 들어, 도 2에 도시된 바와 같이, Layer 1은 2개의 채널들(노드들), Layer 2 및 Layer 3 각각은 3개의 채널들을 포함할 수 있다. 다만, 이는 예시에 불과할 뿐 심층신경망(200)에 포함된 레이어들 각각은 다양한 개수의 채널들(노드들)을 포함할 수 있다.
심층신경망(200)의 레이어들 각각에 포함된 채널들은 서로 연결되어 데이터를 처리할 수 있다. 예를 들어, 하나의 채널은 다른 채널들로부터 데이터를 수신하여 연산할 수 있고, 연산 결과를 또 다른 채널들로 출력할 수 있다.
채널들 각각의 입력 및 출력 각각은 입력 액티베이션 및 출력 액티베이션이라고 지칭될 수 있다. 즉, 액티베이션은 한 채널의 출력임과 동시에, 다음 레이어에 포함된 채널들의 입력에 해당되는 파라미터일 수 있다. 한편, 채널들 각각은 이전 레이어에 포함된 채널들로부터 수신된 액티베이션들 및 웨이트들에 기초하여 자신의 액티베이션을 결정할 수 있다. 웨이트는 각 채널에서의 출력 액티베이션을 계산하기 위해 이용되는 파라미터로서, 채널들 간의 연결관계에 할당되는 값일 수 있다.
채널들 각각은 입력을 수신하여 출력 액티베이션을 출력하는 연산 유닛(computational unit) 또는 프로세싱 엘리먼트(processing element)에 의해 처리될 수 있고, 채널들 각각의 입력-출력은 매핑될 수 있다. 예를 들어,
Figure pat00001
는 액티베이션 함수(activation function)이고,
Figure pat00002
는 (i-1)번째 레이어에 포함된 k번째 채널로부터 i번째 레이어에 포함된 j번째 채널로의 웨이트며,
Figure pat00003
는 i번째 레이어에 포함된 j번째 채널의 바이어스(bias)고,
Figure pat00004
는 i번째 레이어의 j번째 채널의 액티베이션이라고 할 때, 액티베이션
Figure pat00005
는 다음과 같은 수학식 1을 이용하여 계산될 수 있다.
Figure pat00006
도 2에 도시된 바와 같이, 2번째 레이어(Layer 2)의 첫 번째 채널(CH 1)의 액티베이션은
Figure pat00007
로 표현될 수 있다. 또한,
Figure pat00008
는 수학식 1에 따라
Figure pat00009
의 값을 가질 수 있다. 다만, 앞서 설명한 수학식 1은 심층신경망(200)에서 데이터를 처리하기 위해 이용되는 액티베이션 및 웨이트를 설명하기 위한 예시일 뿐, 이에 제한되지 않는다. 액티베이션은 이전 레이어로부터 수신된 액티베이션들의 합(sum)에 액티베이션 함수를 적용한 값을 Rectified Linear Unit (ReLU)을 통과시킴으로써 획득된 값일 수 있다.
일 실시예에서, 심층신경망(200)은, 표현자 및 물성 값을 이용한 학습을 통해, 표현자와 물성 간의 관계를 규정하는 인자를 결정할 수 있다. 즉, 심층신경망(200)을 구성하는 Layer 1 내지 Layer 4 중에서, 표현자는 입력 레이어인 Layer 1이 되고, 물성 값은 출력 레이어인 Layer 4가 되며, 인자는 적어도 하나의 히든 레이어(Layer 2 및/또는 Layer 3)이 될 수 있다.
심층신경망(200)은 입력 레이어에서 화학구조에 대한 표현자를 입력 받고 연산을 수행한 후, 출력 레이어에서 물성 값을 출력할 수 있다.
도 3a 내지 도 3b는 일 실시예에 따른 강화학습(Reinforcement Learning) 및 심층강화학습(Deep Reinforcement Learning: DRL)을 설명하기 위한 도면이다.
도 3a를 참조하면, 강화학습 모델(310)은 에이전트(agent), 상태(state), 환경(environment), 행동(action), 보상(reward) 등의 요소들을 포함할 수 있다.
에이전트 행동을 수행하는 주체를 의미한다. 행동은 에이전트가 수행할 수 있는 모든 행동을 의미한다. 상태는 에이전트가 인식하는 구체적이고 즉각적인 자신의 상황이다. 환경은 에이전트의 현재 상태 및 행동을 입력 받아, 보상과 다음 상태를 출력한다. 보상은 에이전트의 행동에 대한 성공이나 실패를 측정하는 피드백이다.
정책은 에이전트가 현재 상태를 기준으로 다음의 행동을 결정하는 데 사용하는 전략을 의미한다. 에이전트는 특정한 상태에서 보상을 최대화할 수 있는 행동을 선택한다.
Q-value는 현재의 상태에서 정책 π에 따른 기대되는 보상을 의미한다.
Figure pat00010
는 정책 π에 따라 행동 a를 취할 경우 현재의 상태 s에서 받을 장기적인 리턴을 의미한다. Q-value는 상태-행동 쌍을 보상에 매핑한다.
강화학습 모델(310)은 에이전트가 앞으로 누적될 보상을 최대화하는 일련의 행동으로 정의되는 정책을 결정하는 알고리즘을 의미한다.
도 3b를 참조하면, 심층강화학습 모델(320)은 상태-행동 쌍을 보상에 매핑하는 법을 학습하는 에이전트이다.
심층강화학습 모델(320) 역시, 다른 심층신경망 모델과 동일하게 입력을 출력과 관련시키는 함수를 근사하기 위해 상관 계수를 사용한다. 심층강화학습 모델(320)은 오류가 적어지는 gradient를 따라 weight를 반복적으로 조정하여 올바른 상관 계수 또는 weight를 찾기 위해 학습한다.
심층강화학습 모델(320)에서 컨벌루션 네트워크는 에이전트의 상태를 인식할 때 사용될 수 있다. 심층강화학습 모델(320)의 컨벌루션 네트워크는 에이전트가 현재 상태에서 수행할 수 있는 '행동의 순위'를 결정한다.
심층강화학습 모델(320)은 환경으로부터 얻는 피드백으로 기대 보상과 ground-truth 보상의 차이를 이용하여 weight를 조정하고 상태-행동 쌍에 대한 해석을 향상시킬 수 있다.
도 4는 일 실시예에 따른 CVAE(Conditional Variational AutoEncoder)에서 수행되는 연산을 설명하는 도면이다.
도 4를 참조하면, CVAE(400)는 입력층, 인코더(encoder), 디코더(decoder) 및 출력층을 포함하는 구조를 가진다. CVAE(400)의 입력층에서 고차원 데이터가 입력 데이터로 이용되고, 인코더에서는 고차원의 입력 데이터를 이보다 낮은 차원의 잠재 변수(latent variable) z로 변환하는 인코딩이 수행된다. 일 실시예에서 잠재 변수 z는 평균 μ, 분산 σ인 정규분포를 따르며, 일반적으로 2~50차원 데이터일 수 있다. 이후 디코더에서는 저차원의 잠재 변수 z를 디코딩함으로써, 출력층에서는 데이터베이스에 존재하지 않는 새로운 고차원 데이터가 출력될 수 있다.
한편, 잠재 변수 z는 레턴트 맵(latent map)에 매핑될 수 있는데, 레턴트 맵에서 잠재 변수 z가 매핑되지 않은 영역에 포함된 소정의 값 z'을 디코더에 입력하여 디코딩함으로써, 출력층에서는 데이터베이스에 존재하지 않는 새로운 데이터가 생성될 수 있다. 또는, 디코더의 학습 정도에 따라, 잠재 변수 z를 디코더에 입력하여 디코딩한 경우, 출력층에서 데이터베이스에 존재하지 않는 새로운 데이터가 생성될 수도 있다.
CVAE(400)의 입력층에는 특정 화학구조에 대한 제1 표현자가 입력될 수 있다. 화학구조의 표현자는 고차원 데이터이다. 인코더는 표현자를 저차원의 잠재 변수로 인코딩하고, 화학구조 생성 모델의 디코더는 잠재 변수를 디코딩함으로써 고차원의 제2 표현자를 출력할 수 있다. 화학구조 생성 모델에 입력된 제1 표현자와, 화학구조 생성 모델로부터 출력된 제2 표현자가 서로 상이한 경우, 제2 표현자에 대응하는 화학구조는 새로운 화학구조일 수 있다.
도 5는 일 실시예에 따른 2차원 그래프 형태의 표현자를 설명하기 위한 도면이다.
도 5를 참조하면, 화학구조(510)는 원자를 나타내는 버텍스 및 원자 간의 연결 관계를 나타내는 엣지를 포함할 수 있다. 화학구조의 표현자는, 버텍스 정보 및 엣지 정보에 기초하여 생성된 2차원 그래프 형태(520)를 가질 수 있다.
구체적으로, 버텍스 정보는 화학구조를 구성하는 원자들 각각에 대한 “one-hot” 벡터일 수 있다. 예를 들어, 화학구조(510)에 포함된 탄소 원자(C)의 "one-hot" 벡터는 '00010'이고, 질소 원자(N)의 "one-hot" 벡터는 '00001'일 수 있다.
엣지 정보는 화학구조를 구성하는 인접 원자들 간의 연결정보일 수 있다. 예를 들어, 1번 버텍스의 탄소와 2번 버텍스의 질소는 1중 결합으로 연결되어 있으므로 제1 셀(521)의 값은 1이고, 1번 버텍스의 탄소와 6번 버텍스의 탄소는 2중 결합으로 연결되어 있으므로 제2 셀(522)의 값은 2이다.
일 실시예에서, 본 개시의 화학구조 생성 모델, 유효성 평가 모델 및 물성 예측 모델에서 입출력 데이터로 이용되는 화학구조의 표현자는 2차원 그래프 형태(520)를 가질 수 있다.
도 6은 일 실시예에 따른 화학구조를 생성하고 물성을 예측하는 과정을 설명하기 위한 개념도이다.
도 6을 참조하면, 물성 예측 모델(620) 및 화학구조 생성 모델(610)이 도시된다.
화학구조 생성 모델(610) 및 물성 예측 모델(620)에서 입력 데이터로 이용되는 표현자는 간단한 형식의 문자열(1차원) 형태일 수도 있다. 예를 들어, 화학구조는 SMILES(Simplified Molecular-Input Line-Entry System) 코드, SMARTS(Smiles Arbitrary Target Specification) 코드 또는 InChi(International Chemical Identifier) 코드 등으로 표현될 수 있다. 예를 들어, 수학식 4와 같이 SMILES 코드에 따라 구조식이 표현되거나, 수학식 5와 같이 SMARTS 코드에 따라 구조식이 표현될 수 있다.
Figure pat00011
Figure pat00012
또는, 표현자는 원자와 원자 간의 연결 관계에 기반하는 구조식일 수 있다. 일 실시예에서 표현자는 버텍스 정보 및 엣지 정보에 기초하여 생성된 2차원 그래프 형태로 표현될 수 있다. 2차원 그래프 형태의 표현자는 도 5에서 상술하였으므로 구체적인 설명은 편의상 생략하기로 한다.
화학구조 생성 모델(610)에 특정 화학구조에 대한 표현자가 입력될 수 있다. 입력된 표현자는 인코딩되어 잠재 변수로 변환되고, 잠재 변수는 레턴트 맵(latent map) 상에 매핑될 수 있다. 일 실시예에서 레턴트 맵은 2차원의 잠재 변수가 매핑된 시각화 가능한 좌표이다. 레턴트 맵에서는 잠재 변수들이 구조 형태 별로 군집화 되므로, 레턴트 맵을 이용하여 잠재 변수들간의 유사성을 시각화하여 확인할 수 있다.
레턴트 맵 상에 매핑된 잠재 변수는 디코딩되어 표현자로 출력될 수 있다. 화학구조 생성 모델(610)에 입력된 표현자와 화학구조 생성 모델(610)로부터 출력된 표현자는 서로 상이할 수 있다. 입력된 표현자와 출력된 표현자가 다르다는 것은, 입력된 화학구조와 출력된 화학구조가 다르다는 것을 의미한다.
물성 예측 모델(620)에는, 화학구조 생성 모델(610)로부터 출력된 표현자가 입력될 수 있다. 이 때, 화학구조 생성 모델(610)에 입력된 표현자와 화학구조 생성 모델(610)로부터 출력된 표현자는 서로 상이한 경우, 물성 예측 모델(620)은 화학구조 생성 모델(610)로부터 출력된 표현자를 입력 데이터로 이용함으로써, 특정 화학구조와는 상이한 새로운 화학구조의 물성 값을 출력할 수 있다.
도 7은 일 실시예에 따른 화학구조 생성 모델을 학습시키는 과정을 설명하기 위한 도면이다.
화학구조를 학습시키기 위한 장치(700)는 화학구조 생성 모델(710), 유효성 평가 모델(720) 및 물성 예측 모델(730)을 포함할 수 있다. 도 7에서는 화학구조 생성 모델(710), 유효성 평가 모델(720) 및 물성 예측 모델(730)이 하나의 장치(700)에 모두 포함되는 것으로 도시하였으나, 화학구조 생성 모델(710), 유효성 평가 모델(720) 및 물성 예측 모델(730) 중 적어도 일부는 서로 독립된 장치에 탑재될 수도 있다.
화학구조 생성 모델(710)은 데이터베이스에 존재하지 않는 새로운 화학구조를 생성할 수 있다. 일 실시예에서 화학구조 생성 모델은 CVAE 모델일 수 있다.
구체적으로, 화학구조 생성 모델(710)은 화학구조(701)에 대한 제1 표현자(711)를 입력으로 수신할 수 있다. 제1 표현자(711)는 고차원 데이터로서, 화학구조 생성 모델(710)은 인코더를 이용하여 고차원의 제1 표현자(711)를 저차원의 잠재 변수로 인코딩할 수 있다. 또한, 화학구조 생성 모델(710)은 디코더를 이용하여 잠재 변수를 디코딩함으로써 고차원의 제2 표현자(712)를 출력할 수 있다.
한편, 도 7에 도시된 바와 같이, 제1 표현자(711) 및 제2 표현자(712)는 화학구조(701)의 버텍스 정보 및 엣지 정보에 기초하여 생성된 2차원 그래프 형태를 가질 수 있다.
화학구조 생성 모델(710)에 입력된 제1 표현자(711)와, 화학구조 생성 모델(710)로부터 출력된 제2 표현자(712)는 동일할 수도 있고, 상이할 수도 있다. 제1 표현자(711)와 제2 표현자(712)가 서로 상이한 경우, 제2 표현자(712)에 대응하는 화학구조는 데이터베이스에 존재하지 않는 새로운 화학구조일 수 있다. 이하에서는 제1 표현자(711)와 제2 표현자(712)가 상이한 것으로 전제한다.
유효성 평가 모델(720)은 유효한 화학구조와 유효하지 않은 화학구조를 결정할 수 있다. 유효한 화학구조란 실제 현실 세계에서 존재할 수 있는 화학구조를 의미할 수 있다. 예를 들어, 화학구조에 포함된 각 원자들은, 원자가 전자의 개수에 따라 인접 원자와 결합할 수 있는 방식이 제한되어 있는데, 유효성 평가 모델(720)은 이러한 제한을 만족하는 화학구조를 유효한 화학구조로 결정할 수 있다. 다만, 유효성 평가 모델(720)이 화학구조의 유효성을 평가하는 방식은 이에 제한되지 않는다. 일 실시예에서 유효성 평가 모델은 강화학습 모델일 수 있다.
유효성 평가 모델(720)은 화학구조 생성 모델(710)로부터 출력된 제2 표현자(712)를 입력으로 수신할 수 있다. 유효성 평가 모델(720)은 입력된 제2 표현자(712)에 기초하여 보상(reward)(721)을 출력할 수 있다.
구체적으로, 제2 표현자(712)가 유효한 화학구조를 나타내는 경우, 유효성 평가 모델(720)은 보상(721)으로 제1 값을 출력할 수 있다. 반면, 제2 표현자(712)가 유효하지 않은 화학구조를 나타내는 경우, 유효성 평가 모델(720)은 보상(721)으로 제2 값을 출력할 수 있다. 예를 들어, 제1 값은 '1'이고, 제2 값은 '0'일 수 있다.
화학구조 생성 모델(710)은 유효성 평가 모델(720)에서 출력된 보상(721)을 피드백으로 수신할 수 있고, 보상(721)에 기초하여 화학구조 생성 모델의 웨이트(weight)를 업데이트할지 여부를 결정할 수 있다.
일 실시예에서 화학구조 생성 모델(710)은 유효성 평가 모델(720)로부터 수신한 보상(721)이 제1 값인 경우에만 화학구조 생성 모델의 웨이트를 업데이트함으로써, 화학구조 생성 모델(710)이 학습될 수 있다. 즉, 화학구조 생성 모델(710)은 제2 표현자(712)가 유효한 화학구조를 나타내는 경우에만 화학구조 생성 모델의 웨이트를 업데이트하고, 제2 표현자(712)가 유효하지 않은 화학구조를 나타내는 경우 화학구조 생성 모델의 웨이트를 업데이트하지 않을 수 있다.
본 개시에서는 유효한 화학구조를 나타내는 표현자들만을 이용하여 화학구조 생성 모델(710)을 학습시킴으로써, 화학구조 생성 모델(710)의 학습 효율이 향상될 수 있다.
한편, 상술한 과정을 통해 화학구조 생성 모델(710)로부터 출력된 제2 표현자(712)는, 물성 예측 모델(730)의 입력 데이터로 이용될 수 있다. 물성 예측 모델(730)은 새로운 화학구조의 물성 값을 예측할 수 있다. 일 실시예에서 물성 예측 모델은 심층신경망(Deep Neural Network) 모델일 수 있다. 구체적으로, 물성 예측 모델은 제2 표현자(712)를 입력으로 수신하고 연산을 수행함으로써 제2 표현자(712)에 대한 예측 물성 값(731)을 출력할 수 있다.
화학구조 생성 모델(710)은 물성 예측 모델(730)에서 출력된 예측 물성 값(731)을 피드백으로 수신할 수 있고, 예측 물성 값(731)에 기초하여 화학구조 생성 모델의 웨이트의 업데이트 여부를 결정할 수 있다.
일 실시예에서 화학구조 생성 모델(710)은 물성 예측 모델(730)로부터 수신한 예측 물성 값(731)이 목표 물성 값 이상인 경우에만 화학구조 생성 모델의 웨이트를 업데이트함으로써, 화학구조 생성 모델(710)이 학습될 수 있다. 즉, 본 개시에서는 예측 물성 값(731)이 목표 물성 값 이상인 화학구조를 나타내는 표현자들만을 이용하여 화학구조 생성 모델(710)을 학습시킴으로써, 화학구조 생성 모델(710)의 학습 효율이 향상될 수 있다.
다른 실시예에서, 장치(700)는 제약조건(blacklist) 검증 모델(미도시)을 더 포함할 수 있다. 제약조건이란, 합성 및 성능에 불리한 부분구조를 의미한다. 화학구조는 특정 물성(예를 들어, 투과 파장, 발광 파장 등)에 대한 물성 값을 갖게 되는데, 화학구조 생성 모델(710)은 목표 물성 값(예를 들어, '발광 파장: λ=350nm')에 부합하는 물성 값을 갖는 새로운 화학구조를 생성할 수 있다. 이 때, 새로운 화학구조에 제약조건에 해당하는 부분구조가 포함될 경우, 새로운 화학구조의 물성 값은 목표 물성 값에 부합하지 않을 확률이 높아진다.
예를 들어, 제약조건은 '4각 이하 링 구조 포함', 'O의 개수가 6개 이상', 'C, O, N 외 원소 포함' 및 '7각 이상 링 구조 포함' 등일 수 있다. 그러나, 제약조건은 상술한 예시로 제한되지 않고, 원하는 합성 및 성능이 무엇인지에 따라 다양하게 설정될 수 있다.
제약조건 검증 모델(미도시)은 화학구조 생성 모델(710)로부터 출력된 제2 표현자(712)를 입력으로 수신할 수 있다. 제약조건 검증 모델(미도시)은 제2 표현자(712)가 기설정된 제약조건을 포함하는지 여부를 결정할 수 있다.
제약조건 검증 모델(미도시)에서 제2 표현자(712)에 기설정된 제약조건이 포함되지 않는 것으로 결정한 경우에만, 제약조건 검증 모델(미도시)은 제2 표현자(712)를 유효성 평가 모델(720)에 전달할 수 있다. 즉, 본 개시에서는 화학구조 생성 모델(710)을 학습시키는데 기설정된 제약조건이 포함된 표현자들을 배제함으로써, 화학구조 생성 모델(710)의 학습 효율이 향상될 수 있다.
도 8은 일 실시예에 따른 화학구조 생성 모델을 이용하여 새로운 화학구조를 생성하는 과정을 설명하기 위한 도면이다.
도 8을 참조하면, 화학구조를 생성하기 위한 장치(800)는 화학구조 생성 모델(810)을 포함할 수 있다. 화학구조 생성 모델(810)은 도 7의 상술한 과정을 통해 학습된 모델일 수 있다. 화학구조 생성 모델(810)은 데이터베이스에 존재하지 않는 새로운 화학구조를 생성할 수 있다. 일 실시예에서 화학구조 생성 모델은 CVAE 모델일 수 있다.
일 실시예에서 화학구조 생성 모델(810)은 화학구조(801)에 대한 제1 표현자(811)를 입력으로 수신할 수 있다. 제1 표현자(811)는 고차원 데이터로서, 화학구조 생성 모델(810)은 인코더를 이용하여 고차원의 제1 표현자(811)를 저차원의 잠재 변수로 인코딩할 수 있다. 화학구조 생성 모델(810)은 디코더를 이용하여 저차원의 잠재 변수를 디코딩함으로써 고차원의 제2 표현자(812)를 출력할 수 있다.
화학구조 생성 모델(810)에 입력된 제1 표현자(811)와, 화학구조 생성 모델(810)로부터 출력된 제2 표현자(812)는 동일할 수도 있고, 상이할 수도 있다. 제1 표현자(811)와 제2 표현자(812)가 서로 상이한 경우, 제2 표현자(812)에 대응하는 화학구조는 데이터베이스에 존재하지 않는 새로운 화학구조일 수 있다.
다른 실시예에서 장치(800)는 화학구조 생성 모델(810)의 레턴트 맵 상의 임의의 잠재 변수를 획득할 수 있다. 레턴트 맵 상에는 유사한 구조를 갖는 잠재 변수들이 군집화되어 있다. 특정 구조를 갖는 새로운 화학구조를 생성하고자 하는 경우, 장치(800)는 레턴트 맵 상에서 특정 구조를 갖는 잠재 변수들이 군집화되어 있는 영역 안에 있는 임의의 잠재 변수를 획득할 수 있다. 장치(800)는 화학구조 생성 모델(810)의 디코더를 이용하여 임의의 잠재 변수를 디코딩함으로써 새로운 화학구조를 생성할 수 있다.
화학구조 생성 모델(810)은 도 7에서 상술한 유효성 평가 모델(720)로부터 보상을 피드백으로 수신하여 학습된 모델로써, 화학구조 생성 모델(810)을 통해 새롭고도 유효한 화학구조가 생성될 수 있다.
화학구조 생성 모델(810)은 추론 과정에서도 유효성 평가 모델(720)로부터 보상을 피드백으로 수신하여, 화학구조 생성 모델(810)의 웨이트가 업데이트될 수 있다.
유효성 평가 모델(820)은 화학구조 생성 모델(810)로부터 출력된 제2 표현자(812)를 입력으로 수신할 수 있다. 유효성 평가 모델(820)은 입력된 제2 표현자(812)에 기초하여 보상(821)을 출력할 수 있다.
제2 표현자(812)가 유효한 화학구조를 나타내는 경우, 유효성 평가 모델(820)은 보상(821)으로 제1 값을 출력할 수 있다. 반면, 제2 표현자(812)가 유효하지 않은 화학구조를 나타내는 경우, 유효성 평가 모델(820)은 보상(821)으로 제2 값을 출력할 수 있다.
화학구조 생성 모델(810)은 유효성 평가 모델(820)에서 출력된 보상(821)을 피드백으로 수신할 수 있고, 보상(821)에 기초하여 화학구조 생성 모델의 웨이트를 업데이트할지 여부를 결정할 수 있다.
일 실시예에서 화학구조 생성 모델(810)은 유효성 평가 모델(820)로부터 수신한 보상(821)이 제1 값인 경우에만 화학구조 생성 모델의 웨이트를 업데이트할 수 있다. 즉, 화학구조 생성 모델(810)은 제2 표현자(812)가 유효한 화학구조를 나타내는 경우에만 화학구조 생성 모델의 웨이트를 업데이트하고, 제2 표현자(812)가 유효하지 않은 화학구조를 나타내는 경우 화학구조 생성 모델의 웨이트를 업데이트하지 않을 수 있다.
본 개시에서는 학습 과정에서뿐만 아니라, 추론 과정에서도 유효성 평가 모델(720)을 이용하여 화학구조 생성 모델(810)의 웨이트를 업데이트함으로써, 화학구조 생성 모델(810)의 추론 효율이 향상될 수 있다.
또한, 화학구조 생성 모델(810)의 추론 과정에서, 도 7에서 상술한 물성 예측 모델(730) 및 제약조건 검증 모델(미도시) 중 적어도 어느 하나가 이용되어, 화학구조 생성 모델(810)의 추론 효율이 향상될 수 있다.
도 9는 일 실시예에 따른 화학구조 생성 모델에서 화학구조를 생성하는 방법을 설명하는 흐름도이다. 도 9에 도시된, 화학구조를 생성하는 방법은, 앞서 설명된 도면들에서 설명된 실시예들에 관련되므로, 이하 생략된 내용이라 할지라도, 앞서 도면들에서 설명된 내용들은 도 9의 방법에도 적용될 수 있다.
도 9를 참조하면, 단계 910에서 화학구조 생성 모델은 소정의 화학구조에 대한 제1 표현자를 입력으로 수신할 수 있다.
화학구조 생성 모델은 인코더 및 디코더를 포함하는 CVAE 모델일 수 있다.
일 실시예에서 표현자(제1 표현자 및 제2 표현자)는 2차원 그래프 형태를 가질 수 있다. 구체적으로, 표현자는 화학구조의 버텍스 정보 및 엣지 정보에 기초하여 생성된 2차원 그래프 형태를 가질 수 있다.
버텍스 정보는 화학구조를 구성하는 원자들 각각에 대한 “one-hot” 벡터이고, 엣지 정보는 화학구조를 구성하는 인접 원자들 간의 연결정보일 수 있다.
단계 920에서 화학구조 생성 모델은 인코더를 이용하여 제1 표현자를 잠재 변수로 인코딩할 수 있다.
화학구조 생성 모델은 인코더를 이용하여 고차원의 제1 표현자를 저차원의 잠재 변수로 인코딩할 수 있다. 잠재 변수는 레턴트 맵 상에 매핑될 수 있다. 일 실시예에서 레턴트 맵은 2차원의 잠재 변수가 매핑된 시각화 가능한 좌표이다. 레턴트 맵에서는 잠재 변수들이 구조 형태 별로 군집화 되므로, 레턴트 맵을 이용하여 잠재 변수들간의 유사성을 시각화하여 확인할 수 있다
단계 930에서 화학구조 생성 모델은 디코더를 이용하여 잠재 변수를 디코딩함으로써 제2 표현자를 생성할 수 있다.
화학구조 생성 모델은 디코더를 이용하여 잠재 변수를 디코딩함으로써 고차원의 제2 표현자를 출력할 수 있다.
한편, 화학구조 생성 모델에 입력된 제1 표현자와, 화학구조 생성 모델로부터 출력된 제2 표현자는 서로 상이할 수 있다. 제1 표현자와 제2 표현자가 다르다는 것은, 입력된 화학구조와 출력된 화학구조가 다르다는 것을 의미한다. 제1 표현자와 제2 표현자가 서로 상이한 경우, 제2 표현자에 대응하는 화학구조는 데이터베이스에 존재하지 않는 새로운 화학구조일 수 있다.
단계 940에서 화학구조 생성 모델은 제2 표현자에 대응하는 새로운 화학구조 생성할 수 있다.
제2 표현자가, 단계 910에서 화학구조 생성 모델에 입력된 제1 표현자와 서로 상이한 경우, 화학구조 생성 모델은 데이터베이스에 존재하지 않는 새로운 화학구조를 생성할 수 있다.
한편, 화학구조 생성 모델에 포함된 파라미터들은, 화학구조 생성 모델을 이용한 추론 과정에서 업데이트될 수 있다. 일 실시예에서, 화학구조 생성 모델을 이용한 추론 과정에서, 강화학습을 통해 화학구조 생성 모델의 파라미터가 업데이트될 수 있다.
구체적으로, 화학구조 생성 모델은 제2 표현자를 유효성 평가 모델에 입력하고, 유효성 평가 모델로부터 보상을 피드백으로 수신할 수 있다. 유효성 평가 모델은 유효한 화학구조와 유효하지 않은 화학구조를 결정할 수 있다. 유효성 평가 모델은 강화학습 모델일 수 있다.
예를 들어, 제2 표현자가 유효한 화학구조를 나타내는 경우, 화학구조 생성 모델은 유효성 평가 모델로부터 제1 값에 해당하는 보상을 피드백으로 수신할 수 있다. 반면, 제2 표현자가 유효하지 않은 화학구조를 나타내는 경우, 화학구조 생성 모델은 유효성 평가 모델로부터 보상에 해당하는 제2 값을 피드백으로 수신할 수 있다.
또한, 화학구조 생성 모델은 보상에 기초하여 화학구조 생성 모델의 웨이트를 업데이트할 수 있다.
화학구조 생성 모델은 유효성 평가 모델로부터 수신한 제2 표현자가 유효한 화학구조를 나타내는 경우에만 화학구조 생성 모델의 웨이트를 업데이트하고, 제2 표현자가 유효하지 않은 화학구조를 나타내는 경우 화학구조 생성 모델의 웨이트를 업데이트하지 않을 수 있다.
구체적으로, 화학구조 생성 모델은 유효성 평가 모델로부터 수신한 보상이 제1 값인 경우 화학구조 생성 모델의 웨이트를 업데이트하고, 유효성 평가 모델로부터 수신한 보상이 제2 값인 경우에는 화학구조 생성 모델의 웨이트를 업데이트하지 않을 수 있다. 즉, 화학구조 생성 모델은 유효성 평가 모델로부터 수신한 보상이 제1 값인 경우 화학구조 생성 모델의 웨이트를 업데이트함으로써, 화학구조 생성 모델이 학습될 수 있다.
본 개시에서는 유효한 화학구조를 나타내는 표현자들만을 이용하여 화학구조 생성 모델의 파라미터를 업데이트함으로써, 화학구조 생성 모델의 학습 및 추론 효율이 향상될 수 있다.
일 실시예에서, 화학구조 생성 모델은 제2 표현자를 물성예측 모델에 입력하고, 물성예측 모델로부터 예측 물성 값을 피드백으로 수신할 수 있다. 물성예측 모델은 심층신경망 모델일 수 있다. 화학구조 생성 모델은 예측 물성 값에 기초하여 화학구조 생성 모델의 웨이트를 업데이트할 수 있다.
구체적으로, 화학구조 생성 모델은 물성 예측 모델로부터 수신한 예측 물성 값이 목표 물성 값 이상인 경우에만 화학구조 생성 모델의 웨이트를 업데이트할 수 있다. 즉, 본 개시에서는 예측 물성 값이 목표 물성 값 이상인 화학구조를 나타내는 표현자들만을 이용하여 화학구조 생성 모델의 파라미터를 업데이트함으로써, 화학구조 생성 모델의 학습 및 추론 효율이 향상될 수 있다.
일 실시예에서, 화학구조 생성 모델은 제2 표현자가 기설정된 제약조건을 포함하는지 여부를 결정할 수 있다. 화학구조 생성 모델은 제2 표현자에 기설정된 제약조건이 포함되지 않는 것으로 결정한 경우에만, 제2 표현자를 유효성 평가 모델에 전달할 수 있다. 즉, 본 개시에서는 화학구조 생성 모델의 파라미터를 업데이트하는데 기설정된 제약조건이 포함된 표현자들을 배제함으로써, 화학구조 생성 모델의 학습 및 추론 효율이 향상될 수 있다.
본 실시예들은 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈과 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
또한, 본 명세서에서, "부"는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.
전술한 본 명세서의 설명은 예시를 위한 것이며, 본 명세서의 내용이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 실시예의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 포함되는 것으로 해석되어야 한다.

Claims (18)

  1. 화학구조 생성 모델을 이용하여 새로운 화학구조를 생성하는 방법에 있어서,
    소정의 화학구조에 대한 제1 표현자를 입력으로 수신하는 단계;
    인코더를 이용하여 상기 제1 표현자를 잠재 변수(latent variable)로 인코딩하는 단계;
    디코더를 이용하여 상기 잠재 변수를 디코딩함으로써 제2 표현자를 생성하는 단계; 및
    상기 제2 표현자에 대응하는 새로운 화학구조를 생성하는 단계;
    를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 새로운 화학구조를 생성하는 단계는,
    상기 제2 표현자를 유효성 평가 모델에 입력하고, 상기 유효성 평가 모델로부터 보상(reward)을 피드백으로 수신하는 단계; 및
    상기 보상에 기초하여 상기 화학구조 생성 모델을 업데이트하는 단계;
    를 더 포함하는, 방법.
  3. 제 2 항에 있어서,
    상기 화학구조 생성 모델을 업데이트하는 단계는,
    상기 제2 표현자에 대한 보상이 제1 값인 경우에만 상기 화학구조 생성 모델의 웨이트(weight)를 업데이트하는 단계;
    를 포함하고,
    상기 유효성 평가 모델에서는, 상기 제2 표현자가 유효한 화학구조를 나타내는 경우 보상으로 제1 값이 출력되고, 상기 제2 표현자가 유효하지 않은 화학구조를 나타내는 경우 보상으로 제2 값이 출력되는 것인, 방법.
  4. 제 1 항에 있어서,
    상기 제1 표현자 및 상기 제2 표현자는, 화학구조의 버텍스(vertex) 정보 및 엣지(edge) 정보에 기초하여 생성된 2차원 그래프 형태를 갖는 것인, 방법.
  5. 제 1 항에 있어서,
    상기 화학구조 생성 모델을 업데이트하는 단계는,
    상기 제2 표현자를 물성예측 모델에 입력하고, 상기 물성예측 모델로부터 예측 물성 값을 피드백으로 수신하는 단계; 및
    상기 예측 물성 값에 기초하여 상기 화학구조 생성 모델의 웨이트를 업데이트하는 단계;
    를 포함하는, 방법.
  6. 제 2 항에 있어서,
    상기 보상을 피드백으로 수신하는 단계는,
    상기 제2 표현자가 기설정된 제약조건(blacklist)을 포함하는지 여부를 결정하는 단계; 및
    상기 기설정된 제약조건을 포함하지 않는 상기 제2 표현자를 상기 유효성 평가 모델에 입력하고, 상기 유효성 평가 모델로부터 상기 보상을 피드백으로 수신하는 단계;
    를 포함하는, 방법.
  7. 제 1 항에 있어서,
    상기 화학구조 생성 모델은 CVAE(Conditional Variational Autoencoder) 모델인 것인, 방법.
  8. 제 2 항에 있어서,
    상기 유효성 평가 모델은 강화학습(reinforcement learning) 모델인 것인, 방법.
  9. 제 5 항에 있어서,
    상기 물성예측 모델은 심층신경망(deep neural network) 모델인 것인, 방법.
  10. 화학구조 생성 모델을 이용하여 새로운 화학구조를 생성하는 방법에 있어서,
    상기 화학구조 생성 모델의 레턴트 맵 상의 임의의 잠재 변수를 획득하는 단계;
    디코더를 이용하여 상기 임의의 잠재 변수를 디코딩함으로써 표현자를 생성하는 단계; 및
    상기 표현자에 대응하는 새로운 화학구조를 생성하는 단계;
    를 포함하는, 방법.
  11. 화학구조 생성 모델을 이용하여 새로운 화학구조를 생성하는 장치에 있어서,
    적어도 하나의 프로그램이 저장된 메모리; 및
    상기 적어도 하나의 프로그램을 실행하는 프로세서를 포함하고,
    상기 프로세서는,
    인코더를 이용하여 소정의 화학구조에 대한 제1 표현자를 잠재 변수로 인코딩하고,
    디코더를 이용하여 상기 잠재 변수를 디코딩함으로써 제2 표현자를 생성하며,
    상기 제2 표현자에 대응하는 새로운 화학구조를 생성하는 것인, 장치.
  12. 제 11 항에 있어서,
    상기 프로세서는,
    상기 제2 표현자를 유효성 평가 모델에 입력하고, 상기 유효성 평가 모델로부터 보상(reward)을 피드백으로 수신하고,
    상기 보상에 기초하여 상기 화학구조 생성 모델을 업데이트하는 것인, 장치.
  13. 제 12 항에 있어서,
    상기 프로세서는,
    상기 제2 표현자에 대한 보상이 제1 값인 경우에만 상기 화학구조 생성 모델의 웨이트를 업데이트하고,
    상기 유효성 평가 모델에서는, 상기 제2 표현자가 유효한 화학구조를 나타내는 경우 보상으로 제1 값이 출력되고, 상기 제2 표현자가 유효하지 않은 화학구조를 나타내는 경우 보상으로 제2 값이 출력되는 것인, 장치.
  14. 제 11 항에 있어서,
    상기 제1 표현자 및 상기 제2 표현자는, 화학구조의 버텍스 정보 및 엣지 정보에 기초하여 생성된 2차원 그래프 형태를 갖는 것인, 장치.
  15. 제 11 항에 있어서,
    상기 프로세서는,
    상기 제2 표현자를 물성예측 모델에 입력하고, 상기 물성예측 모델로부터 예측 물성 값을 피드백으로 수신하고,
    상기 예측 물성 값에 기초하여 상기 화학구조 생성 모델의 웨이트를 업데이트하는 것인, 장치.
  16. 제 11 항에 있어서,
    상기 프로세서는,
    상기 제2 표현자가 기설정된 제약조건(blacklist)을 포함하는지 여부를 결정하고,
    상기 기설정된 제약조건을 포함하지 않는 상기 제2 표현자를 상기 유효성 평가 모델에 입력하고, 상기 유효성 평가 모델로부터 상기 보상을 피드백으로 수신하는 것인, 장치.
  17. 화학구조 생성 모델을 이용하여 새로운 화학구조를 생성하는 장치에 있어서,
    적어도 하나의 프로그램이 저장된 메모리; 및
    상기 적어도 하나의 프로그램을 실행하는 프로세서를 포함하고,
    상기 프로세서는,
    상기 화학구조 생성 모델의 레턴트 맵 상의 임의의 잠재 변수를 획득하고,
    디코더를 이용하여 상기 임의의 잠재 변수를 디코딩함으로써 표현자를 생성하며,
    상기 표현자에 대응하는 새로운 화학구조를 생성하는 것인, 장치.
  18. 제 1 항 및 제 10 항 중 어느 한 항의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020190149114A 2019-10-10 2019-11-19 화학구조를 생성하는 장치 및 방법 KR20210042777A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/897,456 US11854672B2 (en) 2019-10-10 2020-06-10 Method and apparatus for generating chemical structure

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962913297P 2019-10-10 2019-10-10
US62/913,297 2019-10-10

Publications (1)

Publication Number Publication Date
KR20210042777A true KR20210042777A (ko) 2021-04-20

Family

ID=75743239

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190149114A KR20210042777A (ko) 2019-10-10 2019-11-19 화학구조를 생성하는 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20210042777A (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023191374A1 (ko) * 2022-04-01 2023-10-05 주식회사 엘지경영개발원 구조식 이미지를 인식하는 인공 지능 장치 및 그 방법
US11887002B2 (en) 2022-06-16 2024-01-30 Actionpower Corp. Method of generating data by using artificial neural network model having encoder-decoder structure
WO2024085562A1 (ko) * 2022-10-19 2024-04-25 주식회사 엘지화학 고분자 그래프 신경망 및 그 구현 방법
KR20240054892A (ko) 2022-10-19 2024-04-26 주식회사 엘지화학 고분자 그래프 신경망 및 그 구현 방법
WO2024107031A1 (ko) * 2022-11-18 2024-05-23 주식회사 엘지 경영개발원 화학구조식의 객체 다변화에 의한 학습데이터 생성 장치 및 방법
WO2024117870A1 (ko) * 2022-12-01 2024-06-06 주식회사 엘지 경영개발원 인공지능을 활용한 선 연결 타입의 객체 예측 장치 및 방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023191374A1 (ko) * 2022-04-01 2023-10-05 주식회사 엘지경영개발원 구조식 이미지를 인식하는 인공 지능 장치 및 그 방법
US11887002B2 (en) 2022-06-16 2024-01-30 Actionpower Corp. Method of generating data by using artificial neural network model having encoder-decoder structure
WO2024085562A1 (ko) * 2022-10-19 2024-04-25 주식회사 엘지화학 고분자 그래프 신경망 및 그 구현 방법
KR20240054892A (ko) 2022-10-19 2024-04-26 주식회사 엘지화학 고분자 그래프 신경망 및 그 구현 방법
WO2024107031A1 (ko) * 2022-11-18 2024-05-23 주식회사 엘지 경영개발원 화학구조식의 객체 다변화에 의한 학습데이터 생성 장치 및 방법
WO2024117870A1 (ko) * 2022-12-01 2024-06-06 주식회사 엘지 경영개발원 인공지능을 활용한 선 연결 타입의 객체 예측 장치 및 방법

Similar Documents

Publication Publication Date Title
KR20210042777A (ko) 화학구조를 생성하는 장치 및 방법
EP3514734B1 (en) Method and apparatus for generating a chemical structure using a neural network
CN116888602A (zh) 可解释转导器变换器
CN113039559A (zh) 使用具有可学习张量列诱导的先验的变分自动编码器的子集条件化
US20220036182A1 (en) Method and apparatus for synthesizing target products by using neural networks
CN114860893B (zh) 基于多模态数据融合与强化学习的智能决策方法及装置
KR20210147862A (ko) 역합성 예측 모델의 학습 방법 및 장치
KR20200046189A (ko) 생성적 적대 신경망에 기반한 협업 필터링을 위한 방법 및 시스템
US20210374536A1 (en) Method and apparatus for training retrosynthesis prediction model
Millidge et al. Predictive coding networks for temporal prediction
CN113257361B (zh) 自适应蛋白质预测框架的实现方法、装置及设备
US11854672B2 (en) Method and apparatus for generating chemical structure
KR102547802B1 (ko) 뉴럴 네트워크를 이용하여 화학 구조를 생성하는 장치 및 방법
WO2020234457A1 (en) Neural network-based memory system with variable recirculation of queries using memory content
JP2021093158A (ja) ニューラルネットワークを利用して新たな化学構造を生成する装置及びその方法
Cohan et al. Understanding the evolution of linear regions in deep reinforcement learning
Smith One Dimensional Neural Time Series Generation
KR20190132169A (ko) 분자구조를 생성하는 장치 및 방법
US20240169662A1 (en) Latent Pose Queries for Machine-Learned Image View Synthesis
Mustapha et al. Introduction to machine learning and artificial intelligence
US20240211727A1 (en) Local interpretability architecture for a neural network
Andersson Deep learning applied to system identification: A probabilistic approach
KR20240079453A (ko) 사용자의 경로를 이용하여 사용자 맞춤형 장소 추천 방법, 장치 및 시스템
Amado Combining learning and symbolic planning for robust goal and plan recognition
Huang et al. Manifold-Driven and Feature Replay Lifelong Representation Learning on Person ReID

Legal Events

Date Code Title Description
A201 Request for examination