VAE系列之KL散度推导和理解
储备知识
多维高斯公式的表达和推导
一维正态分布都为大家所熟知:
N(x;μ,σ2)=12πσ2exp(−(x−μ)22σ2)N(x;\mu,\sigma^2) = \frac{1}{\sqrt{2\pi\sigma^2}}exp(-\frac{(x-\mu)^2}{2\sigma^2})N(x;μ,σ2)=2πσ21exp(−2σ2(x−μ)2)
对于多维高斯分布,x⃗=(x1,x2,...,xn)\vec x = (x_1,x_2,...,x_n)x=(x1,x2,...,xn)各个随机变量相互独立,可以表示为
f(x1,x2,..,xn)=f(x1)f(x2)...f(xn)f(x_1,x_2,..,x_n) = f(x_1)f(x_2)...f(x_n)f(x1,x2,..,xn)=f(x1)f(x2)...f(xn)
f(x⃗)=12πσ12exp(−(x−μ1)22σ12)∗12πσ22exp(−(x−μ2)22σ22)∗...∗12πσn2exp(−(x−μn)22σn2)=1(2π)nΠi=1i=nσi2exp(∑i=1i=n−(xi−μi)22σi2)(1)f(\vec x) = \frac{1}{\sqrt{2\pi\sigma_1^2}}exp(-\frac{(x-\mu_1)^2}{2\sigma_1^2})*\frac{1}{\sqrt{2\pi\sigma_2^2}}exp(-\frac{(x-\mu_2)^2}{2\sigma_2^2})*...*\frac{1}{\sqrt{2\pi\sigma_n^2}}exp(-\frac{(x-\mu_n)^2}{2\sigma_n^2}) = \frac{1}{\sqrt{(2\pi)^n\Pi_{i=1}^{i=n}\sigma_i^2}}exp(\sum_{i=1}^{i=n}-\frac{(x_i-\mu_i)^2}{2\sigma_i^2}) \qquad (1)f(x)=2πσ121exp(−2σ12(x−μ1)2)∗2πσ221exp(−2σ22(x−μ2)2)∗...∗2πσn21exp(−2σn2(x−μn)2)=(2π)nΠi=1i=nσi21exp(∑i=1i=n−2σi2(xi−μi)2)(1)
当然,深度学习这本书中给出的公式如下:
N(x;μ,Σ)=1(2π)2det(Σ)exp⟮(−12(x−μ)TΣ−1(x−μ)⟯(2)N(x;\mu,\Sigma) = \sqrt\frac{1}{(2\pi)^2det(\Sigma)}exp\lgroup(-\frac{1}{2}(x-\mu)^T\Sigma^{-1}(x-\mu)\rgroup \qquad (2)N(x;μ,Σ)=(2π)2det(Σ)1exp⟮(−21(x−μ)TΣ−1(x−μ)⟯(2)
其中Σ\SigmaΣ和det(Σ)\det(\Sigma)det(Σ)分别表示的是x⃗\vec xx的协方差矩阵和协方差矩阵的行列式。对于相互独立的变量来说,任意两个变量的cov(xi,xj)=0cov(x_i,x_j) = 0cov(xi,xj)=0,其中i≠ji \ne ji=j。
Σ=[σ1120⋯00σ222⋯0⋮⋮⋱⋮00⋯σnn2]\Sigma = \begin{bmatrix} \sigma_{11}^2 & 0 & \cdots & 0 \\ 0 & \sigma_{22}^2 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots\ &\sigma_{nn}^2 \\ \end{bmatrix}Σ=⎣⎢⎢⎢⎡σ1120⋮00σ222⋮0⋯⋯⋱⋯ 00⋮σnn2⎦⎥⎥⎥⎤
所以方程式1和方程式2是等价的,前者用元素表达,后者用矩阵表达。
信息论之KL散度来源
信息论的一个基本想法是一个不太可能的事件居然发生了,要比一个非常可能的事件发生,能提供更多的信息[1]。
首先定义一个事件X=xX=xX=x的自信息(self-information)
I(x)=−logP(x)I(x) = -\log P(x)I(x)=−logP(x)
其中I(x)的单位为奈特(net),以e为底。一奈特表示以1e\frac{1}{e}e1的概率观测到一个事件的信息量。以2为底成为比特(bit),或者香农(shannons)。
我们可以用香农熵来对整个概率分布中的不确定性总量进行量化:
H(x)=−Ex∼P[logP(x)]H(x) = -E_{x\sim P}[\log P(x)]H(x)=−Ex∼P[logP(x)]
Jensen不等式
待续
The evidence lower bound
待续
[1] 深度学习
VAE系列之KL散度推导和理解相关推荐
- KL散度的通俗易懂理解
一.第一种理解 相对熵(relative entropy)又称为KL散度(Kullback–Leibler divergence,简称KLD),信息散度(information divergenc ...
- 关于KL散度的一些理解
前言 在阅读相关文献时,看到了关于交叉熵和相对熵的概念,交叉熵比较熟悉了,一般用在多分类损失的衡量,但是相对熵见得比较少,故查阅了一些资料,以供自己日后复习查阅. 正文 在概率论或信息论中,KL散度( ...
- 一点对 KL 散度的理解
在深度学习中经常用到的一个概念是 KL散度.之前对KL散度进行过一次理解,但后来随着利用次数的减少,开始忘却其具体的定义与物理意义,仅在印象中记得是"描述两个分布的相似度的度量". ...
- 信息熵、交叉熵、KL散度公式的简单理解
整理:我不爱机器学习 1 信息量 信息量是对信息的度量,就跟时间的度量是秒一样,考虑一个离散的随机变量 x 的时候,当观察到的这个变量的一个具体值的时候,我们接收到了多少信息呢? 例如听到太阳从东方升 ...
- kl散度的理解_以曲率的视角理解自然梯度优化
一个故事 我要讲一个故事:一个你几乎肯定听过的故事,但它的侧重点与你习以为常关注的不同. 所有现代深度学习模型都使用梯度下降进行训练. 在梯度下降的每个步骤中,您的参数值从某个起始点开始,然后将它们移 ...
- 如何理解K-L散度(相对熵)
Kullback-Leibler Divergence,即K-L散度,是一种量化两种概率分布P和Q之间差异的方式,又叫相对熵.在概率学和统计学上,我们经常会使用一种更简单的.近似的分布来替代观察数据或 ...
- “交叉熵”如何做损失函数?打包理解“信息量”、“比特”、“熵”、“KL散度”、“交叉熵”
[本文内容是对下面视频的整理和修正] "交叉熵"如何做损失函数?打包理解"信息量"."比特"."熵"."KL散 ...
- 熵、KL散度、交叉熵公式及通俗理解
熵 根据香农信息论中对于熵的定义,给定一个字符集,假设这个字符集是X,对x∈X,其出现概率为P(x),那么其最优编码(哈夫曼编码)平均需要的比特数等于这个字符集的熵. 如果字符集中字符概率越趋于平均, ...
- K-L散度(相对熵)的理解
信息量III 消息中有意义的内容成为信息.信息量函数:I=−lnpiI=-lnp_iI=−lnpi其中,pip_ipi是事件xix_ixi的发生概率. 信息熵HHH 它是用来对信息度量,描述信息 ...
最新文章
- css3的动画特效--元素旋转(transition,animation)
- SVM针对中文文本分类
- IKVM:java代码c#调用
- maven的web工程打包为war并部署到服务器
- 一文讲透数仓临时表的用法
- python时间转换、给定一个以秒为单位的时间t_以秒为单位的历元时间和正常日期的差python...
- linux ls命令无法执行,更新了个依赖程序,结果悲剧了,连ls命令都不能用,大神帮帮忙!...
- AndroidStudio_安卓原生开发_自定义服务器Token验证_MD5加密方法---Android原生开发工作笔记156
- 接受字符串参数,返回一个元组,并分别统计字符串中大小写的个数
- fetchxml 汇总_Dynamic CRM 2013学习笔记(十七)JS读写各种类型字段方法及技巧
- 助力移动AR应用发展,阿里巴巴推出AR开放平台
- 两小时学会ajax,全程无废话,直接上代码,追求速度的来
- servlet的配置(映射)以及生命周期
- android调起浏览器设置头部,Android开发:调起手机浏览器
- 2021莆田六中一高考成绩查询,莆田六中2018年高一新生录取名单完整版
- 第九届中国云计算大会讲师团探秘 ——数位院士领衔、近20个国家的学者共聚、多个行业领头人及专家参与, 共话云计算大数据生态、应用...
- 重学JavaSE —— Map、Set、Iterator(迭代器) 简单笔记
- lpk劫持方式粘滞键后门后门T00ls Lpk Sethc v3.0 正式版下载
- PMCAFF转载——网易云课堂产品研习
- GRU和LSTM的单元结构
热门文章
- python nonetype object is not_python报错TypeError: ‘NoneType‘ object is not subscriptable的解决方法...
- 软件开发过程与项目管理(13.软件项目集成计划控制)
- 超详细的Linux编程之UDP SOCKET全攻略(一文让你彻底了解)
- go mod 与govendor 使用与区别
- Linux系统清理缓存方法
- 关于foreach遍历list删除元素
- FreeNas 安装及使用
- js小数点保留时的四舍五入问题的处理
- vscode 配置安装ege和easyx等第三方图形库失败
- 52abp+angular打开页面报“无法加载xxxxx路由”的原因