模拟退火目标函数E(s)与强化学习价值函数v(s)的核心差异是什么
模拟退火E(s)与强化学习v(s)的核心差异
注:本次对比仅涉及强化学习中的状态价值函数v(s),不讨论为状态-动作组合赋值的动作价值函数。
两者虽然都是给状态打分数的函数,但本质上从定义到用途完全不是一回事,核心差异可以拆成三点:
- 底层属性完全不同
模拟退火的E(s)是状态自带的静态代价/能量值,和状态的转移路径、后续的选择没有任何关系,是预先定义好的固定值。比如用SA求解旅行商问题时,E(s)就是当前访问路径的总长度,路径定了这个值就不会变。
强化学习的v(s)是从当前状态出发,后续按照某套策略行动能拿到的长期累计奖励的期望折现值,是个和策略绑定的动态预期值,根本不是状态本身的固有属性——同一个状态,换一套行动策略,v(s)的数值可能天差地别。 - 在算法中的作用和生成方式不同
SA里的E(s)是人工提前定义好的,不需要算法去学习,它唯一的核心作用是配合Metropolis准则计算状态转移的接受概率:新状态E值更低就直接接受,E值更高就以exp(-(E(s')-E(s))/T)的概率概率性接受,靠这个机制跳出局部最优。
RL里的v(s)是算法需要靠和环境交互的采样数据反复迭代拟合的估计值,它的作用是给当前策略的好坏做评价基准,帮策略往拿更高长期收益的方向更新,它本身不直接决定状态能不能转移,状态转移是智能体选的动作和环境规则共同决定的。 - 最优解的对应逻辑不同
SA的优化目标就是找E(s)的全局最小值,只要E(s)取到全局最小,对应的状态就是问题的确定最优解,没有附加条件。
RL里不存在“v(s)最大的状态就是最优解”的逻辑:v(s)高只代表从当前状态出发、按照当前估计的策略走下去能拿到不错的收益,RL最终要找的是能拿到最高长期收益的最优策略,不是单个高分状态;而且一旦策略更新、环境规则变化,原来v(s)高的状态可能完全没有价值。
内容的提问来源于stack exchange,提问作者nuemlouno
相关产品推荐
相关产品推荐

