查看原文
其他

分享回顾 | 多模态数据漫谈

Jina AI Jina AI 2022-12-19

Jina AI 机器学习工程师付杰应 DataFun 和新氦技术沙龙邀请,进行了多模态技术相关主题分享,本文为分享回顾。


没来得及观看直播的小伙伴,可点击下方小程序,查看完整回放:


【Show Notes】 

00:01     付杰及 Jina AI 简介

04:07     单模态、多模态数据的异同

10:00     学术界如何处理多模态数据 

10:05     多模态表征

17:15     多模态预训练

33:40     多模态数据在工业上的应用

38:43     Jina 在多模态场景下的应用

38:56     用 Jina 搭建视频搜索 demo

47:29     AI 生成艺术 Dalle Flow


关注 Jina AI 公众号,后台回复【多模态】,获取完整 PPT。


多模态数据的五大挑战

1. 表征:利用多模态的互补性和冗余性的特质,来表示和总结多模态数据
2. 翻译:从一种模式转换为另一种模式
3. 对齐:识别多种模态的要素(子要素)间的直接关系
4. 融合:将两个或多个模式的信息连接起来
5. 协同学习:在不同模态、表示、预测模型间进行知识迁移


如何让多模态的存储难题迎刃而解

        多重模态间具有一致性和互补性,在兼容性方面我们的 DocArray 可以提供支持。DocArray 能够将各类非结构化数据,统一成同一种数据结构。利用 Python API,开发者可以高效地处理、存储、传输、搜索及推荐数据。

    多模态和单模态训练的区别


    Q:多模态数据的预训练和单模态数据的预训练有什么不同,有什么值得注意的地方?

    A:最直观的区别是模态的不同,模态指的就是某种特定的模式状态。多模态训练数据里的文本和图像需要足够匹配,才能给模型提供有用的信息。只有这两者是对齐的,才能让模型学习到这种对齐。而对于单模态数据来说,只需要有标签就足够了,不需要有对齐的关系。
        同时在数据体量上,多模态要比单模态数据量大得多,对机器的要求更高。因此多模态数据里通常会涉及到分布式的训练,包括优化数据加载、读取、处理等,这都是非常考验工程能力的。所以在考虑是否采用多模态技术时,事先一定要考虑好这是否是一个真实的多模态场景,以及能带来的业务价值有多少。


    如何评判融合和对齐的好坏


    Q:在多模态数据处理中,如何评判融合和对齐的好坏,判断的依据是什么?

    A:目前还没有一个统一的标准,比较有效的方法是基于业务数据做评判。可以通过一些直观的方式方式,比如模型输出的 embedding 做可视化,观察 embedding 聚类结果是否在同一类。如果是想要校验结果的话,可以直接构建 matching 的任务计算相似度,依据能否 query 出期望的结果来检验。


    如何处理不完整模态的数据缺失


    Q:在多模态数据的训练中,如果有单模的数据缺少应该怎么进行处理?

    A:这个问题值得单拎出来说。一种方法是可以通过建立大小模型来“蒸馏”,让 teacher model 来联合训练 student model,把一个完整的单模态知识蒸馏进小模型里,让小模型去完成多模态的任务,以减少缺失的单模数据影响;
        另一种是用 VAE 来重构原始数据,这里除了满足 encoder 和 decoder 的输入输出基本一致外,还要满足产生的隐变量和隐表征是匹配的,以此来实现跨模态的相互生成。以上都是基于数据缺失不多的情况,对于 90% 以上训练数据都严重缺失的,那就需要重新考虑这个场景是否适合多模态了,最重要的还是要完善数据质量。

    Jina 如何确认搜索结果


    Q:使用 Jina 快速搭建视频搜索的案例中,Jina 如何确定搜索结果是用户想要的?

    A:Jina 本身不能够去判断用户想要什么,用户想要什么是由开发者自己说了算的。但 Jina 能够根据数据的分布给出合理的结果,在这个案例里,结果是由人工评判作为标准,而 Jina 会尽可能地去匹配到合适的数据进行结果推荐。 


    神经搜索、深度学习


    教程、Demo、干货分享


    扫码备注加入讨论组

    更多精彩内容(点击图片阅读)


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存