传统的单模态数据方法往往会忽略跨模态关系中的重要洞察。多模态分析将多种数据源(例如文本、图像、音频以及更多类似数据)整合在一起,从而提供更全面的问题视图。这种多模态数据分析称为多模态数据分析,它通过提供对当前问题的更全面理解,同时帮助揭示跨模态数据的复杂关系,从而提高预测准确性。
由于多模态机器学习日益普及,为了提高准确性,我们必须同时分析结构化数据和非结构化数据。本文将探讨什么是多模态数据分析以及多模态分析的重要概念和工作流程。
理解多模态数据
多模态数据是指结合了来自两个或多个不同来源或模态的信息的数据。这可以是文本、图像、声音、视频、数字和传感器数据的组合。例如,社交媒体上的一篇帖子可能是文本和图像的组合,或者一份包含临床医生笔记、X光片和生命体征测量数据的医疗记录,都属于多模态数据。
多模态数据分析需要专门的方法,能够隐式地模拟不同类型数据之间的相互依赖关系。现代人工智能系统的关键在于分析融合方法,这种方法比基于单模态的方法拥有更丰富的理解和预测能力。这对于自动驾驶、医疗诊断、推荐系统等尤为重要。
什么是多模态数据分析?
多模态数据分析是一套用于探索和解读数据集(包含多种表示形式)的分析方法和技术。它本质上是指使用特定的分析方法处理不同类型的数据,例如文本、图像、音频、视频和数值数据,以发现并揭示模态之间隐藏的模式或关系。与单独分析不同类型的数据源相比,这种方法能够更全面地理解数据或提供更准确的描述。
其主要难点在于设计能够高效融合和整合多种模态信息的技术。分析师必须处理各种类型的数据、结构、尺度和格式,以揭示数据中的含义,并识别整个业务中的模式和关系。近年来,机器学习技术(尤其是深度学习模型)的进步,彻底改变了多模态分析的能力。注意力机制和Transformer模型等方法可以学习详细的跨模态关系。
数据预处理与表征
为了有效地分析多模态数据,首先应将数据转换为兼容且保留关键信息,同时又能跨模态进行比较的数值表征。这一预处理步骤对于良好地融合和分析异构数据源至关重要。
特征提取
特征提取是将原始数据转换为一组有意义的特征。这些特征可以被机器学习和深度学习模型有效利用。其目的是从数据中提取和识别最重要的特征或模式,从而简化模型的任务。一些最广泛使用的特征提取方法包括:
- 文本:将单词转换为数字(即向量)。如果单词数量较少,可以使用 TF-IDF 算法;如果要捕捉语义关系,可以使用 BERT 或 openai 等嵌入算法。
- 图像:可以使用预训练的 CNN 网络(例如 ResNet 或 VGG 激活函数)来实现。这些算法可以捕捉从图像低级边缘到高级语义概念的层级模式。
- 音频:借助频谱图或梅尔倒谱系数 (MFCC) 计算音频信号。这些变换将音频信号的时间域从时域转换到频域,有助于突出最重要的部分。
- 时间序列:使用傅里叶变换或波长变换将时间信号转换为频率分量,有助于揭示序列数据中的模式、周期性和时间关系。
每种模态都有其自身的固有特性,因此需要针对特定模态的技术来应对其特定特征。文本处理包括标记和语义嵌入,而图像分析则使用卷积来查找视觉模式。频域表示由音频信号生成,时间信息经过数学重新解释,以揭示轨迹模式和周期。
表征模型
表征模型有助于创建将多模态信息编码为数学结构的框架,从而实现跨模态分析并进一步深入理解数据。这可以通过以下方式实现:
- 共享嵌入:在一个表征空间中为所有模态创建一个共同的潜在空间。借助这种方法,我们可以在同一向量空间中直接比较和组合不同类型的数据。
- 典型分析:典型分析有助于识别跨模态相关性最高的线性投影。这种统计检验可以识别出各种数据类型之间最佳相关的维度,从而实现跨模态理解。
- 基于图的方法:将每种模态表示为图结构,并学习保持相似性的嵌入。这些方法可以表示复杂的关系模式,并允许基于网络分析多模态关系。
- 扩散图:多视角扩散结合固有几何结构和交叉关系,实现跨模态数据降维,在保留局部邻域结构的同时,实现高维多模态数据的降维。
这些模型构建了统一的结构,可以在其中比较不同类型的数据并进行有意义的组合。其目标是在不同的模态之间建立语义等价关系,使系统能够理解狗的图像、“狗”这个词和吠叫声都指的是同一个事物,尽管形式不同。
融合技术
在本节中,我们将深入探讨融合多模态数据的主要方法。探索早期、晚期和中期融合策略及其在不同分析场景中的最佳用例。
1. 早期融合策略
早期融合在处理开始之前,将来自不同来源和不同类型的所有数据在特征级别组合在一起。这使得算法能够自然地发现不同模态之间隐藏的复杂关系。
这些算法尤其擅长于模态间共享共同模式和关系的情况。这有助于将来自不同来源的特征连接成组合的表示。为了正常运行,此方法需要谨慎地将数据处理成不同的数据规模和格式。
2. 后期融合方法
后期融合与早期融合正好相反,它不是将所有数据源合并在一起,而是独立处理所有模态,然后在模型做出决策之前将它们合并。因此,最终的预测结果来自各个模态的输出。
当模态提供关于目标变量的附加信息时,这些算法效果良好。因此,我们可以利用现有的单模态模型,而无需对架构进行重大改动。这种方法在测试阶段灵活地处理缺失的模态值。
3. 中期融合方法
中期融合策略根据预测任务,在不同处理层面上组合模态。这些算法平衡了早期和后期融合算法的优势。因此,模型可以有效地学习单个模态和跨模态的交互作用。
这些算法擅长适应特定的分析需求和数据特征。它们非常擅长优化基于融合的指标和计算约束,这种灵活性使其非常适合解决复杂的实际应用。
端到端工作流程示例
在本节中,我们将演示一个示例 SQL 工作流程,该工作流程构建了一个多模态检索系统,并尝试在 BigQuery 中执行语义搜索。因此,我们假设多模态数据仅包含文本和图像。
步骤 1:创建对象表
首先,定义一个外部“Object table:- images_obj”,用于引用云存储中的非结构化文件。这使得 BigQuery 能够通过 ObjectRef 列将文件视为可查询数据。
CREATE OR REPLACE EXTERNAL TABLE dataset.images_obj WITH CONNECTION `project.region.myconn` OPTIONS ( object_metadata = 'SIMPLE', uris = ['gs://bucket/images/*'] );
这里,表 image_obj 自动获得一个 ref 列,将每一行链接到一个 GCS 对象。这使得 BigQuery 能够管理结构化数据的同时,也管理图像和音频文件等非结构化文件。同时保留元数据和访问控制。
步骤 2:结构化表中的引用
这里,我们将结构化行与 ObjectRef 结合起来,以实现多模态集成。因此,我们通过生成属性并生成一个 ObjectRef 结构体数组作为 image_refs 来对对象表进行分组。
CREATE OR REPLACE TABLE dataset.products AS SELECT id, name, price, ARRAY_AGG( STRUCT(uri, version, authorizer, details) ) AS image_refs FROM images_obj GROUP BY id, name, price;
此步骤将创建一个包含结构化字段以及链接图像引用的产品表,从而支持在一行中实现多模态嵌入。
步骤 3:生成嵌入
现在,我们将使用 BigQuery 在共享语义空间中生成文本和图像嵌入。
CREATE TABLE dataset.product_embeds AS SELECT id, ML.GENERATE_EMBEDDING( MODEL `project.region.multimodal_embedding_model`, TABLE ( SELECT name AS uri, 'text/plain' AS content_type ) ).ml_generate_embedding_result AS text_emb, ML.GENERATE_EMBEDDING( MODEL `project.region.multimodal_embedding_model`, TABLE ( SELECT image_refs[OFFSET(0)].uri AS uri, 'image/jpeg' AS content_type FROM dataset.products ) ).ml_generate_embedding_result AS img_emb FROM dataset.products;
在这里,我们将为每个产品生成两个嵌入。一个来自相应的产品名称,另一个来自第一张图片。两者都使用相同的多模态嵌入模型,以确保两个嵌入共享相同的嵌入空间。这有助于对齐嵌入,并实现无缝的跨模态相似性。
步骤 4:语义检索
现在,一旦我们获得了跨模态嵌入,使用语义相似性查询它们将得到匹配的文本和图像查询。
SELECT id, name FROM dataset.product_embeds WHERE VECTOR_SEARCH( ml_generate_embedding_result, (SELECT ml_generate_embedding_result FROM ML.GENERATE_EMBEDDING( MODEL `project.region.multimodal_embedding_model`, TABLE ( SELECT "eco‑friendly mug" AS uri, 'text/plain' AS content_type ) ) ), top_k => 10 ) ORDER BY COSINE_SIM(img_emb, (SELECT ml_generate_embedding_result FROM ML.GENERATE_EMBEDDING( MODEL `project.region.multimodal_embedding_model`, TABLE ( SELECT "gs://user/query.jpg" AS uri, 'image/jpeg' AS content_type ) ) ) ) DESC;
此 SQL 查询执行两阶段搜索。首先进行基于文本到文本的语义搜索以筛选候选结果,然后根据产品、图像与查询之间的图像相似度对候选结果进行排序。这有助于提升搜索能力,让您只需输入短语和图像,即可检索语义匹配的产品。
多模态数据分析的优势
多模态数据分析通过将多种数据类型集成到统一的分析结构中,正在改变组织从各种可用数据中获取价值的方式。这种方法的价值在于融合了不同模态的优势,如果单独考虑,其提供的洞察效果将不如现有的标准多模态分析方法:
更深入的洞察:多模态集成揭示了单模态分析所遗漏的复杂关系和相互作用。通过同时探索不同数据类型(文本、图像、音频和数值数据)之间的相关性,它可以识别隐藏的模式和依赖关系,并对所探索的现象形成更深刻的理解。
性能提升:多模态模型比单模态方法具有更高的准确性。这种冗余构建了强大的分析系统,即使一个或多个模型的数据中存在一些噪声,例如缺失条目和不完整条目,也能生成相似且准确的结果。
更快的洞察获取速度:SQL 融合功能提高了原型设计和分析工作流的效率和速度,因为它们支持通过快速访问快速可用的数据源来提供洞察。这种类型的活动为智能自动化和用户体验带来了各种新的机会。
可扩展性:它利用原生云功能支持 SQL 和 Python 框架,使流程能够最大限度地减少重现问题,同时加快部署方法。该方法明确表明,即使级别提高,分析解决方案也可以适当扩展。
小结
多模态数据分析展现了革命性的方法,它能够利用多种信息源,获得无与伦比的洞察。企业正在采用这些方法,通过全面理解单模态方法无法捕捉的复杂关系,获得显著的竞争优势。
然而,成功需要战略投资、合适的基础设施以及强大的治理框架。随着自动化工具和云平台的不断普及,早期采用者可以在数据驱动型经济领域获得持久的优势。多模态分析正迅速成为成功处理复杂数据的关键。
评论留言