强化学习笔记1 (20181027)

1. 强化学习的元素

对应Sutton书的1.3节。

强化学习包括了两个基本元素 agentenviroment,除此之外还包含有四个主要的子元素:

. policy : 定义了机器人在每个特定时刻的选择动作的策略。它可以看做是从环境的状态集合到可采取的动作集合之间的一个映射。

. reward signal :定义了强化学习问题的目标。在每一步动作,环境都会给机器人一个数值反馈( reward),机器人的唯一目标就是将获取的reward总和最大化。直观的理解就是,reward定义了机器人每一步动作的"好"与“坏”。强化学习就是根据reward signal来调整policy。

. value function :相比于reward signal关注眼前的反馈,value function则是关注长期的、总体的反馈。简单地说,某个状态下的value是指从当前状态出发,机器人可以期望获取的reward的总和。也就是说,在某个状态,可能眼前的reward很低,但是value却很高,因为它的后续状态有很高的rewards。

. model of the environment : 是指环境行为的模拟(mimics),或者说是推导(inferences)出环境的行为。举例来说,给定一个状态和动作,model可以给出下一个状态和回报。

2. Multi-armed Bandits

对应Sutton书的第2章。

名词解释:多臂赌博机问题(Multi-armed bandit problem ) ,假设有个老虎机并排放在我们面前,我们首先给它们编号,每一轮,我们可以选择一个老虎机来按,同时记录老虎机给出的奖励. 假设各个老虎机不是完全相同的,经过多轮操作后,我们可以勘探出各个老虎机的部分统计信息,然后选择那个看起来奖励最高的老虎机. 在多臂赌博机中,我们把老虎机称为臂。也被称为顺序资源分配问题(sequential resource allocation problem),被广泛应用于广告推荐系统,源路由和棋类游戏中。

问题描述
现在有 k 个动作,每个动作被执行后都会得到一个期望的回报。定义:
A t A_t :在第 t 步选择的动作
R t R_t :在第 t 步选择的动作得到的相应回报
q ( a ) q_*(a) :动作 a 的 value,显然 q ( a ) = E [ R t A t = a ] q_*(a) = \mathbb E[R_t | A_t = a]
Q t ( a ) Q_t(a) :在第 t 步执行动作 a 的 value 的估计值。假设我们无法获取每一个动作的准确的 value 值(否则问题就不需要考虑了,只需要选择 value 最大的动作即可),我们只能估计每一个动作的 value 值。我们的目标就是希望 Q t ( a ) Q_t(a) q ( a ) q_*(a) 尽量接近。

贪婪动作(greedy action) :在每一步,估计 value 值最高的动作。

利用(exploiting) 和 探索(exploring) :在每一步,如果我们选择贪婪动作,则称为是利用 (exploiting) 已有知识,否则称为是探索 (exploring) 新的知识。因为只有在探索时,我们才会更新那些非贪婪动作的 value。利用可以在眼前这一步获得最大回报,但是探索可以帮助我们从长期的过程中获得最大的整体回报。但是,在每一步动作中,我们不能同时使用利用和探索,所以这是一件矛盾的事情,也是强化学习算法需要重点面对的问题。

样本均值(sample-average)估计法:每个动作 a a 的 value 是其被执行时所获得回报的平均值:
Q t ( a ) : = sum of rewards when  a  taken prior to  t number of times  a  taken prior to  t = i = 1 t 1 R i 1 A i = a i = 1 t 1 1 A i = a Q_t(a) := \frac {\text{sum of rewards when $a$ taken prior to $t$}}{\text{number of times $a$ taken prior to $t$}} =\frac {\sum_{i=1}^{t-1} R_i \bullet \mathbb{1}_{A_i = a}} {\sum_{i=1}^{t-1} \mathbb{1}_{A_i = a}}
上述公式中,如果分母为0,则我们将 Q t ( a ) Q_t(a) 设定为一些默认值,比如0;如果分母趋向无穷大,根据大数定律, Q t ( a ) Q_t(a) 收敛于 q ( a ) q_*(a)

贪婪动作可表示为 A t : = arg max a Q t ( a ) A_t := \mathop{\arg\max}_{a} Q_t(a)

贪婪动作选择通常利用已有知识而使得眼前的回报最大化,不会在那些“貌似低价值”的动作(sampling apparently inferior actions to)上花费时间,不会去验证它们也许是更好的动作。一个改进的办法是,在绝大多数时间下,选择贪婪动作,而在一些随机时间里(比如概率为 ϵ \epsilon 的情况下)随机选择一个动作(不管当前的 action-value estimate 如何)。这种近似于贪婪算法的方法被称为 ϵ \epsilon -greedy方法。这种方法的好处是,随着执行步数的持续增加,每一个动作被执行的次数也将接近无限,保证了 Q t ( a ) Q_t(a) 收敛于 q ( a ) q_*(a) 。这保证了选择出最优策略的概率的收敛值将大于 1 ϵ 1-\epsilon ,近似于确定。

【习题2.1】In ϵ \epsilon -greedy action selection, for the case of two actions and ϵ = 0.5 \epsilon=0.5 , what is the probability that the greedy action is selected?
解答:贪婪动作被选中的概率为(1- ϵ \epsilon )+ ϵ 1 2 = 0.5 + 0.5 0.5 = 0.75 \epsilon*\frac{1}{2}=0.5 + 0.5*0.5 =0.75 .

【习题2.2】Bandit example Consider a k k -armed bandit problem with k = 4 k=4 actions, denoted 1, 2, 3, and 4. Consider applying to this problem a bandit algorithm using ϵ \epsilon -greedy action selection, sample-average action-value estimates, and initial estimates of Q 1 ( a ) = 0 Q_1(a) = 0 , for all a. Suppose the initial sequence of actions and rewards is A 1 = 1 , R 1 = 1 , A 2 = 2 , R 2 = 1 , A 3 = 2 , R 3 = 2 , A 4 = 2 , R 4 = 2 , A 5 = 3 , R 5 = 0 A_1 = 1, R_1 = 1, A_2 = 2, R_2 = 1, A_3 = 2, R_3 = 2, A_4 = 2, R_4 = 2, A_5 = 3, R_5 = 0 . On some of these time steps the ϵ \epsilon case may have occurred, causing an action to be selected at random. On which time steps did this defi nitely occur? On which time steps could this possibly have occurred?
解答:可以计算出每一步的value估计值:
Q 2 ( 1 ) = 1 , Q 2 ( 2 ) = 0 , Q 2 ( 3 ) = 0 , Q 2 ( 4 ) = 0 Q_2(1)=1, Q_2(2)=0, Q_2(3)=0, Q_2(4)=0 , greedy-action:1, selected-action:2
Q 3 ( 1 ) = 1 , Q 3 ( 2 ) = 1 , Q 3 ( 3 ) = 0 , Q 3 ( 4 ) = 0 Q_3(1)=1, Q_3(2)=1, Q_3(3)=0, Q_3(4)=0 , greedy-action:1或2, selected-action:2
Q 4 ( 1 ) = 1 , Q 4 ( 2 ) = 1.5 , Q 4 ( 3 ) = 0 , Q 4 ( 4 ) = 0 Q_4(1)=1, Q_4(2)=1.5, Q_4(3)=0, Q_4(4)=0 , greedy-action:2 , selected-action:2
Q 5 ( 1 ) = 1 , Q 5 ( 2 ) = 5 3 , Q 5 ( 3 ) = 0 , Q 5 ( 4 ) = 0 Q_5(1)=1, Q_5(2)=\frac{5}{3}, Q_5(3)=0, Q_5(4)=0 , greedy-action:2 , selected-action:3
所以,可以看出来:第2、5步肯定使用了探索策略;第3步可能采用了探索策略。

The 10-armed Testbed】为了比较 greedy方法 和 ϵ \epsilon -greedy方法,书中2.3用了这样一个例子:样本数为 2000 的 k k -armed bandit problem,其中 k = 10 k=10 。每一个动作的 value q ( a ) , a = 1 , 2 , . . . , 10 q_*(a), a=1,2,...,10 满足均值为0、方差为1的高斯分布,进而每一步的回报 R t R_t 满足均值为 q ( A t ) q_*(A_t) 、方差为1的高斯分布。分布图如下
在这里插入图片描述

执行的效果图如下:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/zte10096334/article/details/83446191
今日推荐