基于值函数逼近的强化学习方法

强化学习的基本方法有:

(1)基于动态规划的方法(模型已知)
(2)基于蒙特卡罗的方法(模型未知)
(3)基于时间差分的方法(模型未知)

但是, 这些方法有一个基本的前提条件: 状态空间和动作空间是离散的,并且且状态空间和动作空间不能太大。

这些强化学习方法的基本步骤是:
先评估值函数,再利用值函数改善当 前的策略。其中值函数的评估是关键。

注意, 这时的值函数其实是一个表格。对于状态值函数,其索引是状态;对于行为值函数,其索引是状态-行为对。值函数的迭代更新实际上就 是这张表的迭代更新。因此,之前讲的强化学习算法又称为表格型强化学习。

对于状态值函数,其表格的维数为状态的个数 |S|,其中 S为状态空间。若状态空间的维数很大,或者状态空间为连续空间,此时值函数无法用一张表格来表示。这时,我们需要利用函数逼近的方法对值函数进行表示。

值函数可以采用线性逼近的方式,也可采用非线性逼近。非线性逼近常用的是神经网络。

下面仅讨论线性逼近:
v ^ ( s , θ ) = θ T ϕ ( s ) \hat{v}(s, \theta)=\theta^{T} \phi(s) v^(s,θ)=θTϕ(s)
这里 θ T \theta^{T} θT是我们需要寻找的最优参数, ϕ ( s ) \phi(s) ϕ(s)是我们所选的基函数

相比于非线性逼近,线性逼近的好处是只有一个最优值,因此可以收敛到全局最优。其中 ϕ ( s ) \phi(s) ϕ(s)为状态s处的特征函数,或者称为基函数。

常用的基函数的类型为:

多项式基函数,如 ( 1 , s 1 , s 2 , s 1 s 2 , s 1 2 , s 2 2 , ⋯   ) \left(1, s_{1}, s_{2}, s_{1} s_{2}, s_{1}^{2}, s_{2}^{2}, \cdots\right) (1,s1,s2,s1s2,s12,s22,)
傅里叶基函数,如 ϕ i ( s ) = cos ⁡ ( i π s ) , s ∈ [ 0 , 1 ] \phi_{i}(s)=\cos (i \pi s), s \in[0,1] ϕ

基于值函数强化学习方法是一类经典的强化学习算法,用于解决在未知环境中做决策的问题。该方法通过学习一个值函数来评估不同状态下的行动价值,从而帮助智能体做出最优的决策。 在基于值函数强化学习方法中,常见的算法包括Q-learning和深度Q网络(Deep Q-Network, DQN)等。 1. Q-learning: Q-learning是一种基于动态规划的无模型强化学习算法。它通过学习一个Q值函数来评估在不同状态下采取不同行动的价值。Q值表示在当前状态下采取某个行动所能获得的长期累积回报。 Q-learning算法的基本思想是通过不断迭代更新Q函数的估计值,使其逼近真实的Q值。智能体在环境中与之交互,根据当前状态选择行动,并观察到下一个状态和奖励信号。然后,根据Bellman方程更新Q值函数的估计值,以使其更接近真实的Q值。这个过程通过迭代进行,直到收敛到最优的Q值函数。 2. 深度Q网络(DQN): 深度Q网络是一种基于神经网络的值函数近似方法。它利用深度神经网络来近似Q值函数,解决了状态空间较大时传统Q-learning算法的局限性。 DQN算法使用一个深度神经网络作为Q值函数的近似器。智能体通过与环境交互,收集样本数据,然后利用这些数据进行经验回放和目标网络更新来训练神经网络。经验回放是指将智能体的经验存储在经验回放缓冲区中,并随机采样进行训练,以减少样本之间的相关性。目标网络更新是指使用一个目标网络来计算目标Q值,减少训练过程中的目标值偏差。 DQN算法通过不断迭代训练神经网络,使其逼近最优的Q值函数。最终,智能体可以根据神经网络的输出选择最优的行动策略。 基于值函数强化学习方法在很多领域都有广泛的应用,包括游戏智能、机器人控制、自动驾驶等。它具有一定的理论基础和实际效果,并且可以通过结合其他技术手段进一步优化和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值