目录
最近越来越多的文章在做高保真度(high fidelity)图片的生成,比如bigGAN和glow。这篇文章提出了基于autoregressive的Subscale Pixel Network(SPN)用来生成高保真度图片。
SPN是一种条件解码器,其将图像生成变为生成一系列大小相等的子图像。SPN 能紧凑地捕获图像的空间依赖性,并且在内存和计算量上,只需要其他自回归模型所需的一小部分。
自回归Autoregressive(AR)
autoregressive指每个值的生成只依赖于过去的值,和未来的值无关。
假设有数据序列
x
=
[
x
1
,
…
,
x
D
]
\mathbf{x} = [x_1, \dots, x_D]
x=[x1,…,xD],那么autoregressive情况下,整个序列的概率是:
p
(
x
)
=
∏
i
=
1
D
p
(
x
i
∣
x
1
,
…
,
x
i
−
1
)
=
∏
i
=
1
D
p
(
x
i
∣
x
1
:
i
−
1
)
p(\mathbf{x}) = \prod_{i=1}^{D} p(x_i\vert x_1, \dots, x_{i-1}) = \prod_{i=1}^{D} p(x_i\vert x_{1:i-1})
p(x)=i=1∏Dp(xi∣x1,…,xi−1)=i=1∏Dp(xi∣x1:i−1)
传统的图像生成模型–PixelCNN简介
PixelCNN是一个标准的autoregressive(AR) model,其从上到下,从左到右,一个通道一个通道地生成
H
×
W
H\times W
H×W的图像
其中
x
<
x_<
x<表示之前生成的值,
P
(
x
h
,
w
,
c
∣
x
<
)
P(x_{h,w,c}|x_<)
P(xh,w,c∣x<)用深度网络建模。该方法通过将像素的联合分布建模成一系列条件概率,方便计算likelihood。
另外,该方法把像素当做离散值处理,假设服从multinomial distribution,用softmax建模。每个像素值的取值范围为0~255,就有256个离散值。
图像的subscale ordering
即使是一个值一个值的生成,但生成值的顺序可以有不同,如图3所示。上面说的PixelCNN使用的是图3a的顺序,数字代表生成的顺序,如1代表第一个生成的像素,2代表第二个生成的像素。
subscale ordering首先将图片划分为一系列相同大小的slice。假设scaling factor是
S
S
S,那么slice的大小是
H
/
S
×
W
/
S
H/S × W/S
H/S×W/S,slice中的每个像素横竖都相隔
S
S
S。
图3d是一种subscale ordering。图3d中,scaling factor
S
=
2
S=2
S=2,{1,2,3,4}是一个slice,{5,6,7,8}也是一个slice。
图像的subscale ordering生成公式如下:
SIZE UPSCALING
每一个slice实际上就是一个小图片(subimage)。因为slice比图片小,先生成小图片,之后要放大生成整幅图片,所以叫upscaling。
subscale ordering本身就在隐式地做size upscaling。
也可以显示地做size upscaling。如图3e,训练一个针对slice的解码器,生成图像的第一个slice。剩下的图像部分用使用普通的subscale ordering网络生成。
DEPTH UPSCALING
在深度方向上,同样有upscaling的操作。第一步先生成最重要的
d
1
d_1
d1个bits:
第二步再生成次重要的
d
2
d_2
d2个bits:
公式为了简单,使用的是传统的顺序,实际可以是subscale ordering。
在深度放大的不同阶段,网络的权重是不共享的。
Subscale Pixel Network (SPN)
给定一个
H
×
W
×
3
×
D
H × W × 3 × D
H×W×3×D的图像。为什么这里是
H
×
W
×
3
×
D
H × W × 3 × D
H×W×3×D而不是
H
×
W
×
3
H × W × 3
H×W×3,因为autoregressive的图像生成模型把像素值当做离散值处理,假设服从multinomial distribution,用softmax建模。
D
=
256
D=256
D=256。
选择一个scaling factor
S
S
S,将产生
S
2
S^2
S2个
H
/
S
×
W
/
S
×
3
×
D
H/S × W/S × 3 × D
H/S×W/S×3×D的slice。
SPN有两个部分:embedding part和decoder。
learning
用SGD最大化likelihood。