深度增强学习(DRL)简单梳理

本文详细介绍了深度强化学习(DRL)的概念,包括马尔科夫过程、折扣未来奖励、价值函数和贝尔曼方程。讨论了Q-learning和Deep Q Network(DQN)算法,强调了DQN中的经验重放和探索-开发策略。此外,还对比了on-policy与off-policy、model-based与model-free的区别,并概述了DRL在解决强化学习问题中的优势和挑战。
摘要由CSDN通过智能技术生成

作者:xg123321123 - 时光杂货店

出处:http://blog.csdn.net/xg123321123/article/details/77504032

声明:版权所有,转载请联系作者并注明出处

0 主要话题

  • 增强学习面临的问题
  • 马尔科夫过程
  • 形式化描述增强学习
  • Q-learning
  • 深度增强学习

1 一个简单的增强学习情景

以打砖块游戏为例,玩家需要左右移动屏幕底部的木板,将球接住并弹回到屏幕上半部分,当球触碰到一个砖块,砖块就会消失,玩家的得分就会上升 - 也就得到了reward。

这里写图片描述

如果想要让神经网络学着玩这个游戏。网络输入将会是屏幕图片,网络输出将会是三个动作:左移,右移,发射(球)。我们可以将其视为一个分类问题 - 每一帧画面,我们都必须做出决定:左移,右移还是发射。

尽管听起来比较简单,但我们需要大量的训练数据。当然,我们可以通过记录职业玩家的玩法来获得训练数据,但那不是机器真正该有的学习方式。

我们不需要谁成千上万次地来告诉机器每一帧的动作该怎么决定,我们所需要的仅仅是让机器在做了正确的决定后获得适当的反馈(reward), 然后让机器自己去领悟其余的东西。

这就是强化学习尽力在完成的任务。强化学习的地位处于监督学习和无监督学习之间。尽管监督学习给每条训练数据都标注了类别,而无监督学习什么类别也没标注,但是强化学习却给了稀疏的并且时间上有延迟的标注 - 奖励反馈(reward)。全靠这些奖励反馈,强化学习中的agent才能学习如何在环境中行动。

尽管这种思想比较符合咱们的直觉,但是实践中还是面临着许多挑战。还是拿打砖块游戏举例,当机器打掉了一块转,然后得分增加了,这常常与得分以前的最后几个动作没啥关系,而是与很多步以前的动作(比如你调整底部挡板的位置的动作)有更大的关系。

这个问题叫credit assignment problem(信用分配问题?) - 要确定某次得分与之前哪些动作有较为直接的关系,是一个比较难的问题。

一旦机器找到了一种获得奖励反馈的策略以后,是应该一直坚持它还是尝试一些别的路子来获得更大的奖励反馈呢?

这个问题叫explore-exploit dilemma(探索-开发困境) - 要一直采用已知的可行策略还是探索一些新的可能会更好的策略呢?

强化学习是动物学习过程中所采用的一种重要模型:爸妈的表扬,学校的成绩,工作中的薪水 - 这些都是奖励反馈的实例。

信用分配问题和探索-开发困境也都是我们每天都面临着的问题,这也是为什么要探索强化学习的原因;在这个探索过程中,游戏为我们提供了一个很棒的找到新方法的沙盒世界。

2 马尔科夫过程

现在我们的问题是该如何形式化一个强化学习的问题,最常用的方法将其表述为一个马尔科夫过程。

假如(你可以脑补打砖块游戏)环境中有一个agent能执行某些特定操作(i.e.左移木板,右移木板,发射球),这些操作有时(当游戏处于某些特定状态)能给agent带来奖励反馈;每个操作都会改变这个环境,并将环境带入一个新的状态;在新的状态中,agent又将继续执行操作,以此类推下去。

在此过程中,agent在选择操作时所形成的规律/准则就叫策略(policy);环境是随机的,这也意味着操作执行后到达的下一个状态也是随机的。

这里写图片描述

马尔科夫决策过程就是这三者组成:1) 环境可能出现的状态(state),2) agent所能执行的操作(action)以及3) 指导在所有状态下具体该如何执行操作的策略(policy)。

一段完整的马尔科夫过程会形成一段状态,动作和奖励反馈所构成的有限序列。

这里写图片描述

上图中 si 表示状态, ai 表示操作, ri+1 表示操作执行后得到的奖励反馈。 sn 是这段马尔科夫过程的结束状态。值得一提的是,马尔科夫过程有一个假设前提: si+1 仅仅由 si ai 联合决定,之前的状态和动作则完全不起作用。

3 折扣未来奖励 Discounted Future Reward

为了在长期过程中得到最优的结果,我们不仅需要考虑即时的奖励反馈,也需要把未来的奖励反馈纳入考虑。

对于一段马尔科夫决策过程,整个过程中的反馈奖励用以下等式表示:

R=r1+r2+...+rn

基于整个等式,从 t 时刻到最终状态所得到的全部奖励反馈可以用以下等式表示:

Rt=rt+rt+1+...+rn

但环境是随机的,我们就没法确定当我们下次做同样动作时是否还能得到同样的奖励反馈。而我们越接近未来,就越能确定未来,所以取而代之,我们采用折扣未来奖励这种做法(discounted future reward):

Rt=rt+γrt+1+γ2rt+2+...+γntrn

上式中, γ 是0和1之间的折扣因子 - 越接近未来的奖励反馈,对 t 时刻的奖励反馈的影响越小。可以看出, t 时刻的折扣未来奖励可以由 t+1 时刻改写出来:

Rt=rt+γ(rt+1+γ(rt+2+...))=rt+γRt+1

如果我们将 γ 设为0,那么得到的策略将非常“短视”,因为我们只考虑即时的奖励反馈。如果我们想要在即时奖励反馈和未来奖励反馈这两者间取得平衡,那么我们就应该将γ因子设为0.9之类的。当然,如果环境是确定的,所有同样的动作总是能导致同样的奖励反馈,那就可以把γ设为1了。

总的来说,一个好的策略总是能帮助agent获得最多的未来奖励反馈。

4 价值函数 Value function

除非整个过程结束,否则我们无法得到每个状态对应的奖励反馈;因此,引入了价值函数Value Function, v(s) 来表示某个状态未来的潜在价值。

从定义上看,价值函数就是回报的期望:

v(s)=E[Rt|St=s]
有了价值函数,就有三种方法获取最优的策略Policy:

  • 直接优化策略 π(a|s) 或者 a=π(s)
  • 32
    点赞
  • 162
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
DRL是指深度强化学***算法。最近,DRL算法在解决具有共同特征的调度问题方面提供了一种可扩展的方法。虽然一些基于学习的工作已经尝试解决其他类型的组合优化问题,例如旅行推销员问题(TSP)和车辆路线问题(VRP),但尚不清楚DRL是否已经被应用于研究复杂的调度问题,例如柔性作业车间调度问题(FJSP)。因此,有学者开始开发基于学习的方法来解决FJSP这类复杂的调度问题。 在相关的研究中,有一份贪婪算法的Matlab代码手稿被用来模拟"Distributed Dynamic MISO Downlink-Beamforming Coordination"。该代码已经发表在IEEE Transactions on Communications上,并可以用于运行模拟程序和绘制图形。 通常情况下,强化学习代理根据以下步骤与环境进行交互:首先,代理接收当前的状态(st)并选择一个操作(at)。然后,根据每个时间步的状态转移到下一个状态(st+1)并获得相应的奖励(rt)。在传统的强化学习设置中,操作(at)是从操作空间中选择的。然而,在FJSP中,研究者们构建了一个分层多动作空间,其中包括作业操作动作空间和机器操作动作空间。在每个时间步,强化学习代理先从其符合条件的作业操作空间中选择一个作业操作,然后再从其兼容的机器操作空间中为所选的作业操作选择一个机器操作。这样的分层结构动作空间可以更好地应用于FJSP这类问题。 综上所述,DRL是一种基于深度学习的强化学习方法,它为解决调度问题提供了一种可扩展的方法。在研究中,已经有学者使用Matlab编写了贪婪算法的代码手稿,用来模拟分布式动态MISO下行波束形成协调问题。而针对柔性作业车间调度问题(FJSP),研究者们构建了分层多动作空间,以更好地应用强化学习算法解决FJSP这类复杂的调度问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [基于多动作深度强化学习的柔性车间调度研究(Matlab代码实现)](https://blog.csdn.net/weixin_61181717/article/details/128994943)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [matlab贪婪算法代码-DRL_for_DDBC:提交给IEEETransactionsonCommunications的手稿“DeepRe](https://download.csdn.net/download/weixin_38690545/19580888)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值