多模态任务多粒度多课程去噪框架


✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨

🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。

我是Srlua小谢,在这里我会分享我的知识和经验。🎥

希望在这里,我们能一起探索IT世界的奥妙,提升我们的技能。🔮

记得先点赞👍后阅读哦~ 👏👏

📘📚 所属专栏:传知代码论文复现

欢迎访问我的主页:Srlua小谢 获取更多信息和资源。✨✨🌙🌙

​​

​​

目录

论文地址

主要内容

主要贡献

模型图

技术细节

Coarse-grained Noise Metric 粗粒度噪声度量

Fine-grained Noise Metric 细粒度噪声度量

Single Denoising Curriculum 单一降噪课程

算法伪代码

实验结果

代码运行

环境配置

数据集目录结构

模型和数据集配置

代码运行


 本文所有资源均可在该地址处获取。

论文地址

https://arxiv.org/pdf/2310.14605

主要内容

这篇文章介绍了一个名为M2DF(Multi-grained Multi-curriculum Denoising Framework)的新型多模态去噪框架,用于多模态基于方面的细粒度情感分析(MABSA)。MABSA是一项复杂的情感分析任务,它涉及到从文本和图像中提取特定方面的术语并确定其情感倾向。文章的主要贡献包括:

  1. 提出了一个新的视角来减少MABSA任务中噪声图像的负面影响。
  2. 设计了一个新颖的多粒度多课程去噪框架(M2DF),该框架与基础模型的选择无关。
  3. 在几个代表性模型上评估了去噪框架,包括当前的最先进模型,并在MABSA的三个子任务上展示了竞争性能。

M2DF框架通过调整训练数据的顺序来实现去噪,而不是通过设置阈值来过滤数据。文章通过广泛的实验结果表明,该框架在MABSA的三个子任务上一致地超越了现有的最先进工作。作者还提供了相关代码和数据集的链接。

此外,文章还回顾了MABSA和课程学习(Curriculum Learning, CL)的相关研究,并详细介绍了M2DF的方法论,包括噪声度量的定义和去噪课程的设计。最后,文章展示了实验设置、评估指标、与现有方法的比较结果以及对M2DF框架的深入分析和讨论。

主要贡献

这篇文章的主要贡献可以总结为以下几点:

  1. 新视角提出:文章提出了一个新的视角来减少多模态基于方面的细粒度情感分析(MABSA)任务中噪声图像的负面影响,而不需要通过过滤数据来实现。

  2. M2DF框架:文章提出了一个名为M2DF(Multi-grained Multi-curriculum Denoising Framework)的新型去噪框架。这个框架独立于基础模型的选择,意味着它可以被应用于多种不同的模型上。

  3. 实验验证:作者在多个代表性模型上评估了M2DF框架,包括当前的最先进模型,并在MABSA的三个子任务上展示了其竞争性能。

  4. 噪声度量和去噪课程设计:文章定义了粗粒度和细粒度的噪声度量,并设计了单一度量和多度数量的去噪课程,这些设计有助于模型在训练过程中更有效地从干净数据中学习,同时减少噪声数据的负面影响。

  5. 深入分析:文章不仅展示了实验结果,还对M2DF框架的不同模块进行了消融研究,分析了不同模块对性能的影响,并探讨了M2DF在不同噪声水平数据子集上的表现。

  6. 局限性讨论:作者还讨论了当前研究的局限性,并提出了未来研究的方向,这为后续的研究提供了思路。

模型图


实线①表示当前训练步骤选择粗粒度去噪课程,虚线②表示未选择粗粒度去噪课程。

技术细节

数据集中存在许多与文本无关的噪声图像,这将对模型学习产生负面影响。

一些研究人员开发了跨模态关系检测模块,通过设置阈值来过滤低质量的噪声图像。然而,依赖阈值不可避免地会过滤掉大量有用的图像信息。

因此,在这项工作中,考虑在不过滤数据的情况下减少噪声图像的负面影响

简单来说,就是多模态数据集中图像文本可能出现不对应的情况,这个时候数据可能就不那么准确可能会让模型练错,因此希望通过让模型在高质量的数据集中多练会以减少数据集中的噪声部分对模型的影响。

Coarse-grained Noise Metric 粗粒度噪声度量

就是通过句子和图像的相似度来对数据集的质量进行衡量
 

是句子经过CLIP的文本编码器的特征向量,cos表示计算余弦相似度。V就是对应的图像部分的CLIP编码表示。


相似度越低表明文本和图像越不匹配,说明这组数据越有可能是噪声

Fine-grained Noise Metric 细粒度噪声度量

就是通过句子中的方面词(名词)和图像中的物体的相似度来对数据集的质量进行衡量


(3)是使用斯坦福解析器提取的名词短语作为句子中的方面术语(因为方面词大多数都是名词)。
(4)是使用目标检测模型Mask-RCNN提取图像中的视觉目标。


 


相似度越低表明文本和图像越不匹配,说明这组数据越有可能是噪声

Single Denoising Curriculum 单一降噪课程


其中p(0)为预定初始值,设为0.01,T为去噪过程的持续时间。在时间步长t处,p(t)表示噪声度量的上限,模型只允许使用噪声度量dc或df小于p(t)的训练实例。


模型在训练过程中不再以完全随机的顺序呈现训练数据,而是在干净数据上花更多的时间训练,在有噪声数据上花更少的时间训练

##Multiple Denoising Curriculum 多重去噪课程


sθ值越高,表示当前去噪课程取得的进展越大

验证集上两个连续表现的比率来衡量每个去噪课程的有效性

算法伪代码


首先进行初始化。计算出数据集的粗粒度和细粒度度量值,并计算出一组结果的比值


然后根据验证集的表现动态选择进行粗粒度筛选还是细粒度筛选。

实验结果


JMASA任务(句子+图片——识别方面及其情感)的实验结果


MATE任务(句子+图片——识别方面)的实验结果


MASC(句子+图片+方面——识别方面情感)任务的实验结果

可以看到,使用这个去噪方法,确实能够一定程度上优化模型的性能。

代码运行

环境配置

python 3.7.13
torch 1.12.0+cu113
numpy 1.21.6
transformers==3.4.0
fastnlp==0.6.0
h5py

可以换源加速安装:

pip install 包名 --default-timeout=120 -i https://pypi.tuna.tsinghua.edu.cn/simple

数据集目录结构

├── /src/
│  ├── /data/
│  │  │  ├── /jsons/	       
│  │  │  │  ├── twitter15_info.json	 # twitter15数据集路径的配置文件       
│  │  │  │  ├── twitter17_info.json
│  │  │  │  ├── amended_similarity_by_region2015.json fine-grained similarity
│  │  │  │  ├── amended_similarity_by_region2017.json
│  │  │  │  ├── amended_similarity_by_whole2015.json coarse-grained similarity
│  │  │  │  ├── amended_similarity_by_whole2017.json
│  ├── /twitter2015/
│  ├── /twitter2017/
│  ├── /twitter2015_box_att_NER/
│  ├── /twitter2017_box_att_NER/

模型和数据集配置

网盘中的bart-base-model.zip中的内容解压到bart-base-model文件夹中
网盘中的pytorch_model.bin下载到checkpoint文件夹中
网盘中的twitter2015_box_att_NER.zip解压到src/data文件夹中

数据集路径配置可到twitter15_info.json修改

代码运行

  • Train and Test on twitter2015
sh 15_pretrain_full.sh

​​

### PHM2010 数据集信号的方法和技术 对于PHM2010数据集中信号的处理,可以采用种先进的技术来提升信号的质量。考虑到该数据集涉及复杂的机械设备运行状态监测,其中包含了不同类型的故障模式下的振动信号。 #### 小波阈值 小波变换因其良好的时频局部化特性,在机械故障诊断中广泛应用。通过对原始信号进行尺度分解,能够有效分离出高频声成分和低频有用信息。设定合理的阈值函数与门限参数后,再重构得到较为纯净的目标信号[^1]。 ```matlab % MATLAB代码实现小波阈值 function denoisedSignal = waveletDenoising(signal, level, wname) % signal: 输入待的一维向量形式的时间序列; % level: 分解层数; % wname: 所选用的小波基名称字符串. [C,L]=wavedec(signal,level,wname); THR=sqrt(2*log(length(signal))); C=wthcoef('d',C,L,'soft',THR); denoisedSignal=waverec(C,L,wname); end ``` #### 改进型EEMD算法 针对传统经验模态分解存在的端点效应及模态混叠现象,引入自适应白音辅助机制即集合经验模态分解(EEMD),并通过优化IMFs筛选策略进一步提高降效果。此方法特别适用于非平稳随机过程分析[^2]。 ```matlab % EEMD改进版MATLAB伪代码框架示意 addpath('eemd'); % 假设已安装好对应工具包 imfs=eemd(x,Nstd,NE); % 对输入x执行N次加平均运算获取本征模态函数组 for i=1:length(imfs)-1 if isNoiseComponent(imfs{i}) continue; % 跳过判定为纯声分量的部分 end reconstructed_signal=reconstructed_signal+imfs{i}; end ``` #### 分辨奇异值分解(SVD) 利用SVD可将矩阵映射至特征空间内完成维度压缩的同时达到抑制冗余的目的;结合分辨率概念,则可以在更精细粒度下操作从而更好地保留细微结构特征而不至于丢失过细节信息。 ```python import numpy as np from scipy.linalg import svd def multi_resolution_svd_denoise(matrix_data): U, s, Vh = svd(matrix_data, full_matrices=False) threshold = calculate_threshold(s) # 自定义计算截断标准 filtered_singular_values = [] for value in s: if value >= threshold: filtered_singular_values.append(value) else: filtered_singular_values.append(0) clean_matrix = np.dot(U * filtered_singular_values, Vh) return clean_matrix ``` 上述三种方案各有优劣之处,具体选择取决于实际应用场景需求以及对计算资源消耗考量等因素综合权衡决定。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值