機(jī)器之心報道
機(jī)器之心編輯部
(相關(guān)資料圖)
「數(shù)學(xué)研究就像尼羅河一樣,始于細(xì)微,終于宏大。」—— Charles Caleb Colton,英國作家
數(shù)學(xué)推理是人類智能的關(guān)鍵體現(xiàn),它使我們能夠理解并做出基于數(shù)值數(shù)據(jù)和語言的決策。數(shù)學(xué)推理適用于各個領(lǐng)域,包括科學(xué)、工程、金融和日常生活,并包含一系列能力,諸如從模式識別、數(shù)字運(yùn)算等基本技能到解決問題、邏輯推理和抽象思維等高級技能。
長期以來,開發(fā)能夠解決數(shù)學(xué)問題、證明數(shù)學(xué)定理的 AI 系統(tǒng)是機(jī)器學(xué)習(xí)和自然語言處理領(lǐng)域的研究重點(diǎn)。這也可以追溯到 20 世紀(jì) 60 年代。
在深度學(xué)習(xí)興起的近十年,人們對這一領(lǐng)域的興趣更是大幅增長:
圖 1:每年發(fā)表的關(guān)于數(shù)學(xué)推理的深度學(xué)習(xí)論文的預(yù)估數(shù)量。自 2018 年以來,這一領(lǐng)域經(jīng)歷了快速增長。
深度學(xué)習(xí)在各種自然語言處理任務(wù)中顯示出巨大的成功,如問題回答和機(jī)器翻譯。同樣,研究人員開發(fā)了各種用于數(shù)學(xué)推理的神經(jīng)網(wǎng)絡(luò)方法,這些方法在處理應(yīng)用題、定理證明和幾何問題解決等復(fù)雜任務(wù)時已被證明是有效的。例如,基于深度學(xué)習(xí)的應(yīng)用題求解器采用了一個序列到序列的框架,并以注意力機(jī)制作為中間步驟生成數(shù)學(xué)表達(dá)式。此外,通過大規(guī)模語料庫和 Transformer 模型,預(yù)訓(xùn)練的語言模型在各種數(shù)學(xué)任務(wù)上取得了可喜的成果。最近,像 GPT-3 這樣的大型語言模型在復(fù)雜推理和語境學(xué)習(xí)中表現(xiàn)出令人印象深刻的能力,進(jìn)一步推動了數(shù)學(xué)推理領(lǐng)域的發(fā)展。
在近期發(fā)布的一篇報告中,來自 UCLA 等機(jī)構(gòu)的研究者系統(tǒng)回顧了深度學(xué)習(xí)在數(shù)學(xué)推理方面的進(jìn)展。
論文鏈接:https://arxiv.org/pdf/2212.10535.pdf
項目地址:https://github.com/lupantech/dl4math
具體而言,本文討論了各種任務(wù)和數(shù)據(jù)集(第 2 節(jié)),并研究了神經(jīng)網(wǎng)絡(luò)(第 3 節(jié))和預(yù)訓(xùn)練語言模型(第 4 節(jié))在數(shù)學(xué)領(lǐng)域的進(jìn)展。此外還探討了大型語言模型的上下文學(xué)習(xí)在數(shù)學(xué)推理中的快速發(fā)展(第 5 節(jié))。文章進(jìn)一步分析了現(xiàn)有的基準(zhǔn),發(fā)現(xiàn)對多模態(tài)和低資源環(huán)境的關(guān)注較少(第 6.1 節(jié))?;谘C的研究表明,目前的計算能力表征是不充分的,深度學(xué)習(xí)方法在數(shù)學(xué)推理方面也是不一致的(第 6.2 節(jié))。隨后,作者建議在概括性和魯棒性、可信推理、從反饋中學(xué)習(xí)和多模態(tài)數(shù)學(xué)推理方面改進(jìn)目前的工作(第 7 節(jié))。
任務(wù)和數(shù)據(jù)集
本節(jié)研究了目前可用于研究使用深度學(xué)習(xí)方法的數(shù)學(xué)推理的各種任務(wù)和數(shù)據(jù)集,見表 2。
應(yīng)用題 (Math Word Problem)
應(yīng)用題包含一個涉及人物、實(shí)體和數(shù)量的簡短敘述其,數(shù)學(xué)關(guān)系可以用一組方程來模擬,方程的解揭示了問題的最終答案。表 1 就是一個典型的例子。一個問題涉及加、減、乘、除四種基本的數(shù)學(xué)運(yùn)算,有單一或多個運(yùn)算步驟。應(yīng)用題對 NLP 系統(tǒng)的挑戰(zhàn)在于對語言理解、語義解析和多種數(shù)學(xué)推理能力的需求。
現(xiàn)有的應(yīng)用題數(shù)據(jù)集涵蓋了小學(xué)階段的問題,這些問題是從在線學(xué)習(xí)網(wǎng)站上抓取的、從教科書中收集的或由人類手動注釋的。早期的應(yīng)用題數(shù)據(jù)集相對較小,或者僅限于少量的操作步驟。最近的一些數(shù)據(jù)集旨在增加問題的多樣性和難度。例如,目前最大的公開問題集 Ape210K 由 210k 個小學(xué)應(yīng)用題組成;而 GSM8K 中的問題可以涉及多達(dá) 8 個步驟的解法。SVAMP 是一個基準(zhǔn),測試深度學(xué)習(xí)模型對具有簡單變化的應(yīng)用題的魯棒性。一些最近建立的數(shù)據(jù)集還涉及文本以外的模態(tài)。例如,IconQA 提供了一個抽象的圖表作為視覺背景,而 TabMWP 為每個問題提供了一個表格形式的背景。
大多數(shù)應(yīng)用題數(shù)據(jù)集會提供注釋方程作為解決方案的理由(如表 1)。為了提高學(xué)習(xí)的求解器的性能和可解釋性,MathQA 用精確的運(yùn)算程序進(jìn)行注釋,MathQA-Python 則提供具體的 Python 程序。另一些數(shù)據(jù)集用多步驟的自然語言解決方案對問題進(jìn)行注釋,這些解決方案被認(rèn)為更適合人類閱讀。Lila 用 Python 程序的原理注釋了許多前面提到的應(yīng)用題數(shù)據(jù)集。
理論證明
定理證明自動化是 AI 領(lǐng)域的一個長期挑戰(zhàn)。問題通常是通過一連串的邏輯論證來證明一個數(shù)學(xué)定理的真理性。定理證明涉及各種技能,如選擇高效的多步驟策略、使用背景知識以及進(jìn)行符號運(yùn)算(如算術(shù)或推導(dǎo))。
最近,人們對在形式化的交互式定理證明器(ITP)中使用語言模型進(jìn)行定理證明越來越感興趣。定理會在 ITP 的編程語言中被陳述,然后通過生成「證明步驟」來簡化,直到它被簡化為已知事實(shí)。其結(jié)果是一個步驟序列,構(gòu)成一個驗(yàn)證的證明。
非形式化定理證明提出了定理證明的另一種媒介,即用自然語言和「標(biāo)準(zhǔn)」數(shù)學(xué)符號(如 LATEX)的混合形式來編寫語句和證明,并由人類檢查其正確性。
一個新興的研究領(lǐng)域旨在結(jié)合非正式和正式定理證明的要素。例如,Wu et al. (2022b) 探索將非形式化語句翻譯成形式化語句,而 Jiang et al. (2022b)發(fā)布了一個新版本的 miniF2F 基準(zhǔn),其中增加了非形式化語句和證明,稱為 miniF2F+informal。Jiang et al. (2022b)探索將提供(或生成)的非形式化證明轉(zhuǎn)化為形式化證明。
幾何問題
幾何問題自動化求解(GPS)也是數(shù)學(xué)推理研究中一個長期存在的人工智能任務(wù),并在近年來引起了廣泛關(guān)注。與應(yīng)用題不同,幾何問題由自然語言的文本描述和幾何圖形組成。如圖 2 所示,多模態(tài)輸入描述了幾何元素的實(shí)體、屬性和關(guān)系,而目標(biāo)是找到未知變量的數(shù)值解。由于需要復(fù)雜的技能,GPS 對深度學(xué)習(xí)方法來說是一項具有挑戰(zhàn)性的任務(wù)。它涉及到解析多模態(tài)信息、進(jìn)行符號抽象、利用定理知識和進(jìn)行定量推理的能力。
早期的數(shù)據(jù)集促進(jìn)了這一領(lǐng)域的研究,然而這些數(shù)據(jù)集相對較小或不公開,這限制了深度學(xué)習(xí)方法的發(fā)展。為了應(yīng)對這一限制,Lu et al. 創(chuàng)建了 Geometry3K 數(shù)據(jù)集,該數(shù)據(jù)集由 3002 個多選幾何問題組成,并對多模態(tài)輸入進(jìn)行了統(tǒng)一的邏輯形式注釋。最近,更大規(guī)模的數(shù)據(jù)集,如 GeoQA、GeoQA + 和 UniGeo 已經(jīng)被引入,并被注釋了可以被神經(jīng)求解器學(xué)習(xí)并執(zhí)行以獲得最終答案的程序。
數(shù)學(xué)問答
最近的研究表明,SOTA 數(shù)學(xué)推理系統(tǒng)在推理上可能存在「脆性」,即模型依靠特定數(shù)據(jù)集的虛假信號和即插即用的計算來達(dá)到「令人滿意」的性能。為了解決這個問題,人們從各個方面提出了新的基準(zhǔn)。The Mathematics (Saxton et al., 2020) 數(shù)據(jù)集包括許多不同類型的數(shù)學(xué)問題,涵蓋算術(shù)、代數(shù)、概率和微積分。該數(shù)據(jù)集可以測量模型的代數(shù)泛化能力。同樣,MATH (Hendrycks et al., 2021) 由具有挑戰(zhàn)性的競賽數(shù)學(xué)組成,以衡量模型在復(fù)雜情況下的問題解決能力。
一些工作在問題輸入中加入了表格背景。例如,F(xiàn)inQA、TAT-QA 和 MultiHiertt 收集了需要表格理解和數(shù)值推理來回答的問題。一些研究則提出了大規(guī)模的數(shù)值推理的統(tǒng)一基準(zhǔn)。NumGLUE (Mishra et al., 2022b) 是一個多任務(wù)基準(zhǔn),目標(biāo)是評估模型在八個不同任務(wù)上的表現(xiàn)。Mishra et al. 2022a 提出了 Lila,進(jìn)一步推動了這一方向,Lila 由 23 個數(shù)值推理任務(wù)組成,跨越了廣泛的數(shù)學(xué)主題、語言復(fù)雜性、問題格式和背景知識要求。
AI 同樣在其他類型的定量問題上有所成就。比如數(shù)字、圖表和繪圖,是以簡明的方式傳達(dá)大量信息的基本媒介。FigureQA、DVQA、MNS、PGDP5K 和 GeoRE 都是為了研究模型對基于圖表的實(shí)體間的定量關(guān)系進(jìn)行推理的能力推出的。NumerSense 研究了現(xiàn)有的預(yù)訓(xùn)練語言模型是否以及在多大程度上能夠感應(yīng)數(shù)值常識知識。EQUATE 在自然語言推理框架中對定量推理的各個方面進(jìn)行了形式化。定量推理還經(jīng)常出現(xiàn)在金融、科學(xué)和編程等特定領(lǐng)域。例如,ConvFinQA 以對話式問答的形式對財務(wù)報告進(jìn)行數(shù)字推理;ScienceQA 涉及科學(xué)領(lǐng)域的數(shù)字推理;而 P3 研究了深度學(xué)習(xí)模型的函數(shù)推理能力,找到一個有效的輸入讓給定的程序返回 True。
用于數(shù)學(xué)推理的神經(jīng)網(wǎng)絡(luò)
對于常見的用于數(shù)學(xué)推理的幾種神經(jīng)網(wǎng)絡(luò),本文的作者也進(jìn)行了總結(jié)。
Seq2Seq 網(wǎng)絡(luò)
Seq2Seq 神經(jīng)網(wǎng)絡(luò)已經(jīng)成功地應(yīng)用于數(shù)學(xué)推理任務(wù),如應(yīng)用題、定理證明、幾何問題和數(shù)學(xué)問題回答。Seq2Seq 模型使用編碼器 - 解碼器架構(gòu),通常將數(shù)學(xué)推理形式化為一個序列生成任務(wù)。這種方法的基本思想是將輸入序列(如數(shù)學(xué)問題)映射到輸出序列(如方程式、程序和證明)。常見的編碼器和解碼器包括長短時記憶網(wǎng)絡(luò)(LSTM)、門控遞歸單元(GRU)。大量的工作表明,Seq2Seq 模型比以前的統(tǒng)計學(xué)習(xí)方法具有性能優(yōu)勢,包括它們的雙向變體 BiLSTM 和 BiGRU。DNS 是第一項使用 Seq2Seq 模型將應(yīng)用題中的句子轉(zhuǎn)化為數(shù)學(xué)方程的工作。
基于圖的網(wǎng)絡(luò)
Seq2Seq 方法具備生成數(shù)學(xué)表達(dá)式和不依賴手工制作特征的優(yōu)勢。數(shù)學(xué)表達(dá)式可以轉(zhuǎn)化為基于樹的結(jié)構(gòu),例如抽象語法樹(AST)和基于圖的結(jié)構(gòu),描述了表達(dá)式中的結(jié)構(gòu)化信息。然而,這種重要的信息并沒有被 Seq2Seq 方法明確地建模。為了解決這個問題,研究者開發(fā)了基于圖的神經(jīng)網(wǎng)絡(luò)來明確地模擬表達(dá)式中的結(jié)構(gòu)。
Sequence-to-tree(Seq2Tree)模型在對輸出序列進(jìn)行編碼時明確地對樹結(jié)構(gòu)進(jìn)行建模。例如,Liu et al. 設(shè)計了一個 Seq2Tree 模型來更好地利用方程的 AST 信息。相反,Seq2DAG 在生成方程時應(yīng)用了一個序列圖(Seq2Graph)框架,因?yàn)閳D解碼器能夠提取多個變量之間的復(fù)雜關(guān)系。在對輸入的數(shù)學(xué)序列進(jìn)行編碼時,也可以嵌入基于圖的信息。例如,ASTactic 在 AST 上應(yīng)用 TreeLSTM 來表示定理證明的輸入目標(biāo)和前提。
基于注意力的網(wǎng)絡(luò)
注意力機(jī)制已成功應(yīng)用于自然語言處理和計算機(jī)視覺問題,在解碼處理過程中考慮到了輸入的隱藏矢量。研究人員一直在探索它在數(shù)學(xué)推理任務(wù)中的作用,因?yàn)樗梢杂脕碜R別數(shù)學(xué)概念之間最重要的關(guān)系。例如,MATH-EN 是一個應(yīng)用題求解器,它得益于通過自注意力學(xué)習(xí)的長距離依賴信息?;谧⒁饬Φ姆椒ㄒ脖粦?yīng)用于其他數(shù)學(xué)推理任務(wù),如幾何問題和定理證明。為了提取更好的表征,人們研究了各種注意力機(jī)制,如使用不同的多頭注意力來提取各種類型的 MWP 特征的 Group-ATT,以及被應(yīng)用于提取 knowledge-aware 信息的圖注意力。
其他神經(jīng)網(wǎng)絡(luò)
數(shù)學(xué)推理任務(wù)的深度學(xué)習(xí)方法也可以利用其他神經(jīng)網(wǎng)絡(luò),如卷積神經(jīng)網(wǎng)絡(luò)和多模態(tài)網(wǎng)絡(luò)。一些工作使用卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)對輸入文本進(jìn)行編碼,使模型有能力捕捉輸入中符號之間的長期關(guān)系。例如,Irving et al. 研究提出了深度神經(jīng)網(wǎng)絡(luò)在定理證明中的第一個應(yīng)用,它依靠卷積網(wǎng)絡(luò)在大型理論中進(jìn)行前提選擇。
多模態(tài)數(shù)學(xué)推理任務(wù),如幾何問題解決和基于圖表的數(shù)學(xué)推理,被形式化為視覺問題答案(VQA)問題。在這個領(lǐng)域,視覺輸入使用 ResNet 或 Faster-RCNN 進(jìn)行編碼,而文本表征則通過 GRU 或 LTSM 獲得。隨后,使用多模態(tài)融合模型學(xué)習(xí)聯(lián)合表征,如 BAN、FiLM 和 DAFA。
其他深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)也可用于數(shù)學(xué)推理。Zhang et al. 利用圖譜神經(jīng)網(wǎng)絡(luò)(GNN)在空間推理中的成功,將其用于幾何問題。由于能夠解決縱向時間序列數(shù)據(jù),WaveNet 被應(yīng)用于定理證明。此外,在 DDT 中生成數(shù)學(xué)方程方面,Transformer 被發(fā)現(xiàn)優(yōu)于 GRU。以及,MathDQN 是第一個探索解決數(shù)學(xué)應(yīng)用題的強(qiáng)化學(xué)習(xí)工作,主要利用其強(qiáng)大的搜索能力。
用于數(shù)學(xué)推理的預(yù)訓(xùn)練語言模型
預(yù)訓(xùn)練的語言模型已經(jīng)在廣泛的 NLP 任務(wù)上表現(xiàn)出顯著的性能提升,同樣應(yīng)用于數(shù)學(xué)相關(guān)的問題,此前的工作表明,預(yù)訓(xùn)練語言模型在解答應(yīng)用題上有很好的表現(xiàn),協(xié)助進(jìn)行定理證明以及其他數(shù)學(xué)任務(wù)。然而,將其用于數(shù)學(xué)推理卻存在若干挑戰(zhàn)。
首先,預(yù)訓(xùn)練語言模型不是專門針對數(shù)學(xué)數(shù)據(jù)的訓(xùn)練。這可能導(dǎo)致它們在數(shù)學(xué)相關(guān)任務(wù)中的熟練程度低于自然語言任務(wù)。與文本數(shù)據(jù)相比,可用于大規(guī)模預(yù)訓(xùn)練的數(shù)學(xué)或科學(xué)數(shù)據(jù)也較少。
其次,預(yù)訓(xùn)練模型的規(guī)模持續(xù)增長,使得為特定的下游任務(wù)從頭開始訓(xùn)練整個模型的成本很高。
此外,下游任務(wù)可能會處理不同的輸入格式或模態(tài),如結(jié)構(gòu)化表格或圖表。為了應(yīng)對這些挑戰(zhàn),研究者必須通過在下游任務(wù)上對預(yù)訓(xùn)練模型進(jìn)行微調(diào)或調(diào)整神經(jīng)架構(gòu)。
最后,盡管預(yù)訓(xùn)練的語言模型可以編碼大量的語言信息,但僅從語言建模的目標(biāo)來看,模型可能很難學(xué)習(xí)數(shù)字表示或高級推理技能??紤]到這一點(diǎn),最近有研究調(diào)查了從基礎(chǔ)知識開始的課程對數(shù)學(xué)相關(guān)技能的注入。
數(shù)學(xué)的自監(jiān)督學(xué)習(xí)
下表 4 提供了一個預(yù)訓(xùn)練了數(shù)學(xué)推理的自監(jiān)督任務(wù)的語言模型列表。
特定任務(wù)的數(shù)學(xué)微調(diào)
當(dāng)沒有足夠的數(shù)據(jù)來從頭訓(xùn)練大型模型時,特定任務(wù)的微調(diào)也是一種常見的做法。如表 5 所示,現(xiàn)有的工作嘗試了在各種下游任務(wù)上對預(yù)訓(xùn)練語言模型進(jìn)行微調(diào)。
除了對模型參數(shù)進(jìn)行微調(diào),很多工作還使用預(yù)訓(xùn)練語言模型作為編碼器,將其與其他模塊組合起來完成下游任務(wù),例如,IconQA 提出將 ResNet 和 BERT 分別用于圖表識別和文本理解。
數(shù)學(xué)推理中的上下文學(xué)習(xí)
一個上下文的樣本通常包含一個輸入 - 輸出對和一些 prompt 詞,例如,請從列表中選擇最大的數(shù)字。
輸出:8。
少樣本學(xué)習(xí)會給出多個樣本,然后模型在最后一個輸入樣本時預(yù)測輸出。然而這種標(biāo)準(zhǔn)的少樣本 prompting,即在 test-time 樣本前給大型語言模型提供輸入 - 輸出對的上下文樣本,還沒有被證明足以在數(shù)學(xué)推理等挑戰(zhàn)性任務(wù)上取得良好表現(xiàn)。
思維鏈(Chain-of-thought prompting,CoT)利用中間的自然語言解釋作為 prompt,使大型語言模型首先生成推理鏈,然后預(yù)測一個輸入問題的答案。例如,一個解決應(yīng)用題的 CoT prompt 可以是
Kojima et al.(2022)提出,為模型提供「讓我們一步一步地思考?。↙et’s think step by step!)」的 prompt 會讓大型語言模型成為良好的零樣本推理器。除此之外,近期的大部分工作都集中在如何在零樣本推理的設(shè)置下改進(jìn)思維鏈推理。這類工作主要分為兩部分:(i)選擇更好的上下文樣本和(ii)創(chuàng)造更好的推理鏈。
上下文樣本選擇
早期的思維鏈工作是隨機(jī)地或啟發(fā)式地選擇上下文樣本。最近的研究卻表明,在不同的上下文例子選擇中,這種類型的少樣本學(xué)習(xí)可能是非常不穩(wěn)定的。因此,哪些上下文的推理樣本能做出最高效的 prompt,在學(xué)術(shù)上仍是一個未知的問題。
為了解決這個局限,最近的一些工作研究了各種方法來優(yōu)化上下文樣本的選擇過程。例如,Rubin et al.(2022)試圖通過檢索語義相似的樣本來解決這個問題。然而,這種方法在數(shù)學(xué)推理問題上效果不佳,而且如果包含結(jié)構(gòu)化信息(如表格)就很難衡量相似性。此外,F(xiàn)u et al.(2022)提出了基于復(fù)雜性的 prompt,選擇具有復(fù)雜推理鏈的樣本(即具有更多推理步驟的鏈)作為 prompt。Lu et al.(2022b)提出了一種通過強(qiáng)化學(xué)習(xí)來選擇上下文樣本的方法。具體來說,智能體學(xué)習(xí)從候選池中找到最佳的上下文樣本,目的是在與 GPT-3 環(huán)境互動時,使給定的訓(xùn)練樣本的預(yù)測獎勵最大化。此外,Zhang et al.(2022b)發(fā)現(xiàn)示例問題的多樣化也可以提高模型性能。他們提出了一個兩步法來構(gòu)建上下文中的示例問題:首先,將給定數(shù)據(jù)集的問題劃分為幾個群組;其次,從每個群組中選擇一個有代表性的問題,并使用具有簡單啟發(fā)式的零樣本思維鏈生成其推理鏈。
高質(zhì)量推理鏈
早期的思維鏈工作主要依靠單一的人類注釋推理鏈作為 prompt。然而,人工創(chuàng)建推理鏈有兩個缺點(diǎn):首先,隨著任務(wù)變得越來越復(fù)雜,目前的模型可能不足以學(xué)會執(zhí)行所有必要的推理步驟,而且不能輕易推廣到不同的任務(wù);其次,單一的解碼過程很容易受到錯誤推理步驟的影響,導(dǎo)致最終的答案是不正確的預(yù)測。為了解決這個限制,最近的研究主要集中在兩個方面:(i)手工制作更復(fù)雜的示例,稱為基于過程的方法;(ii)利用類似集合的方法,稱為基于結(jié)果的方法。
在評估現(xiàn)有的基準(zhǔn)和方法之后,作者還討論了這一領(lǐng)域的未來研究方向。更多研究細(xì)節(jié),可參考原論文。
關(guān)鍵詞: 語言模型 神經(jīng)網(wǎng)絡(luò) 學(xué)習(xí)方法