如何理解强化学习中用非线性网络逼近值函数不收敛的问题?

强化学习中,我们经常会用神经网络去近似值函数,但是这会带来不收敛的问题,而且针对线性的网络和非线性网络都不一样,如何理解这一问题呢?
关注者
86
被浏览
15,511

2 个回答

强化学习任务面临的核心优化问题是非常难的问题。以往经典强化学习的研究在用表格表示值函数的条件下,才有较好的收敛性保障,收敛到最优值函数,即使如此,收敛也需要很长的时间。

表格表示值函数,看上去非常naive,实际上是有非常强的表示能力。所谓的强,就是能表达有细微差别的值函数,例如,对于一个策略 \pi Q^{\pi}(s,a_1)=1, Q^{\pi}(s,a_2)=2 , 如果想改为另一个策略 \pi' ,使得 Q^{\pi'}(s,a_1)=1, Q^{\pi'}(s,a_2)=2.1 , 那么只需要修改表格中 (s,a2) 这一项。

然而如果用函数逼近,哪怕是很复杂的神经网络,那就不一定这么简单了,修改(s, a2)的值,很有可能影响其他Q值,特别是对于不那么合适的函数逼近,可能无法表达 Q^{\pi'}(s,a_1)=1, Q^{\pi'}(s,a_2)=2.1 这么一个值函数。

在Sutton等人Fast gradient-descent methods for temporal-difference learning with linear function approximation machinelearning.org/arc 一文中讲到,我们希望函数逼近的值函数 V_\theta 与Bellman Operator更新后的值函数 TV_\theta 相等。然而即便我们的模型能表示值函数,也可能不能表示 TV_\theta ,并对此进行了研究。

另外,先估计值函数,再导出策略的方法,常常面临策略退化问题,即在函数逼近的情况下,V/Q值估计得很好,也可能得不到很好的策略。因此对于较为复杂的任务,用策略搜索方法(策略梯度、无梯度策略搜索等)占多数,直接求取策略。然而在这一类方法中,需要控制逼近模型的方差,否则方差过大也不收敛。

至于收敛到全局最优解,我觉得暂时是不大可能的事。策略梯度能快速收敛到局部解,无梯度策略搜索能收敛好一些,但开销也大一些,见 梯度下降法是万能的模型训练算法吗? - 知乎

总的来说,用函数逼近(不管是不是神经网络),不收敛的因素可以包括:表示能力不足/不适合、策略退化、以及优化困难。

利用神经网络逼近值函数不稳定的原因有:(1)神经网络是非线性逼近,非线性逼近的优点是逼近能力强,但缺点是存在局部最小点,优化起来困难。而线性函数逼近是凸函数逼近,求最值容易。缺点是逼近能力不强。(2)利用数据训练神经网络的前提假设是数据之间是独立同分布的,而强化学习过程中,数据是智能体通过与环境交互产生的数据,相邻的数据之间并非独立同分布的,所以直接利用数据对神经网络训练不稳定,DeepMind发展的DQN利用经验回放和独立的目标网络来打破数据之间的相关性,从而获得了稳定的值函数逼近网络。(个人理解,仅供参考。欢迎到我的专栏学习强化学习知识 强化学习知识大讲堂 - 知乎专栏