jjzjj

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

a839766550 2023-12-19 原文

引言

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

参考资料

有关海量短视频打标问题之多模态机器学习的更多相关文章

  1. ruby - 在 64 位 Snow Leopard 上使用 rvm、postgres 9.0、ruby 1.9.2-p136 安装 pg gem 时出现问题 - 2

    我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po

  2. ruby - 通过 rvm 升级 ruby​​gems 的问题 - 2

    尝试通过RVM将RubyGems升级到版本1.8.10并出现此错误:$rvmrubygemslatestRemovingoldRubygemsfiles...Installingrubygems-1.8.10forruby-1.9.2-p180...ERROR:Errorrunning'GEM_PATH="/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/ruby-1.9.2-p180@global:/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/rub

  3. ruby - 通过 RVM (OSX Mountain Lion) 安装 Ruby 2.0.0-p247 时遇到问题 - 2

    我的最终目标是安装当前版本的RubyonRails。我在OSXMountainLion上运行。到目前为止,这是我的过程:已安装的RVM$\curl-Lhttps://get.rvm.io|bash-sstable检查已知(我假设已批准)安装$rvmlistknown我看到当前的稳定版本可用[ruby-]2.0.0[-p247]输入命令安装$rvminstall2.0.0-p247注意:我也试过这些安装命令$rvminstallruby-2.0.0-p247$rvminstallruby=2.0.0-p247我很快就无处可去了。结果:$rvminstall2.0.0-p247Search

  4. ruby - Fast-stemmer 安装问题 - 2

    由于fast-stemmer的问题,我很难安装我想要的任何ruby​​gem。我把我得到的错误放在下面。Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingfast-stemmer:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcreatingMakefilemake"DESTDIR="cleanmake"DESTDIR=

  5. ruby - 安装 Ruby 时遇到问题(无法下载资源 "readline--patch") - 2

    当我尝试安装Ruby时遇到此错误。我试过查看this和this但无济于事➜~brewinstallrubyWarning:YouareusingOSX10.12.Wedonotprovidesupportforthispre-releaseversion.Youmayencounterbuildfailuresorotherbreakages.Pleasecreatepull-requestsinsteadoffilingissues.==>Installingdependenciesforruby:readline,libyaml,makedepend==>Installingrub

  6. ruby - 在 Windows 机器上使用 Ruby 进行开发是否会适得其反? - 2

    这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby​​-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub

  7. java - 从 JRuby 调用 Java 类的问题 - 2

    我正在尝试使用boilerpipe来自JRuby。我看过guide从JRuby调用Java,并成功地将它与另一个Java包一起使用,但无法弄清楚为什么同样的东西不能用于boilerpipe。我正在尝试基本上从JRuby中执行与此Java等效的操作:URLurl=newURL("http://www.example.com/some-location/index.html");Stringtext=ArticleExtractor.INSTANCE.getText(url);在JRuby中试过这个:require'java'url=java.net.URL.new("http://www

  8. ruby-on-rails - 简单的 Ruby on Rails 问题——如何将评论附加到用户和文章? - 2

    我意识到这可能是一个非常基本的问题,但我现在已经花了几天时间回过头来解决这个问题,但出于某种原因,Google就是没有帮助我。(我认为部分问题在于我是一个初学者,我不知道该问什么......)我也看过O'Reilly的RubyCookbook和RailsAPI,但我仍然停留在这个问题上.我找到了一些关于多态关系的信息,但它似乎不是我需要的(尽管如果我错了请告诉我)。我正在尝试调整MichaelHartl'stutorial创建一个包含用户、文章和评论的博客应用程序(不使用脚手架)。我希望评论既属于用户又属于文章。我的主要问题是:我不知道如何将当前文章的ID放入评论Controller。

  9. 【高数】用拉格朗日中值定理解决极限问题 - 2

    首先回顾一下拉格朗日定理的内容:函数f(x)是在闭区间[a,b]上连续、开区间(a,b)上可导的函数,那么至少存在一个,使得:通过这个表达式我们可以知道,f(x)是函数的主体,a和b可以看作是主体函数f(x)中所取的两个值。那么可以有,  也就意味着我们可以用来替换 这种替换可以用在求某些多项式差的极限中。方法: 外层函数f(x)是一致的,并且h(x)和g(x)是等价无穷小。此时,利用拉格朗日定理,将原式替换为 ,再进行求解,往往会省去复合函数求极限的很多麻烦。使用要注意:1.要先找到主体函数f(x),即外层函数必须相同。2.f(x)找到后,复合部分是等价无穷小。3.要满足作差的形式。如果是加

  10. LC滤波器设计学习笔记(一)滤波电路入门 - 2

    目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称

随机推荐