一、什么是强化学习
强化学习是机器学习里面的一个分支,是一个智能体通过不断的与环境产生互动而不断改进它的行为,从而积累最大奖励的一个决策过程。
智能体在完成某项任务时,首先通过动作A与周围环境进行交互,在动作A和环境的作用下,智能体会产生新的状态,同时环境会给出一个立即回报。如此循环下去,智能体与环境进行不断地交互从而产生很多数据。强化学习算法利用产生的数据修改自身的动作策略,再与环境交互,产生新的数据,并利用新的数据进一步改善自身的行为,经过数次迭代学习后,智能体能最终地学到完成相应任务的最优动作(最优策略)。
它主要包含四个元素,agent,环境状态,行动,奖励,强化学习的目标就是获得最多的累计奖励。
输入与输出
记住,reinforcement learning 的 输入 是:
- 状态 (States) = 环境,例如迷宫的每一格是一个 state
- 动作 (Actions) = 在每个状态下,有什么行动是容许的
- 奖励 (Rewards) = 进入每个状态时,能带来正面或负面的 价值 (utility)
而输出就是:
- 方案 (Policy) = 在每个状态下,你会选择哪个行动? 策略链
於是这 4 个元素的 tuple (S,A,R,P)就构成了一个强化学习的系统。 在抽象代数中我们常常用这 tuple 的方法去定义系统或结构。
二、为什么要强化学习(强化学习能够解决哪些问题)
首先深度增强学习有两点非常重要的特性:
1. 任何可以抽象成环境,状态,行为,奖励的问题,都可以用这个算法进行求解。
2. 不需要人工规则设定,可以将原始的图像当作状态。
deepmind所发表的深度增强学习,就是不停的对游戏画面”截图”,然后作为输入信号给程序,从而让程序学习玩任意的游戏,不需要任何人工参与。
可以看到凡是任务导向型,并且目标可以被奖惩函数刻画的,均可以利用深度增强学习来解决,所以其应用范围还是蛮广的
增强学习是机器学习中一个非常活跃且有趣的领域,相比其他学习方法,增强学习更接近生物学习的本质,因此有望获得更高的智能,这一点在棋类游戏中已经得到体现。Tesauro(1995)描述的TD-Gammon程序,使用增强学习成为了世界级的西洋双陆棋选手。这个程序经过150万个自生成的对弈训练后,已经近似达到了人类最佳选手的水平,并在和人类顶级高手的较量中取得40 盘仅输1盘的好成绩
参考链接: