强化学习之深度Q函数

背景:强化学习玩游戏

模拟器(model 或 emulator)以动作(action)为输入,输出一张图像和奖励。

单张图像无法完全理解agent的当前状态,所以得结合动作与状态序列的信息。

agent的目标是,以一定的方式选择动作,与模拟器进行相交,来最大化将来的奖励。

Bellman equation:

Q(s,a)=Esϵ[r+γmaxQ(s,a)|s,a]

强化学习的一般方法是利用Bellman equation作为迭代更新:
Qi+1(s,a)=Esϵ[r+γmaxaQ(s,a)|s,a]

DQN

这里写图片描述

将深度学习应用到强化有几个挑战。
  1. 大多深度学习的应用都需要大量的标注数据,而强化学习需要从reward信号学习,且reward信号经常比较稀疏(sparse)、有噪声(noisy)、有延迟(delayed)。从执行动作(action)到产生reward的延迟,可能有上千步长。
  2. 数据样本的独立性。深度学习假设数据样本是独立的,而在强化学习中状态(state)之间是高度相关的。
  3. 数据分布的不变性。深度学习假设数据分布是不变的,而强化学习可以学习新的行为(policy),进而改变数据的分布。
针对第二和第三点的应对策略:

​ 经验回放机制(experience replay mechanism):通过多次随机取样之前的状态转移,来平滑训练分布的变化。

Q函数用网络表示时的损失函数

Li(θi)=Es,aρ()[(yiQ(s,a;θi))2]

其中目标值
yi=Esϵ[r+γmaxaQ(s,a;θi1)|s,a]

值得注意的是,在深度学习中 目标值在训练开始时是固定不变的,而有强化学习中却与网络的参数有关。

损失函数的导数为:

θiLi(θi)=Es,aρ();sϵ[(r+γ
  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值