一、概述
直观上来说,强化学习是智能体与环境不断交互,从而不断强化自己的决策能力的过程。
首先环境(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)\] 从initial observation到terminal observation。
3、奖励Reward
奖励\(R_t\)是一个反馈信号,是一个数值,表明这个智能体在step t 时做得有多好。
4、Return
又称累积折扣奖励(cumulative discounted reward)。step t 时的return为 \[G_t = R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + ... \] 其中\(\gamma\)表示折扣因子,表示你对之后得到的reward的重视程度。\(0<=\gamma<=1\),是一个由用户决定的参数。
智能体的任务就是去最大化累积奖励。然而由上面的式子我们可以看出,一条样本(即一个episode)对应一个Return,而episode是不确定的,有很多种可能发生的情况,因此Return是一个变量。
由此智能体的任务是最大化累积奖励的期望,即下面的值函数。
5、值函数Value Function
一个状态state s对应的值函数为 \[V_\pi(s) = E_\pi(G_t | S_t = s)\] 这种值函数也称状态值函数。对给定的s, V(s)是一个确定的值。它表示,从state s开始,遵循策略\(\pi\)时的return的期望值。
还有一种值函数称为状态动作值函数: \[Q_\pi(s, a) = E_\pi(G_t | S_t = s, A_t = 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