close

image

 

新材料的開發往往需要大量的 trial and error 才能找到正確的原料、配方、與加工方式,甚至於還常常需要一些機緣,

整體的流程就如上圖的左半邊所示,從分子的設計、合成,一直到組合成元件或裝置,最後測試性能,然後分析數據並改進,

相信大家都感覺得到,要完成這些流程是非常花費時間而且高成本的,

以一般的材料研究室來說,材料的合成和元件的製作通常需要分工,有些研究生專職合成,有些人負責用各種材料來測試元件,

更不用說在業界,每一流程都能獨立出來成為一間公司了,

因此運用模擬技術來預測怎樣的原料會發生怎樣的反應、材料會具備什麼性質,成為一門顯學,

目標是可以大幅減少做實驗的代價。

因應而生的,就是各種化學反應與材料性質的模擬工具,

比方說源自量子力學的第一原理計算,可以計算原子之間的作用力和能量,找到最穩定 (能量最低)的材料微結構,

或是分子動力學搭配統計力學,相較之下能把預測的尺度再放大,準度的表現卻比較差,

這些手法基本上不能擺脫物理模擬的宿命,就是需要花費大量的時間和運算資源,而且在巨觀的材料性質上還是力不從心,

而近期機器學習與深度學習的崛起,讓機器學習在材料科學上的應用成為一個熱門主題。

而本文主打的 Inverse molecular design ,有一種逆向工程的味道。

 

原文連結: https://www.science.org/doi/abs/10.1126/science.aat2663

標題: Inverse molecular design using machine learning: Generative models for matter engineering

image

如上圖所示,chemical space 與 functional space 分別代表化學物的資料集和相對應的各種化性/物性,

直覺的做法當然就是把 chemical space 和 functional space 分別當成X與Y建立模型,

而Inverse molecular design 在從資料集中建立好化學結構與相對應性質的關係之後,

從期望達到的特性出發,試圖反向搜尋到可以達到預期特性的化學結構。

有趣的是不一定會只會預測某一種化學物,而是會把可行的化學結構都找出來。

甚至於,如果透過一些最佳化手法或是生成式 (GAN, VAE)的模型,就能夠更精準地做分子設計。

舉例來說,藥物研發的 high throughput virtual screening (HTVS),

就是先以合成的容易度和種種化性、物性去做分類,未來有需要時就能拿來改良藥物分子,

在不同的領域也都利用這個概念,安排自己想要的優先程度去找出具備相對應性質的分子,

而近期最熱門的,莫過於運用機器學習中的生成演算法,利如生成對抗模型 (GAN, generative adversial network),

而這也是本論文要探討的核心。

 

在開始投入演算法之前,要先解決化學分子該如何有效標記的問題,才能讓演算法去學習化學分子的特徵,

而下圖所回顧的便是幾種常用的方式: 

image

基本上可以總結成三種主要的形式: (1) 加權圖 (weighted graph)  (2) 離散形,例如文字  (3) 連續形,例如向量、張量。

舉例來說,可以把原子視為節點 (node),鍵結視為邊界 (edge),通常來說會把氫省略掉 (因為氫的數量可以被輕易推演出來),

最典型的例子就是上圖第2項的SMILES,它會把原子和鍵結變成一維的文字編碼。

更進階的作法則是使用文字編碼 (text encoding)和加權圖,搭配各種向量化的特徵來表現鍵結種類與電荷等。

以上是目前最廣為使用的作法,

其它做法包括上圖所示的化學勢能 (以模擬分子間作用與對稱性)、電子密度、(原子間)庫侖力矩陣等等。

 

在講完特徵工程的部分後,接下來是深度學習演算法,

image

最基本的深度學習演算法就是利用 Deep Neural Network (DNN) 去學習資料中的特徵,

也可以利用先驗機率或是機率分布的方式,讓分子的特徵化為latent variable 被投射在潛在空間 (latent space),

讓每一個分子都能有自己在潛在空間中的代表,通常會以向量的形式表現。

如果是使用生成對抗模型 (Generative Adversarial Networks, GAN) 則是針對資料分布建模,也會是本文的重點,

針對化學物質的部分,由於用SMILES 做特徵工程是最常見的作法,

因此通常會以Recurrent Neural Network (RNN)為出發點,以針對序列性質的資料來建模,

image

既然都提到RNN了,那更為進步的LSTM、注意力機制 (self-attension) 等當然也都是可行的方案。

為了要控制生成的分子能夠更合理,Variational Autoencoder (VAE, 變分自動編碼器) 便被提出來為做法之一,

image

Autoencoder 本身具有 encoder 和 decoder 兩個部分,encoder 負責把化學分子給投射到低維的 latent space 中,

decoder 則會把低維中的向量給「解壓縮」變回正常的分子形式。

透過在資料中不斷學習「壓縮」和「解壓縮」,希望可以有效學習到分子的特徵。

而之所以要進一步使用 VAE,是為了要配合可能的「外插」需求,也就是要去探索既有的data 未能夠覆蓋到的空間,

相較於AE,VAE在編碼的過程中會給予更多的限制,要求生成的向量必需要遵循某種機率分布,最常用的是高斯分布,

因為高斯分布可以輕易地透過平均值和標準差來參數化。

在訓練的過程中,分子的latent vector 不是一個特定點,而是機率分布,同時會添加干擾 (noise),

演算法必需要有能力把這個vector 再變回原本的分子,

而透過加入適當的資料,在latent space 中分子會根據相似的程度聚集,而不同的性質也會佔據不同的維度和方向,

搭配 Bayesian Optimization 手法,可以在latent space 中做gradient descent 並且降低遇到局部最低點 (local minimum)的可能性。

 

如前面提到,GAN也是產生化學分子的一大要角,

image

GAN的架構包含 Generator (生成模型) 和 discriminative model (判別模型), 

Generator 的任務是從有雜訊的空間中抽樣並產生資料,而discriminative model則是負責判別這到底是合成的還是真實的資料,

為了要讓化學物質和性質連結起來,需要在另外架設一個類神經網路,透過梯度和back propagation來導引優化的程序。

 

強化學習也是另一個值得探索的領域,透過典型的Q learning 和策略梯度 (policy gradient),

image

Generator 是agent ,任務就是透過SMILES產生分子, 預期要達到的性質就是reward,

而且這個reward必需要是完成分子結構時才會給予,任務目標是儘可能得到最大的reward,

蒙地卡羅樹搜尋 (Monte Carlo Search) 可以用來輔助此一流程,

通過其機率與權重來嘗試各種不同的可能性,評估哪種方法能得到最多的獎賞。

 

透過深度學習來協助化學分子的合成已經被應用在製藥業,用來獲得符合毒性、溶解度、合成難度等要求的分子,

不過現在以SMILES為主體的主流架構還是有其限制,因此如何找到更有通用性的特徵工程架構會是一大重點,

而不斷演進的深度學習算法也能夠讓演算法更能夠學習分子的特性,

尤其是在一些比較龐大的分子上,既要學習臨近的原子與鍵結,也要能學到較遠的,以期能更認識各種分子真實的樣貌,

期待透過深度學習,材料、生化、化學等領域的研究效率能夠大大突破。

arrow
arrow

    William.Echoes 發表在 痞客邦 留言(0) 人氣()