Constrained Graphic Layout Generation via Latent Optimization 论文阅读笔记

任务

基于布局的元素的标签和限制条件,生成高质量合理的布局(Layout)。这个问题其实前人已经有不少的工作处理过了,但是,之前的工作都是直接生成布局,但是在生成布局的时候,有可能出现各种的遮挡,重叠等情况,因此作者在设计新的神经网络解决布局的生成问题之后,利用最优化的思想,设计了目标函数和限制条件,优化最终的生成效果。

方法

整个的方法分为两个Part,如上图的pipeline所示分别是LayoutGan++和Constrained Layout Generation via Latent Optimization。即深度神经网络完成生成的工作,最优化的目标函数和限制条件进行优化。

LayoutGAN++

是一个基于transformer 的GAN网络,目标是生成一个布局,作者对GAN的设计参考了LayoutGAN(参考LAYOUTGAN的阅读 - 知乎)。

Generator

作者设计的generator的forward如下:

(1)  从高斯分布中进行采样。

(2)  对采样的结果,与布局的元素标签一起送入一个encoder进行编码。

(3)  将上一步所得到的编码送入到一个transformer模块(注:这里只使用了transformer模块的encoder的部分)。

(4)  得到的结果向量经过一个decoder生成布局。

这里的设计也是和layoutgan不同的地方,即和base相比,借助了标准transformer结构下的残差连接和多头注意力机制。

Discriminator

 作者设计的discriminator的forward如下:

(1)将Generator生成的结果和标签一块收入一个encoder进行编码。

(2)将编码的结果同样的送入transformer。(注:这里使用了transformer一个常见的技巧,我在其余的基于transformer的GAN的文章也读过,增加一个special token,之后利用special token经过一个多层感知机作为discriminator的计算结果)

(3)得到真实性的判断结果。

Auxiliary Decoder

设计这个模块,是因为作者发现在对布局进行生成的时候,GAN更趋向于对各个element进行配准,而对其所处的位置并不关心。这就有可能导致一个现象,就是网络不关系各个元素之间的关系,有可能出现标题栏在底端这种情况,但是鉴别器依然会将这个生成结果判定为真实的。(这里有点绕,我提出一个个人的理解,即GAN在生成各种元素的时候,会关注各个元素的生成的样式,但并不会特别关注排布的情况,比如标题在上部还是在下部,网络去感知的就是各个元素之间的一个排版情况)。针对此,作者提出增加一个正则项,用这个去规范化discriminator去增强位置的感知能力。对于discriminator的结果,作者复制了N份,并且和一个Position Embedding一同送入一个Transformer里,得到重建的布局,和Generator生成的结果做一个运算,作为一个正则化项来优化discriminator。

Constrained Layout Generation via Latent Optimization

作者在这一步,利用了最优化的思想,将限制条件添加到隐空间中,找到一个最优的隐空间从而保证生成的结果满足此类限制条件。因此,作者设置了一个优化问题如下所示:

 Z代表隐空间,L代表标签,D和G代表解码器和生成器,C代表限制条件。作者利用拉格朗日方程来求接这样一个优化问题。将上述方程改写为:

 作者通过迭代优化的过程来更新参数。

我自己的启发

作者设计的transformer GAN比较新颖,也切合了当下的一种流行趋势,即利用transformer来解决问题。self attention的方式确实能够解决这种基元相互间存在某种关系的情况。2021年借助transformer来解决布局生成的文章也非常的多。现有的文章解决的布局生成,都有假设条件,布局的种类和数量都是一定的,比如本篇论文,利用一种数据集进行训练的时候,label的种类是一致的,那么如何处理变长数据是一个问题。如果利用自回归来处理边长数据的问题,那么如何确保生成顺序也是一个问题。

通过最优化来进行限制是本篇论文非常大的一个创新点,这种条件限制能否移植到其他任务是一个值得思考的问题。

附上原文:

Github:

        https://github.com/ktrk115/const_layout.

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值