第 1 章 多模态技术概述 1
1.1 多模态技术简介 1
1.1.1 什么是多模态 1
1.1.2 多模态技术的发展历史 2
1.1.3 多模态技术的应用场景 3
1.2 多模态数据类型 4
1.2.1 常见的多模态类型 4
1.2.2 图像数据 4
1.2.3 文本数据 5
1.2.4 音频数据 5
1.2.5 视频数据 6
1.3 多模态技术的基本原理 6
1.3.1 数据融合与对齐 6
1.3.2 多模态表示学习 7
1.3.3 多模态推理 8
第 2 章 多模态模型与框架 10
2.1 常用的深度学习框架 10
2.1.1 Tensor Flow 10
2.1.2 PyTorch 11
2.1.3 Keras 11
2.1.4 Transformer 12
2.2 多模态模型技术 13
2.2.1 ViLBERT 模型 13
2.2.2 VisualBERT 模型 14
2.2.3 OpenAI CLIP 模型 15
2.2.4 UNITER 模型 16
2.2.5 LXMERT 模型 17
2.2.6 SigLIP 模型 18
2.2.7 LoRA 微调技术 18
2.2.8 LLaVA 模型 18
2.3 预训练模型 19
2.3.1 预训练模型简介 19
2.3.2 使用预训练模型 20
2.3.3 预训练模型的微调 24
第 3 章 多模态数据处理 28
3.1 数据预处理 28
3.1.1 文本预处理 28
3.1.2 图像预处理 39
3.1.3 音频预处理 43
3.1.4 视频预处理 50
3.2 数据增强 51
3.2.1 文本数据增强 51
3.2.2 图像数据增强 54
3.2.3 音频数据增强 55
3.2.4 视频数据增强 57
3.3 特征提取 59
3.3.1 特征在大模型中的关键作用 60
3.3.2 文本特征提取 60
3.3.3 图像特征提取 64
3.3.4 音频特征提取 67
3.3.5 视频特征提取 68
第 4 章 多模态表示学习 71
4.1 多模态表示学习介绍 71
4.1.1 多模态表示学习简介 71
4.1.2 多模态表示学习的主要方法 71
4.2 多模态表示学习方法 72
4.2.1 表示融合 72
4.2.2 联合学习 76
4.2.3 表示对齐 79
4.2.4 模态间关系建模 83
4.3 基于 S3D MIL-NCE 的多模态文本到视频检索 86
4.3.1 项目介绍 86
4.3.2 准备工作 87
4.3.3 视频加载和可视化 87
4.3.4 加载视频并定义文本查询 89
4.3.5 预处理视频和查询 90
4.3.6 展示结果 90
第 5 章 多模态嵌入模式 92
5.1 多模态嵌入基础 92
5.1.1 多模态嵌入介绍 92
5.1.2 多模态嵌入的应用 92
5.2 图像嵌入 93
5.2.1 图像嵌入介绍 93
5.2.2 图像特征提取 94
5.2.3 模态对齐 97
5.2.4 CLIP 模型 100
5.3 文本嵌入 101
5.3.1 多模态模型中的文本嵌入 101
5.3.2 基于 CLIP 模型的文本嵌入 103
5.4 音频嵌入 105
5.4.1 音频特征提取 105
5.4.2 常用音频嵌入模型 107
5.5 多模态图像搜索引擎 109
5.5.1 项目介绍 109
5.5.2 CLIP 模型的配置参数 110
5.5.3 数据集处理 111
5.5.4 实现 Bangla CLIP 模型 115
5.5.5 基于文本的图像搜索 117
5.5.6 基于 Streamlit 的 Web客户端 118
第 6 章 多模态大模型的训练 121
6.1 模型训练的过程 121
6.2 训练策略 122
6.2.1 预训练与微调 122
6.2.2 多任务学习 125
6.2.3 全量微调 127
6.2.4 对比学习 129
6.2.5 参数高效微调 131
6.2.6 迁移学习 133
6.2.7 人类反馈强化学习 135
6.2.8 动态学习率调整 137
6.2.9 SFT 微调 138
6.3 CLIP 模型训练与微调 141
6.3.1 项目介绍 141
6.3.2 创建文本和图像配对数据集 142
6.3.3 构建多模态模型 145
6.3.4 训练模型 161
6.3.5 模型微调 162
6.3.6 调试运 162
第 7 章 多模态大模型的评估与验证 164
7.1 模型评估 164
7.1.1 模型评估的必要性 164
7.1.2 评估指标 165
7.1.3 单模态性能评估 168
7.1.4 多模态融合性能评估 170
7.1.5 效率与资源使用 171
7.1.6 定性评估和复杂场景评估 172
7.1.7 语音命令识别系统 173
7.2 模型验证 183
7.2.1 模型验证的必要性 183
7.2.2 数据准备和分割 184
7.2.3 交叉验证 185
7.2.4 嵌套交叉验证 188
7.2.5 模态间一致性验证 189
7.2.6 模型鲁棒性验证 190
7.2.7 验证指标 192
7.3 多模态大模型评估基准 195
7.3.1 MM-Vet 195
7.3.2 MMEvalPro 196
7.3.3 MMT-Bench 197
7.4 CLIP 模型的增强训练与评估 197
7.4.1 项目介绍 197
7.4.2 定义数据集 198
7.4.3 创建模型 201
7.4.4 分词器 207
7.4.5 损失函数 209
7.4.6 模型训练 210
7.4.7 模型评估 218
7.4.8 文本重写 221
第 8 章 基于多模态大模型的翻译系统 225
8.1 背景介绍 225
8.2 系统分析 225
8.2.1 系统需求分析 225
8.2.2 技术架构分析 226
8.2.3 项目介绍 226
8.3 准备数据集 227
8.3.1 Multi30k 数据集介绍 227
8.3.2 下载 Multi30k 数据集 227
8.3.3 下载 WIT 数据集中的图像数据 229
8.4 数据集处理 230
8.4.1 PyTorch 数据集类 230
8.4.2 数据处理和后处理 233
8.4.3 数据集填充 236
8.4.4 获取 Multi30k 数据集的数据 237
8.4.5 获取 WIT 数据集的数据 239
8.4.6 获取 WMT 数据集的文本数据 241
8.5 多模态大模型 243
8.5.1 功能函数 243
8.5.2 适配器模型 244
8.5.3 获取文本输入的嵌入表示 245
8.5.4 多模态模型类 246
8.5.5 多模态文本生成任务模型 247
8.5.6 分布式训练 248
8.5.7 模型训练和测试 250
8.5.8 主程序 253
第 9 章 基于多模态大模型的音视频广义零样本学习系统 256
9.1 背景介绍 256
9.2 系统分析 256
9.2.1 系统需求分析 256
9.2.2 功能分析 257
9.3 系统配置 258
9.3.1 命令行接口 258
9.3.2 数据集处理 260
9.3.3 辅助函数 267
9.4 特征提取 275
9.4.1 从 ActivityNet 数据集提取特征 275
9.4.2 从 UCF101 数据集提取特征 278
9.4.3 从 VGGSound 数据集提取特征 280
9.5 多模态模型 283
9.5.1 多模态数据学习模型 283
9.5.2 性能评估指标 289
9.5.3 模型优化器 295
9.5.4 模型训练和验证 296
9.5.5 模型的评估 300
9.5.6 主文件 302
9.6 调试运行 307
第 10 章 基于 Diffusion Transformer 的文生图系统 310
10.1 Diffusion Transformer 介绍 310
10.1.1 Diffusion Transformer 的特点 310
10.1.2 Stable Diffusion 和 DiffusionTransformer 的区别和联系 310
10.2 项目介绍 311
10.3 准备预训练模型 312
10.4 扩散模型核心模块 313
10.4.1 计算高斯分布概率 313
10.4.2 实现扩散模型 314
10.4.3 模型扩展 328
10.4.4 采样器调度 330
10.5 训练模型 333
10.5.1 定义不同配置的 DiT模型 333
10.5.2 最小训练脚本 341
10.5.3 实现 DiT 模型 343
10.5.4 DiT 模型的标准训练 344
10.5.5 DiT 模型的全精度训练 347
10.5.6 DiT 模型的特征预训练 352
10.5.7 DiT 模型的特原始训练 352
10.5.8 DiT 模型的禁用 TF32 模式训练 352
10.6 生成图像 353
10.6.1 预训练生成 353
10.6.2 基于 DDP 的图像生成 354
10.7 调试运行 357