PixelCNN阅读

Conditional Image Generation with
PixelCNN Decoders
Abstract
基于PixelCNN设计了一个图像概率密度模型,探索了条件图像生成。模型可以根据任意输入条件向量,生成图像。
Introduction
已有的深度学习模型可以学到高维图像结构。尽管无条件模型挺好玩,但是总有一些需要网络能接收条件输入的场合。所以论文想做条件生成。
论文改进PixelCNN来做条件图像建模。基本idea是用自回归连接逐像素建模图像,把图像分布分解成条件概率之积。PixelRNN一般效果好但是速度慢,PixelCNN速度快一点但是效果也次一点,论文设计Gated PixelCNN来综合两者的优点。
论文也设计了Conditional PixelCNN,这个东西可以根据输入的向量生成图像。
2 Gated PixelCNN
在这里插入图片描述
条件概率假设,用前面扫描过的像素预测当前像素。同一个像素的三个通道也是先后预测的。
这一段主要讲了PixelRNN里面提到过的概率建模以及强调为什么采用序列生成的方式。因为顺序建模可以保证后面的像素可以依赖于高度非线性的模型生成,构建更高质量的图像。
2.1 Gated Convolutional Layers
论文认为之前PixelCNN比PixelRNN差的原因主要在于单层卷积的感受野相对小一些,但是这个缺点可以用加深网络来弥补,也有可能是因为LSTM乘法计算比较多,拟合复杂函数的能力更强,于是改了激活。
在这里插入图片描述
2.2 Blind spot in the receptive field
如下图,卷积有盲区,因为每个像素都看不到自己右边的,所以传给下一层的信息也会少一点。
在这里插入图片描述
怎么解决:用两组卷积核,一组专门处理当前行,一组专门处理上面所有行。当前行的卷积带mask,上面的卷积没mask。具体实现看下面这个图,这里n是卷积核大小,左边分支的绿框是不带mask的卷积,右边分支下面那个绿框应该是mask卷积。注意右边分支左下角那个+号下面是当前像素左侧的信息,左侧传过来的是像素上一行的信息。这样既能消除盲区又能防止看到右边的像素。
在这里插入图片描述
2.3 Conditional PixelCNN

希望做到输入一向量h生成图像。所以就有了下面这个条件概率公式。
在这里插入图片描述
希望用下面这个过程建模
在这里插入图片描述
k是输出通道编号,v是1x1卷积。
然后论文又设计了一种在指定位置生成特定目标的方法。具体而言就是把向量h扩展成跟原图一样大,有点地方赋随机值,有的地方跟h相同。
在这里插入图片描述
PixelCNN Auto-Encoders
自编码器又编码和解码两个部分组成,目的是先将输入数据映射到低维,再用解码器重建数据。论文将自编码器的解码器换成conditional PixelCNN。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值