陈禹作者萝卜兔编辑整理

Glow具有可逆1×1卷积的生成流 | 论文分享

由于精确的对数似然易处理性、精确的潜变量推断易处理性、训练合成并行性,使得基于流的生成模型具有概念上的吸引力。本文提出Glow,一个使用可逆1x1卷积的简单生成流。文中模型证明了基准标准测试中对数似然的显著改进。也许最引人注目的是,其证明了针对普通对数似然目标优化的生成模型能够实现高效图像的逼真合成和操作。

背景:基于流的生成模型

设x为一个在未知真实分布下的高维随机向量。我们收集一个独立同分布的数据集D,并选择一个带参数Ɵ的模型。在离散数据x的情况下,对数似然目标等于最小化下列等式:

在连续数据x的情况下,我们最小化目标函数如下:

这里,其中a由数据的离散化水平决定,M是x的维度。两个目标函数都在测量比特的压缩成本。优化通过最小批次随机梯度下降完成。

在大多数基于流的生成模型中,生成过程被定义如下:

其中z是潜在变量并且有一个易处理的密度。函数是可逆的,也叫“双射的”,例如给一个数据点x,潜在变量推断通过得到。

我们关注的函数f由一系列转换组成,使得x和z的关系被写成:

这种可逆转换的序列被称之为“流”。改变等式4的变量,模型的概率密度函数被写作:

其中,我们定义。标量是Jacobian矩阵的行列式的绝对值对数,也叫对数行列式。这个值代表从的对数密度的变化。它的值通过明确的转换函数选择可以被极大地简化,其基本思想是选择Jacobian为三角矩阵的转换函数。对于这些转换,对数行列式能被简化为:

被提出的生成流

本文提出的生成流建立在NICE和RealNVP(见文末)的基础上,它由一系列的流的步骤组成,每一个步骤由actnorm、可逆的1x1卷积、耦合层组成(详细见后文)。

Actnorm

——具有数据依赖初始化的缩放和偏置层

由于batchnorm添加的激活噪声的方差和每个处理单元或GPU的最小批量的大小成反比,对于小数目的批量,性能会下降。对于大型图像,由于内存限制,我们只能通过批量大小为1的输入来学习。本文提出actnorm层,通过使用每层的缩放和偏置参数来执行激活的放射变换,类似于batchnorm。这些参数被初始化,使得在给定一个初始的小批量数据时,每个通道的激活后平均值和单位方差为零。这是一种数据依赖的初始化。在初始化后,缩放和偏置将被看做规则的可训练的独立参数

可逆1x1卷积

(Dinh等人,2014年,2016年)提出了一个包含排列的流,该排列反转了通道的排序。本文提出通过可逆1x1卷积来代替这种固定的排列,其中权重矩阵被初始化为一个随机的旋转矩阵。尺寸为张量h的可逆1x1卷积的对数行列式包含c x c的权重W,对数行列式被直接计算:

计算或微分的代价为,相比的代价为,我们初始化权重W为一个对数行列式为0的随机旋转矩阵,之后通过一个SGD步,这个值开始偏离0。

LU分解。det(W)的代价通过直接在它的LU分解中参数化W能从减少至O(c)。

其中P是一个排序矩阵,L是一个下三角矩阵,其对角线全为1,U是一个上三角矩阵,其对角线全为0,s是一个向量。对数行列式被简化为:

在该参数化中,我们通过首先对随机旋转矩阵W进行采样来初始化参数,然后计算P的对应值(其保持固定)以及L和U和s的相应初始值(其被优化)。

放射耦合层

放射耦合层是一个强大的可逆转换,其中前向函数、求逆函数和对数行列式是计算有效的。(见表1)。一个附加耦合层是s=1且对数行列式为0的特殊形式。

零初始化。我们初始化每一个NN()的最后一个卷积为0,使得每一个放射耦合层最初执行一个身份函数;我们发现这对于训练非常深的网络有帮助。

拆分和连接。Split()函数沿着channel维度切分输入张量h为两个张量,之后concat()操作执行对应逆向操作:连接成一个tensor。

排列。 上面的流程的每一步都应该先进行变量的某种排列,以确保在流动的足够步骤之后,每个维度都可以影响每个其他维度。在(Dinh等,2014,2016)中特定地进行的排列等同于在执行附加耦合层之前简单地反转通道(特征)的排序。 另一种方法是执行(固定)随机排列,我们的可逆1x1卷积是这种排列的推广。 在实验中,我们比较了这三个选择。

实验

定量实验。在我们的实验中,我们让每个NN()都有三个卷积层,其中两个隐藏层具有ReLU激活函数和512个通道。 第一个和最后一个卷积是3×3,而中心卷积是1×1,因为它的输入和输出都有大量的通道。

我们比较了CIFAR-10(Krizhevsky,2009)数据集的平均负对数似然(每维度的比特),保持所有训练条件不变并对三个随机种子求平均值。 结果如图3所示。正如我们所看到的,对于附加耦合和放射耦合,可逆1×1卷积实现了较低的负对数似然并且收敛更快。 放射耦合模型也比附加耦合模型收敛得更快。 仅为7%,因此该操作在计算上也是有效的。

与RealNVP在标准基准测试中的比较。我们遵循与(Dinh等,2016)相同的预处理。 对于Imagenet,我们使用ImageNet的32×32和64×64下采样版本(Oord等,2016),对于LSUN,我们下采样到96×96并采用64×64的随机作物。 我们还在我们的定性实验中使用256×256 CelebA HQ训练模型的比特/维度。如表2所示,我们的模型在所有数据集上实现了显着的改进。

定性实验。我们现在研究模型在高分辨率数据集上的定性方面。我们选择CelebA-HQ数据集(Karras等,2017),它由来自CelebA数据集的30000个高分辨率图像组成,并训练与上面相同的结构,但现在用于分辨率为2562,K = 32和L = 6的图像。

合成和插值。 图4显示了从我们的模型中获得的随机样本。 对于基于非自动回归可能性的模型,图像具有极高的质量。 为了了解我们如何插值,我们采用一对真实图像,用编码器对它们进行编码,并在潜伏期之间进行线性插值以获得样本。 图5中的结果表明,发生器分布的图像流形非常平滑,几乎所有中间样本看起来都像真实的面。

语义操纵。 我们现在考虑修改图像的属性。 为此,我们使用CelebA数据集中的标签。 每个图像都有一个二进制标签,对应于微笑,金发,年轻等属性的存在与否。这为每个属性提供了30000个二进制标签。

然后我们计算具有属性的图像的平均潜在矢量和没有的图像的,然后使用差异作为操纵的方向。 请注意,这是一个相对较少的监督,并且在训练模型后进行(在训练时没有使用标签),使得对于各种不同的目标属性非常容易。 结果如图6所示。

相关文献

Dinh, L., Krueger, D., and Bengio, Y. (2014). Nice: non-linear independent components estimation. arXiv preprint arXiv:1410.8516.

Dinh, L., Sohl-Dickstein, J., and Bengio, S. (2016). Density estimation using Real NVP. arXiv preprint arXiv:1605.08803.

本文

https://arxiv.org/pdf/1807.03039.pdf

极验
极验

极验是全球顶尖的交互安全技术服务商,于2012年在武汉成立。全球首创 “行为式验证技术” ,利用生物特征与人工智能技术解决交互安全问题,为企业抵御恶意攻击防止资产损失提供一站式解决方案。

理论生成模型Glow论文卷积神经网络
1
相关数据
激活函数技术

在 计算网络中, 一个节点的激活函数定义了该节点在给定的输入或输入的集合下的输出。标准的计算机芯片电路可以看作是根据输入得到"开"(1)或"关"(0)输出的数字网络激活函数。这与神经网络中的线性感知机的行为类似。 一种函数(例如 ReLU 或 S 型函数),用于对上一层的所有输入求加权和,然后生成一个输出值(通常为非线性值),并将其传递给下一层。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

张量技术

张量是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数,这些线性关系的基本例子有内积、外积、线性映射以及笛卡儿积。其坐标在 维空间内,有 个分量的一种量,其中每个分量都是坐标的函数,而在坐标变换时,这些分量也依照某些规则作线性变换。称为该张量的秩或阶(与矩阵的秩和阶均无关系)。 在数学里,张量是一种几何实体,或者说广义上的“数量”。张量概念包括标量、矢量和线性算子。张量可以用坐标系统来表达,记作标量的数组,但它是定义为“不依赖于参照系的选择的”。张量在物理和工程学中很重要。例如在扩散张量成像中,表达器官对于水的在各个方向的微分透性的张量可以用来产生大脑的扫描图。工程上最重要的例子可能就是应力张量和应变张量了,它们都是二阶张量,对于一般线性材料他们之间的关系由一个四阶弹性张量来决定。

插值技术

数学的数值分析领域中,内插或称插值(英语:interpolation)是一种通过已知的、离散的数据点,在范围内推求新数据点的过程或方法。求解科学和工程的问题时,通常有许多数据点借由采样、实验等方法获得,这些数据可能代表了有限个数值函数,其中自变量的值。而根据这些数据,我们往往希望得到一个连续的函数(也就是曲线);或者更密集的离散方程与已知数据互相吻合,这个过程叫做拟合。

随机梯度下降技术

梯度下降(Gradient Descent)是遵循成本函数的梯度来最小化一个函数的过程。这个过程涉及到对成本形式以及其衍生形式的认知,使得我们可以从已知的给定点朝既定方向移动。比如向下朝最小值移动。 在机器学习中,我们可以利用随机梯度下降的方法来最小化训练模型中的误差,即每次迭代时完成一次评估和更新。 这种优化算法的工作原理是模型每看到一个训练实例,就对其作出预测,并重复迭代该过程到一定的次数。这个流程可以用于找出能导致训练数据最小误差的模型的系数。

目标函数技术

目标函数f(x)就是用设计变量来表示的所追求的目标形式,所以目标函数就是设计变量的函数,是一个标量。从工程意义讲,目标函数是系统的性能标准,比如,一个结构的最轻重量、最低造价、最合理形式;一件产品的最短生产时间、最小能量消耗;一个实验的最佳配方等等,建立目标函数的过程就是寻找设计变量与目标的关系的过程,目标函数和设计变量的关系可用曲线、曲面或超曲面表示。

独立同分布技术

在概率论与统计学中,独立同分布(缩写为IID)是指一组随机变量中每个变量的概率分布都相同,且这些随机变量互相独立。一组随机变量独立同分布并不意味着它们的样本空间中每个事件发生概率都相同。例如,投掷非均匀骰子得到的结果序列是独立同分布的,但掷出每个面朝上的概率并不相同。

生成模型技术

在概率统计理论中, 生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下。 它给观测值和标注数据序列指定一个联合概率分布。 在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布。

批次技术

模型训练的一次迭代(即一次梯度更新)中使用的样本集。

推荐文章
暂无评论
暂无评论~