关于周志华老师的《机器学习》这本书的学习笔记
记录学习过程
本博客记录Chapter16
文章目录
1 任务与奖赏
强化学习(Reinforcement Learning)是机器学习的重要分支。强化学习是指从环境状态从动作映射的学习,以使动作从环境中获得的累计奖赏值最大。与监督学习不同,监督学习通过正例、反例来训练模型采用何种行为,而强化学习通过探索试错的策略发现最优行为策略。
强化学习的基本结构如下所示:
该模型共包括五个重要组成部分:
- 智能主体(agent):智能主体指的是驻留在某一环境下,能持续自主地发挥作用,具有驻留性、反应性、社会性和主动性等特征的计算实体。它能根据外界环境的变化,自主地对自己的行为和状态进行调整,具备对外界刺激做出相应的反应的能力,并能积累或学习经验和知识,修改自己的行为决策以适应新环境。
- 环境(environment):环境指系统中智能主体以外的部分,能够向智能主体提供反馈状态和奖励,并按照所规定的规律发生相应的变化。
- 状态(state):状态指智能主体所处的当前状态情况。
- 行为(action):行为指智能主体在当前所处状态下所做出的动作行为。
- 奖惩反馈(reward):奖惩反馈是环境给予智能体所做行为的反馈。若智能体做出的行为得到换将正的奖赏,则强化信号;反之则减弱信号。
针对智能体选择行为的方式,强化学习方法可以分为基于价值的方法和基于概率的方法。基于价值的方法的输出值是下一步要采取的各种动作的价值,根据价值最高的原则选择动作,经常应用于不连续的动作行为,常见的算法包括Q learning,Sarsa算法;基于概率的方法能通过感官分析所处的环境,输出下一步要采取的各种动作的概率,根据概率选择行动,经常应用于连续的动作行为,常见的算法包括Policy Gradients算法等。
2 K-摇臂赌博机
与一般监督学习不同,强化学习任务的最终奖赏是在多步动作之后才能观察到,这里我们不妨先考虑比较简单的情形:最大化单步奖赏,即仅考虑一步操作。
欲最大化单步奖赏需考虑两个方面:
- 一是需知道每个动作带来的奖赏
- 二是要执行奖赏最大的动作。
若每个动作对应的奖赏是一个确定值,那么尝试一遍所有的动作便能找出奖赏最大的动作。然而,更一般的情形是,一个动作的奖赏值是来自于一个概率分布,仅通过一次尝试并不能确切地获得平均奖赏值。
实际上,单步强化学习任务对应了一个理论模型,即 “K-摇臂赌博机”:K-摇臂赌博机有K个摇臂,赌徒在投入一个硬币后可选择按下其中1个摇臂,每个摇臂以一定的概率吐出硬币。但这个概 率赌徒并不知道。赌徒的目标是通过一定的策略最大化自己的奖赏,即获得最多的硬币。
强化学习所面临的"探索-利用窘境" (ExplorationExploitation dilemma)。 显然,欲累积奖赏最大,则必须在探索与利用之间达成较好的折中。
2.1 ϵ \epsilon ϵ-贪心
ϵ \epsilon ϵ-贪心法基于一个概率来对探索和利用进行折中:每次尝试时,以 ϵ \epsilon ϵ的概率进行探索,即以均匀概率随机选取一个摇臂;以 1- ϵ \epsilon ϵ的概率进行利用,即选择当前平均奖赏最高的摇臂(若有多个,则随机选取一个)。
2.2 Softmax
Sotfmax算法基于当前已知的摇臂平均奖赏来对探索和利用进行折中。若各摇臂的平均奖赏相当,则选取各摇臂的概率也相当;若某些摇臂的平均奖赏明显高于其他摇臂,则它们被选取的概率也明显更高。
Sotfmax 算法中摇臂概率的分配是基于Boltzmann 分布:
P
(
k
)
=
e
Q
(
k
)
τ
∑
i
=
1
K
e
Q
(
i
)
τ
P(k)=\frac{e^{\frac{Q(k)}{\tau}}}{\sum_{i=1}^K e^{\frac{Q(i)}{\tau}}}
P(k)=∑i=1KeτQ(i)eτQ(k)
其中,
Q
(
i
)
Q(i)
Q(i)记录当前摇臂的平均奖赏;
τ
>
0
\tau>0
τ>0 称为"温度" ,
τ
\tau
τ越小则平均奖赏高的摇臂被选取的概率越高;
τ
\tau
τ趋于0时,Softmax 将趋于"仅利用";
τ
\tau
τ趋于无穷大时,Softmax 则将趋于"仅探索"。
3 有模型学习
考虑多步强化学习任务,暂且先假定任务对应的马尔可夫决策过程四元组 E = ( X , A , P , R ) E=(X,A,P,R) E=(X,A,P,R) 均为己知。这样的情形称为 “模型已知”,即机器对环境进行了建模,能在机器内部模拟出与环境相同或近似的状况。在己知模型的环境中学习称为"有模型学习" 。
理想的策略为最大化累计奖赏:
π
∗
=
arg
max
π
∑
x
∈
X
V
π
(
x
)
\pi^*=\mathop{\arg \max}_\pi \sum_{x\in X}V^{\pi}(x)
π∗=argmaxπx∈X∑Vπ(x)
4 免模型学习
在现实的强化学习任务中,环境的转移概率、奖赏函数往往很难得知,甚至很难知道环境中共有多少状态。若学习算法不依赖于环境建模,则称为 “免模型学习” (model-free learning),这比有模型学习要难得多。
4.1 蒙特卡洛强化学习
受K摇臂赌博机的启发,一种直接的策略评估替代方法是多次"采样",然后求取平均累积奖赏来作为期望累积奖赏的近似,这称为蒙特卡罗强化学习。由于采样必须为有限次数,因此该方法适合于使用T步累积奖赏的强化学习任务。
4.2 时序差分学习
时序差分 (Temporal Difference,简称TD) 学习结合了动态规划与蒙特卡罗方法的思想,能做到更高效的免模型学习。
蒙特卡洛方法相当于是“批处理”,实际中可以使用增量方法更新值函数。
5 值函数近似
现实情况,我们面对的状态空间往往是连续的,有无穷多个状态。一种做法是对状态空间离散化,另一种方法时直接对连续状态空间地值函数来进行学习。
假定状态空间为
n
n
n维实数空间
X
=
R
n
X=\mathbb R^n
X=Rn,将值函数表达为状态的线性函数:
V
θ
(
x
)
=
θ
T
x
V_\theta(x)=\theta^Tx
Vθ(x)=θTx
值函数的求解被称为值函数近似。
利用最小二乘法和梯度下降法,求解得到单个样本的更新规则:
θ
=
θ
+
α
(
V
π
(
x
)
−
V
θ
(
x
)
)
x
\theta = \theta+\alpha(V^{\pi}(x)-V_\theta(x))x
θ=θ+α(Vπ(x)−Vθ(x))x
6 模仿学习
6.1 直接模仿学习
假定我们获得了一批人类专家的决策轨迹数据
{
τ
1
,
τ
2
,
⋯
,
τ
m
}
\{\tau_1,\tau_2,\cdots,\tau_m \}
{τ1,τ2,⋯,τm}, 每条轨迹包含状态和动作序列
τ
i
=
<
s
1
i
,
α
1
i
,
s
2
i
,
α
2
i
,
⋯
,
s
n
i
+
1
i
>
\tau_i = \big< s_1^i,\alpha_1^i,s_2^i,\alpha_2^i,\cdots,s_{n_i+1}^i \big>
τi=⟨s1i,α1i,s2i,α2i,⋯,sni+1i⟩
其中
τ
i
\tau_i
τi为第
i
i
i条轨迹中的转移次数。有了这样的数据,就相当于告际机器在什么状态下应选择什么动作,于是可利用监督学习来学得符合人类专家决策轨迹数据的策略。
6.2 逆强化学习
逆强化学习的基本思想是:欲使机器做出与范例一致的行为,等价于在某个奖赏函数的环境中求解最优策略,该最优策略所产生的轨迹与范例数据一致。换言之,我们要寻找某种奖赏函数使得范例数据是最优的,然后即可使用这个奖赏函数来训练强化学习策略。