行早 發自 凹非寺
量子位 | 公眾號 QbitAI
AI在最不擅長的數學方面,這次大幅重新整理了最好成績。
其中關鍵角色是OpenAI給Lean做的一個定理證明器。
聽起來有點耳熟?沒錯,就是去年參加國際數學奧林匹克競賽(IMO)的“非人”選手Lean~
自從2013年微軟研究院推出Lean以來,就一直嘗試讓AI在數學命題證明這方面取得進展。
而這次也確實得到了回報,OpenAI新做的這個定理證明器讓它學會了解決一部分有難度的高中奧數題,包括美國的數學競賽AMC12、AIME甚至是國際奧數競賽中的題。
它首先會用語言模型將數學問題轉化為另一種形式,列出隱藏的條件和已知資訊,然後來推理求證。
雖然在剛開始效果並不明顯,只能證明幾個命題。但是在不斷地搜尋新的證明,經過八次迭代之後,在miniF2F測試中,成功地把分數從29.3%刷到了41.2%。
我們來看看這AI是怎麼在奧數題上施展拳腳的。
AI如何做奧數題
先來看一個簡單的問題熱熱身:
對於所有大於等於9的整數n,證明下圖中的式子是一個完全平方數。
按照普通人的思考方式,可以先把式中分子提出一個n的階乘,與分母約去。
然後分子化簡為(n+1)2。這在形式上就是一個完全平方數,問題得證。
那AI是怎麼做的呢?
它首先從文字中提取了條件和已知資訊,例如n是整數、n大於等於9。
接下來,它把需要證明的問題換了一種說法,改為:
存在一個整數x,使x2和原式相等。
然後在解題的過程中,完全由模型直接生成了一個數學項“n+1”作為一個解:use n+1。接下來再去驗證這個解是否成立。
如果沒有語言模型,這是不可能做到的。
這麼看來這模型能耐了,還有了一些數學想法,再拿一道國際奧賽的改編題來考考它:
設a、b、c是一個三角形的三條邊,證明a2(b+c-a)+b2(c+a-b)+c2(a+b-c)≤3abc。
同樣地,AI還是先把條件都列出來。不過這次還列出了與三角形有關的隱藏條件:
a、b、c都是大於0的實數,並且有任意兩邊之和大於第三邊。
然後模型還自創了一個方法,列出了(b-a)、(c-b)、(c-a),看起來好像不明所以。
但是如果把目標式子展開,你就會發現這三項正是舒爾不等式的幾個對稱項:
根據舒爾不等式,對所有非負實數x、y、z和正數t,都有:
當t=1時,這和奧數題中的形式完全一樣,命題得證。
這麼看來,AI這水平著實不簡單啊,要構造出這種效果可絕非易事。
對奧數下手的難點
讓AI來做奧數,確實比學生自己磕高數題難多了。
這第一個難點就是,模型不是從有限的選項中做選擇。要是像下圍棋那樣,格點就那麼多,選擇空間有限,還好說一點。
但是做奧數,模型要從一組複雜的無限策略中做選擇,期間還要生成一些數學中的術語,例如“存在”、“任意”等。
針對這個難點,OpenAI透過在搜尋證明方法時從語言模型中取樣來解決。
而第二點就是模型缺乏自我對抗和博弈。做奧數題和雙人遊戲不同,它不是和另一個玩家比賽,而是要證明一個數學命題。
這樣一來在雙人遊戲上成功的演算法就不能遷移過來。
為了解決這個問題,研究人員提供了一套不同難度“教輔資料”,用來輔助描述問題而不需要證明。
當這些輔助的描述難度越來越大時,模型就能解決越來越難的問題。
不過這兩個難點,反倒可以成為它的優勢。
一方面,因為這類數學命題的證明就是需要推理,需要無限的創造力和洞察力。
另一方面,這種輔助描述式的方法也有助於AI自動推理的發展。
說不好,將來深度學習模型還能征服奧數這座高山。
參考連結:
https://openai.com/blog/formal-math/
— 完 —
量子位 QbitAI · 頭條號簽約
關注我們,第一時間獲知前沿科技動態