论文笔记:LayoutNUWA: Revealing the Hidden Layout Expertise of Large Language Models

news/2025/3/15 12:50:28/

iclr 2024 reviewer 评分 568

图形布局生成+大模型

1 intro

  • 现有方法主要将布局生成视为一个数值优化任务,专注于量化方面,同时忽略了布局的语义信息,如各布局元素之间的关系。
  • 论文提出了LayoutNUWA,这是第一个将布局生成视为代码生成任务的模型,以增强语义信息并利用大型语言模型(LLMs)的隐藏布局专长。
    • 开发了一种代码指令调整(CIT)方法,包括三个相互连接的模块:
      • 1)代码初始化(CI)模块量化数值条件并将其初始化为带有策略性放置的掩码的HTML代码;
      • 2)代码完成(CC)模块利用LLMs的格式化知识填补HTML代码中的掩码部分;
      • 3)代码渲染(CR)模块将完成的代码转换为最终的布局输出,确保一个高度可解释和透明的布局生成过程,直接将代码映射到可视化布局。

2 方法

2.1 问题定义

  • 布局生成任务旨在生成一个组织良好的布局 S = \{s_i\}^N_{i=1}
    •  N 代表布局中的元素数量
    • 每个元素 si = (ci, xi, yi, wi, hi) 包括以下组件
      • ci 是类别
      • xi 和 yi 指示中心位置
      • wi 和 hi 分别代表宽度和高度
    • 论文关注条件布局生成任务,其中 si 的部分组件被 M 掩码,完整布局 S 应由模型 fθ 预测,条件是剩余组件 S\M
  • 以往的研究将每个元素 si 视为一系列数值,例如(0, 10, 20, 25, 30),并训练模型直接生成这些值
    • ——>这种方法忽略了组件的语义信息,从而限制了模型对布局语义的理解
  • ——>论文提出了一个新的问题定义,将输入 S\M 和输出 S 转换成代码语言,并将布局生成任务视为代码生成任务
  • 与方程式 1 相比,方程式 2 具有以下三个优点
    • 语义洞察:通过将数值转换为代码语言,模型可以更好地捕捉布局不同组件之间的语义关系。
    •  利用 LLM:通过使用代码语言,模型可以进一步利用大型语言模型(LLMs)的知识,从而提高生成布局的质量。
    •  模型可扩展性:代码语言比数值具有更强的表达能力,这允许为布局元素添加更多属性。

2.2 代码指令调整

  • 代码指令调整(CIT)三个模块:
    • (1)代码初始化模块将布局转换为带动态模板的掩码代码语言;
    • (2)代码完成模块将掩码代码输入到 LLMs 以生成完整代码;
    • (3)代码渲染模块直接将代码渲染为最终的图形布局

2.2.1 代码初始化

  • 基于最常见的网页布局代码 HTML 来构建模板
  • 为了更好地学习各个领域和任务中的布局,并利用 LLMs 的遵循指令的能力,论文设计了以下提示:

2.2.2 代码完成

  • 为了构建布局生成任务的条件输入,论文利用 LLMs 的掩码标记来代表掩码值 M,并让模型预测 HTML 代码中的掩码值
  • 考虑到几乎所有 LLMs 都遵循自回归生成方式,这对布局生成任务带来了显著的限制
    • 因为模型应该在不同元素顺序下预测相同的布局
    • ——>设计了一种自洽策略,随机置换布局中输入元素的顺序
  • 为了适应不同条件的布局生成任务,在同一布局上进行了多任务建模,利用各种条件并实施联合损失。给定排列次数 K【不同元素的给定顺序】,元素数N【一个页面的元素数量】 和任务数 T【任务见4.2】,每个布局 S 的联合损失,记为 L(·),可以写为:

4  实验

4.1 评估指标

使用四个指标来全面评估生成结果,包括 Frechet Inception Distance(FID)、最大交并比(mIoU)、对齐(Align.)和重叠

4.2 任务

  • 在三个条件布局生成任务上评估 LayoutNUWA, 包括类别到大小和位置(C → S+P)任务,类别和大小到位置(C+S → P)任务,以及完成任务。
    • C → S+P 任务要求模型根据其类别预测元素的位置和大小。
    • C+S → P 任务,模型根据元素的大小和类别预测位置。
    • 在完成任务中,元素的大小和位置值随机掩盖高达 80%,模型使用剩余值预测整个布局

4.3 实施细节

  • 使用两个 7B LLMs 实现 LayoutNUWA:LLaMA2(L2)和 CodeLLaMA(CL)
  • 在两种设置下训练 LayoutNUWA:
    • (1)特定领域(DS)设置,模型在不同数据集上训练;
    • (2)领域不可知(DA)设置,模型在包括 RICO、PubLayNet 和 Magazine 的所有三个数据集上训练

4.4 实验结果

4.5 生成的layout

4.6 不同tuning 方法的比较


http://www.ppmy.cn/news/1426803.html

相关文章

vue2/Vue3项目中,通过请求接口来刷新列表中的某个字段(如:Axios)

vue2/Vue3项目中,通过请求接口来刷新列表中的某个字段。可以使用 Vue 的异步请求库(如 Axios)来发送请求,并在请求成功后更新相应的字段。 示例如下(Vue2): 简单的示例如下,假设列…

Games101-光线追踪(辐射度量学、渲染方程与全局光照)

Basic radiometry (辐射度量学) 光的强度假定l为10,但是10是什么。 Whitted-Style中间了很多不同简化,如能看到高光,表示做了布林冯着色,意味着一个光线打进来后会被反射到一定的区域里,而不是沿着完美的镜像方向&…

【网络编程】TCP流套接字编程(TCP实现回显服务器)

一.TCP流套字节相关API. Socket(既能给客户端使用,也能给服务器使用) 构造方法 基本方法: ServerSocket(只能给服务器使用) 构造方法: 基本方法: 二.TCP实现回显服务器. 客户端代码示例: package Demo2;import java.io.IOException; import java.io.InputStream; import j…

2024-简单点-假设我要让一个py功能文件变成服务,在网络启动后进行,并且开机自动启动。

功能:假设我要让一个py功能文件变成服务,在网络启动后进行,并且开机自动启动。 cd /etc/systemd/system/ sudo nano xxxxxx.service[Unit] Descriptionwrite whatever you want Afternetwork.target [Service] Typesimple ExecStart/usr/bi…

Harmony OS-4.0应用开发(第三章)

3.1TypeScrip快速入门 学习TypeScript对于HarmonyOS应用开发至关重要。在HarmonyOS中,主力编程语言为ArKTS,它是基于TypeScript的一种语言,其通过与ArkUI框架的匹配,拓展了声明式UI和状态管理等能力,使开发者能够以更…

JVM之JVM的基本介绍

基本介绍 JVM:全称 Java Virtual Machine,即 Java 虚拟机,一种规范,本身是一个虚拟计算机,直接和操作系统进行交互,与硬件不直接交互,而操作系统可以帮我们完成和硬件进行交互的工作 特点&…

设计模式学习笔记 - 开源实战三(中):剖析Google Guava中用到的设计模式

概述 上篇文章,我通过 Google Guava 这样一个优秀的开源类库,讲解了如何在业务开发中,发现跟业务无关、可以复用的通用功能模块,并将它们抽离出来,设计成独立的类库、框架或功能组件。 本章再来学习下,Go…

专业清洁工匠服务网站模板 html网站

目录 一.前言 二.页面展示 三.下载链接 一.前言 该HTML代码生成了一个网页,包括以下内容: 头部信息:指定了网页的基本设置和元数据,例如字符编码、视口大小等。CSS文件:引入了多个CSS文件,用于设置网页…