強化學習

貝爾曼方程式(Bellman equation)

/ BEL-mun ee-KWAY-zhun /

貝爾曼方程式屬於那種罕見的想法:既深刻,又在你看懂的一剎那變得顯而易見。它說:我此刻所站之處的價值,等於我邁出下一步所得的獎勵,加上那一步把我送到之處的價值。換句話說,一份龐大的未來獎勵,總能切成「我現在拿到的」加「往後還剩的」。一個情形那漫長的長期價值,是用它一步之後的自身來定義的。

正是這種自我指涉的形態,讓強化學習成為可計算的。智能體無須把每一種可能的未來想像到時間的盡頭,只需把每個狀態與它緊鄰的鄰居關聯起來。知識便由此向外盪漾開去:靠近目標處的價值最先變得準確,接著差一步的格子接收到它,再接著是差兩步的,如此層層推開,直到良好的估計倒灌回整個問題的每一處。

這個方程式以理查·貝爾曼命名——他在 1950 年代發展出了動態規劃——它是幾乎每一種強化學習方法內部那台沉默的引擎。Q學習、SARSA、價值迭代,歸根結底都不過是用不同的方式去微調估計值,直到它們滿足貝爾曼方程式為止。老實說有個告誡:精確求解它需要知道環境的規則,而智能體通常並不知道——所以實踐中它們是從採樣到的經驗中去近似它,而這個近似可能漂移,尤其是當神經網路也攪進來之後。

在一條通往+10 目標、且每步無代價的路徑上,目標的鄰格價值為 10。它的鄰格於是必須滿足:價值=0(這一步的獎勵)+10(鄰格的價值)=10。再往回一格:0+10=10。這個「10」就這樣一次一次貝爾曼更新地向後傳播。

此處價值=當下獎勵+我下一步落腳處的價值。估計值自目標處向後倒灌。

貝爾曼方程式定義了「一個正確的價值函數長什麼樣」;它本身並不直接把數字告訴你。演算法是靠反覆套用這個方程式、直到估計值不再變動,才逼出那些數字的——這個過程在使用精確表格時保證收斂,可一旦改用神經網路去近似價值,就只剩「但願能收斂」了。

又稱
Bellman recursion贝尔曼方程貝爾曼方程动态规划方程