\documentclass[a4paper]{article}

\usepackage[fontset=fandol]{ctex}
\usepackage{amsmath, amssymb}
\usepackage{graphicx}
\usepackage[margin=2.4cm]{geometry}
\usepackage[most]{tcolorbox}
\usepackage{etoolbox}
\usepackage{subcaption}
\usepackage{listings}
\usepackage[hidelinks]{hyperref}
\usepackage{booktabs}
\usepackage{float}
\usepackage{enumitem}
\usepackage{tabularx}
\usepackage{caption}
\setlist[itemize]{topsep=0.3em,itemsep=0.2em}
\captionsetup{font=small,labelfont=bf}

\newtcolorbox{knowledgebox}[1]{
    enhanced, colback=blue!5!white, colframe=blue!75!black, colbacktitle=blue!75!black,
    coltitle=white, fonttitle=\bfseries, title=#1, 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, boxrule=1pt
}
\newtcolorbox{warningbox}[1]{
    enhanced, colback=red!5!white, colframe=red!75!black, colbacktitle=red!75!black,
    coltitle=white, fonttitle=\bfseries, title=#1, sharp corners, boxrule=1pt
}

\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] Transformers in Vision — Lucas Beyer, Google Brain}
\newcommand{\noteauthors}{基于 Stanford CS25 公开课程资料整理}
\newcommand{\notedate}{2022年3月1日}
\newcommand{\videochannel}{Stanford CS25 Vision Series}
\newcommand{\videopublishdate}{2022年2月28日}
\newcommand{\videoduration}{约60分钟}
\newcommand{\videourl}{https://cs.stanford.edu/people/academic-programs/cs25}
\newcommand{\videocoverpath}{cover.jpg}
\newcommand{\repourl}{https://github.com/hqhq1025/ai-course-notes}

\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}{
{\small 封面图未提供。\par}
}{
\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
\textbf{视频链接}：\href{\videourl}{\nolinkurl{\videourl}}\par
\textbf{项目主页}：\href{\repourl}{\nolinkurl{\repourl}}\par
\end{tcolorbox}
\end{titlepage}

\tableofcontents
\newpage

\section{Vision Transformer 的目标与测量标准}
\subsection{引入通用视觉表征的价值命题}
Lucas Beyer 设问：为什么视觉研究者仍然在用 ImageNet 训练模型却直接拿去做卫星图像、医学切片或计数任务？答案在于\textbf{表征泛化}的缺失——传统模型在尘埃未落定的新领域里仍需要从零训练。讲座用 VTAB（Visual Task Adaptation Benchmark）作为统一尺子，强调\textbf{少量样本可适应能力}才是真正的实用标准。

\begin{figure}[H]
\centering
\includegraphics[width=0.9\textwidth]{cover.jpg}
\caption{课程封面回顾。}
\end{figure}

\begin{importantbox}{VTAB 的三个核心维度}
\begin{enumerate}
\item \textbf{多样任务集}：包含自然图像、专业图像与非分类任务；
\item \textbf{限样适应}：每个任务只提供极少 labeled samples；
\item \textbf{平均分数}：用平均性能而非单一任务决定模型好坏。
\end{enumerate}
\end{importantbox}

\begin{knowledgebox}{教学逻辑}
讲座结构自上而下：先明确“什么是好表征”，再讨论“如何通过规模化与架构设计获得”，接下来讲“如何评估/部署”并在结尾提出风险与开放问题。
\end{knowledgebox}

\subsection{Transition to Next Sections}
由此可见，本节关注的问题是“目标与度量”。接下来会依次谈论 \textbf{预训练规模化→架构创新→迁移策略→效率与风险→工程监控} 四个关键环节。
\subsection{本章小结}
本章锁定通用视觉表征的问题域，提出 VTAB 等多维度指标，明确后续讨论的教学逻辑：度量、预训练、架构、迁移、部署。
\newpage

\section{规模化预训练：数据、模型与耐心}
\subsection{BiT 的实证教训}
Google Brain 的 Big Transfer（BiT）项目以 ImageNet-21k、JFT-300M 等海量数据配合 ResNet-152/ResNet-50 的方法，得出“数据+模型+训练周期”缺一不可的经验。Lucas 强调：训练早期 loss 不下降也要耐心，只有在足够 epochs 后，deep model 才能显现优势。

\begin{knowledgebox}{BiT 的三条定律}
\begin{itemize}
\item 增加数据必须伴随更大模型容量；
\item 无需人工微调的 checkpoint 可以覆盖更多下游任务；
\item 训练曲线应提前观察 robustness；在 ObjectNet 上 BiT 模型展现出强鲁棒性。
\end{itemize}
\end{knowledgebox}

\subsection{挑战：数据泄露与近重复}
Lucas 提醒，在大规模预训练中，必须排查下游测试集是否出现在 pre-train set 里。利用 near-duplicate detection kernel 能有效过滤，避免在 VTAB 里因泄露获得虚假的“百宝箱”优势。

\begin{warningbox}{数据泄露风险}
使用 JFT、ImageNet1k/21k 等数据集时应持续检查：
\begin{itemize}
\item 图像哈希重复：去除与下游测试集重复的样本；
\item 标签一致性：避免错误标签在多个数据集中反复传播；
\item 法律合规：确认数据采集与使用的授权范围。
\end{itemize}
\end{warningbox}
\subsection{本章小结}
规模化预训练尽管带来 VTAB 上的 progress，但必须与数据审查、训练耐心与鲁棒性监控并驾齐驱。
\newpage

\section{Vision Transformer 的建模与细节}
\subsection{Patch-based 序列建模}
ViT 的核心创新是将图像切成 patch，并平铺喂入 Transformer。每个 patch 被视为 token，通过线性投影后加入 position embedding，再与 [CLS] token 共同输入 Transformer。

\begin{figure}[H]
\centering
\includegraphics[width=0.9\textwidth]{cover.jpg}
\caption{ViT 架构示意（缩略图）。}
\end{figure}

\begin{importantbox}{ViT 与 CNN 的差异}
\begin{enumerate}
\item \textbf{感受野}：ViT token 全局交互，不依赖局部卷积；
\item \textbf{位置编码}：需要显式 position embedding 以保留空间；
\item \textbf{数据需求}：ViT 只在 10M+ 图像时才超过 CNN。
\end{enumerate}
\end{importantbox}

\subsection{数据规模对比}
ViT 在 ImageNet-1k 上表现不如 ResNet，但在 ImageNet-21k、JFT-300M 上开始领先。手头表格总结了不同数据-模型组合的 performance tipping point：

\begin{tabularx}{\textwidth}{lXl}
\toprule
组合 & 数据规模 & 观察 \\
\midrule
ViT-B/16 + IN-1k & 1.3M & 分数略低于 ResNet-50 \\
ViT-B/16 + IN-21k & 14M & 与 ResNet-152 持平 \\
ViT-L/16 + JFT-300M & 300M & 超越所有 ResNet，鲁棒性更强 \\
\bottomrule
\end{tabularx}

\subsection{本章小结}
ViT 强调序列化视觉，只有在巨量数据与模型容量配合下才显优势，本章概括了 patch token 化、位置编码与规模敏感性。
\newpage

\section{迁移策略与效率}
\subsection{Fine-tune vs. Linear Probe}
讲座评估了两种迁移方式在 VTAB 上的差距：full fine-tuning 虽然性能最好，但时间代价高；linear probe 结合 projector 既保持部分性能又节省 compute。

\begin{knowledgebox}{迁移效率三法}
\begin{itemize}
\item Linear probe：冻结主干，仅训练一个线性分类头；
\item Adapter tuning：插入小模块，仅更新少数参数；
\item Prompt tuning（Vision prompt）：引入 learnable tokens，保持 backbone freeze。
\end{itemize}
\end{knowledgebox}

\subsection{案例：卫星图像任务}
在 VTAB 的 satellite task 下，ViT 的 backbone 使用 linear probe 后相比 ResNet 仍有 3\% 提升。Lucas 解释为 Transformer 更强的 global attention 能识别长距离光谱模式。

\subsection{本章小结}
迁移时务必权衡 compute 与 accuracy，ViT 在 linear probe 甚至 adapter 设置下仍有优势，适合工程级 deployment。
\newpage

\section{系统工程与风险管理}
\subsection{工程约束}
Autonomy 的部署还需面对工程约束，包括训练预算、推理 latency 与模型可解释性。讲者建议：
\begin{itemize}
\item 使用 model distillation 缩小 ViT 以适配边缘设备；
\item 采用 mixed precision + gradient checkpoint 降低 GPU 内存；
\item 为 downstream 任务保留 viewpoint-specific metrics（如 clarity, blur）。
\end{itemize}

\begin{warningbox}{不可忽视的风险}
\begin{itemize}
\item Large model 对 rare artifact 的依赖：需要增强数据多样性；
\item 解释能力差：Transformer 内部 attention 仍难解释，可以加 attention rollout；
\item Energy cost：部署 JFT-scale 模型需评估电力与碳足迹。
\end{itemize}
\end{warningbox}
\subsection{运维：监控 VTAB drift}
建议 setup drift detection：在每次模型 update 之后，重跑 VTAB sample tasks，观察 $\Delta$ performance。若 drift 超过阈值，先 rollback 再分析训练 log。

\begin{knowledgebox}{Drift awareness checklist}
\begin{itemize}
\item 记录 pre-training dataset 版本与 sampling policy；
\item 对 drift task 设立 guardrail（如 success drop > 2% 触发报警）；
\item 保留 auto-rollback script，便于回到最后 stable checkpoint。
\end{itemize}
\end{knowledgebox}
\subsection{本章小结}
工程部署需要兼顾 latency、energy 与 interpretability，与此同时用 drift monitoring 保证长期性能，避免“scale drift”。
\newpage

\section{开放问题与未来方向}
\subsection{数据高光与预训练上限}
ViT 展现出在亿级数据上的潜力，但也引发问题：人力是否还能持续获取这些数据？是否能通过 synthetic data + self-training 替代？Beyer 提出未来需要进一步发展\textbf{数据高光 detection} 与 \textbf{low-resource augmentation} 方法。

\subsection{多模态与视频拓展}
讲者还讨论了将 ViT 扩展到视频、多模态任务的可能性，关键在于如何处理 temporal coherence 与 cross-modal alignment。比如，使用 cross attention 连接 video frame 与 audio/ language cost。

\subsection{本章小结}
虽然 ViT 取得显著成绩，但数据获取、能源消耗与多模态拓展仍是短期内需解决的开放问题。
\newpage

\section{总结与延伸}
\subsection{核心总结表}
\begin{tabularx}{\textwidth}{lXl}
\toprule
维度 & 核心洞察 & 实践建议 \\
\midrule
目标与度量 & VTAB 提供多样任务与少样测评 & 结合 few-shot metric 评估 backbone； \\
规模化预训练 & BiT 说明数据、模型、训练要一起 enlarge & 增量训练前先做泄露检测与 robustness probe； \\
架构创新 & ViT 扁平化视觉 token 化需要大量数据 & 在 resource-bounded settings 使用 adapter/linear probe； \\
迁移与效率 & Transformer 在 linear probe 下仍优于 CNN & 采用 adapter/prompt 避免 full fine-tune； \\
工程与风险 & 需控制 energy/dataset drift 与 explainability & 建立 drift dashboard + rollback pipeline； \\
\bottomrule
\end{tabularx}

\subsection{进一步阅读}
\begin{itemize}
\item Beyer et al., ``Are we done with ImageNet?'' NeurIPS Workshop 2021（解释 VTAB）
\item Kolesnikov et al., ``Big Transfer (BiT): General Visual Representation Learning,'' ECCV 2020
\item Dosovitskiy et al., ``An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale,'' ICLR 2021
\item Zhai et al., ``Scaling Vision Transformers,'' CVPR 2022
\item Touvron et al., ``Training data-efficient image transformers \& distillation through attention,'' ICML 2021
\end{itemize}

\subsection{本章小结}
通过目标、规模、架构、迁移、工程与未来展望六个维度，课程勾勒出通用视觉表征的研究与部署路线图，同时提醒我们要持续监控 drift 与投入成本。
\end{document}
