強化學習
價值函數(value function)
/ VAL-yoo FUNK-shun /
價值函數回答一個向前看的問題:從眼下這個情形出發、照我慣常的策略走下去,從這裡往後我大致能指望拿到多少總獎勵?它問的不是我此刻拿到的獎勵,而是前方鋪展開來的整個未來。離目標只差一步的格子價值很高;緊挨著懸崖的格子價值很低——哪怕今天站在上面什麼代價也沒有。
這正是讓智能體能夠超越眼前一刻去做規劃的關鍵訣竅。一個無子可吃的棋局或許給出的獎勵是零,但一個好的價值函數會因為它將通向何方而認出這是「贏棋」。透過為每個狀態學出一個價值,智能體得到了一張地圖,標明哪些情形大有可為、哪些是陷阱——然後它只需朝價值更高處走去,就像水自會找到下坡的路。
兩點提醒。其一,價值永遠綁定於某個特定的策略:「這個狀態有多好」只有在你說明「假定我一直這樣走下去」之後才有意義。換了策略,價值也跟著變。其二,價值函數是一個估計值,從有限的經驗中學來,所以對於智能體很少踏足的那部分世界,它可能信心十足地錯著——這也是智能體為何不會完全信任自己的地圖,而要不斷去探索的原因之一。
在一張出口給+10 的網格上,緊挨出口的格子價值接近+10(只差一步)。遠處角落的格子價值較低——要走許多步,每一步都可能出岔。智能體只要總是朝價值更高的相鄰格子邁進,就能走到出口。
價值=從這裡出發可期望的未來獎勵。它把「最後才分勝負」化作了每一步都有的指引。
別把價值與獎勵搞混。獎勵是某一步的即時回報;價值是對未來所有獎勵之和的預測。一步即時獎勵很小的著法,若它為日後的大回報埋下伏筆,價值就可能極高——而這道落差,正是價值函數存在的意義所在。
又稱
另見