王鵬,孫升,張慶,張統(tǒng)一
上海大學(xué) 材料基因組工程研究院,上海 200444
在美國著名作家艾薩克·阿西莫夫的“機器人系列”科幻小說(陸續(xù)發(fā)表于1954—1985年)中,“人工智能”(artificial intelligence,AI)代表著人類在數(shù)百年后才會掌握的一種尖端科技。在人工智能技術(shù)的幫助下,人類可以制造出智慧可以與人類媲美,甚至超過人類的機器人。機器人的誕生,讓人類從簡單重復(fù)的勞動中解脫出來,人類只需要從事創(chuàng)造性的工作。這些科幻小說里所描述的故事,曾是那么遙遠和令人向往,而現(xiàn)在正一步步變成現(xiàn)實。
科學(xué)技術(shù)的發(fā)展速度比我們大多數(shù)人預(yù)想的要快。在科幻大師阿西莫夫辭世24年后,2016年3月在全球媒體的關(guān)注下,美國谷歌公司基于深度神經(jīng)網(wǎng)絡(luò)算法研發(fā)的AlphaGo程序,擊敗了世界頂尖圍棋職業(yè)選手李世石,成為第一個無需讓子就可以擊敗頂尖職業(yè)選手的圍棋程序。與此同時,在人工智能算法的引領(lǐng)下,美國特斯拉公司基于Autopilot技術(shù)實現(xiàn)了真正意義上的汽車自動駕駛。中國科大訊飛公司推出的智能語音識別技術(shù)使計算機語言識別準確率達到99.5 %,讓機器真正聽懂了人類的語言。短短幾十年內(nèi),在無數(shù)科技工作者不斷的努力下,人工智能技術(shù)的發(fā)展已經(jīng)讓機器可以像人一樣說話、行走和思考。短時間內(nèi)的科技爆炸也讓無數(shù)人驚呼,“人工智能”的時代正在快速地向我們走來!
2017年國務(wù)院印發(fā)的《新一代人工智能發(fā)展規(guī)劃》明確指出,“人工智能的迅速發(fā)展將深刻改變?nèi)祟惿鐣?,改變世界”。人工智能發(fā)展的新階段伴隨著“新一代人工智能相關(guān)學(xué)科發(fā)展、理論建模、技術(shù)創(chuàng)新和軟硬件升級等整體推進,正在引發(fā)鏈式突破,推動經(jīng)濟社會各領(lǐng)域從數(shù)字化、網(wǎng)絡(luò)化向智能化加速躍升?!比斯ぶ悄艿难芯空诳焖僮叱鲇嬎銠C科學(xué)和統(tǒng)計學(xué)的研究領(lǐng)域,以席卷六合之勢改變著所有學(xué)科的發(fā)展脈絡(luò)。受中國科學(xué)院技術(shù)學(xué)部委托,本文通信作者張統(tǒng)一領(lǐng)銜撰寫了17萬余字的《力學(xué)在材料基因組工程中的作用》咨詢報告,此報告建議要在中國和全世界發(fā)展力學(xué)信息學(xué)。這里我們用科普的方式簡要介紹力學(xué)信息學(xué),來探討力學(xué)這一古老學(xué)科的發(fā)展脈絡(luò),著重探討力學(xué)在大數(shù)據(jù)和人工智能時代下的發(fā)展新思路。
力學(xué)作為自然科學(xué)中一門古老的學(xué)科,主要研究的是世間萬物的運動規(guī)律,小到原子、分子的遷移擴散,大到星團、星系的碰撞融合,無所不包。力學(xué)學(xué)科的基石——牛頓力學(xué),雖然歸功于牛頓天才的思考和歸納,但也并非憑空發(fā)展而來。
浩瀚宇宙中行星的運動規(guī)律,始終吸引著歷史上思想家們的目光。早在16世紀,哥白尼便發(fā)現(xiàn)當時流行的地心說無法對每個行星的周期運動作出合理的解釋。為此,他花費了40年的心血,以嚴格的科學(xué)態(tài)度進行反復(fù)的觀測、研究和計算,最終提出了日心說。哥白尼認為地球并不是宇宙的中心,而是一顆圍繞太陽旋轉(zhuǎn)的行星。以太陽為中心的日心體系的建立,拉開了現(xiàn)代科學(xué)的巨幕。丹麥科學(xué)家第谷·布拉赫(圖1)設(shè)計并制造了大量精巧的天文學(xué)觀測儀器,并利用這些儀器對星空展開數(shù)十年的觀察,積累了大量可靠的數(shù)據(jù)。布拉赫是一位卓越的早期“天文數(shù)據(jù)科學(xué)家”。德國天文學(xué)家開普勒對布拉赫遺留下來的觀測數(shù)據(jù)進行綜合分析和歸納總結(jié)后,提出了開普勒行星運動三大定律:軌道定律,每一個行星都沿各自的橢圓軌道環(huán)繞太陽運行,太陽處于橢圓軌道的一個焦點上;面積定律,在相等時間內(nèi),太陽和運動著的行星的連線所掃過的面積都是相等的;周期定律,各個行星繞太陽公轉(zhuǎn)周期的平方與其橢圓軌道半長軸的立方成正比。行星運動三定律的發(fā)現(xiàn)具有劃時代的意義,不但為經(jīng)典天文學(xué)奠定了基礎(chǔ),還直接促使數(shù)十年后牛頓萬有引力定律的發(fā)現(xiàn)。
步入近代,力學(xué)在眾多的技術(shù)科學(xué)與工業(yè)生產(chǎn)中發(fā)揮著核心與主導(dǎo)作用,直接促進了相關(guān)行業(yè)和科學(xué)技術(shù)的發(fā)展。在機械制造、金屬冶煉、材料制備、航空航天、國防軍工和能源環(huán)保等十幾個典型領(lǐng)域中,力學(xué)展現(xiàn)出極強的應(yīng)用性。以材料科學(xué)為例,材料的力學(xué)性能就包括彈性、塑形、強度、韌性、疲勞斷裂及蠕變等性能,每一個性能都有一個與科學(xué)或工程應(yīng)用相關(guān)的準則??梢哉f,數(shù)據(jù)是近代力學(xué)發(fā)展的基礎(chǔ)。例如:材料會因為在周期性動態(tài)應(yīng)力的作用下出現(xiàn)裂紋,叫疲勞裂紋。疲勞裂紋會隨著受載時間的積累,逐漸長大擴展,當疲勞裂紋大于一定的尺寸后,宏觀斷裂就會發(fā)生,造成嚴重的后果。工程上,絕大部分的機械和建筑(如飛機、汽車和橋梁等)的失效破壞都是疲勞造成的。在斷裂力學(xué)中,應(yīng)力強度因子K一般會被用來描述裂紋尖端應(yīng)力奇異性的大小。平面應(yīng)變加載條件下的臨界應(yīng)力強度因子(即斷裂韌性)描述材料抗擊斷裂的能力。如應(yīng)力強度因子大于斷裂韌性,則裂紋就發(fā)生失穩(wěn)擴展。1961年,帕里斯(Paul C. Paris)在大量實驗數(shù)據(jù)總結(jié)歸納的基礎(chǔ)上,提出了在循環(huán)載荷作用下,裂紋尖端處的應(yīng)力強度因子的變化幅度ΔK是控制構(gòu)件疲勞裂紋擴展速率的基本參量,并給出了疲勞裂紋擴展速度的指數(shù)冪定律——帕里斯定律,用公式(1)表示。
式中,a為裂紋長度,N為循環(huán)加載次數(shù),da/dN為裂紋的擴展速率,C和m為與具體材料、環(huán)境及應(yīng)變速率相關(guān)的常數(shù)。帕里斯定律被發(fā)現(xiàn)可廣泛適用于各種疲勞強度問題,在高周疲勞、低周疲勞、高溫疲勞和腐蝕疲勞等現(xiàn)象中都發(fā)揮著重要作用。
數(shù)據(jù)始終是科學(xué)技術(shù)前進和發(fā)展的基礎(chǔ),但數(shù)據(jù)本身并不是知識。只有通過對數(shù)據(jù)進行分析并歸納總結(jié),才能將數(shù)據(jù)上升為知識。因此,科學(xué)工作者們重視分析數(shù)據(jù),從海量實驗數(shù)據(jù)中,歸納總結(jié)出自然界的各種運動規(guī)律。
人工智能的迅猛發(fā)展,徹底改變了科技發(fā)展的軌跡[1]。人工智能技術(shù)是研究、開發(fā)用于模擬、延伸和擴展人的智能的理論、方法、技術(shù)及應(yīng)用系統(tǒng)的一門新技術(shù)?!度斯ぶ悄埽环N現(xiàn)代的方法》[2]一書中提到:人工智能是類人行為,類人思考,理性的思考,理性的行為。對應(yīng)于所模擬的腦功能,人工智能的研究又可以被詳細分為機器學(xué)習(xí)、機器感知、機器聯(lián)想、機器推理、機器行為等分支領(lǐng)域。人工智能已經(jīng)被愈來愈廣泛應(yīng)用于自動規(guī)劃、調(diào)度配置、自動程序設(shè)計、機器翻譯、智能控制和管理、智能決策、智能通信、智能仿真和制造、智能機器人、模式識別、數(shù)據(jù)挖掘和知識發(fā)現(xiàn)等領(lǐng)域。
目前,人工智能技術(shù)的研究熱點主要集中在模式識別、機器學(xué)習(xí)、數(shù)據(jù)挖掘和智能算法等方向,而這也是力學(xué)信息學(xué)所依賴的核心技術(shù)。在這幾項技術(shù)中,機器學(xué)習(xí)(machine learning,ML)[3]是人工智能的核心,也是使計算機具有智能的根本途徑,其應(yīng)用遍及人工智能的各個領(lǐng)域,因此它也是一門多領(lǐng)域交叉學(xué)科,涉及概率論、統(tǒng)計學(xué)、逼近論、凸分析和算法復(fù)雜度理論等多門學(xué)科。其目的是使計算機模擬或?qū)崿F(xiàn)人類的學(xué)習(xí)行為,以獲取新的知識或技能,重新組織已有的知識結(jié)構(gòu)使之不斷改善自身的性能。與常規(guī)的科學(xué)研究過程相同的是,機器學(xué)習(xí)需要在大量數(shù)據(jù)的基礎(chǔ)上,使用歸納、綜合而不是演繹的方法獲得知識。常規(guī)的科學(xué)研究過程是人類直接分析、歸納和綜合數(shù)據(jù),而機器學(xué)習(xí)是機器代替人來做這些工作。按照學(xué)習(xí)的任務(wù),機器學(xué)習(xí)可以實現(xiàn)分類、回歸、異常檢測、聚類和降維等功能。
在人工智能和大數(shù)據(jù)的新時代中,這些新技術(shù)已經(jīng)被證實在社會學(xué)和經(jīng)濟學(xué)等復(fù)雜和不確定性較大的領(lǐng)域有廣闊的應(yīng)用前景。對于材料和力學(xué)等理工類學(xué)科,人工智能算法的迅猛發(fā)展,也提供了一個絕佳的處理和分析數(shù)據(jù)的“新工具”(圖2)。利用人工智能,力學(xué)和材料科學(xué)專業(yè)的學(xué)者們可以方便快捷地處理數(shù)據(jù),并藉此快速而準確地發(fā)掘出隱藏在數(shù)據(jù)深處的各種本征性的規(guī)律。
圖2 在力學(xué)的工具庫中,新增了一把“新工具”——機器學(xué)習(xí)
近年來,文獻報道了一大批高質(zhì)量的基于大數(shù)據(jù)技術(shù)和數(shù)據(jù)庫的材料研發(fā)工作。例如,2016年Raccuglia等直接利用機器學(xué)習(xí)算法,對實驗室積累下來的所有成功和失敗的3 955條水熱合成法的實驗數(shù)據(jù)進行學(xué)習(xí),并利用“充分訓(xùn)練后”機器學(xué)習(xí)的結(jié)果來指導(dǎo)新的實驗。他們發(fā)現(xiàn),機器學(xué)習(xí)指導(dǎo)的實驗成功率高達89 %,遠高于專家經(jīng)驗指導(dǎo)的實驗成功率78 %。同年,Xue等[4]也利用自適應(yīng)機器學(xué)習(xí)算法來開發(fā)具有最小熱遲滯Ti50Ni50-x-y-zCuxFeyPdz形狀記憶合金的五元合金成分,其中x≤20 %、y≤5 %、z≤20 %和50-x-y-z≥30%,共797 482個可能的合金成分,而初始數(shù)據(jù)庫里只包含22個合金成分。他們用直接最佳預(yù)測數(shù)據(jù)點和全局最優(yōu)算法,尋找到最佳預(yù)測數(shù)據(jù)點來指導(dǎo)新的實驗,并將每次4個實驗結(jié)果加入到數(shù)據(jù)庫中,然后再循環(huán)進行下一輪的機器學(xué)習(xí),來尋找具有最小熱遲滯的合金元素成分。如此反復(fù)循環(huán)9次,共補充36個實驗點,就可以從797 482個可能成分組合中,得到了14個合金組分,其熱遲滯小于以前已有的合金。Xue等的工作表明,用機器學(xué)習(xí)方法來開發(fā)具有最小熱遲滯的合金是便捷可行的。
自2016年起,在綜合分析生物信息學(xué)(bioinformatics)和材料信息學(xué)(materials informatics)的發(fā)展歷程后,張統(tǒng)一提出了“力學(xué)信息學(xué)”(mechanoinformatics)的概念,該學(xué)科是通過建立力學(xué)數(shù)據(jù)庫,匯集力學(xué)實驗數(shù)據(jù)、計算數(shù)據(jù)、計算與模擬算法和軟件,利用當前快速發(fā)展的人工智能技術(shù)、大數(shù)據(jù)技術(shù)和算法,快速自動化地解決各種力學(xué)科學(xué)、技術(shù)和工程問題,從而加快力學(xué)的發(fā)展。在2017年的中國力學(xué)大會固體力學(xué)分會和北京大學(xué)工學(xué)院“王仁力學(xué)講座”,2018年的結(jié)構(gòu)疲勞與斷裂理論及實驗技術(shù)國際學(xué)術(shù)會議上,張統(tǒng)一均做了主旨為《力學(xué)信息學(xué)》的邀請報告,向國內(nèi)力學(xué)學(xué)者大力倡議進行力學(xué)信息學(xué)的研究。
在近些年,國際上已經(jīng)有數(shù)篇文章報道了應(yīng)用機器學(xué)習(xí)的方法,即由數(shù)據(jù)驅(qū)動來發(fā)現(xiàn)數(shù)據(jù)所遵循的公式形式。這里簡單介紹用于公式模型推導(dǎo)的3類機器學(xué)習(xí)方法:符號回歸(symbolic regression)方法、稀疏回歸(sparse regression)方法和流形學(xué)習(xí)(manifold learning)方法。最后,我們利用一個小例子來說明在機器學(xué)習(xí)中如何選擇算法。
回歸是找到已知數(shù)據(jù)之間的函數(shù)關(guān)系,即輸入?yún)?shù)數(shù)據(jù)(特征參數(shù))和輸出參數(shù)數(shù)據(jù)(目標參數(shù))之間關(guān)系。舉例來說,傳統(tǒng)的最小二乘法就是一種回歸算法。傳統(tǒng)的回歸方法中,先給定目標參數(shù)(函數(shù))與特征參數(shù)(自變量)之間關(guān)系(方程或公式)的具體表達式,然后應(yīng)用此表達式去擬合實驗或計算數(shù)據(jù),并確定表達式中未知系數(shù)的值。作為一種機器學(xué)習(xí)技術(shù),符號回歸不同于傳統(tǒng)最小二乘法回歸的地方在于:在進行數(shù)據(jù)擬合之前,我們并不知道目標參數(shù)與特征參數(shù)之間關(guān)系的具體表達形式。符號回歸方法中僅有的假設(shè)是,目標參數(shù)與特征參數(shù)之間關(guān)系的表達式可以由各種初等函數(shù)通過代數(shù)運算組合得到。因此,符號回歸方法要從一個大的函數(shù)空間中搜尋出滿足給定精度要求的目標參數(shù)與特征參數(shù)之間關(guān)系表達式,同時優(yōu)化表達式中的系數(shù)。如果函數(shù)空間太大了,會使得在實際操作中變得不可行。所以,一定要利用專業(yè)知識和已有的數(shù)據(jù)來合適地縮小函數(shù)搜索空間。最基本的符號回歸方法是遺傳程序(genetic programming)設(shè)計。遺傳程序設(shè)計是啟發(fā)式的全局優(yōu)化技術(shù),是遺傳算法的一種。它把遺傳算法中的個體表達成“二叉樹”的形式,每個二叉樹代表一個數(shù)學(xué)表達式。在進化過程中,二叉樹之間允許以一定概率進行重組,每個二叉樹還可以以一定概率進行變異產(chǎn)生新的二叉樹(即新的數(shù)學(xué)表達式)。我們最終選擇公式與數(shù)據(jù)點之間般配最好的表達式作為結(jié)果,認為該表達式是數(shù)據(jù)點所遵從的公式形式。
從某種意義上來說,符號回歸算法高度類似于過去科學(xué)家們觀察研究世界的方法。開普勒、牛頓等先驅(qū)者們在面對龐雜的實驗數(shù)據(jù)時,不可能準確獲知到底可以用什么樣的函數(shù)形式才能夠最有效地描述他們所掌握的客觀實驗數(shù)據(jù)。經(jīng)過天才般的總結(jié)和探索,他們最終找到了最為簡潔的方程來描述客觀世界。符號回歸算法所扮演的角色,也就是這個“自動化”地尋找規(guī)律、發(fā)現(xiàn)方程和公式的過程。在實際使用過程中,我們希望計算機可以像一個物理學(xué)家一樣,采用相對簡單的函數(shù)形式來描述物理問題。
我們可以通過一個簡單的符號回歸例子來直觀展現(xiàn)這一算法的能力。首先我們利用已知方程
來生成N=500的數(shù)據(jù)集(圖3中的紅色圓圈)。在大多數(shù)的情況下,實驗中取得的數(shù)據(jù)都會有一定的噪聲,為了更好地模擬真實場景,我們也在數(shù)據(jù)中引入了高斯分布的白噪聲以增大回歸難度。符號回歸使用的是遺傳程序設(shè)計方法,采用Python的Gplearn庫([http://gplearn.readthedocs.io/en/stable/intro.html])。遺傳程序設(shè)計采用了含有2 000個個體的種群,進行了200代的進化,每一代遺傳的重組概率是0.7,變異概率為0.1。采用的待選算符和基礎(chǔ)函數(shù)庫是{+, -, ×, /, cos,log, exp, sqrt}。 如圖3所示,回歸正確找出了我們預(yù)設(shè)的方程(2)。
圖3 利用符號回歸方法,對具有白噪聲的數(shù)據(jù)集(紅色圓點)進行回歸分析。藍線為回歸得到的函數(shù)
由例子可以看出,符號回歸算法尋找公式仍然面臨著很大的挑戰(zhàn)。首先,數(shù)據(jù)存在不精確性。在大多數(shù)實驗和模擬觀測中,數(shù)據(jù)是存在著誤差的。具有不同誤差的數(shù)據(jù)可能會回歸出不同的公式形式。其次,基礎(chǔ)數(shù)學(xué)函數(shù)及其組合是一個無限大的集合。在這個龐大的集合中找到一個足夠簡潔的方程式,必須想辦法縮小搜索空間,這更多地依賴于科學(xué)家的直覺與專業(yè)知識。
在過去的十幾年內(nèi),學(xué)術(shù)界涌現(xiàn)了很多利用符號回歸算法完成的優(yōu)秀工作。例如:Schmidt和Lipson在2009年就展示了如何利用符號回歸的方法從實驗數(shù)據(jù)回歸得出解析公式,并將相關(guān)工作發(fā)表在當年的《Science》雜志上[5]。在符號回歸的過程中,他們使用了變量對的方法,來判斷算法得到的函數(shù)表達式是否已經(jīng)能夠精確地描述實驗數(shù)據(jù)。為了對一個單擺實驗開展符號回歸,他們先收集并計算實驗數(shù)據(jù)中每一個變量對的值,在給定的基本函數(shù)庫中,通過遺傳程序設(shè)計算法,一步步地進行方程形式的繁殖和變異,最終得到精確的方程形式。一個令人吃驚的細節(jié)是,即便在初始函數(shù)構(gòu)件中去掉精確解中的必需項,結(jié)果中仍然會自動出現(xiàn)去掉了構(gòu)件的近似解。例如,如果去掉了sin和cos構(gòu)件,結(jié)果表達式中會使用這兩項的Taylor級數(shù)展開式表示。如果僅去掉cos構(gòu)件,搜索的最終結(jié)果會使用來sin(x-π/2)表示。
從知識的角度來講,描述自然界運動、材料行為等客觀現(xiàn)象的理論公式應(yīng)該越簡單越好。對大多數(shù)動力學(xué)系統(tǒng)來說,系統(tǒng)最終的模型公式只需包含很少的項數(shù)。從數(shù)據(jù)科學(xué)的角度講,模型公式中的項數(shù)較少,表示在候選函數(shù)空間(特征參數(shù)空間或搜索空間)內(nèi)僅有很少的幾個特征參數(shù),即搜索空間的維度小。對于給定的數(shù)據(jù)量,如果特征參數(shù)的數(shù)目越大搜索空間的維度就越大,數(shù)據(jù)在整個搜索空間內(nèi)就越稀疏,而特征參數(shù)的數(shù)目越少數(shù)據(jù)在目標函數(shù)搜索空間就越密集,即信息量變大了。稀疏回歸的計算過程中就是利用了這一思想,通過精簡掉冗余的特征變量,只保留了與目標變量最相關(guān)的特征變量,在縮小搜索空間的同時保留了數(shù)據(jù)集中的重要信息,從而極大地解決了稀疏數(shù)據(jù)領(lǐng)域中的高維數(shù)據(jù)集建模的諸多問題。
在機器學(xué)習(xí)領(lǐng)域,最為廣泛使用的稀疏回歸方法是一種被稱為LASSO(least absolute shrinkage and selection operator)的機器學(xué)習(xí)算法[6],它是一種改進了的最小二乘法擬合方法。LASSO通過對所有擬合系數(shù)的絕對值進行求和,并使此和小于一個設(shè)定參數(shù)。如果這個設(shè)定參數(shù)為零,則所有的擬合系數(shù)都為零。調(diào)整這個設(shè)定參數(shù)的值會使得公式中一部分擬合系數(shù)的值變?yōu)榱?,從而縮減了最終公式內(nèi)的項數(shù)。因此,LASSO在對數(shù)據(jù)進行學(xué)習(xí)的同時,還能同時進行特征(即上述線性公式中的各項)篩選。
我們也利用LASSO方法,針對3.1節(jié)生成的數(shù)據(jù),進行了稀疏回歸的測試(圖4)。此處示例調(diào)用了Julia語言中的GLMNet庫([https://github.com/JuliaStats/GLMNet.jl])。我們首先假設(shè)了15種基礎(chǔ)函數(shù)作為各項,組合成了有15個特征的表達式,這15個特征項如圖4的圖注所示。假設(shè)ai為各項前的系數(shù),LASSO回歸求解使得如下表達式中L最小化的ai,即
通過選取不同的α值,使得L取最小值的ai不同,所得公式和真實數(shù)據(jù)的平方均差(MSE)也不同。通過計算一系列α值下的ai,我們發(fā)現(xiàn),當α取值為0.01~0.02范圍時,MSE值最小,其對應(yīng)的方程中僅含有l(wèi)og(x)、x和三項。這一實例也直觀展現(xiàn)出機器學(xué)習(xí)僅僅是一個工具,在使用的過程中還需要使用者根據(jù)數(shù)據(jù)以其自身的經(jīng)驗與專業(yè)知識來合理地利用。
圖4 利用稀疏回歸方法,回歸得到的方程形式與原始方程一致
2016年Brunton等[7]報道了研究形如ut=f(u(t))的函數(shù)的稀疏回歸問題。在他們的問題中,研究的函數(shù)有線性和非線性振子函數(shù)、Lorenz系統(tǒng)(非線性常微分方程)和流體圓柱繞流的尾波區(qū)(非線性偏微分方程)。他們在工作中同樣是先利用一個“已知的方程”,采用數(shù)值化的方法獲取大量的數(shù)據(jù)集,再借助LASSO算法對龐大的數(shù)據(jù)集進行回歸分析以獲取各個子函數(shù)項的系數(shù)。最終,該課題組發(fā)現(xiàn)LASSO的回歸結(jié)果不但能準確選擇到正確的特征,還可以精確地(誤差小于1 %)回歸得到各項系數(shù)。在2017年,這個研究組又對他們的方法進行了優(yōu)化[8],使其可以對空間、時間同時變化的高維數(shù)據(jù)進行回歸。在具體例子中,他們還研究了該方法對由原公式數(shù)值計算出的數(shù)據(jù)進行稀疏回歸的能力,甚至還嘗試先對數(shù)據(jù)添加高斯分布的噪聲,再進行回歸計算?;貧w結(jié)果同樣能夠正確找回原公式中的各項變量,對各項系數(shù)的回歸結(jié)果也同樣能夠達到相當高的精度。
流形學(xué)習(xí)屬于無監(jiān)督學(xué)習(xí)中的非線性降維技術(shù)。假設(shè)數(shù)據(jù)采樣于一個均勻分布的高維空間內(nèi),那么流形學(xué)習(xí)就是從高維的采樣數(shù)據(jù)中挖掘出低維的數(shù)據(jù)結(jié)構(gòu),并且將其可視化的過程??梢韵胂蟮氖?,在這一過程中,數(shù)據(jù)得到了降維,而數(shù)據(jù)內(nèi)含的客觀規(guī)律也得以揭示。一般來說,流形學(xué)習(xí)的計算過程可以分為兩步:第一步,計算得到數(shù)據(jù)集中所有數(shù)據(jù)點的相對距離和相關(guān)度;第二步,根據(jù)這些信息將原數(shù)據(jù)集的拓撲關(guān)系降低到設(shè)定的維度上。
為說明這一計算過程,我們借助了常用的Megaman庫[9]來針對一個S型數(shù)據(jù)進行流形學(xué)習(xí)(圖5)。首先,我們構(gòu)建一個N=1 000的數(shù)據(jù)集,該數(shù)據(jù)集的形狀高度類似于字母S(圖5(a))。為清晰展示數(shù)據(jù)點的位置,我們利用了數(shù)據(jù)點處在S型的相對位置來染色。如果將該數(shù)據(jù)集直接投影到xy平面,數(shù)據(jù)是高度雜亂且無序的(圖5(b))。但借助兩種不同的流形學(xué)習(xí)方法(Isomap和LSTA),我們可以成功地將這個三維的S型構(gòu)型降維為二維的數(shù)據(jù)(圖5(c)和圖5(d))??梢悦黠@觀察到,圖5(c)和圖5(d)中的數(shù)據(jù)點,自左向右的染色順序與三維空間的S型上數(shù)據(jù)點染色模式一致。在整個計算過程中,由于沒有修改每個數(shù)據(jù)點的染色方式,我們成功地利用流形學(xué)習(xí)方法將數(shù)據(jù)從一個高維空間降維到低維流形上,且直觀加以展現(xiàn)。需要特殊說明的是,在這個“流形”面上數(shù)據(jù)點之間的距離,也不再等于歐氏空間中的距離,而是變成了流形面上的“測地距離”。除了Megaman庫以外,諸如Scikit-Learn庫等其他程序也可被用來對原有數(shù)據(jù)點之間的拓撲關(guān)系進行建模和降維,從而計算數(shù)據(jù)對應(yīng)的“流形”。
在力學(xué)領(lǐng)域中,流形學(xué)習(xí)方法并不是顯式的方程表達形式,而是使用在某個高維空間中通過對數(shù)據(jù)學(xué)習(xí)得到的低維流形(幾何的線、曲線、曲面和超曲面等),并用之表示本構(gòu)關(guān)系,叫做本構(gòu)流形。Ibanez等[10]使用流形學(xué)習(xí)中的局部線性嵌入方法,對單向拉伸非線彈性本構(gòu)σ=Eε2進行流形學(xué)習(xí)的例子進行了說明。單向拉伸非線彈性本構(gòu)σ=Eε2對應(yīng)的實驗數(shù)據(jù)對(σ, ε)構(gòu)成了一個二維空間。因為σ和ε是相關(guān)的,所以這個本構(gòu)關(guān)系所對應(yīng)的數(shù)據(jù)可以用一個一維的曲線表示。這個低維流形就是本構(gòu)關(guān)系方程在空間中的曲線(面)。通過這一方法,我們無需顯式推導(dǎo)出應(yīng)力與應(yīng)變的函數(shù)關(guān)系,只需要在計算機中存儲此流形的離散表示,再直接利用插值的方法,就可以獲知該材料的本構(gòu)關(guān)系。
圖5 利用流形學(xué)習(xí)方法對一個S型數(shù)據(jù)進行降維:(a) 三維空間中的S型數(shù)據(jù);(b) 原始數(shù)據(jù)在xy平面上的投影,數(shù)據(jù)高度混亂;(c) 利用Isomap方法降維后的數(shù)據(jù);(d)利用LTSA方法降維后的數(shù)據(jù)
機器學(xué)習(xí)的迅猛發(fā)展,為現(xiàn)代科學(xué)的進步提供了強大動力。現(xiàn)在已發(fā)展了許多的機器學(xué)習(xí)算法,但每個算法都有其長處和短處,因此在實際使用的過程中,需要根據(jù)不同的情況來選取不同的算法。機器學(xué)習(xí)算法的選擇高度依賴于數(shù)據(jù)的分布狀況。我們利用一個簡單的一維模型來加以說明。在機器學(xué)習(xí)領(lǐng)域,我們經(jīng)常會遇到全局優(yōu)化問題。例如:尋找某種材料具有最佳力學(xué)性能的特征參數(shù)值,即在一個給定的特征空間中尋找最佳力學(xué)性能,數(shù)學(xué)上這是一個尋找極值的問題。由于數(shù)據(jù)的函數(shù)形式是未知的,如何高速且準確地尋找搜索空間中的最大(小)值就成為一個重要且基礎(chǔ)的數(shù)學(xué)問題。為了便于說明,我們選取了一個已知的函數(shù)(式(4))來獲取“未知函數(shù)”的數(shù)據(jù)集。
該函數(shù) f(x)有最小值 f (-0.753 8)=0.222 6,出現(xiàn)在x=-0.753 8處。在該例中,我們將x在[-1.0,1.0]區(qū)間均勻離散為1 000個點,并僅提供5個初始數(shù)據(jù)。在初始數(shù)據(jù)分布上,我們設(shè)計了3種數(shù)據(jù)分布形式:均勻分布(average)、偏置分布(bias)和隨機分布(random)。我們將分別利用高斯過程回歸(Gaussian process regression,GPR)和支持向量回歸(support vector regression,SVR)兩種人工智能算法對函數(shù)最小值展開預(yù)測。為了可以更快地搜索到最小值,我們也借助了有效全局優(yōu)化(efficient global optimization,EGO)算法來預(yù)測函數(shù)取最小值的數(shù)據(jù)點位置。在我們選取的兩個方法中,GPR算法可以被視為多維高斯分布向無限維的擴展,SVR算法則是基于不同核函數(shù)對原有數(shù)據(jù)進行映射,從而實現(xiàn)數(shù)據(jù)回歸(或分類)。在每一輪搜索過程中,我們都將算法預(yù)測的兩個極小值加入到數(shù)據(jù)集(即數(shù)據(jù)庫)中。該例的數(shù)學(xué)問題是,如何用最少的循環(huán)次數(shù)來獲取該搜索空間中的最小值位置。
圖6展示了在不同的算法與數(shù)據(jù)分布下,對這一全局優(yōu)化問題的求解過程與結(jié)構(gòu)。其中,圖6(a~f)利用了SVR算法,而圖6(g~l)利用了GPR算法。我們可以很明顯地觀察到,SVR算法并不適用于這一問題。在平均(圖6(a~b))和隨機(圖6(e~f))兩種初始數(shù)據(jù)分布下,SVR算法一般需要消耗10步以上,才能夠找到函數(shù)空間的最小值點。針對于偏置的數(shù)據(jù)分布情況(圖6(c~d)),則只是找到了函數(shù)右側(cè)的一個局部極小值點。與之相反,GPR算法無論面對哪一種數(shù)據(jù)分布形式(圖6(g~l)),均可以有效找到函數(shù)的全局最小值點。并且,函數(shù)最后預(yù)測的函數(shù)曲線與真實的方程(4)也基本吻合。特別需要說明的是,我們并不是在強調(diào)GPR算法更為優(yōu)秀,而是強調(diào)GPR算法更適合于我們現(xiàn)在所提出的問題。除去算法的選擇,數(shù)據(jù)結(jié)構(gòu)的選擇對于優(yōu)化結(jié)果也有著重大影響。單純從GPR算法的結(jié)果來看,當數(shù)據(jù)為平均和偏置分布(圖6(g~j))時,優(yōu)化程序需要7~9次循環(huán)才能夠找到最小值點,而對于隨機分布的數(shù)據(jù)(圖6(k~l)),優(yōu)化程序僅需5次循環(huán),就可以找到函數(shù)最小值。
在實際使用機器學(xué)習(xí)算法來處理科研和生產(chǎn)中產(chǎn)生的數(shù)據(jù)時,真解是不知道的,數(shù)據(jù)的分布形式也不清楚。這時候更需要根據(jù)問題的不同,科研專家借助專業(yè)知識來選取最合適的算法和搜索空間。也建議機器學(xué)習(xí)的使用者,多采用一些機器學(xué)習(xí)的算法來相互比較,從中選取出最適合某個特定問題的算法。搜索空間也盡可能地縮小,以增加數(shù)據(jù)的信息量。如搜索空間不可能縮小,使用者也可以采用有效全局優(yōu)化算法和自適應(yīng)機器學(xué)習(xí)算法對搜索空間中數(shù)據(jù)量少的空間進行再采樣,并通過循環(huán)逐步找到最佳值。
根據(jù)以上的討論,我們看到機器學(xué)習(xí)可以直接用于科研和生產(chǎn)中。特別是工業(yè)生產(chǎn)中,在基本上不改動現(xiàn)有生產(chǎn)設(shè)備的前提下,機器學(xué)習(xí)可以提高產(chǎn)品的質(zhì)量,降低生產(chǎn)的成本,從而提高生產(chǎn)效率和企業(yè)的市場競爭力。另外,機器學(xué)習(xí)和人工智能的發(fā)展,已能夠應(yīng)用于理論模型的發(fā)現(xiàn),為力學(xué)本構(gòu)模型和控制方程的發(fā)展提供了廣闊的空間。機器學(xué)習(xí)與力學(xué)相結(jié)合,可以快速地得到力學(xué)本構(gòu)模型和控制方程的函數(shù)表達形式,從而使得數(shù)據(jù)上升為知識。機器學(xué)習(xí)還有以下優(yōu)點:給定了初始數(shù)據(jù)和機器學(xué)習(xí)的方法,機器學(xué)習(xí)的結(jié)果是可以重現(xiàn)的,新的數(shù)據(jù)的加入,會使得機器學(xué)習(xí)的結(jié)果更加優(yōu)化;機器學(xué)習(xí)的能力已經(jīng)遠遠超過常用的數(shù)據(jù)擬合方法,特別適合應(yīng)用于高維、噪聲大和非線性的數(shù)據(jù)。
要發(fā)展力學(xué)信息學(xué),首先要發(fā)展力學(xué)數(shù)據(jù)庫。建立數(shù)據(jù)庫是一個需要費大氣力的工作,是長期的、動態(tài)的工作。力學(xué)工作者要和數(shù)據(jù)庫專家們緊密結(jié)合,要建立起使用方便、搜索快捷的人性化的力學(xué)數(shù)據(jù)庫。
圖6 在不同的數(shù)據(jù)分布和不同機器學(xué)習(xí)算法情況下,對同一極值優(yōu)化問題的求解過程與結(jié)果。左圖為算法第一步預(yù)測值,右圖為算法收斂的預(yù)測結(jié)果與所需優(yōu)化步數(shù)。圖中Mix代表同時利用EGO和回歸算法來預(yù)測極值。白色圓點:算法預(yù)測時所依賴的數(shù)據(jù)集;綠色圓點:回歸算法預(yù)測的最小值;紅色圓點:EGO算法預(yù)測的數(shù)據(jù)點。紅線為回歸算法預(yù)測的函數(shù)曲線
在“力學(xué)信息學(xué)”的引領(lǐng)下,力學(xué)工作者們要開放思想、轉(zhuǎn)換思路。當今時代,機器學(xué)習(xí)和人工智能的發(fā)展非常迅速,誰占領(lǐng)數(shù)據(jù),掌握機器學(xué)習(xí)和人工智能,誰就能領(lǐng)導(dǎo)數(shù)據(jù)驅(qū)動科學(xué)發(fā)展。力學(xué)工作者在進一步掌握人工智能這一新的工具后,必將為力學(xué)的發(fā)展開辟新的方向,把力學(xué)的應(yīng)用推向新的高度。
(2018年8月20日收稿)