(论文速读)MoNet:统一图与流形上的几何深度学习
论文题目Geometric deep learning on graphs and manifolds using mixture model CNNs(基于混合模型cnn的图形和流形的几何深度学习)会议CVPR2016摘要深度学习在几个领域取得了显著的性能突破其中最显著的是语音识别、自然语言处理和计算机视觉。特别是卷积神经网络(CNN)架构目前在各种图像分析任务(如物体检测和识别)上产生了最先进的性能。到目前为止大多数深度学习研究都集中在处理1D, 2D或3D欧几里得结构数据如声学信号图像或视频。最近人们对几何深度学习越来越感兴趣试图将深度学习方法推广到非欧几里得结构化数据如图和流形并在网络分析、计算社会科学或计算机图形学领域有各种应用。在本文中我们提出了一个统一的框架允许将cnn架构推广到非欧几里得域(图和流形)并学习局部、平稳和组合任务特定的特征。我们表明以前在文献中提出的各种非欧几里得CNN方法可以被视为我们框架的特定实例。我们在图像、图形和三维形状分析领域的标准任务上测试了所提出的方法并表明它始终优于以前的方法。深入理解MoNet - 统一图与流形上的几何深度学习引言你是否曾经思考过CNN为什么在图像识别上如此成功却难以直接应用到社交网络分析或3D形状理解上答案在于数据的几何结构。今天要介绍的这篇CVPR 2016论文提出了MoNet框架优雅地将深度学习扩展到非欧几里得域并统一了多种看似不同的几何深度学习方法。问题背景欧几里得 vs 非欧几里得传统CNN的舒适区传统卷积神经网络CNN处理的数据通常具有规则的网格结构图像2D像素网格音频1D时间序列视频3D时空网格这些数据的共同特点是欧几里得结构- 每个位置的邻域关系是固定且规则的。现实世界的挑战但现实中大量数据并不满足这个假设社交网络用户之间的关系是不规则的图结构分子结构原子连接形成复杂的图3D形状人体、动物等3D模型是流形结构大脑网络神经元连接模式这些数据无法直接用传统CNN处理因为它们缺乏规则的网格结构。现有方法的困境在MoNet之前研究者们提出了两类主要方法1. 谱方法Spectral Methods核心思想利用图拉普拉斯矩阵的特征分解定义傅里叶变换代表方法Spectral CNN (Bruna et al., 2013)ChebNet (Defferrard et al., 2016)GCN (Kipf Welling, 2016)致命缺陷问题每个图有自己独特的特征基 结果在图A上训练的模型无法应用到图B 类比就像用英语训练的模型无法理解中文2. 空间方法Spatial Methods核心思想直接在空间域定义局部卷积操作代表方法GCNN (Masci et al., 2015) - 使用测地极坐标ACNN (Boscaini et al., 2016) - 使用各向异性热核局限性手工设计的固定patch提取方式灵活性受限MoNet的创新可学习的几何卷积核心洞察MoNet的关键创新是将patch算子参数化让网络自己学习如何提取局部特征。三个关键组件1. 伪坐标Pseudo-coordinates对于中心点x和邻域点y定义一个d维向量u(x,y)描述它们的关系。例子图像u 像素坐标差 (Δx, Δy)图u (deg(x), deg(y)) 节点度流形u (ρ, θ) 测地极坐标2. 可学习的权重函数使用高斯混合模型GMM其中μ_j均值和Σ_j协方差是可学习参数3. Patch算子这个算子提取x点周围的patch权重由学习到的高斯核决定。统一的卷积定义最终的卷积操作这个简洁的公式统一了所有几何深度学习方法理论贡献统一视角MoNet最优雅的地方在于它展示了现有方法都是特殊情况方法伪坐标 u(x,y)权重函数 w_j(u)CNN欧几里得坐标差δ(u - ūⱼ)GCNN测地极坐标 (ρ,θ)固定高斯核ACNN测地极坐标 (ρ,θ)各向异性高斯核GCN(deg(x), deg(y))三角核DCNN随机游走概率恒等函数MoNet任意选择可学习的GMM这就像发现了一个大统一理论实验验证理论到实践实验1MNIST图表示设置将MNIST图像表示为superpixel邻接图关键问题每张图像是不同的图结构结果ChebNet谱方法 - 300超像素88.05% ❌ - 150超像素80.94% ❌ - 75超像素75.62% ❌ (性能崩溃) MoNet我们的方法 - 300超像素97.30% ✓ - 150超像素96.75% ✓ - 75超像素91.11% ✓ (保持稳定)解释谱方法因为每个图的特征基不同而失败MoNet的空间域方法不受影响。实验2引文网络节点分类数据集Cora2708篇论文、PubMed19717篇论文任务根据论文内容和引用关系分类结果方法CoraPubMedGCN81.59%78.72%MoNet81.69%78.81%虽然提升看似不大但要知道训练集只有每类20个样本实验33D形状对应任务在不同姿势的人体模型间建立对应关系数据集FAUST100个人体网格结果亮点90%的点完全正确匹配99%的点误差4cm大幅超越所有baseline可视化展示了MoNet学到的对应关系几乎完美深入理解为什么MoNet有效1. 灵活性通过学习高斯核的均值和协方差MoNet可以自适应地调整感受野大小通过协方差方向敏感性通过协方差矩阵的非对角元素多尺度特征通过多个高斯核2. 泛化能力空间域定义使得同一模型可应用于不同的图学到的特征具有几何意义不依赖于特定的特征基3. 可解释性学到的高斯核可以可视化GCNN/ACNN使用固定的径向/各向异性核MoNet学习任意形状的核更灵活实现要点如果你想实现MoNet关键步骤# 1. 定义伪坐标 def compute_pseudo_coords(x, y): # 例如使用测地极坐标 rho geodesic_distance(x, y) theta angular_coordinate(x, y) return [rho, theta] # 2. 可学习的高斯核 class GaussianKernel(nn.Module): def __init__(self, dim): self.mu nn.Parameter(torch.randn(dim)) self.sigma nn.Parameter(torch.eye(dim)) def forward(self, u): diff u - self.mu return torch.exp(-0.5 * diff self.sigma.inverse() diff) # 3. Patch算子 def patch_operator(x, features, gaussian_kernels): result [] for kernel in gaussian_kernels: weighted_sum 0 for y in neighbors(x): u compute_pseudo_coords(x, y) weight kernel(u) weighted_sum weight * features[y] result.append(weighted_sum) return result局限与未来方向当前局限计算开销需要计算邻域内所有点对的伪坐标超参数高斯核数量J需要手工选择正则化小数据集上需要仔细调参避免过拟合未来方向更复杂的权重函数可以在GMM基础上加入非线性变换自适应邻域动态调整每个点的邻域大小注意力机制结合attention学习更灵活的权重对后续研究的影响MoNet发表后启发了大量后续工作Graph Attention Networks (GAT)将注意力机制引入图神经网络PointNet在点云上的层次化特征学习GraphSAINT大规模图的采样训练方法Geometric GNN更多几何先验的融入结论MoNet论文的价值不仅在于提出了一个性能优秀的模型更在于✨统一视角揭示了看似不同方法的内在联系✨理论贡献提供了设计几何深度学习方法的一般框架✨实践指导展示了如何在不同类型数据上应用统一原理这篇论文是几何深度学习领域的里程碑它告诉我们好的理论框架能够统一现象、指导实践、启发创新。你对几何深度学习感兴趣吗欢迎在评论区讨论