一、从文本来推断语义布局
1.bounding box 的生成
bounding box (图1中的box)决定了生成图片的全局布局,因为,box定义了图片中有哪种目标以及将这些目标放到哪些位置。我们将第 t 个标注的 bounding box 表示为
图二. 其中, b_{t} 里面包含四个变量,分别表示bounding box 的位置和大小 { x , y , w , h }. l_{t} 是一个在 L 类别上的 one-hot 向量。我们保留了 第( L+1)个类作为结束序列(sequence)的特殊指示。
举一个one hot 的例子,比如一共有 L=3 个类,猫{ 0, 1} , 兔{ 0, 1 }和 狗{ 0,1},若第 t 个 bounding box 的 label 是狗,那么l_{t} = {0,0, 1}. 若是猫的话,这个one hot向量就变为 l_{t} = {1, 0, 0}。优点是稀疏。缺点是向量长度由类别定。但在文字生成图片的任务中,类别是固定的,所以,one hot 可行。
图三 . box 生成器
A. box 生成器模型
box 生成器模型是定义了一个从 输入文本s 到 一组目标bounding box 的 随机映射。使用了一个自回归的解码器为box generator 建模。
图四. 如何建模,将左边这个概率模型分解为右边这个,而右边这个模型,与LSTM解决的问题很切合,比如:LSTM的输入是(之前网络的输出 + 当前输入)。右侧模型输入是(之前box 的分布 + 句子的输入)这位书友写的LSTM很不错。
在生成 box 的过程中,首先为第 t 个目标采样类标签 l_{t} , 然后基于l_{t} 生成坐标信息b_{t} —— 省略了图三中p() 和 ‘ I ’ 后面条件的内容。 这两个部分分别由一个高斯混合模型和一个类分布模型建模。l_{t}由 类分布得到。 b_{t} 由高斯混合模型得到,论文中解释道,这个高斯模型由一个四变量(x, y, w, h)的高斯混合模型分解为两个两变量(x, y) 和 (w, h) 的高斯混合模型,目的是减少参数个数,就是计算量。一般高斯混合模型中有三个采参数需要估计,π、μ、∑ 。权重系数π是实数,均值μ是四维向量,方差∑是4*4协方差矩阵. 从图三中看,这些参数都是由 L