pixel RNN阅读

abstract:

       建模自然图像中 的分布是无监督学习中地标性的一个问题。这个任务需要模型同时具有可表达、易处理和伸缩性(expressive, tractable and scalable)。我们展示了一个模型在两个空间维度序列化地预测图像中的像素。我们对图中原始像素点的离散概率建模,并编码图像整个集的依赖性。架构的先进性体现在有两维的RNN并且在RNN连接中引入resnet  skio  connection.我们达到的对数似然的分数比现在最好的还要好。在不同的imagenet数据集上提供了测试实验的结果,且模型产生的图形清晰、不同且全局一致。

introduction:

       概率密度模型可以用于很多任务,从图像压缩到风格重构,比如图像修补和消除模糊以产生新的图像。

       生成模型的优点在于有大量可用的图像数据集,然后因为图像是高纬度的并且highly structured,估计自然图像的分布极具挑战性。生成模型一个障碍在于模型复杂、表达性强的同时也是易处理的可伸缩的---这一目的下诞生了很多生成模型,例如VAE's,致力于提取有意义的表达同时也伴随着影响性能的复杂的恢复步骤。

      一个根据图像中像素点的联合分布的方式是把它看成一个条件分布,这种方法被应用于自回归模型autoregressive model,例如NADE,和 fully visible NN。这个机制将一个联合建模问题转成序列问题,下一个像素点的预测是基于之前所有生成的像素点。但是为了建模像素点和复杂的条件之间的高度非线性和长程相关性,必须有高度表达性的线性序列。

     RNN模型可以对一系列条件分布提供紧凑、共享的参数,建模能力强大。擅长一系列硬序列问题,诸如手写生成、词预测、机器翻译。2D的rnn可以建模灰度图和纹理。

     本文用2D-RNN大范围建模自然图像,Pixel  RNN由多达12个的、二维LSTM组成。用LSTM units,并且用卷积一次性计算数据在一个空间维度的状态。层有两种设计,一个是传统LSTM,在每一行做卷积;第二种是Diagonal BiLSTM,在图像的对角做卷积。另外,引入了残差连接,帮助12层的LSTM深度训练。

     另一种简化的架构是PixelCNN:通过使用Masked conv,CNN有固定依赖范围的话也可以作为一个序列模型。PixelCNN是一个15层的全CNN网络,可以在层间传输时保持输入的空间分辨率,输出每一个点的条件分布。

     PixelRNN和PixelCNN都抓住了像素点之间内部依赖性的通性而没有引入独立性假设。每个像素内RGB的颜色也维持独立性。和之前将像素建模成连续值的方法不同,我们引入softmax层使用多项分布将像素建模成离散值。这种方法使得我们的模型表达性和训练更好。

model

    我们想要估算natural images的分布并且计算图像的似然度,并且产生新的像素,网络一次扫描一行每次扫描一个像素,对于每个像素,它在给定扫描的context上给出所有可能的条件分布。图2说明了这个过程。图像中所有像素点的预测使用共享参数。

    LSTM网络的优点在于可以有效解决网络的长时依赖性,这对于目标和场景理解很重要。网络生成 过程从左上角开始,到右下角结束。2D-LSTM确保信号可以从左到右、从上到下传播。

2.1. Generating an Image Pixel by Pixel

   图像x的分布记为P(X),尺寸n*n,各个像素点记为1,2,...,n^{2}

    x_{i}^{}是R、G、B三个颜色通道 联合决定,可以写成P(Xr,Xg,Xb|X<i),化成(2)的形式

     每个颜色取决于其他通道的颜色,也取决于之前的预测。

     图像的生成是序列化的,而像素值的分布计算是并行的。

2.2. Pixels as Discrete Variables

       我们将P(X)建模为离散的分布,公式 2的每一个条件分布用softmax建模为多项式,每一个channel值只需要256个值其中一个,离散分布表示简单,可以是任意的多项式而且没有形状先验。并且我们发现离散分布比连续分布更容易学,而且效果更好。

3. Pixel Recurrent Neural Networks

3.1. Row LSTM

       原始的LSTM是一行一行从上到下单向处理图像的层,用1D-conv,size(k,1),k越大,包含的文本越大。

      LSTM有一个input-to-state和一个循环的state-to-state状态,共同由LSTM中4个gate决定,tensor_size(4h,n,n),h是output_size。

 

输出、遗忘、输入门o,f,i

每步对于整个input map的行输入计算一个新的state,Row LSTM是一个 三角形的感知野 ,不能捕捉到所有的文本。

3.2. Diagonal BiLSTM(对角线、双向LSTM)

 

 

3.4. Masked Convolution

     每一个 输入位置的h特征被分成三个部分,每一个对应于RGB三个通道中的一个,预测 R的时候用到当前点上边和左边的像素,预测G的时候不仅用到之前的像素,还用到R通道信息;B同理。

    为了限制连接,使用2种mask模式:mask A---只用在第一层conv,限制和相邻元素的连接、限制和当前像素已经预测的颜色的连接。mask B---用于其他的卷积层,并且可以和当前像素已经预测的颜色连接。

   在每次更新后将对应的权重归零就可以实现。

 

3.5. PixelCNN

         row LSTM 和diagonse LSTM在他们感知野范围有无限的依赖关系,因为每一个state必须被序列的计算,因此造成很多计算消耗。一个简单的方法就是让感知野大一点,但并不是无限的。PixelCNN使用常规卷积,多层CNN保存空间分辨率,不做pooling,mask被用于背面看到 future context。PixelCNN并行化的优点只在测试集的训练生成阶段有用。训练阶段图像的生成都是sequential。

3.6. Multi-Scale PixelRNN

由一个 传统的 PixelRNN和一个特殊的 PixelRNN组成 。uconditional  PixelRNN生成一个小的s*s的图片,输入conditional  PixelRNN再生成一个n*n的图片,

 

 

 

 

 

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值