强化学习

价值函数(value function)

/ VAL-yoo FUNK-shun /

价值函数回答一个向前看的问题:从眼下这个情形出发、照我惯常的策略走下去,从这里往后我大致能指望拿到多少总奖励?它问的不是我此刻拿到的奖励,而是前方铺展开来的整个未来。离目标只差一步的格子价值很高;紧挨着悬崖的格子价值很低——哪怕今天站在上面什么代价也没有。

这正是让智能体能够超越眼前一刻去做规划的关键诀窍。一个无子可吃的棋局或许给出的奖励是零,但一个好的价值函数会因为它将通向何方而认出这是「赢棋」。通过为每个状态学出一个价值,智能体得到了一张地图,标明哪些情形大有可为、哪些是陷阱——然后它只需朝价值更高处走去,就像水自会找到下坡的路。

两点提醒。其一,价值永远绑定于某个特定的策略:「这个状态有多好」只有在你说明「假定我一直这样走下去」之后才有意义。换了策略,价值也跟着变。其二,价值函数是一个估计值,从有限的经验中学来,所以对于智能体很少踏足的那部分世界,它可能信心十足地错着——这也是智能体为何不会完全信任自己的地图,而要不断去探索的原因之一。

在一张出口给+10 的网格上,紧挨出口的格子价值接近+10(只差一步)。远处角落的格子价值较低——要走许多步,每一步都可能出岔。智能体只要总是朝价值更高的相邻格子迈进,就能走到出口。

价值=从这里出发可期望的未来奖励。它把「最后才分胜负」化作了每一步都有的指引。

别把价值与奖励搞混。奖励是某一步的即时回报;价值是对未来所有奖励之和的预测。一步即时奖励很小的着法,若它为日后的大回报埋下伏笔,价值就可能极高——而这道落差,正是价值函数存在的意义所在。

又称
state valueV functionV(s)状态价值函数值函数