跳转至

03-多模态特征的融合与提取

本页统计信息
  • 本页约 1611 个字, 预计阅读时间 5 分钟。

  • 本页总阅读量

多模态特征的融合与提取

本周来读几篇涉及到多模态与提取的论文,看看他们怎么解决模态融合的问题。

基于Transformer特征重构网络的情感分类

原论文:Transformer-based Feature Reconstruction Network for Robust Multimodal Sentiment Analysis, 发表于ACM MM2021 这篇文章的主要设计在于使用特征重构的Transformer网络进行缺失数据的补齐,文章认同这样一个观点:reconstructing complete modality sequences from extracted modality sequences can lead the extractor module to learn the semantics of the missing parts,也就是说对模态信息的重构和复原可以让encoder学习到缺失模态的信息,其实说白了还是希望通过自编码器来学习一个可以应对输入数据有模态缺失的encoder,其他的地方平平常常,没有看到特别亮眼的设计。

基于TAG辅助的多模态情感分析

原论文: Tag-assisted Multimodal Sentiment Analysis under Uncertain Missing Modalities 发表于SIGIR2022 这篇文章的总体思路是用tag来标记哪些模态有缺失,然后利用tag的embedding为整体的joint representation提供额外的信息,同时,模型层面使用了Transformer做自编码器的训练,然后让自编码器的encoder输出和传统的基于预训练模型的多模态情感分类模型的输出进行拟合(这里用到了KL散度) 模型中有两个设计,一个是TAG生成,另一个是模态信息的融合。TAG的生成就是根据缺失模态的情况生成一串编码,然后这串编码应该对应了一个representation,输入到Transformer中一起进行计算。模态信息融合中,这篇文章采用了三个投影矩阵两两组合进行投影然后组合成最终的joint representation,总之就是加了很多参数吧。 Loss函数的设计上主要就是四个部分,一个是常规的分类loss,一个是自编码器的loss,一个是tag有关的loss,另一个是和pretrain model的KL散度。

基于多模态对比学习的实体对齐

原论文:Multi-modal Contrastive Representation Learning for Entity Alignment 这篇文章的是用对比学习去做多模态实体对齐任务,其中的模态一共有五个,分别是图结构模态、关系模态、属性模态、文本模态和图像模态,论文提出的模型的总体架构如下: 首先使用各种不同模态的编码器对每个模态分别进行编码,然后对五个模态进行加权求和得到joint representation,然后就是通过对比学习进行训练,对比学习相关的loss函数设计主要有这样几个:

Intra-modal Contrastive Loss (ICL),模态内的对比,对于每个正样本对,计算下面的对比loss:

\[ q_m\left(e_1^i, e_2^i\right)= \frac{\delta_m\left(e_1^i, e_2^i\right)}{\delta_m\left(e_1^i, e_2^i\right)+\sum_{e_1^j \in N_1^i} \delta_m\left(e_1^i, e_1^j\right)+\sum_{e_2^j \in N_2^i} \delta_m\left(e_1^i, e_2^j\right)} \]
\[ \mathcal{L}_m^{\mathrm{ICL}}=-\mathbb{E}_{i \in \mathcal{B}} \log \left[\frac{1}{2}\left(q_m\left(e_1^i, e_2^i\right)+q_m\left(e_2^i, e_1^i\right)\right)\right] \]

也就是对于每个模态的表示,进行正负样本的对比。这个loss的设定是为了对不同实体的同一个模态的表示进行discriminate

Inter-modal Alignment Loss (IAL),跨模态的对比,论文中将这个joint representation作为comprehensive representation,并让它与其他不同模态的representation进行对比,希望他们的KL散度尽可能接近,具体如下:

\[ \mathcal{L}_m^{\mathrm{IAL}}=\mathbb{E}_{i \in \mathcal{B}} \frac{1}{2}\left[\mathrm{KL}\left(q_o^{\prime}\left(e_1^i, e_2^i\right) \| q_m^{\prime}\left(e_1^i, e_2^i\right)\right)\right. \left.+\mathrm{KL}\left(q_o^{\prime}\left(e_2^i, e_1^i\right) \| q_m^{\prime}\left(e_2^i, e_1^i\right)\right)\right] \]

设置这个loss的作用主要是进行跨模态的对比。 最终模型的训练需要将不同模态各自的ICL和IAL汇总在一起,因为loss的组成比较丰富,所以论文中采用了自适应的多任务学习权重,具体形式如下:

\[ \mathcal{L}=\mathcal{L}_o^{\mathrm{ICL}}+\sum_{m \in \mathcal{M}}\left(\frac{1}{\alpha_m^2} \mathcal{L}_m^{\mathrm{ICL}}+\frac{1}{\beta_m^2} \mathcal{L}_m^{\mathrm{IAL}}+\log \alpha_m+\log \beta_m\right) \]

MEAformer: 使用Transformer架构学习元模态权重

原论文:MEAformer: Multi-modal Entity Alignment Transformer for Meta Modality Hybrid

这篇论文是一篇做多模态知识图谱实体对齐的文章,主要的设计和创新在于提出了新的模态特征融合方法,通过学习动态跨模态权重来实现深度的模态特征提取(论文中称之为元模态混合),其实是对上面这篇文章的改进。 本论文的模型的设计可以用下面几步来概括: 1. 分别使用不同的模态特征编码器得到不同模态的表示,一共有visual/textual(entity name)/attribute/structure四个模态 2. 将四个模态输入Transformer架构的encoder中,通过多头注意力机制计算一组注意力权重然后通过FFN层得到最终的输出,同时计算一组meta weight,并进行early fusion和late fusion,其实就是把输入Transformer前的模态特征和Transformer输出的模态特征各进行一次融合 3. 使用基于对比学习的loss进行模型的训练,主要就是让seed alignment中的正样本和负样本之间进行对比,反正多加了好几个非常复杂的loss 我们主要关心模态如何进行融合,首先在多头注意力中,两个模态的信息m和j之间的注意力权重是这样计算的:

\[ \beta_{m j}=\frac{\exp \left(Q_m^{\top} K_j / \sqrt{d_h}\right)}{\sum_{i \in \mathcal{M}} \exp \left(Q_m^{\top} K_i / \sqrt{d_h}\right)} \]

这里其实还是基本的注意力权重,在通过FFN层之后,我们还要计算一个用来融合不同模态信息的元权重:

\[ w_m=\frac{\exp \left(\sum_{j \in \mathcal{M}} \sum_{i=0}^{N_h} \beta_{m j}^{(i)} / \sqrt{|\mathcal{M}| \times N_h}\right)}{\sum_{k \in \mathcal{M}} \exp \left(\sum_{j \in \mathcal{M}} \sum_{i=0}^{N_h} \beta_{k j}^{(i)} \sqrt{|\mathcal{M}| \times N_h}\right)} \]

对于这个元注意力,我的理解是对模态之间的注意力权重再进行一次加权求和。

颜色主题调整

评论区~

有用的话请给我个star或者follow我的账号!! 非常感谢!!
快来跟我聊天~