[CVPR 2022] Rethinking the Augmentation Module in Contrastive Learning

news2025/1/16 7:58:06

Contents

  • Introduction
  • Method
    • Learn Hierarchical Augmentation Invariance
    • Feature expansion with augmentation embeddings
  • Experiments
  • References

Introduction

  • 在对比学习中,数据增强是非常重要的,对比学习的本质就是通过让模型对数据增强具有不变性来使其从样本中抽取出最本质的语义信息 (representational invariance). 目前的对比学习工作大都通过实验预先选取若干种训练时使用的数据增强方法,例如 random cropping and resizing, horizontal flipping, color jittering, converting to grayscale 和 Gaussian blurring. 然而,人工事先确定数据增强方法和数据增强强度实际上会带来一系列的问题
    • (1) 固定的数据增强类型:下图 (a) 展示了不同数据增强类型对 ImageNet 中的多少类别有正面作用,从这一实验结果来看,我们会更倾向于选择 color jittering 而非 rotation 作为我们的数据增强方法,但如图 (b) 所示,对于某些下游任务而言,rotation 可能比 color jittering 更合适。因此,事先确定数据增强类型相当于给模型施加了 implicit knowledge of invariance,这对于某些下游任务是不合适的
      在这里插入图片描述
    • (2) 数据增强强度:SimCLR 证明了 strong data augmentations 利于对比学习,但用 strong augmentations 学出来的特征可能会导致 encoder 具有 unnecessary invariance,无法辨别出一些对下游任务比较重要的细粒度信息。虽然 SimCLR 用 projection head 来隐式地缓解这一问题,但无监督对比学习领域还没有提出显式地解决该问题的方法
      在这里插入图片描述
  • 为了解决上述问题,作者提出了新的用于对比学习的数据增强策略来帮助模型学得 Hierarchical Augmentation Invariance,该策略可以集成到现有的对比学习方法中,对细粒度分类提升尤为明显。

Method

在这里插入图片描述

Learn Hierarchical Augmentation Invariance

  • General contrastive learning framework. data augmentation module + siamese structure + contrastive loss
  • Augmentation module. 为了减少固定数据增强类型引入的 invariance 先验信息,在数据增强时,作者不是用固定的数据增强方法生成 one pair of views,而是采用 add-one strategy 用 4 个数据增强模块 T 1 ∼ T 4 T_1\sim T_4 T1T4 生成 four pairs of views { v i , v i ′ } \{v_i,v_i'\} {vi,vi} (现有对比学习工作只使用 T 4 T_4 T4),add-one strategy 是指每个数据增强模块都比上一个模块多使用一种数据增强方法
    在这里插入图片描述其中, t 0 t_0 t0 为 base augmentations,作者选用的是 random cropping and resizing,用于将输入图像调整为相同大小, t 1 ∼ t 4 t_1\sim t_4 t1t4 依次为 horizontal flipping, color jittering, converting to grayscale, and Gaussian blurring,它们的顺序按照重要性进行排序. 可见,每对 views 的对齐都给模型引入了一种特定的 augmentation invariance,并且越基础的数据变换不变性在 encoder 里分布得就越广,i.e., the invariances of augmentation t 0 t_0 t0 and t 1 t_1 t1 are most widely distributed, while the invariance of t 4 t_4 t4 is restricted to the deepest stage of the encoder.
  • Siamese Structure. 作者将 encoder 分成 4 个 stage每个 stage 分别抽取出一对 views 的特征然后计算对比损失。这样 encoder 的每个部分就具备了不同的 invariance 特性
    在这里插入图片描述其中, f i f_i fi T i T_i Ti 对应的 encoder 部分, g i g_i gi 为额外的卷积网络,用于得到与最后一个 stage 相同形状的特征输出,conv layers is 3,2,1 for the first three stages,最后一个 stage 的 g i g_i gi 为恒等映射
  • Contrastive Loss. 抽取出的特征加上 MLP-based projection head (3 个全连接层) 后计算对比损失。总的对比损失为 4 对 views 的对比损失之和
    在这里插入图片描述

Feature expansion with augmentation embeddings

  • 上面的方法可以缓解固定数据增强类型带来的问题,但依然没有解决数据增强强度带来的问题。为此,作者用一个全连接层 (FC + BN + ReLU) f a u g \boldsymbol{f_{aug}} faug 得到 embeddings of specific augmentation parameters { e a u g , e a u g ′ } \{e_{aug},e_{aug}'\} {eaug,eaug}. 以 color jittering 为例,brightness, contrast, saturation 和 hue 分别为 [ b , c , s , h ] [b, c, s, h] [b,c,s,h],经过输入维度为 4 的线性层即可得到参数的 embed e a u g = f a u g ( [ b , c , s , h ] ) e_{aug}=f_{aug}([b, c, s, h]) eaug=faug([b,c,s,h])
  • 在 projection head 前,将 view feature 和 augmentation embed 做向量连接
    在这里插入图片描述这样就显式地让 projection head 考虑数据增强带来的影响,从而使得 backbone f f f 中包含更多有用的信息,去除 backbone 中的 unnecessary invariance

Experiments

  • Unsupervised pre-training. 预训练数据集使用 ImageNet ILSVRC-2012
  • Linear evaluation. 可以看到,该方法在细粒度分类数据集上提升尤为明显
    在这里插入图片描述在这里插入图片描述
  • Detection and Segmentation.
    在这里插入图片描述
  • Add radom rotation? 在现有对比学习框架中,加上旋转变换甚至可能让模型掉点,但作者用实验证明,通过将 invariance 限制在部分模型上,添加旋转变换是可以涨点的. These results indicate that enlarging the distribution of rotation invariance in the model is harmful to representation learning, which is in line with our intuition and motivation.
    在这里插入图片描述
  • Arrangement modes of augmentations. 越基础的数据变换不变性在 encoder 中的分布就应该越广,因此应该根据数据变换的重要性确定它们的顺序
    在这里插入图片描述
  • Ablation study. (1) 作者设计了两种 baseline,uniform 是指所有 stage 使用相同的数据增强策略,hierarchical strength 是指所有 stage 使用相同的数据增强策略,并且数据增强的强度逐渐增加。add-one strategy 的性能远超上述 baseline,这说明简单的设置多目标损失或是降低浅层网络的数据增强强度并不能有效提升模型性能
    在这里插入图片描述(2) Effectiveness of augmentation embed. 以下实验说明采用 augmentation embed 能有效地将数据变换不变性从 backbone 转移到 projection head. e e e 中包含较多数据变换的相关信息,而经过 projection head 后的 h ( e ) h(e) h(e) 就具备了数据变换不变性,预测准确率接近于随机预测
    在这里插入图片描述(3) Embedding types. embedding cropping parameters also leads to an accuracy boost compared with baseline but is less effective than embedding color parameters. Combining cropping embeddings with color embeddings has an unstable effect on different benchmarks.
    在这里插入图片描述(4) Effectiveness of the two proposed modules.
    在这里插入图片描述

References

  • Zhang, Junbo, and Kaisheng Ma. “Rethinking the Augmentation Module in Contrastive Learning: Learning Hierarchical Augmentation Invariance with Expanded Views.” Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2022.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/162327.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

给国行Sony9500H更换美区950H主板

折腾理由 家中小朋友因为疫情,经常需要投屏上网课,感觉在pad上面看,画面太小距离太近,并且已经近视,想着投屏到电视上,稍微改善一下用眼环境。软件投屏用着不爽,国产投屏软件有广告&#xff0c…

故障排查:Java Web程序未通过Acunetix的漏洞检查

博客主页:https://tomcat.blog.csdn.net 博主昵称:农民工老王 主要领域:Java、Linux、K8S 期待大家的关注💖点赞👍收藏⭐留言💬 目录故障详情问题原因注意事项两次失败的尝试relaxedPathChars & relax…

技术博客|第17期:广告程序化交易(一)- 生态系统

在《Hulu/Disney Streaming流媒体广告平台中的核心技术(上)》广告流程章节中,我们提到了Disney的主要流量是通过每年定期举行的Upfront大会来进行售卖。Upfront会占据我们大部分的流量。除了Upfront售卖的方式以外,剩余的流量在Di…

解析数字员工,为何其已成为企业优势选择

数字化转型浪潮来袭,“数字员工”市场加速升温,各行各业都开始探索数字员工的应用场景。到底什么是数字员工,他们又有哪些优势而备受企业青睐?“抛头露面”与“幕后英雄”数字员工是一种形象化的称呼,所谓“数字员工”…

AOSP安卓源码下载

Android源码下载 在国内想下载Android要么科学上网,要么使用国内搭建的镜像,有清华镜像,中科大的镜像网站。这里使用清华镜像网站镜像Android源码的下载清华镜像网站地址,为啥我要写这篇笔记嘞,虽然网上有很多这方便的…

理发之前先用 AI 替你尝试新发型 #hairstyleai

让 Tony 老师傻眼的 AI 发型效果神器上线!💇hairstyleai 依靠人工智能的力量尝试新发型! hairstyleai 是一个在线人工智能网站,可以根据你的照片,使用强大的人工智能技术生成不同的发型,看看到底哪种最适合…

Layer Normalization

1、原理 Layer Normalization是针对自然语言处理领域提出的,例如像RNN循环神经网络。在RNN这类时序网络中,时序的长度并不是一个定值(网络深度不一定相同),比如每句话的长短都不一定相同,所有很难去使用BN…

Gradle学习笔记之build.gradle文件

文章目录简介常见属性代码仓库subprojects和allprojectsext自定义属性buildscript简介 build.gradle是gradle构建脚本文件,支持java、groovy等语言。 每个gradle项目或模块都会有一个build.gradle文件,该文件是项目构建的入口,可配置版本、…

【RabbitMQ二】——RabbitMQ入门教程(简单模式)

RabbitMQ入门教程(简单模式)前言RabbitMQ相关术语RabbitMQ简单模式示例总结如果博主的文章对您有所帮助,可以评论、点赞、收藏,支持一下博主!!!前言 本篇博客主要是实现RabbitMQ最简单的模式,一个生产者,一…

【指针笔试题上】你知道大厂面试题的指针题是什么样的吗?快来通过这些面试题目检测一下自己吧!

目录 前言: 一.strlen和sizeof的区别 二.一维数组笔试题解析 三.二维数组笔试题解析 四.总结: 博客主页:张栩睿的博客主页 欢迎关注:点赞收藏留言 系列专栏:c语言学习 家人们写博客真的很花时间的,你们…

【自学Docker】一文解决Docker安装

Docker Centos安装 Docker版本 Docker 从 1.13 版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE。 Docker社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设施、容器…

1.1 java 基础语法

目录 一、Java 基础语法 (1)对象: (2)类: (3)方法: (4)实例变量: 二、如何运行java程序(前提是java的环境已经创建完…

19.Isaac教程--C语言接口(Isaac C API)

Isaac C API ISAAC教程合集地址: https://blog.csdn.net/kunhe0512/category_12163211.html 文章目录Isaac C API程序流程和消息格式ROS示例独立示例启动和停止应用程序向 Isaac 应用程序发布消息从 Isaac 应用程序接收消息语言环境设置示例消息ImageProtoRangeScanProtoStateP…

C语言 八皇后(包含错误代码及分析)

基本思路:用递归思想解决,在8*8的棋盘放置8个皇后,则放置成功会每行有且仅有一个皇后(因为皇后不能同行),所以可以循环行,尝试在某列放置,和 全排列 http://t.csdn.cn/kvIXC 的解决方…

vulnhub DC系列 DC-4

总结:爆破,teehee提权 目录 下载地址 漏洞分析 信息收集 密码爆破 命令执行 ​编辑 ssh爆破 提权 下载地址 DC-4.zip (Size: 617 MB)Download: http://www.five86.com/downloads/DC-4.zipDownload (Mirror): https://download.vulnhub.com/dc/D…

远程连接mysql报错:1130 - Host XXX is not allowed to connect to this MySQL server

问题描述 1130 - Host 123.120.193.96 is not allowed to connect to this MySQL server 译:不允许主机 123.120.193.96 连接到此 MySQL 服务器 远程连接的时候出现如下错误: 问题分析 根据描述提示,在用Navicat配置远程连接Mysql数据库时遇…

【Node.js】写一个数据自动整理成表格的脚本

前言 企业项目进行数据埋点后,埋点事件名需要整理成Excel表格便于统计,目标是将下图左侧数据转化成下图右侧的Excel表格: 考虑到左侧埋点数据是随项目迭代增加的,埋点数据每增加一次我就要把数据一条一条的CtrlC/V复制粘贴至Ex…

春节要放假了,外贸人你准备好了吗?

一转眼,老外们的假期即将结束,而我们的春节假期即将开启。有人会想:工作一年了,好不容易春节放个假,我是不是应该好好休息了?对别人是!但是对于我们外贸人,并不是!很多外…

第十三届蓝桥杯C++B组省赛 J 题——砍竹子(AC)

1.砍竹子 1.题目描述 这天,小明在砍竹子,他面前有 nnn 棵竹子排成一排,一开始第 iii棵竹子的高度为 hihihi。 他觉得一棵一棵砍太慢了,决定使用魔法来砍竹子。 魔法可以对连续的一段相同高度的竹子使用,假设这一段…

数学基本算法

欧几里得算法 求两个数的最大公约数: /**** param a 整数* param b 整数* return 两个整数的最大公约数*/public static int gcd(int a,int b){return b0?a:gcd(b,a%b);} 扩展欧几里得 /*** * param a * param b (a,b)两个整数* param x * param y (x,y)…