七. 泛化和函数近似
问题:目前为止,我们假设值函数的估计都是用一个表,如Q-table.但是,这个表有局限,因为它局限于状态数和行为数较少的例子。因为如果状态数和行为数较大,一方面需要很多的内存,另一方面将数据填充进表格也需要耗费很多的时间。所以,这个是耗时耗空间的。因此,需要有一种方法,将有限的状态子空间的子集经验泛化到一个很大的子集中,从而产生好的近似。
解决:这种泛化的方法叫做函数近似(function approximation)。函数近似是从一个想得到的函数(value function)进行抽样,试图泛化他们来构建一个完整的函数的近似。
7.1 值估计和函数近似
本章的新颖之处在于,近似函数Vt代表的不是一个表,而是用参数向量参数化的一个函数。这意味着值函数Vt完全依赖于参数向量,随着每个时间步长的变化而变化。

均方根误差(MSE)用来估计值函数近似方法。
Backup??
7.2 梯度下降法

梯度下降法通过调整每个样本后沿着误差下降最快的方向调整参数向量:

在线梯度下降TD(入)用于V估计的算法:
7.3 线性模型
用feature vectors来表示states

7.3.1 粗糙编码
??
7.3.2 Tile Coding
??
7.3.3 径向基函数
??


7.4 函数近似的控制
八. Hierarchical Reinforcement Learning
有一些情况,就是reward的间隔很久。比如对机器人来说,只有捡到垃圾并且放到仓库中才能获得reward,那么这之间的delay将变得很大。因此,需要将reward进行shape。
解决方法就是添加intermediate reward,将目标分解成一个个的subgoal。所以,这个想法就是Hierarchical Reinforcement Learning。但是,这样就把这个问题从MDP变成SMDP.
8.1 SMDP



SMDP: The amount of time between one decision and the next is arandom variable(either real or integer valued). 也就是说,和MDP不同的是,决策与下个决策之间的时间间隔是随机的。MDP是假设每一个constant时间间隔。与MDP不同的是,就多加了一个时间间隔t.

还有一个有显著不同的地方就是reward的定义:
对于前者是适用于离散的时间空间,对于后者用于连续的时间空间。
8.2 Option
The option is a behaviour defined in terms of: o={Io,πo,βo}
Io: Set of states in which o can be initiated.
πo(s): Policy(mapping S to A)§ when o is executing.

βo(s) : Probability that o terminates in s.
MDP + Options = SMDP
九. Partial Observability and the POMDP Model
Partial observability: 部分可观,其实就是状态未知,但是知道状态的观测值。
举个例子,有A,B 两种状态。Agent一开始可能在两种状态中的一种,并且有两种可能的action, 要么stay, 要么move。 在A的时候utility0 为0, B的时候utility为1。从A出发只有0.9的概率会达到B,0.1的概率出发然后回到A,从B出发同理。
MDP:
已知agent一开始是在状态A,
Q(A, stay) = Uo + [0.9 * 0 + 0.1 * 1] = 0 + 0.1 = 0.1
Q(A, move) = Uo + [0.1 * 0 + 0.9 * 1] = 0 + 0.9 = 0.9
Umax = Max( Q(A, stay), Q(A, move) ) = move
已知agent一开始是在状态B,
Q(B, stay) = Uo + [0.9 * 1 + 0.1 * 0] = 0.9 + 1 = 1.9
Q(B, move) = Uo + [0.1 * 1 + 0.9 * 0] = 0.1 + 1 = 1.1
Umax = Max( Q(B, stay), Q(B, move) ) = stay
POMD: 由于信息不完全,可能一开始agent并不知道自己在A还是在B,于是需要给分别可能在A,或者B的可能性赋予权重,
权重:假设有0.4的可能一开始在A,0.6的可能性一开始在B。
U (stay) = 0.4 * 0.1 + 0.6 * 1.9 = 1.18
U (move) = 0.4 * 0.9 + 0.6 * 1.1 = 1.02
1. value function over belief space:

因为状态不可观测,所以agent需要依赖于基于状态的先验概率来做决定。
b是agent状态的一个概率估计。
由于每个b是一个概率分布,因此在POMDP中每个value都是整个概率分布的函数。这将成为问题,因为概率分布是连续的。除此之外,我们要考虑belief space的巨大复杂性。

2. value function update
1. payoff(return) in POMDPs
因为在MDPs中,payoff是取决于系统的state的。然而在POMDPs中,真实的state是不知道的。所以,我们将便利所有的state然后取他们的期望payoff。
已知条件如下:

举例:

那么:

2. expression for v and π

由上面的reward方程可以画图如下:

由最后一个图可以知道,这个是一个分段函数,因此,π的表达式如下:同时, v的表达式应运而生:
但是可以发现,上面的v中,最后一个-1基本不起作用的,所以可以将它进行剪枝。即只保留前两个式子,去掉-1的。

3. propagate forward v given an observation



给一个observation z1,我们更新belief基于贝叶斯法则:
因为我们不知道下一步的测量结果是什么,所以我们要计算belief的期望:
4. state transitions
当agent选择u3的时候,状态会发生改变。当我们计算value function的时候,我们不得不将这个潜在的状态改变考虑进去。


所以,最终的value function如下:考虑到agent从t1时刻切换到t2时刻可以先采取u1,u2,u3的任意一个行为之后再采取u1或者u2,所以我们得到t2时刻的value function:
(咋求的???)
5. 重复1-4的步骤
3. pruning
如果没剪枝的话上面的例子,T=20的时候,就达到10的547864次方的线性方程数,如果剪枝了,在T=20的时候,才12个。
总而言之,POMDPs只能成功运用于小的state space和小的可能的观测值的尽可能少的action的场景中。
十. 逆向增强学习
我们知道强化学习背后的假设是马尔科夫决策过程 (MDP)。马尔可夫决策过程是基于马尔可夫过程理论的随机动态系统的决策过程,其分五个部分:状态集 (states),动作集 (Action),转移概率,奖励函数,衰减因子。
有时候我们不知道转移概率和激励函数,便让系统探索环境。在探索过程中,环境根据我们未知的转移概率和激励函数,确定下一个状态和给出激励。这一类强化学习被称为模型无关的强化学习。逆向强化学习更极端:系统进行探索的过程中,环境不给出奖励。一般的强化学习的训练数据是{s1,a1,r1,...,sn,an,rn},而逆向强化学习的训练数据是一组轨迹{ζ=s1,a1,...,sn,an}。


逆向增强学习和增强学习的对比如下:
1. Behavioural Cloning
为什么人们要发明逆向强化学习呢?说一个场景,训练自动导航机器人,我们拿到的出租车司机的行为数据是一组轨迹{ζ=s1,a1,...,sn,an},我们无法获得司机在一个地址做了一个动作的即时奖励。可以用有监督学习处理这个问题,分类器的输入是地点,输出是动作。这种方法被称为行为克隆 (Behavior Cloning)。行为克隆有两个缺陷。一个是导航本质上是强化学习的范畴。导航行为的优劣是由整体用时决定的,整体用时只有在最后才知道,具有强化学习教师信号延迟特点。另一个是行为克隆只学习司机的行为,并没有深究司机的动机。

行为克隆就是使用监督学习去找到以{(st, at|t belongs to T }表示的数据。换句话说,就是找到一个策略去最小化误差。
限制评估者家族的策略和选择训练集T,测试集T‘,以避免overfitting,从而有一定程度的泛化是可能的。但是,这个是不足的。为什么呢?
1. 机器人是不灵活的,不能改变目标。
2. 当需要多于当前状态以执行(例如,当环境轻微地非马尔可夫)时,这种策略将表现不佳。
2. InverseReinforcement Learning
用人话来说,就是给定observation,找出reward是怎么分布的。换句话来说,就是找到一系列的reward的定义规则以至于找到最佳的policy。和以前的增强学习不同的是,以前的增强学习是已知reward然后去寻找最佳的policy,而逆向增强学习则是寻找reward怎么定义的。

从数学角度上说,
π*仅仅是源于给定的轨迹。那么,要如何去计算期望呢?

我们可以利用样本的平均值去代替期望:

那么问题又来了,这个是基于value的方程,那么我们要学习的是reward。如何将reward和value结合起来呢?

那么,获得最优的Reward的条件是什么呢?首先是要获得最优的action,然后从这个最优的action推到最优的reward。
所以,获得最优reward的条件有两个:
1. 向量R使得策略π最优
2. 每一步的π的偏差尽可能的大

对于第二个条件,我们有:
我们希望得到较小的reward但是能得到同样的效果。(奥科姆剃须刀原理:切勿浪费较多东西去做,用较少的东西,同样可以做好的事情。)为了达到这个目的,我们用一个惩罚系数去惩罚reward。
3. Function Approximation


通常,在巨大的state space的问题中,我们希望用通过限制搜索来使reward尽可能简单。所以我们设想用线性的方式表达reward。所以有:

其中,最优化的条件如下:
十一. Exploration and Controlled Sensing
11.1 Bayesian Updating
关于我们认为系统行为特征的参数的概率性陈述。我们关注于性能的不确定性。解决这种性能不确定性(e.g: policy, choice..),我们有两种方法:概率论和贝叶斯论。
我们聚焦于贝叶斯论解决这个问题。贝叶斯从关于参数的初始belief开始,并结合先前的测量来计算后面的。

先验概率:
最优的policy 是使得u尽可能的高效。
belief的更新:





11.2 Information Acquisition and VoI
通常可以使用将简单决策问题背景下的不确定性问题相结合的模型来捕获信息的好处。接下来通过一个具体的例子来说明这些好处。


在没有任何信息N帮助的条件下,赢的概率是p。那么期望值可以表示如下:
pR-(1-p):其实是赢的概率p乘以回报R,以及输的概率1-p乘以回报-1.

Informative Signal: 在比赛之前,我们有权决定要不要获取信息信号S(比如,可以购买报告或者上网查询相关信息). 但是这个信息信号可以是好的(g),也可以是坏的(b),我们假设这个信号将正确地预测结果, 有概率q:
Value of the Signal:


首先,我们需要了解信号如何改变游戏的预期收益。在给定信号S为good/bad的条件下,游戏的条件值如下:

接着,我们需要找到游戏的价值,因为我们已经决定获取信号,但在我们知道它的实现之前。

因为上面的式子才已知条件概率的部分,现在还需要知道非条件概率的部分:

此外,我们要知道,基于已知信号S, 赢得比赛或者输掉比赛的概率(用贝叶斯):


最后,我们让S表示需要在比赛之前获得信息信号,所以已知信息信号S的期望值为:
Marginal Value of Information(信息的边际值):

假设我们有两个选择,即什么都不干(reward=0),或者是获得任意一个服从均值是μ的reward。假设我们关于μ的prior belief通常以均值和精度分布:

假设我们获得了测量值w1,....wn.但是W有不知道的均值μ和知道的精度Bw,并且我们试验了n次,那么,我们估计的值的精度为:

那么我们估计值的更新如下(用贝叶斯):

用一个随机变量(var)去获得关于reward的belief,并且用这个来决策我们是否要去比赛:
Value of Information: Maximum price one should pay for knowing the actual value of an uncertainty before deciding on a course of action.

用一个z表示服从于均值为0,方差为1的正态分布,那么:

当我们有了n次的测量值,我们就可以根据这个value去选择我们是否要去比赛:Information gain and use in exploration:
exploration是控制移动机器人,以最大限度地了解外部世界。比如机器人需要获取静态环境的映射。如果我们将地图表示为“占用网格”,则探索是最大限度地提高每个网格单元的累积信息。POMDP已经包含此功能,但是我们需要定义一个适当的收益函数。一个好的选择是信息获取(Information gain):减少机器人belief的熵作为其行为的函数



Exploration Heuristics(启发式探索):

greedy method:
十二. Multi-agent Reinforcement Learning
12.1 On Self-Interest:
这不一定意味着机器人们想要造成对方的伤害,或者甚至只关心自己。反之,这意味着每个机器人都有他们自己对于当前世界state的描述,这可以包括对其他机器人来说是好的事情。
一个简单的例子来说明action space是怎么定义的(取两个action行为的积):

一个简单的例子(锤子剪刀布)来说明payoff是怎么定义的(bi-matrix):

12.2 payoff
12.2.1 common-payoff(pure coordinate):

对于所有的行为,任意的两对儿agent,他们得到的结果都是一样的。比如,最简单的,靠路的一边行走。
12.2.2 Constant Sum(Pure competition):

有一个常量c,对每组策略,A1xA2, 他们的回报R(A1)+R(A2) = c.也就是有一个想妥协,有一个坚决不妥协,唱反调。
12.3 Strategies:

12.3.1 Dominance

Dominance:如果有另一个行为更好,那么这个行为将一直受控。
比如囚徒问题。
Iterated Dominance:行为总是被混合的策略控制。
12.3.2 Minimax

minimax optimal strategy.
12.4 Equilibrium
12.4.1 Nash Equilibrium

纳什平衡就是一个联合的策略,所有的agent都对对方给出最佳的反应。因为每个agent都是给出最佳的反应,所以没有一个agent能单方面的得到额外的好处。
12.5 Game



网友评论