stone

《强化学习》读书笔记-第一二章
[toc]第一章 导论强化学习就是学习做什么能使得到的数值话的收益信息最大化。试错和延时收益是强化学习的最大特征。...
扫描右侧二维码阅读全文
16
2020/03

《强化学习》读书笔记-第一二章

timg.jpeg[toc]

第一章 导论

强化学习就是学习做什么能使得到的数值话的收益信息最大化。

试错和延时收益是强化学习的最大特征。

强化学习系统有四个核心要素: 策略,收益信号,价值函数和环境模型

  • 策略是指环境状态到动作的映射,这种映射可以是查询表,搜索,函数等方法
  • 收益信号是环境向智能体发送的信息,来定义对智能体来说何为好何为坏。收益信号是改变策略的主要基础。代表短期收益。
  • 价值函数代表了长期收益,评估价值的唯一目的是获得更多的收益
  • 环境模型给定一个状态和动作,可以返回下一个状态和收益,来模型智能体所在的环境

大多数的强化学习方法是建立在价值函数的估计上的,但不是唯一方法(进化方法)。

井字棋

在这里策略指对于棋局中的每一个状态,所采取的动作。

基于进化策略的算法使用固定的算法进行多次博弈,用该策略的频率来代替策略胜率的无偏估计。

基于价值函数的方法利用博弈过程中的有用信息来对每一个状态进行估计。

强化学习的发展有三条条主线:

  1. 源于动物学习心理的试错法
  2. 最优控制问题以及使用价值函数和动态规划的解决方案
  3. 时序差分方法

第二章 多臂赌博机

简单问题指其状态和动作空间小到可以用数组或表格的形式表示价值函数的问题。

一般来说,简单问题可以找到精确解,存在最优价值函数和最优策略。

强化学习与其他机器学习方法的最大不同,就在于前者的训练信号是用来评估给定动作的好坏,而不是通过给出正确的动作规范来进行评估。(评估性反馈指导性反馈)


<big style="color: #922">K臂赌博机</big>

你要重复在k个选项或动作中进行选择,每次做出选择之后,你可以得到一定数值的收益,收益由你选择或者动作决定的平稳概率分布产生。

目标是在一段时间内最大化总收益的期望。

这个问题可以被表示为:

$$ \arg \max_{a} q_*(a) = E[R_t | A_t = a] $$

$A_t$表示t时刻的动作,$R_t$代表该动作所能带来的收益, $q_*(a)$表示该动作所带来的收益期望。

当我们进行估计的时候,是希望得是价值估计$Q_t(a)$逼近$q_*(a)$。

在游戏的过程中存在开发和试探两种互相矛盾的操作,发开可以获得短期内较高的收益,而试探从长远来看可以获得较大的收益。

开发和试探的平衡是强化学习中需要解决的一个问题。

常见的一些做法: 贪心法,$\epsilon$-贪心法,乐观初始值,基于置信度上界的动作选择(UCB),梯度赌博机算法

价值-动作方法

通过计算每一个动作的实际平均收益来评估每动作的价值

$$Q_t(a)=\frac{\sum_{i=1}^{t-1} R_i}{N_a}$$

贪心法

每次选择能够获得最大收益的动作,如果存在多个动作都能获得最大收益,则随机选择一个。

初始化的时候每一个动作的收益都是一致的。

从长远来看,贪心法经常会陷入次优操作。

$\epsilon$-贪心法

在贪心法的基础上,每一次都有$\epsilon$的概率对所有的操作进行随机选择,这样最优操作被选中的概率会大于$1-\epsilon$

增量式实现

在计算$Q_{t+1}(a)$的时候,可以通过历史收益$Q_t(a)$和第n次收益$R_n$来进行计算,大大节省了计算量和内存使用量。

$$ Q_{n+1}=Q_{n}+\frac{1}{n}(R_n-Q_n) $$

其一般形式为:

$$ 新估计值=旧估计值+步长\times(目标-旧估计值) $$

步长是随n变化的函数,可以记作$\alpha_t(a)$

指数近因加权平均

当我们将步长换成一个常数$\alpha\in[0,1]$,则上式可以表示为对过去收益和初始估计$Q_1$的加权平均。

$$ Q_{n+1} = (1-\alpha)^n Q_1 + \sum_{i=1}^{n}\alpha(1-\alpha)^{n-i} R_i $$

且可以证明权重的和$(1-\alpha)^n + \sum_{i=1}^{n}\alpha(1-\alpha)^{n-i} = 1$

对于历史收益对当前收益估计的权重为$\alpha(1-\alpha)^{n-i}$, 离现在越久的收益,权重越少。

此方法被称为指数近因加权平均

在此方法下,估计永远无法收敛,而是会随着最近收益而变化。

乐观初始值-贪心

某些情况下初始值能提供一种简单的试探方法。

利用的是在$\alpha_t(a)=\frac{1}{n}$的时候,有偏估计会随着次数的增加慢慢消失的特性。

任何仅仅关注关注初始条件的方法都不能对非平稳情况有所帮助。

基于置信度上界的动作选择

$\epsilon$-贪心法实际上盲目地选择,最好的方法是根据他们的潜力来选择可能实际上最优的动作。

在考虑的时候要估计他们有多接近最大值,以及这些估计的不确定性。

动作的选择按照下面的策略进行:

$$ A_t = \arg \min_{a}[Q_t(a)+c\sqrt\frac{\ln{t}}{N_t(a)}] $$

t为第t次交互,$N_t(a)$表示该动作采用了多少次。后面一项是对动作a的不确定性的度量。

梯度赌博机算法

在这里定义一个数值化的偏好函数$H_t(a)$,这个函数表示一个动作对另一个动作的相对偏好,其绝对值没有意义。

所以这里可以定义一个该动作被选中的概率:

$$ Pr\{A_t=a\} = \frac{\exp{H_t(a)}}{\sum_{b=1}^{k}\exp{H_t(b)}} = \pi_t(a) $$

偏好函数的更新策略:

$$ H_{t+1}(a) = H_t(a)+\alpha(R_t-\overline{R_t})(1_{a=A_t}-\pi_t(a)) $$

此更新策略可以通过梯度上升法求得。

贝叶斯方法

假设每一个动作的价值都存在一个分布,根据动作之后得到的收益动态地更新分布的情况,使后延概率最大化。

Last modification:March 16th, 2020 at 05:31 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment