海量短视频打标问题之多模态机器学习

news2024/11/17 3:53:51

引言

接着讲,既然我们是给视频打标签,那么肯定就不能只局限于图像上做文章。视频文件包含的信息很多,一个短视频除了有一帧一帧的图像,还有声音信息,甚至还有字幕或者用户打的标签和文字评论之类的这些信息,那么怎么把这些不同类别的信息抽取并利用起来,就是一个很关键的问题了。研究这类多种不同信息源做机器学习问题的领域就是今天要聊的“多模态机器学习”(Multi-Modal Machine Learning)。

欢迎探讨,本文持续维护。

实验平台

N/A

什么是多模态机器学习

这里不想去扣多模态严格的学术定义,只需要把多模态理解成不同来源或不同形式的信息就可以了,比如视频里面的声音和图像就是多模态。对图像用CNN抽取特征,对声音用CNN进行特征抽取,这叫多模态的特征学习;将汉语用算法转换成英语,这叫多模态的转换;对抽取出来的图像和声音特征在时间维度进行对齐,这叫多模态特征的对齐;人身上有眼耳口鼻等不同的器官,根据这些器官检测到周围各种信息,比如图像、声音、味道、温度等,再根据这些不同来源的信息综合起来做出判断,这叫多模态特征的融合;物理学家利用他丰富的物理学知识去教一个人学化学原理,这叫多模态学习。而多模态机器学习就是研究这些的。

多模态机器学习的研究点

多模态机器学习广泛应用于视频理解(比如UGC短视频打标),机器翻译,情感分析,图片搜索和内容推荐等领域,而这些领域所侧重的研究点又各有不同,这里一一做个简单介绍。

多模态特征学习Representation

普通做图像深度学习,只考虑单个图像的特征,只需要学习图像中例如纹理,形状这种特征,只需要考虑学习到的这类特征的表达能力好就可以了。而多模态的深度学习需要考虑到不同modal信息的特征一起学习出来为任务目标服务,他们是要考虑相互的影响的,要学习到的各模态特征之间有更多互补性,剔除模态间的冗余性,要处理不同modal中带的不同大小的噪音,缺失值怎么处理。

多模态特征学习是多模态机器学习的基础问题。

多模态特征学习主要的研究方向有联合表示(Joint Representations)协同表示(Coordinated Representations)

 

如上图所示,联合表示的方法(上图左边),是把多个独立modal得到的特征映射到一个统一的特征空间;而协同表示的方法是各个modal各自映射自己的特征到两个相关的特征空间

多模态的转换Translation

把一种模态的信息映射为另一种模态,这叫模态的转换。比如,机器翻译中把汉语映射为英语,图片描述(Image Captioning) 或者视频描述(Video Captioning)把图片和视频信息生成一段描述语句。对于海量短视频打标签这种问题来说,会遇到一个问题就是评价的主观性

不同模态转换的方法大致可以分为两类,**基于样本(Example based)的和生成式(Generative)**的。

 

如上图所示,左边是基于样本的,首先用许多样本构建一个从Source modal到Target modal的转移字典,然后在转换的时候,根据这个事先构建的字典做模态转换。而右边的是生成式的转移方法,它利用转移字典训练一个转移模型,然后用这个转移模型去做Source modal到Target modal的状态转移。

多模态特征的对齐Alignment

不同模态特征之间可能有某些对应关系,比如视频的某一帧和它的声音的切片之间的对应关系,在做多模态机器学习的时候,一个很重要的步骤是将不同模态特征做对齐(当然,有的时候也不需要对齐或者不同模态特征已经对齐了)。多模态对齐方法主要分为显示对齐和隐式对齐两种,具体分类可见下表:

 

多模态特征的融合Fusion

多模态特征融合是多模态机器学习最初开始研究的主题,现在也是研究的主要热点。它主要是集成多模态的特征,来输出一个预测结果(这个结果在分类问题中是类别,在回归问题中是一个连续值)。多模态特征融合按照融合发生的阶段是离原始信息近还是离多模态特征近可以分为早期融合(Early Fusion),晚期融合(Late Fusion)和混合式融合(Hybrid Fusion)。现在主要是做混合式的了,后面抽空我会再写一篇CV领域做混合式融合的方法CentralNet(示例如下图),这个文章比较有代表性。

 

协同学习Co-learning

协同学习是最后一个要介绍的模块。协同学习就是用一个资源丰富模态下的模型去帮助资源不丰富模态下模型的学习。这样说可能比较抽象,但是多模态协同学习还是经常用到的,比如CV训练模型很多都是把ImageNet这个资源丰富的模态下训练的模型的权值拿到新的模型上复用,然后用资源不丰富的样本做fine-tune,这种迁移学习(Transfer Learning),也属于协同学习的一类。

 

另外,在多模态问题中,以有限带标签样本来生成更多带标签训练样本的协同训练(Co-training)问题,也是协同学习的一类。

如上图是协同训练比较经典的文章《Combining labeled and unlabeled data with co-training》(T. Mitchell也是机器学习的泰斗)。这里简单介绍一下协同训练:

 

比如我们要做图片猫狗分类任务,已经有一批已经标注了的猫狗图片集L,和一批未标注的图片集U。我们可以训练两个分类器,比如SVM和Baysian分类器,分别命名为h1和h2(这里取SVM和Baysian分类器是因为这两个分类器原理很不一样,希望可以抓住图片的不同方面的特征,后面还要投票)。分别用h1,h2为U集合打标签,然后分析他们各自打的标签,如果对U里面同一个样本u打了一样的标签,那么可以把这个标签和u样本绑定,加入到L集合中,如果不一样,那么还是放回到U集合中;然后L扩大了,进行下一轮,再训练两个分类器h1,h2,再对U里面的样本进行打标,如此迭代,直到U为空。

总结

多模态机器学习肯定是未来发展的方向,为了追求更高的预测性能,单单依赖于一种模态提供的信息来做决策肯定是不可靠的,多模态机器学习,CV、Speech和NLP的融合肯定会有很大的未来。

参考资料

  • Multimodal Machine Learning: A Survey and Taxonomy
  • Multimodal_learning wiki
  • Multimodal Deep Learning
  • Combining labeled and unlabeled data with co-training
  • 爱奇艺短视频分类技术解析
  • PRCV2018 美图短视频实时分类挑战赛第一名解决方案介绍

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/11957.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第2关:ZooKeeper配置

配置项介绍 基础配置 tickTime:Client和Server通信心跳数。 Zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每隔tickTime的时间就会发送一个心跳。tickTime以毫秒为单位。 initLimit:LF初始通信时限。 集群中的followe…

muduo库的高性能日志库(二)——LogStream文件

目录概述FixBuffer类(模板缓冲区)LogStream类LogStream.hLogStream.cc十进制整数转化为字符串地址(指针)数据转换为16进制字符串浮点类型数据转化为字符串Fmt类C单元测试框架(简略)什么是单元测试常用测试工…

用了CDN就一定比不用更快吗?

对于开发同学来说,CDN这个词,既熟悉又陌生。 平时搞开发的时候很少需要碰这个,但却总能听到别人提起。 我们都听说过它能加速,也大概知道个原因,但是往深了问。 用了CDN就一定比不用更快吗? 就感觉有些…

C++ Reference: Standard C++ Library reference: Containers: deque: deque: cbegin

C官网参考链接&#xff1a;https://cplusplus.com/reference/deque/deque/cbegin/ 公有成员函数 <deque> std::deque::cbegin const_iterator cbegin() const noexcept;返回指向开始的常量迭代器 返回指向容器第一个元素的const_iterator。 const_iterator是指向const内…

大一新生HTML期末作业,实现登录页面

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

js+贝塞尔曲线+animate动画

文章目录一 介绍二 示例1阶贝塞尔曲线2阶贝塞尔曲线3阶贝塞尔曲线:4/n阶贝塞尔曲线三 封装和使用bezier.jsApp.jsxApp.scss一 介绍 贝塞尔曲线(Bzier curve)&#xff0c;又称贝兹曲线或贝济埃曲线&#xff0c;是应用于二维图形应用程序的数学曲线。 下面是我们最常用到bezier曲…

【7-创建商城系统的子模块并将修改后的信息使用Git提交到Gitee上】

一.知识回顾 【0.三高商城系统的专题专栏都帮你整理好了&#xff0c;请点击这里&#xff01;】 【1-系统架构演进过程】 【2-微服务系统架构需求】 【3-高性能、高并发、高可用的三高商城系统项目介绍】 【4-Linux云服务器上安装Docker】 【5-Docker安装部署MySQL和Redis服务】…

测试.net开源敏感词检测库ToolGood.Words

微信公众号“DotNet”看到介绍.net开源敏感词检测库ToolGood.Words的文章《.NET Core一款高性能敏感词检测开源库》&#xff0c;根据参考文献2中的测试&#xff0c;该库的检测效率比C#自带的正则效率高8.8倍&#xff0c;如果数量量越大性能优势越明显。   ToolGood.Words的Gi…

英文Paper写作如何尽量避免抄袭?

说到英文Paper的写作&#xff0c;我们就不得不提到reference&#xff0c;中文称之为引用。在国外&#xff0c;合理正确的利用reference非常重要&#xff0c;国外对于知识产权的保护很严格&#xff0c;对于抄袭行为也是不能容忍的。学术表现差或是学术不诚实问题是造成学生被开除…

4.构造类型,类型转换

构造类型 由若干各个相同或不同类型的数据构成的集合&#xff0c;这种集合类型被称为构造类型 例&#xff1a;int a[10]; 数组、结构体、共用体、枚举 类型转换 数据有不同的类型&#xff0c;不同类型数据之间进行混合运算时必然涉及到类型转换的问题。 转换的方式有两种&am…

使用verdaccio搭建私有组件库

前言 最近公司需要根据现有的公用组件搭建一套私有组件库&#xff0c;方便其他项目使用&#xff0c;然后经过一系列尝试和走了许多坑&#xff0c;终于搭建成功了&#xff0c;这里记录下搭建步骤&#xff0c;希望对你有些帮助。 为什么选择verdaccio 由于公司组件库越来越多&…

ZZNUOJ_Java软件的下载安装和写代码

ZZNUOJ_Java软件的下载安装和写代码一、Java软件myeclipse图标二、下载安装的步骤三、使用myeclipse软件1、创建项目名和类名的步骤2、写代码和运行结果一、Java软件 myeclipse图标 二、下载安装的步骤 第一步骤&#xff1a;下载myeclipse&#xff1a;myeclipse 第二步骤&…

怎么把旧电脑的用户配置文件迁移到新电脑

您购买了一台新笔记本电脑&#xff0c;但不想花大量时间重新下载、编辑、备份旧电脑上的所有文件&#xff0c;也不想重新安装常用的软件&#xff0c;更不想重新配置电脑账户&#xff0c;那么&#xff0c;应该怎么把旧电脑的用户配置文件迁移到新电脑&#xff1f; 一、如何迁移用…

[附源码]java毕业设计基于疫情防控物流管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

BDP 581/591 azide,Bodipy581/591标记叠氮,2183473-20-1

产品名称&#xff1a;Bodipy581/591标记叠氮 英文名称&#xff1a;BDP 581/591 azide CAS&#xff1a;2183473-20-1 BDP 581/591是一种相对疏水的明亮且多用途的荧光团。 结构式&#xff1a; General properties Appearance: dark solid Molecular weight: 474.31 分子式…

中台深入剖析和实现技巧

什么是中台 中台发展史 无共享架构-大烟囱架构 共享架构模式 IaaS架构 PaaS架构 SaaS架构 中台架构 中台定义 中台就是“企业级的能力复用平台”-Thoughtworks 首席咨询师王健 中台是将系统的通用化能力进行打包整合&#xff0c;通过接口的形式赋能到外部系统&#xff0c;从…

jsp教育培训系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 教育培训系统 是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为Mysql&#xff0c;使用jav…

[附源码]java毕业设计教务系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

计算机网络:IEEE 802.11无线局域网

文章目录1.无线局域网的组成(1)有固定基础设施无线局域网(2)无固定基础设施移动自组织网络2.802.11局域网的MAC帧1.无线局域网的组成 无线局域网可分为两大类:有固定基础设施的无线局域网和无固定基础设施的移动自组织网络。所谓“固定基础设施”&#xff0c;是指预先建立的、…

[附源码]java毕业设计基于智能推荐的房屋租赁系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…