深度强化学习(DRL)算法 附录 4 —— 一些常用概念(KL 散度、最大熵 MDP etc.)

KL 散度

KL 散度是衡量两种概率模型分布相似性的一种尺度,KL 越大两种概率模型分布相似性越小。

信息量

2022 阿根廷夺冠(没有信息量,因为已经夺冠了)
2026 阿根廷夺冠(信息量很大)

比特

对信息量进行数学意义上的定义。
f(x) := 信息量
信息量:f(2026 年阿根廷夺冠)= f(2026 年阿根廷进决赛)+ f(2026 年阿根廷赢了决赛)
概率:p(2026 年阿根廷夺冠)= p(2026 年阿根廷进决赛) * p(2026 年阿根廷赢了决赛)
所以要两个等式都成立可以 f = log(1/p)(2为底)
那么这也是信息量用计算机的名次比特来做单位(计算机里 1bit 就是 0,1 两个信息,f(0) = log(1/2) )的原因。
那么我们可以看出信息量衡量的是,一个事件从确定到不确定的难度有多大,信息量越大,难度越大。

熵和信息量类似,但是区别是熵衡量的是整个系统里的所有事件,所以得乘上每个事件发生的概率,做信息量的加权平均(信息量的期望)。均匀分布的熵最大。
或者说:
熵衡量了随机变量的不确定性编码一个随机变量所需要的比特数目(平均角度)

H ( X ) = ∑ i p ( x i ) log ⁡ 2 1 p ( x i ) = − ∑ i p ( x i ) log ⁡ 2 p ( x i ) \mathcal{H}(X)=\sum_i p\left(x_i\right) \log _2 \frac{1}{p\left(x_i\right)}=-\sum_i p\left(x_i\right) \log _2 p\left(x_i\right) H(X)=ip(xi)log2p(xi)1=ip(xi)log2p(xi)

相对熵(就是所谓的 KL 散度)

那么两个系统之间的熵怎么比较呢,自然而然就有了相对熵的概念。
Q 基于 P 的相对熵(以 P 为基准,看 Q 和 P 相差多少),描述了 Q 想要达到和 P 一样的概率分布中间还差了多少信息量,所以相对熵为 0 的时候,Q 和 P 概率同分布。

D K L ( P ∥ Q ) : = ∑ i = 1 m p i ⋅ ( f Q ( q i ) − f P ( p i ) ) = ∑ i = 1 m p i ⋅ ( ( − log ⁡ 2 q i ) − ( − log ⁡ 2 p i ) ) = ∑ i = 1 m p i ⋅ ( − log ⁡ 2 q i ) ⏟ H ( P , Q ) : = 交叉熵 − ∑ i = 1 m p i ⋅ ( − log ⁡ 2 p i ) ⏟ H ( P ) = H ( P , Q ) − H ( P ) \begin{aligned} & \boldsymbol{D}_{\boldsymbol{K} \boldsymbol{L}}(\boldsymbol{P} \| \boldsymbol{Q}) \\ & :=\sum_{i=1}^m p_i \cdot\left(f_Q\left(q_i\right)-f_P\left(p_i\right)\right) \\ & =\sum_{i=1}^m p_i \cdot\left(\left(-\log _2 q_i\right)-\left(-\log _2 p_i\right)\right) \\ & = \underbrace{\sum_{i=1}^m p_i \cdot\left(-\log _2 q_i\right)}_{H(P,Q) := 交叉熵}-\underbrace{\sum_{i=1}^m p_i \cdot\left(-\log _2 p_i\right)}_{H(P)} \\ & = H(P,Q) - H(P) \end{aligned} DKL(PQ):=i=1mpi(fQ(qi)fP(pi))=i=1mpi((log2qi)(log2pi))=H(P,Q):=交叉熵 i=1mpi(log2qi)H(P) i=1mpi(log2pi)=H(P,Q)H(P)

同理
D K L ( Q ∥ P ) : = H ( Q , P ) − H ( Q ) \begin{aligned} & \boldsymbol{D}_{\boldsymbol{K} \boldsymbol{L}}(\boldsymbol{Q} \| \boldsymbol{P}) \\ & := H(Q,P) - H(Q) \end{aligned} DKL(QP):=H(Q,P)H(Q)

由吉布斯不等式可以知道 KL 散度一定是大于 0 的,所以我们可以直接应用交叉熵,交叉熵越小,Q 和 P 越相似。

最大熵 MDP

常规 MDP: max ⁡ π E [ ∑ t = 0 H r t ] \max _\pi E\left[\sum_{t=0}^H r_t\right] maxπE[t=0Hrt]

最大熵 MDP(PPO, SAC 里都有用): max ⁡ π E [ ∑ t = 0 H r t + β H ( π ( ⋅ ∣ s t ) ) ] \max _\pi E\left[\sum_{t=0}^H r_t+\beta \mathcal{H}\left(\pi\left(\cdot \mid s_t\right)\right)\right] maxπE[t=0Hrt+βH(π(st))]
,所以最大熵 MDP 是为了增加强化学习模型的探索性,因为均匀分布下的随机变量的熵最大。

拉格朗日对偶问题

TODO

KKT 条件

TODO

备注

sigmoid 函数

s i g m o i d ( x ) = 1 1 + e − x sigmoid(x) = \frac{1}{1+e^{-x}} sigmoid(x)=1+ex1

参考

  1. “交叉熵”如何做损失函数?打包理解“信息量”、“比特”、“熵”、“KL散度”、“交叉熵”_哔哩哔哩_bilibili
  2. https://www.dropbox.com/s/f9xyrdkpqugtrvq/l1-mdps-exact-methods.pdf?dl=0
  3. 从头开始,把概率、统计、信息论中零散的知识统一起来_哔哩哔哩_bilibili
  4. “拉格朗日对偶问题”如何直观理解?“KKT条件” “Slater条件” “凸优化”打包理解_哔哩哔哩_bilibili
  • 21
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿姆姆姆姆姆姆姆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值