GatedPixelCNN:Conditional Image Generation with PixelCNN Decoders
在 PixelCNN 的基础上进一步改进掩码卷积,解决 "盲区" 问题
第一个像素 -> 完整图片,随机图片
什么是 GatedPixelCNN ?
- 对 PixelCNN 的改进版本,在 PixelCNN 使用 A、B 两类掩码卷积,实现当前位置只感知以前位置的能力,但是这两个掩码卷积存在 "盲区 (Blind spot)",GatedPixelCNN 将 masked conv 分解成两个 conv 来解决感受野的 “Blind spot”
- GatedPixelCNN 还在卷积中引入 LSTM 的 gate 机制
GatedPixelCNN 的 Gate 机制?
- 在卷积中引入 LSTM 的 gate 机制,将两个 masked conv 间的 ReLU 用 gate activate 单元来替换
- 其中左边是 VerticalStackConv,而右边是 HorizontalStackConv,两者通过一个 1x1 conv 连接;VerticalStackConv 和 HorizontalStackConv 均将特征均分为两个部分来实现 gate 机制;其中 HorizontalStackConv 部分包括一个 shortcut。最后我们将使用 HorizontalStackConv 的输出来进行预测
GatedPixelCNN 分解 Masked conv?
- 将 masked conv 分解成两个 conv 来解决感受野的 “Blind spot”
- 分解后包括 horizontal stack 和 vertical stack2 个卷积。其中 horizontal stack 只处理当前所在行左边的 pixels,而 vertical stack 处理上面所有行的 pixels,我们把两个 conv stack 结合在一起,就可以实现想要的感受野,并且可以避免盲区的出现
参考: