(強(qiáng)烈推薦打開本站APP并使用語音朗讀功能,因?yàn)閮?nèi)容確實(shí)比較多)

這是繼上次中科院特有考核科目“Seminar”被掛科后,第二次考核的展示內(nèi)容。

上一次" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

18143453325 在線咨詢 在線咨詢
18143453325 在線咨詢
所在位置: 首頁 > 營(yíng)銷資訊 > 網(wǎng)站運(yùn)營(yíng) > 人工智能助力應(yīng)用化學(xué)基礎(chǔ)研究

人工智能助力應(yīng)用化學(xué)基礎(chǔ)研究

時(shí)間:2023-04-29 18:51:02 | 來源:網(wǎng)站運(yùn)營(yíng)

時(shí)間:2023-04-29 18:51:02 來源:網(wǎng)站運(yùn)營(yíng)

人工智能助力應(yīng)用化學(xué)基礎(chǔ)研究:(2021.5.10更新版本,改善了敘述的完整性)

(強(qiáng)烈推薦打開本站APP并使用語音朗讀功能,因?yàn)閮?nèi)容確實(shí)比較多)

這是繼上次中科院特有考核科目“Seminar”被掛科后,第二次考核的展示內(nèi)容。

上一次的主題是《Buckingham展開計(jì)算分子多極矩和(超)極化率》,這種展開方法因?yàn)橹恍枰肿釉谟邢揠妶?chǎng)下的能量,而不需要其他的物理量所以會(huì)算起來快一些(尤其是不需要高階的perturbation)。嚴(yán)格來說是使用了連續(xù)泰勒展開,然后截?cái)嗟接邢揄?xiàng)之后積分回去。這部分內(nèi)容我也會(huì)找時(shí)間寫一寫,畢竟是我大一時(shí)候時(shí)常搗鼓的那堆東西。按照Seminar要求,要對(duì)領(lǐng)域的前沿和歷史有把握,所以考慮到這種非常ready-to-use的東西,大家常見的工作模式就是建模型、推公式、寫程序、尋找體系做測(cè)試、發(fā)布程序??紤]到本身多極矩和極化率不是什么很新奇的東西,各種軟件包里面肯定不管用什么理論和方法實(shí)現(xiàn),都會(huì)有計(jì)算這些量的功能。所以我自然是先調(diào)研常見的軟件包,比如multiwfn,QuantumEspresso等等。請(qǐng)教了一下盧天在multiwfn里怎么計(jì)算這些量,摳了摳QuantumEspresso里DFPT,帶著source code review在了一開始。

但總之當(dāng)時(shí)的情況是幾乎沒有人喜歡聽這些,不管是原理還是程序的時(shí)間復(fù)雜度考慮trade-off。


調(diào)研當(dāng)前這個(gè)《人工智能助力應(yīng)用化學(xué)基礎(chǔ)研究》花了大概一個(gè)月時(shí)間,但是仍然時(shí)間有限,如果大家還有知道什么亮眼的代表性工作,可以留言在評(píng)論區(qū)(不過我寫的東西一般都沒什么人看),我會(huì)增加在PPT里并且附上致謝。我盡量只放原創(chuàng)程度高的工作,而不是僅僅拿某一種神經(jīng)網(wǎng)絡(luò)來用的工作(除了為了領(lǐng)域的舉例對(duì)稱添加的例子外)。每當(dāng)有一個(gè)新的方向出現(xiàn),我們都要警惕其變成某種水坑,水坑中過度掙扎會(huì)讓人迷失在自己的信息繭房,然后片面地對(duì)方向下消極結(jié)論。又因?yàn)檫@個(gè)的受眾群體是學(xué)化學(xué)/材料專業(yè)的大部分學(xué)生和老師,所以并沒有放什么數(shù)學(xué)。但是我同樣也擔(dān)心這么講會(huì)不會(huì)讓一些人對(duì)深度學(xué)習(xí)丟棄敬畏之心,這樣就不是什么好的效果,但很遺憾這樣想的人還不少。Balance:既不能讓聽眾覺得很難聽不進(jìn)去,又不能讓他們覺得實(shí)在trivial所以也什么都不愛多聽。我應(yīng)該提醒甚至是警告諸位的是,人工智能領(lǐng)域的數(shù)學(xué)可能是很難的,在基礎(chǔ)知識(shí)儲(chǔ)備要求上甚至遠(yuǎn)高于普通的量子化學(xué)。

《你我皆日漸厭倦的生活》
人工智能這個(gè)話題在我最開始考慮的來由是multidimensional array-like的實(shí)驗(yàn)和模擬的必要性論證(這就要涉及到Bayesian optimization),以及順帶評(píng)估高通量實(shí)驗(yàn)本身的數(shù)據(jù)利用程度高低。又考慮到經(jīng)常在我腦海里有這么一段話:“做實(shí)驗(yàn),每次做的結(jié)果都不一樣,今天這個(gè)結(jié)果,明天那個(gè)結(jié)果。如果說每天都浪費(fèi)很多時(shí)間在這種充滿和當(dāng)前需要研究的問題沒有直接關(guān)聯(lián)的事情上,那我做的還是科學(xué)嗎?”除此之外還有故意或者非故意的學(xué)術(shù)造假。

因此我期望人工智能能夠改變這些非常浪費(fèi)時(shí)間的獲得新知路上的“坑坑洼洼”,所以接下來的介紹思路自然是要審視科學(xué)研究的每個(gè)階段,其利用人工智能改善的既有工作和未來可能性。

就常規(guī)基礎(chǔ)研究工作來說,考慮工作流程,研究的起點(diǎn)可能是某些現(xiàn)象的發(fā)現(xiàn),也有可能對(duì)于研究生來說是導(dǎo)師一開始給定的課題。為了真正著手去做,發(fā)現(xiàn)或者正確定義需要研究的問題很重要,既要specific,又要well-defined。并且正確提出的問題會(huì)比較容易開展接下來的對(duì)問題解決的方法的尋找。要么根據(jù)以往經(jīng)驗(yàn)直接進(jìn)行逆合成分析,要么尋找構(gòu)效關(guān)系,或者首先查閱文獻(xiàn),如果對(duì)問題所屬領(lǐng)域并不是很熟悉的話。接下來就是設(shè)計(jì)和開展實(shí)驗(yàn)工作,然后是分析結(jié)果。

不過從發(fā)現(xiàn)或者正確良好且合理定義研究的問題開始,或者可能從觀察到現(xiàn)象開始——具有什么樣的知識(shí)儲(chǔ)備將決定在觀察到的現(xiàn)象中更注意哪部分,或者說只有具有一定的知識(shí)儲(chǔ)備,才有可能發(fā)現(xiàn)看起來trivial的現(xiàn)象中存在的某些可能有science的線索。

但是到目前為止,從知識(shí)的儲(chǔ)備,到查閱文獻(xiàn)、尋找方法、逆合成分析或者構(gòu)效關(guān)系為指導(dǎo)設(shè)計(jì)功能材料、設(shè)計(jì)和開展實(shí)驗(yàn)、甚至簡(jiǎn)單地分析現(xiàn)有結(jié)果,都已經(jīng)可以由人工智能自動(dòng)完成,雖然整體這幾個(gè)部分都可以有人工智能參與的工作階段之間目前還沒有做到完全的集成。(虛線箭頭)

每個(gè)做科學(xué)研究的人都有一個(gè)可以當(dāng)個(gè)古代哲學(xué)家,不用動(dòng)手操作浪費(fèi)時(shí)間的夢(mèng)想:philo_chemist



所以從這些方面講一講人工智能現(xiàn)在能在化學(xué)研究上做到什么程度,大家也不用懷疑我放錯(cuò)了圖片順序,畢竟剛剛都算是introdunction。
最簡(jiǎn)單或者最經(jīng)典、古典的神經(jīng)網(wǎng)絡(luò)如下圖左側(cè)所示。神經(jīng)網(wǎng)絡(luò)只能說是在一定程度上進(jìn)行的仿生學(xué)設(shè)計(jì),但到底有沒有直接的生物學(xué)基礎(chǔ),現(xiàn)在仍然是腦科學(xué)和人工智能交叉領(lǐng)域的熱門話題,有的研究說“人工智能有助于探索大腦結(jié)構(gòu)”,也有研究說“人工智能不一定需要落實(shí)到神經(jīng)基礎(chǔ)”。

對(duì)于左下角中每一個(gè)表示為圓形的細(xì)胞,其輸入、處理和輸出可以看左上圖。對(duì)于每一個(gè)輸入x,首先處理為wx+b,接下來被激勵(lì)函數(shù)(activation function)處理,得到輸出。注意到左下的神經(jīng)網(wǎng)絡(luò)里,每一個(gè)細(xì)胞接受上一層多個(gè)細(xì)胞的輸入,輸出給下一層多個(gè)細(xì)胞,因此相當(dāng)于x和激勵(lì)函數(shù)的輸入wx+b構(gòu)成線性變換,比如x按照細(xì)胞的順序構(gòu)成矢量,x1 x2 x3, …,那么對(duì)于圖中三維轉(zhuǎn)四維的矢量的線性變換,如果是矩陣右乘列矢量,就是4x3矩陣。

值得注意的是,如果沒有非線性的激勵(lì)函數(shù)的存在,臨近兩層之間的矩陣直接可以寫成一次線性變換,即把第一層第二層之間的矩陣和第二第三層之間的矩陣可以直接相乘。因此非線性的激勵(lì)函數(shù)帶來了神經(jīng)網(wǎng)絡(luò)強(qiáng)大的數(shù)據(jù)擬合能力。

但說到擬合這個(gè)詞,的確如此,因?yàn)樯窠?jīng)網(wǎng)絡(luò),或者更大的概念比如機(jī)器學(xué)習(xí),處理任務(wù)主要只有兩方面:擬合與分類,實(shí)際上對(duì)于非理想二項(xiàng)分布的輸出,分類是更粗糙的擬合,即從白到黑變成非黑即白。

右上角是一個(gè)玩具,tensorflow在AI的API幾乎占了三成左右的份額,這個(gè)網(wǎng)站大家可以隨后自己玩玩看,圖中是一個(gè)二分類的神經(jīng)網(wǎng)絡(luò)訓(xùn)練工作。(Tensorflow — Neural Network Playground)

詳細(xì)關(guān)于神經(jīng)網(wǎng)絡(luò)可以擬合任何函數(shù)的數(shù)學(xué)證明超出這里的討論范圍,但是推薦本站上的諸位閱讀:

talk is cheap, show me the code

接下來從發(fā)現(xiàn)/定義問題步驟開始介紹。

就應(yīng)用領(lǐng)域的化學(xué)研究來說,舉例常見問題之一是設(shè)計(jì)藥物分子。這里我展示了一個(gè)用遞歸神經(jīng)網(wǎng)絡(luò)根據(jù)一定規(guī)則設(shè)計(jì)藥物分子的例子。不過論文中的舉例更加簡(jiǎn)單,上面一行把機(jī)器生成分子含有更多的小官能團(tuán)評(píng)為高分的設(shè)計(jì)(high score),下面一行則加分項(xiàng)是苯環(huán)數(shù)量。可以看到從左到右依次各是數(shù)量增加。值得注意的是我畫出的reward。具體reward函數(shù),即機(jī)器輸出一個(gè)分子之后如何判定他有用還是沒用,效果好還是差,這個(gè)函數(shù)的建立其實(shí)并不是簡(jiǎn)單的事情,但也已經(jīng)有很多工作去嘗試這件事情,比如這位經(jīng)常推送一些AI輔助藥物設(shè)計(jì)的論文( @Aspirin )。

下二圖分別給出的是這種可以用來生成分子的RNN的訓(xùn)練和生成分子過程
借著右上角的圖我們先把上一張關(guān)于reward的事情說完。這篇文章里給的方法是使用另一個(gè)經(jīng)典的神經(jīng)網(wǎng)絡(luò)作為predictive model來學(xué)習(xí)reward函數(shù),比如剛剛的,原則,如果機(jī)器產(chǎn)出一個(gè)苯環(huán)比較多的分子,我們就給高分,把這個(gè)事件或者說判斷方式讓經(jīng)典的神經(jīng)網(wǎng)絡(luò)學(xué)會(huì),然后它用來訓(xùn)練RNN,也就是生成藥物分子的神經(jīng)網(wǎng)絡(luò)。這種聯(lián)合的機(jī)制稱為強(qiáng)化學(xué)習(xí),reinforcement learning。

一個(gè)可以預(yù)想到的reward的訓(xùn)練數(shù)據(jù)是做計(jì)算機(jī)模擬的受體蛋白-藥物分子的高通量分子對(duì)接,首先也需要在分子中尋找一定的藥效團(tuán),這種藥效團(tuán)也屬于一種分子的定量構(gòu)效關(guān)系的描述,這種分子對(duì)接技術(shù)非常成熟,商業(yè)軟件也有很多,但是這并不是重點(diǎn),甚至最近我的老黃歷才知道有這么個(gè)東西(大人,時(shí)代變了):

接下來稍微看一下循環(huán)神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)。

循環(huán)神經(jīng)網(wǎng)絡(luò)和經(jīng)典的神經(jīng)網(wǎng)絡(luò)不一樣的地方在于RNN經(jīng)常用來處理具有特定順序的數(shù)據(jù),比如自然語言,因?yàn)槟承┱Z意信息和順序密切相關(guān)。對(duì)于分子來說,找到一個(gè)拼接或者組裝分子的起點(diǎn),即首先給出一個(gè)原子作為起點(diǎn),然后按照學(xué)習(xí)到的規(guī)則來從起點(diǎn)一個(gè)原子一個(gè)原子拼接成一個(gè)分子。值得注意的是,分子并非簡(jiǎn)單的順序序列,所以還需要另外學(xué)習(xí)整個(gè)分子的成鍵合理性,比如化學(xué)鍵如何飽和,碳原子四根鍵等等。

詳細(xì)說明分子拼接和自然語言學(xué)習(xí)過程的共同特點(diǎn)
詳細(xì)說明分子拼接和自然語言學(xué)習(xí)過程的共同特點(diǎn)
然后是材料領(lǐng)域,或者說分子里原子很多的情況,這里我舉例MOF材料的設(shè)計(jì)。對(duì)于把MOF真的編碼成機(jī)器能夠讀懂和處理的方式的工作,是發(fā)在PRL上的,也就是我圈出來的那部分。所以針對(duì)這篇舉例的工作,他們用了一種多層次的材料篩選模式,然后把吸附量作為神經(jīng)網(wǎng)絡(luò)的訓(xùn)練和輸出性質(zhì)。

可以看到原先的純?cè)O(shè)計(jì)并非實(shí)驗(yàn)合成的三十二萬個(gè)MOF材料,經(jīng)過神經(jīng)網(wǎng)絡(luò)篩選,就剩下兩萬個(gè),接下來用巨正則系綜蒙特卡洛來進(jìn)一步篩選甲烷的吸附量。蒙特卡洛也是一種能夠?qū)崿F(xiàn)比較復(fù)雜體系的模擬算法,但是它很古典而且并不是智能算法,關(guān)于這種模擬的scheme是什么,看左下角,以及大概這種模擬里有什么可執(zhí)行動(dòng)作,建議閱讀cp2k的這部分(CP2K_INPUT / MOTION / MC)。

這篇工作的第二個(gè)highlight是針對(duì)三維MOF材料訓(xùn)練的神經(jīng)網(wǎng)絡(luò),不改變?nèi)魏螀?shù)然后直接用于COF,ZIF和2D-COF篩選時(shí),除了最后一個(gè),都表現(xiàn)不錯(cuò)。

論及剛剛說的CGCNN,其中CNN就代表了最后一種比較經(jīng)典的也是非常重要的神經(jīng)網(wǎng)絡(luò)形式,卷積神經(jīng)網(wǎng)絡(luò)。

先從什么是卷積說起。

卷積straightforward,反卷積可以直接解O(N**2),也可以用神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)——又是一個(gè)小的研究方向
左上角,對(duì)于反應(yīng)管里定常系統(tǒng),或者簡(jiǎn)單說平穩(wěn)運(yùn)行的系統(tǒng),假設(shè)濃度分布是藍(lán)色線。但是當(dāng)考慮到擴(kuò)散影響時(shí),其實(shí)可以對(duì)管子里每一點(diǎn)考慮其前后兩側(cè)擴(kuò)散,也就是說框出來的兩點(diǎn)分別考慮綠色表示的擴(kuò)散特性,然后考慮到藍(lán)色線連續(xù),把上面每一個(gè)點(diǎn)的擴(kuò)散做疊合,就可以得到最上面橙色虛線。

按照數(shù)學(xué)的說法就是,卷積了擴(kuò)散函數(shù)。按照直觀解釋就是,包含了那種擴(kuò)散函數(shù)的影響。

所以對(duì)于數(shù)值計(jì)算來說,動(dòng)手算算,比如圖1,這種規(guī)律發(fā)現(xiàn)得會(huì)很快。

圖3是說CNN里面除了卷積之外的另一個(gè)事情,最大池化,maxpooling。稍微觀察一下就會(huì)發(fā)現(xiàn),對(duì)每個(gè)四方格只取最大值。

這種方法其實(shí)也非常具有現(xiàn)實(shí)意義——想想這是不是很像馬賽克?

最后一張圖就是整體最常規(guī)最常規(guī)的CNN結(jié)構(gòu),一維和二維沒有什么區(qū)別,其實(shí)到三維甚至更高維度都可以。

對(duì)于計(jì)算機(jī)視覺領(lǐng)域來說,CNN一個(gè)非常有意思,也是那個(gè)領(lǐng)域或者CNN技術(shù)遷移到化學(xué)研究里的一個(gè)重要原因就是,CNN具有很好的解釋性。

可以看到上面這個(gè)圖里,對(duì)狗的照片進(jìn)行不同的卷積處理,就可以提取出牙齒,白色毛,身體輪廓等等要素,然后再用要素來預(yù)測(cè)各種性質(zhì)。

所以這種理解方式也被用在了化學(xué)領(lǐng)域,從幾年前到現(xiàn)在。

有的人用CNN讓AI來“看”,一塊周期性材料上各種位點(diǎn)的某種分子吸附能是多少,有的人用CNN來預(yù)測(cè)一個(gè)動(dòng)力學(xué)系統(tǒng)前后幾步有什么樣的規(guī)律,提取出來,這也就是三維的CNN。左下角的工作就是CGCNN,也就是從晶體里面提取出輸入給CNN的數(shù)據(jù)的那篇原創(chuàng)性工作。

之后在材料表征部分,我還會(huì)講更多和更具有解釋性和啟發(fā)意義的例子。


設(shè)計(jì)完了分子,接下來考慮分子怎么合成。

逆合成分析貫穿有機(jī)甚至其他化學(xué)的合成始終,雖然逆合成分析甚至是作為一個(gè)發(fā)明或者重要概念被提出來的,但是一個(gè)化學(xué)反應(yīng)能從反應(yīng)物側(cè)到產(chǎn)物側(cè),開到產(chǎn)物側(cè)去考慮反應(yīng)物側(cè)也是自然的。

所以逆合成分析也可以很自然表示成樹的形式,不同的合成路線,分支到最后成為基本原料,比如上面一行的左圖和簡(jiǎn)化版右圖。

這篇文章其實(shí)主要是采用這種決策樹模式來做逆合成分析,但是他們并不是從根節(jié)點(diǎn)出發(fā),然后并行著去找所有的分支,而是每次只走一條分支,每次走的分支要么完全隨機(jī),要么根據(jù)上一次訪問到的節(jié)點(diǎn)進(jìn)行的打分,和探索新的分支進(jìn)行比較然后決策。

這個(gè)工作后面進(jìn)行了雙盲實(shí)驗(yàn),找了真正的人類化學(xué)工作者,用這個(gè)算法做逆合成分析給出來的路線和已經(jīng)發(fā)表的工作合成同一分子的路線二選一,結(jié)果發(fā)現(xiàn)大部分對(duì)這種機(jī)器學(xué)習(xí)方法生成的路線具有偏好,對(duì)于少部分情況,比如我紅圈標(biāo)出來的情況,作者也分析,說是因?yàn)檫@個(gè)合成路線在一開始用了一個(gè)雖然報(bào)道過的,但是大家一般不怎么用的路線,大家選擇了格氏試劑那條,就是說人每次的選擇未必是真正正確的,反而更可能是他們自己更熟悉的。下面一行中間和其他算法的比較就基本是碾壓態(tài)勢(shì),包括右下角給出來的工作效率比較。

這個(gè)paper的作者甚至做了一件更有意思的事情,找了一個(gè)已發(fā)表的分子,做了一個(gè)benchmark,說這個(gè)分子,算法用5.4秒就設(shè)計(jì)出了和一篇paper一樣的路線。

但是這篇工作是不是毫無缺點(diǎn)?其實(shí)并不。這是18年的工作,我讀的這本RSC 2020年出的《化學(xué)中的機(jī)器學(xué)習(xí):人工智能帶來的改變》里,正好提到的一篇review里comment了這篇paper。按照這篇review的說法,自動(dòng)化的逆合成分析其實(shí)分成三大類,這篇nature只是其中之一,而且問題有兩個(gè),一是其單純的每一步逆合成分析精確度說不過去,后來我才發(fā)現(xiàn)其實(shí)那篇nature里確實(shí)承認(rèn)了這一點(diǎn),但是他們還是用了另外一個(gè)神經(jīng)網(wǎng)絡(luò)用來篩掉不合理的部分。但無論如何,被稱為expansion policy的單步逆合成分析,精度并不是最高的,精度高的還有seq2seq方法,但是其實(shí)在另一類逆合成分析方法分類里面。

對(duì)于精度為什么低,右下角我畫了個(gè)圖解釋了一下。

比如三硝基苯,發(fā)生付克烷基化基本不可能,因?yàn)楦犊送榛怯H電取代,硝基是間位致鈍定位基,這個(gè)反應(yīng)基本不可能發(fā)生。但是對(duì)于expansion policy學(xué)習(xí)的反應(yīng)提取策略,是保留反應(yīng)中心,但是對(duì)于反應(yīng)中心周邊的原子到底保留多少,既可以說是trade off,又是,某種不可描述的藝術(shù)。但是可以預(yù)見,周邊原子取的越多,符合這個(gè)特征的反應(yīng)就會(huì)越少,但是預(yù)測(cè)反應(yīng)能不能發(fā)生,也就是反應(yīng)預(yù)測(cè)的正確性就會(huì)提高,反之亦然,所以其實(shí)逆合成分析(尤其是single expansion policy step)這個(gè)task單獨(dú)看還存在著稍微有些硬傷的地方。

對(duì)標(biāo)逆合成分析的是構(gòu)效關(guān)系指導(dǎo)設(shè)計(jì)功能材料。盡管我展示的還是一個(gè)比較有機(jī)的例子,但是其他的結(jié)構(gòu)也有,但是為什么我沒有直接選擇材料,或者按照經(jīng)常做模擬的說法,選周期性體系,我之后會(huì)說。

這篇工作用了一種改進(jìn)過的RNN神經(jīng)元,也采用了一正一反順序組合的RNN神經(jīng)元串聯(lián),就是bi-directional。選擇正序和倒序結(jié)合也是可以理解的,畢竟對(duì)于組裝或者解析分子結(jié)構(gòu)來說,從一個(gè)原子出發(fā),向左還是向右作為拼接或者解析分析的第一步是無所謂的,但是一旦開始,就不能回頭。

最右邊可以看到這種結(jié)構(gòu)組裝的神經(jīng)網(wǎng)絡(luò)對(duì)于預(yù)測(cè)能量轉(zhuǎn)化效率和實(shí)驗(yàn)測(cè)定結(jié)果出入并不大。

另外,這種bi-directional綜合了兩個(gè)遍歷分子中片段的順序之后外接了一個(gè)attention層,這個(gè)層提取出來的信息是構(gòu)效關(guān)系發(fā)現(xiàn)的關(guān)鍵。

可以發(fā)現(xiàn),在左下角這個(gè)hotmap里面,數(shù)值比較大的像素對(duì)應(yīng)于這些結(jié)構(gòu)其實(shí)在能量轉(zhuǎn)化效率高的分子里面出現(xiàn)的頻率很高,而回憶學(xué)過的紫外可見光譜知識(shí)里,也可以想起來這些共軛結(jié)構(gòu)可能具有比較廣譜的光波長(zhǎng)吸收范圍,和生色團(tuán)有一定相似。

借著這篇工作,我們可以稍微多看一眼attention機(jī)制,這種機(jī)制具有非常好的可解釋性,比如右邊的圖,可以看到對(duì)于“我愛中國(guó)”,神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)后的結(jié)果,“我”對(duì)“I”的注意力很高,“愛”對(duì)“l(fā)ove”的注意力很高,“中國(guó)”和“China”也是一樣。值得注意的是,機(jī)器自己并不知道這些東西的具體意思,但是當(dāng)經(jīng)過很多的文本訓(xùn)練之后,就可以猜出來大概這種“翻譯”工作,或者更加廣義的“翻譯”,比如從結(jié)構(gòu)到性質(zhì)的“翻譯”工作,其中的規(guī)律。

這也就是說揭示表象之間的關(guān)系的問題:雖然結(jié)構(gòu)決定性質(zhì),但是性質(zhì)可以體現(xiàn)結(jié)構(gòu),這兩個(gè)互為表象?;蛘咂鋵?shí),對(duì)于結(jié)構(gòu)的解釋很微觀的時(shí)候,沒辦法區(qū)分“單原子對(duì)碳碳雙鍵的ita-2吸附”,到底是因?yàn)椤盀榱双@得更大的電子云重疊”,還是說因?yàn)閱卧颖旧?,電子云得以按照ita-2吸附方式重疊了電子云。

Attention是一種非常有用和可解釋性強(qiáng)的工具,講到這里希望大家能回憶起剛剛我講的另一種神經(jīng)網(wǎng)絡(luò)里的特征提取方式。

實(shí)際上,不管是剛剛舉例發(fā)在Nature上那篇逆合成分析,還是我一開始提到的所謂某些熱點(diǎn)領(lǐng)域的工作發(fā)表速度太快,以至于很難實(shí)時(shí)follow并且在某一個(gè)方向上做得更深。所以這頁P(yáng)PT做了某種類似的工作,把所有已經(jīng)發(fā)表的有機(jī)反應(yīng)都做了多級(jí)分類。點(diǎn)擊下載Supplementary information,電腦端解壓后使用瀏覽器打開文件有驚喜:https://static-content.springer.com/esm/art%3A10.1038%2Fs42256-020-00284-w/MediaObjects/42256_2020_284_MOESM2_ESM.zip

通過多級(jí)分類,還可以在剛剛看到的樹上搜索出和自己描述的反應(yīng)最接近的反應(yīng)。

雖然其實(shí)局限在工作本身來看,做的事情并不是多么non-trivial,但是其實(shí)為了應(yīng)對(duì)越來越多的發(fā)表工作,能夠在人注意力的上限以下盡可能follow新的成果,這項(xiàng)工作的意義看起來就會(huì)大一些。

這個(gè)工作使用的學(xué)習(xí)結(jié)構(gòu)是Bidirectional encoder representations from transformers,RNN,seq2seq,transformer全都是BERT的前置知識(shí),所以我稍微帶一點(diǎn):

經(jīng)常有人會(huì)問到,Transformer里面Q,K和V分別是什么。字面來看Q = Query, K = Key, V = Value,具體如何得到這三個(gè)量,方法則是在神經(jīng)網(wǎng)絡(luò)中不能更常見的關(guān)于encoded矢量的旋轉(zhuǎn)操作(W),然后在Q和K之間使用correlation: 實(shí)際上對(duì)于熟悉相關(guān)性分析的人來說,correlation不能更熟悉,這里采用的是余弦相關(guān)函數(shù)(核),實(shí)際上還有其他的相關(guān)函數(shù),比如各種距離函數(shù),他們也都可以叫做某種范數(shù)。K聚類是歐幾里得距離,R聚類是余弦距離。

準(zhǔn)備這個(gè)PPT的時(shí)候正巧我一邊在翻Coursera的網(wǎng)站,抬頭發(fā)現(xiàn)正好有Query的例子,注意看截圖里的網(wǎng)址。

(矩陣運(yùn)算比較熟悉的人的思路是紅色框那樣)
接下來這張是示意殘差網(wǎng)絡(luò)策略和多頭注意力。

接下來稍微檢查一下能否Transformer的輸入和輸出具有不同的自然語言字長(zhǎng),答案是可以:

在這里我們稍微examine了一下Attention機(jī)制里是否允許“翻譯”任務(wù)的輸入和輸出具有不同長(zhǎng)度
運(yùn)行上來說,Transformer比起傳統(tǒng)RNN的優(yōu)點(diǎn)之一是高度并行化,但高度并行化帶來的負(fù)面影響是喪失了原本隱含的順序信息,所以實(shí)際上Transformer對(duì)輸入的自然語言進(jìn)行編碼的時(shí)候,還額外編碼了位置信息。

但有了從頭到尾的順序可能還是不夠的,還需要從尾到頭,或者其他的順序組織,所以又有了如下所示的三種復(fù)雜神經(jīng)網(wǎng)絡(luò):

對(duì)于傳統(tǒng)的Transformer,具有各六個(gè)Encoder和Decoder層(即Attention is all you need這篇paper里的結(jié)構(gòu)),但是好奇的人可以去搜搜看GPT-3的待擬合參數(shù)數(shù)量是多少個(gè)。

接下來回到我們將BERT的原因,即這篇分類有機(jī)反應(yīng)的工作。對(duì)于右邊的hotmap,熟悉的人都知道這是Attention layer,其中每一個(gè)像素都對(duì)應(yīng)于一個(gè)注意力的分配對(duì)(pair),放大Attention hotmap就得到右上角,看到橫軸實(shí)際上就是當(dāng)前反應(yīng)的SMILES representation,縱軸則是不同的Attention layer。也就是說,這整個(gè)hotmap展示了一個(gè) [CLS] token對(duì)整個(gè)SMILES的注意力分配。

所以接下來的問題是,[CLS]是什么?token又是什么?

為了回答這個(gè)問題,我們有必要用幾種不同的自然語言來描述一個(gè)編程時(shí)候的常見場(chǎng)景:

fileTag = open(file = 'thisPPT.pptx', mode = 'a+', encoding = 'utf-8')line = fileTag.readline()我們使用open,打開了名為thisPPT.pptx的文件,并且把open這個(gè)函數(shù)的返回值賦給了fileTag這個(gè)變量。

按照MATLAB的描述方式,fileTag被稱為handle,在專門的MATLAB中文參考書里叫做句柄,handle的意思是把柄、把手,即每次對(duì)fileTag這個(gè)變量操作,就相當(dāng)于抓住了fileTag指向的那個(gè)文件。

按照C++的描述方式,fileTag被稱為使用open函數(shù)創(chuàng)建的一個(gè)類的對(duì)象,這個(gè)對(duì)象中一定包含一個(gè)非常重要的數(shù)據(jù)成員是open中指定的文件,其中的函數(shù)成員則包括readline()。因此對(duì)這個(gè)類對(duì)象操作,就相當(dāng)于對(duì)文件進(jìn)行操作。

在這個(gè)BERT的輸入中,[CLS]被綴在SMILES representation的一開頭,因此正如我紅色箭頭強(qiáng)調(diào)的地方,當(dāng)attention layer中數(shù)據(jù)進(jìn)行傳播的時(shí)候,這種層間的連通方式會(huì)讓所有的信息都流向[CLS]一部分,因此我們期望[CLS]包含了SMILES中足夠多的信息,這足夠多的信息當(dāng)中,我們?nèi)xamine了注意力。因此最終[CLS]對(duì)應(yīng)位置的輸出被當(dāng)作了反應(yīng)指紋(RXNFP, Reaction Fingerprint)。

上面這張圖提到了“pretrained”,是因?yàn)锽ERT的訓(xùn)練分為兩個(gè)階段,第一個(gè)階段為pre-train,訓(xùn)練BERT對(duì)general文本的理解能力,檢驗(yàn)方式是讓它做完型填空。第二個(gè)階段是特化refinement,針對(duì)研究的具體問題構(gòu)造訓(xùn)練集進(jìn)行訓(xùn)練,這些事情在所有介紹BERT的文章里都會(huì)有提及。


提出問題,設(shè)計(jì)好材料,或者規(guī)劃好基本的反應(yīng)路線之后,就可以開始做實(shí)驗(yàn)了。

首先是設(shè)計(jì)實(shí)驗(yàn)。

在2020年這篇science上,結(jié)合自然語言處理,就可以直接讓機(jī)器讀懂反應(yīng)的描述,或者他還可以自己去網(wǎng)上下載文獻(xiàn)閱讀,然后根據(jù)自己實(shí)驗(yàn)室的具體情況去設(shè)計(jì)實(shí)驗(yàn),用到什么儀器,如何操作等等。這篇文章說自己也發(fā)布了軟件用來做他們描述這個(gè)事情,仍然,talk is cheap, show me the code。

也有工作去操心開展實(shí)驗(yàn)的成本問題,他們直接爬取阿拉丁網(wǎng)站上各種藥品的售價(jià),然后在反應(yīng)網(wǎng)絡(luò)里去搜索反應(yīng)路徑,并且保證不僅能搜索到反應(yīng)路徑,還要保證實(shí)驗(yàn)室開展這項(xiàng)實(shí)驗(yàn)的成本降到最低。缺點(diǎn)就是這篇文章用了一個(gè)不是很聰明的算法(我的House老師發(fā)言:I dislike BFS/DFS or traditional decision tree-like algorithms, they are stupid. 她MS做機(jī)器學(xué)習(xí))。

前幾年最出名的一篇關(guān)于AI應(yīng)用于實(shí)驗(yàn)的工作當(dāng)屬下面這頁的Science。這篇paper也同樣收錄在了RSC 去年出版的《化學(xué)中的機(jī)器學(xué)習(xí):人工智能的影響》書中。在這篇工作里,借AI設(shè)計(jì)反應(yīng)路線,機(jī)械自動(dòng)化開展實(shí)驗(yàn),串聯(lián)了除“實(shí)驗(yàn)參數(shù)設(shè)置”外從給出目標(biāo)產(chǎn)物到得到產(chǎn)物的所有環(huán)節(jié)。在“實(shí)驗(yàn)參數(shù)設(shè)置”中,需要人來手動(dòng)完成的工作也相當(dāng)稀少——只需要在excel文件里輸入原料用量、等摩爾比、反應(yīng)管停留時(shí)間和溫度,即可在以后的實(shí)驗(yàn)中再次使用(比較類似于在色譜中建立分析方法,但操作復(fù)雜度遠(yuǎn)低于色譜)。

區(qū)別于之前這篇工作提到的自動(dòng)化實(shí)驗(yàn),這個(gè)工作平臺(tái)將反應(yīng)儀器模塊化,豐富實(shí)驗(yàn)設(shè)備接口,保留反應(yīng)模塊的可開發(fā)性。左下為一個(gè)反應(yīng)模塊的外部結(jié)構(gòu)。每個(gè)反應(yīng)模塊可以做到單獨(dú)控制溫度。

右上角為SI提供的視頻,可以看到機(jī)械臂自動(dòng)從反應(yīng)模塊存儲(chǔ)區(qū)取用反應(yīng)模塊組裝在支架上,然后連接管路,使用氣動(dòng)裝置鎖定管路,檢查密封性后開始實(shí)驗(yàn),在得到產(chǎn)物后停止實(shí)驗(yàn),清洗所有反應(yīng)模塊后將模塊歸位。

打開電腦,點(diǎn)擊鏈接,通過下飯視頻感受第四次工業(yè)革命:

所以其實(shí)到這里,已經(jīng)發(fā)現(xiàn)其實(shí)實(shí)驗(yàn)本身并不是非常需要人工智能,或者人類實(shí)驗(yàn)者依靠大腦來處理什么事情,但也有例外。在考慮例外情況之前,所有這篇工作的細(xì)節(jié)都在這里給出。

中下圖是流程中唯一需要人類實(shí)驗(yàn)員手動(dòng)配置的部分,在下一個(gè)介紹的工作中我們將看到這部分也將被智能化。

最下面展示了具體需要填寫并提交給計(jì)算機(jī)的參數(shù),可以發(fā)現(xiàn)界面非常用戶友好。

這里還是需要再強(qiáng)調(diào)一遍在人工智能或者傳統(tǒng)計(jì)算機(jī)科學(xué)與技術(shù)領(lǐng)域的名言:talk is cheap, show me the code,這個(gè)工作的軟件搭建平臺(tái)、逆合成以及實(shí)驗(yàn)參數(shù)設(shè)置的文檔解析腳本全部都放在文章的SI部分。

其實(shí)每個(gè)步驟的自動(dòng)化不是問題(或者說可能在自動(dòng)化上是non-trivial問題,但是對(duì)于科學(xué)研究的應(yīng)用層面和用戶期望需求來說是trivial),有移動(dòng)能力的機(jī)械臂處理多個(gè)步驟也不是問題,集成各實(shí)驗(yàn)步驟在粗略思考的時(shí)候也并不困難,但是對(duì)于做實(shí)驗(yàn)來說,最難的還是如何在發(fā)現(xiàn)一個(gè)反應(yīng)之后盡可能快地得到最優(yōu)條件。

不管是左邊展示的動(dòng)圖里面自動(dòng)化做實(shí)驗(yàn)優(yōu)化光催化劑,自己探索最優(yōu)反應(yīng)條件,還是右邊這個(gè)工作直接把機(jī)器做實(shí)驗(yàn)和人做實(shí)驗(yàn)優(yōu)化反應(yīng)條件相比,機(jī)器都比人快太多太多。

左邊這個(gè)工作的作者說,盡管這個(gè)機(jī)器人,前前后后從設(shè)計(jì)到組裝花了兩年,但是因?yàn)榫哂辛己玫倪w移接口,所以把它再應(yīng)用到其他的研究,就不會(huì)消耗很多時(shí)間。

這兩個(gè)工作里都用到了貝葉斯優(yōu)化算法。

為了讓圖動(dòng)起來:https://distill.pub/2020/bayesian-optimization/
牛爺爺問為什么圖圖不動(dòng):https://www.jgoertler.com/visual-exploration-gaussian-processes/
推薦閱讀:

(致數(shù)學(xué)不好的化學(xué)/材料學(xué)生:在你仍然充實(shí)的生活中自我陶醉的時(shí)候,你看不到自己已經(jīng)比別人落后了多少,而你又覺得這些東西你沒必要學(xué),那你說沒必要,那就沒必要。)

但是到這里我想很多人都已經(jīng)明白了某些事情,處理實(shí)驗(yàn)時(shí)候的大腦用量遠(yuǎn)小于設(shè)計(jì)實(shí)驗(yàn)或者更前面的,實(shí)驗(yàn)思路設(shè)計(jì)環(huán)節(jié)。AI或者自動(dòng)化在當(dāng)前并不取代人,而是讓人更多地去做更應(yīng)該做的事情。確實(shí)在調(diào)研這個(gè)話題的一開始,發(fā)現(xiàn)大部分工作都是在進(jìn)行計(jì)算機(jī)模擬,少部分在研究如何在實(shí)驗(yàn)中應(yīng)用,現(xiàn)在發(fā)現(xiàn)似乎對(duì)于實(shí)驗(yàn),的確沒有很多智能化的空間。


做完實(shí)驗(yàn),對(duì)于做材料的來說就需要很多大型儀器的表征,比如電鏡。這三個(gè)工作全都是用CNN做的,也就是說他們都用CNN在一定程度上提高了電鏡識(shí)別,或者說幫助人識(shí)別材料的某些能力,比如判斷納米粒子顆粒的朝向,或者二氧化硅納米陣列倒伏的掃描,或者最右邊這個(gè)CNN在具體應(yīng)用領(lǐng)域的模范工作,從電子背散射直接做出來空間分辨的晶相鑒別,相當(dāng)于是晶相的mapping,而且最大的優(yōu)點(diǎn)是速度快。

說到這里,其實(shí)不管是神經(jīng)網(wǎng)絡(luò)還是別的人工智能算法,或者哪怕不是人工智能,是另一種傳統(tǒng)學(xué)科看起來天外來客,被某些人排斥的東西,如果不能盡可能明白原理,或者可解釋性很差、難以得到更多的insight,其實(shí)新的技術(shù)基本只會(huì)是一時(shí)的熱點(diǎn)。

之所以說右邊的工作模范,或者典范,是因?yàn)檎故玖薈NN良好的可解釋性,對(duì)于學(xué)習(xí)得到的卷積核,作用于電子背散射圖像的時(shí)候,就可以看到卷積核把圖像變換成了什么樣子,或者說神經(jīng)網(wǎng)絡(luò)更加注意整張圖片的哪個(gè)部分,結(jié)果發(fā)現(xiàn)對(duì)于Ni和Al來說,CNN更注意的部分是(1-12)晶面,其次是(112)晶面。

最后在更小和更大的研究尺度:

溶劑化電子不僅在實(shí)驗(yàn)上難以觀察到,在模擬中也很難捕捉??紤]到DFT的純泛函通常過度離域化電子,帶來能帶消失、極化子(polaron)難以模擬等眾多和實(shí)際實(shí)驗(yàn)或事實(shí)偏離的情況,即使使用常見的Hubbard model(DFT+U),也只是非常粗糙的權(quán)宜之計(jì),至今也已經(jīng)有大量的工作指出單純的Hubbard model不合理,使得原子反而束縛在高能態(tài),同樣大量的工作給出了解決方案,最簡(jiǎn)單的從U ramping method(CP2K_INPUT / FORCE_EVAL / SUBSYS / KIND / DFT_PLUS_U)到復(fù)雜的occupation matrix mixing,但缺乏普適性和適用性。比DFT+U更好一點(diǎn)的解決方案是Hybrid functional,然而,即使使用雜化泛函,即在泛函中考慮Hartree-Fock exchange或雙雜化(考慮exchange-correlation),也并沒有用(關(guān)于這部分說法的參考文獻(xiàn)大多在討論UO2,所以大家可以自行搜索)。

因此后HF方法諸如MP2、CI、CC等,成為了高精度計(jì)算的常用方法。然而高精度的代價(jià)就是高計(jì)算成本。就CI來說,考慮為各假想“激發(fā)態(tài)”的線性組合,但由于激發(fā)態(tài)花樣眾多,體現(xiàn)在能量上時(shí),隨著CI考慮的激發(fā)態(tài)從單激發(fā)到雙重激發(fā)到三激發(fā)等等,能量的收斂呈現(xiàn)長(zhǎng)拖尾、難收斂的情況,因此后HF方法的計(jì)算往往只適用于原子較少的系統(tǒng)。

但是使用MP2的零散數(shù)據(jù)點(diǎn),通過采樣構(gòu)型計(jì)算能量與能量一階導(dǎo)數(shù)——力,使用機(jī)器學(xué)習(xí)方法,就可以生成一套MP2精度的力場(chǎng)參數(shù),使用這種力場(chǎng),結(jié)合路徑積分技術(shù)考慮核量子效應(yīng),就可以實(shí)現(xiàn)較長(zhǎng)時(shí)間尺度的高精度動(dòng)力學(xué)模擬,在高精度考察電子性質(zhì)。

同樣,在研究反應(yīng)的工作中,最理想的方式是在系統(tǒng)所在空間周邊盡可能多地采樣。燃燒反應(yīng)因?yàn)榫唧w設(shè)計(jì)基元反應(yīng)數(shù)量巨大,難以被充分和合理在高精度研究。雖然反應(yīng)力場(chǎng)ReaxFF提供了一種處理含有反應(yīng)的體系的解決方案,但是對(duì)于精度需求較高的系統(tǒng)仍然難以勝任。使用MN15計(jì)算能量和能量的一階導(dǎo)數(shù),在使用ReaxFF進(jìn)行構(gòu)型預(yù)采樣之后將所有的結(jié)構(gòu)對(duì)應(yīng)力與能量作為訓(xùn)練集,訓(xùn)練出經(jīng)驗(yàn)力場(chǎng),之后在經(jīng)驗(yàn)力場(chǎng)中尋找仍然未高精度計(jì)算過且出現(xiàn)頻率較高的構(gòu)型,之后再次高精度計(jì)算,最后進(jìn)行長(zhǎng)時(shí)間的動(dòng)力學(xué)采樣,窮盡大部分的基元反應(yīng)。

(這里要感謝二位在本站對(duì)自己工作的介紹 @蘭一 @曾晉哲 ,出彩且有趣的工作)

這張其實(shí)我還沒想好說點(diǎn)啥...
《粉碎AI統(tǒng)治》
雖然已經(jīng)到了Summary,但是其實(shí)還有一個(gè)點(diǎn)我放在這里要說。對(duì)于isolated molecule,SMILES的分子表示方法已經(jīng)用得很廣泛,跟做有機(jī)方向的同學(xué)一說SMILES也都會(huì)知道是什么,但是對(duì)于材料來說,尤其要考慮表面的時(shí)候,如何將表面的結(jié)構(gòu)進(jìn)行編碼,或者說representation/descriptor,其實(shí)困難得多??v然我們可以嘗試使用前面PRL的晶體圖卷積網(wǎng)絡(luò)編碼,但是因?yàn)楸砻嬷貥?gòu)等等這些影響,周期性、連接關(guān)系都會(huì)帶來相當(dāng)繁瑣的描述語句。另一個(gè)思路是在頭一次提到CNN時(shí)候更多的例子里頭一個(gè),他們直接用unrelaxed cell來處理,但是對(duì)于負(fù)載型催化劑,這種方法的普適性還是要仔細(xì)考慮考慮。

就我日常想起來了會(huì)做的模擬來說,先有的報(bào)道方案可能最適合我的還是Neural network potential。


任何人最不想看到的事情,是AI被舉著科研行業(yè)革新大旗的人引入,被一部分人抵抗,被另一部分人用來灌水,因此被人說“不過是除了用來灌水之外毫無用處”。

先故意褻瀆再批判,這不就是最常見的稻草人思維?

關(guān)鍵詞:化學(xué),基礎(chǔ),研究

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉