Facebook這個神經網絡用自然語言表示數學式,秒解微分方程!

2021-01-11 騰訊網

新智元報導

來源:arXiv等

編輯:向學、大明

【新智元導讀】Facebook AI的研究人員將數學視為自然語言,並將數學簡寫拆分為基本單位,去訓練神經網絡,從而秒解微積分表達式,遠超目前的商業軟體(如Maple、Matlab、Mathematica)!具體的精妙思想跟操作是怎麼樣的呢?戳右邊連結上新智元小程序了解更多!

Facebook的神經網絡也可以計算積分和求解微分方程啦!儘管其他的神經網絡還沒有超越簡單的加減法和乘除法。這是怎麼回事呢?讓我們來一探究竟!

近日,Facebook AI Research的研究人員Guillaume Lample 和 François Charton 開發了一套新算法,只需一點思考的時間就可以解出一階微分方程。他們訓練了一個神經網絡來執行必要的符號推理,首次實現了對數學表達式的微分和積分。這項成果是邁向更強大的數學推理的重要一步,也是利用神經網絡超越傳統模式識別任務的新方法。

在模式識別任務(如面部和物體識別,某些自然語言處理,甚至是玩象棋、圍棋和太空侵略者這樣的遊戲)上,神經網絡已經取得了巨大的成就。但是,儘管付出了很大努力但仍沒人能夠訓練神經網絡完成像數學那樣的符號推理任務,神經網絡所取得的最好成績是整數的加法和乘法。神經網絡和人類相似,分析高級數學表達式的難點之一是它們所依賴的簡寫。例如,表達式是x乘以x乘以x的簡寫形式。要讓神經網絡 「掌握」 這種邏輯非常困難。如果它們不明白簡寫代表什麼,那麼就幾乎學不會如何使用簡寫。實際上,人類也有類似的問題,但解決辦法通常是從小就開始灌輸。

從本質上來講,微分和積分的運算過程仍涉及到模式識別,儘管被數學簡寫所遮蔽。

將數學式表示為自然語言

Lample和Charton 提出了一種優雅的解決方法:他們先將數學簡寫拆分為基本單位;然後教神經網絡去識別積分和微分中包含的數學運算模式;最後他們再用全新的表達式去測試神經網絡,並將結果與傳統運算器(如Mathematica和Matlab)進行對比。

這個過程的第一步,是把數學表達式分解成它們的組成部分,Lample和Charton通過將表達式表示為樹狀結構來實現:這些樹上的葉子是數字、常量和變量,如x;內部節點是運算符,如加法、乘法、微分等。

如:表達式

可分別表示為:

如果不同樹的數學運算結果相同,那麼就認為這些樹是相同的,如:2 + 3 = 5 = 12 - 7 = 1 x 5是相同的。這樣以來,表達式簡化相當於找到一個更短的等價樹表示。這些樹也可以寫成每個節點連續組成的序列,現在正好可以被一種名為Seq2Seq的神經網絡來處理。這種方法也被用於機器翻譯:其中一種語言的單詞序列必須翻譯成另一種語言的單詞序列。而他們的方法本質上是將數學視為一種自然語言。

下一步就是訓練過程,這需要大量的數據來學習。Lample 和 Charton 通過從二元運算符庫(如加法、乘法等)、一元運算符庫(如cos、sin和exp)以及一組變量、整數和常數(如π和e)中隨機組合數學表達式來創建新的資料庫。他們還限制了樹的內部節點數量,以免方程變得過於龐大。即使節點和數學組件的數量相對較少,可能的表達式也是很多的。然後利用計算機代數系統對每個隨機方程進行積分和微分;任何無法積分的表達式都會被丟棄。

通過這種方式,研究人員生成了一個龐大的訓練數據集,其中包含8000萬個一階和二階微分方程示例、2000萬個分部積分表達式示例。神經網絡使用這些數據集進行訓練,學習如何對給定的數學表達式求導或積分。

最後,Lample和Charton在神經網絡中輸入了5000個以前從未見過的表達式,並將500個例子的結果與商業軟體(如Maple、Matlab和Mathematica)等的結果進行了比較。

結果顯示,在所有的任務中,都觀察到神經網絡明顯優於Mathematica;在函數積分方面,神經網絡的準確性接近100%,而Mathematica勉強達到85%;Maple和Matlab軟體包的平均性能不如Mathematica。

在許多情況下,傳統的運算器在30秒的時間內根本找不到解;而神經網絡需要大約1秒鐘就能找到解。

論文簡介:求解器的未來是數學框架+神經網絡

論文連結:https://arxiv.org/pdf/1912.01412.pdf

本文證明了標準seq2seq模型可以應用於諸如函數積分或求解微分方程之類的困難任務。本文提出了一種生成任意大的方程式數據集及其相關解的方法,並證明了在這些數據集上訓練的簡單轉換器模型在計算函數積分和求解微分方程方面都表現出色,其表現優於依賴大量算法和啟發式方法的最新數學框架(如Matlab或Mathematica) ,以及複雜的其他實現方式。

實驗結果還表明,該模型能夠以完全不同的方式編寫相同的表達式。鑑於神經模型難以執行更簡單的任務(例如整數加法或乘法),因此這些結果令人驚訝。但是,提出的假設有時是不正確的,並且通常需要考慮多個波束假設才能獲得有效的解決方案。模型本身並未提供解決方案本身的有效性,而是由外部符號框架提供的。這些結果表明,將來,標準數學框架可能會將神經網絡組件集成到求解器中,從而提高性能。

圖1 不同運算符和表達式下的樹和葉子的不同數量

圖2 本文seq2seq模型求解微分方程/積分方程精度與其他求解方案的對比

圖3 本文seq2seq模型求解測試集500個方程的精度與Mathematica, Maple和Matlab求解結果的對比

該論文一出,各學術研究者都紛紛加入了激烈的討論之中!

對於這個新的研究成果,您怎麼看?

相關焦點

  • 神經網絡還能求解高級數學方程?
    通過開發一種將複雜數學表達式表示為一種語言的新方法,然後將解決方案視為序列到序列的神經網絡的翻譯問題,我們構建了一個在解決積分問題以及一階和二階微分方程方面都優於傳統計算系統的系統。以前,這類問題被認為是深度學習模型所無法企及的,因為求解複雜方程需要精度而不是近似值。
  • AI攻破高數核心,1秒內精確求解微分方程、不定積分
    用自然語言處理 (NLP) 的方法來理解數學,果然行得通。這項成果,已經在推特上獲得了1700贊。許多小夥伴表示驚奇,比如:「感謝你們!在我原本的想像中,這完全是不可能的!」就是說有一個二元函數f,對任意x和c都滿足:再對x求導,就得到一個微分方程:fc表示從x到f(x,c)的映射,也就是這個微分方程的解。這樣,對於任何的常數c,fc都是一階微分方程的解。
  • AI攻破高數核心,1秒內求解微分方程、不定積分,性能遠超Matlab
    用自然語言處理 (NLP) 的方法來理解數學,果然行得通。這項成果,已經在推特上獲得了1700贊。許多小夥伴表示驚奇,比如:感謝你們!在我原本的想像中,這完全是不可能的!就是說有一個二元函數f,對任意x和c都滿足:再對x求導,就得到一個微分方程:fc表示從x到f(x,c)的映射,也就是這個微分方程的解。這樣,對於任何的常數c,fc都是一階微分方程的解。
  • 硬核NeruIPS 2018最佳論文,一個神經了的常微分方程
    他們提出了一種名為神經常微分方程的模型,這是新一類的深度神經網絡。神經常微分方程不拘於對已有架構的修修補補,它完全從另外一個角度考慮如何以連續的方式藉助神經網絡對數據建模。在陳天琦的講解下,機器之心將向各位讀者介紹這一令人興奮的神經網絡新家族。
  • 求解微分方程,用seq2seq就夠了,性能遠超 Mathematica、Matlab
    但機器學習(這裡特別強調是神經網絡)卻不適合去解決符號推理問題,目前僅有少數這樣的工作,但主要集中在解決基本的算術任務(例如加法和乘法)上,且實驗上證明在這些問題上,神經網絡的方法往往表現不佳,需要引入一些已有的指向任務的組件才勉強可行。相比於以往的各種方法,作者思想獨特,他們認為數學符號計算的過程本質上就是一個模式識別的過程。
  • 常微分方程的級數解
    在科學研究中,經常需要解含有未知函數的導數的方程,這就是微分方程。
  • 「神經常微分方程」提出者之一:如何利用深度微分方程模型處理連續...
    在 NeruIPS 2018 獲獎論文中,陳天琦、David Duvenaud 等人將二者相結合,進行架構創新,提出一類新型深度神經網絡「神經常微分方程」(ODEnet)。它不拘於對已有架構的修修補補,而是完全從另外一個角度考慮如何以連續的方式藉助神經網絡對數據建模。
  • 常微分方程:線性微分方程解的三個重要特徵
    前一篇《帶你走進微積分的堂學習:一階線性微分方程式的基礎原理》詳細討論了線性微分方程的結構以及通解特性,本篇我們藉此機會指出一階線性微分方程解的三個重要特徵1)有一階線性微分方程,線性微分方程(1)的一切解在α<x<β上存在,面對非線性微分方程,一般就沒有這種解的全局存在性,例如非線性微分方程關於x的定義域為-∞<x<+∞,而它的解,例如y=tanx的存在區間只是-π/2<x<π/2,這就表明,非線性微分方程解的存在區間一般是局部的,而不像線性微分方程的解那樣是全局的。
  • AI一秒解微分,高數考試再也不用「掛柯南」了-虎嗅網
    這是Facebook發表的新模型,1秒給出的答案,超越了Mathematica和Matlab這兩隻付費數學軟體30秒的成績。團隊說,這是Seq2Seq和Transformer搭配食用的結果。用自然語言處理的方法來理解數學,果然行得通。
  • 一文解構神經常微分方程
    這篇文章的重點將介紹神經常微分方程的實際用途、應用這種所需的神經網絡類型的方式、原因以及可行性。為什麼需要關注常微分方程?首先,快速回顧一下什麼是常微分方程。它描述了某個變量(這就是為什麼是常微分)在某個過程中的變化,這種隨時間的變化用導數來表示為:簡單的常微分方程例子如果存在一些初始條件(變化過程的起始點),並且想要觀察該過程將如何發展到某個最終狀態的話,我們可以探討此微分方程的求解。函數解也稱為積分曲線(因為可以對方程進行積分得到解x(t))。
  • 系列14 解微分方程
    freexyn編程實例視頻教程系列14Matlab解微分方程1.主要內容(1)運用Matlab編程求解微分方程
  • 天生一對,硬核微分方程與深度學習的「聯姻」之路
    微分方程真的能結合深度神經網絡?真的能用來理解深度神經網絡、推導神經網絡架構、構建深度生成模型?我們將從鄂維南、董彬和陳天琦等研究者的工作中,窺探微分方程與深度學習聯袂前行的路徑。如上圖所示,比較受關注的是神經網絡架構與數值微分方程之間的關係,這個領域早期比較有影響的就是北大、普林斯頓教授鄂維南老師的研究,它首次將殘差網絡理解為微分方程。北大董彬等研究者在 ICML 2018 中進一步表明 ResNet、PolyNet、FractalNet 和 RevNet 等網絡都可以理解為微分方程的不同數值離散方式。
  • 常微分方程
    關於解的性質:線性微分方程的解的性質,主要是:(1)齊次線性方程的解的疊加性(2)非齊次線性方程的解的疊加性)非齊次線性微分方程的通解可以表示為它的一個特解與它對應的齊次線性微分方程的通解之和(6)線性微分方程的通解包含了這個方程的所有解2.
  • 微分方程VS機器學習,實例講解二者異同
    為什麼以上 4 個方程都是微分方程?因為它們都包含某些未知函數的導數(即變化率)。這些未知函數(如 SIR 模型中的 S(t)、I(t) 和 R(t))被稱為微分方程的解。我們再來看一個模型。Murray-Gottman(心理學)這個模型用來預測浪漫關係的期限。
  • 拆分——線性微分方程的解的結構
    話不多說,這篇文章算是微分方程這一章難點的開頭了。我們現在來複習線性微分方程的解的結構。這裡主要討論二階線性方程,並且考試中也只會出現二階,不會考到三階及其以上線性方程的。(不過因為遇到的題目是二階的,那麼通解就只有兩個函數,所以這裡不是很重要)若D=0,則線性相關若D不=0,則線性無關定理一:其實就是兩個函數都是微分方程的就,那麼這兩個函數的和也是這個微分方程的解。
  • 「符號數學」終於向「神經網絡」屈服:AI 學會數學證明了?
    不過最近Facebook的一個AI小組卻在這件事情上取得進展:讓神經網絡用語言翻譯的原理去解微積分方程。這算是新突破嗎?人工神經網絡還可以按照它們自學而來的規則,通過互連的層過濾大量數據,從而預測和識別模式。 到目前為止,大家把神經網絡看作是AI的靈丹妙藥,能夠解決可以重述為模式識別問題的技術難題。他們提供聽起來顯得很自然的語言翻譯。照片應用用它們來識別相冊裡面的老面孔並對其進行分類。由神經網絡驅動的程序在圍棋和西洋棋等遊戲中擊敗了全世界上最好的棋手。
  • 系統微分方程的解―系統的全響應
    所以,要證明線性系統的微分方程是否是線性的,就必須證明它是否同時滿足齊次性與疊加性。 二、 系統微分方程的解——系統的全響應  求系統微分方程的解系統微分方程的解就是系統的全響應y(t)。線性系統的全響應y(t),可分解為零輸入響應yx(t)與零狀態響應yf(t)的疊加,即 。下面證明此結論。 在圖2-2中,若激勵f(t)=0,但系統的初始條件不等於零,此時系統的響應即為零輸入響應yx(t),如圖2-4(a)所示。
  • 微分方程篇:為你構建微分方程框架
    以下是小編自己構建的微分方程這一章的知識網絡,帶*的表示選修(即考的概率不大)。函數是客觀事物的內部聯繫在數量方面的反映,利用函數關係又可以對事物的規律性進行研究。因此如何尋找函數關係,在實踐中具有重要意義。在許多問題中由於條件受限,有時只能找到要找的函數及其導數的關係式,這樣的關係式稱為微分方程。
  • 微分方程——拉普拉斯的魔法
    拉普拉斯的魔法掌握了微分方程這一有力工具的自然科學家們, 以此為武器著手於揭開自然的秘密。尤其在天文學界獲得了驚人的成功。這是由於有了萬有引力定律,極易建立微分方程的緣故。例如三個天體在萬有引力作用下運動時的微分方程,按圖 14-24 所示是容易建立的。這三個天體可以看作是太陽、地球和月球或者地球、月球和人造衛星。這就是以前很難解決的"三天體問題". 至少到現在為止所掌握的函數知識並不夠用。就這個意義上來說,它仍是世界上有名的難題。當然,解決這個三天體問題是有辦法的。
  • 偏微分方程的數值解之偏微分方程的定解問題
    這些規律的定量表述一般地呈現為關於含有未知函數及其導數的方程。我們將只含有未知多元函數及其偏導數的方程,稱之為偏微分方程。方程中出現的未知函數偏導數的最高階數稱為偏微分方程的階。如果方程中對於未知函數和它的所有偏導數都是線性的,這樣的方程稱為線性偏微分方程,否則稱它為非線性偏微分方程。初始條件和邊界條件稱為定解條件,未附加定解條件的偏微分方程稱為泛定方程。