增强学习(Reinforcement Learning)

本文介绍了增强学习的基础概念,包括激励方程、价值方程和环境模型,并深入探讨了Q-learning。接着,文章重点讨论了深度Q网络(DQN)如何解决Q-learning在处理复杂问题时的局限性,详细阐述了DQN的结构、损失函数、经验回放等关键特性。此外,还提到了DQN的改进方法,如Double DQN和Dueling DQN。最后,通过自动游戏机器人的实例展示了DQN在实践中的应用。
摘要由CSDN通过智能技术生成

增强学习(Reinforcement Learning)

1. 增强学习基础

什么是增强学习

通过训练学到最优的state -action映射关系的过程,使得agent得到最好的value/reward。

这里写图片描述

  • Agent:要学习的智能程序;
  • Policy:程序知道所处某状态后采取行为的策略(复杂情况DL,简单情况lookup table)
  • Environment:智能程序交互外界环境,接受action产生状态变化,返回reward,可以是真实世界,游戏模拟器,棋牌等。
激励方程 – reward function

某次行为结果产生的激励,如分数的增加;
定义增强学习的目的。

价值方程 – value function

agent 能够带来的长期累计回报,如累计的时间转换为价值;
激励方程短期,价值方程长期。

环境模型 – Model of the environment

环境模拟模型,模拟action作用之后环境返回的价值、激励以及状态的变化,模拟器中不需要,真实世界中有知道训练意义。

增强学习中的问题

  • 策略学习policy learning
    policy梯度学习
    (每一个策略的概率不同,好的策略概率大)
  • 价值、回报迭代学习
    确定方法:Q-learning;DQN,DQN扩展。
    (确定策略执行后得到回报的概率)
  • 环境模型学习
    知道此刻的状态以及行为(s,a)预测下一刻的状态以及回报,模拟真实的环境反馈。

Q-learning

  • 下一状态最大回报作为价值
    Q(st,at)=maxRt+1
  • 能够达到价值最大的行为作为策略
    π(s)=argmaxaQ(s,a)
  • 目标价值由当前回报和t+1时刻的价值
    Q(s,a)=r+γmaxaQ(s,a)

算法:

initialize Q[num_states, num_actions] arbitrarily
observe initial state s 
repeat
    select and carry out an action a 
    ovserve reward R and new state s'
    Q(s,a) = R(s,a)+r*max(Q(s',ai))
until terminated

Q-learning 实例

假设我们在建筑物中连接了5个房间,如下图所示。 我们将每个房间的号码从0到4编号。建筑物的外部可以被认为是一个大的房间(5)。 注意,门1和4可以从5室(外部)进入建筑物。

这里写图片描述

我们可以在图表上表示房间,每个房间作为一个节点,每个门作为一个链接。

这里写图片描述

对于这个例子,我们想把智能体放在任何房间里,从那个房间里到外面去(这将是我们的目标房间)。 换句话说,目标房间是第5号。为了将这个房间设定为目标,我们将把每个门的奖励值(即节点之间的链接)相关联。 直接导向目标的门立刻得到100,其他没有直接连接到目标房间的门没有奖励。 因为门是双向的(0可以到4,4也可以到0),每个房间分配两个箭头。 每个箭头包含即时奖励值,如下所示:

这里写图片描述

Q-Learning中包括术语“state”和“action”。

我们会称每个房间为“state”,智能体从一个房间到另一个房间的运动将是一个“action”。 在我们的图中,“state”被描绘为一个节点,而“action”由箭头表示。

我们可以将状态图和即时奖励值构成奖励表矩阵R,如下所示:

这里写图片描述

我们将首先设置学习参数 γ=0.8 的值,将初始状态设置为Room 1。
将矩阵Q初始化为零矩阵:

这里写图片描述

  • 假设:当前状态s:1,下一步随机到s:5。
  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值