深度强化学习

深度强化学习的骨架来自强化学习,而灵魂则是由深度学习赋予。所以,要讲明白深度强化学习,首先来看下强化学习。

强化学习和有监督学习、无监督学习都不太一样,有一个智能体(Agent)的概念。什么是智能体呢?大家应该都玩过任天堂的一款经典FC横版通关游戏——马里奥兄弟。在游戏中,玩家通过控制马里奥顶蘑菇、踩乌龟来取得胜利,如果想用强化学习来通关,那这里的智能体指的就是马里奥。

智能体是强化学习的第一个重要概念,是主角,但强化学习作为一台好戏,自然不能光有主角,还得有舞台,这就是强化学习的第二个重要概念,环境(Environment)。

强化学习的学习过程,就是作为主角的智能体和作为舞台的环境不断交互的过程。这个过程又包括三个重要概念,分别是观察(Observation)、动作(Action)和奖励(Reward)。这五个概念可谓是强化学习的五线谱,能够演奏出无数美妙动人的旋律。

那么,对于刚刚提出的智能体、环境、观察、动作和奖励这这五个概念是怎么进行演奏呢?

强化学习的主线是智能体与环境的各种交互,那现在当智能体做出某个动作后,环境当然也得有所表示,得有个反馈信息,这就是奖励。譬如马里奥游戏中,马里奥“吃到金币”后,相应的游戏得分就会增加,这就是奖励。需要说明一点,强化学习的“奖励”和我们日常所习惯的用法略有不同,强调的是环境对智能体的反馈。上面说的得分增加,这是一种好的反馈,当然也有坏的反馈,譬如做了什么动作被扣分了,但无论是好的反馈,还是坏的反馈,在强化学习这里都统一称为“奖励”。

强化学习是骨架,深度学习是灵魂。

深度强化学习的主要运行机制,其实与强化学习是基本一致的,也都是根据输入的s(t),找到对应的输出a(t),只不过使用了深度神经网络来完成这一过程。

更有甚者,有的深度强化学习算法,干脆直接在现成的强化学习算法上,通过添加深度神经网络来实现一套新的深度强化学习算法,非常有名的深度强化学习算法DQN就是典型的例子。

针对车服用户运营的问题,首先两个实体中 Agent 是车服平台,Environment 是用户,或者其他上下文。在每一轮迭代中 Agent 会向环境发送一张一定面额一定周期的优惠券,或者一定周期的消息或者空动作,Environment 收到动作后经过一定周期会做出一个正向或负向反馈,该反馈被量化后发送给 Agent,环境状态的变化 State 也会返回给 Agent。

在这个场景里,强化学习的第一个要素 Action 包括不同面额优惠券的推送、不同周期的消息推送、空动作;第二个要素 State 是观察和抽取出来的一些特征的表征,包括用户线下行为、用户线上行为、静态行为、模型学习预估分;第三个要素 Reward 是用户对 Action 的反馈,如空动作加油、消息推送加油、用优惠券加油;用户查看优惠券、查看消息;无加油无查看。除此之外,针对场景需要定义了两类 Action 周期:动作周期和沉默周期,传统强化学习当 Agent 发出动作 Environment 会马上给出一个响应,但在 O2O 场景下用户需要一定周期(动作周期)对动作做出响应,如加油,并且在下一时刻用户不可能再去加油,会进入沉默周期。

关于具体的实现,现在很容易找到具体方法的开源实现。比如说强化学习的 DQN 算法,可以找到很多。关键的有两点,第一个是对于场景的理解,能够对这个业务场景的问题抽象成一个算法问题;第二点,能够深入的理解算法的细节以及优缺点,这样就可以,将场景和一些算法能够去匹配起来,用合适的算法来解决形式化出来的算法问题,这样就可以去适配业务场景,拿到正向的效果。

Q​-learning

看下面这个文档,举例子也写的很清楚

https://mp.weixin.qq.com/s/d11XyvMFKbTpqc01ar6vlg

https://mp.weixin.qq.com/s/whtiO_WWV_9pv3Di0u7msg

强化学习讨论的问题是一个「智能体(agent)」 怎么在一个「环境(environment)」 里学习到一个「策略(policy)」,从而最大化它能获得的累计奖励(策略的严格的定义将在后文给出)。 

 DQN

神经网络(NN)十分擅长从有结构的数据中提取好的特征,因此,我们可以用NN来近似  ,以状态(如四张图)和动作为输入,输出对应的Q值。或者,另一种方式是,以状态作为输入,输入各种动作下对应的Q值,这种方法的优点是可以方便地从所有输出中找到最高的Q值,从而决定最优的动作。这两种方式的简图如下:

 

preview

代码工具包

RLzoo 项目是自 TensorFlow 2.0 发布以来首个较全面的以 TensorLayer 2.0 搭配 TensorFlow 2.0 的强化学习开源算法库,该库目前同时支持 OpenAI Gym, DeepMind Control Suite 以及其他大规模仿真环境,如机械臂学习环境 RLBench 等。

  • 面向工业界 RLZoo:https://github.com/tensorlayer/RLzoo

  • 面向学术界 DRL_tutorial:https://github.com/tensorlayer/tensorlayer/tree/master/examples/reinforcement_learning

  • Slack 交流群:https://app.slack.com/client/T5SHUUKNJ/D5SJDERU7

OpenAI Gym 评估平台

https://gym.openai.com/envs/#atari

基于强化学习的coupon精准营销

https://mp.weixin.qq.com/s/wgVR-JltgrzNa6xVZ-jNsA

AAAI2021:腾讯revman之多任务+强化学习增收保费

https://mp.weixin.qq.com/s/fpGb2w1rkKBp-g-J7BvZkA

深度学习的发展方向: 深度强化学习!

https://mp.weixin.qq.com/s/l52FnVMFA0lHsXE5Gn5P0g

强化学习在滴滴车服用户运营中的实践

https://zhuanlan.zhihu.com/p/94710706

回顾」强化学习:原理与应用

https://appukvkryx45804.h5.xiaoeknow.com/v1/course/text/i_5fb4dda8e4b0231ba887464a?type=2&is_redirect=1

强化学习入门笔记——Q​-learning从理论到实践

https://mp.weixin.qq.com/s/F_8znGhtmOQbb6OVl8L9kg

研究了一堆Q-learning资料后,写了这份指南

https://mp.weixin.qq.com/s/D8MvGpsw0AQZHSwGmztqVQ

强化学习(八)价值函数的近似表示与Deep Q-Learning (刘建平)

https://www.cnblogs.com/pinard/p/9714655.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值