全文共1516字,預計學習時長4分鐘
你試過建立一個神經網絡模型來解決簡單的數學問題嗎?比如兩個數的乘法或一個數的平方?
如果有,那麼你可能會意識到神經網絡模型並不是用來解決這些簡單問題的。你通過一個相對複雜的模型得到類似一個數的平方的問題,這也不盡人意。
今天,在任何尖端技術中,數字的精確性非常重要,結果的一個微小變化可能會導致部署人工智慧的系統出現極大的故障。並不是說不能通過建立一個近乎完美的端到端神經網絡模型來直接回答數學問題,而是說,這樣完全沒有必要。
相反,我們可以使用人工智慧來理解數學問題或給定問題的數學部分,然後通過機器的運算單元來解決它。這將是解決數學問題最簡單、最可靠的方法,甚至在神經網絡模型中嵌入一個運算單元也可能有效。雖然目前尚不確定是否存在這樣的模型,但今天將深入研究一個能夠將複雜問題轉化為簡單解決方案的模型。
Facebook人工智慧的序列到序列(seq2seq)轉換模型可以解決上述問題。實際上,這是使用符號推理簡化高級數學方程。他們聲稱該模型是第一個這樣做的模型,在解決積分問題和微分方程方面比傳統計算系統更加有效。
樹形數學
假設一個方程b-4ac=12。
這些變量不能直接加、減或乘。因此,求解此類方程需要處理符號數據的能力。研究人員開發了一種將數學表達式看作語言中句子的方法,這使得他們能夠利用神經機器翻譯(NMT)中的成熟技術來訓練模型,以解出這些複雜的方程。
因此,研究人員開發了一種將現有數學表達式分解為類語言語法的方法,還生成了一個包含超過1億個大規模訓練對方程和解的數據集。
首先,他們開發了一種有效將方程組解壓成樹狀結構的方法。現在這個結構可以轉換成序列,與序列到序列(seq2seq)模型一起使用。相較於一種語言的句子,數字和變量類似於名詞,而運算符號和函數類似於動詞。對於方程式4x+sin(3x)-2,順序如下——加,乘,4,冪,x,2,減,正弦,乘,3,x,2。
研究人員隨後生成了一組約1億對方程和解的數據集。這些數據被輸入一個有8個注意頭和6層的序列到序列(seq2seq)變壓器模型。為了測試模型的性能,研究人員為模型提供了5000對不可見的方程組,這些方程組不存在於訓練數據集中。
該模型求解積分問題的精準度為99.7%,一階、二階微分方程的精準度分別為94%和81.2%。這些結果是研究人員測試的其他三種傳統方法(Maple、Mathematica和Matlab)中最好的,也是最快的,在不到半秒鐘的時間內返回大多數解,而其他方法則需要幾分鐘時間,甚至更多。
對於給定的輸入,該模型還能夠提供多種簡化解決方案,這與翻譯輸入句在許多方面類似。但是這種模型目前只能解決一個變量的問題,研究人員正計劃開發該模型來求解多變量方程組。同時他們還建議,這種方法可以應用於如物理這樣的數學和邏輯基礎領域。
留言點讚關注
我們一起分享AI學習與發展的乾貨
如轉載,請後臺留言,遵守轉載規範