谷歌ICML获奖论文 看像素递归神经网络如何帮图片“极致”建模 ?

对自然图片的分布进行建模一直以来都是无监督学习中的里程碑式的难题。这要求图片模型易表达、易处理、可拓展。我们提出一个深度神经网络,它根据顺序沿着两个空间维度来预测图片中的像素。我们的模型离散了原始像素值的可能性,同时编码保证了整个图片的完整性。

建模特性包含二维循环层,以及对深度递归网络连接的有效利用。我们实现了比之前所有的模型都要好的在自然图片上对数可能性的分数。我们的主要结果也对Imagenet进行分类提供了支撑依据。从模型分析出的样本相当清楚、多样且有普遍适用性。

引言

在无监督学习中,通用型图形建模一直以来都是中心问题。概率密度模型可以被用来处理一系列图像压缩到和图像重构等复杂的问题,如图像修复(图1)以及使图像去糊,以及生成新的图片。

图1 从PixelRNN采集的样本

通用模型其中一个巨大优势就是有近乎无数的图像数据可以学习。然而,因为图像是高维且高度构造的,预估自然图片的分布是相当大的一个难题。在生成通用模型的过程中最重要的挑战之一是将它建的复杂、直观同时又易处理、可拓展。这种权衡产生了大量的通用模型,且它们每一个都有自身的优势。构建已处理模型的一个有效方式是将图像中的联合像素作为一个有条件的分布产品。这种构建方式被称为自回归模型,如NADE。

循环神经网络(RNN)是相当厉害的模型因为它提供契约式、分享性的参数化系列条件分布。在本文中我们改进了二维循环神经网络RNNs,并将它运用到大规模的自然图片建模中。我们也同样考虑了另外一种简化了的构筑方法,它和PixelRNN的核心内容是一样的。PixelRNN和PixelCNN抓住了整个像素相关的概括特征,不用引入独立性的假设,如潜在的变化模型。

本文的贡献如下:

在第3节中,我们设计了两种PixelRNNs来对应两种LSTM的层级:

我们认为纯粹的回旋PixelCNN是我们最快的构筑方法,同时我们设计了PixelRNN的通用版。在第5节中,我们展示了在我们的模型以及调用LSTM层中的连接中使用离散softmax分布的相关好处。

接下来我们在MNIST和CIFAR-10上进行了测试,结果表明他们获得了比之前所有的模型都要好的对数可能性的分数。我们也提供了对大范围ImageNet数据组重新调整大小至32 32和64 64像素的结果。从我们了解的来看最有可能的生产模型在数据组中还没有被报道过。

最后,我们对于PixelRNNs生成的样本数据进行了定性评估。

模型

我们的目标是预测可以用来运算的图像以及可以生成的新图像的自然图片分布情况。神经网络扫描图像都是每次一行以及每行一个像素。通过扫描值,它对每个像素的像素值的条件分布进行预测。图像像素的关联分布被分成一个有条件的分布。在预测中的限定条件也在图像所有的像素位置进行共享。

在这一节中我们将先来关注分布形式,而在下一节中我们将主要讲述PixelRNN内部的构筑创新点。

一个像素一个像素地生成图片

我们的目的是将一个概率p(x)添加到一张由n×n构成的图像x中。公式如下

p(xi|x1,...,xi−1)值是依据前序像素x1,...,xi−1第i个像素 x i的概念,运算过程是一行一行,一个像素一个像素进行的。如图2左所示:

每个像素x i反过来又由三个值决定,每个都由三种颜色红、绿、蓝三色构成。我们将它们的分布排布如下:

p(xi,R|x<i)p(xi,G|x<i,xi,R)p(xi,B|x<i,xi,R,xi,G) (2)

像素作为分散变量

在之前的尝试中我们使用连续分布来计算图像中的像素值。这次我们反过来将p(x)设计为离散分布,将公式2中的每个条件分布用softmax层来设计。根据实验我们发现离散分布比连续分布更易学习且表现更好。

像素递归神经网络

在这节中我们将介绍PixelRNN的构筑部分。

在本节中,我们描述了构成PixelRNN的结构组件。在第3.1和3.2,我们描述了两种使用卷积一次各州计算沿着空间维度之一LSTM层。在3.3节中,我们描述了如何将剩余的连接,以提高PixelRNN与许多LSTM层的培训。在3.4节,我们描述了一个计算颜色的离散联合分布,并确保适当的调理方案屏蔽技术的SOFTMAX层。在3.5节我们描述了PixelCNN架构。最后,在第3.6节,我们描述了多尺度结构。

Row LSTM

Row LSTM是将图像一行一行从上到下一次性完整分析它的特性,整个分析过程是一维回旋的。运算过程如下:

一个Row LSTM网络层有一个输入状态的成分以及周期性的状态转换成分,它们一起组成了长短期记忆人工神经网络核心的四个大门。为了提高Row LSTM网络行的输入状态成分先要将整个二维输入地图运算完全。

BiLSTM对角线

Diagonal BiLSTM被设计为既能并行计算又能抓取任何尺寸图像的可用文本信息。图4就解释了其大致过程。

图4

剩余连接

我们将PixelRNNs训练到12层深度,从LSTM层拓展到另一个深度。图5为剩余模块的大致图解:

图5

隐藏回旋

在网络中每层每一个输入位置的h特性都分散到了三个部分,每个都对应着一个RGB频道。我们也使用两种隐藏方式mask A和mask B, 如下图所示。

PixelCNN

The Row和Diagonal LSTM在它们自身领域都有一个无限制的范围,由于每次都需要按序列计算,这将造成相当大的运算损失。PixelCNN使用多维卷积层来阻止空间错误,但它只用在训练估算测试图片时。

Multi-Scale PixelRNN

Multi-Scale PixelRNN由无限制PixelRNN以及PixelRNNs组成。

模型说明

这一节中我们将给出像素递归神经网络(PixelRNNs)在实验中运用的说明。

我们有四种网络:

1. 基于Row LSTM的PixelRNN

2. 基于Diagonal BiLSTM的网络

3. 完全卷曲网络

4. 多标度的网络

表一详细说明了每层在单标度网络的特性。

表1 构筑特性

实验

这一节中我们来谈实验以及结果部分。首先我们来探讨我们的运算方法以及结果对比。在5.2节中我们将会详细谈到训练的细节。然后我们将给出在构筑成分上的相关有效性的成果,以及我们在MNIST、CIFAR-10 和ImageNet数据组方面的最佳成绩。

估算

我们所有的模型都是按从离散分布中得到的对数可能性损失运算训练和预估的。

训练细节

我们所有的模型都是使用Torch工具盒在GPU上进行训练的。从不同的限定条件来看,RMSProp是集合表现最佳的,把它用来进行所有的测试。结合所有的像素递归神经网络来看,我们了解到了最初的循环神经状态。

离散softmax分布

Softmax除了是一个直接的、容易的工具外,我们发现将它使用在离散像素值上也能得到更好的结果。在图6中我们展示了一些模型中softmax的活动状态。另一个离散分布的优势是我们不用担心间隔处外的大量分布小块,而这在连续分布中则经常出现。

图6 模型中softmax的活动状态

剩余连接

神经网络另一个核心部分是剩余连接。使用剩余连接和使用跳跃连接一样有效,两个一起使用还能协同加速、充分发挥优势。

表2 剩余和跳跃连接在ROW LSTM网络上的效果

当同时使用剩余和跳跃连接时,我们可以在表3中看到其在ROW LSTM上的提升效果。

表3

MINST

虽然我们的目标是对自然图片进行大范围建模,但我们也尝试了用二维MINST对我们的模型进行了测试。在表4中我们将Diagonal BiLSTM模型与之前已发布的结果进行了对比,据我们所知这是最好的MNIST测试成绩。

表4

CIFAR-10

接下来我们在CIFAR-10上测试了我们的模型,表5列举了我们模型的测试结果以及与已发布的进行对比。对于这些神经网络而言,Diagonal BiLSTM表现最好,Row LSTM和PixelRNN紧随其后。这也符合它们各自的优势领域:Diagonal BiLSTM有全局感官,Row LSTM有特定闭合感官,PixelRNN能感觉到文本最微小的细节。下图展示的是Diagonal BiLSTM在CIFAR-10的表现:

表5 不同模型在CIFAR-10上的测试表现

IMAGENET

虽然据我们所知在ILSVRC ImageNet上还没有已发布的能与我们模型对比的结果,我们还是进行了测试,结果如表6所示。

表6 ImageNet 32×32和 64× 64逆对数可能表现

图7 我们的模型在ImageNet上训练的32 × 32结果样本

图8 同样的模型在没有多比例条件下的64× 64 模型结果样本

图9 模型训练完整图片

结论

在这篇文章中,我们在深度递归网络下建立了对自然图片的通用建模并显著提升了它的效率。我们提出了一种新颖的二维LSTM层:ROW LSTM和 Diagonal BiLSTM,它能更容易扩展到其他数据上。这些模型被训练来模拟原始的RGB像素值。在使用一种softmax层在有条件的分布下,我们将像素值作为离散随机变量来处理。我们使用隐藏回旋来让PixelRNNs来在色彩频道之间完整地独立建模。在这些模型中我们改进了一些构筑特性使得PixelRNNs能够达到12层LSTM。

我们的实验证明PixelRNNs能够显著提升MNIST和CIFAR-10数据组的表现。同时也对Imagenet数据组进行图像建模提供了新的支撑依据。通过部分样本以及完整样本的结果,我们认为PixelRNNs对局部以及大范围关联图像建模效果良好,而且能够使图像更加清晰完善。像我们一样给予这些模型改进能够让他们更强大,而且鉴于还有无数的数据可以进行训练,我们认为这个结果还能进一步提升。

via ICML

原文发布于微信公众号 - AI科技评论(aitechtalk)

原文发表时间:2016-06-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏算法channel

朴素贝叶斯分类器:例子解释

在昨天推送了用一个例子引入贝叶斯公式的基本思想,然后用贝叶斯公式对一个很简单的问题做分类,最后引出来一个问题:后验概率 P(c | x) 的求解转化为求解 P(...

3516
来自专栏计算机视觉战队

深度学习超参数简单理解

说到这些参数就会想到Stochastic Gradient Descent (SGD)!其实这些参数在caffe.proto中 对caffe网络中出现的各项参数...

3499
来自专栏杨熹的专栏

为什么在优化算法中使用指数加权平均

指数加权平均(exponentially weighted averges),也叫指数加权移动平均,是一种常用的序列数据处理方式。

511
来自专栏量子位

谷歌推出理解神经网络的新方法SVCCA | NIPS论文+代码

夏乙 编译自 Google Research Blog 量子位 出品 | 公众号 QbitAI Google Research官方博客今天发文介绍了他们的一篇N...

2704
来自专栏深度学习自然语言处理

【顶会论文解析】罪行预测

https://bamtercelboo.github.io/2018/07/19/Learning-to-Predict-Charges-for-Crimin...

571
来自专栏计算机视觉战队

深度学习超参数简单理解

首先谢谢读者的指正,现在已经把所有遮挡的都处理完毕,谢谢您们的指正,谢谢! ---- 正文: 说到这些参数就会想到Stochastic Gra...

3554
来自专栏人工智能LeadAI

BAT机器学习面试1000题系列(第1~75题)

今17年,近期和团队整理BAT机器学习面试1000题系列,侧重机器学习、深度学习。我们将通过这个系列索引绝大部分机器学习和深度学习的笔试面试题、知识点,它将更是...

5315
来自专栏ATYUN订阅号

【学术】Ferenc Huszár:剪枝神经网络两篇最新论文的解读

我想简要地介绍两篇关于修剪神经网络的论文: Learning Sparse Neural Networks through L0 Regularization...

3927
来自专栏AI科技大本营的专栏

一文搞懂交叉熵在机器学习中的使用,透彻理解交叉熵背后的直觉

交叉熵(cross entropy)是深度学习中常用的一个概念,一般用来求目标与预测值之间的差距。以前做一些分类问题的时候,没有过多的注意,直接调用现成的库,用...

1364
来自专栏数据派THU

手把手教线性回归分析(附R语言实例)

本文为你介绍线性回归分析。 通常在现实应用中,我们需要去理解一个变量是如何被一些其他变量所决定的。 回答这样的问题,需要我们去建立一个模型。一个模型就是一个公式...

5312

扫码关注云+社区