\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] GLOM: Part-Whole Hierarchies — Geoffrey Hinton}
\newcommand{\noteauthors}{基于公开课程资料整理}
\newcommand{\notedate}{2021}
\newcommand{\videochannel}{Stanford CS25}
\newcommand{\videopublishdate}{2021}
\newcommand{\videoduration}{约55分钟}
\newcommand{\videourl}{}
\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{引言：部分-整体层次结构问题}

Geoffrey Hinton 介绍了 \textbf{GLOM}——一个关于神经网络如何表示部分-整体层次结构的思想实验。这是一篇``设计文档''而非已实现的系统，但其中的思想深刻影响了后续研究。

\begin{importantbox}{核心问题}
人类视觉天然地将场景解析为层次结构：像素 $\rightarrow$ 边缘 $\rightarrow$ 部件（鼻子、眼睛）$\rightarrow$ 物体（脸）$\rightarrow$ 场景。如何让神经网络也表示这种\textbf{动态的、依赖于输入的}部分-整体关系？
\end{importantbox}

\begin{knowledgebox}{为什么这个问题难？}
传统 CNN 通过固定的层级结构处理视觉信息，但：
\begin{itemize}
    \item 同一个部件（如圆形）在不同上下文中可以是不同物体的一部分
    \item 层次结构应该是\textbf{动态的}——依赖于具体输入而非预先固定
    \item 经典的``胶囊网络''试图解决这个问题，但在实现上遇到困难
\end{itemize}
\end{knowledgebox}

\section{GLOM 的核心思想}

\subsection{岛屿与列}

GLOM 的架构可以想象为一个二维网格上的``列''，每个列对应输入的一个空间位置（类似 ViT 的 patch）。每个列有多个层级，每个层级用一个向量表示。

\begin{importantbox}{GLOM 的关键机制}
\begin{itemize}
    \item 每个空间位置有一个``列''，包含从低级到高级的多个表示层
    \item 同一层级上，相邻位置如果属于同一物体，其表示向量应该\textbf{趋于一致}——形成``岛屿''
    \item \textbf{同层注意力}：同一层级的相邻位置通过注意力机制互相靠拢
    \item \textbf{跨层预测}：高层预测低层（自上而下），低层预测高层（自下而上）
\end{itemize}
\end{importantbox}

\subsection{对比学习的角色}

Hinton 简要介绍了对比自监督学习的思想：
\begin{itemize}
    \item 同一图像的不同裁剪应有相似的表示
    \item 这种方法可以学习到有意义的特征，无需标签
    \item GLOM 中的``岛屿形成''类似于对比学习中的聚类过程
\end{itemize}

\subsection{本章小结}

GLOM 通过``岛屿''机制动态地形成部分-整体层次结构，而非依赖固定的网络拓扑。

\section{心理意象与变换随机场}

\subsection{心理意象（Mental Imagery）}

Hinton 讨论了神经网络如何表示\textbf{空间关系}：
\begin{itemize}
    \item 人类使用``心理意象''来推理空间关系（如家具的排列）
    \item 涉及关系推理的任务受益于某种内部的``画布''或``地图''
    \item GLOM 中的空间网格可以作为这种内部表示的载体
\end{itemize}

\subsection{变换随机场}

\begin{knowledgebox}{消歧义的挑战}
一个圆形可能是轮子的一部分、也可能是眼睛。Hinton 提出使用\textbf{变换随机场}来消歧义：节点之间的消息传递需要考虑空间变换。例如，``鼻子''向周围发送的``嘴巴应该在下方''的消息，需要根据空间位置关系进行变换。
\end{knowledgebox}

\subsection{神经场（Neural Fields）}

Hinton 将 GLOM 与神经场（NeRF 等）联系起来：
\begin{itemize}
    \item 高层表示可以通过给定空间位置来预测低层表示
    \item 这类似于 NeRF 中给定 3D 坐标预测颜色和密度
    \item 同一个高层向量可以在不同位置生成不同的低层预测
\end{itemize}

\subsection{本章小结}

GLOM 综合了对比学习、变换随机场和神经场等多个概念，构建了一个关于视觉层次表示的统一框架。

\section{为什么 GLOM 难以直接落地}

\subsection{训练信号与结构假设的张力}

GLOM 最吸引人的地方，是它试图让网络显式表示``部分属于哪个整体''。但也正因为目标太雄心勃勃，训练信号变得不那么直接。分类任务的监督只能告诉模型``图里有什么''，却很难精确约束每一个 patch 应该聚成哪个对象岛屿；纯自监督训练又容易学到纹理相似性，而不是真正的对象一致性。

\begin{knowledgebox}{GLOM、Capsule 与 ViT 的关键差别}
Capsule Networks 试图通过显式路由来表达部分-整体关系，GLOM 则改为用同层一致性和跨层预测来形成``岛屿''；ViT 的成功路径更朴素，它不强行要求对象结构显式出现，而是依赖大数据和大计算隐式学到有用表示。GLOM 的问题不是想法不对，而是它比 ViT 需要更强的结构性训练信号。
\end{knowledgebox}

\subsection{工程上最棘手的三个问题}

\begin{itemize}
    \item \textbf{边界不稳定}：相邻 patch 在早期训练阶段很容易因为纹理相似而错误聚合。
    \item \textbf{层级耦合过强}：高层和低层互相预测会让优化过程彼此牵制，难以单独调试。
    \item \textbf{评测不清晰}：如果没有对象级标注，研究者很难知道模型是否真的学到了 part-whole hierarchy。
\end{itemize}

\begin{warningbox}{漂亮的概念图不等于可训练系统}
GLOM 非常像一份优秀的研究设计备忘录：它准确指出了视觉系统缺少什么，但从``应该表示什么''走到``如何稳定训练出来''之间还有很长的工程距离。这也是很多对象中心表示方法共同面对的问题。
\end{warningbox}

\subsection{本章小结}

GLOM 的瓶颈不在概念表达，而在于缺少足够强且足够稳定的训练与评测闭环。

\section{对今天视觉基础模型的启发}

\subsection{对象中心表征仍然是未完成任务}

尽管 GLOM 没有像 Transformer 一样成为主流架构，但它提出的问题并没有消失。视觉系统仍然需要回答：如何把像素组织成对象、如何表达对象间的空间关系、如何让模型具备稳定的组合泛化能力。今天的 world model、视频理解模型、机器人感知系统，仍在以不同方式重提这些问题。

\begin{importantbox}{GLOM 留下来的三条长期启发}
\begin{enumerate}
    \item 视觉表征不应只追求分类可分性，还要追求对象结构可读性。
    \item 层次表示最好是动态形成的，而不是由固定网络拓扑硬编码。
    \item 自监督学习真正有价值的方向，是让表示能支持后续推理，而不只是压缩输入。
\end{enumerate}
\end{importantbox}

\subsection{如果今天重新做这件事}

如果以 2026 年的工具重做 GLOM，较合理的路线可能是：先用强大的视觉基础模型和视频数据提供对象级先验，再把对象槽位、时序一致性和动作条件建模结合起来。换句话说，GLOM 的思想更可能以模块化形式融入现代系统，而不是单独作为一整个端到端架构出现。

\textit{``The right question is not whether hierarchy exists, but how much of it the network should discover by itself.''}

\subsection{本章小结}

GLOM 作为单一架构未必成功，但它对对象中心视觉和层次化 world model 的启发仍然非常直接。

\section{总结与延伸}

GLOM 虽然是``纯粹的设计文档''，但提出了关于神经网络如何表示部分-整体关系的深刻思想。这些思想影响了后续关于视觉表示学习、对象中心学习和层次化表示的研究方向。

\subsection{拓展阅读}
\begin{itemize}
    \item Hinton, ``How to represent part-whole hierarchies in a neural network,'' Neural Computation, 2023
    \item Sabour et al., ``Dynamic Routing Between Capsules,'' NeurIPS 2017
    \item Mildenhall et al., ``NeRF: Representing Scenes as Neural Radiance Fields,'' ECCV 2020
\end{itemize}

\end{document}
