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

news2025/6/7 9:46:27

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.coloradmin.cn/o/1592794.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【GD32】 MQ-135空气质量传感器

2.37 MQ-135空气质量传感器 MQ135 气体传感器所使用的气敏材料是在清洁空气中电导率较低的二 氧化锡(SnO2)。当传感器所处环境中存在污染气体时,传感器的电导率随空 气中污染气体浓度的增加而增大。MQ135 气体传感器对氨气、硫化物、苯系 蒸汽的灵敏度高&#xff0…

【大语言模型】应用:10分钟实现搜索引擎

本文利用20Newsgroup这个数据集作为Corpus(语料库),用户可以通过搜索关键字来进行查询关联度最高的News,实现对文本的搜索引擎: 1. 导入数据集 from sklearn.datasets import fetch_20newsgroupsnewsgroups fetch_20newsgroups()print(fNu…

朵米3.5客服系统源码2023正式版(带详细安装教程)

朵米客服系统是一款全功能的客户服务解决方案,提供多渠道支持(如在线聊天、邮件、电话等),帮助企业建立与客户的实时互动。该系统具有智能分流功能,可以快速将客户请求分配给适当的客服人员,提高工作效率。…

(待更)DRF:限流(单视图或全局设置限流方案)

建议先看完本人的另两篇博客:认证(http://t.csdnimg.cn/G4idK)和权限(http://t.csdnimg.cn/0hpJf),或者了解认证和权限,有一定基础,再来看本篇博客。 基本原理 开发过程中如果某个接…

测试计划和测试报告

1、软件测试计划简介 测试计划,一般是主管写,在需求分析之后,测试工作开始之间做的一些准备划工作。一般包含以下内容:5W1H 目的、测试范围、测试进度安排、测试人员、测试环境、测试方法工具,风险评估 (w…

在Linux上利用mingw-w64生成exe文件

一、概要 1、elf与exe 在Linux上用gcc直接编译出来的可执行文件是elf格式的,在Windows上是不能运行的 Windows上可执行文件的格式是exe 利用mingw-w64可以在Linux上生成exe格式的可执行文件,将该exe文件拷贝到Windows上就可以运行 2、程序要留给用户…

C语言学习笔记之结构体(一)

目录 什么是结构体? 结构体的声明 结构体变量的定义和初始化 结构体成员的访问 结构体传参 什么是结构体? 在现实生活中的很多事物无法用单一类型的变量就能描述清楚,如:描述一个学生,需要姓名,年龄&a…

从 iPhone 上的短信中恢复已删除的图片的可靠方法

您可能在浏览消息聊天时不小心删除了一些文本和照片。事实上,如果这些消息对你来说意义重大,那对你来说可能会很麻烦。当发生意外情况时,您可能不想恢复整个聊天,而是恢复其中的附件。 好了,这篇文章主要是讲如何灵活…

LLM大语言模型微调方法和技术汇总

本文详细介绍了机器学习中的微调技术,特别是在预训练模型上进行微调的方法和技术。文章首先解释了什么是微调,即在预训练模型的基础上,通过特定任务的数据进行有监督训练,以提高模型在该任务上的性能。随后,详细介绍了…

ubuntu 安装java

在Ubuntu上安装Java通常有两种方式:使用包管理器安装默认仓库中的Java或者手动安装Oracle JDK。 使用APT包管理器安装: sudo apt update sudo apt install default-jdk 手动安装Oracle JDK: 首先,你需要从Oracle官网下载JDK的…

AI Agent概念、能力初探

AI Agent无疑是大语言模型当前最热门且最具前景的方向,也是通往AGI的必经之路,下面我们从基本概念和系统能力层面来逐步揭开AI Agent的神秘面纱。 一、概念解析 1、什么是AI Agent? AI Agent(人工智能代理)是一种能够…

(N-149)基于微信小程序网上商城系统

开发工具:IDEA、微信小程序 服务器:Tomcat9.0, jdk1.8 项目构建:maven 数据库:mysql5.7 前端技术:vue、uniapp 服务端技术:springbootmybatisredis 本系统分微信小程序和管理后台两部分&a…

20240413,类和对象

对象:一切都可为对象,类:相同特性的对象;面向对象特性:封装,继承,多态 一,封装 CLASS 类名 { 访问权限 :属性/行为 } 实例化:通过一个类,创建一…

策略者模式(代码实践C++/Java/Python)————设计模式学习笔记

文章目录 1 设计目标2 Java2.1 涉及知识点2.2 实现2.2.1 实现两个接口飞行为和叫行为2.2.2 实现Duck抽象基类(把行为接口作为类成员)2.2.3 实现接口飞行为和叫行为的具体行为2.2.4 具体实现鸭子2.2.5 模型调用 3 C(用到了大量C2.0的知识&…

C语言-详解内存函数

文章目录 1.memcpy使用和模拟实现1.1 memcpy函数的使用规则1.2 memcpy函数的使用1.2 模拟实现memcpy函数 2.memmove 函数的使用和模拟实现2.1 memmove 函数使用规则2.2 memmove函数的使用2.3 模拟实现memmove函数2.3.1 从后往前移2.3.2 从前往后移 2.4 算法实现2.4.1 从前往后移…

C# 图形化的导航界面的设计方法

目录 一、涉及到的知识点 1、BackColor属性 2、FlatStyle属性 3、TextlmageRelation属性 4、其它共性设计 二、设计实例 1、 Resources.Designer.cs 2、Form1.Designer.cs 3、Form1.cs 4、运行结果 图形化导航用于代替文字导航,比如对Button控件 进行图形…

NzN的数据结构--归并排序及计数排序

篇接上文,今天要学习的是归并排序以及非比较排序--计数排序。这么励志的日更博主,你怎么能不三连一下呢? 目录 一、归并排序 1. 递归实现 2. 非递归实现 3. 特性总结 二、非比较排序--计数排序 三、排序算法复杂度及稳定性分析 一、归并…

vue3+element plus图片预览点击按钮直接显示图片的预览形式

1 需求 直接上需求&#xff1a; 我想要直接点击下面这个“预览”按钮&#xff0c;然后呈现出预览图片的形式 ok&#xff0c;需求知道了&#xff0c;下面让我们来看看如何实现吧 ~ 2 实现 template部分 <el-buttontype"primary"size"small"click&qu…

DRF多表关联的序列化和反序列化

DRF多表关联的序列化和反序列化 目录 DRF多表关联的序列化和反序列化序列化定制字段source一对多的序列化 多表关联的序列化方式1&#xff1a;在表模型中定义方法方式2&#xff1a;定制返回格式SerializerMethodField方式3&#xff1a;子序列化 多表关联的反序列化反序列化保存…

Ubuntu 上配置静态IP地址

Ubuntu 上配置静态IP地址编辑网络配置文件配置静态IP地址应用配置更改 Ubuntu 上配置静态IP地址 在终端中&#xff0c;运行以下命令来编辑网络配置文件 编辑网络配置文件 sudo cat /etc/netplan/01-netcfg.yaml在编辑器中&#xff0c;找到用于您的网络接口的配置部分。例如…