DQN证明了深度学习在增强学习中的可行性。深度学习可以将复杂的概念隐含在网络之中。但是DQN并没有将所有的概念都隐含在网络之中,只是把Q值的计算放在了网络之中,比如动作选择策略。因为如何选择动作和如何通过Q值计算出目标值,都是DQN所面临的问题,而Q值的目的也是为了选择动作。我们可以将增加学习的问题简化为选择动作的问题。那么我们可否使用深度学习直接做出动作选择呢?显然,我们可以定义一个网络,其中输入为状态,输出为每个动作的概率。

因为这个网络与策略函数的定义一样,所以被称为策略网络。,表示在状态下选择动作的概率。只要这个网络能够收敛,我们就可以直接得到最佳策略。这个网络的奖励函数也就是最终游戏的总奖励。
指状态在马尔科夫链上的稳定分布,。
但是这个表达式看上去是不可能计算的,因为状态的分布和Q值都是随着策略的更新而不断变化的。但是我们并不需要计算,在梯度下降法中我们只需要计算梯度即可
根据导数乘法规则
展开为各各种可能的下一状态奖励之和
而其中状态转移函数、奖励由环境决定,与无关,所以
现在我们有了一个形式非常好的递归表达式:
设 表示在策略下,步以后状态转移到状态的概率。有:
为了简化计算,令
令
因 属于常数,对于求梯度而言常数可以忽略。
因 表示的稳定分布
因
所以得出策略梯度最重要的定理:
其中的也就是状态s的累计收益,可以在一次完整的动作轨迹中累计计算得出。
算法描述
该算法被称为 REINFORCE
- 随机初始化
- 生成一个完整的策略的轨迹: 。
- For t=1, 2, … , T-1:
参考:
Lilian Weng:Policy Gradient Algorithms