| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 【自然语言处理】【多模态】UniT:基于统一Transformer的多模态多任务学习 -> 正文阅读 |
|
[人工智能]【自然语言处理】【多模态】UniT:基于统一Transformer的多模态多任务学习 |
论文地址:https://arxiv.org/pdf/2102.10772.pdf
一、简介? Transformer \text{Transformer} Transformer在各个领域都获得的巨大的成功,包括但不限于自然语言、图像、视频和音频。先前的工作表明,在大规模语料上预训练的 Transformer \text{Transformer} Transformer能够学习到有益于下游广泛语言任务的向量表示。在视觉领域,基于 Transformer \text{Transformer} Transformer的模型也在图像分类、目标检测和全景分割上实现了很好的效果。除了建模单一模态外, Transformer \text{Transformer} Transformer模型也在 VQA \text{VQA} VQA等联合视觉-语言推理任务上实现了很好的表现。 ? 然而,尽管 Transformer \text{Transformer} Transformer在特定领域的应用中达成了不错的成就,但是基于 Transformer \text{Transformer} Transformer的跨领域链接不同任务的工作并不多。在目睹了 Transformer \text{Transformer} Transformer的成功后,各种问题自然会出现:用于自然语言推理训练的 Transformer \text{Transformer} Transformer模型是否也能在图像上执行目标检测,或者说基于 Transformer \text{Transformer} Transformer的图像编码器是否能用来进行检测文本蕴含?总的来说,是否能够建立单个模型来同时处理不同领域的各种任务,向通用人工智能前进一步?先前的工作尝试解决这些问题,但是存在一定的限制:
? 在本文中,作者构建了一个称为
UniT
\text{UniT}
UniT的统一
Transformer
\text{Transformer}
Transformer模型,其将图像和(或)文本作为输入,然而在视觉感知、自然语言理解和联合视觉-语言推理的各种任务上进行联合训练。
UniT
\text{UniT}
UniT由
Transformer
\text{Transformer}
Transformer编码器构成,其能够将每个输入模态编码为
二、 UniT \text{UniT} UniT:跨领域统一 Transformer \text{Transformer} Transformer? 本工作中,使用统一的单个模型联合学习跨不同模态的多任务。模型 UniT \text{UniT} UniT是建立在基于 Transformer \text{Transformer} Transformer编码器-解码器架构上的,由每个模态一个编码器和统一的解码器组成。上图是整个 UniT \text{UniT} UniT的架构。 ? 本文考虑图像和文本两种输入模态。对于图像上的基于 Transformer \text{Transformer} Transformer编码器,首先会应用卷积神经网络来抽取一个视觉 feature?map \text{feature map} feature?map,然后其被 Transformer \text{Transformer} Transformer编码器进一步编码为合并了全局上下文信息的 hidden?state \text{hidden state} hidden?state序列。对于语言输入,这里使用12层的uncased版本的 BERT \text{BERT} BERT,其将输入的单词序列也编码为 hidden?state \text{hidden state} hidden?state序列。在将输入编码为 hidden?state \text{hidden state} hidden?state序列后,将 Transformer \text{Transformer} Transformer解码器应用在单个模态上向量序列上,或者多个模态拼接的向量序列上(这取决于任务是单模态还是多模态)。作者在所有任务上测试了分离解码器和共享解码器。最终,从 Transformer \text{Transformer} Transformer解码器获得的表示被传递至任务相关的头,并输出最终的预测值。由于 UniT \text{UniT} UniT的简单性,其可以轻易扩展到更多模态和输入上。 ? 作者实验表明, UniT \text{UniT} UniT可以在8个数据集上联合学习7个任务。 2.1 图像编码器? 单独的视觉任务和"视觉-语言"任务需要感知和理解图像
I
I
I。
UniT
\text{UniT}
UniT中使用卷积神经网络后跟一个
Transformer
\text{Transformer}
Transformer编码器来编码图像
I
I
I,将其转换为视觉编码
hidden?state
\text{hidden state}
hidden?state列表:
h
v
=
{
h
1
v
,
h
2
v
,
…
,
h
L
v
}
\textbf{h}^v=\{h_1^v,h_2^v,\dots,h_L^v\}
hv={h1v?,h2v?,…,hLv?}。图像编码的过程是受
DETR
\text{DETR}
DETR启发。首先,使用将卷积神经网络
B
B
B应用在输入图像上,抽取出一个尺寸为
H
v
×
W
v
×
d
v
b
H_v\times W_v\times d_v^b
Hv?×Wv?×dvb?的
feature?map
\text{feature map}
feature?map
x
v
\textbf{x}^v
xv: ? 为了进一步编码出尺寸为
L
×
d
v
e
L\times d_v^e
L×dve?的视觉
hidden?state
\text{hidden state}
hidden?state
h
v
\textbf{h}^v
hv,在
x
v
\textbf{x}^v
xv上应用一个具有
N
v
N_v
Nv?层且
hidden?size
\text{hidden size}
hidden?size为
d
v
e
d_v^e
dve?的
Transformer
\text{Transformer}
Transformer编码器
E
v
E_v
Ev?,其中
L
=
H
v
×
W
v
L=H_v\times W_v
L=Hv?×Wv?是视觉
hidden?state
\text{hidden state}
hidden?state的长度。此外,给定不同的任务可能需要抽取不同类型的信息,因此在
Transformer
\text{Transformer}
Transformer编码器中添加一个任务相关嵌入向量
w
v
t
a
s
k
w_v^{task}
wvtask?,这允许抽取任务相关的信息 2.2 文本编码器? 像 ? 给定输入文本,以与 ? 在本文的实现中,使用 2.3 领域不可知 UniT \text{UniT} UniT解码器? 在将输入模态编码后,应用一个 ? 对于纯视觉任务,解码器应用在编码后的图像 h e n c = h v \textbf{h}^{enc}=\textbf{h}^v henc=hv;对于纯语言任务,解码器应用在编码后 的文本 h e n c = h t \textbf{h}^{enc}=\textbf{h}^t henc=ht;对于视觉语言联合任务,将两种模态合并至单个输入 h e n c = concat ( h v , h t ) \textbf{h}^{enc}=\text{concat}(\textbf{h}^v,\textbf{h}^t) henc=concat(hv,ht)。 ?
Transformer
\text{Transformer}
Transformer解码器
D
D
D将编码后的输入序列
h
e
n
c
\textbf{h}^{enc}
henc和一个长度为
q
q
q的任务相关的 ? 在实现时,要么对所有任务使用单个共享的解码器 D s h a r e d D^{shared} Dshared,或者为每个具体的任务 t t t使用分离解码器 D t s e p D_t^{sep} Dtsep?。 2.4 任务相关的输出头? 每个任务
t
t
t的预测头被应用在解码 ? 类别头和 ? 在测试时,仅使用从解码器顶层得到的预测值
h
d
e
c
,
N
d
\textbf{h}^{dec,N_d}
hdec,Nd?。因此不同的检测数据集通常有不同数量的类别,每个数据集都有自己的类别头、 ? 本文中所有的任务,包括:视觉问答、 ? 为了预测输出类别,使用具有 2.5 训练? 在多个任务上联合训练
UniT
\text{UniT}
UniT。在训练中的每次迭代,随机的选择一个任务和数据集来填充 三、实验四、总结
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 4:21:46- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |