訓練 Transformer,用來解決132 年的數學世紀難題!
如何判斷一個動力系統(如三體問題)是否穩定?Meta和巴黎理工學院團隊攜手提出 Symbolic Transformer,直指這一經典難題的核心:
發現新的全局李雅普諾夫函數。
從牛頓、拉格朗日到龐加萊,無數科學家傾力研究三體問題的長期穩定性,卻始終無法給出一個通用的判定方法。
直到 1892 年,俄國數學家Aleksandr Lyapunov提出了以他名字命名的李雅普諾夫函數:
如果存在一個函數 V,其在平衡點處有嚴格最小值,在無窮遠處爲無窮大,且梯度始終指向遠離系統梯度的方向,則全局穩定性得到保證。
但遺憾的是,李雅普諾夫隻證明了這個結論,并沒有提供尋找這個函數的方法。
130 多年過去了,科學界仍然不知道對于一般的系統該如何尋找李雅普諾夫函數,現有的算法隻能求解非常小規模的多項式系統。
換句話說,李雅普諾夫函數的系統化構造方法,依然是一個懸而未決的數學難題。
現在,這一局面有望被 AI 打破。
研究團隊把尋找李雅普諾夫函數構建成一種序列到序列翻譯任務,問題和解決方案都表示爲符号 tokens 序列,就能用上原本爲機器翻譯而生的 Transformer 模型了。
最終,在8 張 V100 上訓練 100 個 GPU 時左右的模型,取得了驚人的成績:
對于前人已解決的多項式系統,模型精度高達 84%,大幅領先人類專家的 9% 和此前 SOTA 算法工具。
面對随機生成的新多項式系統,模型成功找到了 10.1%-11.8% 的李雅普諾夫函數,而此前最好的算法工具隻有 0.7%-1.1%。
重新發現了 Ahmadi 等在 2011 年首次給出的一個多項式系統的非多項式李雅普諾夫函數
相關論文已入選NeurIPS 2024,且剛剛在 ArXiv 公開。
作者 Meta 科學家 Fran ç ois Charto 表示,盡管 Symbolic Transformer 像其他 AI 模型一樣還是一個黑盒系統,但它給出的李雅普諾夫函數是明确的符号表達式,完全可以經受數學證明的檢驗。
用 Transformer 解決數學難題,最大的困難是什麽?
答案不難想到:缺少數據,特别是在這個場景中,需要動力系統與李雅普諾夫函數的配對數據。
爲此,Meta 和巴黎理工團隊利用了正向和反向數據生成相結合的策略。
正向數據生成,也就是根據多項式系統生成對應的李雅普諾夫函數。
雖然沒有通用方法,但如果一個李雅普諾夫函數能表示成多項式的平方和,就有現存工具可以計算。
最終方法分爲三步:
先随機生成一個多項式系統,
尋找是否存在平方和形式的李雅普諾夫函數,
如果存在則保留這個多項式系統,不存在回到步驟 1
不過這個方法有幾個局限。
大多數對象是系統都不穩定,且計算平方和李雅普諾夫函數涉及複雜的搜索,系統規模的增長,對算力和内存需求會呈爆炸式增長,所以這種方法速度很慢且僅适用于小的多項式系統。
于是還需要配合反向數據生成方法,根據答案反向構造問題。
這種方法也存在幾個局限,比如 AI 傾向于偷懶,從任務中學習更簡單的子問題,因此也需要做出一些限制。
最終方法大緻可以理解成,先随機生成一個滿足特定條件的李雅普諾夫函數,再反向構造出與之匹配的動力系統。
最終團隊生成了 4 個數據集:
BPoly,包含 100 萬個反向生成的多項式系統與配對的李雅普諾夫函數,系統中的方程數量爲 2 到 5 個不等。
BNonPoly,包含 100 萬個反向生成的非多項式系統配對樣本,現有算法通常無法處理這種類型的系統,非多項式李雅普諾夫函數的發現尤其具有挑戰性
FBarr,包含 30 萬個正向生成的 Barrier 函數配對樣本,并不是嚴格的李雅普諾夫函數,用于測試模型在尋找不能嚴格滿足李雅普諾夫正定條件的系統中的李雅普諾夫函數。
FLyap,包含 10 萬個正向生成的标準李雅普諾夫配對樣本,每個動力系統的李雅普諾夫函數都是非齊次多項式,
最終試驗發現,在不同數據集上訓練的模型都取得了很好的準确性。
使用Beam Search方法在寬度 50 時能給低性能模型帶來額外 7%-10% 的提升。
特别是在後向數據訓練集中添加少量前向生成數據示例,帶來顯著的分布外測試性能提升。
将 FBarr 中的 300 個示例添加到 BPoly 中,就能把 FBarr 準确率從 35% 提高到 89%。另外添加 FLyap 示例帶來的改進較小。
與此前 SOTA 基線比較,在混合數據上訓練的模型取得了最好的效果。
基于 Transformer 的模型也比 SOSTOOL 方法快得多。
當嘗試求解具有 2 到 5 個方程的随機多項式系統時,SOSTOOL 的 Python 版本平均需要 935.2 秒。
Transformer 模型在貪婪解碼時,一個系統的推理和驗證平均需要 2.6 秒,而 Beam Search 寬度爲 50 時,平均需要 13.9 秒。
研究的最終目标是發現新的李雅普諾夫函數,在随機生成的 2-3 個多項式、2-5 個多項式的數據集中,最佳模型發現了 11.8% 和 10.1% 的李雅普諾夫函數,是傳統方法的 10 倍。
對于非多項式系統,模型發現了 12.7% 的李雅普諾夫函數。
這些結果表明,從合成數據集訓練的語言模型确實可以發現未知的李雅普諾夫函數,并比此前最先進的傳統算法求解器效果更好。
作者巴黎師範教授Amaury Hayat表示,幾年前剛開始這個項目時,作爲一個年輕而天真的數學家,他認爲如果方法真的成功了,那簡直可以算是黑魔法。
幾年過去了,見識了 AI 的諸多成就,我對此已經理性得多了,但依然感覺……(不可思議)。
論文地址:
https://arxiv.org/abs/2410.08304
參考鏈接:
[ 1 ] https://x.com/f_charton/status/1846884416930402633
[ 2 ] https://x.com/Amaury_Hayat/status/1846889179780673853