Pix2Struct:一种革命性的视觉语言理解预训练模型

RayRay
Pix2Struct视觉语言理解预训练模型数据预处理实验运行Github开源项目

pix2struct

Pix2Struct简介

Pix2Struct是Google Research团队于2022年提出的一种新型视觉语言预训练模型。它的核心思想是通过学习解析网页截图来获得视觉和语言的联合表示,从而在各种视觉语言理解任务中表现出色。

相比传统的视觉语言模型,Pix2Struct具有以下几个显著特点:

  1. 预训练目标新颖:学习将网页截图解析为简化的HTML结构,这一任务自然地涵盖了OCR、语言建模、图像描述等常见预训练信号。

  2. 输入表示灵活:采用可变分辨率的输入表示,更好地适应不同下游任务的需求。

  3. 多模态融合更自然:将语言提示如问题直接渲染到输入图像上,实现更紧密的视觉语言交互。

  4. 通用性强:单一预训练模型可以在多个视觉语言任务上微调并取得最佳性能。

Pix2Struct模型架构

Pix2Struct的预训练

Pix2Struct的预训练数据来源于公开的C4数据集中的网页URL。研究人员对这些网页进行截图,并将其中的部分内容遮盖。模型的任务是将这些带有遮盖的截图解析为简化的HTML结构。

这一预训练目标巧妙地结合了以下几个方面:

  1. OCR:模型需要识别图像中的文本内容。
  2. 语言建模:需要理解和生成HTML结构中的文本。
  3. 布局分析:需要理解网页的视觉布局结构。
  4. 图像理解:需要解析图像中的非文本视觉元素。

通过这种方式,Pix2Struct可以学习到丰富的视觉语言联合表示,为下游任务提供了坚实的基础。

Pix2Struct的应用

Pix2Struct在9个不同领域的视觉语言任务中进行了评估,涵盖了文档、插图、用户界面和自然图像等多个方面。这些任务包括:

  1. TextCaps:为包含文本的图像生成描述
  2. ChartQA:回答关于图表的问题
  3. Widget Captioning:为UI部件生成描述
  4. Screen2Words:为移动应用截图生成描述
  5. RefExp:根据自然语言表达式定位UI元素
  6. DocVQA:回答关于文档图像的问题
  7. InfographicVQA:回答关于信息图的问题
  8. OCR-VQA:回答需要OCR的图像问题
  9. AI2D:回答关于科学图表的问题

在这9个任务中,Pix2Struct在6个任务上取得了最先进的性能,展现了其强大的通用能力。

Pix2Struct在多个任务上的性能

Pix2Struct的实现与使用

Google Research已经开源了Pix2Struct的代码和预训练模型。研究人员和开发者可以通过以下步骤来使用Pix2Struct:

  1. 克隆GitHub仓库并安装依赖:
git clone https://github.com/google-research/pix2struct.git cd pix2struct conda create -n pix2struct python=3.9 conda activate pix2struct pip install -e ."[dev]" -f https://storage.googleapis.com/jax-releases/libtpu_releases.html
  1. 准备数据集:

Google提供了多个数据集的预处理脚本,可以将原始数据转换为Pix2Struct所需的格式。

  1. 微调模型:

可以使用T5X库提供的训练脚本来微调Pix2Struct模型。例如,微调Screen2Words任务的命令如下:

python -m t5x.train \ --gin_search_paths="pix2struct/configs" \ --gin_file="models/pix2struct.gin" \ --gin_file="runs/train.gin" \ --gin_file="sizes/base.gin" \ --gin_file="optimizers/adafactor.gin" \ --gin_file="schedules/screen2words.gin" \ --gin_file="init/pix2struct_base_init.gin" \ --gin.MIXTURE_OR_TASK_NAME='"screen2words"' \ --gin.MODEL_DIR='"$PIX2STRUCT_DIR/experiments/screen2words_base"' \ --gin.TASK_FEATURE_LENGTHS='{'inputs': 4096, 'targets': 128}' \ --gin.BATCH_SIZE=32
  1. 推理:

Pix2Struct提供了命令行和Web demo两种推理方式。以下是使用命令行进行单张图像推理的示例:

python -m pix2struct.example_inference \ --gin_search_paths="pix2struct/configs" \ --gin_file=models/pix2struct.gin \ --gin_file=runs/inference.gin \ --gin_file=sizes/base.gin \ --gin.MIXTURE_OR_TASK_NAME='"placeholder_pix2struct"' \ --gin.TASK_FEATURE_LENGTHS='{'inputs': 2048, 'targets': 128}' \ --gin.BATCH_SIZE=1 \ --gin.CHECKPOINT_PATH='"gs://pix2struct-data/textcaps_base/checkpoint_280400"' \ --image=$HOME/test_image.jpg

Pix2Struct的未来发展

作为一种新型的视觉语言预训练模型,Pix2Struct展现了巨大的潜力。未来可能的研究方向包括:

  1. 扩大模型规模:目前发布的最大模型为Large版本,未来可能会推出更大规模的模型。

  2. 改进预训练数据:探索更多样化、更高质量的预训练数据源。

  3. 应用到更多领域:除了已验证的9个任务,Pix2Struct可能在更多视觉语言任务中发挥作用。

  4. 与其他技术结合:如将Pix2Struct与大型语言模型或其他视觉模型相结合。

  5. 提高推理效率:优化模型结构和推理过程,以支持更快速的实时应用。

总结

Pix2Struct作为一种创新的视觉语言预训练模型,通过学习解析网页截图这一独特任务,实现了对多种视觉语言理解任务的出色泛化能力。它的开源不仅为研究人员提供了宝贵的资源,也为各种实际应用场景中的视觉语言理解任务带来了新的可能性。随着进一步的研究和优化,Pix2Struct有望在视觉语言理解领域发挥更大的作用,推动人工智能在理解和处理多模态信息方面取得新的突破。

编辑推荐精选

博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

AI办公办公工具AI工具博思AIPPTAI生成PPT智能排版海量精品模板AI创作热门
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
商汤小浣熊

商汤小浣熊

最强AI数据分析助手

小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。

imini AI

imini AI

像人一样思考的AI智能体

imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。

下拉加载更多