Multimodal First Impression Analysis with Deep Residual Networks 阅读笔记

Multimodal First Impression Analysis with Deep Residual Networks

前言

这篇文章也算是一个老文章了,不过效果也非常好,准确率也在前三名之内,有必要读读它的模型结构以及特征方法,特别是他对于声音提取的方面好像有一些小创新,虽然是两个模块,但也有借鉴意义,

模型结构

以下是整个模型的一个流程图,通过,训练集进行训练得到一个模型,然后把被测试者的视频输入到模型中,得到它的个性分数以及是否是一个好的面试者(通过还是不通过)

在这里插入图片描述

Audiovisual 模型

参考了之前使用的resnet , 但是声音和视觉由于其维度不同,其结构也有一些不同,主要的区别就是,步长, 卷积核的问题

在这里插入图片描述

其训练过程如下:

  • 从视频中读取声音和视觉数据
  • 声音随机采样50176个样本,约为3.316秒, 放到声音提取模型中
  • 视觉 随机采样 224*224的图片, 放到视觉提取模型中
  • 最后把两个模态得到的特征拼接,进行拼接,最后放入全连接进行预测

验证过程如下:

  • 从视频中读取声音和视觉数据
  • 声音全部放到声音提取模型中
  • 视觉 随机采样一帧
  • 最后把两个模态得到的特征拼接,进行拼接,最后放入全连接进行预测

因为两个模态的特征提取模块的 倒数第二层后面都是全局平均池, 所以不用担心输入不同的问题

当然,为了消融实验:

作者还使用了单独的音频模型和单独的视觉模型。 这些模型由视听模型的相应流组成,但是后面是单独的连接层。 他们也分别进行了评估

Language 模型

或者使用两个模型来进行,的预测,一个是词袋模型,另外一个是skip-thought vectors

每一个句子都被编码成一个固定的特征向量

在这里插入图片描述

这每一个特征向量都用一个线性回归来进行预测

实验&训练

个性之间的相关性

在这里插入图片描述

平均脸

作者这里用了可视化的处理,把5个个性的高人群和低人群的平均脸进行了输出,这里非常有趣

在这里插入图片描述

结果

实验结果:

在这里插入图片描述

最后文章还给了一一种可解释性的方法来解释为什么不同的个性使得他录取还是不录取,例如由于这个人的开朗性不是很高,所以他将不会被录取,感兴趣的可以自己读一下好,

总结

  • 声音的提取模态,有点东西可以看一下
  • 准确率还挺高的
<think>嗯,用户想了解多模态情感分析中的特定于模态的残差网络的研究和实现。首先,我需要确认什么是多模态情感分析。根据引用[1],它涉及处理来自不同模态(如文本、音频、视觉)的数据,用于分析情感,尤其是在模态缺失的情况下。然后,特定于模态的残差网络可能指的是针对每个模态设计的网络结构,可能结合残差连接来提升性能。 接下来,我需要回顾现有的研究。残差网络在计算机视觉中应用广泛,如ResNet和DenseNet(引用[2]),它们在处理深层网络时有效缓解梯度消失问题。多模态领域,可能需要将这种结构应用于不同模态的特征提取。例如,每个模态可能有独立的残差网络分支,再融合特征。 然后,用户提到的实现方面,可能需要参考具体的代码库。引用[1]中的EMMR项目可能包含相关实现,可以查看其GitHub代码。此外,引用[3]提到多模态预训练和跨模态检索,可能涉及模态特定网络的设计,比如如何处理不同模态的特征。 需要解决的问题包括:1)如何设计模态特定的残差网络结构;2)如何融合不同模态的特征;3)如何处理模态缺失或不确定性。例如,在EMMR中,可能使用特定模态的残差块来处理各自的数据,再通过某种机制(如注意力)进行融合,同时应对缺失模态的情况。 此外,用户可能需要了解现有的模型架构,比如是否每个模态都有独立的ResNet分支,以及如何在这些分支中加入残差连接。引用[2]提到的多尺度模型设计、FPN等可能对多模态特征融合有借鉴意义。比如,使用不同层级的特征进行融合,或者使用跨模态的注意力机制。 在实现上,可能需要使用深度学习框架如PyTorch或TensorFlow,构建多个残差网络分支,每个处理一个模态,然后将特征合并。同时,需要处理模态缺失的情况,比如通过零填充或生成替代特征,如引用[1]中的方法。 可能的相关问题包括优化方法、处理模态缺失的技术、如何评估模型性能等。需要确保回答结构清晰,步骤明确,并引用相关的文献和代码资源。</think>### 多模态情感分析中特定于模态的残差网络研究及实现 #### 1. 研究背景 多模态情感分析通过融合文本、语音、视觉等模态数据提升情感识别准确性[^1]。特定于模态的残差网络(Modality-Specific Residual Networks)通过以下方式优化模型性能: - **模态独立性**:为每个模态设计独立的残差分支,避免特征混淆。 - **梯度优化**:利用残差连接(如ResNet[^2])缓解梯度消失问题,增强深层网络训练稳定性。 - **动态特征融合**:在高层通过注意力机制或加权融合整合多模态特征[^3]。 #### 2. 核心实现方法 ##### 2.1 残差网络设计 - **单模态分支**:每个模态(如文本、音频、视觉)使用独立的残差块。例如: ```python class ModalityResNet(nn.Module): def __init__(self, input_dim): super().__init__() self.res_layer1 = nn.Sequential( nn.Linear(input_dim, 256), nn.ReLU(), nn.Linear(256, 256) # 残差跳跃连接 ) def forward(self, x): residual = x x = self.res_layer1(x) x += residual # 残差相加 return x ``` - **跨模态特征对齐**:通过对比学习或对抗训练(如DANN)对齐不同模态的特征分布。 ##### 2.2 多模态融合策略 - **加权融合**:为每个模态分配动态权重,例如基于注意力机制: $$ \alpha_i = \text{softmax}(W \cdot h_i + b) $$ 其中$h_i$为第$i$个模态的特征,$\alpha_i$为其权重。 - **层级融合**:在残差块的不同层级进行特征交互(参考FPN[^2]的多尺度设计)。 #### 3. 研究进展 - **EMMR框架**:提出模态不确定性的鲁棒性处理方法,通过残差网络补偿缺失模态的影响。 - **跨模态预训练**:结合BERT等模型,在残差结构中嵌入跨模态对齐模块(如CLIP风格对比学习)。 #### 4. 实现示例(基于PyTorch) ```python class MultimodalResNet(nn.Module): def __init__(self, text_dim, audio_dim, visual_dim): super().__init__() # 模态特定残差分支 self.text_net = ModalityResNet(text_dim) self.audio_net = ModalityResNet(audio_dim) self.visual_net = ModalityResNet(visual_dim) # 融合层 self.attention = nn.MultiheadAttention(embed_dim=256, num_heads=4) self.classifier = nn.Linear(256, 3) # 情感分类 def forward(self, text, audio, visual): text_feat = self.text_net(text) audio_feat = self.audio_net(audio) visual_feat = self.visual_net(visual) # 跨模态注意力融合 fused, _ = self.attention(text_feat, audio_feat, visual_feat) return self.classifier(fused) ``` #### 5. 关键挑战与优化 - **模态缺失处理**:在残差网络中引入零初始化掩码或生成式补全(如GAN)。 - **计算效率**:使用分组卷积或模型蒸馏降低多分支计算开销。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值