[Paper] Graph Convolutional Policy Network for Goal-Directed Molecular Graph Generation

RL(policy gradient) + GCN + GAN으로 drug discovery를 하는 논문입니다.

Graph Convolutional Policy Network for Goal-Directed Molecular Graph Generation,
Jiaxuan You, Bowen Liu, Rex Ying, Vijay Pande, Jure Leskovec, NIPS 2018

  • Abstract
  • 1 Introduction
    • Present Work
    • Graph representation
    • Reinforcement learning
    • Adversarial training
  • 2 Related Work

  • 3 Proposed Method
    • 3.1 Problem Definition
    • 3.2 Graph Generation as Markov Decision Process
    • 3.3 Molecule Generation Environment
      • State Space
      • Action Space
      • State Transition Dynamics
      • Reward design
    • 3.4 Graph Convolutional Policy Network
      • Computing node embeddings
      • Action prediction
    • 3.5 Policy Gradient Training
  • 4 Experiments
    • Property Optimization
    • Property Targeting
    • Constrained Property Optimization
    • 4.1 Experimental Setup
      • Dataset
      • Molecule environment
      • GCPN Setup
      • Baselines
    • 4.2 Molecule Generation Results
      • Property optimization
      • Property Targeting
      • Constrained Property Optimization
  • 5 Conclusion


Abstract

기초적인 규칙을 지키면서도 그럴듯한 새로운 그래프 구조를 만들어 내는 것은 화학, 생물학 등에서 중요하다. 특히, 본 논문이 적용한 영역인 신약개발에서는 매우 중요하다. 그럴듯 하다는것은 drug-likeness를 가져야 할 뿐 아니라, chemical valency같은 물리적인 규칙도 만족시켜야 한다는 것을 의미한다. 그러나 원하는 특성의 분자를 생성하는 모델을 만드는 것은 굉장히 복잡하고 미분불가능한 규칙때문에 어려웠다. 본 논문에서는 Graph Convolutional Policy Network(GCPN)을 제안한다. Graph convolutional network와 강화학습(policy gradient)을 이용하여 목적에 맞게 그래프를 만들어준다. reward를 domain에 맞게 주고, policy gradient와 adversarial loss를 준다. 최적화 성능이 state-of-the-art보다 chemical property에서 61%, constrained property에서 184% 올랐다고 한다.

Introduction

신약개발이나 재료과학에서 원하는 특성을 갖는 새로운 분자구조를 설계하는 것이 중요하다. 그러나, 탐색해야할 chemical space가 어마어마하게 크기 때문에 굉장히 어려웠다. 게다가 chemical space는 불연속적이고 작은 변화에도 분자 특성이 크게 변한다.

최근 딥러닝을 적용시켜 많은 발전이 있긴 했지만, 새로운 약물 구조를 만들어 물리적, 화학적, 생물학적 특성을 고루 만족시키는 것은 여전히 어려운 일이다. 또한 데이터셋에 존재하는 분자의 분포우리가 원하는 특성을 갖는 분자의 분포랑 다르기 때문에 결국 막대한 chemical space를 탐색해야 한다.

  • Present Work: 여기서는 chemical rule을 지키도록 제한을 두면서 새로운 분자구조를 만들어내는 Graph Convolutional Policy Network (GCPN)를 제안한다. 크게 세가지 아이디어를 하나의 프레임워크로 묶어서 사용했는데, 이어서 설명할 graph representation, reinforcement learning, adversarial training이다.
  • Graph representation : 그래프 구조의 vector repersentation을 만들기 위해 사용된다. 기존의 simplifed molecular-input line-entry system(SMILES)나 텍스트 기반 임베딩 보다 robust 하다. 예를 들면, text-based representation에서는 글자 하나만 바뀌어도 분자 특성에 엄청난 변화가 생겨서 쓸모없게 되는 경우가 있다. 게다가, 생성된 분자의 일부분도 substructure로써 의미를 갖고 해석되는 경우가 있는데, text representation는 일부분만 봐서는 대개 의미가 없었다. 그러나 그래프에서는 부분적으로 생성된 분자에 대해서 valency check같은 chemical check를 할 수 있다. GCPN-01 text based representation (seq-to-seq model) https://arxiv.org/pdf/1706.01643.pdf

  • Reinforcement learning : Reinforcement learning(RL)을 이용하는 것은 generative model을 사용하는 것보다 몇가지 이점이 있다.
    1. drug-likeness나 valency 같은, 제한적인 분자의 특성을 만족시켜야 한다. 그런데 이런 특성은 복잡하고 non-differentiable 하기 때문에, 하나의 generative network의 objective function으로 묶어서 학습시킬 수 없다. 반면에 강화학습은 environment dynamics와 reward function의 설계에 따라 hard constraint와 desired property들을 표현할 수 있다.
    2. 기존 generative model들은 학습 데이터셋의 범위 안에서 분자 그래프를 만들어 내는 반면에, 강화학습은 데이터셋 이외의 영역도 탐색한다(exploration).
  • Adversarial training : 데이터셋에 있는 분자에 대한 사전지식을 반영하는 것은 분자 생성에 매우 중요하다. 예를 들어, 약물은 보통 생리학적으로 안정적이고 비독성이다. 하나의 특성을 위해서 rule-based로 일일이 설정해주는 것은 가능하긴 하지만, 여러가지 특성의 조합을 위한 작업은 매우 어렵다. Adversarial loss를 통해 discriminator을 학습시킴으로써 데이터셋의 정보를 implicitly 학습하고 generator의 학습도 가이드한다. Discriminator는 graph convolutional network 구조로 이루어져있다. (Semi-supervised classification with graph convolutional networks, Convolutional networks on graphs for learning molecular fingerprints)

GCPN은 chemistry-aware graph generation environment에서 학습하는 RL agent이다. 새로운 substructure이나 atom을 기존의 분자 그래프에 이어주거나, 기존 분자그래프의 atom들끼리 이어주는 방식으로 분자그래프를 생성한다.

molecule property optimization, property targeting, conditional property optimization 이 세가지의 테스크에 대해 실험한다. ZINC250k dataset을 사용하였다.

Related Work

  • Yang et al and Olivecrona et al : 각각 Monte Carlo tree search와 policy gradient를 이용해서 최적화한 RNN을 사용해서 SMILES string을 생성한다. GCPN-02 Yang et al(top) and Olivecrona et al(bottom)

  • Guimaraes et al and Sanchez-Lengeling et al : 학습 데이터셋의 분자와 비슷하도록 adversarial loss를 reinforcement learning의 reward에 적용시켰다. Guimaraes et al(ORGAN)은 본 논문의 Baseline 모델이다 GCPN-03 Guimaraes et al(left) and Sanchez-Lengeling et al(right)

위 4개 논문들에서는 text-based representation을 사용했는데, 본 논문에서는 graph representation을 사용함으로써 에서 언급한 이점들을 취했다.

  • Jin et al : Variational autoencoder(VAE)을 사용했다. 분자구조를 atom들의 작은 클러스터들로 이루어진 junction tree로 나타냈다. Jin et al(JT-VAE)는 본 논문의 Baseline 모델이다. GCPN-04 Jin et al

위 논문에서는 latent vector을 학습시켜 간접적으로 분자 특성을 최적화 하는 반면, 본 논문에서는 분자특성을 직접적으로 최적화 한다.

  • You et al : Auto-regressive model을 이용해서 그래프 생성 프로세스를 최적화 하지만, 원하는 그래프를 만들어낼 수는 없다. GCPN-05 You et al

  • Yujia Li et al and Yibo Li et al : 이 논문들에서는 조건을 레이블을 합친 sequential graph 생성 모델을 제안하여 원하는 target score에 가깝게 분자를 생성하지만 마찬가지로 분자 특성을 직접적으로 최적화하지는 못한다. GCPN-06 Yujia Li et al(top) and Yibo Li et al(bottom)

Proposed Method

Problem Definition

그래프 $G$ 를 표현하는 표기는 $(A,E,F)$ 로 한다. 각각의 노드마다 $d$차원 feature을 갖고 있고, edge(결합)의 종류는 $b$종류이다.

  • Adjacency matrix:
  • Feature matrix:
  • Edge:

예를 들어, $E_{i,j,k} = 1$ 은 노드 $j$와 $k$ 사이에 $i$ 종류의 edge(결합)가 있다는 뜻이다. 이때 adjacency $A$는 $\sum_{i=1}^{b} E_i$ 이다.

생성되는 그래프는 $G’$ 이고, 하나 이상의 분자 특성을 $S$라고 할때, 그래프 $G’$의 타겟 특성 이 최대화 되는 것을 목표로 한다. 즉, 이다. 여기에는 두가지 중요한 제한사항이 있다.

  1. 생성된 그래프는 hard constraints를 만족시켜야 한다.
  2. 위에서 언급한대로 기존 데이터 $G \sim p_{data}(G)$ 에 존재하는 (chemical valency같은)사전지식을 implicitly 학습하고 generator의 학습도 regularizing한다. distance metric을 $J(\centerdot,\centerdot)$이라 할 때, 을 최적화 하는 것이다.

GCPN-07 Figure 1. An overview of the proposed iterative graph generation method

Figure 1에서 윗줄은 생성 중간단계고, 아랫줄은 생성 종료단계다. (a) intermediate graph $G_t$에 Scaffold subgraph $C$를 더한다. (b) GCPN은 state 임베딩하기위해 message passing을 수행하고 policy $\pi_{\theta}$ 를 만든다. (c) policy로부터 4개 component의 action $a_{t}$를 뽑는다. (d) 환경은 intermediate state에 대해 chemical valency check를 수행하고 (e) 다음 상태 $G_{t+1}$와 (f) reward $r_t$을 반환한다. 각 요소들은 아래에서 다시 설명된다.

Graph Generation as Markov Decision Process

Graph generation process를 $M = (\mathcal{S,A,P,R,}\gamma)$로 정의한다. 는 모든 가능한 그래프의 상태 집합이다. 는 각각 타임 스텝마다 그래프를 만들기 위한 action들의 집합이다. 는 action $a_t$를 했을 때 특정 state로 가는 transition distribution $p(s_{t+1}|s_t,…,s_0,a_t)$이다. $\mathcal{R}(s_t)$는 state $s_t$에 도달한 후에 받는 reward를 내뱉는 reward function이다. $\gamma$는 타임 스텝마다 reward를 감소시키는 discount factor이다. 그래프를 생성하는 과정은 $(s_0,a_0,r_0,…,s_n,a_n,r_n)$ 로 나타낼 수 있다.

여기서는 graph generation 을 Markov Decision Process(MDP)로 정의한다. 즉, 상태 전이함수가 Markov property를 만족시킨다. CS294-02-03 강화학습 용어, CS294

  • Markov property : state $ s_{t} $에서 action $ a_{t} $ 를 취했을때 $ s_{t+1} $ 로 가는 확률을 $ p(s_{t+1}|s_{t},a_{t})$ 로 나타낸다. 이때 $ s_{t}$ 에서 $ s_{t+1}$ 로 갈때 $ s_{t-1} $과는 독립적이다. 이를 Markov property라고 한다. 다시말해, 과거 상태 $ s_{t-1} $와 현재 상태 $ s_{t} $가 주어졌을 때의 미래 상태의 조건부 확률 분포 $ p(s_{t+1}|s_{t},a_{t}) $가 과거 상태와는 독립적으로 현재 상태 $ s_{t} $에 의해서만 결정된다는 것을 뜻한다.

여기서 policy network는 intermediate graph state $s_t$만을 input으로 받고 output으로 action을 내뱉는다. action은 환경이 다음 intermediate graph를 생성하는데 사용된다.

Molecule Generation Environment

환경은 GCPN으로부터 action을 받아 state를 업데이트하고, reward를 준다.

  • State Space : time step $t$ 에서의 그래프 $G_t$를 state $S_t$로 정의한다. Figure 1의 (a)는 action 전, (e)는 action 후의 state 이다. 초기 state $s_0$ 즉, 그래프 $G_0$는 하나의 carbon atom 으로 가정한다.

  • Action Space : 여기서의 action은 link prediction과도 유사하다. 기존 그래프에 이어 붙일 후보인 scaffold subgraphs는 이고 $C = \cup_{i=1}^s C_i$ 이다. 이때 graph $G_t$ 가 주어지면 이어 붙일 $C_i$를 선택하고, 나머지 scaffold subgraphs는 없앤다. 이 실험에서 scaffold subgraph $C_i$ 는 원자 하나짜리 subgraph이지만, 다른 테스크에서는 여러 노드를 가진 subgraph로 확장할수도 있다. Figure 1 (b) 에서 녹색과 황색 원자 사이의 link(action)가 선택되었다. Link prediction에 대해서는 3.4 에서 다시 다룬다.

  • State Transition Dynamics : 이전 state에서 다음 state로 넘어가는 확률분포다. Domain-specific rule은 이 단계에서 반영된다. Policy network에서 정해진 action이 기초적인 화학규칙에 위배되는 transition이면 여기서 쳐내지고 state는 변하지 않는다. Figure 1 (d)에서는 둘다 valency check를 통과했기 때문에 환경이 action에 따라 분자의 state를 업데이트 한다. text-based 방법들과는 달리 graph representation을 이용하면 매 스텝마다 이렇게 (미완성 상태일지라도) valency check가 가능하다.

  • Reward Design : final rewardintermediate reward가 둘다 사용된다. final reward는 domain-specific reward와 adversarial reward의 합산으로 정의되고, intermediate reward는 스텝마다 validity reward와 adversarial reward로 정의된다.

    • Final reward : Domain-specific reward + Adversarial reward
      • Domain-specific reward : Final property scores + Penalization of unrealistic molecules
        • Final property scores : Octanol-water partition coefficient (logP) + druglikeness (QED) + molecular weight (MW)
        • Penalization of unrealistic molecules : excessive steric strain + (ZINC 작용기 필터에 걸리는) the presence of functional groups
      • Adversarial reward : Discriminator에서 산출된 $-V(\pi_{\theta},D_{\phi})$
    • Intermediate reward : Step-wise validity reward + Adversarial reward

    Adversarial reward $V(\pi_{\theta},D_{\phi})$를 정의하기위해 다음과 같이 Generative Adversarial Network(GAN)의 수식을 사용한다.

    \begin{equation} \underset{\theta}{min} \underset{\phi}{max}\ V(\pi_{\theta},D_{\phi}) = \mathbb{E_{x \sim p_{data}}} [log D_{\phi}(x)] + \mathbb{E_{x \sim \pi_{\theta}}} [log D_{\phi}(1 - x)] \end{equation}

    $\pi_\theta$는 policy network고, $D_{\phi}$는 policy network와 같은 구조의 discriminator, $x$ 는 input graph, $p_{data}$ 는 final graph와 intermediate graph 둘다에게 정의되는 data distribution이다.

    Figure 1의 아래 열은 process를 종료하는 action이 선택된 상황이다. 이땐 step reward와 final reward가 모두 반환되고 generation process가 종료된다.

Graph Convolutional Policy Network

GCPN은 input으로 intermediate grpah $G_t$와 scaffold subgraphs $C$를 받아 action $a_t$를 output으로 내뱉는다. action은 위에서 언급했던대로 link prediction이다.

  • Computing node embeddings : Graph 구조의 데이터에 convolution을 사용해 레이어를 쌓기 위해 Graph Convolutional Network(GCN)을 사용한다. $L$ 레이어에 대해 edge type마다 message passing을 함으로써 다양한 종류의 edge type을 반영한다. GCN의 $l^{th}$ layer에서, 각기다른 edge type의 message들을 합쳐서 다음 $l+1^{th}$로 넘어간다. 합친다는 것은 아래에서는 $AGG(\centerdot)$으로 표현되는데, [mean,max,sum,concat]중 하나의 연산이다. 다음 레이어는 $H^{l+1} \in \mathbb{R}^{(n + c)\times k}$이고, $n$은 $G_t$의 노드수, $c$는 $C$의 노드수, $k$는 노드들의 feature 차원이다. \begin{equation} H^{(l+1)} = AGG(ReLU(\{ \tilde{D}_{i}^{-\frac{1}{2}} \tilde{E}_{i} \tilde{D}_{i}^{-\frac{1}{2}} H^{(l)}W_{i}^{(l)} \}, \forall i \in (1,…,b))) \end{equation}

    $E_i$는 adjacency tensor의 $i$ 번째 슬라이드다. 즉, $i$ 타입의 edge 연결정보만 담고 있는 matrix다. $\tilde{E}_{i} = E_i+I$ 이고, $\tilde{D}_{i} = \sum_{k} {\tilde{E}_{ijk}}$이다. $W_{i}^{(l)}$ 는 i번째 edge type에 대해 학습가능한 파라미터고, $H^{(l)}$은 이전 레이어의 학습된 representation이다. 마지막 representation은 $Z = H^{(L)}$이다.

  • Action prediction : action은 총 4개의 요소로 이루어져있다. 연결할 원자 두개, 결합종류, 프로세스 종료여부 이다.

    • $m_{f}$ : Multilayer Perceptron(MLP)이고, $\mathbb{R}^{n \times k}$에서 $\mathbb{R}^{n}$ 으로 맵핑한다. 이후 SOFTMAX를 통해, graph $G_t$의 노드들중 어떤 노드를 선택할지에 대한 확률을 뽑아낸다.
    • $m_{s}$ : 마찬가지로 MLP구조이고, 첫번째 노드를 정한 후에 어떤 노드를 두번째 노드로 선택할지에 대한 네트워크다. 첫번째 노드는 graph $G_t$에서만 정해야 하는 반면, 두번째 노드는 graph $G_t$뿐만아니라 scaffold $C$에서도 정할 수 있다.
    • $m_{e}$ : MLP 구조이고, 첫번째 노드와 두번째 노드가 정해졌을때 이 둘의 link 종류를 예측하는 네트워크다.
    • $m_{t}$ : MLP 구조이고, 그래프를 더이상 이어붙여 나갈지, 아니면 그래프 생성을 중단할지를 결정하는 네트워크다.

    수식(3)에서는 그래프 노드의 feature representation 표기를 $X$라고 했는데, 아마 위의 설명에서 나오는 $Z = H^{(L)}$가 아닌가 싶다.

Policy Gradient Training

강화학습 방법 중 policy gradient를 사용하는데, 그중에서도 Proximal Policy Optimization(PPO)을 사용한다. clipped loss(clipped probability ratio $r_{t}(\theta)$) 를 사용하고, policy로부터의 data sampling이랑 sampled data를 이용한 최적화를 번갈아가면서 수행한다. 기존의 방법들보다 구현이 간단하고, 성능이 좋다. PPO의 objective function은 아래와같이 정의된다.

\begin{equation} max\ L^{CLIP}(\theta) = \mathbb{E}_{t} [ min(r_{t}(\theta) \hat{A}_{t}, clip(r_{t}(\theta),1-\epsilon,1+\epsilon)\hat{A}_{t} ) ], r_t(\theta) = \frac{\pi_{\theta}(a_t|s_t)}{\pi_{\theta_{old}}(a_t|s_t)} \end{equation}

expert policy로 policy network를 pretraining하면 학습이 안정적이고 성능이 좋은데, 여기서 expert policy는 학습데이터에 존재하는 분자 그래프가 된다. imitation learning의 objective function은 $min\ L^{EXPERT}(\theta) = - log(\pi_{\theta}(a_t|s_t))$ 이다.

Experiments

다음 세가지의 테스크에 대해 실험한다.

  • Property Optimization : 원하는 분자 특성이 최적화된 새로운 분자를 만들어 내는 것이다.

  • Property Targeting : 특정 분자 특성이 원하는 점수에 가까운(일정 범위내에 들어가는) 새로운 분자를 만들어 내는 것이다. 원하는 응용분야에 적합한 분자를 만들어 낼 때 중요하다. 예를 들면, 신약개발을 위한 virtual molecule library에서는 drug-likeness와 sythesizability가 높아야 한다.

  • Constrained Property Optimization : 이것도 원하는 분자 특성이 최적화된 새로운 분자를 만들어 내는 것인데, 특정 분자 substructure을 포함해야 한다. 이 테스크는 lead molecule을 변형하거나 특성을 향상시키는 lead optimization 문제에서 유용하다.

Experimental Setup

  • Dataset : ZINC250k를 사용하며, 최대 원자번호는 38이다. expert pretraining(imitation learning)과 adversarial training에 사용한다.

  • Molecule environment : RDKit이용하여 OpenAI Gym 환경을 설정하고 ZINC250k dataset에 적용시켰다. 원자번호는 38로 제한하고, 9종류의 원자와 3종류의 결합을 사용해서 분자를 kekulized form으로 표현하였다. reward는 실험적으로 다음과 같은 비율로 정했다.

    $\underset{intermediate\ valency}{1} : \underset{intermediate\ adversarial}{1} : \underset{final\ adversarial}{1} : \underset{final\ chemical\ filter}{2} : \underset{ final\ chemical\ property}{4}$

  • GCPN Setup : 모든 레이어의 차원은 64고, 총 3개의 레이어를 이용하여 GCPN을 구성하였다. 각 레이어 이후마다 batch norm이 적용되었다. discriminator 또한 3 레이어의 GCN으로, 같은 구조가 사용되었다. PPO알고리즘에서는 defalut hyper parameter를 그대로 사용하였고, learning rate는 0.001으로 설정하였다. expert imitation learning(pretraining)은 learning rate 는 0.00025를 사용하고, PPO와 imitation learning 둘다 Adam optimizer를 사용하고 batch size는 32였다.
    • GCPN : (GCN 64 dims + barch norm) 3-layer, AGG($\centerdot$)=SUM($\centerdot$)
    • pretraining(imitation learning) : learning rate 0.0025, batch size 32, Adam optimizer
    • discriminator : (GCN 64 dims + barch norm) 3-layer
    • PPO : default hyper parameter, learning rate 0.001, batch size 32, Adam optimizer
  • Baselines :
    • JT-VAE : graph representation과 VAE를 합쳐 분자 그래프를 생성하는 모델이다. Bayesian optimization을 사용하여 원하는 특성 점수에 해당하는 latent space를 찾는다. 기존의 분자구조 생성 모델인 Character-VAE, Grammar-VAE, SD-VAE, Graph VAE의 성능을 넘어선 sate-of-the-art 모델이다.
    • ORGAN : 강화학습과 text-based representation을 이용해서 분자를 생성해내는 논문이다.

    두 모델 다 공개된 코드를 사용했고, 하이퍼 파라미터는 실험적으로 가능한 수준에서 튜닝했다.

Molecule Geneartion Results

  • Property Optimization : 이 테스크에서는 penalized logPQED score가 가장 높은 분자를 생성해내는 것에 초점을 맞췄다. Penalized logP는 ring size와 synthetic accessibility를 나타내는 지표고, QED는 drug-likeness의 지표다. penalized logP는 범위가 제한되어있지 않은 수치고, QED는 [0,1]범위의 값이다. 따라서 QED의 향상정도를 단순히 퍼센트로 비교하는 것은 적절치 않을 수 있다. 평가방법은 모델에서 뽑은 best 3 property score와 화학적 유효성을 만족시키는 분자의 비율로 평가한다. Table 1에는 각 모델별로 성능과 ZINC250k 데이터셋 자체의 통계치가 표기되어있다. ORGAN과는 달리, GCPN은 매 스텝마다 유효성 검사를 하기 때문에 완벽한 성능을 보인다. JT-VAE이 latent space를 통해 접근하는것과 달리, GCPN은 직접적으로 최적화를 하기 때문에 더 높은 점수를 보인다. GCPN-08

  • Property Targeting : 이 실험에서는 molecular weight(MW), logP 두 지표가 원하는 범위 내에 들어간 정도와 함께, 생성된 분자들의 diversity까지 평가한다. diversity는 분자들의 Morgan fingerprint사이의 Tanimoto distance의 평균으로 정의한다. 원하는 범위의 중간값과 생성된 분자의 특성간의 L1 distance를 이용해 RL reward를 준다. GCPN은 성공률 뿐만 아니라, stochastic policy 덕분에 diversity 또한 높게 나온다. GCPN-09

  • Constrained Property Optimization : 이 실험에서는 800개의 ZINC 분자중에 하나를 포함하는 확장된 분자를 생성하되, penalized logP를 최적화했다. JT-VAE는 특정 structure을 포함하는 분자를 생성할 수 없으므로, 제한사항을 완화해서 평가했다. 원래의 그래프와 생성된 그래프간의 유사도 $sim(G,G’)$에 threshold $\delta$를 적용했다.

    GCPN의 초기상태를 탄소원자 하나가 아닌, 800개의 ZINC 분자중 하나로 두고 최적화 하는 방식으로 설정했다. JT-VAE는 주어지는 분자구조마다 optimization을 해야하는데 GCPN은 property score을 향상시키는 일반적인 policy를 학습하여, 800개의 모든 분자에 동일하게 적용시킨다. GCPN-10

Conclusion

GCPN은 원하는 특성의 분자 그래프를 생성해내는데, 기존 방법들보다 성능이 좋은 동시에 validity가 매우 높았다. 추후에 다른 도메인에 적용될 여지가 많다. GCPN-11

궁금증.

  • 각 loss들을 산출하는 공식과 그 의미.
  • Section 3의 reward design에서는 logP가 octanol-water partition coefficient라고 했는데, 아래에서 ring size, synthetic accessibility라고 함. 그 관계.
  • Penalized logP (ring size, synthetic accessibility)를 산출하는 방법과 그 의미.
  • QED를 산출하는 방법과 그 의미.
  • Diversity 평가 지표인 Morgan fingerprint사이의 Tanimoto distance란?
  • 첫번째 실험에서 Figure 2를 보면 이상하게 penalized logP가 높은, 비정상적으로 생성된 분자들은 GCPN에서 찾을 수 있다고 했는데, 어떻게 찾는지? penalized logP를 기준으로 보는거면 JT-VAE나 ORGAN에서는 비정상적으로 생성된 분자를 찾아내는게 불가능한지?
  • 마지막 실험 Constrained Property Optimization에서 800개 분자를 선정한 기준?
  • 마지막 실험 Constrained Property Optimization에서 JT-VAE는 특정 분자구조를 포함해서 다른 분자를 생성하는게 힘들기 때문에 그래프간의 유사도 $sim(G,G’)$ 를 사용했는데 좀더 명확한 방법과 이유. -> JT-VAE논문도 정리하기.
  • GCN reference를 몇개 했는데, 그 중 어떤 논문의 코드를 사용했는지?
  • Spatial GCN을 사용한다면?
  • Neural message passing 논문도 다시 보고 정리하기.