文中的图片来自莫烦python视频。视频内容真心很赞,一天就可以看完,有兴趣的朋友可以点击下边的链接哦

https://space.bilibili.com/243821484/#/channel/detail?cid=26359

come on, babies! 让我们一起来聊一下增强学习吧~hhhh

增强学习,简单来讲,就是做对了给奖励,做错了给惩罚,超级简单粗暴。惩罚和奖励啥的本质上也可以用梯度下降来反传。

最大的感受是,找最优解的过程中,走一步告诉你对不对,再走一步告诉你对不对,或者走完了告诉你前边走了那一堆对不对。然后更新。这个算法有一个表,这个表会告诉你选择这个优化方向的好坏程度,预测的值是根据之前的经验来的,我们也会根据每一步或者最终结果的好坏来更新这张表。

我们来一起了解一下几个经典的增强学习的算法吧~

1. Q-learning:

一张q表记录选择路径的分数。

为了更明确图片中的公式具体是怎样计算的,我直接用数字来算一遍啦

q现实 = 0+0.9*2 = 1.8

q估计 = 1

新q = 1 + alpha * (1.8-1)

然后我们就可以把图中的s1,a2对应的 1 修改为 1 + alpha * 0.8 咯。然后继续计算。。。

注意Q-learning是选择后续路径中最大的那个来计算q现实,就是说,如果s2情况下,我选择走a1,那么我的q现实也是1.8哦。

2. 这里就可以引出sarsa算法,sarsa就是走哪条路就选哪个。

体现在更新过程中就是,Q-learning记吃不记打,总是选之后价值大的。sarsa就是每次选错了就惩罚,就不大敢走,即使这条路另一个支路可能是对的,但是走错的那条路如果被惩罚多了,那后边这条路就会很难走的。

当然,为了解决这种直接封锁道路的一锤子买卖,算法中加了10%的随机选路的过程,保证即使这条路不好,算法也是有可能往这个方向再试一试的。

3. Q-learning和神经网络结合起来就有了DQN(Deep Q Network)

和神经网络结合起来再想记录参数就不能用一张表来解决啦,我们就会使用两个网络来记录结果,一个是现实网络,一个是估计网络。两个网络异步更新。现实网络是更新慢的那个,可能是存储了几步之前的网络参数,用于打乱经历相关性。

(1)网络输入:状态(s)和动作(a);输出:value

(2)网络输入:状态(s);输出:动作(a)与对应的value

dqn有记忆库,记录之前的经历来学习,打乱经历的相关性。

4. policy gradient

输入是状态,输出是动作or动作的概率。基于神经网络,让某动作更容易被选中。最大化好动作的概率。最终的结果也不是一条确定的通路,而是通过概率来选的路径。一个回合结束之后才能更新。


5. actor critic

actor:policy gradient 作出动作

critic:q-learning 预判这个动作的value

两者结合就可以实现单步更新,更有效率。而不是policy gradient那样一个回合结束才知道每一步是好还是不好。

6. ddpg

两个actor,两个critic。相互之间会互通信息。

【深度学习】增强学习相关推荐

  1. 神经网络+深度学习+增强学习

    神经网络+深度学习+增强学习 神经网络 像飞机的灵感来源于鸟类,雷达的灵感来源于蝙蝠,红外线的灵盖来源于蛇,而本文要讨论的神经网络灵感来源于我们自己,人类大脑的神经元结构.从神经元结构被提出,到时下火 ...

  2. 机器学习的五大分类,监督学习 无监督学习 半监督学习 迁移学习 增强学习

    机器学习的五大分类,监督学习 无监督学习 半监督学习 迁移学习 增强学习@监督学习 无监督学习 半监督学习 监督学习 在监督学习中,给定一组数据,我们知道正确的输出结果应该是什么样子,并且知道在输入和 ...

  3. 深度学习:AI对抗学习比深度、增强学习能好多少

    人工智能中,或许对抗学习是继深度学习.增强学习之后下一个热点,但是,它只对中等难度的任务具有实用性,依然不能解开"迁移学习"(实际中不可行)所追求的那种像人一样跨越多个领域,具备所 ...

  4. 【强化学习】强化学习/增强学习/再励学习介绍

    Deepmind团队在17年12月5日发布的最新Alpha Zero中,非常重要的一种方法就是强化学习(reinforcement learning),又称再励学习.评价学习,是一种重要的机器学习方法 ...

  5. 区别:强化学习集成学习增强学习规则学习

    1.强化学习 强化学习是智能体(Agent)以"试错"的方式进行学习,通过与环境进行交互获得的奖赏指导行为,目标是使智能体获得最大的奖赏,强化学习不同于连接主义学习中的监督学习,主 ...

  6. matlab学习增强学习,使用 MATLAB 和 Simulink 进行强化学习

    请选择其一 Alabama Alaska 美属萨摩亚 APO/FPO AA APO/FPO AE APO/FPO AP Arizona Arkansas California Caroline Isl ...

  7. 专访微软邓力:语音识别与非监督深度学习、增强学习、词嵌入、类脑智能

    在俞栋接受CSDN专访解读基于深度学习的语音识别技术及CNTK开源软件的同时,<解析深度学习-语音识别实践>一书的另一位作者.微软人工智能首席科学家邓力也接受CSDN专访,以另外的视角诠释 ...

  8. 关于增强学习你应该了解的五件事儿

    摘要: 本文主要是讲解了机器学习中的增强学习方法的基本原理,常用算法及应用场景,最后给出了学习资源,对于初学者而言可以将其作为入门指南. 强化学习(Reinforcement Learning)是当前 ...

  9. 增强学习和OpeAI Gym的介绍:基础增强学习问题的演示

    编者注:想要深入学习增强学习,请查看Marcos Campos在2017年9月17 - 20日于旧金山举行的O'Reilly人工智能会议上所做的"增强学习介绍"辅导课.你可以在Ju ...

  10. 零和博弈下的逆增强学习

     这篇文章是个人用来水观点的,用不严谨的语言讨论两件事情,由于严格证明太长,数学都采用 hand-waving 方式的证明,大家意会思路便可,要讨论如下两件事情: 文本的生成对抗模型,下面简称文本 ...

最新文章

  1. Science:科学家亲眼看到细菌产生耐药性的全过程(视频)
  2. VSEARCH操作实战-免费使用无内存限制的USEARCH!
  3. NM-1A-OC3MM和NM-CIDS-K9模块的苦恼
  4. opencv(2)- 处理像素值
  5. 成功解决ValueError: DataFrame.dtypes for data must be int, float or bool.Did not expect the data types
  6. 对话 Dubbo 唤醒者北纬:3.0 将至,阿里核心电商业务也在用 Dubbo
  7. java设计模式:适配器设计模式
  8. 【位运算DFS/DLX】【HDU1426】【数独】
  9. Python2与Python3之间的区别?
  10. C ++或Java,高频交易哪个更快?
  11. mysql+e+文件+xls_TP5+PHPexcel导入xls,xlsx文件读取数据
  12. OpenCV辅助对象(help objects)(2)_Range
  13. 在Google上做搜索引擎优化 (SEO),最重要的是哪几点?
  14. c语言学生班级通讯录,C语言做学生通讯录
  15. 用计算机打课程表,怎么用电脑做课程表
  16. 计算机英语带字幕,计算机专业英语听力字幕.doc
  17. 域名被微信/QQ红了(被封锁、被屏蔽、被和谐)后最好的解决方法
  18. linux双系统安装
  19. 常见前端面试题及答案-转载
  20. Python | Flask 解决跨域问题

热门文章

  1. 【合天网安】CONN.ASP暴库漏洞实验
  2. canvas圆形进度条
  3. DBeaver中的常用快捷键和自定义快捷键方式
  4. Python启发式算法中爬山法的讲解及解方程问题实战(超详细 附源码)
  5. 创建和使用静态链接库
  6. ARP与RARP协议详解 (三)
  7. fairplay密码
  8. GDOI 2016 总结
  9. 《Linux内核修炼之道》精华分享与讨论(7)——分析内核源码如何入手?(下)
  10. STM32控制ESP8266透传到私有HTTP服务器(Json数据格式)