2020年3月28日,在華為開發(fā)者大會2020(Cloud)期間,華為云發(fā)布全新AutoML工具AutoGenome用于基因組數(shù)據(jù)的建模。AutoGenome采用了超參數(shù)自動搜索、神經(jīng)網(wǎng)絡(luò)架構(gòu)自動搜索和模型自動解釋器等最新的AutoML技術(shù),并且提出了全新的更加適用于基因組數(shù)據(jù)建模的殘差全連接網(wǎng)絡(luò),在多項不同的基因組數(shù)據(jù)建模任務(wù)中,AutoGenome的準(zhǔn)確性都超出傳統(tǒng)模型5個百分點以上。
下文主要從技術(shù)角度講述AutoGenome中涉及到的黑科技,讓我們先睹為快。
1 自動機(jī)器學(xué)習(xí)技術(shù)
1.1 自動機(jī)器學(xué)習(xí)背景
盡管AI已經(jīng)應(yīng)用于各行各業(yè),并且在圖像和語音等領(lǐng)域已經(jīng)取得了讓人矚目的成績。但是構(gòu)建一個性能優(yōu)異的深度學(xué)習(xí)模型仍然需要研究者投入大量的時間和資源,并且模型的性能在很大程度上也依賴于研究者的調(diào)參經(jīng)驗。這種現(xiàn)象已經(jīng)嚴(yán)重的阻礙了AI在科研和產(chǎn)業(yè)界的廣泛應(yīng)用。
為了解決這個問題,研究人員提出了自動機(jī)器學(xué)習(xí)(AutoML)方法。AutoML目前是深度學(xué)習(xí)領(lǐng)域最為熱門的一個話題。針對特定的機(jī)器學(xué)習(xí)任務(wù),AutoML能夠端到端的完成數(shù)據(jù)處理,特征提取,模型選擇以及模型評估,節(jié)省人力和資源的消耗。在本節(jié),我們將重點介紹超參自動搜索和神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)搜索(Neural Architecture Search,NAS),其中NAS已經(jīng)成為了AutoML領(lǐng)域最為流行的一種方法,并且取得了非常好的性能。
1.2 超參自動搜索
模型的參數(shù)主要分為參數(shù)和超參數(shù),其中參數(shù)是通過模型的自身訓(xùn)練得到的,而超參數(shù)需要通過開發(fā)者自身的經(jīng)驗進(jìn)行設(shè)置,以提高模型的訓(xùn)練效果。在實際的開發(fā)過程中,訓(xùn)練的數(shù)據(jù)量通常會比較大,模型結(jié)構(gòu)復(fù)雜,計算成本也會比較高,同時每種類型的超參數(shù)都有比較多的選擇,這都會導(dǎo)致超參搜索的計算成本高昂。目前業(yè)界比較常用的超參搜索方法主要是網(wǎng)格搜索,隨機(jī)搜索和貝葉斯優(yōu)化等。
AutoGenome在構(gòu)建AI模型的時候,通過超參自動搜索的算法,能夠自動的針對給定的超參數(shù)空間,無需用戶的干涉,即可給出最優(yōu)的參數(shù)組合。
1.3 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)搜索
網(wǎng)絡(luò)結(jié)構(gòu)搜索(NAS)是AutoML搜索中關(guān)鍵的一環(huán)。NAS的核心是RNN控制器,控制器針對給定的搜索空間的候選神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)集合,從中產(chǎn)生“子網(wǎng)絡(luò)”;接下來訓(xùn)練該“子網(wǎng)絡(luò)”并評估其性能;最后逐步優(yōu)化“子網(wǎng)絡(luò)”結(jié)構(gòu),通過不斷的重復(fù)上述過程,并讓控制器進(jìn)行學(xué)習(xí)生成更好的模型結(jié)構(gòu),最終找到一個最優(yōu)的網(wǎng)絡(luò)結(jié)構(gòu)。
網(wǎng)絡(luò)結(jié)構(gòu)作為一種特殊的超參數(shù),在機(jī)器學(xué)習(xí)整個環(huán)節(jié)中扮演著舉足輕重的作用。但是傳統(tǒng)的NAS搜索可能會需要消耗比較長的時間,一種非常有效的提高搜索效率的解決方式是ENAS搜索。ENAS是一種通過子網(wǎng)絡(luò)之間參數(shù)共享的方式,實現(xiàn)高效的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)搜索的方法,ENAS相比于其他的NAS搜索算法,能夠?qū)崿F(xiàn)提速10倍以上的效果,同時達(dá)到和傳統(tǒng)NAS搜索相似的結(jié)果準(zhǔn)確度。AutoGenome采用了改進(jìn)的ENAS算法,方便用戶能夠快速的得到最優(yōu)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。
圖1 ENAS搜索過程
2 適用于基因組數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)模型-RFCN
2.1 基因組數(shù)據(jù)的特點
目前最流行的CNN網(wǎng)絡(luò)中的卷積操作能夠抽提底層次特征(例如邊緣特征),并進(jìn)而組合低層次特征形成高層次的特征,對數(shù)據(jù)進(jìn)行建模。RNN雖然在結(jié)構(gòu)上和CNN有比較大的區(qū)別,但其本質(zhì)也是通過整合序列上前后特征,來實現(xiàn)提取信息的功能。CNN和RNN非常適合從圖片數(shù)據(jù),文本數(shù)據(jù)和語音數(shù)據(jù)中提取特征。這些數(shù)據(jù)之間存在有局部相關(guān)性,即輸入的特征值和周圍的特征值存在有相關(guān)性,如果特征輸入順序打亂,則圖片或文本的意義會完全改變。
然而通過高通量測序技術(shù)對不同分子系統(tǒng)水平的組學(xué)定量,得到的數(shù)據(jù)都是非序列數(shù)據(jù),如基因突變、全基因組的基因拷貝數(shù)變異、RNA表達(dá)值、蛋白質(zhì)表達(dá)量,這些數(shù)據(jù)具有以下特征:
1.原始數(shù)據(jù)的為幾千或者幾萬個特征(如人類兩萬個基因的表達(dá)量),特征之間相互獨(dú)立;
2.特征點的數(shù)目比較多,一般和樣本的數(shù)目處在同一個數(shù)量級;
3.原始數(shù)據(jù)的特征之間沒有明顯的時間維度和空間維度相關(guān)性(例如基因之間沒有嚴(yán)格的先后關(guān)系和前后左右關(guān)系);
4.原始數(shù)據(jù)的特征之間存在層次性的相互作用網(wǎng)絡(luò)(基因調(diào)控通路/網(wǎng)絡(luò));
圖2 基因組數(shù)據(jù)結(jié)構(gòu)
同時基因組數(shù)據(jù)中存在更加復(fù)雜的,非時空關(guān)聯(lián)的,層次性的連接關(guān)系。并且存在有跨層或者跳躍的連接。針對這種非歐式空間數(shù)據(jù)的建模,前饋神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)中的每一層都只會接收上一層的信息,無法反映跨層次的調(diào)控。
2.2 殘差全連接神經(jīng)網(wǎng)絡(luò)的提出(RFCN)
由于定量組學(xué)數(shù)據(jù)的特殊性,我們提出了殘差結(jié)構(gòu)的變體-殘差全連接神經(jīng)網(wǎng)絡(luò)(residual fully-connected neural network, RFCN)。與使用卷積作為基礎(chǔ)算子的常規(guī)殘差網(wǎng)絡(luò)不同,殘差全連接神經(jīng)網(wǎng)絡(luò)使用全連接層作為連接方式,每一層既可通過全連接層與后一層進(jìn)行連接(Path 1),也可以通過跳躍連接與其他層進(jìn)行相連 (Path 2),還可以連接分支網(wǎng)絡(luò)(Path 3)。
圖3 殘差全連接神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
基于RFCN,并且參考ResNet/DenseNet的結(jié)構(gòu),我們提出RFCN的變體:RFCN-ResNet和RFCN-DenseNet。在RFCN-ResNet中, 在中間的每層,以前一層的輸出和輸入之和作為當(dāng)前層的輸入。在RFCN-DenseNet中, 在中間的每層,把前面所有層的輸出串聯(lián)起來作為當(dāng)前層的輸入。
圖4 RFCN-ResNet和RFCN-DenseNet神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
2.3 隨機(jī)連接殘差全連接網(wǎng)絡(luò)的提出
根據(jù)ResNet 和DenseNet的定義,跳躍連接的方式都是相對固定的。對于一個新數(shù)據(jù)而言,依然需要大量人工設(shè)定網(wǎng)絡(luò)結(jié)構(gòu),對算法研究者的算法能力和經(jīng)驗要求更高;并且依靠人工設(shè)定的結(jié)構(gòu)往往并不是最適合新數(shù)據(jù)的結(jié)構(gòu),解決實際問題的能力和效率是值得懷疑的。因為我們提出另一種RFCN的變體——隨機(jī)連接殘差全連接網(wǎng)絡(luò)(randomly-wired residual fully-connected neural network (RRFCN))。這種網(wǎng)絡(luò)架構(gòu)是采用了神經(jīng)網(wǎng)絡(luò)搜索技術(shù)(Neural Architecture Search, NAS),針對不同的基因組學(xué)數(shù)據(jù)任務(wù),搜索和生成最優(yōu)的殘差全連接層網(wǎng)絡(luò)結(jié)構(gòu)。通過與神經(jīng)網(wǎng)絡(luò)搜索技術(shù)的結(jié)合,生信研究者可以非常方便地搜索到適合當(dāng)前研究問題的殘差全連接網(wǎng)絡(luò)結(jié)構(gòu)。
圖5 隨機(jī)連接殘差全連接網(wǎng)絡(luò)結(jié)構(gòu)
3 AutoGenome-專為基因組數(shù)據(jù)打造的AI建??蚣?/p>
為了使生物醫(yī)療的研究工作者方便地使用上RFCN神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),我們集成了超參自動搜索,神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)搜索和自動模型解釋器的功能,開發(fā)出了AutoGenome。
3.1 AutoGenome框架設(shè)計
AutoGenome能夠幫助科研工作者在基因組學(xué)數(shù)據(jù)上實現(xiàn)端到端的深度學(xué)習(xí)網(wǎng)絡(luò)搜索,訓(xùn)練,評估,預(yù)測和解釋的工具包,其架構(gòu)如下圖所示。對于監(jiān)督學(xué)習(xí)任務(wù),用戶提供基因矩陣數(shù)據(jù)作為輸入,并且設(shè)置好參數(shù)配置Json文件,AutoGenome根據(jù)設(shè)置的搜索空間,自動搜索出最佳的RFCN-MLP、RFCN-ResNet, RFCN-DenseNet和RRFCN網(wǎng)絡(luò),并且根據(jù)最優(yōu)網(wǎng)絡(luò)可以評估模型的效果獲得混淆矩陣,并且可以通過計算SHAP值對特征重要性進(jìn)行可視化。
對于非監(jiān)督學(xué)習(xí)任務(wù), AutoGenome可以根據(jù)所輸入的數(shù)據(jù)和搜索空間的設(shè)定,選出最優(yōu)的Res-VAE網(wǎng)絡(luò),并能方便地得到潛變量矩陣和重構(gòu)矩陣。
圖6 AutoGenome建模流程圖
3.2 AutoGenome的調(diào)用方式
在使用過程中,我們對AutoGenome進(jìn)行了很好的封裝。如下圖所示。使用者確定自己的輸入數(shù)據(jù),并通過JSON文件配置自己的搜索空間等參數(shù),只需要執(zhí)行5條命令,用戶即能完成整個端到端分析。返回給用戶最優(yōu)的AI模型,以及模型分類的混淆矩陣和模型可解釋性的圖譜。
圖7 AutoGenome命令行調(diào)用方式
3.3 AutoGenome的應(yīng)用案例
在該案例中, 采用了小鼠的10000個單細(xì)胞測序數(shù)據(jù),共包含10個不同時期。AutoGenome自動將數(shù)據(jù)分為訓(xùn)練集,驗證集和測試集。自動進(jìn)行訓(xùn)練并得到最優(yōu)模型。我們測試了不同工具在獨(dú)立測試集上的準(zhǔn)確度如下圖所示。
圖8 AutoGenome在針對單細(xì)胞測序數(shù)據(jù)的AI建模性能
結(jié)果顯示AutoGenome得到的模型的性能均大幅度由于傳統(tǒng)的XGBoost和AutoKeras。說明AutoGenome用于基因組數(shù)據(jù)訓(xùn)練的模型的性能普遍優(yōu)于傳統(tǒng)的機(jī)器學(xué)習(xí)框架。
另外,AutoGenome內(nèi)置了模型可解釋性的接口,能夠自動的針對最優(yōu)AI模型進(jìn)行分析,找出關(guān)鍵的特征來對模型進(jìn)行解釋。結(jié)果顯示,針對單細(xì)胞的分類中,很多核糖體相關(guān)基因排在特征重要性的前列。同時這個結(jié)果是合理的,因為先前的很多研究均表明核糖體基因在胚胎發(fā)育和干細(xì)胞分化中發(fā)揮著重要作用。比如說Rpl35基因據(jù)報道在發(fā)育早期階段具有很重要,在逐漸發(fā)育過程中,Rpl35基因表達(dá)也隨之增加,因此在晚期E7.5階段,Rpl35基因的表達(dá)值很高,傾向于預(yù)測為該階段。
圖9 AutoGenome針對單細(xì)胞數(shù)據(jù)輸出的模型可解釋性圖譜
3.4 AutoGenome的使用
在開發(fā)過程上,AutoGenome對于AI的初學(xué)者非常友好,只需要五行代碼即可快速完成端到端的基因組數(shù)據(jù)建模、準(zhǔn)確性評估和模型解釋。同時AutoGenome已經(jīng)證明在多項任務(wù)上性能都達(dá)到了業(yè)內(nèi)最優(yōu),自動生成的模型可解釋性譜圖可以直接用于生物標(biāo)志物的發(fā)現(xiàn)或者論文初版。我們預(yù)計AutoGenome將能夠廣泛的支撐基因組領(lǐng)域的科研,藥物研發(fā),個性化診斷等領(lǐng)域。
圖10 AutoGenome特性
目前,AutoGenome已經(jīng)正式上線,用戶可在華為云ModelArts一站式AI開發(fā)管理平臺上免費(fèi)使用(https://www.huaweicloud.com/product/modelarts.html)。具體方法和步驟如下:
1.創(chuàng)建GPU Notebook開發(fā)環(huán)境
用戶可以登錄華為云ModelArts平臺,并創(chuàng)建GPU的Notebook開發(fā)環(huán)境。
圖11 ModelArts平臺創(chuàng)建Notebook開發(fā)環(huán)境
2.選擇AutoGenome案例
在打開的環(huán)境中,選擇ModelArts Examples – EIHealth Labs,在該條目下,我們已經(jīng)提供了多個AutoGenome的案例,用戶可以根據(jù)自己的項目目標(biāo)打開對應(yīng)的的案例,并點擊”use”。
圖12 在EIHealth Labs選擇對應(yīng)的參考案例
3.運(yùn)行AutoGenome
在新打開的Notebook開發(fā)環(huán)境中,用戶可以直接使用AutoGenome,復(fù)現(xiàn)測試數(shù)據(jù)的結(jié)果,或者配置自己的數(shù)據(jù)進(jìn)行AI模型訓(xùn)練。
圖13 在Notebook環(huán)境中進(jìn)行AutoGenome代碼訓(xùn)練
4 華為云醫(yī)療智能體平臺介紹
華為云EI醫(yī)療智能體(EIHealth)是華為云面向醫(yī)療行業(yè)提供的端到端的AI賦能平臺,在基因組,藥物研發(fā)和醫(yī)療影像領(lǐng)域可以極大的加速AI產(chǎn)品和服務(wù)的研發(fā)和應(yīng)用。平臺提供大量相關(guān)流程,工具鏡像等資源,科研單位和企業(yè)可以基于EIHealth平臺快速的搭建數(shù)據(jù)分析流程。
面對當(dāng)前疫情,醫(yī)療智能體聯(lián)合多家科研機(jī)構(gòu)開發(fā)一系列抗疫平臺服務(wù),包括新冠病毒自動化鑒定云平臺、大規(guī)??共《舅幬锖Y選平臺、新冠肺炎AI影像輔助診斷(https://www.huaweicloud.com/product/eihealth.html)。
圖14華為云醫(yī)療智能體平臺抗疫專題