当前位置: 首页 > article >正文

辅助任务改进社交帖子多模态分类


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

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

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

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

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

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

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

​​

​​

目录

论文地址

主要内容

主要贡献

技术细节

Image-Text Contrastive (ITC)

Image-Text Matching (ITM)

联合微调目标

实验结果

代码运行


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

论文地址

https://arxiv.org/pdf/2309.07794

主要内容

  1. 这篇文章的主要内容是关于如何通过利用图像-文本辅助任务来提高社交媒体帖子的多模态分类效果。研究者们在多模态模型微调过程中联合使用了两种辅助损失:图像-文本对比(Image-Text Contrastive, ITC)和图像-文本匹配(Image-Text Matching, ITM)。ITC 旨在最小化帖子内部图像和文本表示之间的距离,从而有效地弥合图像在传达帖子意义中扮演重要角色时的鸿沟。ITM 则增强了模型理解图像和文本之间语义关系的能力,提高了处理模糊或关系不紧密模态的能力。

  2. 研究者们结合了五种多模态模型,并在五个不同的社交媒体数据集上进行了实验,展示了使用这两种辅助任务可以一致性地提高模型性能,最高可提升 2.6 的 F1 分数。文章还提供了详尽的分析,展示了在特定场景下每种辅助任务最有效。

  3. 此外,文章还介绍了实验设置、使用的数据集、单模态方法、多模态模型、评估方法和结果。研究者们使用了不同的预训练模型,包括 BERT、Bernice、ResNet152 和 ViT,并在不同的社交媒体任务上进行了实验,如文本-图像关系分类、情感分析、仇恨言论分类、讽刺检测和商业影响力内容检测等。

  4. 最后,文章讨论了研究的局限性,包括目前实验仅使用英文数据集,以及辅助任务的加入可能会增加训练时间。尽管如此,作者认为这些额外的时间与大型语言模型的预训练时间相比是相对较小的

主要贡献

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

  1. 多模态模型微调的辅助任务研究:文章提出了一个广泛的研究,比较了在微调过程中联合使用图像-文本对比(ITC)和图像-文本匹配(ITM)两种辅助损失的多模态模型。

  2. 性能提升:展示了在五个不同的多模态社交媒体数据集上,使用ITC和ITM作为辅助损失的模型一致性地提高了性能,最高可提升2.6 F1分数。

  3. 具体场景分析:提供了详尽的分析,揭示了在不同类型的图像-文本关系中,个别辅助任务及其组合的有效性。

  4. 模型和数据集的多样性:研究涵盖了五种不同的多模态模型,并在五个不同的社交媒体数据集上进行了实验,这表明了方法的通用性和适应性。

  5. 对低资源场景的探讨:文章还探讨了在不同数量的训练样本下模型的泛化能力和数据效率,这对于资源受限的情况特别重要。

  6. 对模型有效性的深入理解:通过分析Ber-ViT-Att模型在TIR数据集上的预测,文章帮助理解在不同图像-文本关系类型下,辅助任务如何受益。

这些贡献为社交媒体帖子的多模态内容分类提供了新的视角和方法,有助于提高自动检测情感、讽刺和仇恨言论等下游任务的准确性。

技术细节

Image-Text Contrastive (ITC)


ITC就是使用对比学习的方法让图像和文本的特征对齐。

因为多模态数据集一个文本对应一个图片,那么通过对比学习的方式,让对应的这组文本和图像的相似度更大,也就是特征更加相似,从而完成特征的对齐。

因此损失函数由两部分构成:
一个是为了让配对的文本-图像距离尽可能近而离另外的文本尽可能远。
一个是为了让配对的文本-图像距离尽可能近而离另外的图像尽可能远。

Image-Text Matching (ITM)

在社交媒体帖子中,不相关或弱相关的文本-图像对很常见,仅仅用ITC,可能图像和文本表面上看上去确实没有关联,但是可能有着深层次的关联,使用这个任务可以帮助模型挖掘这深层次的关系。

这个辅助任务也很简单,就是50%的概率随机替换文本-图像对中的图像数据,如果被替换了,那么文本和图像就是不匹配的,如果没有替换,文本和图像就是匹配的,这时可以让模型去预测,文本和图像当前到底匹不匹配,从而转化成一个二分类问题。

其损失函数如下:

联合微调目标

分类任务+辅助训练任务,一起进行训练,损失函数如下:


其中CE就是cross-entropy classification loss,也就是模型最终分类预测结果的损失函数。

实验结果


其中
+C就是加了ITC辅助任务
+M就是加了ITM辅助任务
可以看到,辅助任务确实可以优化模型的表现。

代码运行

  1. 创建一个名为timrel的conda环境,并安装所需的依赖项。
    conda env create -f timrel-env.yml

  2. 下载图像数据集,可在文件夹中查看对应网盘下载(当前只提供了MMSD图像数据集)
    各个数据集下载方式可参考:
    DATASETS:

    • TIR | Paper
    • MVSA | Paper
    • MHP | Paper
    • MSD | Paper
    • MICD | Paper
  3. 将文本数据处理成如data_key_msd.csv一样的格式,并放置在data文件夹下(MSD文本已经处理好了)

  4. 运行示例(–testing表示测试运行,只有少量数据,去除可跑完整数据)

source activate timrel-env
python run_mm_late.py --txt_model_name bernice --img_model_name vit --fusion_name attention --tas

​​


http://www.kler.cn/a/445457.html

相关文章:

  • Map.put 方法
  • 时间序列预测论文阅读和相关代码库
  • ubuntu,自动休眠后,程序自动暂停。如何破?
  • C#核心(18)面向对象多态vob
  • Apache Kylin最简单的解析、了解
  • 【深入解析C#第四版】读书笔记1:C# 特性之【类型系统】
  • 在Linux上将 `.sh` 脚本、`.jar` 包或其他脚本文件添加到开机自启动
  • uni-app商品搜索页面
  • stm32进硬件错误怎么回事
  • ES对比Hbase
  • 深入解析 StarRocks 物化视图:全方位的查询改写机制
  • 【练习Day17】寻找第 K 大
  • Linux缓存管理:如何安全地清理系统缓存
  • 【Mars3d】设置backgroundImage、map.scene.skyBox、backgroundImage来回切换
  • 几种广泛使用的 C++ 编译器
  • 广东省佛山市南海信息学竞赛高频考查点系列全解
  • 基于开源 AI 智能名片 S2B2C 商城小程序的智慧零售仓储管理创新策略研究
  • 简述 React 的生命周期
  • MATLAB转换C语言--问题(一)FFT 和 IFFT 的缩放因子
  • 微服务网关初体验
  • 【Java基础面试题025】什么是Java的Integer缓存池?
  • C++ 字符串(string)使用
  • Unity-Editor扩展GUI基本实现一个可拖拉放的格子列表
  • 32单片机串口数据接收、空闲IDLE中断详解
  • 【渗透技术总结】SQL手工注入总结
  • SQL进阶技巧:如何根据工业制程参数计算良品率?