DeepMind給AI出了200萬道數學題,結果不如計算器哈哈哈哈哈
原來我的數學比AI還好
計算栗 郭一璞 發自 凹非寺
量子位 報道 | 公眾號 QbitAI
人生何處不數學?
這是越野車上的口算題。
這是被小朋友玩壞的應用題。
額,這是別人家的奧數題。
△?羅馬尼亞數學大師賽,中國隊全軍覆沒的一題
不過,現在是9102年了,幾乎每天都有“AI超越人類”的新聞。所以,把我們中學時候寫過的那些數學作業,扔給神經網絡,它們做得出來么?
地球的另一個角落,DeepMind讀懂了你的心,給神經網絡們出了一套數學題,200萬道。數據集已經放出來了。
算術,代數,概率論,微積分……不管是算式,還是人類語言描述的題目,只要能用文本寫出來。
比如,這道排列組合 (中譯版) :
問:從這串字母qqqkkklkqkkk里面,不放回地取三個出來,求取出qql的概率。
答:1/110。
再比如,這道復合函數:
問:求g(h(f(x))), f(x) = 2x + 3, g(x) = 7x ? 4, h(x) = ?5x ? 8。
答:?70x ? 165
都是AI的數學考題了。
消息一出,人類紛紛歡呼了起來:天道好輪回,蒼天饒過誰。
200萬道,都有什么題型
為什么突然想知道AI的數學好不好?
DeepMind說,AI和人類學數學的方法不一樣。
我們主要是靠推理、學習、利用法則和運算符號,而AI依賴的是經驗和證據。
舉個耳熟能詳的栗子,機器學習面試梗。
考官:你的強項是什么?
我:我是機器學習專家。
考官:9+10得多少?
我:3。
考官:差太遠了,得19。
我:16。
考官:錯了,是19。
我:18。
考官:不對,19。
我:19。
考官:錄取你了。
AI的答案,是歸納出來的答案。
DeepMind覺得,沒有人類的推理能力,AI學數學會很困難。可數學領域,對神經網絡架構的研究來說,又很重要。
所以團隊想要看看,用歸納來學數學,究竟怎么樣。
那考試范圍是什么?
最初的樣本,是16歲以下 (大概是英國) 公立學校的數學課程。
團隊把考綱擴展了一下,一共包括這幾個方面:
一是代數,比如求解二元一次方程組,多項式求根,以及求數列的通項。
二是算術,比如四則運算,計算有特定順序的 (比如帶括號的) 的算式,把帶根號的表達式簡化一下之類的。
三是微積分和多項式求導。
四是比較,判斷數的大小,從一列數里面找出和某個數最接近的數等等。
五是測量,比如在不同的長度單位之間轉換,計算時間間隔之類的。
六是數字,找約數,四舍五入,整數的數位,因式分解,質數合數等等。
七是多項式運算,合并同類項等等。
八是概率,比如在一堆紅白藍色的球里面,選出紅紅白的概率。
200萬題庫是用剛才說的16歲以下教材樣本,拿算法生成的。
所以,以上各類問題,是可以有機組合到一起的。這樣就有趣了,因為許多數學法則,也是用各種概念合成的。
還是剛才的栗子,復合函數和求導,合在一起,就是復合函數求導。高中學過的,你還記得么:
[f(g(x))]’=f’(g(x))g’(x)
先求外面這一層,再求里面這一層,乘到一起就可以了。
坐等AI的答題結果。
都有什么選手
DeepMind舉辦的考試中,有兩位考生,一位是循環神經網絡 (RNN) ,另一位是Transformer。
RNN一方派出的是LSTM?(長短期記憶) ,有兩個模型參加了考試。
第一個比較簡單,直接把問題喂給LSTM,一次喂一個字符,模型就輸出一個字符。
第二個復雜一些 (如下圖) ,是帶有注意力機制的編碼器+解碼器。這個模型在如今的機器翻譯里面很常用:它不一定要按照字符輸入的順序來理解來計算,比如8/(1+3) ,就要先算1+3。
第二位考生,則是Transformer模型。作為一種seq2seq模型,它在機器翻譯里的表現很好。
先來看一下它的結構:
有一個編碼器,可以把數學題矢量序列轉換成一個長度相同的序列;還有一個解碼器,生成預測的答案。
考試結果怎么樣
相比LSTM,Transformer模型要更勝一籌,兩者有差不多數量的參數。
兩個網絡都沒有進行太多“算法推理”,但Transformer模型比LSTM架構更適合學數學:
1、用同樣多的參數,可以做更多的計算;
2、具有更淺的架構,更好的梯度傳播;
3、有順序內部存儲器,可以更方便的設置數字序列等數學對象。
對AI來說,最簡單的數學題是處理小數、整數,以及比較大小,還有不同模塊組成的問題,比如:
已知k(c) = -611*c + 2188857,k(-103)! = 2251790是否正確?(否)
或者這種:
將-139/4, 40.8, -555, 607從小到大排列。
最難的數學題則是偏理論一些的題目,比如判斷一個數字是否為素數,以及因式分解。
不過,Transformer模型依然能給出看起來有點靠譜的答案。
比如,把235232673分解為幾個素數的成績,它的答案是3,11,13,19,23,1487,正確的答案應該是3,13,19,317453。
雖然沒答對,但是看起來長得很像呀。
另外,讓Transformer模型直接算數,會發現,如果只讓它算加減法,或者只算乘除法,它的準確率大概在90%,但是如果把加減乘除混合起來放到一道題里,它的準確率就只有50%了。
還真的不如計算器呀!
這證明,AI在算數學題的時候,完全靠歸納總結,并沒有使用代數技能。
手里有的計算器,都不知道用,真是個老實人。
現在,你可以出去吹牛:
我數學比AI都好。
One More Thing
很遺憾,以目前的結果,AI是不能替我們去考高數了。
不過,這項研究本身就不是在幫你考高數呀,DeepMind作為一個能造出AlphaGo的公司,應該理解不了學渣的痛苦。
搞懂了「AI答數學題,全靠歸納總結」,DeepMind就可以把相關原理拓展到其他更豐富的領域,那些需要歸納總結的問題,或許可以靠AI來解決了。
要不,下次試試讓AI去答文科的主觀題?
傳送門
?論文
Analysing Mathematical Reasoning Abilities of Neural Models
David Saxton, Edward Grefenstette, Felix Hill, Pushmeet Kohli
https://arxiv.org/abs/1904.01557
?數據集
https://github.com/deepmind/mathematics_dataset
- 馬云正式卸任后,阿里巴巴開盤跌0.87%2019-09-10
- 亞馬遜在華拓展云計算團隊,挑戰阿里巴巴和騰訊2019-10-16
- AI獨角獸云知聲,已完成一期科創板IPO輔導2019-10-17
- IDC:今年上半年中國公有云服務市場規模達54.2億美元2019-11-07




