强化学习不同于机器学习的方面
- 没有标签,只有一个奖赏信号
- 回报是延迟的,不是瞬间的
- 时间很重要
- 智能体的动作影响后续接收到的数据
强化学习的应用
- 直升机飞行特技演戏
- 打败世界围棋冠军
- 管理投资文件
- 控制发电站
- 让仿人机器人行走
- 在很多Atari游戏中打败人类
关于奖赏
- 回报奖赏信号是标量
- 标志着智能体在第t个动作的表现
- 智能体的工作是最大化累计奖励
强化学习基于奖赏假设
定义:所有目标可以被认为是最大化期望积累奖赏
连续决策
- 目标:选择最大化未来总决策的动作
- 动作的回报可能是长期的
- 奖赏可能延迟
- 可能要牺牲当期的奖赏获得更多长期奖赏
*智能体每一步的动作:
*执行动作At(唯一可以控制的量)
*输入外部环境的观测(新的环境状态)Ot
*接收奖赏Rt
*环境
*接收动作At
*发送环境观测值Ot+1
*发送标量奖赏Rt+1
*循环进行每一步
历史数据与当前状态
*通过之前的环境观测,动作和奖励获得的历史数据
Ht = O1, R1, A1, ..., At−1, Ot, Rt
- 这是到时间t为止所获得的值
- 这些值保存在机器人的感觉流中,或者说是形象化的大脑中(实际上是算法)
历史数据的用处(一般用处不大)
*让智能体选择出下一步动作
*环境改变状态,给出奖赏
*当前状态中的信息决定下一步执行什么动作(一般都是当前状态包含了执行下一步动作的全部信息)
*形式上,当前状态与历史数据相对应的函数:
St = f (Ht)
环境状态:
*代表环境自身的状态
*环境获得的数据被用来选择输出的奖赏和观测值(环境就是很多代表环境状态的数字集合)
*环境状态对于智能体来说不总是可见的
*即使是可见的,但是其中可能包含一些无关的信息
智能体的状态:
*代表智能体的交互状态
*智能体获得的信息用来选择下一步的动作(智能体也是很多代表智能体状态的数字集合,这些数字被用来训练算法模型,比环境状态数值集合重要的多)
*智能体获得的信息被用作强化学习算法
*这个状态可以是任何关于历史数据的函数
信息状态:
*信息状态又叫马尔可夫状态,其包含历史数据的所有有用信息
定义:
当且仅当该状态是马尔可夫状态时
具有马尔可夫性质的状态,它的未来是独立于过去的,仅仅取决于当下
*一旦知道了当前状态,就可以丢掉历史数据
*当前状态是未来的充分统计
*环境状态就是马尔可夫状态
*历史数据具有马尔科夫性质(最新数据可以代表之前的所有数据)
完全可视化的环境:
完全可视化含义:智能体可以直接获得环境状态
*智能体状态 = 环境状态 = 信息状态
*形式上,这是一个马尔可夫决策过程(MDP)
部分可视化的环境:
*部分可视化含义:智能体不能获得环境数据的全部数值
*
*这是一个部分可观测型的马尔可夫决策过程(POMDP)
*这种情况下,智能体必须创建能够代表自己状态的表达
方法:
*使用所有历史数据构成一个状态
*对环境状态使用贝叶斯方法:(每个状态的概率值组成向量,来 决定当前状态)
*循环神经网络:(智能体将其最近的状态和最近的观察值线性组 合, 得出新的状态)
强化学习智能体的重要组成元素(不是全部):
*决策Policy:智能体的行为函数
*值函数Value function:代表了每一个状态或每一次动作的好坏
*模型Model:智能体认为的虚拟环境,判断该虚拟环境的变化
Policy决策
*决策就是智能体的动作
*是状态到动作的映射
*确定性的决策:
*随机决策:
Value function值函数:
*值函数是对未来奖励的预测
*用来评价状态的好坏
*选择动作
(值函数是基于你的行为的,,值函数告诉我们,未来的奖励预期)
Model(环境模型):
*该模型将会预测将要输入智能体的环境状态是怎样的
模型一般分为两类:
- transitions:P预测下一个状态
- Rewards:R预测将得到的奖励
做决策方面的两个基本问题
*强化学习Reinforcement learning
*初始环境不可知
*智能体与环境交互
*智能体改进它的决策
*规划Planning
*开始已知环境模型
*智能体根据模型做出动作(不需要与环境交互)
*改进自己的决策
*熟虑、推理、反省、思考。思想、探索
探索和开发Exploration and Exploitation
*探索是去发现更多的环境信息
*开发是利用已知信息去最大化奖励
*两者同样重要,经常搭配使用
预测与控制Prediction and Control
*预测:评价未来------给出决策
*控制:优化未来-------找到最好的决策