CVPR | 时尚领域视觉语言预训练模型Kaleido-BERT

news2024/9/28 5:29:37

来源:投稿 作者:小灰灰
编辑:学姐

这是一篇在时尚领域、往细粒度方向做视觉-语言预训练的工作。

论文标题:Kaleido-BERT: Vision-Language Pre-training on Fashion Domain

论文链接:https://arxiv.org/abs/2103.16110

论文代码:https://github.com/mczhuge/Kaleido-BERT

1.网络结构:

Kaleido-BERT的模型结构图. 1。

它包含 5 个步骤:

  • (1) 在输入阶段,Kaleido-BERT 有两种模态的特征输入:文本输入 (e.g., 商品图像描述) 以及由 Kaleido 图像块生成器 (KPG) 所产生的对应的图像输入。每个文本描述被表征为一系列的词例 (token),而每一张与文本对应的图 像被表示为一系列 Kaleido 图像块。

  • (2) 在图文特征 向量生成的阶段,本研究使用了注意力对齐生成器 (AAG) 去产生词例与 Kaleido 图像块的预对齐信息,以便图像和文本隐式地进行语义对齐。

  • (3) 在交互 阶段,与现有的随机掩码策略不同,本文提出采用预对齐掩码策略 (AGM) 以缓解跨模态语义交互难度。

  • (4) 词例和 Kaleido 图像块的特征向量在 Kaleido- BERT 得到充分交互后,模型渐进式的学习视觉-语言的语义信息并产生多模态细粒度表征。

  • (5) 除了 掩码语言模型 (Masked Language Modeling,MLM) 和图文匹配任务 (Image-Text Matching, ITM) 外, 本工作还使用了 5 种新型的预对齐 Kaleido 模型 (Aligned Kaleido Patch Modeling, AKPM),即: 旋转, 拼图, 伪装, 着色和修复任务。

1.1 Kaleido 图像块生成器

以一张商品图片作为输入,并将其送入 Kaleido 图像块生成器 (KPG)。如图.下图所示,KPG 使用 了显著性检测网络去提取 前景分割图,并以前景图为依据框定主体目标。受空 间包络 (spatial envelop)以及分块策略的启发,本文探索将单张图像切分不同的尺度 (即, 1×1, 2×2, . . . , 5×5)。

这些图像块就是“Kaleido(百变)”图像块。除此之外,也可以根据特定任务的难 度去考虑更为细致的划分 (如 6×6,或像是 Pixel- BERT的 N×N 划分)。最终,每一张图像被划 分为 55 块 Kaleido 图像块。为了生成这些图像块的 特征向量,本文采用 ResNet-50作为骨干网络 进行模型的特征提取。

1.2 注意力对齐生成器

注意力对齐生成器 (AAG) 目的是产生文本词例 (token) 与 Kaleido 图像块之间的模糊对齐。如下图中, 直接使用了著名的 SAT 网络,将其在 FashionGen 数据集上重新训练。

之后,它作为文本生成器,自动描述图像的内容。在图像描述阶段,SAT 网络会对每一个词例生成注意力热图,以这些热图为依据可以推断生成的词与图像区域的关系。

若生成的描述和原本描述有共现的单词,将依照 共现单词的注意力热图来判断该单词倾向于与哪一 Kaleido 图像块关联。从而得到一部分原始描述中的单词与 Kaleido 图像块的对齐信息。

1.3 预对齐掩码策略

通过注意力对齐生成器,模型获得了关联好的 〈token, patch〉 对。虽然这些对齐信息并不十分精确,但它提供了不同模态间潜在的语义关联。至此, 可依照这些信息修改原始的随机掩码策略。

将这些信息利用到预训练阶段,它能更好地帮助 Kaleido- BERT 隐式地探索跨模态语义关系。与随机掩码策略不同,预对齐掩码策略 (AGM) 会给予更高优先级去掩码有预对齐信息的词例或图像块。当选中了某一预对齐 〈token, patch〉 进行掩码时,会随机掩码图像或文本中的其中一侧,这有利于 Kaleido-BERT 通过现有信息 (单模态保留的特征) 去推测另一模态丢失的特征。

当所有预对齐图像文本对都被遍历后,仍然出现没有足够的预对齐 图像-文本对进行预对齐掩码策略时,则重新采用随 机掩码策略补足所需要的掩码个数。通过这样的方式,得到了词例 (token) 与图像块 (patch) 的候选掩码。

AGM 策略在 Kaleido 图像块中的 3×3、4×4、 5×5 层级生效。

本文研究工作没有将掩码策略应用于 1×1、2×2 这两种尺度是因为掩码大的图像块会 增加模型的预训练难度 (且意义不大)。根据经验,本文分别在 3×3 图像块挑出 1 块,4×4 图像块挑出 2 块,5×5 图像块挑出 3 块进行掩码。

1.4 多模态 Transformer

使用原始的 BERT构建多模态 Trans- former,这使得 Kaleido-BERT 易于开发和迁移。沿用了 FashionBERT 的做法,即将词例序列 (i.e., 由 WordPieces产生) 的位置信息编码为 0,1,2,3,...,N。

在 BERT 中, 每一个文本训练语料是由其本身的词嵌入、语义特 征、位置编码特征相加而来,再接一个归一化层 (LN Layer) 生成最后的特征向量。而对于图像训练特征, 先将每一个图像块的位置信息编码成五维的特征 ([x1, x2, y1, y2, w ∗ h])。然后将图像块特征与它的位 置编码特征分别送入到一个全连接层 (FC),将它们映射到同一个维度上。

最后,采用相加通过全连接层后的特征 (i.e., FC (seg_id), FC (img_feature), FC (pos_emb))的方式,可以得到每一个图像块的视觉特征向量,最后将它们送入 LN 层。

1.5 预训练

为了缓解视觉与语言的语义隔阂,促进多模态表征学习,本文设计了三种训练任务促进预训练过 程,分别是: 预对齐掩码语言模型 (AMLM)、图文 匹配任务 (ITM) 以及提出的预对齐 Kaleido 图像块模型 (AKPM)

2.1适用任务

1. 文本检索 (ITR).

文本检索作为一种下游任务,需要模型判断一个句子是否准确地描述一张图片。

本文在 Fashion-Gen 采样了一些商品图像和标题作为图像文本对,并使用原始的产品信息作为正样本。与此同时,打乱数据集并使用不匹配的 图像文本对作为负样本。

为增加难度,正负样本均采自同样的子类目,因此它们会较难被 PTM 区分。 此外,本文使用 Rank@1, Rank@5, Rank@10 评估检索性能。

2. 图像检索 (ITR).

图像检索任务以文本描述为线索,对最相关的商品图像进行排序。

与文本检索类似,本文使用真正的商品图像文本对作为正样本,并从同子类目中的商品中随机选取 100 个不 相关的描述作为负样本。通过预测样本的匹配分数,本文依旧使用 Rank@1, @5, @10 作为评价指标。

3. 类目/子类目预测 (CR & SUB).

类目是描述商品至关重要的信息,这些信息在现实应用中非常有价值。

本文使用分类任务来进行此任务,目的是预测商品的类目和子类目,比如 {HOODIES, SWEATERS}, {TROUSERS, PANTS}。在实施过程中,直接在 [CLS] 后接一层全连接层来进行该任务。

4. 时尚描述 (FC).

图像描述生成是一项很重 要的研究话题,在计算机视觉领域中也有广泛的工作基于此展开。时尚描述的准确率可以衡量多模态模型的生成能力。

2.2 消融实验

有三个影响 Kaleido-BERT 性能表现的主要因素,它们分别在不同阶段起作用。

输入层: Kaleido 图像跨生成器 (KPG);向量层: 预对齐掩码策略 (AGM);

以及任务层: 对齐 Kaleido 图像块模型。

因此本文实施了针对这些因素的消融实验,去进一步分析这些组件/策略。实验的结果展示在表. 4和图. 7中。

关注下方《学姐带你玩AI》🚀🚀🚀

回复“预训练”获取预训练相关高分必读论文

码字不易,欢迎大家点赞评论收藏!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/656814.html

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

相关文章

深度刨析指针Advanced 2

作者主页:paper jie的博客_CSDN博客-C语言,算法详解领域博主 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文录入于《系统解析C语言》专栏,本专栏是针对于大学生,编程小白…

使用omp并行技术加速最短路径算法-迪杰斯特拉(Dijkstra)算法(记录最短路径和距离)

原理: Dijkstra算法是解决**单源最短路径**问题的**贪心算法** 它先求出长度最短的一条路径,再参照该最短路径求出长度次短的一条路径 直到求出从源点到其他各个顶点的最短路径。 首先假定源点为u,顶点集合V被划分为两部分:集合…

stable-diffusion-webui的介绍与使用——Controlnet1.1

源码地址:https://github.com/lllyasviel/ControlNet | 最新版本 controlnet-v1.1 论文地址:2302.Adding Conditional Control to Text-to-Image Diffusion Models 扩展UI地址(需先安装sd-webui):https://github.com/M…

基于对Element UI的表单验证

文章目录 🐒个人主页🏅JavaEE系列专栏📖前言:🪀从以下源码中介绍:🎀这里是官网源码 🐒个人主页 🏅JavaEE系列专栏 📖前言: 本篇博客主要以介绍基…

杂记——FDA获批的AI超声产品

目前,人工智能算法在医学图像领域发展迅猛。相对于CT、MRI等,人工智能在超声图像处理领域仍处于起步阶段。近年来,多项研究利用深度学习、计算机视觉和图像处理等技术,对超声图像进行自动化分析、识别和量化,提供辅助医…

Golang的pprof性能分析

文章目录 一、pprof 概述二、服务开启pprof1、代码中引用pprof2、服务开启一个端口,用来监听pprof 三、使用pprof采集CPU耗时1、调用流程图2、查看火焰图 四、使用pprof分析内存泄漏问题查看当前程序的内存占用查看goroutine的运行时间 五、性能优化案例背景1、压测…

WIFI中的频段、信道、信道带宽

一、波长、波速与频率 波长波速/频率 “波速”由“介质”决定。 “频率”由“波源”决定。 “波长”由“介质”(波速V)、“波源”(频率f)共同决定。(λV/f) 波长(wavelength): 指波在一个振动周期内传播的距离。也就…

【正点原子STM32连载】 第三十二章 光敏传感器实验 摘自【正点原子】STM32F103 战舰开发指南V1.2

1)实验平台:正点原子stm32f103战舰开发板V4 2)平台购买地址:https://detail.tmall.com/item.htm?id609294757420 3)全套实验源码手册视频下载地址: http://www.openedv.com/thread-340252-1-1.html 第三十…

【网络面试必问】浏览器如何委托协议栈完成消息的收发

接上一篇:【面试中的网络知识】DNS原理-如何实现域名和IP地址的查询转换  在前面的博客中,提到过无数次,浏览器作为应用程序,本身是不具备向网络中发送网络请求的能力,要委托操作系统的内核协议栈来完成。协议栈再调用…

新手学习Vmp之控制流程图生成

新手学习Vmp之控制流程图生成 控制流程图的生成对于反混淆分析来说是非常重要的一步,这里记录一下我研究的过程,以Vmp2为例子。 这里我的环境准备如下: Visual Studio IDA SDK Capstone Unicorn Graphviz IDA SDK插件环境,主要是有一些AP…

1.2数据机构——算法和复杂度

一、算法 1、概念:算法是对特定问题求解的一种描述(或步骤),是指令的特定序列 2、程序数据结构算法 3、算法的特性: 有穷性:算法是有穷的,程序是无穷的 确定性:每条指令有确定的…

一文搞懂什么是Raid

RAID 1. 基本概念2. RAID 03. RAID 14. RAID 015. RAID 56. RAID6 1. 基本概念 RAID(Redundant Array of Independent Disks)是一种磁盘阵列技术,通过将多个物理磁盘组合成一个大容量的逻辑磁盘,提高磁盘存储的性能和可靠性。 R…

TOGAF 标准对数字化企业支持

这篇来点高大尚的,对技术、产品管理者和架构师写方案应该有用,其它不多谢,直接转入正题。 一、概述 TOGAF标准是在需要购买服务器硬件和网络设备的时候开始发展的;需要规划数据中心空间、电源和冷却,并协商和购买产品…

微服务SpringCloudday1 认识微服务与服务注册(Eureka与nacos)

SpringCloud01 1.认识微服务 随着互联网行业的发展,对服务的要求也越来越高,服务架构也从单体架构逐渐演变为现在流行的微服务架构。这些架构之间有怎样的差别呢? 1.0.学习目标 了解微服务架构的优缺点 1.1.单体架构 单体架构&#xff…

arduino w801 流水灯

先复制个图过来 来源 https://www.cnblogs.com/milton/p/15621540.html 前两天老外跟联盛德网站回复我arduino库有完善的了 GitHub - board707/w80x_arduino: w806 for arduino ide package arduino 添加库地址 https://raw.githubusercontent.com/board707/w80x_arduino/ha…

【genius_platform软件平台开发】第九十八讲:嵌入式网络接口(MAC、PHY)

1. 嵌入式网络简介 1.1 嵌入式下的网络硬件接口 提起网络,我们一般想到的硬件就是“网卡”,现在网卡已经是通过一个芯片来完成了,嵌入式网络硬件分为两部分:MAC和PHY,大家都是通过看数据手册来判断一款SOC是否支持网络…

Linux tar.xz 格式的文件正确的解压命令

Linux tar.xz 最近下载 Linux kernel,好像最近流行 tar.xz 格式的后缀 对于 xz 后缀的压缩文件,我之前的解压方式是分为两步: xz -d xxx.tar.xz 解压成 xxx.tar 格式文件,然后再 tar xf xxx.tar 解压文件。 这样的操作不仅比较的…

【Java基础学习打卡11】Path环境变量的配置

目录 前言一、为什么配置环境变量二、如何配置环境变量三、JDK11的环境变量配置总结 前言 本文我们要知道为什么配置环境变量,自己思考不配置环境变量可以吗?JDK 11 如何配置环境变量。 一、为什么配置环境变量 原因很简单,就是方便命令的查…

痛点-调研-明确需求-实现-测试-发布 不需要手一步到位使用AGI生成去广告脚本,复制粘贴发布到Greasy Fork

总算又想起密码了, 自从用了语雀后, 其他平台基本都不再使用了 csdn 真的**, c h a t g p t 是禁词(已经改为了AGI, 通用型人工智能), 你倒是说清楚啊,直接来一句违反社区规定, 莫名其妙, 得靠猜…服了 今天来补上一篇利用AGI生成的js去广告脚本 前置知识(不看也问题不大) …

MyBatis junit 日志框架logback

JUnit是专门做单元测试的组件 <!-- junit依赖 --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.2</version> <scope>test</scope> </dependency>…