岳溪朝馮燕劉健于燁泳席慷杰錢權(quán)
(1.上海大學(xué)計算機(jī)工程與科學(xué)學(xué)院,上海200444;2.國家超級計算無錫中心,江蘇無錫214072;3.上海大學(xué)材料基因組工程研究院材料信息與數(shù)據(jù)科學(xué)中心,上海200444;4.之江實驗室,浙江杭州311100)
材料基因組工程融合了高通量計算、高通量實驗和材料數(shù)據(jù)庫,旨在實現(xiàn)材料研發(fā)的“時間減半和成本減半”,而基于材料數(shù)據(jù)庫的數(shù)據(jù)驅(qū)動新材料研發(fā)被認(rèn)為是材料研發(fā)的第四范式[1].然而,材料數(shù)據(jù)種類多(實驗、計算、生產(chǎn)、文獻(xiàn)數(shù)據(jù)等)、表現(xiàn)形式多樣(文本格式、圖像格式、視頻格式等),因此如何規(guī)范化存儲材料數(shù)據(jù)是相關(guān)研究的首要問題.在材料數(shù)據(jù)標(biāo)準(zhǔn)化方面,國際化標(biāo)準(zhǔn)組織最早曾發(fā)布了產(chǎn)品模型數(shù)據(jù)交互規(guī)范(standard for the exchange of product model data,STEP)[2],通過編寫材料數(shù)據(jù)手冊的方式實現(xiàn)存儲、查詢數(shù)據(jù).在關(guān)系數(shù)據(jù)庫出現(xiàn)后,材料科學(xué)研究人員更傾向于將材料數(shù)據(jù)存儲在關(guān)系數(shù)據(jù)庫中.隨著數(shù)據(jù)庫技術(shù)的發(fā)展,材料領(lǐng)域出現(xiàn)了一大批材料數(shù)據(jù)庫[3],一些較為知名的材料數(shù)據(jù)庫如表1所示.此外,研究人員使用本體、知識圖譜等技術(shù)來增強(qiáng)材料數(shù)據(jù)語義性,進(jìn)一步擴(kuò)展了材料數(shù)據(jù)庫的使用范圍,其中MatOWL[4]較為著名.
表1 一些知名材料數(shù)據(jù)庫Table 1 Some well-known materials databases
計算材料學(xué)從微觀、介觀到宏觀等不同尺度進(jìn)行材料微結(jié)構(gòu)模擬及性能計算,但通常計算量大、應(yīng)用范圍受限.近年來,隨著機(jī)器學(xué)習(xí)和人工智能的迅速發(fā)展,越來越多的傳統(tǒng)學(xué)科開始使用機(jī)器學(xué)習(xí)方法進(jìn)行研究.在材料學(xué)領(lǐng)域,使用機(jī)器學(xué)習(xí)方法,從數(shù)據(jù)出發(fā),運用數(shù)據(jù)內(nèi)部蘊含的統(tǒng)計規(guī)律建立模型,可以為材料學(xué)研究提供有價值的指導(dǎo).然而,材料數(shù)據(jù)非常寶貴,尤其是敏感的工藝參數(shù),因此需要研究如何在保護(hù)數(shù)據(jù)隱私的情況下進(jìn)行機(jī)器學(xué)習(xí).
此外,由于材料領(lǐng)域知識貫穿于數(shù)據(jù)驅(qū)動的新材料研發(fā)的各個環(huán)節(jié),采用知識圖譜的知識庫進(jìn)行異構(gòu)材料數(shù)據(jù)的集成與導(dǎo)航,以實現(xiàn)數(shù)據(jù)與知識雙驅(qū)動的材料研究,將進(jìn)一步提高新材料的研發(fā)效率.因此,材料基因工程專用數(shù)據(jù)庫平臺將有助于提高材料數(shù)據(jù)質(zhì)量,簡化機(jī)器學(xué)習(xí)模型的部署和使用,并通過機(jī)器學(xué)習(xí)方法及材料知識圖譜,使機(jī)器學(xué)習(xí)在材料科學(xué)研究領(lǐng)域得到更好的應(yīng)用.
材料基因?qū)S脭?shù)據(jù)庫體系結(jié)構(gòu)如圖1所示,包括數(shù)據(jù)層、融合層、管理層、學(xué)習(xí)層和知識層這5個層次,反映了材料基因工程從材料數(shù)據(jù)→材料信息→材料知識這一基本認(rèn)識規(guī)律.圖1中,LIMS(laboratory information management system)代表實驗室信息管理系統(tǒng),ETL(extract transform load)代表數(shù)據(jù)抽取、轉(zhuǎn)換和加載,XML(extensible markup language,XML)代表可擴(kuò)展標(biāo)記語言,XSD(XML schema definition)代表XML模式定義,SPARK是一款分布式計算框架,REST(representational state transfer)代表表述性狀態(tài)轉(zhuǎn)移.
圖1 材料基因組工程專用數(shù)據(jù)庫層級架構(gòu)Fig.1 Hierarchical architecture of database for material genome engineering
數(shù)據(jù)層:對于材料實驗、計算、生產(chǎn)和海量文獻(xiàn)等多源數(shù)據(jù),在標(biāo)準(zhǔn)統(tǒng)一的協(xié)議下進(jìn)行數(shù)據(jù)的采集、規(guī)范化與網(wǎng)絡(luò)傳輸.
融合層:在數(shù)據(jù)采集的基礎(chǔ)上,結(jié)合材料數(shù)據(jù)語義進(jìn)行多源、異構(gòu)材料數(shù)據(jù)的集成與融合.
管理層:采用關(guān)系型和無模式NoSQL混合存儲、分布式內(nèi)存計算等大數(shù)據(jù)處理技術(shù),實現(xiàn)專用數(shù)據(jù)庫的數(shù)據(jù)存儲與開放共享,并在超算平臺上實現(xiàn)系統(tǒng)部署和運行.
學(xué)習(xí)層:采用特征篩選、機(jī)器學(xué)習(xí)等方法實現(xiàn)數(shù)據(jù)驅(qū)動,以及基于知識圖譜采用知識推理技術(shù),發(fā)現(xiàn)知識驅(qū)動的材料“組分-工藝-結(jié)構(gòu)-性能”間的內(nèi)稟關(guān)系,優(yōu)化材料設(shè)計、加工工藝與提升材料性能.
知識層:通過數(shù)據(jù)與知識之間的傳遞與反饋,實現(xiàn)對機(jī)器學(xué)習(xí)結(jié)果的語義表達(dá)與知識管理,并通過構(gòu)建知識圖譜實現(xiàn)數(shù)據(jù)與知識的可視化展示.
最后,結(jié)合高性能鋁基復(fù)合材料、熱障陶瓷涂層、非調(diào)質(zhì)特殊鋼3類材料進(jìn)行示范應(yīng)用和推廣.
接下來,將就專用數(shù)據(jù)庫平臺中幾個關(guān)鍵部分,如材料數(shù)據(jù)的規(guī)范化、面向材料數(shù)據(jù)的機(jī)器學(xué)習(xí)以及模型跨域部署、保護(hù)材料數(shù)據(jù)隱私下的機(jī)器學(xué)習(xí)等方面進(jìn)行重點介紹.
材料數(shù)據(jù)具有來源眾多、類型繁雜、列多變、高維稀疏、關(guān)系復(fù)雜等特點,材料數(shù)據(jù)若要滿足可發(fā)現(xiàn)(findability)、可訪問(accessibility)、可互操作(interoperability)、可重用(reusability)原則[6],規(guī)范化處理是前提和基礎(chǔ).本工作提出的材料數(shù)據(jù)規(guī)范設(shè)計方案以層次化設(shè)計思想為基礎(chǔ),將復(fù)雜數(shù)據(jù)規(guī)范分成多個不同層級,從最簡單的結(jié)構(gòu)開始,首先為每一層級制定子規(guī)范,然后逐步組合子規(guī)范,最后得到完整數(shù)據(jù)規(guī)范.
就具體實現(xiàn)技術(shù)而言,將材料數(shù)據(jù)以XML[7]格式進(jìn)行存儲.針對復(fù)雜的材料實驗或者計算數(shù)據(jù),首先使用巴科斯范式(Backus-Naur form,BNF)這一上下文無關(guān)文法的形式化標(biāo)記方法,來設(shè)計層次化的數(shù)據(jù)規(guī)范方案.在此基礎(chǔ)上,使用XSD[8]實現(xiàn)巴科斯范式,具體過程如圖2所示.包含XSD格式的數(shù)據(jù)規(guī)范可保證數(shù)據(jù)結(jié)構(gòu)的完整性及數(shù)據(jù)類型的準(zhǔn)確性.此外,借助可擴(kuò)展樣式語言(extensible stylesheet language,XSL)[9]實現(xiàn)數(shù)據(jù)的定制化展示和定制化下載,便于數(shù)據(jù)的頁面展示和導(dǎo)出,實現(xiàn)與機(jī)器學(xué)習(xí)模塊的無縫銜接.基于XSD/XSL的材料數(shù)據(jù)規(guī)范化具有規(guī)范性、語義性,便于數(shù)據(jù)擴(kuò)展和數(shù)據(jù)共享,可為簡單數(shù)據(jù)、表格型數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)等多種多源異構(gòu)數(shù)據(jù)提供規(guī)范化表示.
圖2 材料數(shù)據(jù)規(guī)范化處理流程Fig.2 Processing flowchart of materials data standardization
材料數(shù)據(jù)由于其本身的特異性,使得機(jī)器學(xué)習(xí)的挑戰(zhàn)主要體現(xiàn)在以下方面:小樣本(樣品少或樣品的實驗結(jié)果分散性大,遵循某種分布的樣本少)、數(shù)據(jù)的維度高(相比于樣本量,樣本的維度高,數(shù)據(jù)呈現(xiàn)高稀疏性)、數(shù)據(jù)含噪聲(制備或者表征中引入的誤差)、多模態(tài)融合(如材料微結(jié)構(gòu)的圖像表示,以及工藝數(shù)據(jù)的自然語言刻畫)等.目前圍繞材料數(shù)據(jù)已經(jīng)開展了很多相關(guān)的機(jī)器學(xué)習(xí)研究[10].
更為重要的是,利用寶貴的材料數(shù)據(jù)建立的機(jī)器學(xué)習(xí)模型如何在不同組織間跨域部署以及快速應(yīng)用是一個難點.不同組織內(nèi)由于面對的材料體系不同,因此需要對快速部署的機(jī)器學(xué)習(xí)模型進(jìn)行遷移,為新的目標(biāo)領(lǐng)域提供模型支撐.機(jī)器學(xué)習(xí)模型的跨域部署過程如圖3所示,首先通過導(dǎo)出工具將訓(xùn)練好的機(jī)器學(xué)習(xí)模型導(dǎo)出為統(tǒng)一的中間表示,然后部署到可以解析并執(zhí)行該中間表示的運行環(huán)境,即可完成模型遷移和部署.圖3中,PMML(predictive model markup language)代表預(yù)言模型標(biāo)記語言,ONNX(open neural network exchange)代表開放神經(jīng)網(wǎng)絡(luò)交換,BIN(binary)代表二進(jìn)制文件.
圖3 機(jī)器學(xué)習(xí)模型跨域部署流程Fig.3 Flowchart of cross-domain deployment of machine learning model
1.2.1 機(jī)器學(xué)習(xí)模型調(diào)度與運行
為了兼容ONNX[11]、PMML[12]等多種機(jī)器學(xué)習(xí)模型導(dǎo)出格式,數(shù)據(jù)庫平臺根據(jù)所上傳模型的格式創(chuàng)建不同的機(jī)器學(xué)習(xí)模型運行環(huán)境,并將輸入數(shù)據(jù)轉(zhuǎn)換為運行環(huán)境所需格式,最終將不同環(huán)境得到的計算結(jié)果進(jìn)行輸出.如圖4所示,為避免過多的機(jī)器學(xué)習(xí)任務(wù)并發(fā)執(zhí)行而產(chǎn)生線程的頻繁創(chuàng)建、銷毀及切換,防止內(nèi)存不足導(dǎo)致運行錯誤,數(shù)據(jù)庫平臺采用任務(wù)隊列及線程池技術(shù),確保正在執(zhí)行的機(jī)器學(xué)習(xí)任務(wù)數(shù)與當(dāng)前硬件環(huán)境相匹配.機(jī)器學(xué)習(xí)模型僅在使用時被加載進(jìn)內(nèi)存,執(zhí)行結(jié)束后,自動地對模型進(jìn)行垃圾回收,直到下次使用時才會重新加載.
圖4 機(jī)器學(xué)習(xí)任務(wù)在數(shù)據(jù)庫平臺上的調(diào)度流程Fig.4 Scheduling process of machine learning tasks on the database platform
1.2.2 機(jī)器學(xué)習(xí)模型版權(quán)保護(hù)
經(jīng)數(shù)據(jù)訓(xùn)練后的機(jī)器學(xué)習(xí)模型是寶貴的資產(chǎn),數(shù)據(jù)庫平臺采用區(qū)塊鏈技術(shù)對機(jī)器學(xué)習(xí)模型版權(quán)進(jìn)行保護(hù)[13].區(qū)塊鏈通過分布式記錄來確保版權(quán)的所有人信息不會被輕易篡改,從而達(dá)到版權(quán)保護(hù)的目的.考慮到版權(quán)保護(hù)主要涉及版權(quán)所有人以及版權(quán)交易信息,因此區(qū)塊鏈中會以版權(quán)所有人的變更信息來記錄交易情況,用戶可以追溯任何一條版權(quán)交易的記錄,用來維護(hù)自身權(quán)益.同時,數(shù)據(jù)庫平臺設(shè)計了一種組合競拍算法,提供適合多個版權(quán)的組合拍賣服務(wù).該算法可以通過不同用戶的出價,自動計算出最優(yōu)于賣家的出價組合進(jìn)行拍賣.
機(jī)器學(xué)習(xí)模型跨域部署模塊的主要運行界面如圖5所示,圖中SVR(support vector regression)代表支持向量回歸.用戶可上傳、搜索、使用、評估機(jī)器學(xué)習(xí)模型,模型擁有者可以自行選擇是否通過區(qū)塊鏈對已上傳的模型進(jìn)行版權(quán)保護(hù).對于已上傳區(qū)塊鏈的模型,系統(tǒng)會為其生成一個ID,用于交易、拍賣或者驗證版權(quán)所有人信息等.
圖5 機(jī)器學(xué)習(xí)模型跨域部署運行界面Fig.5 Running interface of machine learning model cross-domain deployment
材料數(shù)據(jù)在很多情況下是“小數(shù)據(jù)”,很難訓(xùn)練出泛化能力出眾的模型.解決小樣本問題可以通過數(shù)據(jù)增強(qiáng)來擴(kuò)充數(shù)據(jù)集,但是增強(qiáng)的數(shù)據(jù)會與實際數(shù)據(jù)存在差異.除此之外,由于材料數(shù)據(jù)需要花費大量的人力和物力,使得很多研究機(jī)構(gòu)不愿共享數(shù)據(jù).而聯(lián)邦學(xué)習(xí)[14]可以解決該問題,即在不泄露參與方數(shù)據(jù)的情況下,又能讓多個參與方一起協(xié)同訓(xùn)練出一個共享模型.
根據(jù)數(shù)據(jù)的分布特征不同,聯(lián)邦學(xué)習(xí)分為橫向聯(lián)邦學(xué)習(xí)、縱向聯(lián)邦學(xué)習(xí)和聯(lián)邦遷移學(xué)習(xí)(見圖6).以用戶2為例,橫向聯(lián)邦學(xué)習(xí)適用于數(shù)據(jù)集中共享相同的特征空間,但樣本不同的場景;縱向聯(lián)邦學(xué)習(xí)適用于數(shù)據(jù)集共享相同的樣本ID空間,但特征空間不同的場景;聯(lián)邦遷移學(xué)習(xí)適用于數(shù)據(jù)集不僅樣本不同,而且特征空間也不同的場景.
圖6 不同聯(lián)邦學(xué)習(xí)下的數(shù)據(jù)分布Fig.6 Data distribution under different federated learning
在聯(lián)邦學(xué)習(xí)中,主要包括3種隱私保護(hù)策略:差分隱私、同態(tài)加密和安全多方計算.差分隱私可對聯(lián)邦學(xué)習(xí)訓(xùn)練過程中的數(shù)據(jù)進(jìn)行擾動;同態(tài)加密可對聯(lián)邦學(xué)習(xí)訓(xùn)練過程中的數(shù)據(jù)進(jìn)行加密,使學(xué)習(xí)過程基于密文進(jìn)行;安全多方計算可對聯(lián)邦學(xué)習(xí)的整個訓(xùn)練過程進(jìn)行保護(hù).
(1)差分隱私是Dwork等[15]在2006年首次提出的一種隱私定義.差分隱私可以使函數(shù)的輸出結(jié)果對數(shù)據(jù)集中的任何特定記錄都不敏感,因此能被用于抵抗成員推理攻擊.(ε,δ)-差分隱私的定義如下.
定義1對于只有一個記錄不同的兩個數(shù)據(jù)集D和D′,隨機(jī)化機(jī)制M可保護(hù)(ε,δ)-差分隱私,并且對于所有的S?Range(M),有
式中:ε表示隱私預(yù)算;δ表示失敗概率.
在機(jī)器學(xué)習(xí)中,差分隱私添加噪聲的機(jī)制主要包括拉普拉斯機(jī)制、指數(shù)機(jī)制和高斯機(jī)制.差分隱私根據(jù)噪聲擾動的使用方式和位置,可以對輸入、目標(biāo)函數(shù)、算法以及輸出添加擾動.
(2)同態(tài)加密由Rivest等[16]在1978年提出,是一種不需要對密文進(jìn)行解密的密文計算方式.目前的同態(tài)加密方法主要分為3類:部分同態(tài)加密、些許同態(tài)加密和全同態(tài)加密.同態(tài)加密方法由一個四元組組成,
式中:KeyGen表示密鑰生成函數(shù),可以根據(jù)密鑰生成元g生成密鑰對{pk,sk}=KeyGen(g);Enc表示加密函數(shù);Dec表示解密函數(shù).
在機(jī)器學(xué)習(xí)中,同態(tài)加密通常用于避免梯度下降過程中的數(shù)據(jù)泄露,對梯度或權(quán)重進(jìn)行加密,然后將加密后的梯度或權(quán)重發(fā)送給各參與方進(jìn)行解密和模型更新.
(3)安全多方計算[17]要求每個參與方{P1,P2,···,PN}在保護(hù)個人隱私的前提下共同計算一個函數(shù)f,這一過程中既要保證輸出結(jié)果的正確性,也要保證輸入、輸出信息的隱私性.具體定義為
每個參與者Pi在保護(hù)自身xi隱私的同時得到正確的Yi.
安全多方計算通常使用3種不同框架來實現(xiàn),包括不經(jīng)意傳輸、秘密共享和閾值同態(tài)加密,其中秘密共享是安全多方計算的核心.在機(jī)器學(xué)習(xí)中,安全多方計算的關(guān)鍵點是在沒有可信第三方的條件下,參與訓(xùn)練各方安全地計算一個共同的約束函數(shù).以秘密分享技術(shù)以及多層感知機(jī)對日本國立材料科學(xué)研究所(National Institute for Materials Science,NIMS)鋼數(shù)據(jù)集[18]中材料硬度的預(yù)測為例,在數(shù)據(jù)集上模擬的秘密共享客戶端斷線的情況下,材料硬度的預(yù)測值和測量值的對比如圖7所示.從實驗結(jié)果可以看出,基于安全多方計算的隱私保護(hù)策略可以在保護(hù)數(shù)據(jù)隱私的情況下,使模型預(yù)測精度維持在較高的水平.
圖7 NIMS鋼數(shù)據(jù)集不同比例客戶端掉線情況下預(yù)測準(zhǔn)確率對比Fig.7 Comparisons of prediction accuracy on NIMS steel dataset with different proportions of client dropout
材料領(lǐng)域知識貫穿于數(shù)據(jù)驅(qū)動新材料研發(fā)的各個環(huán)節(jié),傳統(tǒng)的知識表示有基于規(guī)則、基于框架等方法[19-20],目前較常用的是基于知識圖譜的方法.基于知識圖譜的知識庫一方面可以實現(xiàn)異構(gòu)材料數(shù)據(jù)的集成與導(dǎo)航,另一方面可以基于知識圖譜中的領(lǐng)域知識豐富機(jī)器學(xué)習(xí)模型,實現(xiàn)數(shù)據(jù)與知識雙驅(qū)動的材料領(lǐng)域研究[21].
針對多源異構(gòu)的材料數(shù)據(jù),可以利用網(wǎng)絡(luò)本體語言(web ontology language,OWL)[22]進(jìn)行集成.本體包含了對某一領(lǐng)域中概念和性質(zhì)的描述,通過概念之間的關(guān)系來實現(xiàn)對數(shù)據(jù)實體的限定和規(guī)范,進(jìn)而將對數(shù)據(jù)的操作轉(zhuǎn)換成對概念的操作,從而擴(kuò)大了對多源異構(gòu)數(shù)據(jù)的兼容性.因此,通過構(gòu)建OWL可以將概念與概念、概念與數(shù)據(jù)以及數(shù)據(jù)與數(shù)據(jù)之間連接起來,并通過圖數(shù)據(jù)庫(如Neo4j)進(jìn)行存儲,從而有效解決多源異構(gòu)數(shù)據(jù)的集成問題.
OWL主要由個體(individuals)、屬性(properties)和類(classes)組成,其中individuals表示每條具體數(shù)據(jù),properties表示數(shù)據(jù)之間的關(guān)系,而classes表示數(shù)據(jù)所屬的概念層.知識圖譜的構(gòu)建流程(以Neo4j圖數(shù)據(jù)庫作為存儲媒介)如圖8所示,圖中CSV(comma-separated values)代表字符分割值,API(application programming interface)代表應(yīng)用程序編程接口.首先,對來源于數(shù)據(jù)庫平臺的不同數(shù)據(jù)模型進(jìn)行解析,提取其中的概念和數(shù)據(jù),并根據(jù)OWL規(guī)則將概念層和數(shù)據(jù)層分別轉(zhuǎn)換成individuals、properties和classes,完成OWL文件;然后,利用OWL API對得到的OWL文件進(jìn)行解析和本體創(chuàng)建.
圖8 OWL構(gòu)建流程圖Fig.8 Flowchart of OWL construction
在Neo4j中,一個本體為一張圖,本體的起始節(jié)點是owl:things,所有的classes節(jié)點都由此進(jìn)行擴(kuò)展.以錫焊料性能數(shù)據(jù)中的基本信息表為例(見圖9),概念層僅包含從異構(gòu)數(shù)據(jù)模型中抽取的表名及字段名構(gòu)成的classes概念類節(jié)點,類與類之間主要通過父子關(guān)系進(jìn)行連接.而數(shù)據(jù)層由概念層不同類組成的實體數(shù)據(jù)及實體數(shù)據(jù)之間的關(guān)系組成,因此通過對異構(gòu)數(shù)據(jù)模型進(jìn)行本體構(gòu)建,從概念層上為數(shù)據(jù)提供了一個統(tǒng)一的操作接口,從而實現(xiàn)跨域數(shù)據(jù)的集成、查詢、導(dǎo)航等功能.對于已通過模板校驗并上傳至數(shù)據(jù)庫中的數(shù)據(jù),知識圖譜模塊使用從數(shù)據(jù)歸檔模塊導(dǎo)出的數(shù)據(jù),利用OWL進(jìn)行集成,最終形成知識圖譜.
圖9 錫焊料知識圖譜構(gòu)建示例Fig.9 An example of Tin solder knowledge graph construction
除此之外,知識圖譜的不斷發(fā)展為數(shù)據(jù)與知識的雙驅(qū)動材料研究模型提供了技術(shù)支持.知識圖譜不僅能對機(jī)器學(xué)習(xí)中的挖掘結(jié)果進(jìn)行知識表達(dá),還能結(jié)合材料領(lǐng)域的知識模型和機(jī)器學(xué)習(xí)中的數(shù)據(jù)模型進(jìn)行混合推理,從而提高模型的準(zhǔn)確性、可靠性和可解釋性[23-24].
整個數(shù)據(jù)庫平臺從功能角度可分為4大部分(見圖10),分別是數(shù)據(jù)存儲模塊、數(shù)據(jù)歸檔模塊、機(jī)器學(xué)習(xí)模型跨域部署模塊、知識圖譜模塊.各模塊之間通過RestAPI進(jìn)行通訊,不同模塊可分別部署在不同的物理機(jī)上.
圖10 材料基因工程數(shù)據(jù)庫平臺系統(tǒng)結(jié)構(gòu)Fig.10 System architecture of materials genome engineering database platform
(1)數(shù)據(jù)混合存儲系統(tǒng).材料數(shù)據(jù)存在多源異構(gòu)等特性,本數(shù)據(jù)庫平臺采用關(guān)系型和非關(guān)系型相結(jié)合的混合存儲模式,通過數(shù)據(jù)庫適配器將不同類型的數(shù)據(jù)存入對應(yīng)的數(shù)據(jù)庫中.具體而言,使用PostgreSQL數(shù)據(jù)庫存儲用戶、權(quán)限管理、元數(shù)據(jù)等關(guān)系型數(shù)據(jù);使用MongoDB數(shù)據(jù)庫存儲圖片、視頻等非結(jié)構(gòu)化數(shù)據(jù);使用Redis數(shù)據(jù)庫存儲會話及用戶狀態(tài)等數(shù)據(jù);使用Neo4j存儲由知識圖譜模塊處理得到的圖結(jié)構(gòu)數(shù)據(jù).所有數(shù)據(jù)庫中的數(shù)據(jù)經(jīng)數(shù)據(jù)聚合器處理后存入ElasticSearch,以提供高效的全文檢索.
(2)數(shù)據(jù)歸檔模塊.材料數(shù)據(jù)來源于多種錄入方式,數(shù)據(jù)歸檔模塊中的數(shù)據(jù)導(dǎo)入器可支持手工導(dǎo)入、批量上傳、自動采集等多種錄入方式.為避免錄入方式多樣帶來的數(shù)據(jù)格式不規(guī)范問題,所有錄入的數(shù)據(jù)需經(jīng)過模板進(jìn)行校驗,校驗通過則存入數(shù)據(jù)庫中,否則返回報錯信息.模板通過XSD文件進(jìn)行定義,但手工編輯XSD文件具有較高門檻且容易出錯.為方便用戶創(chuàng)建模板,數(shù)據(jù)管理模塊提供了模板設(shè)計器,以可視化的方式創(chuàng)建模板.數(shù)據(jù)導(dǎo)出器可根據(jù)用戶自定義的XSL文件將已存入數(shù)據(jù)庫的XML文件轉(zhuǎn)換為HTML進(jìn)行展示,或轉(zhuǎn)換為CSV文件用于機(jī)器學(xué)習(xí)和知識圖譜的構(gòu)建.
(3)機(jī)器學(xué)習(xí)跨域部署模塊提供機(jī)器學(xué)習(xí)模型的上傳、評估、使用等功能.模型運行環(huán)境負(fù)責(zé)優(yōu)化并運行已上傳至數(shù)據(jù)庫平臺的模型;模型管理器負(fù)責(zé)模型格式正確性校驗以及對模型運行環(huán)境的控制.用戶上傳模型至數(shù)據(jù)庫平臺后,無需配置相關(guān)運行環(huán)境即可使用該模型,且用戶可直接使用從數(shù)據(jù)歸檔模塊中導(dǎo)出的數(shù)據(jù)來評估該模型在特定數(shù)據(jù)集上的性能,或?qū)μ囟〝?shù)據(jù)集進(jìn)行建模和預(yù)測以輔助材料領(lǐng)域研究.
(4)知識圖譜模塊通過數(shù)據(jù)歸檔模塊獲取數(shù)據(jù),并轉(zhuǎn)換為OWL后存儲至數(shù)據(jù)混合存儲系統(tǒng)中,提供實體關(guān)系查詢以及知識圖譜可視化展示功能.
材料基因?qū)S脭?shù)據(jù)庫已在無錫超算中心集群中部署,由9臺服務(wù)器經(jīng)虛擬化后組成云服務(wù)器構(gòu)成硬件環(huán)境,其中5臺服務(wù)器擁有4核心8 GB內(nèi)存,3臺服務(wù)器擁有16核心32 GB內(nèi)存,1臺服務(wù)器擁有48核心128 GB內(nèi)存.所有虛擬機(jī)裝有CentOS7操作系統(tǒng),并位于同一網(wǎng)段中.外網(wǎng)訪問集群需要通過虛擬專用網(wǎng)(virtual private network,VPN).連接VPN后,客戶機(jī)可通過加密信道與服務(wù)器進(jìn)行通訊.另外,數(shù)據(jù)庫平臺部署過程中,1臺4核心8 GB內(nèi)存的虛擬機(jī)用于部署Nginx作為負(fù)載均衡器及靜態(tài)文件服務(wù)器,另外4臺4核心8 GB內(nèi)存虛擬機(jī)用于部署PostgreSQL、MongoDB、Redis、Neo4j,其余4臺大內(nèi)存虛擬機(jī)用于部署ElasticSearch、數(shù)據(jù)管理模塊、機(jī)器學(xué)習(xí)跨域部署模塊、知識圖譜模塊.
圖11顯示使用機(jī)器學(xué)習(xí)進(jìn)行材料正向預(yù)測及逆向設(shè)計的全流程.首先,對多源、異構(gòu)的材料數(shù)據(jù)進(jìn)行規(guī)范化,并存入數(shù)據(jù)庫中;然后,使用數(shù)據(jù)庫查詢并導(dǎo)出結(jié)構(gòu)化數(shù)據(jù);接著,進(jìn)行數(shù)據(jù)預(yù)處理,實施特征工程并訓(xùn)練機(jī)器學(xué)習(xí)模型,完成正向材料性能預(yù)測;最后,若進(jìn)行逆向設(shè)計,即給定性能要求時,逆向給出工藝及成分設(shè)計參數(shù),則需對機(jī)器學(xué)習(xí)模型進(jìn)行選擇并評估后,使用單目標(biāo)或多目標(biāo)算法進(jìn)行逆向求解.
圖11 材料正向預(yù)測與材料逆向設(shè)計流程Fig.11 Process of materials forward prediction and reverse design
下面以Mn-Zn-Sn體系反鈣鈦礦化合物負(fù)膨脹材料為例,說明材料基因數(shù)據(jù)庫平臺在材料逆向設(shè)計中的應(yīng)用.該化合物的化學(xué)組成可表示為Mn3(MnxZnySnz)N,且要求x+y+z=1.逆向設(shè)計的目標(biāo)是通過設(shè)計成分配比,使得發(fā)生負(fù)膨脹時的起始溫度(T1)、結(jié)束溫度(T2)以及負(fù)膨脹系數(shù)(α)符合應(yīng)用需求.
(1)構(gòu)建數(shù)據(jù)庫.根據(jù)負(fù)膨脹材料數(shù)據(jù)的結(jié)構(gòu)構(gòu)建數(shù)據(jù)模板進(jìn)行數(shù)據(jù)規(guī)范化描述.本數(shù)據(jù)庫平臺提供可視化的模板設(shè)計工具(見圖12).模板設(shè)計器提供字符串、數(shù)字、帶單位數(shù)值、日期、文件作為基本類型,以及列表、容器、選擇、表格作為復(fù)合類型.同時,模板設(shè)計器還提供了歷史模板復(fù)用功能.在負(fù)膨脹材料數(shù)據(jù)模板中,材料成分被設(shè)計為一個由元素名稱及浮點數(shù)組成的表格,同時將起始溫度、結(jié)束溫度、負(fù)膨脹系數(shù)設(shè)計為浮點數(shù).
圖12 可視化材料數(shù)據(jù)模板設(shè)計器Fig.12 Visual template designer for materials data
(2)數(shù)據(jù)的可視化展示.用模板設(shè)計器完成模板創(chuàng)建后,數(shù)據(jù)管理模塊會生成數(shù)據(jù)錄入表單,通過表單錄入數(shù)據(jù)項后,模板校驗其合法性,只有通過校驗的數(shù)據(jù)才會以XML的形式存入數(shù)據(jù)庫中,以確保入庫數(shù)據(jù)的規(guī)范化.針對材料數(shù)據(jù)顯示的多樣性和個性化,專用數(shù)據(jù)庫平臺將數(shù)據(jù)存儲和數(shù)據(jù)展示分離,通過設(shè)計不同的XSL樣式文件,實現(xiàn)數(shù)據(jù)的個性化展示和下載.如圖13所示,存入數(shù)據(jù)庫中的XML數(shù)據(jù)可根據(jù)自定義的XSL樣式文件通過數(shù)據(jù)導(dǎo)出器轉(zhuǎn)換為HTML格式,在瀏覽器中進(jìn)行顯示;或通過XSL文件轉(zhuǎn)換得到CSV結(jié)構(gòu)化文件,用于機(jī)器學(xué)習(xí)或知識圖譜構(gòu)建.
圖13 負(fù)膨脹材料數(shù)據(jù)可定制化展示Fig.13 Customized data display of negative expansion materials
(3)機(jī)器學(xué)習(xí)模型構(gòu)建和逆向設(shè)計.為了實現(xiàn)機(jī)器學(xué)習(xí)過程自動化與智能化,本數(shù)據(jù)庫平臺采用工作流的方式將機(jī)器學(xué)習(xí)建模、模型調(diào)參、模型選擇和逆向設(shè)計集成起來,系統(tǒng)運行界面如圖14所示.目前本數(shù)據(jù)庫平臺已集成數(shù)據(jù)預(yù)處理、建模、優(yōu)化等8大類30余種算法.
圖14 負(fù)膨脹材料逆向設(shè)計工作流Fig.14 Reverse design workflow for negative expansion materials
(4)實驗驗證.從文獻(xiàn)和實驗中收集負(fù)膨脹數(shù)據(jù)131條,利用機(jī)器學(xué)習(xí)建模和多目標(biāo)優(yōu)化算法——非支配排序遺傳算法-Ⅱ(non-dominated sorting genetic algorithms-Ⅱ,NSGA-Ⅱ)進(jìn)行逆向設(shè)計,并結(jié)合實際應(yīng)用需求篩選出2組可供實驗的樣本點.依照預(yù)測的材料組分,采用真空燒結(jié)與放電等離子燒結(jié)相結(jié)合的方法,制備出2種反鈣鈦礦錳氮化物,并測試負(fù)膨脹性能,測試結(jié)果如圖15所示.模型預(yù)測結(jié)果與實驗結(jié)果對比如表2所示,可以看出總體誤差較小,平均預(yù)測精度88.25%,體現(xiàn)了數(shù)據(jù)驅(qū)動方法對于新材料研發(fā)的加速作用.
表2 負(fù)膨脹材料實驗結(jié)果與模型預(yù)測結(jié)果對比Table 2 Comparison between experimental results and model prediction results of negative expansion materials
圖15 Mn3.3Zn0.5Sn0.2N和Mn3.3Zn0.6Sn0.1N的負(fù)膨脹材料性能Fig.15 Negative expansion materials performance of Mn3.3Zn0.5Sn0.2N and Mn3.3Zn0.6Sn0.1N
材料基因?qū)S脭?shù)據(jù)庫平臺為材料數(shù)據(jù)的規(guī)范化存儲、個性化展示和使用提供了一個集成框架,不但考慮了數(shù)據(jù)和模型的版權(quán)及隱私保護(hù)問題,還提供了機(jī)器學(xué)習(xí)模型跨域部署以及基于知識圖譜的數(shù)據(jù)集成與導(dǎo)航功能.使用本系統(tǒng)對材料數(shù)據(jù)進(jìn)行管理將大大提高數(shù)據(jù)的質(zhì)量及可用性,在很大程度上解決了當(dāng)下材料數(shù)據(jù)由于不規(guī)范而帶來的數(shù)據(jù)預(yù)處理繁瑣甚至數(shù)據(jù)不可用的問題.機(jī)器學(xué)習(xí)的跨域部署降低了運行機(jī)器學(xué)習(xí)任務(wù)的難度,允許在不泄露原始材料數(shù)據(jù)的同時共享機(jī)器學(xué)習(xí)模型.而知識圖譜將為數(shù)據(jù)與知識的雙驅(qū)動材料研究模型提供技術(shù)支持.
未來進(jìn)一步的研究方向如下:①數(shù)據(jù)采集方面,如何更加便捷地轉(zhuǎn)換不同來源的材料數(shù)據(jù),尤其是文獻(xiàn)數(shù)據(jù),這對于豐富數(shù)據(jù)來源、擴(kuò)大數(shù)據(jù)規(guī)模非常重要;②數(shù)據(jù)模板方面,如何平衡模板的靈活性與簡潔性之間的矛盾,尤其是數(shù)據(jù)要方便導(dǎo)出進(jìn)行機(jī)器學(xué)習(xí)十分關(guān)鍵;③機(jī)器學(xué)習(xí)模型方面,如何面向材料數(shù)據(jù)自身特性,研發(fā)適合材料數(shù)據(jù)的機(jī)器學(xué)習(xí)算法,尤其是研發(fā)隱私保護(hù)下的機(jī)器學(xué)習(xí)算法尤為迫切;④逆向設(shè)計方面,如何將材料學(xué)領(lǐng)域知識更好地與機(jī)器學(xué)習(xí)模型相結(jié)合,達(dá)到自動化與智能化的要求.