目前搜到的资料汇总
视频教程
李宏毅机器学习课程第28讲 ,深度强化学习入门课程相关PPT链接 密码:77u5
李飞飞、吴恩达、Bengio等人的顶级深度学习课程 需要翻墙
一些概念扫盲
- 机器学习的四种主要类型:
(1)监督机器学习(如回归,分类):使用打了标签的数据给程序“训练”。用于进行预测。
(2)半监督机器学习(如聚类,降维):一部分“训练”数据,一部分“产出”数据。
(3)无监督机器学习:没有任何输入的训练数据。使用“聚类”算法和“关联”算法找到同模式的数据并排序。没有标签与数据点相关联。这些ML算法将数据组织成一组簇。此外,它需要描述其结构,使复杂的数据看起来简单,有条理,便于分析。
(4)增强机器学习:提供规则,使其寻找符合规则的最佳算法,输入的数据仅有“是否胜利”,国际象棋是这种算法一个很好的例子。使用这些算法来选择动作,一段时间后,算法改变其策略以更好地学习。
(5)深度学习:更深层次,灵感来源于大脑的工作方式,使用端到端的方式来解决问题,输入的数据和训练的时间越多,算法效果越好。
机器学习和深度学习的区别
(1)深度学习数据依赖更多,数据量小的时候深度学习反而表现不佳。
(2)深度学习依赖于高端机器,而传统学习依赖于低端机器。因此,深度学习要求包括GPU进行大量的矩阵乘法。
(3)深度学习算法中有太多参数,需要更多的执行处理时间。机器学习只花需要更少的时间进行训练。
(4)普通神经网络由于训练代价较高,一般只有3-4层,而深度神经网络由于采用了特殊的训练方法加上一些小trick,可以达到8-10层。深度神经网络能够捕捉到数据中的深层联系,从而能够得到更精准的模型,而这些联系不容易被普通的机器学习方法所发觉。
- 增强学习:
Reinforcementlearning, RL,又叫做强化学习:基本概念
Reinforcement learning is learning what to do ----how to map situations to actions ---- so as to maximize a numerical reward signal.
也就是说增强学习关注的是智能体如何在环境中采取一系列行为,从而获得最大的累积回报。
- 环境(E):智能体所处的物理世界;
- 状态(S):智能体目前的状态;
- 奖励(R):从环境中得到的反馈;
- 方案:将智能体状态映射到行动的方法;
- 价值(V):智能体在特定状态下执行某项行动获取未来的奖励。
通过增强学习,一个智能体应该知道在什么状态下应该采取什么行为。RL是从环境状态到动作的映射的学习,我们把这个映射称为策略。
增强学习和监督学习的区别主要有以下两点(增强学习更接近生物学习的本质):
(1) 增强学习是试错学习(Trail-and-error),由于没有直接的指导信息,智能体要以不断与环境进行交互,通过试错的方式来获得最佳策略。
(2)延迟回报,增强学习的指导信息很少,而且往往是在事后(最后一个状态)才给出的,这就导致了一个问题,就是获得正回报或者负回报以后,如何将回报分配给前面的状态。
(3)有监督学习和强化学习都会明确指出输入和输出之间的映射关系,但不同点在于,有监督学习给智能体的反馈是执行正确任务的行为集合,而强化学习反馈的则将奖励和惩罚转为积极和消极行为的信号进行反馈。
(4)对于无监督学习,强化学习的目标显得更加难以实现。无监督学习的目标仅仅是找到数据之间的相似和不同,而强化学习的目标却是找到一个能最大化智能体总累计奖励的模型。
增强学习最早的成功例子:Tesauro(1995)描述的TD-Gammon程序,使用增强学习成为了世界级的西洋双陆棋选手。这个程序经过150万个自生成的对弈训练后,已经近似达到了人类最佳选手的水平,并在和人类顶级高手的较量中取得40 盘仅输1盘的好成绩。
强化学习的主要模型和算法
1 MPD
对强化学习的研究可以从MPD(Markov desicion processes)开始。非确定的马尔科夫决策过程
马尔可夫决策过程(MDP)是所有强化学习环境的数学框架,几乎所有强化学习问题都可以使用MDP来搭建模型。一个MDP过程包含一个环境集合(S),每个状态中包含一个可能的行动集合(A),还包含一个实值奖励函数R(s)和一个转移矩阵P(s',s | a)。不过,现实世界的环境中,环境动态的先验信息可能是未知的,在这种情况下,运用“不理解环境强化学习”算法(model-free RL)去进行预测会更加方便、好用。
Q-learning模型就是一种应用广泛的不理解环境强化学习模型,因此可以用它来模拟PacMan智能体。Q-learning模型的规则是,在状态S下执行行动a,不停更新Q值,而迭代更新变量值算法就是该算法的核心。
2 不理解环境强化学习算法
- Q-learning:一种离线学习算法,智能体需要从另一项方案中学习到行为a*的价值;Q-learning的一个极简的例子
- SARSA:一种在线学习算法,智能体可从现有方案指定的当前行为来学习价值
这两种探索原理不同,但是开发原理相似。优点:容易实现。缺点:缺乏一般性,无法预估未知状态的值。一些更高级的算法可以解决这个问题。
- DQN算法(Deep Q-Networks):原理为利用神经网络来估计Q值。缺点:只能应用在离散的低维动作空间中。
-
DDPG(深度确定性策略梯度算法)则是一个理解环境的、在线的算法,它基于行动者-评论家(Actor-Critic AC)框架,可用于解决连续动作空间上的深度强化学习问题。
强化学习的应用
- 最适用于模拟数据领域,如游戏、机器人等
- 广泛应用于设计游戏中的AI玩家:如AlphaGo Zero
- 搭建一个高效的自适应控制系统:如DeepMind关于“带有异步策略更新的机器人操纵的深度强化学习youtube视频”
如何开始强化学习
- 电子书:Reinforcement Learning-An Introduction 作者:强化学习之父Richard Sutton和他的博士生导师Andrew Barto
- 视频:强化学习的基础 作者:David Silver
- 电子书:technical tutoria
- 实践:开始构建和测试第一个RL代理,来源于Andrej Karpathy的博客,讲述了如何用原始像素的策略梯度来训练神经网络ATARI Pong智能体,并提供了130行python代码来帮助你建立你的第一个强化学习智能体。
- 开源的3D游戏式平台:DeepMind Lab,为机遇智能体可以的人工智能研究提供丰富的模拟环境
- 基础AI研究的在线平台:Project Malmo
- 构建和比较强化学习算法的工具包:OpenAI gym