一、概述
直观上来说,强化学习是智能体与环境不断交互,从而不断强化自己的决策能力的过程。
首先环境(Env)会给智能体(Agent)一个观测值(Observation)(有时也称状态State),智能体接收到环境给的观测值之后会做出一个动作(Action),环境接收到智能体给的动作之后会做出一系列的反应,例如对这个动作给予一个奖励(Reward),以及给出一个新的观测值。
智能体根据环境给予的奖励值去更新自己的策略(Policy)。可以说,强化学习的目的就是为了得到最优的策略。那么什么是策略?接下来介绍强化学习中的一些基本概念。
二、基本概念
1、策略Policy
Policy是智能体的行为函数,是一个从状态到动作的映射,它告诉智能体如何挑选下一个action。
强化学习中有两类policy: Deterministic policy和Stochastic policy。前一种又称确定性策略,即对于这个映射,输入一个状态,输出的是某一个确定的action。后一种是不确定性策略,即对于这个映射,输入一个状态,输出的是每个action的概率。
2、Episode
一个Episode由一系列的observation, reward, action组成。 ( O 1 , A 1 , R 2 , . . . , O T − 1 , A T − 1 , R T , O T ) (O_1, A_1, R_2, ..., O_{T-1}, A_{T-1}, R_T, O_T) (O1,A1,R2,...,OT−1,AT−1,RT,OT) 从initial observation到terminal observation。
3、奖励Reward
奖励 ( R t ) (R_t) (Rt)是一个反馈信号,是一个数值,表明这个智能体在step t 时做得有多好。
4、Return
又称累积折扣奖励(cumulative discounted reward)。step t 时的return为 G t = R t + 1 + γ R t + 2 + γ 2 R t + 3 + . . . G_t = R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + ... Gt=Rt+1+γRt+2+γ2Rt+3+... 其中 ( γ ) (\gamma) (γ)表示折扣因子,表示你对之后得到的reward的重视程度。 ( 0 < = γ < = 1 ) (0<=\gamma<=1) (0<=γ<=1),是一个由用户决定的参数。
智能体的任务就是去最大化累积奖励。然而由上面的式子我们可以看出,一条样本(即一个episode)对应一个Return,而episode是不确定的,有很多种可能发生的情况,因此Return是一个变量。
由此智能体的任务是最大化累积奖励的期望,即下面的值函数。
5、值函数Value Function
一个状态state s对应的值函数为 V π ( s ) = E π ( G t ∣ S t = s ) V_\pi(s) = E_\pi(G_t | S_t = s) Vπ(s)=Eπ(Gt∣St=s)这种值函数也称状态值函数。对给定的s, V(s)是一个确定的值。它表示,从state s开始,遵循策略(\pi)时的return的期望值。
还有一种值函数称为状态动作值函数: Q π ( s , a ) = E π ( G t ∣ S t = s , A t = a ) Q_\pi(s, a) = E_\pi(G_t | S_t = s, A_t = a) Qπ(s,a)=Eπ(Gt∣St=s,At=a)它表示,从state s开始, 采取动作a,遵循策略(\pi)时的return的期望值。
三、强化学习中的两类问题
智能体的学习过程是一个反复与环境进行交互,不断试错又不断进步的过程。在这个迭代过程中的每一步,我们需要完成强化学习中的两个问题:
1、Prediction 即给定一个策略,求值函数
2、Control 根据值函数寻找最优策略
之后会在具体的强化学习算法中看到这两个问题是如何被解决的。
四、强化学习与传统机器学习的区别
1、不同于传统机器学习的有监督或无监督,强化学习基于的是reward。
2、强化学习的数据是有序的,而传统机器学习的数据是iid的。因此传统机器学习的分布式系统对于强化学习不可用。
3、智能体的动作对于后续接收到的数据有影响。
参考资料:
David Silver的课程:www0.cs.ucl.ac.uk/staff/D.Silver/web/Teaching.html
https://wanjun0511.github.io/2017/11/04/强化学习-基本概念/