LayoutTransformer: Layout Generation and Completion with Self-attention (Paper reading)
Kamal Gupta, University of Maryland, US, Cited:41, Code, Paper
1. 前言
我们解决了在各种领域中(如图像、移动应用、文档和3D对象)进行场景布局生成的问题。大多数复杂场景,无论是自然场景还是人工设计的场景,都可以用简单组合的图形基元的有意义排列来表示。生成新的布局或扩展现有布局需要理解这些基元之间的关系。为此,我们提出了LayoutTransformer,这是一个新颖的框架,利用自注意力来学习布局元素之间的上下文关系,并在给定领域中生成新的布局。我们的框架可以从空集或初始种子基元集生成新的布局,并且可以轻松扩展以支持每个布局中的任意数量的基元。此外,我们的分析表明,模型能够自动捕捉基元的语义属性。我们提出了在布局基元的表示以及训练方法上的简单改进,以在非常多样化的数据领域(如自然图像中的物体边界框(COCO边界框)、文档(PubLayNet)、移动应用(RICO数据集)以及3D形状(PartNet))中展现出有竞争力的性能。
2. 整体思想
类似于NLP,只是把文本变成了布局,根据上一个词(布局)预测下一个词(布局)。
3.方法
在本节中,我们介绍了我们在布局生成问题上的注意力网络。我们首先讨论了不同领域的基元布局的表示方法。接下来,我们讨论了LayoutTransformer框架,并展示了如何利用Transformer来建模布局的概率分布。Masked Multi-headed Self-Attention 使我们能够学习布局基元之间的非局部语义关系,并且还为我们提供了处理可变长度布局的灵活性。
给定一个布局的数据集,一个布局实例可以被定义为一个包含n个节点的图G,其中每个节点i ∈ {1, . . . , n} 是一个图形基元。我们假设图是完全连接的,并让注意力网络学习节点之间的关系。节点可以与结构或语义信息相关联。对于每个节点,我们将与之相关联的信息投影到一个由特征向量si表示的d维空间中。需要注意的是,这些信息本身可以是离散的(例如部分类别),连续的(例如颜色)或多维向量(例如部分的有符号距离函数)在某个流形上。具体而言,在我们的ShapeNet实验中,我们使用一个多层感知机(MLP)将部分嵌入投影到d维空间,而在二维布局实验中,我们使用一个学习得到的d维类别嵌入,相当于使用一个带有零偏置的MLP将独热编码的类别向量投影到潜空间中。
使用离散变量表示几何形状: 我们对每个几何字段应用8位均匀量化,并使用分类分布对其进行建模。将连续信号离散化是先前在图像生成方面采用的一种方法,然而据我们所知,在布局建模任务中尚未被探索。我们观察到,即使将坐标离散化会引入近似误差,但它使我们能够表示任意分布,这对于具有强对称性的布局(如文档和应用程序线框图)特别重要。我们将每个基元的几何字段独立地投影到相同的d维空间中,以便将第i个基元在 R 2 R^2 R2中表示为( s i , x i , y i , h i , w i s_i, x_i, y_i, h_i, w_i si,xi,yi,hi,wi)。我们将所有元素连接为其参数的扁平序列。我们还附加了两个附加参数s⟨bos⟩和s⟨eos⟩的嵌入,用于表示序列的开头和结尾。现在,布局可以由一个由5n + 2个潜向量组成的序列表示。
LayoutTransformer以布局元素作为输入,并预测下一个布局元素作为输出。在训练过程中,我们使用教师强制(teacher forcing),即使用地面真值布局标记作为多头解码器块的输入。该块的第一层是一个掩码的自注意力层,它使模型只能看到前一个元素以预测当前元素。我们在每个布局的开头添加一个特殊的⟨bos⟩标记,并在末尾添加一个⟨eos⟩标记进行填充。
给定一个初始的K个可见基元(当从头开始生成时,K可以为0),我们的基于注意力的模型将可见节点的随机排列π = (π1, . . . , πK)作为输入,因此得到一个由d维向量 (θ1, . . . , θ5K) 组成的序列。我们发现这是一个重要的步骤,因为通过将基元表示分解为几何和结构字段,我们的注意力模块可以明确地为每个坐标维度分配权重。