@创建于:20210512
@修改于:20210512

文章目录

  • 1、增强学习概念
    • 2.1 增强学习定义
    • 2.2 两大特点
  • 2、简书:[阿阿阿阿毛](https://www.jianshu.com/u/a18653721b40)
  • 3、知乎:[叶强](https://www.zhihu.com/people/qqiang00/posts?page=2)
  • 4、CSDN:[夏栀的博客](https://blog.csdn.net/qq_36426650/category_9759833.html)
  • 5、博客园:[ 刘建平Pinard ](https://www.cnblogs.com/pinard/default.html?page=3)

1、增强学习概念

机器学习的算法可以分为三类:监督学习,非监督学习和增强学习。 增强学习也称为强化学习。

2.1 增强学习定义

增强学习是通过让智能体(Agent)不断地对所处环境(Environment)进行探索和开发并根据反馈的回报(Reward)进行的一种经验学习。

增强学习是指从动物学习、随机逼近和优化控制等理论发展而来,是一种无导师在线学习技术,从环境状态到动作映射学习,使得Agent根据最大奖励值采取最优的策略;Agent感知环境中的状态信息,搜索策略(哪种策略可以产生最有效的学习)选择最优的动作,从而引起状态的改变并得到一个延迟回报值,更新评估函数,完成一次学习过程后,进入下一轮的学习训练,重复循环迭代,直到满足整个学习的条件,终止学习。

增强学习目的是构造一个控制策略,使得Agent行为性能达到最大。Agent从复杂的环境中感知信息,对信息进行处理。Agent通过学习改进自身的性能并选择行为,从而产生群体行为的选择,个体行为选择和群体行为选择使得Agent作出决策选择某一动作,进而影响环境。

2.2 两大特点

(1)增强学习是试错学习(Trail-and-error),由于没有直接的指导信息,智能体要以不断与环境进行交互,通过试错的方式来获得最佳策略。
(2)延迟回报,增强学习的指导信息很少,而且往往是在事后(最后一个状态)才给出的,这就导致了一个问题,就是获得正回报或者负回报以后,如何将回报分配给前面的状态。

2、简书:阿阿阿阿毛

增强学习(一)
增强学习(二)

3、知乎:叶强

写在最前面——关于连载David Silver《强化学习》视频公开课的中文学习笔记

David Silver的这套视频公开课可以在youtube上找到,其链接地址如下:https://www.youtube.com/watch?v=2pWv7GOvuf0&list=PL7-jPKtc4r78-wCZcQn5IqyuWhBZ8fOxT 。不知道国内的视频网站有没有原版视频。同时David也公开了它视频里所使用的讲义pdf,讲义内容与视频内容在某些地方有细微差别,应该是讲义更新些。我把这些转到百度网盘,地址是:https://pan.baidu.com/s/1nvqP7dB。 同样在这个地址还有David在公开课第一讲里推荐阅读的两篇关于强化学习的教材。

目前用于强化学习编程实践的常用手段是使用OpenAI推出的gym库,该库支持python语言。其官方网站在这里: OpenAI Gym: A toolkit for developing and comparing reinforcement learning algorithms。 正如其描述的一样,它是一个开发、比较各种强化学习算法的工具库,提供了不少内置的环境,是学习强化学习不错的一个平台,gym库的一个很大的特点是可以可视化,把强化学习算法的人机交互用动画的形式呈现出来,这比仅依靠数据来分析算法有意思多了。我自己也设计了与gym兼容的、针对讲义内容中提到的格子世界环境类和其它一些有意思的类。

这里还介绍一个网站给大家:Gridworld with Dynamic Programming。它是人工智能领域的青年专家Karpathy用javascript结合d3可视化的几个强化学习的Demo,非常有趣,我也借鉴了不少他的ReinforceJS库中的代码。不过Python将会是我结合公开课进行编码的主要编程语言。在早期,我将在尽可能不适用任何库的情况下实践一些简单的算法思想,在后期,由于涉及到一些函数的近似,需要使用一些深度学习的算法,会使用到Tensorflow或Pytorch。

总体来说,学习强化学习、理解其算法不需要特别深的数学和编程知识,但一定的微积分、矩阵、概率统计知识还是需要的。对于编程来说,Python已经使得编程变得非常容易。相信跟随这套笔记,任何想了解强化学习的人都能对其有比较深刻的理解。

《强化学习》第一讲 简介
强化学习实践一 迭代法评估4*4方格世界下的随机策略

《强化学习》第二讲 马尔科夫决策过程
强化学习实践二 理解gym的建模思想

《强化学习》第三讲 动态规划寻找最优策略
强化学习实践三 编写通用的格子世界环境类

《强化学习》第四讲 不基于模型的预测
强化学习实践四 Agent类和SARSA算法实现

《强化学习》第五讲 不基于模型的控制
强化学习实践五 SARSA(λ)算法实现

《强化学习》第六讲 价值函数的近似表示
强化学习实践六 给Agent添加记忆功能

《强化学习》第七讲 策略梯度
强化学习实践七 DQN的实现

《强化学习》第八讲 整合学习与规划
《强化学习》第九讲 探索与利用

4、CSDN:夏栀的博客

强化学习(一):概述
强化学习(二):贪心策略(ε-greedy & UCB)

强化学习(三):有限马尔可夫决策与贝尔曼方程
强化学习(四):基于表格型动态规划算法的强化学习

强化学习(五):蒙特卡洛采样方法
强化学习(六):时序差分方法

强化学习(七):n步自举法(多步引导法)
强化学习(八):Dyna架构与蒙特卡洛树搜索MCTS

5、博客园: 刘建平Pinard

强化学习(一)模型基础
强化学习(二)马尔科夫决策过程(MDP)

强化学习(三)用动态规划(DP)求解
强化学习(四)用蒙特卡罗法(MC)求解

强化学习(五)用时序差分法(TD)求解
强化学习(六)时序差分在线控制算法SARSA

强化学习(七)时序差分离线控制算法Q-Learning
强化学习(八)价值函数的近似表示与Deep Q-Learning

强化学习(九)Deep Q-Learning进阶之Nature DQN
强化学习(十)Double DQN (DDQN)

强化学习(十一) Prioritized Replay DQN
强化学习(十二) Dueling DQN

强化学习(十三) 策略梯度(Policy Gradient)
强化学习(十四) Actor-Critic

强化学习(十五) A3C
强化学习(十六) 深度确定性策略梯度(DDPG)

强化学习(十七) 基于模型的强化学习与Dyna算法框架
强化学习(十八) 基于模拟的搜索与蒙特卡罗树搜索(MCTS)

强化学习(十九) AlphaGo Zero强化学习原理

增强学习/强化学习 综述相关推荐

  1. AI 自动研发机器学习系统,DeepMind 让算法学习强化学习

    人工智能研发的一个大方向是用AI系统来自动化开发AI系统.虽然这一目标尚未实现,但目前的进展让已足够令人人震惊.本文介绍了最新的一些进展,包括伯克利让算法自我优化.MIT自动生成神经网络架构,以及在这 ...

  2. 2020人工智能课程超级大列表:深度学习-强化学习-图神经网络-自然语言处理等...

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 本篇博文主要为大家介绍一个课程网站,汇集了机器学习,深度学习.强化学习的各个方面, ...

  3. 强化学习q学习求最值_通过Q学习更深入地学习强化学习

    强化学习q学习求最值 by Thomas Simonini 通过托马斯·西蒙尼(Thomas Simonini) 通过Q学习更深入地学习强化学习 (Diving deeper into Reinfor ...

  4. 从多臂老虎机开始学习强化学习中的探索与利用

    从多臂老虎机开始学习强化学习中的探索与利用 \quad 目录 从多臂老虎机开始学习强化学习中的探索与利用 多臂老虎机问题 形式化描述 估计期望奖励 代码实现 策略中的探索与利用 ϵ\epsilonϵ- ...

  5. 2022主流Nivida显卡深度学习/强化学习/AI算力汇总

    2022主流Nivida显卡深度学习/强化学习/AI算力汇总一览表 总结自国外多个网站

  6. 深度学习强化学习进化计算 入门资源整理

    深度学习&强化学习&进化计算 入门资源整理 深度学习 在线课程 在线书籍 学习Python 强化学习 在线课程 在线书籍 更多资源 进化计算 后记 深度学习 在线课程 深度学习是机器学 ...

  7. 强化学习——强化学习概述

    文章目录 1. 强化学习 2. 序列决策(Sequential decision making) 3. 动作空间 4. 智能体的组成和类型 4.1 策略 问题:比较随机性策略和确定性策略的优缺点 4. ...

  8. 深度学习 - 强化学习 -迁移学习(杨强教授报告)

    李宏毅机器学习课程-Transfer Learning 深度学习 -> 强化学习 ->迁移学习(杨强教授报告) 链接: http://pan.baidu.com/s/1nu6DMRn 密码 ...

  9. 强化学习——强化学习的算法分类

    1. 算法分类 现代强化学习算法分类 ---图片来自Open AI Spinning up 项目--- 由于强化学习是一个更新速度非常快的领域,所以准确地全面地分类是相当困难的,Spinning up ...

最新文章

  1. 一款简单易用的链式droplist
  2. 中国博士开发可交互全球疫情地图,登上柳叶刀,GitHub已有4500星成为热榜第四...
  3. C++中函数模板的用法详细解析
  4. 在Virtualbox下为Ubuntu16.04开机自动挂载共享目录的最佳方法
  5. 修正IE6重复文字bug
  6. 傻子坐飞机问题的求解
  7. 提升源代码安全管控 从源头保护敏感数据
  8. 1356. 根据数字二进制下 1 的数目排序
  9. php propel,关于propel--PHP
  10. 电气工程cad实用教程电子版_电气工程CAD实用教程 pdf epub mobi txt 下载
  11. 人工智能 之 机器学习常用算法总结 及 各个常用分类算法精确率对比
  12. CFLAGS、CXXFLAGS、LDFLAGS与LIBS
  13. 鸿蒙生死印是谁的,逆天邪神:鸿蒙印的器灵还存在,或许云澈将知道些关于远古的秘密...
  14. Java使用poi将list<Map>导出为表格
  15. python get score gain_机器学习的特征重要性究竟是怎么算的
  16. Webpack中文社区正式成立-多位前端大牛参与解答开发难题
  17. 万能五笔 linux,[转载]Ubuntu 安装 万能五笔 输入法
  18. 边分治学习笔记(bzoj2870)
  19. java循环遍历队列_java实现循环队列
  20. web前端常用初始化css,开箱即用!!!

热门文章

  1. java 调用父级方法_java子类调用父类的方法是什么
  2. 中国牛奶加热器市场趋势报告、技术动态创新及市场预测
  3. 【转】iPAD1 内存虚化
  4. 动态生成MSI包的WIX脚本文件内容
  5. Java ArrayList 归并排序
  6. 团体程序设计天梯赛-练习集 L1-033——L1-048
  7. 地理信息科学家——Michael F. Worboys
  8. vulnhub-CH4INRULZ渗透测试
  9. EDate(日期)标签之日期加减实例(一行代码算出50天前是几号)
  10. Python基础知识例题