David Silver强化学习Lecture1:强化学习简介
Posted orzyt
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了David Silver强化学习Lecture1:强化学习简介相关的知识,希望对你有一定的参考价值。
课件:Lecture 1: Introduction to Reinforcement Learning
视频:David Silver深度强化学习第1课 - 简介 (中文字幕)
强化学习的特征
作为机器学习的一个分支,强化学习主要的特征为:
无监督,仅有奖励信号;
反馈有延迟,不是瞬时的;
时间是重要的(由于是时序数据,不是独立同分布的);
Agent的动作会影响后续得到的数据;
强化学习问题
奖励(Rewards)
奖励 (R_t) 是一个标量的反馈信号,表示Agent在 (t) 时刻的表现如何.
Agent的目标: 最大化累积奖励(maximise cumulative reward).
强化学习基于奖励假设(reward hypothesis).
奖励假设(Reward Hypothesis):
所有强化学习任务的目标都可以被描述为最大化期望累积奖励.
序贯决策(Sequential Decision Making)
目标: 选择合适的动作最大化将来的累积奖励.
- 动作可能会产生长期后果;
- 奖励会有延迟性;
- 牺牲立即回报可能会获得更多的长期回报.
智能体和环境(Agent and Environment)
智能体在每个时刻(t)会:
- 执行动作(Action)(A_t);
- 接收观测(Observation)(O_t);
- 接收标量奖励(Reward)(R_t).
而环境则会:
- 接收动作(Action)(A_t);
- 产生观测(Observation)(O_{t+1});
- 产生标量奖励(Reward)(R_{t+1}).
历史与状态(History and State)
历史(History):由一系列观测,动作和奖励构成.
[ H_t = O_1, R_1, A_1, dots, A_{t-1}, O_t, R_t ]
下一步将发生什么取决于历史:
- 智能体选择的action;
- 环境选择的observations/rewards.
状态(State):用来决定接下来会发生什么的信息.
状态是历史的函数:
[ S_t = f(H_t) ]
环境状态(Environment State)
环境状态 (S_{t}^{e}) 是环境的私有表示,通常对于智能体来说该状态不可见.
即使(S_{t}^{e})可见,也可能包含不相关信息.
智能体状态(Agent State)
智能体状态 (S_{t}^{a}) 是智能体的内部表示,包含其用来决定下一步动作的信息,也是强化学习算法使用的信息.
可以写成历史的函数: (S_{t}^{a} = f(H_t))
信息状态(Information State)
信息状态(也称为马尔科夫状态): 包含历史中所有有用的信息.
马尔科夫状态表明: 未来只与现在有关,而与过去无关.
其中,环境状态(S_t^e)和历史(H_t)具有马尔科夫性质.
Rat Example
假如个体状态=序列中的后三个事件(不包括电击、获得奶酪,下同),事件序列3的结果会是什么? (答案是:电击)
假如个体状态=亮灯、响铃和拉电闸各自事件发生的次数,那么事件序列3的结果又是什么? (答案是:奶酪)
假如个体状态=完整的事件序列,那结果又是什么? (答案是:未知)
完全可观测环境(Fully Observable Environments)
完全可观测性(Full observability): 智能体可以直接观测到环境状态,即
[
O_t = S_t^a = S_t^e
]
- 智能体状态 = 环境状态 = 信息状态
- 实际上是马尔科夫决策过程(Markov Decision Process, MDP)
部分可观测环境(Partially Observable Environments)
部分可观测性(Partial observability): 智能体不能够直接观测到环境.
如,机器人不能通过摄像头得知自身的绝对位置.
- 智能体状态 ( eq) 环境状态
- 部分可观测马尔科夫决策过程(POMDP)
此时,智能体必须构建其自身的状态表示 (S_t^a),比如:
- 完全的历史: (S_t^a = H_t);
- 环境状态的置信度: (S _ { t } ^ { a } = left( mathbb { P } left[ S _ { t } ^ { e } = s ^ { 1 } ight] , ldots , mathbb { P } left[ S _ { t } ^ { e } = s ^ { n } ight] ight));
- 循环神经网络: (S_t^a = sigma left(S_{t-1}^{a}W_{s} + O_{t}W_{o} ight))
智能体的构成
智能体主要包含以下几种成分:
- 策略(Policy): 智能体的行为函数;
- 值函数(Value Function): 每个state或action的好坏;
- 模型(Model): 智能体对环境的表示.
策略(Policy)
- 策略是智能体的行为;
- 是状态到动作的映射;
- 确定性策略: (a = pi(s));
- 随机性策略: (pi(a|s) = mathbb{P} left[ A_{t} = a | S_{t} = s ight])
值函数(Value Function)
值函数是对于未来奖励的预测.
- 用于评价状态的好坏;
- 因此可以用来选择动作.
[ v_{pi}(s) = mathbb{E}_{pi} left[ R_{t+1} + gamma R_{t+2} + gamma^2 R_{t+3} + dots | S_{t} = s ight] ]
模型(Model)
模型用来预测环境接下来会做什么.
- (mathcal{P}): 预测下一个状态.
[ mathcal{P}_{ss'}^{a} = mathbb{P} left[ S_{t+1} = s' | S_{t} = s, A_{t} = a ight] ] - (mathcal{R}): 预测下一个(立即)奖励.
[ mathcal{R}_{s}^{a} = mathbb{E} left[ R_{t+1} | S_{t} = s, A_{t} = a ight] ]
Maze Example
策略表示:
箭头表示每个状态的策略 (pi(s)).
值函数表示:
数值表示每个状态的值 (v_{pi}(s)).
模型表示:
智能体可能对环境建立内部模型
- 网格布局表示转移模型 (mathcal{P}_{ss'}^{a});
- 数值表示每个状态的立即奖励 (mathcal{R}_{s}^{a}).
智能体的分类(Categorizing RL agents)
按智能体的成分分类:
- 基于值函数(Value Based)
- 基于策略(Policy Based)
- 演员-评论家(Actor Critic)
或者按有无模型分类:
- 无模型(Model Free)
- 基于模型(Model Based)
强化学习的问题
学习与规划(Learning and Planning)
强化学习
- 环境的初始状态未知;
- 智能体与环境进行交互;
智能体提升其策略.
规划- 环境的模型已知;
- 智能体通过模型进行计算,无须与外部进行交互;
智能体提升其策略
探索和利用(Exploration and Exploitation)
强化学习是一种试错(trial-and-error)学习.
智能体需要从与环境的交互中找到一种好的策略,同时不损失过多的奖励.
- 探索(Exploration): 从环境中寻找更多信息;
- 利用(Exploitation): 利用已知信息使奖励最大化.
探索和利用同等重要,即使根据已有信息选择出的最优动作可以得到不错的奖励,不妨尝试全新的动作对环境进行探索,也许可以得到更好的结果.
预测和控制(Prediction and Control)
- 预测(Prediction): 对未来进行评估.
- 控制(Control): 最优化未来的结果.
以上是关于David Silver强化学习Lecture1:强化学习简介的主要内容,如果未能解决你的问题,请参考以下文章
David Silver强化学习Lecture2:马尔可夫决策过程