2026/10/10 8:21:00

NYU-DLSP20 第10周笔记(意大利语版)的意译与校对 —— 第10周第2部分:自监督学习与对比学习(ClusterFit 与 PIRL)

NYU-DLSP20 第10周笔记(意大利语版)的意译与校对 —— 第10周第2部分:自监督学习与对比学习(ClusterFit 与 PIRL) 示例工程【免费下载链接】NYU-DLSP20NYU Deep Learning Spring 2020项目地址https://gitcode.com/gh_mirrors/pyt/pytorch-Deep-Learning点击查看免费下载意大利语版文档核心内容与要点本节是第10周“自监督学习”讲座的第2部分B部分主题是自监督学习中的两大进阶方法ClusterFit聚类拟合与 PIRL预文本不变表示学习。原文档意大利语版docs/it/week10/10-2.md翻译自英语原版docs/en/week10/10-2.md围绕“预文本任务缺失了什么我们希望预训练特征具备什么性质”这一核心问题展开重点讲解了预文本任务的局限性预文本任务如拼图、旋转预测往往与下游任务分类、检测不完全“对齐”导致最后一层表示过度特化。理想预训练特征应具备的两个性质(1) 表示图像之间的相互关系通过聚类实现(2) 对“干扰因素”如位置、光照、颜色保持鲁棒/不变通过不变性实现。ClusterFit 方法两步法聚类 预测通过 K-means 对预训练特征聚类生成伪标签再从头训练新网络预测这些伪标签从而“去伪存真”提升表示的泛化性。PIRL 方法基于对比学习框架让原图与其预文本变换版本的表征尽量相似不变性同时与无关图像的表征尽量不同对比性并借助记忆库Memory Bank高效利用大量负样本。多种对比学习样本定义方式视频帧邻近/远离、目标跟踪补丁、同图邻近补丁 vs 远距补丁、同图补丁 vs 他图补丁后者的代表方法实例判别、MoCo、PIRL、SimCLR。PIRL 的评估与特性目标检测VOC07/VOC0712、半监督学习、线性分类器与 CPCv2 相当、Top-1 约 63%、YFCC“野图”上的鲁棒性、分层语义质量、可扩展性362,880 种排列、不变性与性能的关系、局限性。答疑环节对比学习与批量归一化的关系、PIRL 的损失函数NCE vs softmax、自监督学习项目实施建议、生成模型与对比网络结合、蒸馏与标签平滑。补充细节基于英语原版与讲座转录稿意大利语版忠实翻译了英语原版docs/en/week10/10-2.md的内容。结合英语原版与讲座转录稿docs/en/week10/lecture10.sbvIshan Misra 在 FAIR 的讲座可补充以下细节讲座背景本节由 FAIRFacebook AI Research研究科学家Ishan Misra主讲其研究方向为“减少视觉学习中的监督需求”博士论文《Visual learning with minimal human supervision》获 2018 年 SCS 杰出博士论文奖。预训练特征理想性质的归纳原文档列出两要点并指出实现方式为聚类与对比学习。ClusterFit 的动机实验向 ImageNet-1K 注入标签噪声评估在 ImageNet-9K 上的迁移性能对比三条曲线预训练网络粉色随噪声下降、模型蒸馏蓝色更优、ClusterFit绿色持续最优。ClusterFit 与蒸馏的差异蒸馏使用“更软”的类分布作为标签保留标签空间信息ClusterFit 完全忽略标签空间只使用聚类产生的伪标签。PIRL 的详细工作机制结合 fig16记忆库存储每个图像的特征向量对比目标拆分为两项——变换图特征 $g(v_{I^t})$ 与记忆库表示 $m_I$ 的对比项、原图特征 $f(v_I)$ 与 $m_I$ 的对比项通过传递性使 $f$ 与 $g$ 互相靠近从而稳定训练。评估方法标准预训练评估设置全量微调初始化评估或线性分类器特征评估对“野图”YFCC 100 万张 Flickr 随机图进行预训练测试鲁棒性。各评估结果目标检测VOC0712、VOC07 上超越 ImageNet 监督预训练甚至在更严格的 $AP^{all}$ 上也胜出半监督学习优于拼图任务因 PIRL 是不变版本而拼图是协变版本线性分类器与 CPCv2 相当对比当时 SimCLR 约 69-70% 的 Top-1 精度PIRL 约 63%YFCC 数据比拼图更好即使数据集小 100 倍。语义特征检查从conv1到res5各层 Top-1 精度PIRL 持续提升越来越语义化而拼图在第 5 层下降。可扩展性PIRL 使用排列作为输入而非预测可扩展到 9 个补丁的 362,880 种排列而拼图受输出空间大小限制。不变性 vs 性能PIRL 的不变性 聚类的不变性 预文本任务的不变性性能同样如此排序说明更多不变性可能提升性能。局限性不清楚哪些数据变换重要拼图有效但原因不明、模型/数据规模饱和、哪些不变性重要未来工作。答疑要点对比学习 批量归一化PIRL 未观察到信息泄漏使用常规批量归一化SimCLR 用批量归一化变体模拟大 batch批量归一化在 PIRL 中有效可能是因为记忆库实现使同一 batch 不包含所有表征MoCo 未用批量归一化。视频学习中帧高度相关批量归一化性能下降可改用组归一化不依赖 batch size。PIRL 用 NCE 而非负对数似然与记忆库论文的设置有关$k1$ 个负样本等价于 $k1$ 个二分类问题也可用 softmax 负对数似然。自监督项目实施建议可从旋转等简单预文本任务开始实现现有方法需仔细复现作者细节学习率、批量归一化用法数据增强很关键先让基线跑通再加增强。生成模型 对比网络结合总体是好主意但训练困难、尚未实现。蒸馏与标签平滑one-hot 标签使模型过度自信标签平滑预测 0.97 等概率是蒸馏的简化版蒸馏用预训练网络生成更“有信息量”的软标签软分布易训练、收敛快。在仓库中的位置与关联资源本节笔记意大利语版docs/it/week10/10-2.md本篇翻译对象英语原版docs/en/week10/10-2.md讲座转录稿含更多讲座细节docs/en/week10/lecture10.sbv第10周总览docs/en/week10/10.md、docs/it/week10/10.md第10周第1部分预文本任务docs/en/week10/10-1.md、docs/it/week10/10-1.md配图位于docs/images/week10/10-2/fig01–fig23项目根目录README.md仓库根目录可参见docs/en/与docs/it/目录结构以上内容为笔记整理与意译仅供学习参考如需引用请以英语原版为准。自监督学习进阶ClusterFit 与 PIRL —— 从预文本任务到聚类与对比学习NYU-DLSP20 第10周笔记精讲导读本文是 NYU Deep Learning Spring 2020 课程仓库pytorch-Deep-Learning第10周讲座 B 部分的深度解读由 FAIR 研究科学家 Ishan Misra 主讲。在上一讲第10周 A 部分我们了解了预文本任务pretext tasks的动机与常见形式拼图、旋转、相对位置、着色等本讲则直面预文本任务的核心缺陷——预训练任务与下游任务不对齐并给出两条进阶路线**ClusterFit聚类拟合**与PIRL预文本不变表示学习。读完本文你将掌握预文本任务为何可能学到过度特化的表示ClusterFit 的两步法聚类 预测为何能去伪存真对比学习的基本框架、正负样本的多种定义方式PIRL 借助记忆库Memory Bank实现大规模对比学习的机制与评估结论。本文以意大利语版笔记 docs/it/week10/10-2.md 为骨架对照英语原版 docs/en/week10/10-2.md 与讲座转录稿 docs/en/week10/lecture10.sbv 扩充整理配图均来自仓库 docs/images/week10/10-2/。一、预文本任务缺失了什么——泛化的希望1.1 对齐的假设与困惑预文本任务pretext task通常包含自监督的预训练阶段之后是往往为分类或检测的迁移任务transfer task。我们希望预训练任务与迁移任务彼此对齐——即解决预文本任务能很好地帮助解决下游任务因此大量研究都投入到预文本任务的设计与实现上。然而一个非语义性任务为何能产生好的特征这一点并不清楚。例如为什么我们在解决拼图Jigsaw问题时能期望学到关于语义的知识为什么从图像预测 hashtag能帮助下游分类器的训练因此核心问题始终是如何设计出与迁移任务良好对齐的预训练任务1.2 逐层检查表示诊断特化问题一种评估该问题的方式是逐层检查网络各层的表示见 fig01。如果最后一层的表示与迁移任务不对齐那么预文本任务可能选错了。Fig. 1各层的特征表示Feature representations at each layerfig02 展示了使用拼图预训练后线性分类器在VOC07数据集上各层的平均精度均值mAP。可以清楚看到最后一层被高度特化用于拼图问题这正是不对齐的典型信号——深层表征学到了大量与拼图任务相关的低层信息却未必服务于下游语义任务。Fig. 2拼图方法在各层的表现Performance of Jigsaw based on each layer补充背景预文本任务总是对单张图像独立推理拼图、旋转、去色等皆然而对比学习则同时审视大量数据——这是两者最本质的差异之一详见下文。1.3 我们希望预训练特征具备什么性质表示图像彼此之间的关系Represent how images relate to one another对应方法ClusterFit—— 提升视觉表示的泛化性。对干扰因素nuisance factors鲁棒 —— 不变性Invariance例如物体精确位置、光照、精确颜色。对应方法PIRL—— 预文本不变表示学习Pretext Invariant Representation Learning。实现上述两种性质的途径分别是聚类Clustering与对比学习Contrastive Learning它们迄今的表现已明显优于此前设计的各类预文本任务ClusterFit 属于聚类一类PIRL 属于不变性一类。二、ClusterFit提升视觉表示的泛化性2.1 核心思想对特征空间进行聚类Clustering the feature space是一种观察哪些图像彼此相关的方式。ClusterFit 分为两个步骤聚类步骤cluster与预测步骤predict/fit。聚类特征分簇取一个预训练网络任何类型的预训练网络均可用它从一组图像中提取一批特征随后对这些特征执行K-means 聚类使每张图像归属于唯一一个簇这个簇就充当该图像的伪标签。Fig. 3聚类步骤Cluster step预测预测簇归属第二步从零from scratch训练一个新网络任务是预测图像的簇归属类别。这些类别正是第一步聚类得到的伪标签pseudo-labels。Fig. 4预测步骤Predict step2.2 与标准预训练-迁移流程的对比标准的预训练-迁移流程是先在数据集上预训练网络再在各类下游任务上评估图5第一行。ClusterFit 的流程为在数据集 $D_{cf}$ 上预训练得到网络 $N_{pre}$用 $N_{pre}$ 在 $D_{cf}$ 上提取特征并生成聚类在这些数据上从零学习新网络 $N_{cf}$最终所有下游任务都使用 $N_{cf}$。Fig. 5标准预训练迁移 vs 标准预训练ClusterFit2.3 为什么 ClusterFit 有效—— 控制实验ClusterFit 有效的关键在于聚类步骤只保留本质信息、丢弃伪影artefacts使第二阶段的网络学到更通用更泛化的表示。为验证这一点作者设计了一个简单的实验向ImageNet-1K注入不同程度的标签噪声label noise基于带噪数据训练网络在下游任务 ImageNet-9K上评估该网络提取的特征表示。fig06 展示了三种方法的迁移性能随标签噪声比例的变化粉色线预训练网络性能随噪声增加而下降蓝色线模型蒸馏 distillation用初始网络生成标签来训练通常优于直接预训练网络绿色线ClusterFit持续优于另外两者验证了假设。Fig. 6控制实验Control ExperimentQ为什么与蒸馏比较蒸馏与 ClusterFit 有何区别蒸馏中我们取预训练网络用其预测的**更软的标签**为图像生成目标——例如得到覆盖所有类别的分布再用该分布训练第二个网络这种更软的分布有助于增强原有类别。而ClusterFit 完全忽略标签输出空间只依赖聚类生成的伪标签。2.4 性能应用于自监督学习将该方法应用到自监督学习用**拼图Jigsaw**得到预训练网络 $N_{pre}$再对其做 ClusterFit。fig07 显示在多个不同数据集上的迁移性能相对于其他自监督方法有显著提升。Fig. 7在不同数据集上的迁移性能Transfer performance on different datasetsClusterFit 对任何预训练网络都有效fig08 展示了无需额外数据、标签或架构改动即可获得的增益。某种意义上可以把 ClusterFit 看作一个自监督的微调fine-tuning步骤用于提升表示质量。Fig. 8无需额外数据、标签或架构改动即可获得的性能增益三、PIRL预文本不变表示学习3.1 对比学习Contrastive Learning对比学习本质上是一个通用框架学习一个特征空间把相关的点拉近把不相关的点推远。Fig. 9相关与不相关的图像组蓝组相关、绿组相关、紫组相关每个数据点的特征通过一个共享网络Siamese Network孪生网络提取然后施加对比损失函数最小化两个蓝色点之间的距离同时使其小于蓝点与绿点、蓝点与紫点之间的距离。也就是说相关样本的嵌入空间应比不相关样本的嵌入空间更接近。这是对比学习的总体思路——Yann LeCun 正是最早提出该方法的学者之一如今对比学习在自监督学习领域强势回归相当多的自监督 SOTA 方法都基于它。Fig. 10对比学习与损失函数3.2 如何定义相关/不相关在有监督学习中相关很明确所有狗的图像相关非狗的图像不相关。但在自监督学习中如何定义相关与不相关并不显然。对比学习与预文本任务的另一个主要区别是对比学习的损失函数总是同时涉及多张图像第一行涉及蓝绿第二行涉及蓝紫而拼图、旋转等任务总是独立地对单张图像推理。下面列举本讲介绍的多种相关/不相关定义方式(1) 视频帧的时序邻近性 —— CPC视频帧天然具有时序性时间上邻近的帧相关更远或来自不同视频的帧不相关。这构成了该领域大量自监督方法的基础称为CPCContrastive Predictive Coding对比预测编码它利用信号的时序特性认为时空上靠近的样本相关、远离的样本不相关。该方法可应用于语音、视频、文本或特定图像近期工作还同时利用视频与音频——视频与其对应音轨是相关样本来自不同视频的视频/音轨则是不相关样本。(2) 目标跟踪Tracking Objects早期自监督工作也使用对比学习并对相关样本做了很有意思的定义在视频上运行目标跟踪器tracker得到移动的目标补丁patch被同一跟踪器跟踪的补丁与原始补丁相关来自不同视频的补丁不相关。fig11(c) 展示了距离表示法。该网络自动学习物体的不同姿态——例如把从不同视角或不同姿态观察到的同一只狗聚到一起。Fig. 11目标跟踪Tracking the Objects(3) 同图邻近补丁 vs 远距补丁谈到图像大量工作关注邻近图像补丁与远距补丁的对比——CPC v1 与 CPC v2 多数方法正是利用这一性质靠近的补丁为正样本positives远离的补丁为负样本negatives目标是最小化据此定义的对比损失。Fig. 12图像邻近补丁 vs 远距补丁(4) 同图补丁 vs 他图补丁最主流更流行且性能更优的做法是用一张图像中的补丁与另一张图像中的补丁作对比。这构成了实例判别instance discrimination、MoCo、PIRL、SimCLR等一大批流行方法的基础。具体而言从一张图像中提取随机补丁可以重叠、彼此包含或完全分离施加某种数据增强例如颜色抖动、去色这两个补丁被定义为正例再从另一张不同图像中随机提取一个补丁作为负例。这类方法会提取大量负例再执行对比学习只有两个正样本但负样本非常多。Fig. 13一张图像的补丁 vs 其他图像的补丁3.3 预文本任务的底层原理及其局限fig14 对比了标准预文本学习与 PIRL 的思路差异预文本任务总是对单张图像推理给定图像及其变换这里是拼图变换送入 ConvNet预测所施加变换的属性排列、旋转、去色类型等因此该任务必须捕捉变换的具体属性精确的排列或旋转类型这意味着最后一层的表示会随变换而剧烈变化——这是设计使然因为目标就是解决该预文本任务但遗憾的是这也意味着最后一层表示捕获的是信号的极低层属性如旋转。而我们期望的表示恰恰应对这些属性不变例如应能识别一只猫无论猫是直立还是侧倾 90 度。预文本任务却施加了完全相反的要求——识别图像是正的还是横躺的。当然存在例外某些场景确实希望低层表示协变covariant——尤其许多 3D 任务希望做预测例如在观察同一物体的两个视角时预测相机变换。但除非有这类特定应用对多数语义任务而言我们真正想要的是对输入所施加的变换保持不变。Fig. 14预文本图像变换与标准预文本学习3.4 不变性有多重要不变性一直是特征学习的关键词例如SIFT这一经典手工特征即对平移与缩放不变。有监督网络如 AlexNet也通过数据增强训练出不变性——你希望网络把图像的不同裁剪或不同旋转都分类为树而不是让它预测输入到底经历了哪种变换。3.5 PIRL 方法本身这启发了PIRLPretext Invariant Representation Learning预文本不变表示学习希望表示对输入变换不变或者说尽可能少地携带输入变换的信息。做法取原图 $I$ 及其预文本变换版本 $I^t$将两者分别前向送入 ConvNet得到两个表示然后鼓励这两个表示相似。沿用前面的记号图像 $I$ 与其任意预文本变换版本 $I^t$ 是相关样本任何其他图像是不相关样本。这样构建的网络其表示应包含关于变换 $t$ 的极少信息。对比学习部分原图 $I$ 得到特征 $v_I$变换版本得到特征 $v_{I^t}$我们希望这两个表示相同。本课之前介绍过的两个 SOTA 预文本变换——拼图与旋转——在此都可作为 $I^t$ 的来源。某种意义上这是多任务学习但并非预测拼图或旋转本身而是对拼图/旋转保持不变。Fig. 15PIRL —— 左对原图 $I$ 施加预文本变换 $t$ 得 $I^t$中标准预文本学习预测变换属性右PIRL让 $I$ 与 $I^t$ 的表征相似3.6 大量负样本与记忆库Memory Bank历史上让对比学习真正奏效的关键要素是使用大量负样本。2018 年的实例判别论文instance discrimination引入了记忆库memory bank概念多数 SOTA 方法都依托这一思想。记忆库是一种在不显著增加计算需求的前提下获得大量负样本的巧妙方式为每张图像在内存中存一个特征向量并在对比学习中使用该向量。3.7 PIRL 如何工作记忆库机制先讨论不使用记忆库时如何搭建 PIRL有图像 $I$ 和 $I^t$分别前向送入网络从原图得到特征向量 $f(v_I)$从变换版本这里是补丁得到特征 $g(v_{I^t})$。我们想让 $f$ 与 $g$ 相似同时让任何其他无关图像的特征不相似。此时若需要大量负样本就得把大量负图像同时前向即要求非常大的 batch size——这在有限的 GPU 内存下并不现实。记忆库的解决方式它为数据集中每张图像存储一个特征向量做对比学习时不必使用 batch 内其他图像的在线特征只需从内存中取回任意无关图像的特征来充当负样本。PIRL 进一步把目标拆成两部分见 fig16一个对比项把变换图像的特征 $g(v_I)$ 拉近到记忆库中对应表示 $m_I$第二个对比项把原图特征 $f(v_I)$ 拉近到记忆库表示 $m_I$。本质上 $g$ 与 $f$ 都被拉向 $m_I$由此传递性地彼此靠近。将目标拆分为两项、而非直接在 $f$ 与 $g$ 之间做对比学习是为了稳定训练——直接对比会导致训练不收敛拆分后训练得以稳定并真正跑通。Fig. 16记忆库Memory Bank的工作原理 —— 原图 $I$ 经编码器得 $v_I$、映射 $f$增强视图 $I^t$ 得 $v_{I^t}$、映射 $g$二者都与记忆库 $\mathcal{M}$ 中的正样本键 $m_I$ 匹配、与负样本键远离以 $L_{\text{NCE}}$ 完成对比学习3.8 PIRL 的预训练评估采用标准的预训练评估设置。对迁移学习可以在无标注图像上预训练——标准做法是取 ImageNet扔掉标签当作无监督数据来预训练。3.9 评估评估方式包括全量微调full fine-tuning初始化评估或训练线性分类器特征评估。此外为了测试 PIRL 对图像分布的鲁棒性作者在野图上训练从 Flickr 随机取100 万张图像YFCC 数据集预训练再迁移到不同数据集。目标检测任务PIRL 首先在目标检测这一视觉标准任务上评估在VOC0712与VOC07两个数据集上均超越了 ImageNet 有监督预训练网络甚至在更严格的评估指标 $AP^{all}$ 上也胜出这是积极的信号。Fig. 17不同数据集上的目标检测性能半监督学习任务在半监督学习任务上PIRL 同样表现良好甚至优于拼图这一预文本任务。第一行与最后一行的唯一区别在于PIRL 是不变版本而拼图是协变版本。Fig. 18ImageNet 上的半监督学习线性分类器评估在线性分类器评估上PIRL 发布时与CPCv2 相当并在多种参数设置与多种架构下表现良好。当然如今 SimCLR 等方法能取得更好的性能当时SimCLR 的 Top-1 精度约 69–70%而 PIRL 约 63%。Fig. 19线性模型在 ImageNet 上的分类YFCC 野图评估在来自YFCC 数据集的野图Flickr 随机图上PIRL 甚至能用小 100 倍的数据集取得比拼图更好的结果。这显示了为表示引入不变性而非单纯预测预文本任务的威力。Fig. 20在未整理的 YFCC 图像上预训练3.10 语义特征逐层检查回到对语义特征的验证观察PIRL 与拼图在从conv1到res5各层表示上的Top-1 精度。有趣的是两者各层的精度都随层深增加而提升但拼图在第 5 层出现下降而PIRL 的精度持续提升越来越语义化。Fig. 21PIRL 各层表示的质量3.11 可扩展性PIRL 非常擅长处理问题复杂度它从不预测排列的数量而是把排列当作输入。因此 PIRL 可以轻松扩展到 9 个补丁的全部362,880 种排列而拼图因为要预测排列其能力受输出空间大小限制。Fig. 22改变补丁排列数量的效果论文Misra van der Maaten, 2019, PIRL还展示了 PIRL 可轻松扩展到其他预文本任务拼图、旋转等甚至可扩展到任务组合例如拼图 旋转。Fig. 23PIRL 与组合的不同预文本任务一起使用3.12 不变性 vs 性能从不变性角度看一般可以断言PIRL 的不变性 聚类的不变性 预文本任务的不变性相应地PIRL 的性能 聚类的性能 预文本任务的性能。这提示我们在方法中引入更多不变性可能带来性能提升。3.13 局限性尚不清楚哪些数据变换是重要的——拼图有效但原因不明存在模型规模与数据规模上的饱和效应哪些不变性重要未来工作可研究对某个特定有监督任务而言哪些不变性有效。总体而言我们应该尽可能预测更多信息同时尽可能保持不变。四、关键答疑来自课堂讨论4.1 对比学习与批量归一化Batch NormQ1如果对比网络使用批量归一化层信息会从一个样本传到另一个样本网络是否会学到一种非常trivial的正负样本分离方式答在 PIRL 中从未观察到这种现赞分享示例工程【免费下载链接】NYU-DLSP20NYU Deep Learning Spring 2020项目地址https://gitcode.com/gh_mirrors/pyt/pytorch-Deep-Learning点击查看免费下载相关推荐NYU-DLSP20 第 10 周自我监督学习中的 ClusterFit 与 PIRL——从 pretext 任务到聚类与对比学习NYU DLSP20 第 10 周自我监督学习中的 ClusterFit 与 PIRL——从 pretext 任务到聚类与对比学习 本篇技术指南基于 NYU示例工程NYU-DLSP20 第10周下ClusterFit 与 PIRL——用聚类与对比学习改进自监督预训练表示NYU DLSP20 第10周下ClusterFit 与 PIRL——用聚类与对比学习改进自监督预训练表示 本篇文章对应 NYU DLSP20NYU D示例工程NYU-DLSP20 第十周技术指南自监督学习、ClusterFit 与 PIRL 实战解析NYU DLSP20 第十周技术指南自监督学习、ClusterFit 与 PIRL 实战解析 本文基于 NYU DLSP20NYU Deep Learnin示例工程上一篇Symfony Translation终极指南使用PHP SimpleXML实现多语言文件格式转换下一篇终极指南如何利用Omi AI可穿戴项链进行专业音乐创作与音频采样创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考