强化学习背景
机器学习主要分为监督学习、无监督学习和强化学习。
- 监督学习(Supervised Learning):对于有标签的数据进行学习,目的是能够正确判断无标签的数据。主要任务:分类(Classification)和回归(Regression)。
- 无监督学习(Unsupervised Learning):对于无标签的数据进行学习,目的是不仅能够解决有明确答案的问题,也可以对没有明确答案的问题进行预测。主要任务:聚类(Clustering)和关联分析(Association)。
- 强化学习(Reinforcement Learning):根据周围环境的情况,采取行动,根据采取行动的结果,学习行动方式。
强化学习与其他机器学习不同之处:
- 没有教师信号,也没有数据标签,只有效用(reward);
- 反馈有延时,不是能立即返回;
- 输入数据为时序序列,而不是独立同分布(i.i.d.)数据;
- Agent执行的动作会影响之后的数据。
强化学习问题
强化学习问题是Agent与环境(Environment)的交互,一般是一个四元组 $\langle\mathcal A,\mathcal S,\mathcal R,\mathcal P\rangle$,其中:
- $\mathcal A$ 为行动空间(Action space);
- $\mathcal S$ 为状态空间(State Space);
- $\mathcal R$ 为效用(Reward),是 $\mathcal S\times\mathcal A\times\mathcal S\rightarrow\mathbb R$ 的映射;
- $\mathcal P$ 为转移函数(Transition),是 $\mathcal S\times\mathcal A\rightarrow\mathcal S$ 的映射。
对于Agent而言,它需要对当前的状态(或者说所处的环境)作出一个决策,也就是下一步要转移到何种状态。从它们的视野中,所看到的是如下的“SARSAR”序列:
具体来说,它包含以下模块:
- 策略(Policy):Agent的行为,状态空间到行动空间的映射。
- 确定策略(Deterministic policy):$a=\pi(s)$;
- 随机策略(Stochastic policy):$\pi(a\mid s)=\mathbb P(A_t=a\mid S_t=s)$。
- 值函数(Value function):状态(和行动)的评价,它是对当前状态(和行动)下未来效用的预测,即
$v_\pi(s)=\mathbb E_\pi(R_{t+1}+\gamma R_{t+2}+\gamma^2R_{t+3}+\cdots\mid S_t=s),$ 注意这里对未来效用作了折扣 $\gamma\in[0,1]$。
- 模型(Model):Agent对环境的刻画,它是给定状态和行动预测环境下一步的反应(或者说是下一个状态和效用),即
$\mathcal P_{ss'}^a=\mathbb P(S_{t+1}=s'\mid S_t=s,A_t=a),$ $\mathcal R_s^a=\mathbb E(R_{t+1}\mid S_t=s,A_t=a).$
强化学习与规划的区别
规划(Planning)是为了寻找一个全局最优值,它通常是已知环境模型,Agent直接基于环境模型计算最优策略。
强化学习则利用样例(Sample)来寻找最优策略,一般而言环境模型初始是未知的,需要Agent通过与环境的交互来改进策略。
强化学习涉及探索与开发的平衡问题:
- 探索(Exploration):更多地探索环境信息;
- 开发(Exploitation):利用已知信息获得最大的收益。
这里存在的问题是强化学习如果仅仅利用当前信息作决策可能陷入局部最优,因此需要通过探索来尽可能地达到全局最优,而探索过多可能浪费计算时间,因此需要作平衡。
OpenAI Gym
它是一款用于研发和比较强化学习算法的工具包,主要支持Python,可通过链接访问。
后记
本文内容来自中国科学技术大学《强化学习》(2022Fall)课件。
如对本文内容有任何疑问,请联系 watthu@mail.ustc.edu.cn。