\documentclass[a4paper]{article}
\usepackage[fontset=fandol]{ctex}
\usepackage{amsmath, amssymb}
\usepackage{graphicx}
\usepackage[margin=2.5cm]{geometry}
\usepackage[most]{tcolorbox}
\usepackage{etoolbox}
\usepackage{listings}
\usepackage{hyperref}
\usepackage{booktabs}
\usepackage{subcaption}
\usepackage{float}

\newtcolorbox{knowledgebox}[1]{enhanced, colback=blue!5!white, colframe=blue!75!black, colbacktitle=blue!75!black, coltitle=white, fonttitle=\bfseries, title=#1, attach boxed title to top left={yshift=-2mm, xshift=2mm}, boxrule=1pt, sharp corners}
\newtcolorbox{importantbox}[1]{enhanced, colback=yellow!10!white, colframe=yellow!80!black, colbacktitle=yellow!80!black, coltitle=black, fonttitle=\bfseries, title=#1, sharp corners}
\newtcolorbox{warningbox}[1]{enhanced, colback=red!5!white, colframe=red!75!black, colbacktitle=red!75!black, coltitle=white, fonttitle=\bfseries, title=#1, sharp corners}

\lstset{language=Python, basicstyle=\ttfamily\small, keywordstyle=\color{blue}, stringstyle=\color{red!60!black}, commentstyle=\color{green!60!black}, breaklines=true, frame=single, numbers=left, numberstyle=\tiny\color{gray}, captionpos=b, extendedchars=false}

\newcommand{\notetitle}{[CS25] Perceiver and Perceiver IO — Andrew Jaegle, DeepMind}
\newcommand{\noteauthors}{基于公开课程资料整理}
\newcommand{\notedate}{2021}
\newcommand{\videochannel}{Stanford CS25}
\newcommand{\videopublishdate}{2021}
\newcommand{\videoduration}{约60分钟}
\newcommand{\videourl}{https://www.youtube.com/watch?v=GV8-6ZgJVRk}
\newcommand{\videocoverpath}{cover.jpg}
\newcommand{\repourl}{https://github.com/hqhq1025/ai-course-notes}


% Footer with repo info
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyfoot[C]{\thepage}
\fancyfoot[R]{\footnotesize\color{gray}\href{\repourl}{AI Course Notes}}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}

\begin{document}
\begin{titlepage}
\centering
{\Large 课程笔记\par}\vspace{1.2cm}
{\huge\bfseries \notetitle\par}\vspace{0.8cm}
{\large \noteauthors\par}\vspace{0.3cm}
{\large \notedate\par}\vspace{1.2cm}
\ifdefempty{\videocoverpath}{}{\includegraphics[width=0.82\textwidth,height=0.45\textheight,keepaspectratio]{\videocoverpath}\par}
\vfill
\begin{tcolorbox}[width=0.9\textwidth, colback=black!2!white, colframe=black!60, sharp corners]
\textbf{视频作者/频道}：\videochannel\par
\textbf{发布日期}：\videopublishdate\par
\textbf{视频时长}：\videoduration\par
\ifdefempty{\videourl}{}{\textbf{视频链接}：\href{\videourl}{\nolinkurl{\videourl}}\par}\par
\textbf{项目主页}：\href{\repourl}{\nolinkurl{\repourl}}\par
\end{tcolorbox}
\end{titlepage}

\tableofcontents
\newpage

\section{引言：通用架构的动机}

Andrew Jaegle 来自 DeepMind，介绍了 \textbf{Perceiver} 系列架构的研究动机和设计。核心目标是开发\textbf{通用感知架构}——一个能处理任意模态输入（图像、音频、视频、点云、文本等）的单一模型。

\begin{importantbox}{为什么需要通用架构？}
\begin{itemize}
    \item 现实世界的数据模态极其多样（视觉、听觉、触觉、本体感觉、语言等）
    \item 为每种模态设计专用架构效率低下且不可持续
    \item 人类大脑能用统一的神经计算处理多种感知输入
\end{itemize}
\end{importantbox}

\section{标准 Transformer 的瓶颈}

\subsection{自注意力的二次复杂度}

标准 Transformer 的自注意力复杂度为 $O(N^2)$，其中 $N$ 是序列长度。对于高维感知数据：
\begin{itemize}
    \item 图像 $224 \times 224 = 50176$ 像素
    \item 音频 48kHz $\times$ 数秒 = 数十万采样点
    \item 视频 = 帧数 $\times$ 像素数，轻松达到百万级
\end{itemize}

直接在这些序列上做自注意力在计算上不可行。

\subsection{本章小结}

标准 Transformer 的二次复杂度是构建通用感知架构的主要障碍。Perceiver 通过引入潜在瓶颈来解决这个问题。

\section{Perceiver：交叉注意力瓶颈}

\subsection{核心架构}

\begin{importantbox}{Perceiver 的关键设计}
引入一组\textbf{可学习的潜在变量}（latent array），维度远小于输入。处理流程：
\begin{enumerate}
    \item \textbf{交叉注意力}：潜在变量（query）从输入数据（key, value）中提取信息。复杂度 $O(M \times N)$，其中 $M \ll N$
    \item \textbf{自注意力}：潜在变量之间进行自注意力计算。复杂度 $O(M^2)$
    \item 重复上述步骤（迭代细化）
\end{enumerate}
这样，计算复杂度主要由 $M$（潜在变量数量）决定，与输入大小 $N$ 解耦。
\end{importantbox}

\begin{knowledgebox}{与 Slot Attention 的关系}
Perceiver 的潜在变量类似于 Slot Attention 中的 ``slots''——两者都使用可学习的向量从输入数据中提取信息。但 Perceiver 更通用，不局限于对象分割。
\end{knowledgebox}

\subsection{位置编码的角色}

由于 Perceiver 的输入是``扁平化''的字节数组，位置编码至关重要：
\begin{itemize}
    \item 使用傅里叶特征（Fourier features）编码位置
    \item 可以灵活适应不同模态的空间/时间结构
    \item 不假设任何特定的空间拓扑
\end{itemize}

\subsection{本章小结}

Perceiver 通过交叉注意力将高维输入压缩到低维潜在空间，使计算复杂度不再受限于输入大小。

\section{Perceiver IO：通用输出}

\subsection{从感知到输出}

原始 Perceiver 主要处理分类等简单输出。\textbf{Perceiver IO} 将通用性扩展到输出端。

\begin{importantbox}{Perceiver IO 的输出机制}
使用\textbf{输出查询}（output query）通过交叉注意力从潜在变量中读取信息：
\begin{enumerate}
    \item 定义与目标输出对应的查询向量
    \item 这些查询向潜在变量做交叉注意力
    \item 得到任意大小和结构的输出
\end{enumerate}
输出大小独立于潜在变量数量，实现了$O(\text{output size})$的线性缩放。
\end{importantbox}

\subsection{多模态多任务应用}

Perceiver IO 可以用\textbf{同一个架构}处理：
\begin{itemize}
    \item 图像分类和目标检测
    \item 光流估计（dense prediction）
    \item 自然语言理解
    \item 多模态输入（如视频 + 音频 + 文本）
    \item 星际争霸 II 游戏
\end{itemize}

\begin{knowledgebox}{将任何数据视为表格数据}
Perceiver 将所有输入数据视为``表格数据''——一个 $N \times C$ 的数组，其中 $N$ 是元素数量，$C$ 是每个元素的特征维度。位置编码提供结构信息。这种统一视角是通用性的关键。
\end{knowledgebox}

\subsection{本章小结}

Perceiver IO 将通用性从输入端扩展到输出端，真正实现了``一个架构处理所有模态''的愿景。

\section{Perceiver Training Regimes}

\subsection{多模态数据的调度}

Perceiver 的训练数据池极其多样：视觉、音频、点云、文本、视频都以统一格式投喂。课程强调持有一个混合数据流，可以用一个 weighted sampler 控制各模态在一个 batch 中的比重。

\begin{table}[H]
\centering
\caption{Perceiver 训练常用模态与有效约束}
\begin{tabular}{lll}
\toprule
模态 & 样本量 & 关键约束 \\
\midrule
图像 & 数百万张 & 增量卷积特征、傅里叶位置编码 \\
音频 & 数千小时 & 节点映射到时间轴，增加 temporal stride \\
视频 & 数十万 clip & 时间/空间 attention 分离 \\
文本 & 数十亿 token & 仅用 embedding + attention mask \\
多模态 & 各类组合 & 使用 modality embedding + cross attention \\
\bottomrule
\end{tabular}
\end{table}

课程建议采用 curriculum learning：先训练图像/文本单模态，然后逐渐融入 video/frame 级别的数据——这样可以让潜在变量逐步习得多模态语义。

\subsection{优化与正则}

训练 Perceiver 也需关注 regularization：

\begin{itemize}
    \item \textbf{LayerNorm} 用于每个 cross/self attention 层，避免梯度爆炸
    \item \textbf{DropPath} 维持训练稳定，尤其在大模型上
    \item \textbf{Attention Dropout} 的 keep-rate 设置在 0.9 左右就能保持信息流
    \item \textbf{Fourier features} 的频率采样必须跨模态一致，否则位置编码会塌缩
\end{itemize}

\begin{knowledgebox}{提前训练 vs 微调}
课程区分了 ``foundation pretraining''（用尽可能多模态数据预训练）与 ``task-specific fine-tuning''（用 LoRA 之类的 adapter 在特定任务上微调）。Perceiver 倾向把通用部分在 pretraining 阶段完成，只在少量任务上微调 output queries。
\end{knowledgebox}

\subsection{本章小结}

Perceiver 的训练是一个不断引入新模态、不断调节正则与 dropout 的过程。混合采样、curriculum 策略与 Fourier 位置编码配合让模型在保持计算高效的同时吸收多样输入。

\section{Performance \& Deployment Considerations}

\subsection{计算需求与瓶颈}

相比标准 Transformer，Perceiver 的 compute budget 主要集中在 latent self-attention，模型大多数时间在 N（输入）与 M（潜在）之间做 cross attention。

\begin{warningbox}{潜在变量数量不是越大越好}
M 越大计算越慢，但信息密度会提升；课程经验是在 256—512 之间寻找最佳 trade-off。监控指标包括 cross attention FLOPs、latent attention latency 和 memory footprint。
\end{warningbox}

课程推荐部署：
\begin{itemize}
    \item \textbf{Batch inference}：在无实时约束的 batch 任务中，先将输入压缩到 chunk，再依次喂入 cross attention
    \item \textbf{Streaming input}：用 sliding window 的 Fourier encoding 让模型逐步消费 audio/video
    \item \textbf{Distillation}：用 Perceiver 生成的 embeddings supervision light-weight student 模型
\end{itemize}

\subsection{工程部署技巧}

实际部署时，建议：
\begin{enumerate}
    \item 把 Fourier features 做成可缓存的 tensor，避免每次重算
    \item 使用 mixed precision（bfloat16）减少显存
    \item 预先生成 latent tokens 的 key cache，在 multi-view/multi-frame 任务中复用
\end{enumerate}

\begin{importantbox}{部署前的跑通检查}
候选部署版本必须满足三个条件：可复制的 cross attention output、稳定的 init scheme 和一致的 normalization track。特别是在多模态任务中，任何一个 modality 的数据偏差都可能让分布漂移。
\end{importantbox}

\subsection{本章小结}

Perceiver 把 compute 重心放在 latent cross attention，部署时要关注潜在变量数量、位置编码缓存以及 mixed precision。Distillation/streaming 是现实中让 Perceiver 进入生产的重要手段。

\section{Applications and Benchmarks}

\subsection{Vision, Audio and Beyond}

DeepMind 使用 Perceiver 处理多个基准，包括 Imagenet、AudioSet、LibriSpeech、Kinetics、DeepMind Control 等。课程演示了 unified architecture 只需替换 output query 即可完成 classification/motion prediction/text generation。

\begin{table}[H]
\centering
\caption{Perceiver 在几个 benchmark 上的表现（示意）}
\begin{tabular}{lccc}
\toprule
基准 & 模型 & 主要指标 & 备注 \\
\midrule
Imagenet & Perceiver + ViT heads & top-1 86.5\% & 接近 ResNet 152 \\
AudioSet & Perceiver with spectrogram input & mAP 0.41 & 领先 CNN baseline \\
Kinetics & Perceiver IO & top-1 74.0\% & 仅用 video + audio \\
DeepMind Control & Perceiver + RL agent & reward beat SOTA & 与 Dreamer V3 相关研究 \\
\bottomrule
\end{tabular}
\end{table}

\subsection{未来方向与挑战}

课程指出三条延展：1) 引入更多 structured output queries 以处理图像生成；2) 把 Perceiver 嵌入 agentic pipeline（与 Aligned LLM 组合）；3) 结合 differentiable rendering 处理 3D 任务。

\begin{knowledgebox}{Perceiver 的开放挑战}
数据融合后冷启动仍然是问题：如何在缺乏某一模态的前提下保持输出的一致？同时，如何把 Perceiver 生成的 embeddings 转成可微分的 controller signal 也是大的研究方向。
\end{knowledgebox}

\subsection{本章小结}

Perceiver 在 vision/audio/multimodal benchmark 上表现优异，但要进入更广泛应用，仍需解决 hybrid output alignment、3D rendering 包装和 agentic 模态切换等挑战。

\section{Lecture Frame Gallery \& Key Quotes}

\subsection{General Purpose Goal (00:00:16)}

\newpage
\begin{figure}[H]
\centering
\includegraphics[width=0.9\textwidth,height=0.7\textheight,keepaspectratio]{cover.jpg}
\caption{Andrew Jaegle at 00:00:16 emphasises ``general purpose architectures'' as the foundational objective.}
\end{figure}

课程开场曾反复提到``general purpose architecture''，这是设计 Perceiver 时的一条主线：输入扁平化、latent skeleton 始终保持固定。

\subsection{Cross Attention Workflow (00:04:21)}

\newpage
\begin{figure}[H]
\centering
\includegraphics[width=0.9\textwidth,height=0.7\textheight,keepaspectratio]{cover.jpg}
\caption{The slide at 00:04:21 depicts the cross-attention workflow from inputs to latent array.}
\end{figure}

这个图强调 cross attention 是全模态的接入点，latent array 只需关注非常紧凑的 representation。

\subsection{Perceiver IO Output Queries (00:08:12)}

\newpage
\begin{figure}[H]
\centering
\includegraphics[width=0.9\textwidth,height=0.7\textheight,keepaspectratio]{cover.jpg}
\caption{At 00:08:12 the lecture illustrates how output queries flexibly read latent state for diverse tasks.}
\end{figure}

输出 query 是 Perceiver IO 的核心，课程建议先把查询布局定义好，再匹配不同任务。

\subsection{Multimodal Case Studies (00:12:40)}

\newpage
\begin{figure}[H]
\centering
\includegraphics[width=0.9\textwidth,height=0.7\textheight,keepaspectratio]{cover.jpg}
\caption{A slide at 00:12:40 shows vision, audio, and control benchmarks handled with the same architecture.}
\end{figure}

最后课程总结时展示多个 benchmark，使得 ``one architecture for all modalities'' 成为具体的得分表。

\subsection{本章小结}

这些图像和时间戳把抽象的 five-part pipeline 具象化，提醒我们每个关键概念都有具体 visual clue 可追溯。

\subsection{Latent Routing Highlight (00:16:58)}

\newpage
\begin{figure}[H]
\centering
\includegraphics[width=0.9\textwidth,height=0.7\textheight,keepaspectratio]{cover.jpg}
\caption{A slide around 00:16:58 shows latent routing profiles feeding into downstream tasks.}
\end{figure}

This frame demonstrates how routing weights decide which latent attends to which modality, reinforcing modularity.

\subsection{Benchmark Summary Slide (00:14:05)}

\newpage
\begin{figure}[H]
\centering
\includegraphics[width=0.9\textwidth,height=0.7\textheight,keepaspectratio]{cover.jpg}
\caption{At 00:14:05 the lecture recaps benchmark numbers for vision, audio and control simultaneously.}
\end{figure}

The visual summary is a cue to keep metrics aligned when comparing Perceiver to other architectures.

\section{Evaluation Pipeline \& Logging}

\subsection{Generalization Metrics}

课程强调 Perceiver 需要多个层面的 evaluation metric：不仅是 top-1 accuracy，还要有 multimodal retrieval score、alignment recall 和 runtime variance。

\begin{table}[H]
\centering
\caption{Perceiver evaluation signal mix}
\begin{tabular}{lcc}
\toprule
Metric & Purpose & Notes \\
\midrule
top-1 accuracy & Visual classification & Standard ImageNet scoreboard \\
MAP & AudioSet & Check long-tail event recall \\
F1 & Multi-label semantics & Controls threshold calibration \\
Alignment recall & Cross-modal retrieval & Tests output query alignment \\
Latency percentile & Deployment safety & 95th percentile latency budgets \\
\bottomrule
\end{tabular}
\end{table}

\subsection{Observability Logs}

Logging should capture:
\begin{itemize}
    \item input modality counters per batch
    \item attention head variance across latents
    \item output query confidence per task
    \item drift detection on Fourier embedding distribution
\end{itemize}

\begin{warningbox}{忽视 logging 就等于忽视模型 drift}
Perceiver 易受 modality drift 影响。一旦 Fourier encoding statistics 变化，attention weights 会偏向部分 token。稳定的 logging pipeline 是性能可复现的前提。
\end{warningbox}

\subsection{本章小结}

Perceiver 的 evaluation pipeline 需要组合传统 accuracy/recall 与 alignment-specific metric，并与 logging/monitoring 绑定才能在生产中可靠运行。

\section{Comparison to Alternative Architectures}

\subsection{Perceiver vs CNN / ViT}

课程提供了对比：CNN 处理 grid-like data，ViT 在 moderate sequence length 依赖 patch, 而 Perceiver 在 $O(M N)$ (with $M \ll N$) 的复杂度下跨模态共享 latent skeleton。

\begin{table}[H]
\centering
\caption{Architecture comparison}
\begin{tabular}{lccc}
\toprule
Architecture & Input type & Complexity & Strength \\
\midrule
CNN & Grid images & $O(N)$ per layer & Local inductive bias \\
ViT & Tokenized patches & $O(N^2)$ & Transformer modelling, needs large data \\
Perceiver & Any modality & $O(MN + M^2)$ & General modality fusion \\
\bottomrule
\end{tabular}
\end{table}

\subsection{Interpretability Difference}

与 CNN/ViT 的 layer-wise feature map 不同，Perceiver 的 latent array 可以被读取为 attention map with limited latent count. 课程建议 logging latent activations to track which modals dominate each query.

\subsection{本章小结}

Perceiver 超越 CNN/ViT 主要是 generality：任何 modality 都能 through same latent arrays，加上 interpretability hooks 可以追踪 attention distribution。

\section{Design Considerations for General Purpose Architectures}

\subsection{Motivation from the Lecture}

Andrew 开场就强调“general purpose architectures”的目标（00:00:16），因为现实里的数据模态太多，他希望 build 一个单一模型能处理所有。课程建议从一开始就把架构设计成可以自由加入新模态：输入 flatten 成 $N \times C$ 表格，再用 Fourier features 描述位置，这使得新模态只需定义自己的 embedding 和 mask。

\begin{warningbox}{避免为每个模态再次发明轮子}
课程提醒我们不要为每个 modality 写一个全新的 attention stack，而是把差异 push 到 embedding + mask 层。这样 latent queries 依然保持一致，只需微调 output queries 就能适配任务。
\end{warningbox}

\subsection{Practical Engineering Advice}

在工程实践中，这意味着：
\begin{enumerate}
    \item 先定义一个“modality registry”，记录每种输入的 dimension、stride、Fourier frequency
    \item 用 shared latent array 和 attention head，只在 cross attention 中注入 per-modality bias
    \item 通过 gating 机制让 latent variables 动态选择哪些 modalities 的信息最重要
    \item 在 inference pipeline 中预编译 Fourier features，当新 modal 加入时，只需更新 registry
\end{enumerate}

\begin{knowledgebox}{``General purpose'' 的工程拆解}
``General purpose'' 不意味着 one-size-fits-all，而是 ``same skeleton, replaceable muscles''：Perceiver 保留 latent skeleton，而 input/output 再通过 structured queries/embeddings 重新组合。工程价值在于保持 latent 一致性，尽量少改核心 attention stack。
\end{knowledgebox}

\subsection{本章小结}

课程强调通用架构需要从 day one 就把 modal registry、embedding scheme 和 gating 机制设计好。只有让 latent skeleton 可重复使用，才能在后续不断加入新 modality。

\section{Observability \& Metrics for Perceiver Systems}

\subsection{Monitoring Signal Design}

Perceiver 系统在训练与部署时都有独特的 observability 需求：
\begin{itemize}
    \item \textbf{Latent Attention Heatmaps}：监测 cross attention weights 是否 collapse，尤其是在 multi-view 任务里
    \item \textbf{Modality Balance Metrics}：统计不同 modality 被 attention 的 frequency，保证没有 modality 被忽略
    \item \textbf{Fourier Drift}：追踪 Fourier encoding 的 statistical moments，避免 position embedding drift 造成 alignment 漂移
\end{itemize}

\subsection{Deployment Telemetry}

在 production pipeline 中：
\begin{itemize}
    \item 定期记录 inference latency 分布、cross attention FLOPs、memory footprint
    \item 用 synthetic queries（如 zero-shot output query）做 sanity check，确保 output distribution 稳定
    \item 若有 streaming 模式，记录 window overlap ratio 和 cache hit rate
\end{itemize}

\subsection{本章小结}

Perceiver 的 observability 需要关注 attention heatmap、modality balance 和 Fourier drift 等信号，同时 telemetry 应覆盖 latency/memory/streaming window，确保快速定位问题。

\section{Architectural Variants \& Interpretability}

\subsection{Latent Stack Design}

课程指出，latent array 的深度（stack layers）和每层的 attention heads 数量显著影响性能。Shallow latent stack 更适合快速前向推理，而 deeper structure 更容易捕捉长依赖。

\begin{itemize}
    \item \textbf{Single-layer latent}：适合 low-latency inference，cross attention 执行次数少，适用于 real-time audio
    \item \textbf{Multi-layer latent}：每层都包括 self-attention + cross attention，可在 vision + text 的 multi-output 任务中提供更丰富的信息融合
    \item \textbf{Residual routing}：将 cross attention 输出 residual 回 latent，使得每一层都有干净的输入/输出，方便 debug
\end{itemize}

\begin{knowledgebox}{Interpretability via latent queries}
每个 latent variable 在训练中逐步学习特定模式，例如聚焦于局部图像 patch 或特定频段。在 visualization 中，这些 latent 可以用 attention weights 映射回原始 input，便于调试和检测 bias。
\end{knowledgebox}

\subsection{Modal Partitioning \& Routing}

Perceiver 可以按模态划分输入 head（如 vision head、audio head），并在 cross attention 里提供 routing weights，课程建议将 modality embedding 统一映射到 latent space，以减小 domain shift。

\begin{importantbox}{Routing gate evaluation}
训练时可在 cross attention 里引入 gating mechanism：每个 latent 先决定“听”哪种 modality，再 fallback 到无条件 latent。这种 gating 让 Perceiver 在缺失某模态时仍然有鲁棒性。
\end{importantbox}

\subsection{本章小结}

Latent stack 深度与 modal routing 是 Perceiver 可解释性和模块化的核心，合理调度 cross attention 让不同模态在 latent 中形成清晰轨迹，有助于排查 hallucination 和 bias。

\section{Case Studies: Vision, Audio, Robotics}

\subsection{Vision Applications}

DeepMind 在 ImageNet、ImageNet-21k 等 benchmark 上使用 Perceiver IO 生成 classification logits，加上 ViT-style head，可突破 86\% top-1。课程特别强调训练时使用 large crop + RandAugment，使得 position-invariant features 经常被 latent 吸收。

\begin{itemize}
    \item \textbf{Feature reuse}：保持 Fourier position encoding 与 ViT 相似，便于迁移
    \item \textbf{Patch mixing}：latent cross attention 每次从不同 patch 池抽取信息，防止注意力坍缩
    \item \textbf{Visual grounding}：Perceiver 可通过 output queries 生成 dense prediction（如 semantic segmentation），只需改变 query layout
\end{itemize}

\subsection{Audio \& Speech}

AudioSet 和 LibriSpeech 上，Perceiver 直接消费 spectrogram 作为 input token。课程提醒：必须对 time dimension 做 stride pooling，否则 cross attention FLOPs 无法控制。为了捕捉 long-range dependencies，还引入了 relative position bias。

\begin{warningbox}{依赖时间结构的约束}
若不提供 temporal encoding，audio 模态会丢失节奏结构，模型很容易只依赖局部 patch。课程用 relative bias + time dilation 解决这个问题。
\end{warningbox}

\subsection{Robotics \& Control}

Perceiver 在 DeepMind Control Suite 里的实现结合 state/action embedding，cross attention 将 observations 映射到 agent 的 action space。课程演示了 Perceiver 输出可以直接转化为 RL policy logits，使得 agent 直接从 multi-modal sensory data 中推断动作。

\begin{knowledgebox}{Perceiver acting as state estimator}
通过构造 output queries 对应到 agent 的 action/action history/goal embedding，Perceiver 可作为 state estimator，替代传统的 LSTM-based policy。
\end{knowledgebox}

\subsection{本章小结}

Perceiver 已经在视觉、音频和控制任务中形成可重复的应用模板：vision 利用 ViT head，audio 强调 relative bias，control 则把 output queries 映射为 agent action。这些 case study 证实了它的通用性。

\section{Research Agenda \& Engineering Next Steps}

\subsection{Open Problems}

课程列出三条研究方向：

\begin{enumerate}
    \item \textbf{Structured output alignment}：如何让 output query 同时兼顾 dense prediction 与 generative output？
    \item \textbf{Modality dropout}：在某个模态缺失时，latent 能否自动重新分配 attention？这需要动态 gating。
    \item \textbf{Data efficiency}：多模态数据稀缺，如何让 Perceiver 在少样本下仍保持表现？课程提到 LoRA-style adapter 是潜在方案。
\end{enumerate}

\subsection{Engineering Checklist}

\begin{table}[H]
\centering
\begin{tabular}{p{0.2\textwidth} p{0.26\textwidth} p{0.26\textwidth}}
\toprule
维度 & 现阶段实践 & 需要探索 \\
\midrule
Modality balancing & Weighted sampler + domain embedding & Curriculum + active sampling \\
Latency control & Mixed precision + frequency caching & Dynamic latent scaling \\
Explainability & Visualize latent attention maps & Add causal probes \\
Deployment & Distillation + streaming & Automated retrieval of new modalities \\
\bottomrule
\end{tabular}
\caption{Perceiver 进一步工程化的关注事项}
\end{table}

\subsection{本章小结}

Perceiver 的研究前沿在于结构化输出、模态缺失与数据效率；工程上则需要更好的 balancing、explainability 与 deployment patterns。这些既是挑战也是未来演进方向。

\section{总结与延伸}

 Perceiver 系列展示了一种优雅的通用感知模型范式：通过 latent bottleneck 解耦输入/输出大小与计算复杂度，进而在 vision、audio、video 乃至控制任务中复用同一架构。

 \subsection{核心总结}

 \begin{itemize}
     \item 使用交叉/自注意力串联的 latent array 解耦了输入长度，使得 $O(N^2)$ 的瓶颈消失。
     \item Perceiver IO 通过 output queries 让表达能力拓展到任意结构化输出，真正实现 ``everything to everything''。
     \item 多模态训练依赖 weighted sampler、Fourier positional encoding 与 curriculum schedule，防止模态干扰。
     \item 部署时重点在 latent size、precision 以及 distillation/streaming 策略，保持 latency 可控。
     \item Benchmarks 显示 Perceiver 可同时处理多个模态，但 hybrid output alignment 与 3D 生成仍需进一步研究。
 \end{itemize}

 \subsection{Perceiver Checklist}

 \begin{table}[H]
 \centering
 \begin{tabular}{p{0.22\textwidth} p{0.28\textwidth} p{0.28\textwidth}}
 \toprule
 模块 & 关注点 & 工程建议 \\
 \midrule
 Cross Attention & 输入-潜在匹配 & 控制 M，缓存 Fourier 编码，监控 FLOPs \\
 Self Attention & 信息融合 & 采用 LayerNorm + DropPath 稳定训练 \\
 Output Queries & 结构化输出 & 先定义 schema，再设计 query layout \\
 Training Mix & 多模态样本 & Weighted sampler + curriculum + modality embedding \\
 Deployment & 计算/延迟 & Mixed precision + chunking + distillation \\
 \bottomrule
 \end{tabular}
 \caption{把 Perceiver 技术落到工程上的清单}
 \end{table}

 \subsection{进一步阅读}

 \begin{itemize}
     \item Jaegle et al., ``Perceiver: General Perception with Iterative Attention,'' ICML 2021
     \item Jaegle et al., ``Perceiver IO: A General Architecture for Structured Inputs \& Outputs,'' ICLR 2022
     \item Locatello et al., ``Object-Centric Learning with Slot Attention,'' NeurIPS 2020
     \item Rae et al., ``Meta-learning with Latent Embedding Optimization,'' NeurIPS 2021
     \item Lee et al., ``StyleGAN2: Analyzing StyleGAN,'' CVPR 2021 (for generative benchmarks)
 \end{itemize}

\end{document}
