| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> AAAI2020|MemCap:Memorizing Style Knowledge for Image Captioning -> 正文阅读 |
|
[人工智能]AAAI2020|MemCap:Memorizing Style Knowledge for Image Captioning |
MemCap:Memorizing Style Knowledge for Image Captioning附:论文下载地址 论文主要贡献
引言近年来,图像描述的研究取得了显著的进展。大多数现有的图像描述模型侧重于生成准确的描述,而忽略了句子的语言风格。但是一个理想的描述不仅要准确的描述图像的内容,还要将特定的语言风格融入到生成的句子中。然而,有些风格相关的信息不能从图像中直接感知,因为这些信息没有视觉基础。在这种情况下,人类通常可以利用关联能力从先验知识中搜索和提取相应的风格化语料库,如图所示。 论文方法方法概述整个模型如上图所示,包含风格记忆模块 M M M,句子分解器 P P P,描述生成模块 C C C,图像场景图生成器 ε \varepsilon ε和句子场景图生成器 F F F。在风格记忆模块 M M M的训练中,使用句子分解器 P P P将风格化的句子分解为内容相关部分 W c W_c Wc?和风格相关部分 W s W_s Ws?,之后将 W c W_c Wc?送入句子场景图生成器 F F F生成其场景图,风格相关部分 W s W_s Ws?用于更新风格记忆模块 M M M,根据输入句子场景图 G y G^y Gy得到风格知识 m y m_y my?,在使用两者作为输入进行端到端的训练,采用传统的交叉熵损失函数和带有奖励函数的self-critical训练策略对 M M M和 C C C进行优化。测试时,对于每个输入图像x,由图像场景图生成器 ε \varepsilon ε生成其场景图 G x G^x Gx,然后根据 G x G^x Gx从风格记忆模块 M M M中提取内容相关的风格知识 m y m_y my?,最后利用描述生成模块 C C C生成句子 y ^ s \hat{y}^s y^?s。 句子分解器句子分解器
P
P
P通过一个迭代的句子分解来实现,将句子分解为
W
c
W_c
Wc?和
W
s
W_s
Ws?。
W
s
W_s
Ws?包含反映句子语言风格的短语,
W
c
W_c
Wc?包含句子描述的场景、对象和动作。形式上,给出一个句子
y
=
w
1
,
w
2
,
.
.
.
,
w
L
y=w_1,w_2,...,w_L
y=w1?,w2?,...,wL?,该算法为每个单词分配一个标签
l
i
∈
{
0
,
1
}
l_i∈\{0,1\}
li?∈{0,1}表示为
w
i
w_i
wi?,表明改词是否与样式相关。对于事实句,风格相关部分是一个空序列。 生成场景图场景图以结构化的形式概括了图像或句子中的信息,包括对象、对象之间的关系以及图像或句子中对象的属性。场景图
G
G
G由节点集
V
V
V和边集
E
E
E组成,记为
G
=
(
V
,
E
)
G = (V, E)
G=(V,E)。节点集由对象、关系和属性三种不同的节点组成。
o
i
o_i
oi?表示第
i
i
i个对象,
r
i
j
r_{ij}
rij?表示两个对象
o
i
o_i
oi?和
o
j
o_j
oj?之间的关系,对象
o
i
o_i
oi?的第
k
k
k个属性表示为
a
i
k
a^k_i
aik?。 风格记忆模块在训练过程中使用风格记忆模块对训练中与风格相关的单词或短语进行编码。包含有关样式s的知识的嵌入向量构成一个矩阵 M s ∈ R d × p M_s∈R^{d \times p} Ms?∈Rd×p,其中p为嵌入向量的个数,矩阵 M s ′ ∈ R d × p M^\prime_s∈R^{d \times p} Ms′?∈Rd×p,表示与 M s M_s Ms?中的风格知识相对应的事实内容。 更新风格记忆给定风格化句子
y
s
y^s
ys和标签
l
i
l_i
li?,style memory随着风格相关词的嵌入而更新,
M
s
M_s
Ms?和
M
s
′
M^\prime_s
Ms′?的基向量和风格相关词有关,并且通过注意力权重利用下面的公式进行更新。 提取风格知识在生成风格化句子之前,根据图像的概念词提取风格知识。与记忆更新操作类似,对 M s M_s Ms?中的嵌入向量进行处理,并将这些向量的加权和作为提取的知识:其中向量 β \beta β表示提取风格知识时每个嵌入向量的权重。向量 m m m表示提取的样式知识,用于更新captioner的隐藏状态。 描述生成器captioner C C C使用场景图 G G G和提取的风格知识 m m m作为输入生成风格化的描述 y ^ s \hat{y}^s y^?s,首先将场景图 G G G映射到一组嵌入,而提取的样式知识 m m m用于初始化两层LSTM网络的单元状态。 场景图编码作者将场景图中的对象
o
i
o_i
oi?、关系
r
i
j
r_{ij}
rij?和属性
a
i
k
a^k_i
aik?的嵌入分别表示为
e
o
i
e_{o_i}
eoi??、
e
r
i
j
e_{r_{ij}}
erij??和
e
a
i
k
e_{a^k_i}
eaik??,这些嵌入相当于节点的类标签的词嵌入,进一步对节点嵌入进行编码,以收集上下文感知信息。关系的上下文感知嵌入
r
i
j
r_{ij}
rij?可以由下式表示:
u
r
i
j
=
W
t
r
[
e
o
i
;
e
r
i
j
;
e
o
j
]
u_{r_{ij}}=W_{tr}[e_{o_i};e_{r_{ij}};e_{o_j}]
urij??=Wtr?[eoi??;erij??;eoj??]其中
e
o
i
,
e
r
i
j
,
e
a
i
k
e_{o_i},e_{r_{ij}},e_{a^k_i}
eoi??,erij??,eaik??表示三元组
?
o
i
,
r
i
j
,
o
j
?
\langle o_i,r_{ij},o_j\rangle
?oi?,rij?,oj??中的节点嵌入,[;]表示向量连接,
W
t
r
∈
R
d
×
3
d
W_{tr}∈R^{d\times 3d}
Wtr?∈Rd×3d是可学习参数,对象
o
i
o_i
oi?的上下文文感知嵌入可以由下式表示: 描述生成场景图的上下文感知嵌入用作LSTM的输入,以生成风格化的图像描述,首先用于attention LSTM,之后用于 language LSTM的输入。第一层LSTM网络利用注意机制对场景图中的所有上下文相关表示进行编码,第二层LSTM网络输出词汇表中每个单词的概率。在时间步t,第p个上下文感知嵌入
u
p
u_p
up?的注意权重
γ
t
,
i
\gamma_{t,i}
γt,i?通过以下公式计算: 训练策略MemCap的整个训练过程包括预训练阶段和微调阶段。在预训练阶段,使用事实数据
D
f
D_f
Df?训练captioner,给定图像
x
x
x和事实句子
y
f
y_f
yf?,将图像场景图
G
x
G^x
Gx输入captioner。由于在事实句中不涉及风格知识,所以将向量m设为全零向量。用交叉熵损失函数优化captioner
C
C
C: 实验数据集事实描述和对应的图像来自MSCOCO (Lin et al. 2014)数据集。这些风格化的描述来自SentiCap数据集(Mathews, Xie, and He 2016),其中包括积极和消极风格,以及FlickrStyle10K数据集(Gan et al. 2017),其中包括幽默和浪漫风格。 评价指标采用了风格分类精度(cls)和平均perplexity(ppl)评价句子的风格性,风格分类的准确性是由正确反映所需风格的句子所占的比例来衡量的。用SentiCap和StyleNet数据集中的风格句和MSCOCO数据集中的事实句训练逻辑回归分类器。通过预训练的语言模型计算生成的句子的平均perplexity。具体来说,对于四种风格的每一种,使用SRILM工具包(Stolcke 2002)训练一个基于三元组的统计语言模型,并由相应的语言模型分别评估生成的句子。perplexity得分越低,表示生成的句子越流畅,也越能反映出所期望的语言风格。 结果单一风格
总结作者提出了一种用于风格化图像描述生成的MemCap方法,通过记忆模块记忆语言风格知识,并通过注意机制提取与内容相关的风格知识,生成描述。因此,它生成的句子能够准确地描述图像的内容,并恰当地反映所需的语言风格。由于MemCap能够执行单风格和多风格字幕,并且使用非配对的程式化语料库进行训练,因此它可以很容易地应用于许多现实场景。在两个类型化数据集上的大量实验证明了该方法的优越性和有效性。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/17 22:45:43- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |