天天看點

AI生成高數題,難出新高度:MIT提出首個可出題、做題、評分的算法模型

選自arXiv

作者:Iddo Drori等

機器之心編譯

機器之心編輯部

你的考卷,也有可能是機器生成的。

前段時間,DeepMind 的一項研究登上《Nature》封面,通過引導直覺解決了兩大數學難題;之後,OpenAI 教 GPT-3 學會了上網,能夠使用基于文本的 Web 浏覽器。

就在 2021 年的最後一天, MIT 與哥倫比亞大學、哈佛大學、滑鐵盧大學的聯合研究團隊發表了一篇長達 114 頁的論文,提出了首個可以大規模自動解決、評分和生成大學水準數學問題的模型,可以說是人工智能和高等教育的一個重要裡程碑。其實在這項研究之前,人們普遍認為神經網絡無法解決高等數學問題。

AI生成高數題,難出新高度:MIT提出首個可出題、做題、評分的算法模型

值得一提的是,該研究用到了 OpenAI 的 Codex。

這項研究有多厲害呢?我們以下圖為例,下圖展示了計算洛倫茨吸引子及其投影,計算和示範奇異值分解 (SVD) 方法的幾何形狀等。機器學習模型很難解決上述問題,但這項研究表明它們不僅可以解決這些問題,還可以大規模解決所屬課程以及許多此類課程問題。

該研究表明對文本進行預訓練并在代碼上進行微調的神經網絡,可以通過程式合成(program synthesis)解決數學問題。具體而言,該研究可将數學問題轉化為程式設計任務,自動生成程式,然後執行,以解決 MIT 數學課程問題和來自 MATH 資料集的問題。其中,MATH 資料集是專門用于評估數學推理的高等數學問題最新基準,涵蓋初級代數、代數、計數與機率、數論與微積分。

此外,該研究還探索了一些提示(prompt)生成方法,使 Transformer 能夠為相應主題生成問題解決程式,包括帶有圖象的解決方案。通過量化原始問題和轉換後的提示之間的差距,該研究評估了生成問題的品質和難度。

AI生成高數題,難出新高度:MIT提出首個可出題、做題、評分的算法模型

論文位址:https://arxiv.org/pdf/2112.15594.pdf

方法

資料集

該研究首先從 MIT 的以下六門課程中,每門課程随機選取了 25 個問題:

單變量微積分;

多元微積分;

微分方程;

機率與統計概論;

線性代數;

計算機科學數學。

對于 MATH 資料集,該研究從每個主題中随機抽取 5 個問題,并通過在應用線性代數新課程 COMS3251 上的實驗驗證了該方法的結果不僅僅是過拟合訓練資料。

AI生成高數題,難出新高度:MIT提出首個可出題、做題、評分的算法模型

方法流程

如下圖 2 所示,該研究使用 Codex 将課程問題轉換為程式設計任務并運作程式以解決數學問題。下圖共包含 A-E 5 個面闆,每個面闆的左側部分顯示了原始問題和重新表述的提示,其中提示是通過添加上下文、互動、簡化描述等形成的。

AI生成高數題,難出新高度:MIT提出首個可出題、做題、評分的算法模型

該研究将從原始課程問題到 Codex 提示的轉換分為以下三類:

原生提示:Codex 提示和原始問題相同;

自動提示轉換:Codex 提示和原始問題不同,由 Codex 自動生成;

手動提示轉換:Codex 提示和原始問題不同,由人工生成。

問題與提示之間的差距

将問題轉換為 Codex 提示的關鍵是:從語義上講,原始問題與産生正确解決方案的提示之間的接近程度。為了度量原始問題和成功提示之間的差距,該研究使用 Sentence-BERT 嵌入之間的餘弦相似度,如下圖 3 所示。

AI生成高數題,難出新高度:MIT提出首個可出題、做題、評分的算法模型

Sentence-BERT 使用 siamese 和 triplet 神經網絡結構對預訓練的 BERT 模型進行微調。其中至關重要的是,Sentence-BERT 能夠在句子級别生成語義嵌入,進而可以在長文本之間進行語義相似性比較。

在該研究的實驗中,原始問題和生成正确答案的提示之間的相似度如下圖 4 所示。

AI生成高數題,難出新高度:MIT提出首個可出題、做題、評分的算法模型

Codex 用于提示生成

在某些課程中,直接使用未轉換的原始問題提示 Codex,無法産生正确的解決方案。是以,需要将原始問題轉化為 Codex 可以處理的形式,主要分為以下三類:

主題上下文形式:該形式為 Codex 提供了與一般課程和特定問題相關的主題和子主題,以幫助指導 Codex 生成相關正确的答案。例如,對于機率中的條件期望問題,提供有關貝葉斯定理、期望等的上下文資訊會很有幫助。

庫上下文:該形式為 Codex 提供了解決給定問題所需的程式設計包 / 庫。例如,指導 Codex 使用 Python 中的 numpy 包來解決線性代數問題。

定義上下文:很多時候,Codex 對某些術語的定義缺乏現實背景。舉例來說,Codex 不了解撲克牌中的 Full House 是什麼意思。是以讓 Codex 了解這些術語并明确定義,可以更好地指導其程式合成。

生成問題以及人類評估

該研究使用 Codex 為每門課程生成新的問題,通過資料集建立有編号的問題清單來完成,這個清單在生成随機數量的問題之後會被截斷斷,結果将用于提示 Codex 生成下一個問題。不斷的重複這個過程,就可以為每門課程産生許多新的問題。

該研究對參加過這些課程或同等課程的、來自 MIT 和哥倫比亞大學的學生進行了一項長期調查。調查的目的是比較每門課程機器生成的問題與人工編寫的問題的品質和難度。該研究為每門 MIT 的課程随機抽取五個原始問題和五個生成的問題。在調查中,學生被要求閱讀每門課程的十個問題,這些問題是人工編寫的問題和機器生成的問題的混合。

對于 60 個問題中的每一個,學生都被問到三個問題,如圖 5 所示:他們是否認為給定的問題是 (i) 人工編寫的或機器生成的,(ii) 适合或不适合特定課程,以及 (iii) ) 在 1(最簡單)和 5(最難)之間的範圍内,問題的難度級别是多少。要求學生提供他們對數學問題的評分,而不是解決這些問題。該調查以線上和匿名的形式提供。

AI生成高數題,難出新高度:MIT提出首個可出題、做題、評分的算法模型

調研結果

問題求解

研究者共求解了補充資料中展示的 210 個問題,其中包括 6 門課程各自對應的 25 個随機問題以及 MATH 資料集中 6 個主題(初級代數、代數、數論、計數與機率、中極代數、微積分)各自對應的 10 個随機問題。

生成新問題

研究者生成了 120 個新問題,其中包括 6 門課程和 6 個 MATH 主題各自對應的 10 個新問題。下表 2 展示了每門課程和每個 MATH 主題對應的一個生成問題。生成一個問題隻需不到 1 秒的時間,研究者可以生成任意數量的問題。他們為 Codex 能夠生成正确答案的 25 個随機選擇的問題建立了提示,切入随機問題,并讓 Codex 完成下一個新問題。

AI生成高數題,難出新高度:MIT提出首個可出題、做題、評分的算法模型

學生調研結果

研究者表示,共有 13 位參與者完成了全部 60 個問題的問答調研,平均耗時 40 分鐘。下圖 6 總結了學生調研中人工編寫(human-written)和機器生成(machine-generated)問題的比較情況,并得出了以下幾項結果:

機器生成的問題要比人工編寫的問題難度高,但在置信區間内;

人工編寫的問題要比機器生成的問題更适合課程;

人工編寫的問題更容易被認為人寫的,并且将機器生成問題看作機器生成和人工編寫的機率相同。

AI生成高數題,難出新高度:MIT提出首個可出題、做題、評分的算法模型

答案定級

Codex 能夠回答所有随機采樣的大學水準和 MATH 資料集數學問題,無論它們是原始狀态還是整理後狀态。

挑戰

研究者的方法還有一些無法解決的技術障礙。

1、輸入圖像。Codex 的一個基礎限制是它隻能接收基于文本的輸入。是以,Codex 無法使用圖形或圖表等必要的視覺元件來回答問題。

2、高等數學證明。這項研究的另一個限制是缺乏對高等數學的證明。研究者強調稱,這是由研究自身的廣度而不是 Codex 的證明能力導緻的。事實上,該研究中送出至 Codex 的大多數簡單分析證明都已成功地被執行,這令人震驚,因為證明通常不是基于代碼的。

3、程式評估。該研究的最後一步是執行程式,例如使用 Python 解釋器。參加大學水準課程的學生也會編寫代碼來解決他們的部分問題。是以,該研究以與人類學生相同的方式測試神經網絡解決問題的能力,讓他們使用必要的工具。還有關于神經程式評估的工作,示範了使用機器學習來預測程式輸出。LSTM 用于成功預測某些線性時間和恒定空間程式的輸出 (18)。這些都增加了記憶體暫存器以允許更大的程式類别 (19)。最近的方法使用因果 GNN (20) 和 transformer (21)。盡管評估任意代碼是不可判定的,但特殊情況,例如由另一個 transformer 生成的用于解決簡單數學問題的程式,原則上應該是可學習的。

4、理論複雜性。計算複雜度的結果表明,該研究無法解決大學數學課程中一般問題的每一個具體執行個體。例如,以下問題具有難以處理的結果:向量 v 可以表示為來自集合 S 的向量之和嗎?以下一階微分方程的解是什麼?但是,我們知道作業和考試給出的問題可以由人類解決,是以這些複雜性結果不适用于該研究的特定執行個體解決。

使用NVIDIA Riva快速建構企業級TTS語音合成助手

NVIDIA Riva 是一個使用 GPU 加速,能用于快速部署高性能會話式 AI 服務的 SDK,可用于快速開發語音 AI 的應用程式。Riva 的設計旨在幫助您輕松、快速地通路會話 AI 功能,開箱即用,通過一些簡單的指令和 API 操作就可以快速建構進階别的 TTS 語音合成服務。

2022年1月12日19:30-21:00,本次線上分享主要介紹:

語音合成簡介

NVIDIA Riva 特性介紹

啟動 NVIDIA Riva 用戶端快速實作文字轉語音功能

使用 Python 快速搭建基于 Riva 的 TTS 語音合成服務應用

繼續閱讀