强化学习(DQN)

1、DQN——深度Q网络(Deep Q-Network)

原理:使用深度神经网络来逼近Q函数,Q函数是强化学习中的核心概念用于衡量从某一个状态采取某个动作的价值。

DQN的训练过程可以分为以下几个步骤:

(1)初始化:首先,需要初始化一个深度神经网络,该网络的参数可以随机初始化,也可以使用预训练模型。

(2)经验回放:在训练过程中,智能体会与环境进行交互,并收集经验数据,经验数据包括状态、动作、奖励以及下一时刻的状态。经验数据被存放在回放缓存区中。

(3)学习:从经验池中随机采样一批数据,然后使用这些数据来训练深度神经网络,训练目标是是网络输出的Q值与目标Q值之间的差距最小。

(4)动作选择:在执行过程中,智能体会更根据当前状态选择一个动作,动作选择,采用的是贪婪策略,前期多以随机采样获得动作,后期则是通过网络获得最大Q值对应的动作。

强化学习通过智能体与环境进行交互来学习,获得经验数据,是一个四元组\left (s_{t}, a_{t}, r_{t}, s_{t+1} \right ),分别代表当前时刻的状态、当前时刻的动作、当前时刻的奖励以及下一时刻的状态。

强化学习的目标是得到一个比较好的策略,即需要得到一个比较合适的价值估计函数,奖励可以反映动作选取的好坏。当经验池中内的经验数量达到一定值时,从经验池中抽取一批样本数据,进行学习。计算目标Q值,输入的是s_{t+1}

如果是最后一步:目标Q值最后一步对于的奖励r_{t}

如果不是最后一步:目标Q值=r_{t}+\gamma max_{a^{'}}Q\left ( s_{t+1}, a^{'};\vartheta \right )

有了目标Q值,计算损失:

L=\left [ r+\gamma max_{a^{'}}Q\left ( s_{t+1}, a^{'}, \vartheta \right )-Q\left ( s_{t},a \right ) \right ]^{2}

然后更新Q网络,再更新目标Q网络,更新目标Q网络的频次低于更新Q网路的频次。

DQN的缺点:

1、只能处理离散动作

2、存在Q值估高问题

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值