2、多模态基础:文本、图像、音频、视频等模态的表示方法、数据特点与预处理技术

多模态大模型的核心挑战在于如何让模型理解并关联来自不同传感器或数据源的信息。文本、图像、音频、视频在物理属性、采样方式、信息密度和语义粒度上存在本质差异,因此需要为每种模态设计合适的数值表示,并针对其噪声特性进行预处理。本章将系统梳理四种主要模态的表示方法、数据特点与预处理技术,为后续的模型架构设计和融合策略奠定数据基础。

多模态数据表示与预处理全景图 文本 Text 离散符号序列 Embedding 图像 Image 像素矩阵 (H×W×C) Patch Embedding 音频 Audio 波形 → 频谱图 Mel Spectrogram 视频 Video 帧序列 + 光流 3D / 时空 Patch 统一特征空间 维度对齐 · 归一化 · 掩码 文本预处理 分词 / BPE / 词表截断 特殊 / 截断填充 数据清洗 / 去重 图像预处理 Resize / 中心裁剪 归一化 / 数据增强 Patch化 / 位置编码 音频预处理 重采样 / 预加重 分帧加窗 / FFT Mel滤波 / 对数压缩 视频预处理 抽帧 / 采样率控制 光流计算 / 帧差 时空Patch / 掩码 多模态对齐的关键:统一维度、统一采样、统一归一化策略

2.1 文本模态:离散符号的稠密化表示

核心原理

文本是离散符号序列,其表示经历了从独热编码(One-hot)到静态词向量(Word2Vec、GloVe),再到上下文相关的动态表示(BERT、系列)的演进。当前主流多模态大模型采用子词(Subword)分词技术(如BPE、WordPiece、SentencePiece),将文本切分为有限词表大小的序列,再通过嵌入层(Embedding Layer)映射为稠密向量。每个对应一个高维向量(通常768~4096维),序列长度通常控制在512~2048个。

表示方法维度上下文感知典型应用
One-hot词表大小(数万)否传统统计模型
Word2Vec / GloVe100~300否传统深度模型
ELMo1024双向LSTM早期预训练
BERT / 768~4096Transformer多模态大模型基础

预处理流程

  1. 文本清洗:去除HTML标签、特殊符号、控制字符,统一Unicode编码,处理表情符号(保留或替换为特殊)。
  2. 分词:使用与预训练模型一致的分词器(如的BPE、LLaMA的SentencePiece),确保词表一致。
  3. 截断与填充:固定序列长度(如512),超长截断,不足填充[PAD] ,并生成Attention Mask。
  4. 特殊注入:添加[CLS]、[SEP]、[IMG]、[AUD]等跨模态标记,用于区分不同模态输入。
经验提醒:在多模态模型中,文本分词器必须与单模态预训练时保持一致,否则嵌入层无法加载预训练权重。若需扩展词表(如新增领域术语),需对新增的嵌入进行随机初始化并微调。

2.2 图像模态:像素矩阵到Patch序列

核心原理

图像以像素矩阵(H×W×C)存储,C通常为3(RGB)或1(灰度)。传统CNN通过卷积核提取局部特征,而ViT(Vision Transformer)将图像划分为固定大小的Patch(如16×16像素),每个Patch展平后经线性投影得到Patch Embedding,并添加位置编码。多模态大模型(如LLaVA、Qwen-VL)通常采用ViT作为视觉编码器,输出视觉序列,与文本序列拼接后输入LLM。

数据特点与预处理

  • 分辨率与尺寸:原始图像尺寸不一,需Resize到固定尺寸(如224×224、336×336)。高分辨率图像可先切块再缩放,保留细节。
  • 归一化:像素值从[0,255]归一化到[0,1]或标准化到均值为0、方差为1(使用ImageNet统计量:mean=[0.485,0.456,0.406],std=[0.229,0.224,0.225])。
  • 数据增强:随机裁剪、水平翻转、颜色抖动、旋转等,增强模型泛化能力。注意:多模态任务中,图像增强不应破坏与文本描述的语义对应关系。
  • Patch化:将图像切分为N个Patch,N = (H/P)×(W/P),P为Patch大小。每个Patch展平后经线性层映射为D维向量。
案例拆解:在图文检索模型CLIP的训练中,图像编码器将224×224的输入图像切分为14×14=196个Patch(每个Patch 16×16),加上[CLS] 共197个视觉。预处理时,训练数据采用随机裁剪(RandomResizedCrop)以模拟不同视角,而推理时采用中心裁剪保持稳定。若图像长宽比差异过大,直接Resize会导致物体变形,需采用Padding或保持比例缩放。

2.3 音频模态:波形到频谱的时频变换

核心原理

音频本质是一维时间序列(采样率通常为16kHz或8kHz),直接输入原始波形需要极长的序列长度(1秒音频=16000个采样点),计算开销大。因此,主流做法是将波形转换为梅尔频谱图(Mel Spectrogram):先分帧(如25ms帧长、10ms帧移),加窗(Hamming窗)后做FFT得到功率谱,再通过Mel滤波器组(通常80~128个滤波器)压缩频率维度,最后取对数。梅尔频谱图可视为二维图像(时间×频率),从而复用图像处理技术。

预处理流程

  1. 重采样:统一采样率(如16kHz),避免不同来源音频采样率不一致。
  2. 预加重:使用一阶高通滤波器 y(t)=x(t)-αx(t-1)(α≈0.97),提升高频分量。
  3. 分帧加窗:帧长25ms、帧移10ms,加Hamming窗减少频谱泄漏。
  4. FFT与Mel滤波:对每帧做512点FFT,经Mel滤波器组压缩为80维。
  5. 对数压缩与归一化:取log(1+·)压缩动态范围,再按全局均值和方差归一化。
风险提示:音频预处理的参数(帧长、帧移、Mel通道数)必须与预训练模型完全一致。例如,Whisper模型使用16kHz采样率、80通道Mel频谱,若使用22kHz采样率或128通道,模型将无法正确编码。此外,音频长度变化大,需按固定时长(如30秒)截断或填充,并生成对应的长度掩码。

2.4 视频模态:时空维度的联合建模

核心原理

视频是图像序列(帧)与音频的复合体,额外引入时间维度。视频表示方法分为三类:2D帧采样(均匀抽帧后逐帧编码)、3D卷积(直接对视频立方体卷积)、时空Patch(将视频切分为3D Patch,如16×16×4,即空间16×16、时间4帧)。多模态大模型通常采用稀疏采样策略:从视频中均匀抽取N帧(如8帧或16帧),每帧经图像编码器提取特征,再通过时间Transformer建模帧间关系。

数据特点与预处理

维度挑战预处理策略
时间长度视频时长差异大(秒~小时)均匀抽帧(如每秒1帧)或分段采样
空间分辨率分辨率不统一(720p/1080p/4K)Resize到固定尺寸(如224×224)
帧间冗余相邻帧高度相似关键帧提取或帧差法
多模态同步音画不同步时间戳对齐,偏移校正

预处理流程

  • 抽帧:按固定帧率(如2fps)或均匀间隔抽取,避免运动信息丢失。
  • 光流计算:对于动作识别任务,可计算相邻帧的光流(如TV-L1算法),提供运动信息。
  • 时空Patch化:将视频切分为T×H×W的Patch序列,每个Patch包含时间维度和空间维度。
  • 掩码策略:在视频-语言预训练中,随机掩码部分帧或Patch,训练模型重建,增强时序理解。
实战场景:在视频问答任务中,输入为10秒视频(30fps,共300帧)。直接处理300帧计算量过大,通常均匀抽取16帧,每帧224×224,经ViT编码为16×196=3136个视觉。若视频包含音频,还需同步提取音频特征,并在时间维度上与视觉特征对齐。预处理时需记录每帧的时间戳,确保音频特征与视觉特征在时间轴上对应。

2.5 跨模态对齐与统一预处理策略

核心原理

多模态模型的核心难点在于将不同模态的表示映射到统一语义空间。常见策略包括:对比学习(如CLIP,拉近匹配图文对的距离)、交叉注意力(如Flamingo,在LLM层间插入视觉交叉注意力)、Q-Former(如BLIP-2,用可学习Query向量从视觉特征中提取信息)。无论哪种策略,预处理阶段都需要保证各模态的序列长度、特征维度、归一化方式协调一致。

统一预处理清单

  1. 维度对齐:视觉、音频、文本的嵌入维度必须一致(如4096),否则需加投影层。
  2. 序列长度控制:文本≤512 ,图像≤256 Patch,音频≤1500帧(约15秒),视频≤32帧。超长部分截断或降采样。
  3. 归一化一致性:各模态特征在输入LLM前需进行LayerNorm,避免数值范围差异过大。
  4. 掩码机制:为每个模态生成独立的Attention Mask,区分有效和填充。
常见误区:① 直接使用不同预训练模型的输出特征而不做对齐,导致语义空间不一致;② 图像增强过度(如强色彩抖动)导致与文本描述不匹配;③ 音频重采样时未使用抗混叠滤波器,引入高频噪声;④ 视频抽帧不均匀导致运动信息丢失。正确做法是:在预处理阶段就统一各模态的采样策略和归一化参数,并在训练初期冻结部分模态编码器,逐步解冻微调。

2.6 案例复盘:多模态对话系统的数据预处理管线

某智能客服系统需支持用户上传图片+语音提问,模型需理解图文音混合输入并生成回答。初始方案直接拼接各模态原始特征,效果不佳。经分析,问题出在预处理环节:语音采样率不统一(8kHz~48kHz),图像尺寸差异大,文本长度参差不齐。

优化后的预处理管线:

  • 音频:统一重采样至16kHz,提取80维Mel频谱,固定时长5秒(不足填充,超长截断),生成长度掩码。
  • 图像:Resize至336×336,归一化,切分为14×14 Patch,添加位置编码。
  • 文本:使用SentencePiece分词,截断至256 ,添加[IMG]和[AUD]标记。
  • 对齐:将视觉(196个)、音频(500个)、文本(256个)拼接,总长度952,经投影层统一为4096维。

结果对比:优化后,模型在图文音联合理解任务上的准确率从61.3%提升至78.5%,推理速度提升22%(因序列长度更紧凑)。复盘经验:预处理不是简单的数据清洗,而是模型性能的关键杠杆。每个模态的采样参数、归一化方式、序列长度都直接影响训练稳定性和最终效果。建议在项目初期就建立标准化的预处理流水线,并针对不同模态设计独立的验证集,确保预处理不会引入信息丢失或噪声。

总结复盘:多模态预处理的核心原则是“对齐”——维度对齐、时间对齐、语义对齐。文本需分词和截断,图像需Resize和Patch化,音频需分帧和Mel变换,视频需抽帧和时空建模。每种模态的预处理参数必须与预训练模型严格一致,跨模态拼接时需统一嵌入维度和归一化方式。建议使用现成的多模态数据处理库(如torchaudio、torchvision、transformers)并封装为可复用的Pipeline,便于调试和扩展。