这家伙很懒,什么都没留下
发布于

想请教一下为什么maximum entropy(把policy定义成概率密度函数)是有效的

评论(6)
  • Minyu 回复
    Y yinuo 2022-05-24 16:48:05

    请问式 5 中的 r 方程是否已知呢?强化学习中,对于 agent 来说,r 方程是未知的。

    在随机控制中,我们是给定 r 的函数形式,然后根据目标 V 的形式,对其进行猜解(比如目标是指数效用,V 就猜是指数形式,幂效用,V 就猜是幂函数形式),然后将猜的 V 带入 5 式,计算最优策略 u*,最后再去求解关于 V 的一个偏微分方程。

  • yinuo 回复
    M Minyu 2022-05-13 16:18:56

    怪事了,明明可以写 latex 代码,为啥预览有公式生成,发表言论和就没了呢。。。

    请问式 5 中的 r 方程是否已知呢?强化学习中,对于 agent 来说,r 方程是未知的。

  • Minyu 回复
    M Minyu 2022-05-13 16:16:09

    谢谢你的指导,你给的(3)说明让我想清楚了一些 RL 和控制理论上的一些关系,非常感谢 : )
    下面针对你(2)中的疑问,我稍微简介一下 DPP 和 HJB 方程,首先在我所学的随机控制领域,我们关注的是给定一个状态方程X_t和目标函数V(t,x),找到一个策略u(可能求解出是某个常数 or 关于时间 t 和初始状态的函数)最大化/最小化目标函数,i.e.

    V(t,x)=sup_{u}\Big\{E[\int_t^Tr(s,X_s,u)ds+h(T,X_T)]\Big\}\tag{1}
    dX_t=b(t,X_t,u)dt+\sigma(t,X_t,u)dW_t;\quad X_t=x\tag{2}

    其中r(s,X_s,u)代表持续收益,h是终端时刻收益,dW_t表示布朗运动(就是一个服从N(0,\Delta{t})的随机变量)
    1)动态规划原则,下简称 DPP:
    DPP 思想,我没记错的话其实就是 Q-learning:全局的最优解,一定是局部最优解,那么(1)式可以化为

    V(t,x)=sup_{u}\Big\{E[\int_t^{\tau}r(s,X_s,u)ds+V(\tau,X_{\tau})]\Big\}\tag{3}

    推导过程可以详见[1]

    2)HJB 方程
    在(3)式的基础之上,假设最优策略为u^*,那么有

    \begin{aligned} V(t,x)=&E[\int_t^{\tau}r(s,X_s,u^*)ds+V(\tau,X_{\tau})]\\ 0=&E[\int_t^{\tau}r(s,X_s,u^*)ds+V(\tau,X_{\tau})-V(t,x)]\\ 0=&E[\frac{\int_t^{\tau}r(s,X_s,u^*)ds+V(\tau,X_{\tau})-V(t,x)}{\tau-t}](\rm Let\quad\tau\rightarrow{t})\\ 0=&E[r(t,X_t,u^*)+dV(t,X_t)]\\ 0=&E[r(t,X_t,u^*)+V_t(t,X_t)+V_x(t,X_t)dX_t+\frac{1}{2}V_{xx}d[X,X]_t]\\ 0=&E[r(t,X_t,u^*)+V_t+V_xb(t,X_t,u^*)+\frac{1}{2}V_{xx}\sigma^2(t,X_t,u^*)]\\ \end{aligned} \tag{4}

    因此得到

    u^*=\argmax\Big[r(t,X_t,u)+V_t+V_xb(t,X_t,u)+\frac{1}{2}V_{xx}\sigma^2(t,X_t,u)\Big]\tag{5}

    对于求解解析解,针对原问题(1)式,最优策略就是求解方程(5),这个就是 HJB 方程。
    注 1:我这里的 1 推导过程写的非常随意,并且(4)式的倒数第二步的由来是 Ito 公式,倒数第一步的原因是随机微分方程的二次变差就是波动项的平方,完整证明思路详见[1]
    此时可以看出,在随机控制中的最优策略是一个实值函数,关于时间 t 和初值 x 的方程。这个策略不具备探索性质。
    注 2:抛开 DRL 不谈,单纯只看 RL 的问题也是一个控制问题,在给定目标函数和状态转移的情况下,只不过 RL 里更偏向于离散的状态方程和目标函数,而我们随机控制中则注重连续性,因为更希望得到策略的函数解。
    [1]Kevin Ross. Stochastic control in continuous time. Lecture Notes on Continuous Time Stochastic. Control, Spring, 2008.

    怪事了,明明可以写 latex 代码,为啥预览有公式生成,发表言论和就没了呢。。。

  • Minyu 回复

    谢谢你的指导,你给的(3)说明让我想清楚了一些 RL 和控制理论上的一些关系,非常感谢 : )
    下面针对你(2)中的疑问,我稍微简介一下 DPP 和 HJB 方程,首先在我所学的随机控制领域,我们关注的是给定一个状态方程X_t和目标函数V(t,x),找到一个策略u(可能求解出是某个常数 or 关于时间 t 和初始状态的函数)最大化/最小化目标函数,i.e.

    V(t,x)=sup_{u}\Big\{E[\int_t^Tr(s,X_s,u)ds+h(T,X_T)]\Big\}\tag{1}
    dX_t=b(t,X_t,u)dt+\sigma(t,X_t,u)dW_t;\quad X_t=x\tag{2}

    其中r(s,X_s,u)代表持续收益,h是终端时刻收益,dW_t表示布朗运动(就是一个服从N(0,\Delta{t})的随机变量)
    1)动态规划原则,下简称 DPP:
    DPP 思想,我没记错的话其实就是 Q-learning:全局的最优解,一定是局部最优解,那么(1)式可以化为

    V(t,x)=sup_{u}\Big\{E[\int_t^{\tau}r(s,X_s,u)ds+V(\tau,X_{\tau})]\Big\}\tag{3}

    推导过程可以详见[1]

    2)HJB 方程
    在(3)式的基础之上,假设最优策略为u^*,那么有

    \begin{aligned} V(t,x)=&E[\int_t^{\tau}r(s,X_s,u^*)ds+V(\tau,X_{\tau})]\\ 0=&E[\int_t^{\tau}r(s,X_s,u^*)ds+V(\tau,X_{\tau})-V(t,x)]\\ 0=&E[\frac{\int_t^{\tau}r(s,X_s,u^*)ds+V(\tau,X_{\tau})-V(t,x)}{\tau-t}](\rm Let\quad\tau\rightarrow{t})\\ 0=&E[r(t,X_t,u^*)+dV(t,X_t)]\\ 0=&E[r(t,X_t,u^*)+V_t(t,X_t)+V_x(t,X_t)dX_t+\frac{1}{2}V_{xx}d[X,X]_t]\\ 0=&E[r(t,X_t,u^*)+V_t+V_xb(t,X_t,u^*)+\frac{1}{2}V_{xx}\sigma^2(t,X_t,u^*)]\\ \end{aligned} \tag{4}

    因此得到

    u^*=\argmax\Big[r(t,X_t,u)+V_t+V_xb(t,X_t,u)+\frac{1}{2}V_{xx}\sigma^2(t,X_t,u)\Big]\tag{5}

    对于求解解析解,针对原问题(1)式,最优策略就是求解方程(5),这个就是 HJB 方程。
    注 1:我这里的 1 推导过程写的非常随意,并且(4)式的倒数第二步的由来是 Ito 公式,倒数第一步的原因是随机微分方程的二次变差就是波动项的平方,完整证明思路详见[1]
    此时可以看出,在随机控制中的最优策略是一个实值函数,关于时间 t 和初值 x 的方程。这个策略不具备探索性质。
    注 2:抛开 DRL 不谈,单纯只看 RL 的问题也是一个控制问题,在给定目标函数和状态转移的情况下,只不过 RL 里更偏向于离散的状态方程和目标函数,而我们随机控制中则注重连续性,因为更希望得到策略的函数解。
    [1]Kevin Ross. Stochastic control in continuous time. Lecture Notes on Continuous Time Stochastic. Control, Spring, 2008.

  • Minyu 回复
    Y yinuo 2022-05-08 18:19:07

    Hi, Minyu。我对于最优控制理论不太了解,对于 DRL 有一些了解。针对你的提问,我可以从 DRL 的角度说说我的看法:
    1)你说的实值函数,是指 Deterministic policy 吗?也就是说,策略网络的输出直接是 action 的值,而不是一个分布。我可以说一下为什么强化学习方法一般不用 deterministic policy,而是使用一个概率分布来表示。
    首先,DRL 中一般是用同一套策略网络去探索和更新的(online DRL),假设我们只使用一个 deterministic policy 去探索环境,就只能收集到非常固定的样本,而 DRL 的更新流程是 探索(收集数据)-(用收集到的数据)更新-(用更新后的策略)探索。。。因此,如果使用一个 stochastic policy 去探索,会容易收集到更多样性的样本,也就更容易收敛到更优的局部最优解。比如,PPO[1]方法、DDPG[2]方法(即使策略网络直接输出动作值,在探索中还是加入了噪声),事实上,我想不出一个 DRL 方法没有使用密度函数而是使用确定性策略去探索环境的。所以你说的这个从原来的实值函数变为密度函数应该是 DRL 的一个基本设置,和 maxmum entropy 没有关系。如果没有这个设置,大部分 DRL 无法进行训练。
    2)你说的全局最优解的情况,我对于 DPP 和 HJB 不太了解,能否详细说明一下呢?可以肯定的是,如果 HJB 方程可以求得最优解,那不需要加入熵作为 reward 去激励探索,在 DRL 中,由于 State,action space 是高维连续的,并且我们的目标函数有时候是多目标的,所以存在很多局部最优解,并没有理论证明某个 DRL 可以通过随机梯度下降的方法搜索到全局最优解,这也是为什么我们需要 entropy 的方法帮助我们去跳出局部最优解或者是减少局部最优解的个数。
    3)在我们存在局部最优解的情况下,max entropy 可以从两个方面帮助我们:1〉跳出局部最优解,防止梯度爆炸 2〉平整化解空间。
    3-1: 以 PPO[1]为代表的方法,通过在 policy loss 部分加入一个 entropy loss,通过简单增大策略分布的方差的方式去 maximum entropy。从探索的方面来看,一个策略的 sigma 越大,探索到的样本的多样性就越多。从策略更新的方面来看,PPO 基于 Trust Region Policy Optimization,也就是在最大化 Q 的同时要限制 KL[pi_old||pi],KL 和 pi 的 sigma 成反比(可以看一下 KL 的具体形式[3]),如果 pi(策略网络)的 sigma 很小,则有可能造成梯度爆炸,因此,从这个角度也需要考虑增大 entropy。
    3-2: 上面的废话很多,其实都没有解决你的问题,即为什么 maximum entropy 可以帮助我们找到全局最优解(更优的局部最优解)。以 Soft Q-learning[4]、Soft Actor-Critic[5]为代表的方法认为 pi*=argmax(r+H(s))(简略形式),其中的 H(s)就是 entropy,同时 Q loss 和 Policy loss 都做了一些相应的改变,而不仅仅是最大化 pi 的 sigma。在 SAC 原论文中,作者认为,maximum entropy 的方法可以帮助我们“capture multiple modes of nearoptimal behavior”。这更多的是一种直觉上的解释。但是在论文[5]中,作者通过简易实验验证了他们的想法“a policy with higher entropy can make the optimization landscape smoother, thereby connecting local optima and enabling the use of larger learning rates.”。
    总结来说,为什么用 entropy。首先是解空间很大并且存在很多局部最优解的问题中,从探索上可以增加样本的多样性,从更新上可以防止梯度爆炸,从解空间层面可以理解为减少局部最优解的个数,让解空间变“平整”。
    [1]Schulman J, Wolski F, Dhariwal P, et al. Proximal policy optimization algorithms[J]. arXiv preprint arXiv:1707.06347, 2017.
    [2]Lillicrap T P, Hunt J J, Pritzel A, et al. Continuous control with deep reinforcement learning[J]. arXiv preprint arXiv:1509.02971, 2015.
    [3]https://blog.csdn.net/sinat_33598258/article/details/103866136
    [4]Haarnoja T, Tang H, Abbeel P, et al. Reinforcement learning with deep energy-based policies[C]//International Conference on Machine Learning. PMLR, 2017: 1352-1361.
    [4]Haarnoja T, Zhou A, Abbeel P, et al. Soft actor-critic: Off-policy maximum entropy deep reinforcement learning with a stochastic actor[C]//International conference on machine learning. PMLR, 2018: 1861-1870.
    [5]Ahmed Z, Le Roux N, Norouzi M, et al. Understanding the impact of entropy on policy optimization[C]//International conference on machine learning. PMLR, 2019: 151-160.

    谢谢你的指导,你给的(3)说明让我想清楚了一些 RL 和控制理论上的一些关系,非常感谢 : )
    下面针对你(2)中的疑问,我稍微简介一下 DPP 和 HJB 方程,首先在我所学的随机控制领域,我们关注的是给定一个状态方程X_t和目标函数V(t,x),找到一个策略u(可能求解出是某个常数 or 关于时间 t 和初始状态的函数)最大化/最小化目标函数,i.e.

    V(t,x)=sup_{u}\Big\{E[\int_t^Tr(s,X_s,u)ds+h(T,X_T)]\Big\}\tag{1}
    dX_t=b(t,X_t,u)dt+\sigma(t,X_t,u)dW_t;\quad X_t=x\tag{2}

    其中r(s,X_s,u)代表持续收益,h是终端时刻收益,dW_t表示布朗运动(就是一个服从N(0,\Delta{t})的随机变量)
    1)动态规划原则,下简称 DPP:
    DPP 思想,我没记错的话其实就是 Q-learning:全局的最优解,一定是局部最优解,那么(1)式可以化为

    V(t,x)=sup_{u}\Big\{E[\int_t^{\tau}r(s,X_s,u)ds+V(\tau,X_{\tau})]\Big\}\tag{3}

    推导过程可以详见[1]

    2)HJB 方程
    在(3)式的基础之上,假设最优策略为u^*,那么有

    \begin{aligned} V(t,x)=&E[\int_t^{\tau}r(s,X_s,u^*)ds+V(\tau,X_{\tau})]\\ 0=&E[\int_t^{\tau}r(s,X_s,u^*)ds+V(\tau,X_{\tau})-V(t,x)]\\ 0=&E[\frac{\int_t^{\tau}r(s,X_s,u^*)ds+V(\tau,X_{\tau})-V(t,x)}{\tau-t}](\rm Let\quad\tau\rightarrow{t})\\ 0=&E[r(t,X_t,u^*)+dV(t,X_t)]\\ 0=&E[r(t,X_t,u^*)+V_t(t,X_t)+V_x(t,X_t)dX_t+\frac{1}{2}V_{xx}d[X,X]_t]\\ 0=&E[r(t,X_t,u^*)+V_t+V_xb(t,X_t,u^*)+\frac{1}{2}V_{xx}\sigma^2(t,X_t,u^*)]\\ \end{aligned} \tag{4}

    因此得到

    u^*=\argmax\Big[r(t,X_t,u)+V_t+V_xb(t,X_t,u)+\frac{1}{2}V_{xx}\sigma^2(t,X_t,u)\Big]\tag{5}

    对于求解解析解,针对原问题(1)式,最优策略就是求解方程(5),这个就是 HJB 方程。
    注 1:我这里的 1 推导过程写的非常随意,并且(4)式的倒数第二步的由来是 Ito 公式,倒数第一步的原因是随机微分方程的二次变差就是波动项的平方,完整证明思路详见[1]
    此时可以看出,在随机控制中的最优策略是一个实值函数,关于时间 t 和初值 x 的方程。这个策略不具备探索性质。
    注 2:抛开 DRL 不谈,单纯只看 RL 的问题也是一个控制问题,在给定目标函数和状态转移的情况下,只不过 RL 里更偏向于离散的状态方程和目标函数,而我们随机控制中则注重连续性,因为更希望得到策略的函数解。
    [1]Kevin Ross. Stochastic control in continuous time. Lecture Notes on Continuous Time Stochastic. Control, Spring, 2008.

  • yinuo 回复

    Hi, Minyu。我对于最优控制理论不太了解,对于 DRL 有一些了解。针对你的提问,我可以从 DRL 的角度说说我的看法:
    1)你说的实值函数,是指 Deterministic policy 吗?也就是说,策略网络的输出直接是 action 的值,而不是一个分布。我可以说一下为什么强化学习方法一般不用 deterministic policy,而是使用一个概率分布来表示。
    首先,DRL 中一般是用同一套策略网络去探索和更新的(online DRL),假设我们只使用一个 deterministic policy 去探索环境,就只能收集到非常固定的样本,而 DRL 的更新流程是 探索(收集数据)-(用收集到的数据)更新-(用更新后的策略)探索。。。因此,如果使用一个 stochastic policy 去探索,会容易收集到更多样性的样本,也就更容易收敛到更优的局部最优解。比如,PPO[1]方法、DDPG[2]方法(即使策略网络直接输出动作值,在探索中还是加入了噪声),事实上,我想不出一个 DRL 方法没有使用密度函数而是使用确定性策略去探索环境的。所以你说的这个从原来的实值函数变为密度函数应该是 DRL 的一个基本设置,和 maxmum entropy 没有关系。如果没有这个设置,大部分 DRL 无法进行训练。
    2)你说的全局最优解的情况,我对于 DPP 和 HJB 不太了解,能否详细说明一下呢?可以肯定的是,如果 HJB 方程可以求得最优解,那不需要加入熵作为 reward 去激励探索,在 DRL 中,由于 State,action space 是高维连续的,并且我们的目标函数有时候是多目标的,所以存在很多局部最优解,并没有理论证明某个 DRL 可以通过随机梯度下降的方法搜索到全局最优解,这也是为什么我们需要 entropy 的方法帮助我们去跳出局部最优解或者是减少局部最优解的个数。
    3)在我们存在局部最优解的情况下,max entropy 可以从两个方面帮助我们:1〉跳出局部最优解,防止梯度爆炸 2〉平整化解空间。
    3-1: 以 PPO[1]为代表的方法,通过在 policy loss 部分加入一个 entropy loss,通过简单增大策略分布的方差的方式去 maximum entropy。从探索的方面来看,一个策略的 sigma 越大,探索到的样本的多样性就越多。从策略更新的方面来看,PPO 基于 Trust Region Policy Optimization,也就是在最大化 Q 的同时要限制 KL[pi_old||pi],KL 和 pi 的 sigma 成反比(可以看一下 KL 的具体形式[3]),如果 pi(策略网络)的 sigma 很小,则有可能造成梯度爆炸,因此,从这个角度也需要考虑增大 entropy。
    3-2: 上面的废话很多,其实都没有解决你的问题,即为什么 maximum entropy 可以帮助我们找到全局最优解(更优的局部最优解)。以 Soft Q-learning[4]、Soft Actor-Critic[5]为代表的方法认为 pi*=argmax(r+H(s))(简略形式),其中的 H(s)就是 entropy,同时 Q loss 和 Policy loss 都做了一些相应的改变,而不仅仅是最大化 pi 的 sigma。在 SAC 原论文中,作者认为,maximum entropy 的方法可以帮助我们“capture multiple modes of nearoptimal behavior”。这更多的是一种直觉上的解释。但是在论文[5]中,作者通过简易实验验证了他们的想法“a policy with higher entropy can make the optimization landscape smoother, thereby connecting local optima and enabling the use of larger learning rates.”。
    总结来说,为什么用 entropy。首先是解空间很大并且存在很多局部最优解的问题中,从探索上可以增加样本的多样性,从更新上可以防止梯度爆炸,从解空间层面可以理解为减少局部最优解的个数,让解空间变“平整”。
    [1]Schulman J, Wolski F, Dhariwal P, et al. Proximal policy optimization algorithms[J]. arXiv preprint arXiv:1707.06347, 2017.
    [2]Lillicrap T P, Hunt J J, Pritzel A, et al. Continuous control with deep reinforcement learning[J]. arXiv preprint arXiv:1509.02971, 2015.
    [3]https://blog.csdn.net/sinat_33598258/article/details/103866136
    [4]Haarnoja T, Tang H, Abbeel P, et al. Reinforcement learning with deep energy-based policies[C]//International Conference on Machine Learning. PMLR, 2017: 1352-1361.
    [4]Haarnoja T, Zhou A, Abbeel P, et al. Soft actor-critic: Off-policy maximum entropy deep reinforcement learning with a stochastic actor[C]//International conference on machine learning. PMLR, 2018: 1861-1870.
    [5]Ahmed Z, Le Roux N, Norouzi M, et al. Understanding the impact of entropy on policy optimization[C]//International conference on machine learning. PMLR, 2019: 151-160.