强化学习(二):Policy Gradient理解

上一章已经介绍了基于值函数方法的简单的DQN的理解,而在深度强化学习领域另一种基于端到端思路的策略梯度(Policy Gradient)算法相较而言可能取得更好的结果,也更加方便理解。于是,本章我们就从有监督学习和强化学习的区别开始讲起,探讨策略梯度思想指导下的强化学习理念的简单理解。

在之前的章节:强化学习(一):简单的DQN理解中,我们已经了解到使用值函数的方法进行强化学习的本质是需要通过奖励的反馈来训练模型。其中,模型的输入为当前的状态,模型的输出则为长期的反馈,而我们实际上是根据反馈值的大小来进行动作的选择。那么根据这个思想,自然而然的我们就会产生一个疑问:我们为什么要通过先使用深度网络求取反馈再根据反馈来选择动作,而不是直接使用深度网络来直接的选择动作?这就是策略梯度思想产生的原因所在。

如果要实现从当前状态到应当采取的动作的预测,那么我们就需要知道在这个过程中目标函数是什么,我们采取什么样的方式来寻找这个策略。此时,我们不免想到与此有着一定相似度的监督学习,下面我们就来对比一下监督学习和强化学习在处理这个问题上的异同。

1.监督学习&强化学习的梯度策略

上一章已经说明:同每一个数据都有明确标签的有监督学习相比,强化学习针对拥有稀疏标签的数据,根据少量的动作对错评价也可以学习到正确的行为。那么这种方式的学习本质上是怎样产生的呢?下面就用两个图来分别表示在有监督学习和强化中是如何通过梯度来修改参数权重的(见图一、图二)。

强化学习(二):Policy Gradient理解_第1张图片

图一 有监督学习梯度修改策略图

强化学习(二):Policy Gradient理解_第2张图片

图二 强化学习中梯度修改策略图

其中,我们对“前提”进行一些解释:在该种前提下,如果我们通过进行1000局的游戏来训练我们的强化学习模型,假设我们总共赢来100局输了900局,那么我们将对于赢的100局认为在这些局中对于每一个当前游戏状态所采取的动作都是好的,让这所有的动作对我们的决策网络进行正向的更新。而我们对于输掉的900局则认为在这些局中每一个当前游戏状态所采取的动作都是不好的,让这所有的动作对我们的网络进行负向的更新(见图三)

强化学习(二):Policy Gradient理解_第3张图片

图三 网络正\负向更新示意图

在了解了基于策略梯度的强化学习基本概念知识之后,我们来以Monte-Carlo Policy Gradient算法作为例子,详细的阐述一下基于策略梯度的强化学习模型的训练过程。

2.Monte-Carlo Policy Gradient

下面给出简单的Monte-Carlo Policy Gradient方法的训练流程图,大家可以与之前简单的DQN算法的流程图做个对比,就能清晰的了解到上述所讲的内容在构建Policy Gradient算法时具体是如何实现的,这样的实现模式与基于值函数的方法又有什么样本质的区别。(见图四)

强化学习(二):Policy Gradient理解_第4张图片

图四 Monte-Carlo Policy Gradient算法训练流程图

你可能感兴趣的:(强化学习,policy,gradient)