PaperNotes(10)-Maximum Entropy Generators for Energy-Based Models
Maximum Entropy Generators for Energy-Based Models
- Abstract
- 1 Introduction
- 2 Background
- 3 Maximum Entropy Generators for Energy-Based Models
- 4 Experiments
- 5 Related Work
- 6 Conclusion
- 7 Acknowledgements
Abstract
由于对数似然梯度的难以计算,能量模型的最大似然估计是一个具有挑战性的问题。本文中,我们提出了利用神经网络来学习能量函数和摊销(amotized)近似采样机制,这提供了对数似然梯度的有效近似。所得到的目标要求生成样本的熵最大化,我们使用最近提出的非参数互信息估计器来实现这一目标。最后,为了稳定由此产生的对抗博弈,我们使用从分数匹配文献(score matching literature)中导出的零中心梯度惩罚作为必要条件。所提出的技术可以生成具尖锐图像,IS和FID分数的与最新的GAN技术相比都具有竞争力,不会产生模式崩溃,并且与最新的异常检测技术竞争。
1 Introduction
无监督学习利用未标记数据,被视为实现人工智能的关键(Lake等人,2017)。基于能量的模型(EBMs、LeCun等人。(2006)是一系列无监督的学习方法,重点是学习能量函数,即数据的非标准化对数密度。这就不需要对数据分布进行参数化假设,以使归一化常数(Z)可处理。然而,在实践中,由于同样缺乏限制,学习高质量的基于能量的模型面临着诸多挑战。为了避免显式地计算Z或其梯度,对比散度(Hinton,2000)和依赖于马尔可夫链蒙特卡罗(MCMC)的随机最大似然(Younes,1998;Tieleman,2008a)从基于能量的模型中近似地采样。然而,基于MCMC的高维数据采样方法往往存在混合时间长的问题。因此,基于能量的模型培训与其他无监督学习技术如变分自动编码器(Kingma&Welling,2014))和生成性对抗网络(Goodfelle等人,2014))相比,并没有很大的竞争力。
在这项工作中,我们提出了最大熵产生器(MEG),在这个框架中我们训练能量函数和近似取样器,它可以是快速的(使用产生器网络G)或使用G在产生器的潜在空间中初始化马尔可夫链。适当地训练这样一个生成器需要生成器的输出分布的熵最大化,为此我们利用非参数互信息最大化的最新进展(Belghazi等人,2018;Hjelm等人,2018;Oord等人,2018;Poole等人,2018)。
为了评估该技术的有效性,我们在图像生成、精确模式表示和异常检测方面与其他最新技术进行了比较。我们证明,根据FID(Heusel et al.,2017)和IS(Salimans et al.,2016),所提出的技术能够生成与WGAN-GP(Gullajani et al.,2017)具有竞争力的CIFAR-10样品,并且能够在正确的数据频率下生成4叠加NIST的所有104个模式的样本。
我们证明,我们的技术在KDD99数据集上训练有助于异常检测的能量函数,并且它执行的异常检测技术和为该任务专门设计的最顶尖的异常检测技术可以相提并论,且远远优于其他基于能量和生成的异常检测模型。
为了总结我们的贡献,我们提出了最大熵发生器(MEG),这是一个新的框架工作,用于训练基于能量的模型,使用摊销神经发生器和互信息最大化。结果表明,所得到的能量函数可以成功地用于异常检测,并优于最近发表的基于能量模型的结果。我们表明,MEG生成了清晰的图像-具有竞争性的IS和FID分数。并且比标准GANs准确地捕获了更多的模式,同时与许多最大似然生成模型存在模型混合问题
不受导致模糊样本的的共模混合问题的影响。
2 Background
设x表示数据空间X\mathcal{X}X中的一个样本,Eθ:X→RE_θ:\mathcal{X}→\mathbb{R}Eθ:X→R为一个能量函数对应于非归一化的估计密度函数的负对数。
pθ(x)e−Eθ(x)Zθ∝e−Eθ(x)p_{\theta}(\bm{x})\frac{e^{-E_\theta ({\bm{x}})}}{Z_{\theta}}\propto e^{-E_\theta ({\bm{x}})}pθ(x)Zθe−Eθ(x)∝e−Eθ(x)
其中:ZθZ_{\theta}Zθ为归一化常数或( partition function).。令pDp_DpD为训练分布,从中提取训练集。对于优化能量函数的参数θ,最大似然参数梯度为
∂Ex∼pD[−logpθ(x)]∂θ=Ex∼pD[∂Eθ(x)∂θ]−Ex∼pθ(x)[∂Eθ(x)∂θ]\frac{\partial \mathbb{E}_{\boldsymbol{x} \sim p_{D}}\left[-\log p_{\theta}(\boldsymbol{x})\right]}{\partial \theta}=\mathbb{E}_{\boldsymbol{x} \sim p_{D}}\left[\frac{\partial E_{\theta}(\boldsymbol{x})}{\partial \theta}\right]-\mathbb{E}_{\boldsymbol{x} \sim p_{\theta}(\boldsymbol{x})}\left[\frac{\partial E_{\theta}(\boldsymbol{x})}{\partial \theta}\right]∂θ∂Ex∼pD[−logpθ(x)]=Ex∼pD[∂θ∂Eθ(x)]−Ex∼pθ(x)[∂θ∂Eθ(x)]
其中第二项是logZθlog Z_θlogZθ的梯度,当训练收敛时,两个期望的和为零,正相位(在数据采集自pD)的期望能量梯度与负相位(数据采自pθ(x)p_θ(x)pθ(x)下)的期望能量梯度相匹配。因此,训练包括尝试分离两个分布:正相位分布(与数据相关)和负相位分布(模型自由运行并自行生成配置)。这一观察结果激发了Bengio(2009)提出的pre-GAN思想,即“模型样本为负样本”,如果分类器将数据分布与模型自身样本分离,则可以用来学习能量函数。在之后不久发表的GANs模型,Goodfellow(2014)也做了一个类似的联系,涉及噪声对比估计(Gutmann&Hyvarinen,2010)。还应认识到等式2与Wasserstein GANs或WGAN的目标函数之间的相似性(Arjovsky等人,2017年)
式2中的主要挑战是从与能量函数Eθ相关的分布pθ中获得样本。虽然有一个能量函数可以方便地获得分数,从而可以比较不同x的相对概率,但是很难将能量函数转换为生成过程。常用的研究方法是基于马尔可夫链蒙特卡罗,其中一个迭代更新一个候选配置,直到这些配置在分布上收敛到期望的分布pθ。对于RBM,最常用的算法是对比散度(Hinton,2000)和随机最大似然(Younes,1998;Tieleman,2008a),依赖于RBM的特定结构来执行Gibbs抽样。尽管这些基于MCMC的方法很有吸引力,但与自回归模型(van den Oord等人,2016年)、变分自动编码器(Kingma&Welling,2014年)和生成性对抗网络或GANs(Goodfelle等人,2014年)相比,近年来RBM(及其更深层的形式,深玻尔兹曼机器)没有竞争力。
3 Maximum Entropy Generators for Energy-Based Models
3.1 Improving training stability
3.2 Improving sample quality via latent space MCMC
当MEG同时训练一个发生器和一个有效的能量函数时,我们可以通过向高密度区域偏移采样来提高采样质量。此外,正如Bengio等人最初讨论的那样,在潜在空间中进行MCMC行走应该比在数据空间中更容易,因为转换后的数据流形(在潜在空间中)比在原始观测数据空间中更平坦。(2013年)。其动机也类似于Brock等人成功使用的“截断技巧”。(2018年)。然而,我们使用了一种基于MCMC的方法,这种方法适用于任意的潜在分布。
我们使用Metropolis-adjusted Langevin算法(MALA、Girolami和Calderhead(2011)),Langevin dynamics在潜在空间中生成一个建议分布,如下所示:
4 Experiments
为了了解MEG的好处,我们首先在玩具数据上可视化生成模型所获得的能量密度。接下来,我们通过运行离散模式崩溃实验来评估熵最大化器的有效性,以验证我们学习了所有模式以及相应的模式计数(频率)分布。此外,我们还评估了MEG在锐化图像生成方面的性能,因为这是用最大似然法训练的模型的常见故障模式,容易产生模糊样本(the is等人,2015)。我们还比较了在可见空间的MCMC样本和我们提出的从合成能量函数的潜在空间的MCMC样本。最后,进行异常检测实验,验证所学习的能量函数的应用。
4.1 Visualizing the learned energy function
4.2 Investigating Mode Collapse
GANs因存在模式崩溃问题而臭名昭著,其中数据分布的某些模式不由生成的分布表示。由于生成器被训练成用能量模型分布(通过最大似然法训练)最小化其KL发散,我们期望生成器忠实地捕捉数据分布的所有模式。我们的理论要求我们最大化生成分布的熵,我们相信这有助于确保全模式捕获。
为了从经验上验证MEG捕获了所有数据分布模式,我们采用了与(Metz et al.,2016)和(Srivastava et al.,2017)相同的实验设置。我们在stackednist数据集上训练生成模型,这是一个通过在不同通道上叠加MNIST创建的合成数据集。使用一个预训练的MNIST分类器计算模式数,并根据经验计算生成的模式分布和数据分布之间的KL散度。
4.3 Modeling Natural Images
5 Related Work
6 Conclusion
7 Acknowledgements
PaperNotes(10)-Maximum Entropy Generators for Energy-Based Models相关推荐
- 最大熵模型(Maximum Entropy Model)文献阅读指南
最大熵模型(Maximum Entropy Model)是一种机器学习方法,在自然语言处理的许多领域(如词性标注.中文分词.句子边界识别.浅层句法分析及文本分类等)都有比较好的应用效果.张乐博士的最大 ...
- 最大熵原理(The Principle of Maximum Entropy)1
本文主要由Professor Simon DeDeo所讲授的内容为主整理而成. 最大熵原理(Max Ent),也称最大熵原理(The Principle of Maximum Entropy),同时也 ...
- 【机器学习】最大熵模型(Maximum Entropy Model)
最大熵模型(Maximum Entropy Model,以下简称MaxEnt),MaxEnt 是概率模型学习中一个准则,其思想为:在学习概率模型时,所有可能的模型中熵最大的模型是最好的模型:若概率模型 ...
- 【逆强化学习-2】最大熵学习(Maximum Entropy Learning)
文章目录 0.引言 1.算法原理 2.仿真 0.引言 \qquad本文是逆强化学习系列的第2篇,其余博客传送门如下: 逆强化学习0-Introduction 逆强化学习1-学徒学习 \qquad最大熵 ...
- 论文笔记2:Combining Lexical, Syntactic, and Semantic Features with Maximum Entropy Models for Extracting
这篇论文发表于2004年,属于比较早期的论文,主要解决提取实体之间的语义关系问题. 一.文章要解决的问题 解决实体之间的语义关系问题,在the Automatic Content Extraction ...
- MaxEnt: 最大熵模型(Maximum Entropy Models)
转自:http://www.zhizhihu.com/html/y2011/3489.html 刚看完HMM,因为有个ME-HMM方法,所以再看看最大熵模型,最后再把CRF模型看看,这一系列理论大体消 ...
- 玻尔兹曼分布详细推导、softmax 及 Energy Based Model
因为想申请 CSDN 博客认证需要一定的粉丝量,而我写了五年博客才 700 多粉丝,本文开启关注才可阅读全文,很抱歉影响您的阅读体验 大多数人应该都是在利用神经网络解分类问题时第一次接触 softma ...
- BME(Bayesian maximum entropy)
最近在看BME,看了很多文章,有这样一种感觉,就是理论都看懂了,但是不知道咋使用,不知道在实际运用过程中是咋样一步步操作的,在此记录下BME的理论和实践的学习过程,方便自己梳理. 1.BME理论基础 ...
- Object Detection with Discriminatively Trained Part Based Models(使用判别训练的部件模型进行目标检测 )
目录(?)[-] 摘要 关键词 引言 相关研究工作 模型 1 可变形部件模型 2 匹配 3 混合模型 隐藏变量SVM 1 半凸规划 2 最优化 3 随机梯度下降 4 难例挖掘SVM版 5 难例挖掘LS ...
最新文章
- [Jsoi2016]最佳团体 BZOJ4753 01分数规划+树形背包/dfs序
- java初学者面试_Java面试的前50个问题,面向初学者和经验丰富的程序员
- Neo4j Java REST绑定–第2部分(批处理)
- 思科计算机网络题目及翻译3,思科计算机网络题目及翻译1.doc
- word段落居中的快捷键_Word一分钟完成人员名单排版,这方法又快又好!
- 计算机万维考试题,计算机培训 万维考试系统选择题题库(含参考答案).pdf
- css3+js生成任意正多边形棱柱
- 查看linux磁盘信息,linux下查看硬盘型号等信息
- 快递地址自动识别填充
- CoffeeScript笔记
- tableau中LOD:fixed、include、exclude 区别
- vue 视频播放插件VideoPlayer
- plc顺序控制设计法的设计基本步骤
- Java入门之~Java基础语法
- 2022.7.26刷题合集
- HTTP学习笔记(适合初学)
- 【大学生课程】《Python数据分析》课程大作业要求
- win7c盘分区工具
- UE4/UE5 使用Unreal Datasmith完全教程
- uniapp HBuilder 无法运行微信小程序的问题解决
热门文章
- VxWorks中Timer机制
- yii mysql 主从_mysql主从同步实践YII
- php 开启fsockopen函数,巧用php的fsockopen函数
- 【转】设备数据通过Azure Functions 推送到 Power BI 数据大屏进行展示
- 【转】细说.NET中的多线程 (六 使用MemoryBarrier,Volatile进行同步)
- 解决Sharepoint每天第一次打开速度慢的问题
- R语言处理非线性回归模型C-D方程,使用R语言进行多项式回归、非线性回归模型曲线拟合...
- 堆和栈的概念和区别 python_堆和栈的概念和区别
- Hexo 博客本地预览报错:Error: listen EADDRINUSE 0.0.0.0:4000
- PWN-PRACTICE-BUUCTF-2