1.概览
强化学习是从1960年代开始研究,但成名甚晚。在2013年DeepMind发表的Playing Atari论文后,Google收购了DeepMind团队。从后来的AlphaGo后,深度学习和强化学习开始火遍全球。
强化学习(Reinforcement Learning)就是在环境试错(Trial and Error)中来学习最优策略(Optimal Policy)。最优策略就是拿到最多的累积奖励(Reward)。
强化学习(英语:Reinforcement learning,简称RL)是机器学习中的一个领域,强调如何基于环境而行动,以取得最大化的预期利益。其灵感来源于心理学中的行为主义理论,即有机体如何在环境给予的奖励或惩罚的刺激下,逐步形成对刺激的预期,产生能获得最大利益的习惯性行为。[From wiki]
2.强化学习与监督学习/非监督学习的关系
强化学习和监督学习、非监督学习一样都是机器学习的一个分支。
监督学习:根据标签找到对输入输出之间的一种关系映射,找到y = f(x)的这样一种函数去表征一种映射。
非监督学习:对于y = f(x)没有指定的y标签,去学习f(x),是对x的一种聚类描述。
强化学习:根据x、y和reward机制来找到一种最优策略f(Optimal Policy),就是一种做决定的过程。
强化学习RL和监督学习SL的区别:强化学习是通过Trial and Error来学习,需要有效的探索,强化学习并没有监督学习的标明 输入/输出 的标签,奖励也可能延迟。在强化学习中每一个Action环境都会给出反馈,包括下一步State和Reward,reward可以有一些延迟。监督学习中每一个input都会有评判给出标签,判断Input是否足够好,给出desired label。
3.MDP
马可夫决策过程 Markov Decision Process,强化学习任务通常通过马可夫决策过程MDP来描述,MDP可以表示为:M = < S, A, P( s’ | a, s), R, γ >
代理或者智能体做动作Action施加于环境,环境会返回给智能体状态和奖励。
MDP随时间推移,在t时刻代理做了Action At动作,环境会返回两个值,S(t + 1)下一时刻的状态与R(t + 1)下一时刻的奖励。
4.几个术语
Agent:智能体/代理,被抽象出来感知周围环境的单元,强化学习的主角。
Action(A):动作/行动,Agent可以做出的动作,会影响环境。
Environment:环境,Agent所在的环境,会对Action做出反馈。
State(S):状态,Agent感知到的环境/Agent所处的状态。
Transition(P):过渡/转变。 由于MDP是随机过程,不具有确定性。P(s '| a, s)表示在state状态下实施了动作action,到达下一个状态s’的概率。
γ:影响因子,折扣因子,在[ 0, 1 ]之间,随时间越久远对奖励贡献的衰减。
Reward(R):到达一个State后得到的奖励,如1、-1、0,是一种标量。
Policy:策略,我们要学习到的目标,是对state做出相应的action。
Optimal Policy:最优策略,使奖励最大化的策略。
5.强化学习分类
(1)Model-Free RL
不基于模型的强化学习,直接在环境中学习,不需要对环境进行抽象。
(2)Model-Based RL
基于模型的强化学习,在真实的环境中总结学习出环境的特征,总结出环境的一套模型,在模型当中进行学习。
(1)Policy-Based RL
基于策略的强化学习,根据环境直接在策略空间里进行选择。
(2)Value-Based RL
基于价值的强化学习,学习价值函数,根据价值高低选择策略。
(3)Actor-Critic RL
演员-评论家,结合了基于策略(Actor)与基于价值(Critic),略类似与GAN。演员根据策略做出动作,评论家给演员做的动作进行打分。比如A3C、DPG、DDPG。
(1)On-Policy
在线学习,自己亲自玩游戏,边玩边学习。比如Sarsa、Sarsa(λ)。
(2)Off-Policy
离线学习,自己玩/看别人玩,能从经验或者记忆中学习。比如Q-Learning、Deep Q NetWork。
6.Q Learning
Q是Quality的首字母,表示“质量/优劣”,表示在某些state下进行某些action会得到Q的价值。
Learning为学习的意思,Q Learning为基于质量/优劣去评判来做出选择的一种学习方法。Q Learning是基于价值(Value-Based)的学习,同时也是离线(Off-Policy)的学习,可以基于过去的经验/记忆进行学习。
Q Learning的过程:首先初始化Q表中的Q值,再从Q表中选择对应的Action,对Agent实施这个Action,接着衡量得到的Reward奖励,继而更新Q表,接着循环再从Q表中选择Action,循环往复的过程。
**基于表格的Q Learning的局限性:**对于状态(State)非常多的场面是非常吃力的,计算能力不足。但是由于神经网络会记住许许多多的参数,神经网络会解决掉Q Learning表格的局限性。