KL散度相关理解以及视频推荐
以下内容基于对[中字]信息熵,交叉熵,KL散度介绍||机器学习的信息论基础这个视频的理解,请务必先看几遍这个视频。
假设一个事件可能有多种结果,每一种结果都有其发生的概率,概率总和为1,也即一个数据分布。我们可以用哈夫曼编码作为最佳编码方案编码这些事件,并将多次事件发生的情况信息以哈夫曼编码的形式传递出去。
有一个结论是:在一个数据分布p上,用p对应的最佳编码方案来传递信息,这样传递的信息的期望量。这个期望量也被称为这个数据分布p作为一个信息的信息熵,是一个信息的一种属性。
信息熵就是,在一个数据分布p上,用p对应的最佳编码方案来传递信息,这样传递的信息的期望量。
交叉熵就是,在真实的数据分布p上,用你预测的分布q对应的最佳编码方案来传递信息,这样传递的信息的期望量。如果p和q完全一致,那么q的最佳编码方案就是p的最佳编码方案,传递的信息总量就是最少的,也就是说,交叉熵的值最小。
KL散度就是,【在一个数据分布p上,用分布q对应的最佳编码方案来传递信息,这样传递的信息的期望量】,与【在数据分布p上用分布p对应的最佳编码方案来传递信息,这样传递的信息的期望量】(也即p的信息熵),的差值。它衡量了两个分布的差别,KL散度越大说明两个分布差别越大,KL散度的最小值为0,表示两个分布完全相同。
在深度学习分类任务训练过程中,真实的数据分布就是p(y|x),其中x是样本特征,y是label向量(one-hot形式),用[0,0,0,1,0,0,0,0]这种形式表示,你可以把它看成一个分布,分别表示x是8种东西中的某一种的概率,由于y是label所以有一个是1,其他的全是0。预测的分布就是p(ŷ|x),其中x还是刚才的那个样本特征,ŷ可以是[0.1,0.2,0.05,0.6,0.01,0.01,0.01,0.02]这种形式,表示我们预测出的x可能是8中东西中的某一种的概率的分布。我们在写代码的时候,通常是使用y和ŷ的交叉熵来作为我们的loss。而实际上,我们也使用的是KL散度作为loss,效果和用交叉熵完全一样。这是因为p(y|x)对应的事件的信息熵的值永远为0. 因为p(y|x)的分布是[0,0,0,1,0,0,0,0]这样的,也就是说表示,x一定属于第四类,也就是说哈夫曼编码根本用不上,不需要编码,肯定是第四个,也就是p(y|x)对应的事件的信息熵的值永远为0。所以此时KL散度就等于交叉熵了。
那么如果是在变分推断VI或者变分自动编码器VAE中呢?在这两个场景下,我们通常要计算p(z|x)这个分布,也就是说给定x,把它编码成什么样的z是最好的。其中z是隐变量,不像前面的y一样是ground truth,不像y一样信息量为零。我们在这两种场景下实际上是将x编码为z,z有它自己的复杂的分布。由于我们要把x编码成z,通常是把一个高维的x编码成低维的z,因此我们需要z本身的分布能表示越多的信息越好,也就是z的分布本身的信息熵越大越好。因此此时我们使用的loss函数就是KL散度,假设我们的样本通过编码器后拿到的隐变量是ẑ,它的分布是p,隐空间中关于对于我们的样本最好的隐变量是z,它的分布是q,那我们就有了两个优化目标了,一个就是找到一个信息量最大的分布q,用来承载样本们将要传递过来的信息,另一个就是让编码器编码的分布p尽量接近q,也就是让原来高维的信息x,尽量的充分利用这个低维空间能承载的信息量。在VAE中,我们实际上把这个q固定为标准高斯分布了,因为在有前提(指x)的情况下,把z的分布建模成指数族分布的信息熵是最高的,也就是能承载更多的信息。在VAE的一般情况下,q是无限个高斯分布的混合,因此我们很难找到一个有公式的p(z|x)来逼近这个q,因此我们使用一个神经网络来作为p(z|x)这个分布,让它去接近q。
KL散度相关理解以及视频推荐的更多相关文章
- KL散度的理解(GAN网络的优化)
原文地址Count Bayesie 这篇文章是博客Count Bayesie上的文章Kullback-Leibler Divergence Explained 的学习笔记,原文对 KL散度 的概念诠释 ...
- (转)KL散度的理解
KL散度(KL divergence) 全称:Kullback-Leibler Divergence. 用途:比较两个概率分布的接近程度.在统计应用中,我们经常需要用一个简单的,近似的概率分布 f * ...
- PRML读书会第十章 Approximate Inference(近似推断,变分推断,KL散度,平均场, Mean Field )
主讲人 戴玮 (新浪微博: @戴玮_CASIA) Wilbur_中博(1954123) 20:02:04 我们在前面看到,概率推断的核心任务就是计算某分布下的某个函数的期望.或者计算边缘概率分布.条件 ...
- 相对熵(KL散度)
https://blog.csdn.net/weixinhum/article/details/85064685 上一篇文章我们简单介绍了信息熵的概念,知道了信息熵可以表达数据的信息量大小,是信息处理 ...
- 从香农熵到手推KL散度
信息论与信息熵是 AI 或机器学习中非常重要的概念,我们经常需要使用它的关键思想来描述概率分布或者量化概率分布之间的相似性.在本文中,我们从最基本的自信息和信息熵到交叉熵讨论了信息论的基础,再由最大似 ...
- 机器学习、深度学习中的信息熵、相对熵(KL散度)、交叉熵、条件熵
信息熵 信息量和信息熵的概念最早是出现在通信理论中的,其概念最早是由信息论鼻祖香农在其经典著作<A Mathematical Theory of Communication>中提出的.如今 ...
- 【原】浅谈KL散度(相对熵)在用户画像中的应用
最近做用户画像,用到了KL散度,发现效果还是不错的,现跟大家分享一下,为了文章的易读性,不具体讲公式的计算,主要讲应用,不过公式也不复杂,具体可以看链接. 首先先介绍一下KL散度是啥.KL散度全称Ku ...
- 浅谈KL散度
一.第一种理解 相对熵(relative entropy)又称为KL散度(Kullback–Leibler divergence,简称KLD),信息散度(information divergence) ...
- 非负矩阵分解(1):准则函数及KL散度
作者:桂. 时间:2017-04-06 12:29:26 链接:http://www.cnblogs.com/xingshansi/p/6672908.html 声明:欢迎被转载,不过记得注明出处哦 ...
随机推荐
- JavaScript——五
onload:在加载的时候 因为网页代码是从上到下执行的,所以我们有些对网页内容的操作要先加载出网页内容后再执行script的内容,这个时候如果没有onload我们只能写在这些内容的后面,但是有了lo ...
- Codeforces Round #649 (Div. 2) C. Ehab and Prefix MEXs (构造,贪心)
题意:有长度为\(n\)的数组\(a\),要求构造一个相同长度的数组\(b\),使得\({b_{1},b_{2},....b_{i}}\)集合中没有出现过的最小的数是\(a_{i}\). 题解:完全可 ...
- python中schedule模块的简单使用 || importlib.import_module动态导入模块
1 import schedule 2 import time 3 4 def start(): #定义一个函数 5 print("****") 6 7 8 if __name__ ...
- Git 初始化及仓库创建及操作
一.基本信息设置 1.初始化设置用户名 2.初始化设置用户名邮箱 备注:该设置在Github仓库主页显示谁提交了该文件. 二.初始化一个新的Git仓库 1.创建文件夹 mkdir test 2.在文件 ...
- 微信小程序swiper实现 句子控app首页滑动卡片
微信小程序swiper实现 句子控app首页滑动卡片 引言:最近看到句子控APP首页的效果很清新,可是发现他的微信小程序端没有实现这个功能,我看了一下难度不大,于是尝试着去实现. 实现效果如下: 1. ...
- GitHub Actions 支持 "skip ci" 了
GitHub Actions 支持 "skip ci" 了 Intro GitHub Actions 作为 GitHub 官方的 CI 支持,很多开源项目已经在使用 Actions ...
- Linux-进程管理命令
目录 进程管理命令-ps(静态) 进程管理命令-top(动态) 什么是中断 管理进程状态 kill命令 killall命令 pkill命令 pidof 和 pgrep 补充 关于优先级PR和NI 后台 ...
- codeforces 858A
A. k-rounding time limit per test 1 second memory limit per test 256 megabytes input standard input ...
- 2021 从零开始打造一个自己的 UI 组件库
2021 从零开始打造一个自己的 UI 组件库 refs GUI https://github.com/xgqfrms/gui/ https://www.npmjs.com/package/@xgqf ...
- flex layout & demos
flex layout & demos https://codepen.io/xgqfrms/pen/jjLPKN https://css-tricks.com/snippets/css/a- ...