AI幾秒鐘內(nèi)解決大學(xué)數(shù)學(xué)問題,拿到80%多準確率,還充當(dāng)出題老師
或許,你做的數(shù)學(xué)考題,是機器生成的。?
MIT 的學(xué)生可以不費吹灰之力就能解決多元微積分、微分方程、線性代數(shù)等數(shù)學(xué)課題,但這些卻把機器學(xué)習(xí)模型給難倒了。因為機器學(xué)習(xí)模型只能回答小學(xué)或高中水平的數(shù)學(xué)問題,而且它們并不總是能找到正確答案。?
現(xiàn)在,來自 MIT、哥倫比亞大學(xué)、哈佛大學(xué)和滑鐵盧大學(xué)的研究者,他們使用小樣本學(xué)習(xí)、OpenAI 的 Codex 來自動合成程序,在幾秒鐘內(nèi)解決了大學(xué)數(shù)學(xué)問題,達到了人類水平。這項研究發(fā)表在《美國國家科學(xué)院院刊》(PNAS)上。
此外,該模型對生成的解決方案還能進行解釋,并能快速生成新的大學(xué)數(shù)學(xué)問題。當(dāng)研究人員向?qū)W生展示這些機器生成的問題時,學(xué)生們甚至無法判斷這些問題是由算法生成的還是由人類生成的。??
這項研究還可以用來簡化課程內(nèi)容生成,這對擁有數(shù)千名學(xué)生的學(xué)校和大型開放式網(wǎng)絡(luò)課程(MOOC)尤其有用。該系統(tǒng)還可以充當(dāng)在線導(dǎo)師,向?qū)W生展示解決數(shù)學(xué)問題的步驟。
論文地址:https://www.pnas.org/doi/epdf/10.1073/pnas.2123433119?
該研究的方法結(jié)合了三個創(chuàng)新:
- 與只在文本上進行預(yù)訓(xùn)練不同,該研究在文本上進行預(yù)訓(xùn)練的同時,還在代碼上進行微調(diào);
- 采用小樣本學(xué)習(xí)合成程序能夠正確解決數(shù)學(xué)問題;
- 該研究能夠解決問題、解釋解決方案以及生成新問題。
該研究生成新問題示例如下。
能答題、解題、出題的模型
研究團隊已經(jīng)為這個項目花費了近兩年時間。他們發(fā)現(xiàn),僅使用文本進行預(yù)訓(xùn)練的模型,在高中數(shù)學(xué)問題上的準確率不會超過 8%,而使用圖神經(jīng)網(wǎng)絡(luò)模型,可以在機器學(xué)習(xí)課程問題上做得很好,但需要一周的時間來訓(xùn)練。
該研究從七門課程中隨機抽取 25 個問題:MIT 的 18.01 單變量微積分、18.02 多變量微積分、18.03 微分方程、18.05 概率與統(tǒng)計概論、18.06 線性代數(shù)、6.042 計算機科學(xué)數(shù)學(xué)和哥倫比亞大學(xué)的 COMS3251 計算線性代數(shù)。
對于 MATH 數(shù)據(jù)集,該研究從數(shù)據(jù)集中的六個主題(代數(shù)、計數(shù)與概率、中級代數(shù)、數(shù)論、初級代數(shù)和微積分)中隨機抽取 15 個問題。
在將這些編程任務(wù)輸入到神經(jīng)網(wǎng)絡(luò)之前,研究人員添加了一個新步驟,使其能夠大大優(yōu)于以前的嘗試。??
與 GPT-3 等網(wǎng)絡(luò)只在文本上進行預(yù)訓(xùn)練不同。他們把這些問題轉(zhuǎn)化為編程任務(wù),并應(yīng)用程序合成和小樣本學(xué)習(xí)技術(shù)。把數(shù)學(xué)問題變成編程任務(wù),就像可以簡單地把求兩點之間的距離這個問題改寫為編寫一個程序來求兩點之間的差。
值得一提的是該研究不僅對 Codex 進行了文本上的預(yù)訓(xùn)練,還在代碼上進行了微調(diào),使得其可以生成大規(guī)模解決數(shù)學(xué)問題的程序。
預(yù)訓(xùn)練模型顯示了來自在線存儲庫的數(shù)百萬個代碼示例。由于該模型的訓(xùn)練數(shù)據(jù)包括數(shù)百萬自然語言單詞和數(shù)百萬行代碼,因此它可以學(xué)習(xí)文本片段和代碼片段之間的關(guān)系。??
如下圖所示該研究使用零樣本和小樣本學(xué)習(xí)來自動生成程序,該程序可以解決 81% 數(shù)學(xué)問題。然后他們使用 Codex 來解釋生成的程序。生成的程序可以輸出多種形式的答案。比如計算和描繪奇異值分解(SVD)的幾何形狀,不光給出正確答案,還能給出對應(yīng)的解釋!應(yīng)用神經(jīng)網(wǎng)絡(luò) OpenAI Codex 來解決、解釋和生成數(shù)學(xué)問題。??
論文作者之一 Drori 解釋說,許多數(shù)學(xué)問題可以用圖或樹來解決,但很難將文本編寫的問題轉(zhuǎn)化為這種表示形式。但是,由于該模型已經(jīng)學(xué)習(xí)了文本和代碼之間的關(guān)系,因此它可以將文本問題轉(zhuǎn)換為代碼,只需給出幾個問題代碼示例,然后運行代碼就可以來回答問題。
「當(dāng)你只使用文本提問題時,機器學(xué)習(xí)模型很難給出答案,即使答案可能在文本中,這項工作填補了代碼和程序合成中缺失的部分?!笵rori 說。
Drori 還補充說,這項工作是第一次解決本科數(shù)學(xué)問題,并將準確率從 8% 提高到 80% 以上。??
添加上下文
其實將數(shù)學(xué)問題轉(zhuǎn)化為編程任務(wù)并不總是那么簡單。有些問題需要研究人員添加上下文,以便神經(jīng)網(wǎng)絡(luò)能夠正確處理問題。一個學(xué)生在學(xué)習(xí)這門課程時會了解到這種背景知識,但除非研究人員明確說明,否則神經(jīng)網(wǎng)絡(luò)不具備這種背景知識。
例如,他們需要說明文本中的網(wǎng)絡(luò)指的是神經(jīng)網(wǎng)絡(luò)而不是通信網(wǎng)絡(luò)?;蛘咚麄兛赡苄枰嬖V模型使用哪個編程包。他們可能還需要提供某些定義,例如在關(guān)于撲克牌的問題中,他們可能需要告訴模型每副牌包含 52 張牌。??
該研究會自動將這些編程任務(wù)以及包含的上下文和示例輸入到經(jīng)過預(yù)訓(xùn)練和微調(diào)的神經(jīng)網(wǎng)絡(luò),該神經(jīng)網(wǎng)絡(luò)會輸出一個通常能產(chǎn)生正確答案的程序。80% 以上的問題都是正確的。
研究人員還使用他們的模型來生成問題,通過給神經(jīng)網(wǎng)絡(luò)一系列關(guān)于某個主題的數(shù)學(xué)問題,然后讓它創(chuàng)建一個新的問題。例如,有關(guān)于水平線和垂直線的量子檢測問題,它產(chǎn)生了關(guān)于對角線量子檢測的新問題。因此,它不僅僅是通過替換現(xiàn)有問題中的值和變量來產(chǎn)生新問題。??
人類提出的問題與機器生成的問題
研究人員通過向大學(xué)生展示機器生成的問題來測試這些問題。研究人員隨機給學(xué)生們 10 道來自本科數(shù)學(xué)課程的問題;其中 5 個是由人類創(chuàng)造的,5 個是由機器生成的。
學(xué)生們無法判斷機器生成的問題是由算法還是由人工生成的,他們對課程的難度和適當(dāng)性給予了類似的評分。
不過,Drori 指出這項工作并不是為了取代人類教授。
「現(xiàn)在準確率已經(jīng)達到 80%,但不會達到 100%。每當(dāng)你解決了一個問題,就會有人提出一個更難的問題。但這項工作為人們開始用機器學(xué)習(xí)解決越來越難的問題開辟了領(lǐng)域。我們認為這將對高等教育產(chǎn)生巨大影響?!笵rori 表示。??
研究團隊對他們方法的成功感到興奮,并將工作擴展到處理數(shù)學(xué)證明上,同時他們還計劃解決一些限制,目前,該模型無法使用可視化組件回答問題,也無法解決由于計算復(fù)雜性而難以計算的問題。
除了克服這些障礙外,該研究還致力于將模型擴展到數(shù)百門課程。有了這些課程,他們將生成更多的數(shù)據(jù),以提高自動化程度,并提供對課程設(shè)計和課程的見解。