强化学习 Reinforcement Learning
Posted 二球悬铃木
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了强化学习 Reinforcement Learning相关的知识,希望对你有一定的参考价值。
强化学习 Reinforcement Learning
强化学习是一种机器学习思想,其关心一个智能体如何采取行动以达到最大化激励回报。
基本的强化学习模型以马尔可夫决策过程建模。
马尔可夫决策过程 Markov Decision Process
系统要素
- A 行动空间;
- S状态空间;
- \\(P^a_s\'s=\\mathbbP(S_t+1=s\'|S_t=s, A_t=a)\\) 状态转移函数(给定t时刻的状态和动作,t+1时刻的状态分布),在t时刻给定状态为s,动作为a,t+1时刻状态转移为s\'的概率;
- \\(R_a(s\',s)\\) 即刻奖励函数,给定动作a,状态由s转移到s\'所获得的即刻奖励(immediate reward)。
有时还包括衰减系数 \\(\\gamma\\) ,值域[0,1],t时刻的价值函数被定义为对未来奖励的指数衰减加权和:
,其中 \\(r_t\\) 是t时刻的即刻奖励。
关键概念
代理/智能体 Agent / intelligent agent
在环境中行动的虚拟代理,执行行为动作根据模型中的“策略”而定。
策略 Policy
策略,是根据环境的当前状态表明不同动作的概率。
奖励函数 Reward
状态价值函数 state value function
在一个给定策略 \\(\\pi\\) 下,(在某个时刻)状态s的价值函数被定义为以s作为初始状态,以策略 \\(\\pi\\) 推演出的收益G的期望。
,其中收益G是从此刻起未来所有即刻奖励的指数衰减加权和(discounted reward)(G之所以是随机变量是因策略 \\(\\pi\\) 是随机过程,导致依赖于此的收益R也是随机变量):
,其中 \\(r_k\\) 是相对R所处时刻(t)的未来第k个偏移时刻(即t+k时刻)的即刻奖励。
行动-状态 价值函数 state-action pair value function
优势函数 Advantage Function
行动价值与状态价值之差:
记号 \\(A\\) 在某些情况下存在歧义,可能值优势函数,也可能指行动(Action)。
Average Reward
累积奖励函数(策略优化目标函数)上的基本思想是:累积奖励是未来所有时刻奖励的平均和。
平均奖励函数:
其中 \\(d_\\pi(s):=\\lim_N\\to \\infty \\frac1N\\sum_t=0^N-1\\mathbbP(s_t=s|\\pi)=\\lim_t\\to \\infty\\mathbbP(s_t=s|\\pi)\\) 是策略 \\(\\pi\\) 下状态的平稳分布。 \\(\\tau=(s_0, a_0, s_1, a_1,\\dots)\\) 是轨迹(关于行动-状态对的时序), \\(\\tau \\sim \\mathbbP_\\pi\\) 表示从策略 \\(\\pi\\) 采样出的轨迹, \\(s_0\\sim \\mathbbP, a_0\\sim \\pi(\\cdot|s_0), a_t\\sim \\pi(\\cdot|s_t), s_t+1\\sim\\mathbbP(\\cdot|a_t, s_t)\\) 。
Discounted Reward
累积奖励函数(策略优化目标函数)上的基本思想是:越远的未来时刻的预估奖励对当前策略优化影响越小(对预估累积奖励贡献越小)。
\\(\\gamma\\in(0,1)\\) , 衰减加权奖励函数:
Discounted Reward 与 Average Reward的关系:
当 \\(\\gamma\\to 1\\) 时, \\(\\rho_\\pi,\\gamma\\to \\rho(\\pi)\\) ,即Average Reward可以认为是Discounted Reward思想在 \\(\\gamma=1\\) 时的特殊情况。
Disounted Reward的另一种特殊情况 \\(\\gamma=0\\) ,相当于不利用未来奖励信息,仅用当前的。
References:
策略类型 on-policy / off-policy
策略梯度 Policy Gradient
策略梯度是解决强化学习中梯度计算困难的一种方法。
上述“正比于( \\(\\propto\\) )”的证明详见书籍 Sutton&Barto 2020, Reinforcement Learning: An Introduction。
梯度更新策略(由于要最大化而非最小化目标函数,故应采用梯度上升而非下降):
,其中 \\(\\alpha\\) 为学习率。
时常会使用一个变体,其在 \\(G_t\\) 上减去一个基线值,以减少梯度估计的方差。
Q-Learning
函数Q并非已知计算式,而是用学习的方式来拟合。
Deep Q-learning Network, DQN
用深度神经网络学习Q函数。
GAE, Generalized Avantage Estimator
被用于策略梯度。
具有性质:
*
References:
- Sutton & Barto 2020, Reinforcement Learning: An Introduction.
深度强化学习Deep Reinforcement Learning 学习过程流水账
2016/10/23
这篇文章和那篇三维重建的流水账一样,用来记录一些关键资料来源和发牢骚。
Python怎么学上手快,够用?
神经网络怎么上手?
强化学习怎么上手?
目标驱动,先去看用Python写的强化学习的代码,再去看一些实现各种神经网络的Python代码。再看两种融合的代码。
熟悉工作环境和工作所用工具,比如Tensorflow之类的。
以上是关于强化学习 Reinforcement Learning的主要内容,如果未能解决你的问题,请参考以下文章
强化学习专栏——Reinforcement Learning
Reinforcement Learning强化学习系列之一:model-based learning