Commit 825aff67 by 赵润松

第五讲:完善图像部分内容与配图(按多轮评审意见)

- 结构:删去引言/本讲小结,仅保留 5.1/5.2/5.3 三部分(含学习目标)
- 语言:改为研究生教材口吻、软化绝对化表述、修正中文引号
- 5.1 表示学习:补充数据原始形式(像素/振幅/词表)、向量空间与相似度、卷积(公式)、token 概念,并强化文本表征(基准语义空间)
- 图示:新增/重画多张 TikZ 配图并对着图讲——三模态原始形式、向量空间、卷积、文本表示流程、三类融合(Emu/BLIP-2/LLaVA)、通用结构(含文本输入)、视觉语言模型及三种连接模块(线性投影/Q-Former/门控交叉注意力)、扩散去噪、图像编辑
- 代表工作与发展脉络梳理,参考文献改用 \cite/\bibitem 汇入全书参考资料,逐条核对并补齐(含 Emu 等)
- 逐图高分辨率核验无重叠;XeLaTeX 编译通过(28 页)
语音/音频小节保留 \todochen 占位待陈丹补充。
parent 6409ff87
......@@ -26,6 +26,8 @@
\usepackage{multirow}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{tikz}
\usetikzlibrary{arrows.meta,positioning,fit,backgrounds,calc,shapes.geometric}
\graphicspath{{figures/}{images/}}
% 颜色与强调框
......@@ -121,6 +123,15 @@
\newcommand{\blankline}{\par\noindent\rule{\linewidth}{0.4pt}\par}
\newcommand{\keyword}[1]{\textbf{\color{CourseBlue}#1}}
% 直观理解框:用类比/比喻帮助学生建立直觉
\definecolor{CoursePurple}{HTML}{6D28D9}
\newtcolorbox{intuition}{
colback=CourseGray,
colframe=CoursePurple,
title=直观理解,
fonttitle=\bfseries
}
% 协作占位:标记"待陈丹补充(语音/音频部分)"的内容,便于后续合并时定位
\newcommand{\todochen}[1]{%
\par\noindent
......@@ -323,12 +334,41 @@
这里可以列出教材、论文、网站或其他阅读材料。
\begin{thebibliography}{9}
\bibitem{sample-book}
作者. \emph{书名}. 出版社, 年份.
\bibitem{sample-web}
网站名称. 文章标题. \url{https://example.com}
\begin{thebibliography}{99}
% —— 第五部分 多模态机器学习方法与模型 ——
\bibitem{alexnet} Krizhevsky A, Sutskever I, Hinton G E. ImageNet Classification with Deep Convolutional Neural Networks. NeurIPS, 2012.
\bibitem{vgg} Simonyan K, Zisserman A. Very Deep Convolutional Networks for Large-Scale Image Recognition (VGG). ICLR, 2015.
\bibitem{resnet} He K, Zhang X, Ren S, Sun J. Deep Residual Learning for Image Recognition. CVPR, 2016.
\bibitem{vit} Dosovitskiy A, et al. An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale. ICLR, 2021.
\bibitem{simclr} Chen T, et al. A Simple Framework for Contrastive Learning of Visual Representations (SimCLR). ICML, 2020.
\bibitem{moco} He K, et al. Momentum Contrast for Unsupervised Visual Representation Learning (MoCo). CVPR, 2020.
\bibitem{dino} Caron M, et al. Emerging Properties in Self-Supervised Vision Transformers (DINO). ICCV, 2021.
\bibitem{mae} He K, et al. Masked Autoencoders Are Scalable Vision Learners (MAE). CVPR, 2022.
\bibitem{beit} Bao H, Dong L, Piao S, Wei F. BEiT: BERT Pre-Training of Image Transformers. ICLR, 2022.
\bibitem{clip} Radford A, et al. Learning Transferable Visual Models From Natural Language Supervision (CLIP). ICML, 2021.
\bibitem{align} Jia C, et al. Scaling Up Visual and Vision-Language Representation Learning With Noisy Text Supervision (ALIGN). ICML, 2021.
\bibitem{siglip} Zhai X, et al. Sigmoid Loss for Language Image Pre-Training (SigLIP). ICCV, 2023.
\bibitem{flamingo} Alayrac J B, et al. Flamingo: a Visual Language Model for Few-Shot Learning. NeurIPS, 2022.
\bibitem{blip2} Li J, et al. BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models. ICML, 2023.
\bibitem{llava} Liu H, et al. Visual Instruction Tuning (LLaVA). NeurIPS, 2023.
\bibitem{instructblip} Dai W, et al. InstructBLIP: Towards General-purpose Vision-Language Models with Instruction Tuning. NeurIPS, 2023.
\bibitem{qwenvl} Bai J, et al. Qwen-VL: A Versatile Vision-Language Model for Understanding, Localization, Text Reading, and Beyond. arXiv:2308.12966, 2023.
\bibitem{emu} Sun Q, et al. Emu: Generative Pretraining in Multimodality. ICLR, 2024.
\bibitem{gan} Goodfellow I, et al. Generative Adversarial Nets. NeurIPS, 2014.
\bibitem{vae} Kingma D P, Welling M. Auto-Encoding Variational Bayes (VAE). ICLR, 2014.
\bibitem{ddpm} Ho J, Jain A, Abbeel P. Denoising Diffusion Probabilistic Models (DDPM). NeurIPS, 2020.
\bibitem{cfg} Ho J, Salimans T. Classifier-Free Diffusion Guidance. arXiv:2207.12598, 2022.
\bibitem{dalle} Ramesh A, et al. Zero-Shot Text-to-Image Generation (DALL·E). ICML, 2021.
\bibitem{glide} Nichol A, et al. GLIDE: Towards Photorealistic Image Generation and Editing with Text-Guided Diffusion Models. ICML, 2022.
\bibitem{dalle2} Ramesh A, et al. Hierarchical Text-Conditional Image Generation with CLIP Latents (DALL·E 2). arXiv:2204.06125, 2022.
\bibitem{imagen} Saharia C, et al. Photorealistic Text-to-Image Diffusion Models with Deep Language Understanding (Imagen). NeurIPS, 2022.
\bibitem{ldm} Rombach R, et al. High-Resolution Image Synthesis with Latent Diffusion Models (Stable Diffusion). CVPR, 2022.
\bibitem{sdedit} Meng C, et al. SDEdit: Guided Image Synthesis and Editing with Stochastic Differential Equations. ICLR, 2022.
\bibitem{p2p} Hertz A, et al. Prompt-to-Prompt Image Editing with Cross Attention Control. ICLR, 2023.
\bibitem{ip2p} Brooks T, Holynski A, Efros A A. InstructPix2Pix: Learning to Follow Image Editing Instructions. CVPR, 2023.
\bibitem{controlnet} Zhang L, Rao A, Agrawala M. Adding Conditional Control to Text-to-Image Diffusion Models (ControlNet). ICCV, 2023.
\bibitem{dreambooth} Ruiz N, et al. DreamBooth: Fine Tuning Text-to-Image Diffusion Models for Subject-Driven Generation. CVPR, 2023.
\bibitem{codi} Tang Z, et al. Any-to-Any Generation via Composable Diffusion (CoDi). NeurIPS, 2023.
\end{thebibliography}
\end{document}
% !TeX root = ../aml_notes.tex
% ============================================================
% 第五部分 多模态机器学习与生成式人工智能
% 第五部分 多模态机器学习方法与模型
% 负责人:润松(整体框架 + 图像相关内容 + 章节衔接)
% 协作:语音/音频小节由陈丹补充,统一用 \todochen{...} 标记占位。
% 讲述主线:表示学习与跨模态对齐 → 多模态基础模型结构与训练 → 条件生成建模与内容生成
% 写作定位:正规研究生教材正文,教授口吻,语言严谨且留有余地(避免绝对化表述),少用比喻。
% 结构:按导师意见仅分三部分(5.1/5.2/5.3),不设“引言”与“本讲小结”。
% 参考文献:正文用 \cite{key} 内引,条目集中放在主文件 backmatter 的“参考资料”thebibliography 中。
% 中文引号一律使用“ ”。
% ============================================================
\chapter{多模态机器学习与生成式人工智能}
\chapter{多模态机器学习方法与模型}
\label{ch:multimodal}
\begin{learninggoals}
\begin{itemize}
\item 从机器学习机制出发理解多模态生成式人工智能,而不是停留在罗列若干应用任务。
\item 掌握图像、语音/音频与文本如何被编码为可学习、可比较、可融合的表示,并在统一语义空间中实现跨模态对齐。
\item 理解视觉编码器、语音编码器如何接入大语言模型,以及多模态指令微调如何形成理解与交互能力。
\item 把文本生成图像、图像编辑、语音合成、文本生成音频与跨模态交互生成,统一理解为\keyword{条件分布学习与生成控制}问题。
\item 能够从表示学习、对齐学习、模型结构、训练方法、条件生成五个角度,分析典型多模态生成式人工智能系统
\item 掌握图像、语音与文本在计算机中的原始表示形式,以及将其转化为向量表示的动机与方法;
\item 理解向量与向量空间的含义,明确“语义相近则表示相近”这一表示学习目标,并据此理解跨模态对齐;
\item 掌握以对比学习为代表的跨模态对齐方法及其在图文场景中的实现,了解相关代表工作的发展脉络;
\item 理解图像、语音如何接入大语言模型,构成具备多模态理解能力的基础模型;
\item 掌握条件生成建模的统一框架,能够将文本生成图像、图像编辑、语音与音频生成,表述为条件分布 $p(x\mid c)$ 的学习与采样问题
\end{itemize}
\end{learninggoals}
\section*{本讲总体定位}
\addcontentsline{toc}{section}{本讲总体定位}
本讲围绕生成式人工智能中的\keyword{多模态机器学习}方法展开,重点讨论图像、语音/音频与文本等不同模态如何被表示、对齐、融合、建模与生成。与单一文本建模相比,多模态生成式人工智能需要处理更加复杂的数据结构:图像具有空间结构,语音/音频具有连续时间结构,文本具有离散符号结构。不同模态在数据形态、语义粒度、噪声特征和生成目标上存在差异,因此需要从高级机器学习角度系统讨论\keyword{表示学习、对齐学习、基础模型训练和条件生成建模}等问题。
本讲的讲述主线是:
\begin{center}
\fbox{\begin{minipage}{0.9\linewidth}\centering
多模态表示学习与跨模态对齐\ $\rightarrow$\ 多模态基础模型结构与训练方法\ $\rightarrow$\ 条件生成建模与多模态内容生成
\end{minipage}}
\end{center}
\noindent 其中,\ref{sec:repr} 主要回答“不同模态如何被机器学习模型表示,并进入统一语义空间”;\ref{sec:foundation} 主要回答“图像、语音等非文本模态如何接入大语言模型,并形成多模态理解、推理和交互能力”;\ref{sec:generation} 主要回答“模型如何在给定文本、图像、语音等条件下生成新的图像、语音和音频内容”。
\begin{importantnote}
本讲反复强调的一个组织原则是:\textbf{不要从“图像任务、语音任务、音频任务”直接展开,而要先建立机器学习问题,再把图像和语音作为典型模态讲进去。}这更贴合“高级机器学习:生成式人工智能视角”的课程定位。每一节都会围绕四个问题展开:解决什么机器学习问题;图像和语音分别怎么体现;和生成式人工智能有什么关系;可以选哪些代表模型或论文案例。
\end{importantnote}
% ============================================================
\section{多模态表示学习与跨模态对齐}
\label{sec:repr}
% ============================================================
\subsection*{本节内容定位}
本节是第五部分的基础环节,讲解多模态生成式人工智能中的\keyword{表示学习与对齐学习}问题。从机器学习角度看,图像、语音/音频和文本是不同类型的数据分布:图像是二维空间信号,语音/音频是连续时间信号,文本是离散符号序列。多模态模型要同时处理这些模态,首先需要将它们转化为可学习、可比较、可融合的向量表示。
因此本节重点讲清两个基础问题:第一,不同模态如何从原始数据转化为高层语义表示;第二,不同模态之间如何通过学习目标建立语义对应关系。这部分内容为后续多模态大模型和多模态生成模型提供基础——图像、语音和文本只有先形成有效表示,并在语义空间中实现对齐,才能进一步接入大语言模型,支撑视觉问答、语音交互、图像生成、语音合成和跨模态编辑等任务。
本节讨论两个基础问题:其一,图像、语音与文本如何从原始数据转化为模型可处理的\keyword{向量表示};其二,不同模态的表示如何在同一空间中建立\keyword{语义对应},即跨模态对齐。这两个问题是后续多模态模型的前提。
% ----------------------------------------------------------
\subsection{单模态表示学习:图像、语音与文本的编码}
\subsection{单模态表示学习:从原始信号到向量}
\label{sub:encode}
\paragraph{解决的机器学习问题。}本小节的内部逻辑是从“原始数据”到“模型表示”。图像、语音和文本的原始形式差异很大,无法直接进入统一模型进行高层语义推理。因此课程首先讲清各模态如何通过编码器被转换为向量表示。这对应机器学习中的\keyword{表示学习}问题,也是多模态模型能够工作的第一步。
\paragraph{图像怎么体现。}图像的原始形式是由像素组成的二维矩阵,但像素本身难以直接表达物体、场景、空间关系和高级语义。因此视觉模型需要通过编码器提取图像特征:
\begin{itemize}
\item \keyword{卷积神经网络(CNN)}利用\textbf{局部感受野}\textbf{层次结构},从低级的纹理、边缘逐步抽象到目标和场景结构(代表:LeNet、AlexNet、ResNet)。
\item \keyword{Vision Transformer(ViT)}先把图像划分为若干 \texttt{patch},将每个 patch 线性映射为一个\keyword{视觉 token},再用自注意力建模 token 之间的全局关系,从而把图像表征为一组视觉 token(代表:ViT、Swin Transformer)。
\end{itemize}
通过这一过程,图像表征从低级视觉特征逐步上升到高级语义特征,并最终以“一串视觉 token”的形式,与文本 token 在结构上对齐,为后续接入大语言模型铺平道路。
\paragraph{语音/音频怎么体现。}
\todochen{从波形、频谱图与梅尔频谱讲起,说明语音是一种连续时间信号,其中同时包含语言内容、说话人信息、音色、韵律、情感和背景环境;进一步讲解语音编码器、自监督语音表征和音频 token 化,使学生理解语音/音频如何从连续声学信号转化为可供模型建模的表示。可对照图像“patch→视觉 token”说明语音“帧→声学/语义 token”的相似与差异。}
\paragraph{文本怎么体现。}文本方面只需简要介绍 token embedding、上下文表示和语言模型中的语义空间。文本部分不展开为独立重点,但需要为后续图文对齐、语音文本对齐和多模态大模型接入提供统一的符号基础:文本天然是离散 token 序列,图像和语音的“token 化”正是在向这种结构靠拢。
\begin{importantnote}
统一视角:三种模态最终都被组织为\textbf{一串向量化的 token}。差异在于——图像 token 来自空间网格,语音/音频 token 来自时间帧,文本 token 来自词表。把“原始信号 $\rightarrow$ token 序列”这一步看成共同语言,是理解后续所有多模态模型的关键。
\end{importantnote}
\paragraph{数据在计算机中的原始形式。}讨论表示学习之前,需要先明确各模态在计算机中以何种形式存在(见图~\ref{fig:rawforms}),因为后续处理都建立在这一原始形式之上。
\emph{图像}在计算机中通常是一个数值矩阵。屏幕上的图像由许多小方格构成,每个小方格称为一个\keyword{像素}(pixel)。一幅灰度图像可表示为一个 $H\times W$ 的矩阵,其中第 $(i,j)$ 个元素是一个整数(常取 $0$$255$),表示该像素的明暗,$0$ 为黑、$255$ 为白。彩色图像一般由红、绿、蓝三个通道叠加而成,对应一个 $H\times W\times 3$ 的三维数组。于是一幅 $224\times224$ 的彩色图像,大致相当于 $224\times224\times3\approx 1.5\times10^{5}$ 个整数。
\emph{语音/音频}在计算机中通常是一串随时间排列的数值。声音是空气压强的振动,麦克风按固定的时间间隔(采样率,如每秒 $16000$ 次)测量这种振动的强弱,每次测量得到一个数值,称为一个\keyword{采样点},其取值即\keyword{振幅}。因此一段语音可视为一个一维的长向量,长度大致正比于时长。
\emph{文本}在计算机中通常是一串编号。先准备一张\keyword{词表}(vocabulary),把可能出现的词(或子词)逐一编号;一段文本便被转写为这些编号构成的序列。例如词表中“猫”的编号为 $352$,文本中的“猫”便以整数 $352$ 进入模型。
\begin{figure}[htbp]
\centering
\begin{tikzpicture}[font=\scriptsize,>={Latex[length=2mm]}]
% ===== 图像:像素矩阵 =====
\node[font=\scriptsize\bfseries] at (0.9,2.2) {图像:像素矩阵};
\draw[step=0.6cm,gray!60] (0,0) grid (1.8,1.8);
\foreach \x/\v in {0.3/30,0.9/200,1.5/255} \node[font=\tiny] at (\x,1.5) {\v};
\foreach \x/\v in {0.3/128,0.9/90,1.5/15} \node[font=\tiny] at (\x,0.9) {\v};
\foreach \x/\v in {0.3/60,0.9/180,1.5/240} \node[font=\tiny] at (\x,0.3) {\v};
\node[align=center,font=\tiny] at (0.9,-0.5) {每格为 0–255 的整数\\$H\times W\times 3$};
% ===== 语音:采样点 =====
\begin{scope}[shift={(3.2,0)}]
\node[font=\scriptsize\bfseries] at (1.5,2.2) {语音:采样点(振幅)};
\draw[->,gray] (-0.1,0.9)--(3.2,0.9) node[right,font=\tiny,black]{时间};
\draw[CourseBlue,thick] plot[domain=0:2.9,samples=60] (\x,{0.9+0.6*sin(\x*150)});
\foreach \x in {0.2,0.6,1.0,1.4,1.8,2.2,2.6} \fill[CourseGold] (\x,{0.9+0.6*sin(\x*150)}) circle(1.2pt);
\node[align=center,font=\tiny] at (1.4,-0.5) {每点为一个振幅数值\\$\dots,\,0.2,\,0.5,\,-0.1,\,\dots$};
\end{scope}
% ===== 文本:词表编号 =====
\begin{scope}[shift={(7.3,0)}]
\node[font=\scriptsize\bfseries] at (1.1,2.2) {文本:词表编号};
\node at (1.1,1.4) {“一只猫”};
\node[font=\tiny] at (1.1,0.82) {$\Downarrow$ 查词表};
\node at (1.1,0.25) {$[\,15,\ 352\,]$};
\node[align=center,font=\tiny] at (1.1,-0.5) {每个词对应一个编号};
\end{scope}
\end{tikzpicture}
\caption{三种模态在计算机中的原始形式:图像是像素整数矩阵,语音是随时间的振幅采样序列,文本是词表编号序列。}
\label{fig:rawforms}
\end{figure}
\paragraph{为什么要用向量表示。}上述原始形式虽是数字,却不便于直接学习。一个重要原因是,原始数字之间的\emph{数值接近}并不等于\emph{语义接近}:像素值相近的两幅图像内容可能并不相干,内容相近的两幅图像像素值也可能相差很大;词表中编号相邻的两个词往往含义无关。我们希望得到的,是一种\emph{语义相近则表示也相近}的形式。
为此,机器学习常用\keyword{向量}来表示对象。一个向量是一组有序的实数 $\mathbf{x}=(x_1,x_2,\dots,x_d)$,其中每个分量 $x_k$ 可理解为对象在某个\emph{特征}上的取值。也就是说,\textbf{向量可以看作对象若干特征的集合}。例如,可设想用不同分量分别刻画一幅图像“是否有毛发”“是否四足”“是否有轮子”等语义特征;若两幅图像在这些特征上取值接近,其向量也接近。真实模型学到的特征并非人为指定,而是从数据中自动学习,但“向量作为特征集合”这一直观通常是成立的。
\paragraph{向量空间与相似度。}全体 $d$ 维向量构成一个 $d$\keyword{向量空间}。在这个空间中,每个对象对应一个点,对象间的“相似程度”可用点之间的\emph{距离}\emph{夹角}来量化。常用两种度量:欧氏距离 $\lVert \mathbf{x}-\mathbf{y}\rVert_2$ 衡量远近;余弦相似度
\begin{equation}
\cos(\mathbf{x},\mathbf{y})=\frac{\langle \mathbf{x},\mathbf{y}\rangle}{\lVert\mathbf{x}\rVert\,\lVert\mathbf{y}\rVert}
\end{equation}
衡量方向的一致程度,取值越接近 $1$ 表示方向越一致。\keyword{表示学习}的目标,可以概括为学习一个从原始数据到向量的映射,使得\textbf{语义相近的对象在向量空间中距离较小、语义无关的对象距离较大}(图~\ref{fig:vecspace})。这一点是理解后续内容的关键:跨模态对齐所追求的,正是让表达相同语义的不同模态对象,在同一向量空间中彼此接近。
\begin{figure}[htbp]
\centering
\begin{tikzpicture}[>=Latex,scale=1.0]
\draw[->] (0,0)--(5,0) node[right]{\small 特征维度(示意)};
\draw[->] (0,0)--(0,3.6) node[above]{\small 特征维度(示意)};
\fill[CourseBlue] (3.7,2.7) circle(2.2pt) node[right]{\small 猫的图像};
\fill[CourseBlue] (3.4,3.0) circle(2.2pt) node[above]{\small 文本“猫”};
\fill[CourseGold] (1.0,0.7) circle(2.2pt) node[right]{\small 汽车的图像};
\draw[dashed,CourseBlue] (3.7,2.7)--(3.4,3.0);
\node[CourseBlue,font=\scriptsize] at (4.6,2.2) {距离小(语义相近)};
\draw[dashed,CourseGold] (3.7,2.7)--(1.0,0.7);
\node[CourseGold,font=\scriptsize] at (2.0,1.9) {距离大(语义无关)};
\end{tikzpicture}
\caption{表示学习的目标:语义相近的对象(无论来自哪个模态)在向量空间中距离较小,语义无关的对象距离较大。}
\label{fig:vecspace}
\end{figure}
\paragraph{Token:表示的基本单元。}处理图像、语音、文本时,通常不会把整个对象压成单个向量,而是先切分为若干\keyword{基本单元},每个单元各对应一个向量,从而把对象表示为\emph{一串向量}。这种基本单元称为 \keyword{token}。文本的 token 一般是词或子词;图像的 token 常取图块(见下文);语音的 token 可取声学帧或声学单元。把不同模态都整理为“token 序列”的一个好处是:以自注意力为核心的序列模型(Transformer 与大语言模型)可以较为统一地处理它们,这为多模态与大语言模型的结合提供了结构上的便利。
\paragraph{图像表示:卷积与视觉 token。}如前所述,原始像素通常不适合直接作为语义表示,需要一个\keyword{编码器}把像素逐层加工为高层特征。图像编码中最经典的运算是\keyword{卷积}(convolution)。
卷积的核心是一个小的权重矩阵,称为\keyword{卷积核} $K$(例如 $3\times3$)。它在输入图像上滑动,在每个位置与所覆盖的局部区域做\emph{逐元素相乘再求和},得到输出的一个数值;所有位置的输出组成一张\keyword{特征图}。以二维情形为例,记输入为 $I$、卷积核为 $K$,则输出特征图 $S$ 在位置 $(i,j)$ 处为
\begin{equation}
S(i,j)=(I * K)(i,j)=\sum_{m}\sum_{n} I(i+m,\,j+n)\,K(m,n).
\label{eq:conv}
\end{equation}
式~\eqref{eq:conv} 表明:卷积核只关注一小块\emph{局部}区域(称为\keyword{局部感受野}),用于检测该处是否出现某种局部模式,如某方向的边缘或某种纹理;同一卷积核在整幅图像上\emph{共享}使用(图~\ref{fig:conv})。参数共享带来两点好处:一是显著减少参数量,二是带来一定的\keyword{平移不变性}——同一模式出现在不同位置时,可由同一卷积核检测到。
\begin{figure}[htbp]
\centering
\begin{tikzpicture}[scale=0.55, every node/.style={font=\scriptsize}]
\draw[step=1,gray!60] (0,0) grid (5,5);
\draw[CourseBlue,very thick] (0,2) rectangle (3,5);
\node at (2.5,5.5) {输入图像 $I$};
\node[CourseBlue] at (1.5,4.4) {局部感受野};
\begin{scope}[xshift=8.5cm,yshift=1cm]
\draw[step=1,gray!60] (0,0) grid (3,3);
\draw[CourseGreen,very thick] (0,2) rectangle (1,3);
\node at (1.5,3.5) {特征图 $S$};
\end{scope}
\draw[->,thick] (3.3,3.5)--(8.2,3.5);
\node at (5.7,4.0) {卷积核 $K$};
\node at (5.7,3.0) {逐元素相乘求和};
\end{tikzpicture}
\caption{卷积运算:卷积核在输入上滑动,每个局部感受野经“逐元素相乘再求和”得到特征图的一个值。}
\label{fig:conv}
\end{figure}
\paragraph{图像编码器的发展脉络。}把多层卷积叠加起来,可从低层的边缘、纹理逐层组合出更高层的语义,这类网络称为\keyword{卷积神经网络}(CNN)。CNN 的发展大体经历了从 AlexNet\cite{alexnet}确立深度卷积网络在图像识别上的有效性,到 VGG\cite{vgg}、ResNet\cite{resnet}通过残差连接把网络显著加深的过程。另一类做法不依赖卷积,而是把图像切成固定大小的图块(patch):例如把 $224\times224$ 的图像切成 $14\times14$$16\times16$ 的图块,每个图块经线性映射成一个向量,即一个\keyword{视觉 token},随后用自注意力建模这些 token 间的关系,这便是 Vision Transformer\cite{vit}。两类结构的训练目标类似,都是让所得视觉表示服务于具体任务(如分类),并使语义相近的图像表示彼此接近。经过编码后,图像被表示为一组视觉 token,其序列形式与文本 token 较为接近,这为二者进入同一模型创造了条件;不过二者在语义粒度上仍有差异,视觉 token 更接近局部区域特征,而文本 token 通常已对应较完整的语义单位。
\paragraph{语音表示。}
\todochen{讲清语音的原始形式(采样点与振幅,上文已先行铺垫),再讲波形、频谱图与梅尔频谱,说明语音编码器如何把连续声学信号切分为帧、编码为声学 token;与图像“图块→视觉 token”对照,并指出图像在空间上展开、语音在时间上展开这一差异。可简要梳理代表性语音编码工作的发展。}
\paragraph{文本表示:分词、词表与词嵌入。}文本的表示相对直接,其流程如图~\ref{fig:text-repr} 所示:先把一段文字切分为基本单元(词或子词),称为\keyword{分词};每个单元在\keyword{词表}中对应一个编号;再通过一张可学习的\keyword{词嵌入}(word embedding)表,把编号映射为向量。于是一句话最终成为一串词向量,与图像的视觉 token、语音的声学 token 在形式上一致。
\begin{figure}[htbp]
\centering
\begin{tikzpicture}[
>={Latex[length=2mm]},
op/.style={draw,rounded corners,fill=CourseGray,minimum height=0.72cm,align=center,font=\scriptsize},
tk/.style={draw,fill=CourseGreen!18,minimum height=0.68cm,minimum width=0.8cm,font=\scriptsize},
vec/.style={draw,fill=CourseBlue!12,minimum height=0.68cm,minimum width=0.95cm,font=\scriptsize}]
\node[font=\scriptsize,align=center] (s) {文本\\“一只猫”};
\node[op,right=5mm of s] (seg) {分词};
\node[tk,right=6mm of seg] (t1) {一只};
\node[tk,right=1mm of t1] (t2) {};
\node[op,right=6mm of t2] (voc) {查词表};
\node[font=\scriptsize,align=center,right=5mm of voc] (id) {编号\\$15,\ 352$};
\node[op,right=5mm of id] (emb) {词嵌入表};
\node[vec,right=6mm of emb] (e1) {$e_{15}$};
\node[vec,right=1mm of e1] (e2) {$e_{352}$};
\node[font=\scriptsize,below=1.5mm of e1] {词向量序列};
\draw[->] (s)--(seg); \draw[->] (seg)--(t1);
\draw[->] (t2)--(voc); \draw[->] (voc)--(id);
\draw[->] (id)--(emb); \draw[->] (emb)--(e1);
\end{tikzpicture}
\caption{文本表示流程:分词得到子词 token,查词表得到编号,再由词嵌入表映射为词向量序列。}
\label{fig:text-repr}
\end{figure}
对照图~\ref{fig:text-repr},以“一只猫”为例:先切分为“一只”“猫”两个 token,查词表得到各自编号,再经词嵌入表取出对应向量。词嵌入的意义与前文一致——把离散编号转化为\emph{特征向量},使语义相近的词(如“猫”与“猫咪”)向量也相近。至于词向量如何随上下文进一步变化,属于第一部分序列建模的内容,此处不再展开。
% ----------------------------------------------------------
\subsection{自监督学习与预训练表示}
\label{sub:ssl}
\paragraph{解决的机器学习问题。}本小节承接 \ref{sub:encode} 的单模态编码问题:\ref{sub:encode} 讲“数据如何被表示”,本小节进一步讲“这些表示如何通过学习获得”。现代生成式人工智能模型通常依赖大规模预训练。图像、语音和文本数据规模巨大,人工标注成本较高,因此\keyword{自监督学习}成为多模态表示学习的重要基础:它使模型能够从大规模未标注数据中获得可迁移的表征能力,为后续多模态对齐和指令微调提供基础
有了编码器,还需回答它如何学到有用的表示。若依赖“数据+人工标签”的监督训练,则受限于标注的规模与成本;而图像、语音、文本的无标注数据较为丰富。\keyword{自监督学习}的基本思想,是从数据自身构造监督信号,无需人工标注,从而能够利用大规模数据进行\keyword{预训练},得到可迁移到下游任务的通用表示。这一思想与第一部分介绍的表示学习机制相衔接,下面着重说明其在图像上的两类典型训练目标
\paragraph{图像怎么体现。}图像自监督主要有两条技术路线:
\begin{itemize}
\item \keyword{掩码图像建模}:随机遮挡部分 patch,让模型重建被遮挡内容,从而学习视觉结构与语义(代表:MAE、BEiT、SimMIM)。
\item \keyword{图像对比学习}:对同一图像的不同增强视图拉近表示、对不同图像推远表示,使模型在无标签条件下学到判别性特征(代表:SimCLR、MoCo、DINO)。
\end{itemize}
两类方法都说明:视觉表征的质量不仅来自模型规模,更来自预训练阶段形成的通用表示。
\paragraph{掩码重建。}随机遮挡输入的一部分,让模型根据未遮挡部分重建被遮挡的内容。在图像上,可遮挡若干图块再要求模型恢复其像素或特征;要重建得较好,模型往往需要学到图像的结构与语义规律。其训练目标是最小化重建误差,与文本中的掩码语言建模在形式上相近。这类方法的代表包括 MAE\cite{mae}与 BEiT\cite{beit}
\paragraph{语音怎么体现。}
\todochen{讲解掩码语音预测、对比预测和离散语音单元学习等方法(如对比/掩码式自监督语音表征、离散声学单元 token 学习),说明语音模型如何从大量无标注语音中学习声学与语言相关表示;并与图像的掩码/对比两条路线相互对照。}
\paragraph{对比学习。}对同一对象施加两种不同的随机变换(如对图像做不同的裁剪与颜色扰动),得到的两个视图视为同一语义,称为\keyword{正样本对},要求其表示接近;来自不同对象的视图为\keyword{负样本对},要求其表示远离。其训练目标使正样本对的相似度高于负样本对,从而学到对无关变化(如位置、颜色)较不敏感、对语义较敏感的表示。代表工作包括 SimCLR\cite{simclr}与 MoCo\cite{moco};此外 DINO\cite{dino}等自蒸馏方法也取得了较好效果。下一小节的跨模态对齐,可视为对比学习思想从“不同视图”到“不同模态”的推广。
\paragraph{文本怎么体现。}文本方面,可讲语言建模和上下文预测,说明大语言模型如何通过预测任务形成通用语义表示。这一“用预测任务获得通用表示”的思想,正是图像掩码建模与语音掩码预测的共同来源。
\begin{importantnote}
本小节要强调:多模态生成式人工智能的能力不仅来自模型规模,也来自预训练阶段形成的\textbf{通用表示}。自监督学习把课程从“模型结构”推进到“训练目标与学习范式”层面。
\end{importantnote}
\paragraph{语音的自监督。}
\todochen{介绍语音的自监督训练目标,如掩码式声学预测、对比式预测、以及把语音离散为声学单元后再预测等;说明其作用是从大规模无标注语音学到通用表示,并与上文图像的“掩码重建 / 对比学习”两类目标对照,简要点出代表工作。}
% ----------------------------------------------------------
\subsection{跨模态对齐学习}
\subsection{跨模态对齐}
\label{sub:align}
\paragraph{解决的机器学习问题。}本小节是 \ref{sec:repr} 的核心内容,讲解不同模态之间如何建立\keyword{语义对应关系}。图像、语音和文本虽然形式不同,但可以表达相同或相近的语义。例如,一张狗的图片、一句“a dog is running”的文本描述,以及一段包含狗叫声的音频,都可以在语义空间中形成关联。从机器学习角度看,跨模态对齐可以理解为一种\keyword{表示空间约束}:通过训练目标,使语义匹配的不同模态样本在向量空间中距离更近,使语义不匹配的样本距离更远。
\paragraph{图像怎么体现:图像—文本对齐。}图文对齐通常使用大规模图像—文本配对数据,通过\keyword{对比学习}把图像编码器和文本编码器映射到\keyword{共享语义空间}。以 CLIP 为代表,给定一个批次的 $N$ 对图文 $(I_i, T_i)$,先分别编码并归一化得到 $\mathbf{v}_i$(图像)和 $\mathbf{u}_i$(文本),以余弦相似度衡量匹配程度,使用对称的 InfoNCE(对比)损失:
前两小节使每个模态各自得到了向量表示,但不同模态的编码器多是各自训练的,其向量分处不同空间,通常难以直接比较。\keyword{跨模态对齐}要解决的问题是:把不同模态的表示纳入\emph{同一个}向量空间,使表达相同语义的对象(如一幅猫的图像与文本“猫”)在该空间中较为接近。
实现对齐的一个常用途径,是利用天然存在的\keyword{配对数据}。例如互联网上大量“图像配文字”的样本,本身就标明了哪幅图与哪句话语义对应。据此可训练图像编码器与文本编码器,使配对样本的表示靠近、非配对样本的表示远离——这正是对比学习从“同一模态的不同视图”推广到“不同模态的配对”的结果。这一思路的代表是 CLIP\cite{clip}与几乎同期的 ALIGN\cite{align}:前者使用较高质量的图文数据,后者表明利用规模更大但噪声更多的网络图文数据同样可行。此后的工作在此基础上做了不少改进,例如 SigLIP\cite{siglip}用 sigmoid 形式的损失替代批内 softmax,以改善大批量训练下的稳定性与效率。
以 CLIP 为例,取一批 $N$ 对图文。图像编码器把 $N$ 幅图编码为向量 $\mathbf{v}_1,\dots,\mathbf{v}_N$,文本编码器把 $N$ 句话编码为向量 $\mathbf{u}_1,\dots,\mathbf{u}_N$,并归一化到同一空间。计算任意一幅图与任意一句话的相似度,得到一个 $N\times N$ 的相似度矩阵(图~\ref{fig:clip}):对角线元素为真实配对,应取较高值;非对角线元素为错误配对,应取较低值。训练即调整两个编码器,使该矩阵趋于“对角线高、其余低”。
\begin{figure}[htbp]
\centering
\begin{tikzpicture}[scale=0.95]
\foreach \j/\t in {1/T_1,2/T_2,3/T_3,4/T_4} {\node at (\j,0.75) {\small $\t$};}
\foreach \i/\t in {1/I_1,2/I_2,3/I_3,4/I_4} {\node at (0,-\i) {\small $\t$};}
\foreach \i in {1,...,4}{
\foreach \j in {1,...,4}{
\ifnum\i=\j
\node[draw,fill=CourseGreen!35,minimum size=0.85cm] at (\j,-\i) {\scriptsize};
\else
\node[draw,fill=CourseGray,minimum size=0.85cm] at (\j,-\i) {\scriptsize};
\fi
}
}
\node[font=\scriptsize,align=center] at (2.5,-5.1) {行为图像 $I_i$,列为文本 $T_j$;对角线为正确配对(相似度拉高),其余为错误配对(压低)};
\end{tikzpicture}
\caption{图文对比对齐的相似度矩阵。训练目标是使对角线元素较高、非对角线元素较低。}
\label{fig:clip}
\end{figure}
把这一目标写成损失函数,即对比损失(InfoNCE)。对第 $i$ 幅图,其“图到文”方向的损失为
\begin{equation}
\mathcal{L}_{\text{align}}
= -\frac{1}{2N}\sum_{i=1}^{N}
\left[
\log \frac{\exp(\langle \mathbf{v}_i,\mathbf{u}_i\rangle/\tau)}{\sum_{j=1}^{N}\exp(\langle \mathbf{v}_i,\mathbf{u}_j\rangle/\tau)}
+
\log \frac{\exp(\langle \mathbf{u}_i,\mathbf{v}_i\rangle/\tau)}{\sum_{j=1}^{N}\exp(\langle \mathbf{u}_i,\mathbf{v}_j\rangle/\tau)}
\right],
\ell_i^{\,\text{}\to\text{}}
= -\,\log
\frac{\exp\!\big(\cos(\mathbf{v}_i,\mathbf{u}_i)/\tau\big)}
{\displaystyle\sum_{j=1}^{N}\exp\!\big(\cos(\mathbf{v}_i,\mathbf{u}_j)/\tau\big)} .
\label{eq:infonce}
\end{equation}
其中 $\langle\cdot,\cdot\rangle$ 为余弦相似度,$\tau$ 为温度系数。式~\eqref{eq:infonce} 把“对齐”量化为:对角线上的正样本相似度要高,非对角线的负样本相似度要低。代表模型有 CLIP、ALIGN、SigLIP 等
该式可逐项理解:分子是第 $i$ 幅图与其\emph{正确}配文的相似度,分母是该图与批内\emph{全部} $N$ 句话相似度之和。整个分式是一个 softmax,表示“在这 $N$ 句话中,模型判定第 $i$ 句为正确配文的概率”;取负对数后,概率越接近 $1$、损失越小。$\tau$\keyword{温度}参数,$\tau$ 越小,对“正确配对显著高于错误配对”的要求越严格。将“图到文”与对称的“文到图”两个方向的损失相加,即为完整的对齐目标
\paragraph{语音/音频怎么体现。}
\todochen{讲解语音—文本对齐(可利用语音转写、语音翻译数据)与音频—文本对齐(可利用声音事件与文本描述之间的配对,如 CLAP 思想)。强调与图文对齐相同的对比/匹配学习本质,并对照式~\eqref{eq:infonce} 说明只是把图像编码器换成语音/音频编码器。}
经过对齐,文本与图像被纳入同一向量空间,于是“用文字检索图像”“判断图文是否相符”等任务,大体可归结为在该空间中计算相似度。更重要的是,对齐后的文本表示常被用作图像生成的\emph{条件}——\ref{sec:generation} 的文本生成图像,往往依赖这种图文对应关系,使文本描述能够引导图像的生成方向。
\begin{importantnote}
讲授时要突出方法本质:\textbf{跨模态对齐不是简单把不同模态拼接在一起,而是通过目标函数学习不同模态之间的语义距离关系。}正负样本的构造、温度系数与共享语义空间,是理解检索、问答和条件生成的共同入口。
\end{importantnote}
\paragraph{语音、音频的对齐。}
\todochen{说明语音—文本对齐(可用语音转写、翻译等配对数据)与音频—文本对齐(用“声音事件+文字描述”的配对数据,如 CLAP 一类工作)。强调其与图文对齐共用同一套对比学习目标(式~\eqref{eq:infonce} 的形式),仅将图像编码器替换为语音/音频编码器。}
% ----------------------------------------------------------
\subsection{跨模态融合与统一表示}
\subsection{跨模态融合}
\label{sub:fusion}
\paragraph{解决的机器学习问题。}本小节承接 \ref{sub:align} 的跨模态对齐。对齐解决不同模态之间的语义对应,\keyword{融合}进一步解决多个模态如何\textbf{共同参与}模型计算。完成单模态表示、自监督预训练、跨模态对齐后,模型还需要在具体任务中综合利用不同模态的信息,让图像、语音和文本共同参与理解、推理和生成。
对齐使不同模态可在同一空间比较,而具体任务往往要求多个模态\emph{共同参与}同一次推理,例如根据图像与问题文字共同作答。\keyword{跨模态融合}研究的是多模态信息如何在模型内部结合。按\keyword{融合发生的早晚},大致可分为三类(图~\ref{fig:fusion}),下面各以一个代表模型说明:
\paragraph{主要融合方式(以图文为典型)。}
\begin{itemize}
\item \keyword{早期融合}:在输入或低层特征阶段就把多模态组合。
\item \keyword{后期融合}:不同模态分别建模后再汇总结果。
\item \keyword{中间层融合与交叉注意力}:用交叉注意力让不同模态在语义层交互,更适合现代多模态大模型(代表:Flamingo 的 gated cross-attention)。
\item \keyword{统一 token 序列建模}:把图像 token、语音 token 与文本 token 组织到统一序列中由模型联合建模,是当前多模态基础模型的重要趋势(代表:BLIP-2 的 Q-Former 把视觉压缩为少量 query token 接入语言模型)。
\item \keyword{早期融合}:把图像编码成嵌入后,与文本嵌入\emph{交错成同一序列},交由一个联合训练的统一模型处理;融合发生在输入端、程度最深,模型甚至可以统一地理解并生成图像与文本。代表是 Emu\cite{emu},它把视觉嵌入与文本 token 放入同一自回归序列端到端训练。
\item \keyword{中间层融合}:图像与文本先各自编码,再通过\keyword{交叉注意力}在模型中层交互。代表是 BLIP-2\cite{blip2},其 Q-Former 用一组可学习查询向量、以交叉注意力从图像特征中提取信息;Flamingo\cite{flamingo} 亦在语言模型层插入交叉注意力以引入视觉信息。
\item \keyword{后期融合}:图像先经一个\emph{独立的}视觉编码器完整编码,再经投影与文本\emph{拼接}后接入语言模型,融合发生得较晚、较浅。代表是 LLaVA\cite{llava},其视觉编码器(常为冻结的 CLIP 图像塔)与语言模型相对独立,仅由一个轻量连接层桥接。
\end{itemize}
\paragraph{与生成式人工智能的关系。}融合不仅支持理解任务,也支持\textbf{生成控制}:文本可以控制图像生成,语音指令可以控制图像编辑,图像内容可以辅助生成语音讲解。融合机制越有效,模型越容易在复杂场景中保持跨模态一致性。
\paragraph{语音/音频怎么体现。}
\todochen{说明语音 token 如何与图像 token、文本 token 一起进入统一序列或交叉注意力,参与多模态上下文建模;强调时间结构(语音)与空间结构(图像)在融合时的差异。}
\begin{importantnote}
\textbf{\ref{sec:repr}\ref{sec:foundation} 的承接关系}\ref{sec:repr} 是“表示与对齐层”,提供图像编码器、语音编码器和跨模态语义空间;\ref{sec:foundation} 是“模型结构与训练层”,讨论这些模块如何接入大语言模型,使模型具备看图、听音、理解语音、执行指令和多模态推理的能力。先有表示,才能对齐;先有对齐,才能融合;先有融合,才能构建多模态基础模型。
\end{importantnote}
\begin{figure}[htbp]
\centering
\begin{tikzpicture}[
>={Latex[length=2mm]},
io/.style={draw,rounded corners,fill=CourseGreen!16,minimum height=0.55cm,minimum width=1.0cm,font=\scriptsize},
bx/.style={draw,rounded corners,fill=CourseBlue!14,minimum height=0.55cm,font=\scriptsize,align=center},
ca/.style={draw,rounded corners,fill=CourseGold!22,minimum height=0.55cm,minimum width=1.5cm,font=\scriptsize,align=center},
mrg/.style={draw,circle,fill=CourseGold!25,inner sep=1.2pt,font=\scriptsize},
lab/.style={font=\scriptsize\bfseries,align=left},
res/.style={font=\scriptsize}]
% ===== 早期融合 (Emu):输入端即融合,统一模型 =====
\node[lab] at (-2.0,0) {早期融合\\(Emu)};
\node[io] (ei) at (0,0.4) {图像};
\node[io] (et) at (0,-0.4) {文本};
\node[mrg] (em) at (1.4,0) {$\oplus$};
\node[bx,minimum width=2.0cm] (eu) at (3.3,0) {统一模型\\(联合训练)};
\node[res] (eo) at (5.3,0) {输出};
\draw[->] (ei)-|(em); \draw[->] (et)-|(em); \draw[->] (em)--(eu); \draw[->] (eu)--(eo);
% ===== 中间层融合 (BLIP-2):各自编码后交叉注意力交互 =====
\node[lab] at (-2.0,-2.2) {中间层融合\\(BLIP-2)};
\node[io] (mi) at (0,-1.8) {图像};
\node[bx,minimum width=1.3cm] (mie) at (1.5,-1.8) {编码};
\node[io] (mt) at (0,-2.6) {文本};
\node[bx,minimum width=1.3cm] (mte) at (1.5,-2.6) {编码};
\node[ca] (mca) at (3.4,-2.2) {交叉注意力};
\node[bx,minimum width=1.7cm] (mmo) at (5.3,-2.2) {语言模型};
\node[res] (mo) at (6.9,-2.2) {输出};
\draw[->] (mi)--(mie); \draw[->] (mt)--(mte);
\draw[->] (mie)-|(mca); \draw[->] (mte)-|(mca); \draw[->] (mca)--(mmo); \draw[->] (mmo)--(mo);
% ===== 后期融合 (LLaVA):视觉先完整编码,末端才拼接 =====
\node[lab] at (-2.0,-4.6) {后期融合\\(LLaVA)};
\node[io] (li) at (0,-4.2) {图像};
\node[bx,minimum width=1.7cm] (lie) at (1.7,-4.2) {视觉编码器};
\node[bx,minimum width=1.1cm] (lproj) at (3.5,-4.2) {投影};
\node[io] (lt) at (0,-5.0) {文本};
\node[mrg] (lm) at (4.8,-4.6) {$\oplus$};
\node[bx,minimum width=1.7cm] (lmo) at (6.2,-4.6) {语言模型};
\node[res] (lo) at (7.8,-4.6) {输出};
\draw[->] (li)--(lie); \draw[->] (lie)--(lproj);
\draw[->] (lproj)-|(lm); \draw[->] (lt)-|(lm); \draw[->] (lm)--(lmo); \draw[->] (lmo)--(lo);
\end{tikzpicture}
\caption{三类融合按“融合发生的早晚”区分($\oplus$/交叉注意力为融合点,由上到下依次后移):早期融合(Emu)在输入端就把图文嵌入并入同一序列、统一建模;中间层融合(BLIP-2)各自编码后用交叉注意力在中层交互;后期融合(LLaVA)让视觉先经独立编码器完整编码,末端才与文本拼接接入语言模型。}
\label{fig:fusion}
\end{figure}
三者的差别,直观上就是图~\ref{fig:fusion} 中融合点由上至下逐渐后移:越靠早融合,模态间交互越深、越依赖联合训练;越靠后融合,各模块越独立、越易复用已有的视觉编码器与语言模型。需要说明的是,这一划分并非绝对,实际模型可能兼有多种方式。融合不仅服务于理解,也服务于生成控制:文本可用于约束图像生成,图像内容可用于辅助生成相应的语音或文字描述。
\paragraph{语音的融合。}
\todochen{说明语音 token 如何与图像、文本 token 共同进入统一序列或交叉注意力,并指出语音具有较强的时序结构,融合时需兼顾时间顺序。}
% ============================================================
......@@ -148,43 +291,169 @@
\label{sec:foundation}
% ============================================================
\subsection*{本节内容定位}
本节讲解多模态基础模型的\keyword{结构设计和训练方法}。从机器学习角度看,多模态大模型不是简单叠加图像模型、语音模型和语言模型,而是要解决不同表示空间之间的\textbf{映射、融合和联合训练}问题。本节重点讨论三个核心问题:图像、语音/音频等非文本模态如何接入大语言模型;多模态模型如何通过预训练、微调和指令训练形成理解与推理能力;视觉、语音和文本如何在统一模型中进行联合建模。本节承接 \ref{sec:repr} 的表示学习与对齐学习,并为 \ref{sec:generation} 的条件生成建模提供基础——只有模型能够理解图像、语音和文本条件,后续才能进一步根据这些条件生成内容。
本节讨论如何把图像、语音等非文本模态接入大语言模型,构成能够理解多模态输入、并按指令完成任务的\keyword{多模态基础模型}。需要说明的是,这类模型一般并非把图像模型、语音模型与语言模型简单并置,其关键的机器学习问题,是不同表示空间之间的\emph{映射与联合优化}。大语言模型自身的预训练、指令微调与对齐方法已在第三部分介绍,本节着重于多模态特有的结构与训练环节。
% ----------------------------------------------------------
\subsection{多模态基础模型的通用结构}
\label{sub:arch}
\paragraph{统一框架。}多模态基础模型的通用架构可以概括为:
\begin{center}
\fbox{\ \ 模态编码器\ \ $\rightarrow$\ \ 连接模块\ \ $\rightarrow$\ \ 大语言模型\ \ }
\end{center}
其中,\keyword{模态编码器}负责把图像、语音或音频转化为高层表示(视觉/语音 token);\keyword{连接模块}负责把这些表示映射到语言模型能够处理的空间;\keyword{大语言模型}负责完成语义理解、上下文推理和文本生成。
\paragraph{连接模块的几种形式。}非文本表示接入语言模型,常见做法包括:线性投影层、MLP 连接器、Adapter,以及交叉注意力连接器(如 Q-Former)。训练上可采用\textbf{冻结部分模块、只训练连接层、端到端微调}等不同策略——例如先冻结视觉编码器与语言模型、只训练连接器对齐表示空间,再做端到端指令微调。
\paragraph{机器学习要点。}本小节的重点是让学生理解:多模态基础模型的关键机器学习问题,是\textbf{不同模态表示空间之间的映射学习和联合优化},而不是把视觉、语音、语言模型当作彼此孤立的系统。代表系统:Flamingo、BLIP-2、LLaVA、MiniGPT-4。
\paragraph{语音/音频怎么体现。}
\todochen{说明语音/音频编码器如何通过同样的“编码器→连接模块→大语言模型”框架接入语言模型,并指出连续声学信号的时序压缩对连接模块的额外要求。}
现有多模态基础模型大多可归入同一通用结构(图~\ref{fig:pipeline}):\keyword{模态编码器}\keyword{连接模块}\keyword{大语言模型}三段相连。模态编码器(即 \ref{sec:repr} 所述的图像或语音编码器)把非文本输入编码为高层表示;大语言模型负责语义理解与文本生成;二者之间的连接模块负责把模态表示\emph{映射}到大语言模型可接受的输入空间。
\begin{figure}[htbp]
\centering
\begin{tikzpicture}[
box/.style={draw,rounded corners,minimum height=1.05cm,minimum width=2.4cm,align=center,fill=CourseGray},
io/.style={align=center},
>={Latex[length=2.4mm]}]
\node[io] (in) {图像/语音\\输入};
\node[box,right=10mm of in] (enc) {模态编码器};
\node[box,right=9mm of enc] (conn) {连接模块};
\node[box,right=9mm of conn] (llm) {大语言模型};
\node[io,right=10mm of llm] (out) {文本输出};
\node[io,below=8mm of llm] (txt) {文本指令\\输入};
\draw[->] (in)--(enc); \draw[->] (enc)--(conn);
\draw[->] (conn)--(llm); \draw[->] (llm)--(out);
\draw[->] (txt)--(llm);
\end{tikzpicture}
\caption{多模态基础模型的通用结构:编码器负责感知,连接模块负责把模态表示映射到语言模型空间,文本指令与映射后的模态表示一并输入大语言模型,由其完成理解与表达。}
\label{fig:pipeline}
\end{figure}
连接模块的形式多样。较简单的做法是线性投影或多层感知机,如 LLaVA\cite{llava}用一个投影层把视觉特征映射到语言模型的词向量空间;较复杂的做法是引入注意力模块对视觉特征做压缩,如前述 BLIP-2 的 Q-Former,以及 Flamingo 采用的门控交叉注意力。无论何种形式,其作用都是把模态编码器输出的向量,转换为若干与文本 token 处于同一空间的向量,相当于把图像或语音“翻译”为语言模型可读取的一段输入。训练上常采用\keyword{分阶段}策略:先冻结模态编码器与大语言模型、只训练连接模块,使两个表示空间先行对齐,这样既降低计算开销,又有助于保留语言模型已有的能力;随后再对整体做小幅微调。
\paragraph{语音的接入。}
\todochen{说明语音/音频编码器如何套用同一通用结构接入大语言模型,并指出语音是连续且较长的信号,连接模块往往需先做时序压缩,以免输入序列过长。}
% ----------------------------------------------------------
\subsection{视觉语言模型:图像理解中的多模态建模}
\label{sub:vlm}
\paragraph{解决的机器学习问题。}本小节以图像模态为重点,讲解\keyword{视觉语言模型(VLM)}的结构和训练方法。视觉语言模型的目标是让模型能够接收图像输入,并围绕图像内容进行描述、问答、推理和对话。从机器学习角度看,视觉语言模型的本质是\textbf{把视觉表示作为条件上下文,使语言模型能够在视觉条件下进行预测和生成},即建模 $p(\text{文本}\mid \text{图像})$
\paragraph{典型任务。}图像描述(captioning)、视觉问答(VQA)、图文推理、图像指令响应、多轮图文对话。这些任务统一体现为:视觉特征经压缩、映射后接入语言模型,再由语言模型在视觉条件下自回归生成文本。
\paragraph{视觉指令微调。}视觉语言模型经过图文预训练后,通常还需要通过\keyword{指令数据}学习人类任务格式,例如“请描述这张图片”“图中人物在做什么”“根据图中信息回答问题”等。视觉指令微调能够把模型的图像感知能力转化为可交互的任务执行能力,使模型从图文匹配和图像描述走向交互式图文理解。代表模型:LLaVA、InstructBLIP、Qwen-VL、GPT-4V。
把上述通用结构配以图像编码器,即得到\keyword{视觉语言模型}(VLM):能够接收图像输入,并围绕图像进行描述、问答与推理。从机器学习角度看,视觉语言模型把图像表示作为\emph{条件},使大语言模型在该条件下进行文本生成,即建模条件分布 $p(\text{文本}\mid\text{图像})$
其工作方式如图~\ref{fig:vlm} 所示:图像经编码器与连接模块转化为若干视觉 token,置于文本提示词之前,与文本 token 共同构成大语言模型的输入;模型随后如同处理普通文本上下文那样,自回归地逐词生成回答。对模型而言,图像相当于上下文的一部分,区别在于这部分来自图像。
\begin{figure}[htbp]
\centering
\begin{tikzpicture}[
tok/.style={draw,minimum size=0.7cm,fill=CourseGray},
vtok/.style={draw,minimum size=0.7cm,fill=CourseGreen!25},
>={Latex[length=2.2mm]},node distance=2mm]
\node[align=center] (img) {图像};
\node[draw,rounded corners,right=6mm of img,align=center,fill=CourseGray,minimum height=0.9cm] (enc) {编码器+\\连接模块};
\node[vtok,right=7mm of enc] (v1) {};
\node[vtok,right=0mm of v1] (v2) {};
\node[vtok,right=0mm of v2] (v3) {};
\node[tok,right=2mm of v3] (t1) {};
\node[tok,right=0mm of t1] (t2) {};
\node[tok,right=0mm of t2] (t3) {};
\node[below=1mm of v2,font=\scriptsize] {视觉 token};
\node[below=1mm of t2,font=\scriptsize] {文本 token(提问)};
\node[draw,rounded corners,right=6mm of t3,fill=CourseGray,minimum height=0.9cm,align=center] (llm) {大语言\\模型};
\node[right=6mm of llm,align=center] (out) {文本回答};
\draw[->] (img)--(enc); \draw[->] (enc)--(v1);
\draw[->] (t3)--(llm); \draw[->] (llm)--(out);
\end{tikzpicture}
\caption{视觉语言模型:图像被编码为视觉 token,与文本 token 拼接后输入大语言模型,由模型在图像条件下生成回答。}
\label{fig:vlm}
\end{figure}
\paragraph{代表工作:连接方式的对比。}不同视觉语言模型的主要差别,往往在于\keyword{连接模块}的设计,即如何把视觉编码器的输出接入大语言模型。图~\ref{fig:vlm-connect} 对比了三种有代表性的做法,三者的视觉编码器(绿色)与大语言模型(蓝色)大体相同,差异集中在中间的连接模块(黄色)。
\begin{figure}[htbp]
\centering
\begin{tikzpicture}[
rowname/.style={font=\scriptsize\bfseries,minimum width=1.2cm,align=right},
enc/.style={draw,rounded corners,fill=CourseGreen!16,minimum height=0.8cm,minimum width=1.55cm,align=center,font=\scriptsize},
conn/.style={draw,rounded corners,fill=CourseGold!18,minimum height=0.8cm,minimum width=2.9cm,align=center,font=\scriptsize},
llm/.style={draw,rounded corners,fill=CourseBlue!14,minimum height=0.8cm,minimum width=1.75cm,align=center,font=\scriptsize},
txt/.style={draw,rounded corners,fill=CoursePurple!12,minimum height=0.62cm,minimum width=1.5cm,align=center,font=\scriptsize},
>={Latex[length=2mm]}]
\node[rowname] (n1) {Flamingo};
\node[enc,right=3mm of n1] (e1) {视觉编码器};
\node[conn,right=6mm of e1] (c1) {门控交叉注意力\\(插入语言模型各层)};
\node[llm,right=6mm of c1] (l1) {大语言模型};
\node[txt,below=4mm of c1] (x1) {文本指令};
\draw[->] (e1)--(c1); \draw[->] (c1)--(l1); \draw[->] (x1)-|(l1);
\node[rowname,below=17mm of n1] (n2) {BLIP-2};
\node[enc,right=3mm of n2] (e2) {视觉编码器};
\node[conn,right=6mm of e2] (c2) {Q-Former\\(压成少量视觉 token)};
\node[llm,right=6mm of c2] (l2) {大语言模型};
\node[txt,below=4mm of c2] (x2) {文本指令};
\draw[->] (e2)--(c2); \draw[->] (c2)--(l2); \draw[->] (x2)-|(l2);
\node[rowname,below=17mm of n2] (n3) {LLaVA};
\node[enc,right=3mm of n3] (e3) {视觉编码器};
\node[conn,right=6mm of e3] (c3) {线性投影 / MLP};
\node[llm,right=6mm of c3] (l3) {大语言模型};
\node[txt,below=4mm of c3] (x3) {文本指令};
\draw[->] (e3)--(c3); \draw[->] (c3)--(l3); \draw[->] (x3)-|(l3);
\end{tikzpicture}
\caption{三种代表性视觉语言模型的连接方式对比:视觉经编码器与连接模块(黄色)接入大语言模型,文本指令(紫色)同样输入大语言模型;三者的差异主要在于中间连接模块的形式。}
\label{fig:vlm-connect}
\end{figure}
对照图~\ref{fig:vlm-connect}:第一行的 \textbf{Flamingo}\cite{flamingo} 在冻结的语言模型各层中插入\keyword{门控交叉注意力},让文本在生成时按需“查看”视觉特征,适合处理图文交错的序列与少样本学习;第二行的 \textbf{BLIP-2}\cite{blip2} 引入 \keyword{Q-Former},用一组可学习的查询向量把数量众多的视觉特征压缩为少量视觉 token 再接入语言模型,从而缩短序列长度、降低训练成本;第三行的 \textbf{LLaVA}\cite{llava} 采用最简单的\keyword{线性投影(或 MLP)},把视觉特征直接映射到词向量空间,充当视觉 token。可以看出,连接模块从复杂的交叉注意力逐步走向更轻量的投影,而模型效果并未因此下降——这与下面要讲的训练方式密切相关。
\paragraph{三种连接模块的具体结构。}图~\ref{fig:vlm-connect} 只标出了连接模块的名称,下面进一步说明每一种“黄色方块”内部到底是什么。\keyword{线性投影}(图~\ref{fig:conn-proj})最简单:把视觉编码器输出的每个特征向量,用一个矩阵 $W$(或两层 MLP)映射到与词向量相同的维度,所得向量直接当作视觉 token 插入文本序列。\keyword{Q-Former}(图~\ref{fig:conn-qformer})引入一组\emph{可学习的查询向量},通过交叉注意力从大量图像特征中“问”出所需信息,输出固定数量的少量 token,从而把成百上千个图像特征压缩到几十个,显著缩短序列。\keyword{门控交叉注意力}(图~\ref{fig:conn-xattn})不改动文本序列,而是在语言模型的层中插入一个交叉注意力子层,让文本隐状态去读取视觉特征;其输出先乘一个门控 $\tanh(\alpha)$ 再残差加回,$\alpha$ 初始为 $0$,使训练之初几乎不影响原语言模型,因而更稳定。可以看出,从线性投影到 Q-Former 再到门控交叉注意力,连接模块在结构复杂度和对原模型的改动程度上依次增加。
\begin{figure}[htbp]
\centering
\begin{tikzpicture}[>={Latex[length=2mm]},
b/.style={draw,rounded corners,minimum height=0.85cm,align=center,font=\scriptsize}]
\node[b,fill=CourseGreen!16] (hv) {视觉特征\\$h_v\in\mathbb{R}^{d_v}$};
\node[b,fill=CourseGold!20,right=11mm of hv] (W) {线性层 $W$\\$d_v\!\times\! d$};
\node[b,fill=CourseBlue!14,right=11mm of W] (z) {视觉 token\\$z=Wh_v\in\mathbb{R}^{d}$};
\draw[->] (hv)--(W); \draw[->] (W)--(z);
\node[font=\scriptsize,below=2mm of W,align=center] {逐个特征独立映射;$d$ 为词向量维度};
\end{tikzpicture}
\caption{线性投影连接模块(LLaVA):用一个矩阵 $W$(或两层 MLP)把视觉特征映射到与词向量同维的空间,直接充当视觉 token。}
\label{fig:conn-proj}
\end{figure}
\begin{figure}[htbp]
\centering
\begin{tikzpicture}[>={Latex[length=2mm]},
b/.style={draw,rounded corners,minimum height=0.85cm,align=center,font=\scriptsize}]
\node[b,fill=CourseGreen!16,minimum width=3.5cm] (img) {图像特征 $h_1,\dots,h_M$$M$ 大)};
\node[b,fill=CoursePurple!14,minimum width=3.5cm,below=9mm of img] (q) {可学习查询 $q_1,\dots,q_K$$K\!\ll\! M$};
\coordinate (rmid) at ($(img.east)!0.5!(q.east)$);
\node[b,fill=CourseGray,anchor=west,xshift=12mm] (xa) at (rmid) {交叉注意力\\(Q=查询,\ K/V=图像特征)};
\node[b,fill=CourseBlue!14,right=10mm of xa,align=center] (o) {$K$\\视觉 token};
\draw[->] (img)--(xa); \draw[->] (q)--(xa); \draw[->] (xa)--(o);
\node[font=\scriptsize,below=2mm of o,align=center] {$M$ 个压成 $K$};
\end{tikzpicture}
\caption{Q-Former 连接模块(BLIP-2):一组可学习查询向量通过交叉注意力从大量图像特征中提取信息,输出固定的少量视觉 token,实现压缩。}
\label{fig:conn-qformer}
\end{figure}
\begin{figure}[htbp]
\centering
\begin{tikzpicture}[>={Latex[length=2mm]},
b/.style={draw,rounded corners,minimum height=0.85cm,align=center,font=\scriptsize}]
\node[b,fill=CourseGold!18] (h) {文本隐状态 $h$};
\node[b,fill=CourseGray,right=12mm of h] (xa) {交叉注意力\\(Q=$h$, K/V=视觉)};
\node[b,fill=CoursePurple!14,right=9mm of xa] (g) {门控\\$\times\tanh(\alpha)$};
\node[draw,circle,inner sep=1.5pt,font=\scriptsize,right=9mm of g] (plus) {$+$};
\node[b,fill=CourseBlue!14,right=8mm of plus] (out) {下一层};
\node[b,fill=CourseGreen!16,below=8mm of xa] (v) {视觉特征};
\draw[->] (h)--(xa); \draw[->] (v)--(xa); \draw[->] (xa)--(g);
\draw[->] (g)--(plus); \draw[->] (plus)--(out);
\draw[->] (h) to[out=55,in=125] (plus);
\node[font=\scriptsize,below=2mm of g,align=center] {$\alpha$ 初始为 $0$};
\end{tikzpicture}
\caption{门控交叉注意力连接模块(Flamingo):在冻结的语言模型层中插入交叉注意力读取视觉特征,输出经门控 $\tanh(\alpha)$ 缩放后残差加回;$\alpha$ 初始为 $0$,初始时几乎不干扰原模型。}
\label{fig:conn-xattn}
\end{figure}
\paragraph{训练范式的演进。}除连接结构外,训练方式也在演进。早期以图文对齐或图文生成的\emph{预训练}为主,例如 CLIP\cite{clip} 训练出的图文对齐视觉编码器,常被后续模型直接复用为视觉塔。此后\keyword{视觉指令微调}成为关键一步:LLaVA 借助较强的纯文本模型,自动构造“图像+指令+回答”数据对模型进行微调,使其能较好地遵循人类指令;InstructBLIP\cite{instructblip}、Qwen-VL\cite{qwenvl} 等则在指令数据与模型结构上进一步扩展。需要说明的是,这些模型在不同任务上各有优劣,且“主流”随时间变化,此处仅将其视为发展过程中的代表,而非确定的优劣排序。
\paragraph{常见问题。}还应提示\keyword{视觉幻觉}与鲁棒性问题:模型可能描述出图中不存在的物体,这与视觉特征压缩、语言先验过强有关,是后续对齐训练要缓解的对象。视觉语言模型在教育、医疗、遥感和工业检测中有广泛应用。
\begin{importantnote}
视觉语言模型可能出现\keyword{视觉幻觉}现象:模型有时会描述出图像中并不存在的内容。其成因之一,可能是语言先验较强——模型从大量文本中习得了“某场景通常包含某物”的统计倾向,以致在图像未提供相应证据时仍作出断言。抑制幻觉是多模态对齐训练关注的问题之一。
\end{importantnote}
\begin{exercisebox}
\begin{enumerate}
\item 用一句话说明视觉语言模型为什么需要“视觉编码器 + 连接模块 + 语言模型”三者协同
\item 说明 $p(\text{文本}\mid\text{图像})$ 与第~\ref{sec:generation}~节将讲的 $p(\text{图像}\mid\text{文本})$ 在条件与目标上的对偶关系
\item 用一句话说明:在视觉语言模型中,连接模块的作用是什么;若去掉它,可能出现什么问题
\item 视觉语言模型建模的是 $p(\text{文本}\mid\text{图像})$。请指出其中的“条件”与“待生成对象”分别是什么,并据此说明它为何属于条件分布建模
\end{enumerate}
\end{exercisebox}
......@@ -192,44 +461,29 @@
\subsection{语音语言模型:语音理解中的序列建模}
\label{sub:slm}
\paragraph{解决的机器学习问题(框架)。}本小节与 \ref{sub:vlm} 对称:以语音模态为重点,讲解语音语言模型的结构和训练方法。图像主要体现空间结构,语音主要体现\textbf{时间结构};语音信号在时间上连续变化,同时包含语言内容、说话人信息、情感和环境噪声。因此语音语言模型的核心是\keyword{序列建模与语义映射}:先用语音编码器对连续声学信号进行压缩和表征,再映射到语言模型可处理的语义空间,在语言模型中完成上下文预测和指令响应
与视觉语言模型相对应,\keyword{语音语言模型}把语音表示接入大语言模型,以完成语音识别、语音理解、语音问答与语音对话等任务,其结构大体遵循 \ref{sub:arch} 的通用框架。二者的主要差异在于数据结构:图像更多体现空间结构,语音更多体现时间结构,且语音中常同时包含语言内容、说话人信息、情感与噪声。因此语音语言模型的一个核心,是把连续声学信号压缩、映射为大语言模型可处理的语义序列
\todochen{展开本小节正文:语音识别与语音理解;语音问答、语音翻译和语音对话;语音编码器与大语言模型连接;连续声学信号的时序压缩;语音 token 与文本 token 的对齐;语音指令微调;口语化、方言、噪声和重叠语音问题;以及语音语言模型在人机交互中的应用。讲述顺序建议从语音识别开始,再扩展到语音理解、语音问答和语音对话,使学生理解语音语言模型从“转写语音”发展到“理解语音指令并完成任务”的过程。代表模型可选 Whisper、SpeechGPT、Qwen-Audio、SALMONN 等}
\todochen{将本小节展开为连贯的教学正文:从语音如何先被编码再接入大语言模型讲起,说明模型如何从“转写语音”发展到“理解语音指令并完成任务”(语音问答、翻译、对话);解释语音 token 与文本 token 的对齐;并讨论口语化、方言、噪声、多人重叠等现实难点。叙述以结构与训练目标为主线,与上文视觉语言模型形成对照,并简要梳理代表工作(如语音识别、语音大模型方向的代表性工作)}
% ----------------------------------------------------------
\subsection{多模态指令微调与对齐训练}
\subsection{多模态指令微调与对齐}
\label{sub:instruct}
\paragraph{解决的机器学习问题。}多模态模型具备图像或语音输入能力后,还需要通过\keyword{指令微调}学习人类任务格式。指令微调使模型能够理解用户意图,并根据图像、语音、文本等条件完成问答、解释、推理、编辑和生成等任务。从机器学习角度看,多模态指令微调的作用是\textbf{把预训练模型的感知能力转化为任务执行能力}:预训练阶段学习模态表示和语义对应关系,指令微调阶段学习如何按照用户指令组织输入、调用上下文并生成符合要求的输出。
\paragraph{指令数据与训练范式。}
\begin{itemize}
\item \keyword{监督指令微调(SFT)}:构造图像问答、图像描述、图文推理等多模态指令数据,统一任务格式(图像侧代表:LLaVA-Instruct)。
\item \keyword{偏好对齐}:通过人类反馈强化学习(RLHF)或直接偏好优化(DPO)让输出更符合人类偏好与安全要求。
\item \keyword{鲁棒性与安全对齐}:缓解多模态幻觉,提升复杂指令下的视觉推理可靠性。
\end{itemize}
模型具备图像或语音输入能力后,一般仍需通过\keyword{指令微调}学会理解用户意图并按规定格式作答,再通过\keyword{偏好对齐}使输出更符合人类偏好与安全要求。指令微调、RLHF 与 DPO 等方法本身已在第三部分讨论,本小节只说明其在多模态情形下的特殊之处。
\paragraph{语音/音频怎么体现。}
\todochen{补充语音问答数据、语音翻译数据、语音对话数据和跨模态指令数据的构造方式,以及语音侧的多轮对话训练与安全对齐。}
其特殊性主要体现在两方面。其一,\keyword{指令数据须包含非文本模态}:多模态指令数据通常由“图像/语音+指令+目标回答”构成,如图像问答、图像描述、图文推理等;其构造成本较高,实践中常借助已有的强文本模型,依据图像的文字标注自动生成大量问答样本(LLaVA 即采用了类似做法)。其二,\keyword{对齐须兼顾模态一致性}:除一般的有用性与安全性外,多模态对齐往往还需抑制前述视觉幻觉,使模型的回答尽量忠实于实际输入的图像或语音,而非依赖语言先验作出臆测。
\begin{importantnote}
指令微调把课程从“模型结构层面”推进到“训练范式层面”,也为后续可控生成和交互式生成打下基础:理解用户意图,是可控生成的前提。
\end{importantnote}
\paragraph{语音侧的指令数据。}
\todochen{补充语音问答、语音翻译、语音对话等指令数据的构造方式,以及语音场景下的多轮对话训练与安全对齐。}
% ----------------------------------------------------------
\subsection{图像—语音—文本联合建模}
\label{sub:joint}
\paragraph{解决的机器学习问题。}本小节是 \ref{sec:foundation} 的综合部分,讲图像、语音和文本三类模态的\keyword{联合建模}。真实智能系统通常不只处理单一模态:视频中同时包含画面、声音和字幕;课堂教学中同时包含图像材料、教师语音和文本内容;智能助手可能需要根据用户语音指令理解图像,并通过文本或语音给出回答。
\paragraph{联合建模的挑战。}图像—语音—文本联合建模要求模型同时处理\textbf{空间结构、时间结构和符号结构}:图像提供视觉空间信息,语音提供时间动态和说话人信息,文本提供明确的语义和逻辑组织。多模态模型需要在统一上下文中综合这些信息,完成跨模态理解、推理和生成。这一小节让学生从双模态系统过渡到更完整的多模态基础模型系统。代表系统:GPT-4o、Gemini 等原生多模态模型。
现实信息往往多模态并存:视频同时包含画面、声音与字幕;课堂同时包含板书、讲解与文字资料。\keyword{联合建模}要求模型在同一上下文中同时处理图像、语音与文本,分别对应空间结构、时间结构与符号结构,并在统一表示中完成跨模态的理解与生成。其主要挑战,在于协调这几种异质结构,尽量保持空间、时间与语义上的一致。从双模态系统推广到三模态及以上的统一系统,是近年多模态模型的一个发展方向,一些较新的模型已尝试在统一框架内原生支持多种模态的输入与输出。
\paragraph{语音/音频怎么体现。}
\todochen{补充视频中视觉、音频和字幕的融合、图像讲解与语音导览、多源信息融合与上下文保持等以语音/音频为核心的联合建模内容。}
\begin{importantnote}
\textbf{\ref{sec:foundation}\ref{sec:generation} 的承接关系}\ref{sec:foundation} 是“理解与交互层”,解决“多模态模型如何理解图像、语音和文本”;\ref{sec:generation} 是“生成与控制层”,解决“模型如何在给定条件下生成新内容”。多模态理解能力为条件生成提供输入基础,指令微调能力为可控生成提供交互基础。
\end{importantnote}
\paragraph{以语音/音频为核心的联合场景。}
\todochen{补充以语音/音频为主的联合建模内容,如视频中画面、声音、字幕的融合,看图配语音讲解,以及多路信息在长上下文中的时间同步等。}
% ============================================================
......@@ -237,27 +491,27 @@
\label{sec:generation}
% ============================================================
\subsection*{本节内容定位}
本节讲解多模态生成式人工智能中的\keyword{条件生成建模}问题。从机器学习角度看,文本生成图像、图像编辑、语音合成、文本生成音频和跨模态交互生成,都可以统一理解为\textbf{条件分布学习}问题。其基本形式为:
本节讨论多模态内容的生成。文本生成图像、图像编辑、语音合成、文本生成音频等任务表面各异,但大体可统一表述为同一个数学问题:在给定条件 $c$ 下,学习目标内容 $x$ 的条件分布并从中采样,
\begin{equation}
\text{给定条件 } c,\ \text{学习目标模态 } x \text{ 的条件分布 } p(x \mid c),
\text{学习 } p(x\mid c)\ \text{并从中采样得到新的 } x .
\label{eq:cond}
\end{equation}
其中条件 $c$ 可以是文本、图像、语音、音频、用户指令或历史上下文;目标模态 $x$ 可以是图像、语音、音频或视频。本节讲述逻辑按生成建模难度逐步展开:
\begin{center}
条件生成基础\ $\rightarrow$\ 视觉内容生成\ $\rightarrow$\ 视觉内容编辑\ $\rightarrow$\ 语音内容生成\ $\rightarrow$\ 音频内容生成\ $\rightarrow$\ 跨模态交互生成。
\end{center}
其中条件 $c$ 可为文本、图像、语音或指令,目标 $x$ 可为图像、语音或音频。本节先建立条件生成的基本概念,再依次讨论文本生成图像、图像编辑、语音生成、音频生成与跨模态交互生成。阅读每一种任务时,建议对照式~\eqref{eq:cond},明确其中的 $c$$x$ 各指什么。
% ----------------------------------------------------------
\subsection{条件生成模型基础}
\label{sub:genbasic}
\paragraph{解决的机器学习问题。}本小节从机器学习角度讲解\keyword{生成模型}\keyword{条件生成模型}的基本概念。生成模型的目标是学习数据分布 $p(x)$,并从该分布中采样生成新样本;条件生成模型进一步引入条件变量 $c$,使模型能够根据文本、图像、语音或其他输入,建模 $p(x\mid c)$,生成符合条件要求的目标模态内容。先区分\keyword{判别模型}(学习 $p(y\mid x)$,输入到标签或输出的映射)与\keyword{生成模型}(学习数据本身的分布结构)。
\paragraph{概率分布与采样。}理解生成模型,先要明确两个基本概念。\keyword{概率分布}是对一个随机对象所有可能取值给出概率(离散情形)或概率密度(连续情形)的描述。以图像为例,可设想在“所有可能图像”构成的高维空间上存在一个分布 $p(x)$:真实、自然的图像所在区域概率较高,杂乱无意义的像素组合概率较低。\keyword{采样}则是按某分布抽取一个具体取值。需要强调,机器学习中所说的“生成”,大体上可以理解为\emph{从一个分布中采样}
这一概念对文本与图像是相通的。语言模型在生成时,每一步给出“下一个词”在词表上的概率分布,再据此抽取一个词,逐步连成句子——这就是\keyword{采样文字}。图像生成则是在图像分布上抽取一个高维向量(即一幅图像)——这就是\keyword{采样向量}。无论目标是离散的词还是连续的图像向量,生成大体都遵循“先有分布、再采样”的模式。
\paragraph{判别模型与生成模型。}据此可区分两类模型。\keyword{判别模型}学习的是条件 $p(y\mid x)$,即由输入预测标签,关注类别之间的分界;先前多数任务属此类。\keyword{生成模型}学习的是数据本身的分布 $p(x)$,学成之后即可采样出新的、训练集中未必出现过的样本。\keyword{条件生成模型}进一步引入条件 $c$,学习 $p(x\mid c)$,从而能按指定条件采样,例如要求“生成一只猫”而非任意图像。在多模态生成中,条件 $c$ 正是连接不同模态的纽带:文本可作为图像生成的条件,原图与指令可作为图像编辑的条件。
\paragraph{常见生成建模方法。}如何建模并从复杂分布中采样,历史上发展出若干方法(表~\ref{tab:genfamily}):生成对抗网络\cite{gan}、变分自编码器\cite{vae}、扩散模型\cite{ddpm},以及第四部分已讨论的基于流的生成模型。本节将以扩散模型为主线,因其近年在图像、语音、音频生成中应用较广。各方法的数学细节不在此展开,读者只需把握它们都在回答同一问题:如何建模数据分布并从中采样。
\paragraph{常见生成建模方法。}
\begin{longtable}{p{0.20\linewidth}p{0.40\linewidth}p{0.28\linewidth}}
\caption{常见生成建模方法对比}\label{tab:genfamily}\\
\begin{longtable}{p{0.20\linewidth}p{0.46\linewidth}p{0.22\linewidth}}
\caption{常见生成建模方法(仅列核心思想)}\label{tab:genfamily}\\
\toprule
方法 & 核心思想 & 代表 \\
\midrule
......@@ -266,135 +520,138 @@
方法 & 核心思想 & 代表 \\
\midrule
\endhead
自回归生成 & 按顺序逐 token 建模 $p(x)=\prod_t p(x_t\mid x_{<t})$ & PixelCNN、图像 token 自回归 \\
变分自编码器(VAE) & 引入隐变量,优化变分下界(ELBO) & VAE、VQ-VAE \\
生成对抗网络(GAN) & 生成器与判别器对抗训练 & StyleGAN \\
扩散模型 & 前向加噪、反向逐步去噪 & DDPM、Stable Diffusion \\
基于流的模型 & 可逆变换、显式密度 & Glow、Flow Matching \\
自回归 & 按顺序逐元素建模 $p(x)=\prod_t p(x_t\mid x_{<t})$,逐步采样 & 语言模型、图像自回归 \\
变分自编码器 & 引入隐变量,优化重建与分布约束的折中 & VAE \\
生成对抗网络 & 生成器与判别器对抗,提升样本逼真度 & GAN \\
扩散模型 & 正向逐步加噪、反向逐步去噪并采样 & DDPM \\
基于流的模型 & 以可逆变换在简单分布与数据分布间建立映射 & Normalizing Flow \\
\bottomrule
\end{longtable}
这里不展开所有数学细节,重点让学生理解这些方法都在解决“如何建模并采样数据分布”的问题。
\paragraph{条件变量的多模态性。}在多模态生成任务中,条件变量尤为重要:文本可以作为图像生成条件,原图和编辑指令可以作为图像编辑条件,文本和说话人信息可以作为语音生成条件,图像、语音和历史上下文可以共同作为跨模态生成条件。本小节先把多模态内容生成统一到式~\eqref{eq:cond} 的条件生成框架中,再为后续图像生成、图像编辑、语音生成和音频生成提供共同理论入口,避免后续内容变成任务罗列。
% ----------------------------------------------------------
\subsection{视觉内容生成:文本生成图像}
\subsection{文本生成图像}
\label{sub:t2i}
\paragraph{解决的机器学习问题。}本小节讲解文本生成图像任务,即建模
\keyword{文本生成图像}建模的是 $p(\text{图像}\mid\text{文本})$:给定一段文字描述,采样出与之语义较为一致的图像。这一方向经历了较明显的方法演变:早期曾用生成对抗网络直接由文本生成图像;DALL·E\cite{dalle}将图像离散为 token 后以自回归方式生成;此后扩散模型逐渐成为较主流的一类方法,GLIDE\cite{glide}、DALL·E 2\cite{dalle2}、Imagen\cite{imagen}在开放域文本生成图像上取得了较好效果,而潜在扩散模型\cite{ldm}(即 Stable Diffusion 的基础)通过在低维潜在空间中做扩散,显著降低了计算成本。下面以扩散模型为例,较完整地说明其训练与采样过程,并解释它如何实现式~\eqref{eq:cond} 所要求的“建模分布并采样”。
\paragraph{基本思想:加噪与去噪。}扩散模型包含两个方向相反的过程(图~\ref{fig:diffusion})。\keyword{正向过程}对一幅真实图像 $x_0$ 逐步加入高斯噪声,经过 $T$ 步后得到接近纯噪声的 $x_T$;这一过程是预先设定的,无需学习。\keyword{反向过程}则需要学习:训练一个神经网络,使其能从带噪图像中估计所含噪声,从而每步去除一部分噪声。学会“去噪”之后,生成时便从纯噪声出发,反复去噪,逐步还原出一幅图像。
\begin{figure}[htbp]
\centering
\begin{tikzpicture}[>={Latex[length=2.4mm]},every node/.style={font=\small}]
\node (xt) {$x_T$(纯噪声)};
\node[right=16mm of xt] (xm) {$\cdots$};
\node[right=16mm of xm] (x1) {$x_1$};
\node[right=16mm of x1] (x0) {$x_0$(清晰图像)};
\draw[->] (xt)--(xm) node[midway,above]{\scriptsize 去噪};
\draw[->] (xm)--(x1) node[midway,above]{\scriptsize 去噪};
\draw[->] (x1)--(x0) node[midway,above]{\scriptsize 去噪};
\draw[->,dashed,CourseGold] (x0) to[bend right=26] node[midway,below]{\scriptsize 正向加噪(预设,无需学习)} (xt);
\end{tikzpicture}
\caption{扩散模型:正向逐步加噪(虚线),反向逐步去噪并采样(实线)。生成从纯噪声开始,沿反向链得到图像。}
\label{fig:diffusion}
\end{figure}
\paragraph{训练目标。}正向过程加噪到第 $t$ 步,可一次写出
\begin{equation}
p(\text{图像}\mid \text{文本}).
x_t=\sqrt{\bar\alpha_t}\,x_0+\sqrt{1-\bar\alpha_t}\,\epsilon,\qquad \epsilon\sim\mathcal{N}(0,I),
\end{equation}
模型需要根据文本提示词中的主体、属性、动作、风格、布局和场景关系,生成与文本语义一致的图像。文本生成图像是条件生成建模在视觉模态中的典型体现。
\paragraph{扩散模型的去噪生成过程。}以扩散模型为主线说明视觉生成。前向过程对真实图像 $x_0$ 逐步加入高斯噪声,第 $t$ 步可写为
其中系数 $\bar\alpha_t$$t$ 增大而减小,表示越靠后原图成分越少、噪声成分越多。训练一个网络 $\epsilon_\theta(x_t,t,c)$,令其根据带噪图 $x_t$、步数 $t$ 与条件 $c$ 估计所加噪声 $\epsilon$,目标是估计得尽量准确:
\begin{equation}
x_t = \sqrt{\bar\alpha_t}\,x_0 + \sqrt{1-\bar\alpha_t}\,\epsilon,\qquad \epsilon\sim\mathcal{N}(0,I),
\mathcal{L}_{\text{diff}}=\mathbb{E}_{x_0,\epsilon,t}\big\lVert\,\epsilon-\epsilon_\theta(x_t,t,c)\,\big\rVert_2^2 .
\end{equation}
其中 $\bar\alpha_t$ 是噪声调度。反向过程训练一个网络 $\epsilon_\theta(x_t,t,c)$ 在文本条件 $c$ 下预测噪声,目标函数为
此处的条件 $c$ 即文本:文字经文本编码器(常用 \ref{sub:align} 中与图像对齐过的文本表示)转为向量后注入网络,使每一步去噪都依赖于文本,从而引导生成朝符合描述的方向进行。
\paragraph{如何采样:从噪声到图像。}训练完成后,可按如下方式采样,对应式~\eqref{eq:cond} 的“从 $p(x\mid c)$ 采样”。先从简单分布中采样初值 $x_T\sim\mathcal{N}(0,I)$;随后令 $t$$T$ 递减到 $1$,反复执行
\begin{equation}
\mathcal{L}_{\text{diff}} = \mathbb{E}_{x_0,\epsilon,t}\big\|\,\epsilon - \epsilon_\theta(x_t,t,c)\,\big\|_2^2 .
x_{t-1}=\frac{1}{\sqrt{\alpha_t}}\Big(x_t-\frac{1-\alpha_t}{\sqrt{1-\bar\alpha_t}}\,\epsilon_\theta(x_t,t,c)\Big)+\sigma_t\,z,\qquad z\sim\mathcal{N}(0,I),
\label{eq:ddpm-sample}
\end{equation}
推理时从纯噪声出发,逐步去噪得到符合文本要求的图像。为提升计算效率,现代方法(如 Stable Diffusion)在\keyword{潜在空间}而非像素空间进行扩散
即每一步先用网络估计并去除一部分噪声,再注入少量随机噪声 $\sigma_t z$ 以维持采样的随机性;迭代至 $t=1$ 得到的 $x_0$ 即为生成的图像。可以看出,这条反向链条实际上\emph{定义}了一个以 $c$ 为条件、可从中采样的分布 $p_\theta(x_0\mid c)$,它对应我们要建模的 $p(x\mid c)$。由于每次采样的初值不同,同一段文字往往可生成多样的结果
\paragraph{文本条件如何改变生成分布(Classifier-free Guidance)。}文本条件通过文本编码器(如 CLIP 文本塔、T5)注入去噪网络。为增强语义一致性,常用\keyword{无分类器引导(Classifier-free Guidance, CFG)}:训练时随机丢弃条件,推理时把条件与无条件预测做外推
\paragraph{增强文本一致性:无分类器引导。}为加强生成对文本的服从程度,实践中常采用\keyword{无分类器引导}\cite{cfg}:在每一步同时计算“给定条件”与“不给条件”两种噪声估计,并放大二者之差
\begin{equation}
\tilde{\epsilon}_\theta(x_t,c) = \epsilon_\theta(x_t,\varnothing) + w\,\big(\epsilon_\theta(x_t,c) - \epsilon_\theta(x_t,\varnothing)\big),
\tilde{\epsilon}_\theta(x_t,c)=\epsilon_\theta(x_t,\varnothing)+w\,\big(\epsilon_\theta(x_t,c)-\epsilon_\theta(x_t,\varnothing)\big),
\label{eq:cfg}
\end{equation}
其中引导强度 $w$ 越大,生成结果越贴合文本,但多样性下降。式~\eqref{eq:cfg} 是“文本条件如何改变图像生成分布”这一核心问题的直接体现。代表模型:DALL$\cdot$E~2、Imagen、Stable Diffusion。
\begin{importantnote}
讲授时可将复杂数学适度简化,突出三个递进问题:文本生成图像的任务形式 $p(\text{图像}\mid\text{文本})$;文本条件如何进入生成模型;模型如何从噪声或潜在变量中逐步生成符合文本要求的图像。评价维度包括生成质量、多样性和语义一致性。
\end{importantnote}
其中 $\varnothing$ 表示不提供条件,引导强度 $w>1$。括号内是“顾及文本”相对“不顾文本”所多出的方向,乘以 $w$ 即放大对文本的服从。一般而言,$w$ 越大,结果越贴合文本,但样本多样性可能下降,需要权衡。
% ----------------------------------------------------------
\subsection{视觉内容编辑:保持约束下的条件生成}
\subsection{图像编辑:约束条件下的生成}
\label{sub:edit}
\paragraph{解决的机器学习问题。}与文本生成图像相比,\keyword{图像编辑}多了一个重要约束:模型需要在已有图像基础上进行修改。因此图像编辑可以表示
文本生成图像是从噪声生成全新图像,\keyword{图像编辑}则要在一幅\emph{已有图像}上做修改,因而多出一项关键约束:在引入目标改动的同时,尽量保持原图的主体、结构或风格不变。其建模形式可写
\begin{equation}
p(\text{编辑后图像}\mid \text{原图},\ \text{编辑指令},\ \text{mask 或结构条件}).
p(\text{编辑后图像}\mid \text{原图},\ \text{编辑指令},\ \text{掩码或结构条件}).
\end{equation}
图像编辑的核心问题是如何在\textbf{保持原图主体、结构、身份或风格一致性}的同时,引入新的目标语义。例如,将图像背景替换为雪山时,模型需要改变背景内容,同时保持人物面部、姿态和主体结构。
例如把背景替换为雪山时,模型需改变背景,同时尽量保持人物的面部、姿态与主体结构。图像编辑的一个核心,正是在“目标改动”与“原图保持”之间取得平衡。其一般形式如图~\ref{fig:edit} 所示:以原图和某种\keyword{编辑条件}为输入,交由生成模型(多为扩散模型)产生结果。
\begin{figure}[htbp]
\centering
\begin{tikzpicture}[>={Latex[length=2mm]},
box/.style={draw,rounded corners,minimum height=0.85cm,align=center,font=\scriptsize}]
\node[box,fill=CourseGreen!16,minimum width=1.5cm] (orig) {原图};
\node[box,fill=CourseGold!18,below=16mm of orig,minimum width=3.4cm,align=center] (cond) {编辑条件\\(文本指令 / 掩码 / 结构图 / 参考图)};
\coordinate (mid) at ($(orig)!0.5!(cond)$);
\node[box,fill=CourseGray,right=26mm of mid,minimum width=2.0cm,align=center] (model) {生成模型\\(扩散)};
\node[box,fill=CourseBlue!14,right=12mm of model,minimum width=1.9cm] (out) {编辑后图};
\draw[->] (orig) -| (model);
\draw[->] (cond) -| (model);
\draw[->] (model)--(out);
\node[font=\scriptsize,align=center,below=1.5mm of out] {保持原图其余部分,\\仅按条件改动};
\end{tikzpicture}
\caption{图像编辑的一般形式:以原图与编辑条件为输入,生成在保持原图其余部分的同时按条件改动的结果。不同代表工作的差异,主要在于“编辑条件”的形式。}
\label{fig:edit}
\end{figure}
对照图~\ref{fig:edit},代表工作的区别主要在于图中“编辑条件”取何种形式,据此可分为以下几类:
\paragraph{典型任务与方法。}
\begin{itemize}
\item \keyword{图像修复与图像扩展}(inpainting / outpainting):基于 mask 在缺失区域条件生成。
\item \keyword{局部重绘与 mask 条件控制}:只在指定区域修改,保持其余部分不变。
\item \keyword{文本引导编辑}:用自然语言描述修改目标(代表:SDEdit、Prompt-to-Prompt)。
\item \keyword{指令式图像编辑}:直接给出编辑指令(代表:InstructPix2Pix)。
\item \keyword{结构控制与身份保真}:用边缘、深度、姿态等结构条件或参考图约束生成(代表:ControlNet、DreamBooth)。
\item \keyword{图像修复与扩展}:在指定的缺失或外延区域生成内容,由掩码约束“仅在此处生成”。
\item \keyword{文本引导编辑}:以自然语言描述目标,在尽量保留原图的前提下实现该描述,如 SDEdit\cite{sdedit}与 Prompt-to-Prompt\cite{p2p}
\item \keyword{指令式编辑}:直接给出编辑命令(如“将天空改为黄昏”),模型据此修改,如 InstructPix2Pix\cite{ip2p}
\item \keyword{结构控制与身份保持}:以边缘图、深度图、人体姿态等作为额外约束以固定构图,如 ControlNet\cite{controlnet};或借助少量参考图保持特定对象的身份,如 DreamBooth\cite{dreambooth}
\end{itemize}
\paragraph{评价要点。}图像编辑的质量不仅取决于生成内容是否真实,还取决于\textbf{编辑是否准确、原图信息是否保留、局部修改是否与整体一致}。这里应重点突出“生成目标”和“保持约束”之间的平衡:本小节承接 \ref{sub:t2i} 的视觉生成能力(从文本生成新图像),进一步讨论在原图约束下生成编辑结果,使学生理解生成模型不仅可以从零生成内容,也可以在已有内容基础上进行受控修改。
\begin{importantnote}
评价图像编辑一般不能只看新内容是否真实,还需考察三点:是否较准确地实现了目标改动;不应改动之处是否得到保持;局部修改是否与整体较为协调。这三者之间的平衡,是图像编辑较之纯生成更为困难之处。
\end{importantnote}
% ----------------------------------------------------------
\subsection{语音内容生成:序列条件生成与声学建模}
\subsection{语音生成:连续信号的条件生成}
\label{sub:tts}
\paragraph{解决的机器学习问题(框架)。}本小节讲解语音生成任务。语音合成可以表示为
将式~\eqref{eq:cond} 中的目标 $x$ 取为语音、条件 $c$ 取为文本及说话人、情感等,即得到\keyword{语音合成}
\begin{equation}
p(\text{语音}\mid \text{文本},\ \text{说话人},\ \text{风格},\ \text{情感}).
\end{equation}
语音生成与图像生成存在显著差异:图像主要是\textbf{空间结构生成},语音则是\textbf{连续时间序列生成}。语音合成不仅要准确表达文本内容,还要生成自然的音色、韵律、语速、停顿和情感
它与图像生成的一个根本差异在于:图像多为空间结构的一次性生成,语音则是随时间展开的连续序列生成。较好的语音合成不仅要准确传达文本内容,通常还需生成较自然的音色、韵律、语速与停顿
\todochen{展开本小节正文:先讲文本到语音合成的基本流程(文本前端、声学模型和神经声码器),再进一步讲解现代生成式语音模型中的音色建模、韵律控制、情感控制、零样本语音合成和声音克隆;强调语音生成的目标不仅是“读出文字”,还包括生成自然、可懂、符合说话人特征和情感风格的连续声学信号;并对照 \ref{sub:t2i} 说明连续时间信号生成与视觉空间生成之间的差异。代表模型可选 Tacotron、VITS、VALL-E、NaturalSpeech 等。同时讨论语音生成的安全与伦理问题(如声音克隆滥用)}
\todochen{将本小节展开为连贯正文:先讲文本到语音的基本流程(文本前端、声学建模、声码器),再讲音色、韵律与情感的控制,以及零样本合成与声音克隆;强调目标是自然、可懂且符合说话人特征的连续声学信号,并与文本生成图像对照,指出连续时间信号生成与空间生成的差异;简要梳理代表工作。同时讨论声音克隆带来的安全与伦理问题}
% ----------------------------------------------------------
\subsection{音频内容生成:声音事件与声景的条件生成}
\subsection{音频生成:声音事件与声景的条件生成}
\label{sub:t2a}
\paragraph{解决的机器学习问题(框架)。}本小节讲解一般音频生成任务。文本生成音频可以表示为
\begin{equation}
p(\text{音频}\mid \text{文本描述}).
\end{equation}
这里的音频范围比语音更广,包括环境声、音乐片段、声音事件和复杂声景。一般音频生成与语音合成都需生成连续声音信号,但语音具有明确的语言内容和发音规则,而一般音频更强调声音事件、环境结构、时间变化和声学真实感,因此建模难度更高。
除语音外,还有更广泛的声音:环境声、音乐片段、声音事件与复杂声景。令模型据文字描述生成此类声音,即一般\keyword{音频生成},建模 $p(\text{音频}\mid\text{文本描述})$。它与语音合成都需生成连续声音信号,但语音有较明确的语言内容与发音规则,一般音频则更强调声音事件、环境层次与时间上的变化,且常有多个声源叠加,建模难度往往更高。
\todochen{展开本小节正文:文本到音频生成、声音事件生成、声景生成、音频扩散模型和文本引导音频编辑;重点放在模型如何根据高层语义描述生成具有时间结构和声学真实感的音频;并说明本小节承接 \ref{sub:tts} 的声音生成问题,从语音扩展到一般音频。代表模型可选 AudioLDM、AudioGen、MusicGen 等}
\todochen{将本小节展开为正文:文本到音频、声音事件生成、声景生成、音频上的扩散建模与文本引导的音频编辑等;重点说明模型如何依据高层文字描述,生成具有时间结构与声学真实感的音频,并说明它是上一小节声音生成从语音到一般音频的推广;简要梳理代表工作}
% ----------------------------------------------------------
\subsection{跨模态交互生成:多条件生成与可控生成}
\subsection{跨模态交互生成}
\label{sub:anytoany}
\paragraph{解决的机器学习问题。}本小节是 \ref{sec:generation} 的综合部分,讲解多个模态共同参与生成过程的情况。跨模态交互生成可以表示为
前述任务多为单一条件、单向生成。更接近实际应用的,是\keyword{多条件、多模态、多轮}的交互生成:
\begin{equation}
p(\text{目标模态}\mid \text{文本},\ \text{图像},\ \text{语音},\ \text{历史上下文},\ \text{用户指令}).
\end{equation}
这一类任务已经从单一条件生成发展为\keyword{多条件、多模态、多轮交互生成}。例如,模型可以根据图像生成语音讲解,可以根据语音指令控制图像编辑,可以根据图像和文本联合生成音效,也可以在多轮对话中不断修改生成结果。
\paragraph{核心难点。}跨模态交互生成的难点在于不同模态的结构并不一致:图像强调空间结构,语音/音频强调时间结构,文本强调语义和逻辑结构。模型需要在生成过程中同时保持\textbf{语义对应、空间一致、时间一致和用户意图一致}。这与 \ref{sec:repr} 的跨模态对齐、\ref{sec:foundation} 的多模态理解前后呼应:先有统一表示和理解,才有可控的多模态生成。
\paragraph{图像侧的体现与代表系统。}图像到文本、文本到图像、图像生成语音讲解、语音控制图像编辑、图像和文本联合生成音频等,都是其具体形式。代表系统:GPT-4o、Gemini 等原生多模态模型,以及 CoDi、Emu 等任意模态到任意模态的生成框架。
例如:依据图像生成语音讲解;依据语音指令修改图像;依据图像与文本共同生成配套音效;或在多轮对话中不断修订生成结果。其主要难点在于不同模态的结构不一致——图像较重空间、语音/音频较重时间、文本较重逻辑——模型需在生成过程中尽量同时保持语义对应、空间一致、时间同步与用户意图一致。这与本讲前两节相呼应:往往需先具备跨模态对齐与多模态理解能力,才能实现较为可控的多模态生成。近年也出现了一些尝试在统一框架内支持“任意模态到任意模态”生成的工作,如 CoDi\cite{codi}
\paragraph{语音/音频怎么体现}
\todochen{补充以语音/音频为目标或条件的交互生成内容,如视频配音与图像讲解、语音驱动的多轮交互生成、跨模态一致性与可控性评价等}
\paragraph{以语音/音频为目标或条件的交互生成}
\todochen{补充以语音/音频参与的交互生成,如视频配音与看图讲解、语音驱动的多轮修改,以及跨模态生成一致性与可控性的评价}
\begin{importantnote}
\textbf{\ref{sec:generation} 与后续应用专题的承接关系}\ref{sec:generation} 提供生成式模型方法,后续应用专题进一步讨论这些方法如何在真实场景中受到噪声、实时性、安全性、可靠性和可解释性等因素影响。图像、语音和音频生成模型提供了通用的跨模态内容生成能力,而复杂应用系统要求模型在更严格的环境中完成稳定、可信和可控的智能处理
本节讨论的是较为通用的条件生成能力。要在真实场景中落地,通常还需应对噪声、实时性、安全性与可靠性等更严苛的要求,这属于后续应用专题(如复杂物理信号分析、复杂环境感知与系统应用)的范畴
\end{importantnote}
% ============================================================
\section*{本讲整体逻辑总结}
\addcontentsline{toc}{section}{本讲整体逻辑总结}
% ============================================================
第五部分按照高级机器学习的主线组织,形成三个层次:
\begin{itemize}
\item \keyword{第一层 表示与对齐}\ref{sec:repr}):回答“图像、语音和文本如何被表示,如何通过学习进入统一语义空间”,对应表示学习、自监督和对齐学习。
\item \keyword{第二层 结构与训练}\ref{sec:foundation}):回答“图像、语音等非文本模态如何接入大语言模型,并形成理解、推理和指令响应能力”,对应模型结构设计、表示空间映射、指令微调和联合建模。
\item \keyword{第三层 生成与控制}\ref{sec:generation}):回答“模型如何在给定文本、图像、语音等条件下生成新的图像、语音和音频内容”,对应生成建模、条件分布学习、可控生成和跨模态交互生成。
\end{itemize}
\noindent 三者之间的逻辑关系是:
\begin{center}
\textbf{先有表示,才能对齐;先有对齐,才能融合;先有融合,才能构建多模态基础模型;先有多模态理解能力,才能实现可控的多模态生成。}
\end{center}
\noindent 因此,本讲的讲述重点不是简单介绍图像、语音和文本任务,而是从机器学习机制出发,解释多模态生成式人工智能系统如何形成:从数据表示到语义对齐,从模型结构到训练方法,从理解推理到条件生成,最终形成面向真实场景的图像—语音—文本联合智能系统。
\begin{importantnote}
\textbf{教学目标自查}:学完本讲后,应能够——理解图像、语音/音频和文本的基本表示方式;掌握多模态表示学习、自监督预训练和跨模态对齐的基本思想;理解视觉编码器、语音编码器与大语言模型的连接方式;掌握视觉语言模型和语音语言模型的基本结构与训练方法;理解多模态指令微调与对齐训练的作用;掌握条件生成建模的基本思想;理解文本生成图像、图像编辑、语音合成、文本生成音频和跨模态交互生成的主要技术路线;能够从表示学习、对齐学习、模型结构、训练方法和条件生成五个角度分析典型多模态生成式人工智能系统。
\end{importantnote}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论