关于SSL中的MAE方法。
摘要
文章介绍了一种新的技术,叫做MAE,在帮助计算机自己学习理解语言和图片方面做得非常好。受到这个技术的启发,它用在了点云上。点云是一堆代表三维空间中某些点的数据,这种数据有时候会有点难处理,因为它可能会泄露一些不应该泄露的信息,或者信息分布不均匀。
为了解决这些问题,研究者们把点云分成了一小块一小块的,然后随机地遮盖掉一些部分。接着,用一种特殊的计算方法,让计算机尝试去理解没有被遮盖的部分,并且尝试重新构建出被遮盖的部分。使用了Transformer,而且还做了一些调整,让这个方法更适合处理点云数据。
通过实验,研究者们发现这种方法不仅学习速度快,而且在很多不同的任务上都做得很好。比如,在ScanObjectNN的数据集上达到了85.18%的准确率,在ModelNet40的数据集上达到了94.04%的准确率,比之前的方法要好。而且,这种方法还帮助计算机在只有很少样本的情况下,更好地分类新的物体。
最后,研究者们还提到,他们的工作证明了一种简单的、完全基于Transformer的技术架构,可以比之前专门为监督学习设计的复杂模型做得更好。
Introduction
这一部分首先强调了自监督学习的重要性,这是一种让机器通过分析未标记的数据来自我学习的方法。作者指出,在自然语言处理(NLP)和计算机视觉领域,自监督学习已经取得了巨大成功,尤其是在BERT等模型中,通过掩蔽语言建模的方式推动了技术的发展。
接着,作者介绍了MAE的概念,是一种通过随机掩蔽输入数据的一部分,然后训练自编码器来重建这些被掩蔽内容的方法。这种方法能够迫使模型学习到数据的高级潜在特征。
然后,作者讨论了将MAE应用于点云数据时面临的挑战。点云数据具有独特的特性,比如位置信息的泄露和信息密度的不均匀性,这些都需要特别的方法来解决。
作者还指出了现有方法的局限性,特别是Point-BERT,它依赖于对比学习、数据增强,并且在预训练过程中需要大量的计算资源。
在此基础上,作者提出了他们的方法——Point-MAE,这是一种为点云数据设计的方案。Point-MAE旨在克服现有方法的不足,通过简洁而高效的方式解决点云数据的特定挑战。
最后,作者强调了Point-MAE的主要贡献,包括其在多种下游任务上的泛化能力,以及在ScanObjectNN和ModelNet40数据集上的优异性能。他们表达了将语言和图像领域的统一架构应用于点云数据的动机,并探讨了这种跨模态学习架构的可行性和潜力。
遮罩自动编码的说明。部分输入数据被屏蔽,然后训练自编码器从原始输入数据中恢复被屏蔽的部分。鼓励自编码器中的编码器从未屏蔽部分学习高级潜在特征。
ShapeNet验证集上的重构示例。在每一组中,我们从左到右依次显示原始输入(即地面真值)、掩蔽点云和重建结果。掩蔽比为60%。可以直接观察到,关键局部特征(如尖角)的重建比不太重要的局部特征(如平面)的重建差得多
Related-work
这一部分主要是介绍了相关工作。
自监督学习(SSL)的定义
首先,作者定义了自监督学习,并概述了其核心思想,即利用数据本身生成监督信号,减少对人工标注数据的依赖。
SSL在自然语言处理(NLP)和图像领域的应用
作者讨论了SSL在NLP领域的成功应用,如通过掩蔽语言模型(如BERT)来预测原始词汇。在图像领域,作者提到了对比学习方法,这些方法通过区分增强图像的相似性来进行学习,以及最近的生成式SSL方法,它们通过随机掩蔽图像补丁来恢复像素空间中的掩蔽补丁。
SSL在点云数据表示学习中的应用
作者转向点云数据的自监督学习,提到了不同的预训练任务,例如DepthContrast、OcCo和IAE等方法,它们通过不同的策略来学习点云的表示。
自编码器的基本概念
然后,作者介绍了自编码器的一般概念,包括其由编码器和解码器组成的核心结构,以及它们如何通过最小化重建误差来学习数据的潜在特征。
Transformers架构及其在点云数据中的应用
作者讨论了Transformers架构如何通过自注意力机制捕捉输入数据的全局依赖性,并在NLP和计算机视觉中取得成功。作者指出了Transformers在点云数据表示学习中的应用,以及现有方法如何通过修改Transformers架构来适应点云数据。
Point-MAE
我们的Point-MAE总体方案。在左边,我们展示了掩蔽和嵌入的过程。将输入云划分为多个点块,对点块进行随机掩码后嵌入。右侧为自动编码器预训练。编码器只处理可见的标记。将掩码令牌添加到解码器的输入序列中以重建掩码点补丁
点云掩蔽和嵌入(Point Cloud Masking and Embedding)
首先,作者描述了如何处理输入的点云数据。由于点云数据由3D空间中的无序点组成,与图像数据的规则性不同,作者使用Farthest Point Sampling (FPS)和K-Nearest Neighborhood (KNN)算法将点云分割成不规则的点块,并且这些点块可能会重叠。接着,作者介绍了掩蔽策略,即以一定的比例随机掩蔽这些点块,以减少数据冗余并保留每个点块中的信息完整性。最后,对于每个被掩蔽的点块,作者使用共享权重的可学习掩蔽标记来替换,并采用轻量级的PointNet结构对未掩蔽的点块进行嵌入,以生成对应的标记。
自编码器的骨干网络(Autoencoder’s Backbone)
作者阐述了Point-MAE的骨干网络完全基于标准的Transformer模块构建,采用了不对称的编码器-解码器设计。编码器只处理未掩蔽的点块生成的标记,并且每个Transformer模块都添加了位置嵌入,以提供位置信息。解码器结构类似于编码器,但包含较少的Transformer模块,它接收编码后的标记和掩蔽标记作为输入,并且只输出解码后的掩蔽标记。
重建目标(Reconstruction Target)
在Point-MAE的"重建目标"部分,作者详细阐述了模型如何通过最小化预测点块和实际掩蔽点块之间的l2 Chamfer Distance来优化其参数。具体来说,模型的解码器输出通过全连接层转换成与点块坐标相同维度的向量,然后重塑成预测的掩蔽点块。重建损失计算了预测点块和掩蔽点块在坐标空间中的差异,并通过梯度下降方法来优化模型,使其能够从可见的点块中学习并准确预测被掩蔽的部分。这种方法不仅迫使模型学习到有效的点云特征表示,而且通过实验验证了模型在不同掩蔽比例下的强大泛化能力和重建质量。
Experiments
Pre-training Setup
作者们在ShapeNet数据集上进行预训练,该数据集包含51,300个3D模型,覆盖55个类别。他们从每个模型中采样1024个点作为输入,并采用随机缩放和随机平移作为数据增强手段。预训练使用了AdamW优化器和余弦衰减学习率,初始学习率设为0.001,权重衰减为0.05,模型训练了300个epoch,每批次大小为128。
Downstream Tasks
预训练模型在多个下游任务上进行了评估,包括:
Object Classification on Real-World Dataset: 在ScanObjectNN数据集上,Point-MAE在具有挑战性的真实世界数据上表现出色,该数据集包含15个类别的大约15,000个物体,这些物体带有杂乱的背景。
Object Classification on Clean Objects Dataset: 在ModelNet40数据集上,Point-MAE实现了93.8%的准确率,超越了其他自监督学习方法,并且在给予8192点作为输入时,准确率达到了94.04%。
Few-shot Learning: 在ModelNet40上进行了少样本学习实验,Point-MAE在不同的实验设置下显著提高了准确率,与现有技术相比提高了1.5%-2.3%。
Part Segmentation: 在ShapeNetPart数据集上,Point-MAE在部分分割任务上实现了86.1%的平均交并比(mIoU),通过简单的分割头超越了使用更复杂结构的Point-BERT。
Ablation Study
作者们进行了消融研究来分析不同组件对模型性能的影响。特别是,他们研究了掩蔽策略和掩蔽比例对预训练损失和微调准确率的影响。实验结果表明,随机掩蔽策略在高比例(60%-80%)时表现最佳。
Conclusion
本文提出了一种用于点云自监督学习的掩蔽自编码器方案,称为point - mae。point - mae简洁而高效,基于点云的属性进行了最小的修改。方法的有效性和高泛化能力在各种任务中得到了验证,包括目标分类、少镜头学习和零件分割。具体来说,Point-MAE优于所有其他自监督学习方法。我们还通过我们的方法表明,一个完全基于标准Transformer的简单架构可以超越来自监督学习的专用Transformer模型。此外,我们的工作激发了将语言和图像的统一架构应用于点云的可行性。