0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一種將復(fù)雜數(shù)學(xué)表達(dá)式表示為一種語言的新方法

倩倩 ? 來源:數(shù)據(jù)派 ? 2020-04-17 09:07 ? 次閱讀

Facebook AI建立了第一個可以使用符號推理解決高級數(shù)學(xué)方程的AI系統(tǒng)。通過開發(fā)一種將復(fù)雜數(shù)學(xué)表達(dá)式表示為一種語言的新方法,然后將解決方案視為序列到序列的神經(jīng)網(wǎng)絡(luò)的翻譯問題,我們構(gòu)建了一個在解決積分問題以及一階和二階微分方程方面都優(yōu)于傳統(tǒng)計算系統(tǒng)的系統(tǒng)。

以前,這類問題被認(rèn)為是深度學(xué)習(xí)模型所無法企及的,因為求解復(fù)雜方程需要精度而不是近似值。神經(jīng)網(wǎng)絡(luò)擅長通過近似達(dá)到成功,例如認(rèn)識像素的特定模式很可能是狗的圖片,或者一種語言的句子特征匹配另一種語言的句子特征。解決復(fù)雜的方程式還需要具有處理符號數(shù)據(jù)的能力,例如方程b-4ac = 7中的字母。此類變量不能直接相加、相乘或相除,僅使用傳統(tǒng)的模式匹配或統(tǒng)計分析,神經(jīng)網(wǎng)絡(luò)就僅限于極其簡單的數(shù)學(xué)問題。

我們的解決方案是一種全新的方法,可將復(fù)雜的方程視為語言中的句子。這使得我們能夠充分利用在神經(jīng)機器翻譯(NMT)被證明有效的技術(shù),通過訓(xùn)練模型將問題從本質(zhì)上轉(zhuǎn)化為解決方案。要實現(xiàn)此方法,需要開發(fā)一種將現(xiàn)有數(shù)學(xué)表達(dá)式分解為類似語言語法的方法,并生成一個超過100M個配對方程和解的大規(guī)模訓(xùn)練數(shù)據(jù)集。

當(dāng)出現(xiàn)數(shù)千個未知表達(dá)式時(這些方程并不是訓(xùn)練數(shù)據(jù)的一部分),我們的模型比傳統(tǒng)基于代數(shù)的方程求解軟件,例如Maple,Mathematica和Matlab,表現(xiàn)出更快的速度和更高的精度。這項工作不僅表明深度學(xué)習(xí)可以用于符號推理,而且還表明神經(jīng)網(wǎng)絡(luò)有潛力解決各種各樣的任務(wù),包括那些與模式識別不相關(guān)的任務(wù)。我們將分享我們的方法以及產(chǎn)生相似訓(xùn)練集方法的細(xì)節(jié)。

一種應(yīng)用NMT的新方法

擅長符號數(shù)學(xué)的人經(jīng)常依靠一種直覺。他們對給定問題的解決方案應(yīng)該是什么有一種感覺,例如觀察被積分函數(shù)中是否存在余弦,這意味著其積分可能存在正弦,然后進(jìn)行必要的工作以證明這個直覺。

這與代數(shù)所需的直接計算不同。通過訓(xùn)練模型來檢測符號方程中的模式,我們相信神經(jīng)網(wǎng)絡(luò)可以將導(dǎo)致其解決方案的線索拼湊起來,大致類似于人類對復(fù)雜問題的基于直覺的方法。因此,我們開始探索將符號推理作為NMT問題,在該模型中,模型可以根據(jù)問題示例及其匹配的解決方案來預(yù)測可能的解決方案。

作為示例,我們的方法將展示如何把左側(cè)的現(xiàn)有方程擴展為可以用作翻譯模型輸入的表達(dá)式樹。對于該方程,輸入到模型中的預(yù)序列為:(加,乘,3,乘方,x,2,減,余弦,乘,2,x,1)

為了使用神經(jīng)網(wǎng)絡(luò)實現(xiàn)此應(yīng)用,我們需要一種新穎的方式來表示數(shù)學(xué)表達(dá)式。NMT系統(tǒng)通常是序列到序列(seq2seq)模型,使用單詞序列作為輸入,并輸出新的序列,從而允許它們翻譯完整的句子而不是單個單詞。我們使用了兩步方法將此方法應(yīng)用于符號方程。

首先,我們開發(fā)了一種有效地分解方程的過程,將被分解后的方程布置在樹狀結(jié)構(gòu)的分支中,這個樹狀結(jié)構(gòu)隨后被擴展為與seq2seq模型兼容的序列。常量和變量充當(dāng)葉子,而運算符(例如加號和減號)和函數(shù)是連接樹的分支的內(nèi)部節(jié)點。

盡管它看起來可能不像傳統(tǒng)語言,但以這種方式組織表達(dá)式可為方程提供類似于語言的語法,數(shù)字和變量是名詞,而運算符則充當(dāng)動詞。

我們的方法使NMT模型可以學(xué)習(xí)將給定樹狀結(jié)構(gòu)問題的模式與其匹配的方程的解(也表示為樹)對齊,類似于將一種語言的句子與經(jīng)過確認(rèn)的翻譯相匹配。這種方法使我們能夠利用功能強大的現(xiàn)成的seq2seq NMT模型,將單詞序列替換為符號序列。

建立新的訓(xùn)練數(shù)據(jù)集

盡管我們的表達(dá)式——樹語法使NMT模型在理論上有可能有效地將復(fù)雜的數(shù)學(xué)問題轉(zhuǎn)化為方程的解,但是訓(xùn)練這樣的模型將需要大量示例。而且,因為在我們關(guān)注的兩類問題(積分和微分方程)中,隨機生成的問題并不總是具有解,所以我們不能簡單地收集方程并將其輸入系統(tǒng)。

我們需要生成一個全新的訓(xùn)練集,其中包括重新構(gòu)造為模型可讀的表達(dá)式樹的已解方程的示例。這產(chǎn)生了方程和解的二元組,類似于在各種語言之間翻譯的句子語料庫。

我們的集合還必須比該領(lǐng)域以前的研究中使用的訓(xùn)練數(shù)據(jù)大得多,后者曾嘗試對數(shù)千個示例進(jìn)行系統(tǒng)訓(xùn)練。由于神經(jīng)網(wǎng)絡(luò)只有在擁有更多訓(xùn)練數(shù)據(jù)時才會表現(xiàn)得更好,因此我們創(chuàng)建了包含數(shù)百萬個示例的集合。

建立此數(shù)據(jù)集需要我們整合一系列數(shù)據(jù)清洗和生成技術(shù)。例如,對于我們的符號積分方程,我們翻轉(zhuǎn)了翻譯方法:不是生成問題并找到其解決方案,而是生成解決方案并找到它們的問題(它們的導(dǎo)數(shù)),這是一件容易得多的任務(wù)。

這種從解決方案中產(chǎn)生問題的方法(有時被工程師稱為陷門問題)使創(chuàng)建數(shù)百萬個積分示例變得可行。我們得出的以翻譯為靈感的數(shù)據(jù)集包括大約1億個配對示例,其中包含積分問題的子集以及一階和二階微分方程。

我們使用此數(shù)據(jù)集來訓(xùn)練具有8個attention head和6個層的seq2seq transformer模型。transformer通常用于翻譯任務(wù),而我們的網(wǎng)絡(luò)旨在預(yù)測各種方程的解,例如確定給定函數(shù)的不定積分。為了評估模型的性能,我們向模型提供了5000種未知表達(dá)式,使系統(tǒng)識別出訓(xùn)練中未出現(xiàn)的方程模式。

我們的模型在求解積分問題時顯示出99.7%的準(zhǔn)確度,對于一階和二階微分方程,它們的準(zhǔn)確度分別為94%和81.2%。這些結(jié)果超出了我們測試的所有三個傳統(tǒng)方程求解器的結(jié)果。Mathematica取得了次佳的結(jié)果,在相同的積分問題上準(zhǔn)確度為84%,對于微分方程結(jié)果的準(zhǔn)確度為77.2%和61.6%。我們的模型還可以在不到0.5秒的時間內(nèi)返回大多數(shù)預(yù)測,而其他系統(tǒng)則需要幾分鐘來找到解決方案,有時甚至?xí)耆瑫r。

我們的模型將左側(cè)的方程式(Mathematica和Matlab都無法求解的方程式)作為輸入,并且能夠在不到一秒鐘的時間內(nèi)找到正確的解決方案(如上圖所示)。

將生成的解決方案與參考解決方案進(jìn)行比較,使我們能夠輕松,準(zhǔn)確地驗證結(jié)果。但是我們的模型也為給定方程生成了多個解。這類似于機器翻譯中發(fā)生的事情,在機器翻譯中,有很多翻譯輸入句子的方法。

AI方程求解器的下一步是什么

目前,我們的模型適用于單變量問題,我們計劃將其擴展為多變量方程。這種方法還可以應(yīng)用于其他基于數(shù)學(xué)和邏輯的領(lǐng)域,例如物理領(lǐng)域,從而有可能開發(fā)出可幫助科學(xué)家進(jìn)行廣泛工作的軟件。

但是我們的系統(tǒng)對于神經(jīng)網(wǎng)絡(luò)的研究和使用具有更廣泛的意義。通過在以前認(rèn)為不可行的地方發(fā)現(xiàn)一種使用深度學(xué)習(xí)的方法,這項工作表明其他任務(wù)可以從人工智能中受益。無論是通過將NLP技術(shù)進(jìn)一步應(yīng)用到傳統(tǒng)上與語言沒有關(guān)聯(lián)的領(lǐng)域,還是通過在新的或看似無關(guān)的任務(wù)中對模式識別進(jìn)行更開放的探索,神經(jīng)網(wǎng)絡(luò)的局限性可能來自想象力的局限,而不是技術(shù)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏

    評論

    相關(guān)推薦

    鴻蒙原生應(yīng)用元服務(wù)開發(fā)-倉頡基本概念表達(dá)式(二)

    三、do-while 表達(dá)式 do-while 表達(dá)式的基本形式: do { 循環(huán)體 } while (條件) 其中“條件”是布爾類型表達(dá)式,“循環(huán)體”是
    發(fā)表于 08-09 14:26

    鴻蒙原生應(yīng)用元服務(wù)開發(fā)-倉頡基本概念表達(dá)式

    程序能夠表達(dá)復(fù)雜的邏輯,在倉頡中,這種用來控制執(zhí)行流的語言元素就是條件表達(dá)式和循環(huán)表達(dá)式。 在倉頡編程
    發(fā)表于 08-08 10:27

    一種無透鏡成像的新方法

    使用OAM-HHG EUV光束對高度周期性結(jié)構(gòu)進(jìn)行成像的EUV聚光顯微鏡 為了研究微電子或光子元件中的納米級圖案,一種基于無透鏡成像的新方法可以實現(xiàn)近乎完美的高分辨率顯微鏡。 層析成像是一種強大的無
    的頭像 發(fā)表于 07-19 06:20 ?290次閱讀
    <b class='flag-5'>一種</b>無透鏡成像的<b class='flag-5'>新方法</b>

    mapgis屬性篩選表達(dá)式

    篇文章中,我們詳細(xì)討論MapGIS的屬性篩選表達(dá)式,包括語法、操作符和函數(shù)等。 屬性篩選表達(dá)式一種在MapGIS中用于指定要素選擇條件的代碼。它由
    的頭像 發(fā)表于 02-25 10:58 ?1395次閱讀

    機械能守恒定律三表達(dá)式

    。 機械能守恒定律可以用三不同的表達(dá)式來描述。首先是最常見的“動能和勢能之和不變”表達(dá)式。在個封閉系統(tǒng)內(nèi),如果沒有外力做功,那么系統(tǒng)中所有物體的動能之和和勢能之和
    的頭像 發(fā)表于 01-16 16:58 ?1296次閱讀

    rs觸發(fā)器的邏輯表達(dá)式

    邏輯表達(dá)式是描述邏輯關(guān)系的符號表示,可以用于定義和描述各種電路和邏輯操作。在邏輯電路中,RS觸發(fā)器是一種基本的存儲器元件,也被稱為鎖存器。 RS觸發(fā)器是由兩個與門組成的,其輸出互相連接,形成
    的頭像 發(fā)表于 01-12 14:09 ?2747次閱讀

    全加器的邏輯表達(dá)式怎么推

    全加器是計算機中常用的一種邏輯電路,用于實現(xiàn)二進(jìn)制加法運算。全加器接受兩個輸入位和個進(jìn)位位,并輸出個和位和個進(jìn)位位。它的邏輯表達(dá)式可以
    的頭像 發(fā)表于 12-25 16:09 ?3904次閱讀

    GVIM正則表達(dá)式介紹和使用示例

    20世紀(jì)50年代,位名叫Stephen Cole Kleene的美國數(shù)學(xué)家發(fā)表了規(guī)則的語言(regular language)的定義。規(guī)則的表達(dá)式就是用來描述規(guī)則的
    的頭像 發(fā)表于 12-18 15:09 ?1123次閱讀
    GVIM正則<b class='flag-5'>表達(dá)式</b>介紹和使用示例

    nmos電路邏輯表達(dá)式

    N-MOS電路是一種基本的邏輯門電路,它在數(shù)字電子電路中起著重要的作用。在本文中,我們詳盡、詳實、細(xì)致地探討N-MOS電路的基本原理、特性以及邏輯表達(dá)式。 首先,我們來了解下N-M
    的頭像 發(fā)表于 12-07 09:13 ?1209次閱讀

    一種產(chǎn)生激光脈沖新方法

    等離子體中脈沖壓縮的概念 英國和韓國的科學(xué)家提出了一種產(chǎn)生激光脈沖的新方法,其功率是現(xiàn)有激光脈沖的1000多倍。 科學(xué)家們使用計算機模擬聯(lián)合研究,展示了一種壓縮光的新方法,以充分提高光
    的頭像 發(fā)表于 12-07 06:32 ?454次閱讀
    <b class='flag-5'>一種</b>產(chǎn)生激光脈沖<b class='flag-5'>新方法</b>

    文詳解Java表達(dá)式引擎選型

    AviatorScript 是門高性能、輕量級寄宿于 JVM 之上的腳本語言。AviatorScript 可將表達(dá)式編譯成字節(jié)碼。它原來的定位直只是
    的頭像 發(fā)表于 12-06 10:57 ?1782次閱讀
    <b class='flag-5'>一</b>文詳解Java<b class='flag-5'>表達(dá)式</b>引擎選型

    如何從個簡單的數(shù)學(xué)表達(dá)式創(chuàng)建個Saber模型?

    如何從個簡單的數(shù)學(xué)表達(dá)式創(chuàng)建個Saber模型,將你的輸出描述輸入的函數(shù)?例如 out=a*in*in+b (其中 a 和 b 是常數(shù))
    的頭像 發(fā)表于 12-05 13:42 ?671次閱讀
    如何從<b class='flag-5'>一</b>個簡單的<b class='flag-5'>數(shù)學(xué)</b><b class='flag-5'>表達(dá)式</b>創(chuàng)建<b class='flag-5'>一</b>個Saber模型?

    SIMATIC S7-1500 PLC S7-SCL表達(dá)式詳解

    表達(dá)式為了計算個終值所用的公式,它由地址(變量)和運算符組成。表達(dá)式的規(guī)則如下。
    的頭像 發(fā)表于 11-28 09:36 ?1017次閱讀
    SIMATIC S7-1500 PLC S7-SCL<b class='flag-5'>表達(dá)式</b>詳解

    linux正則表達(dá)式匹配字符串

    在Linux操作系統(tǒng)中,正則表達(dá)式一種強大的模式匹配工具,它可以用于在文本中查找、替換和篩選特定的字符串。準(zhǔn)確掌握正則表達(dá)式的語法和常見應(yīng)用,對于Linux系統(tǒng)的管理員和開發(fā)人員來說
    的頭像 發(fā)表于 11-23 10:26 ?680次閱讀

    一種產(chǎn)生激光脈沖的新方法

    英國和韓國的科學(xué)家提出了一種產(chǎn)生激光脈沖的新方法,其功率是現(xiàn)有激光脈沖的1000多倍。
    的頭像 發(fā)表于 11-20 16:56 ?525次閱讀
    <b class='flag-5'>一種</b>產(chǎn)生激光脈沖的<b class='flag-5'>新方法</b>