MoCo v2 论文解读

paper:Improved Baselines with Momentum Contrastive Learning

official implementation:https://github.com/facebookresearch/moco

这篇文章的内容只有2页,不能称之为paper,作者本人也称之为note。主要内容就是将SimCLR中的两点改进直接拿来用,作者发现它们和MoCo框架是“orthogonal”的关系,可以改进MoCo的效果并取得比SimCLR更好的精度。

第一个改进就是增加一个nonlinear projection layer,即将原始的全连接层用一个2层的MLP head替代,其中hidden layer的维度为2048,加一个ReLU层。改进后在默认的温度 \(\tau=0.07\) 下准确率从60.6%提升到了62.9%,切换到MLP最优的温度值 \(\tau=0.2\) 后,准确率进一步提升到了66.2%。

第二个改进是扩展增强方法,引入SimCLR中的模糊增强。如表1(b)所示,不用MLP,只增加blur增强将MoCo baseline在ImageNet上的精度提高了2.8%达到63.4%。有趣的是,单独添加模糊增强比单独添加MLP的检测精度要高,即表1(b) vs. 表1(a),AP 56.8% vs. 56.4%,但线性分类精度要低得多63.4% vs. 66.2%。这表明线性分类精度和迁移到检测中的性能不是单调相关的关系。组合MLP和模糊增强,将ImageNet的精度提高到了67.3%。

 

Comparison with SimCLR. 表2比较了SimCLR和MoCo v2的结果。为了公平比较,作者还研究了SimCLR使用余弦学习率策略的下过,见表1(d, e)。batch size采用256并训练200个epoch,MoCo v2在ImageNet上取得了67.5%的准确率,这比使用相同batch size并训练相同epoch的SimCLR高了5.6%,并比SimCLR采用大batch size的结果66.6%要高。当训练800个epoch时,MoCo v2达到了71.1%,高于SimCLR训练1000个epoch达到的69.3%。 

Computation cost. 表3展示了MoCo v2的内存和时间成本。end-to-end版本反映的是SimCLR在GPU上的成本,而不是原文在TPU上的。即使在高端的8-GPU机器上,4K的batch size也很难处理。在相同的256 batch size下,SimCLR的内存和时间成本也都更高,因为它同时反向传播到 \(q\) 和 \(k\) encoder,而MoCo只反向传播到 \(q\) encoder。

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

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

相关文章

用 PyTorch Lightning 监控和串流 PyTorch 的训练进度 TensorBoard MNISTDataModule 训练 查看训练进度

tags: AI开发/云原生/Kubernetes开发/Python/Notebook开发/Python/PyTorch开发/Python/PyTorchLightningAI/PyTorchAI/训练AI/TensorflowAI/TensorBoard开发/Python/TensorBoard开发/Python/HuggingFaceAI/TrainerAI/HuggingFaceAI/数据集/MNIST用 PyTorch Lightning 监控和串流…

灯光4-利用光照探头模拟局部实时光影效果

在Unity中,可以使用光照探头来模拟局部实时光影效果。光照探头是一种用于捕捉场景中光照信息的特殊组件。通过将光照探头放置在场景中的某个位置,它会记录下该位置的光照信息,并将其应用于周围的物体上,从而实现局部实时光影效果。…

1.5MHz,1.2A COT 架构同步降压变换器只要0.16元,型号:LN3435

推荐原因 1.5MHZ的开关频率,可以使用小电感,1.2A满足多数应用,价格感人,只要0.16元 产品概述 LN3435是一款电流模COT架构同步降压开关稳压器。 输入范围为 2.7V-6.0V,可提供 1.2A 的连续输出电流。 内部集成了低内阻…

学习Rust的第4天:常见编程概念

基于Steve Klabnik的《The Rust Programming Language》一书。昨天我们做了一个猜谜游戏 ,今天我们将探讨常见的编程概念,例如: Variables 变量Constants 常数Shadowing 阴影Data Types 数据类型Functions 功能 Variables 变量 In layman ter…

C语言入门第四天(数组)

一、C语言数组的基本语法 1.数组的定义 数组是 C 语言中的一种数据结构,用于存储一组具有相同数据类型的数据。数组中的每个元素可以通过一个索引(下标)来访问,索引从 0 开始,最大值为数组长度减 1。 2.定义语法格式 …

【鸿蒙开发】动画

1. 属性动画 animation放在其他属性的后面才有过渡效果 组件的某些通用属性变化时,可以通过属性动画实现渐变过渡效果,提升用户体验。支持的属性包括width、height、backgroundColor、opacity、scale、rotate、translate等。 接口: animati…

4个步骤:如何使用 SwiftSoup 和爬虫代理获取网站视频

摘要/导言 在本文中,我们将探讨如何使用 SwiftSoup 库和爬虫代理技术来获取网站上的视频资源。我们将介绍一种简洁、可靠的方法,以及实现这一目标所需的步骤。 背景/引言 随着互联网的迅速发展,爬虫技术在今天的数字世界中扮演着越来越重要…

Python也可以合并和拆分PDF,批量高效!

PDF是最方便的文档格式,可以在任何设备原样且无损的打开,但因为PDF不可编辑,所以很难去拆分合并。 知乎上也有人问,如何对PDF进行合并和拆分? 看很多回答推荐了各种PDF编辑器或者网站,确实方法比较多。 …

支持向量机模型pytorch

通过5个条件判定一件事情是否会发生,5个条件对这件事情是否发生的影响力不同,计算每个条件对这件事情发生的影响力多大,写一个支持向量机模型pytorch程序,最后打印5个条件分别的影响力。 示例一 支持向量机(SVM)是一种…

【原创】springboot+mysql理发会员管理系统设计与实现

个人主页:程序猿小小杨 个人简介:从事开发多年,Java、Php、Python、前端开发均有涉猎 博客内容:Java项目实战、项目演示、技术分享 文末有作者名片,希望和大家一起共同进步,你只管努力,剩下的交…

c++中虚函数、纯虚函数以及虚函数的实现原理

c中虚函数、纯虚函数以及虚函数的实现原理 什么是虚函数和纯虚函数 虚函数(Virtual Functions)和纯虚函数(Pure Virtual Functions)是 C 中用于实现多态性的重要概念。 虚函数(Virtual Functions) 虚函…

算法课程笔记——常用库函数

memset初始化 设置成0是可以每个设置为0 而1时会特别大 -1的补码是11111111 要先排序 unique得到的是地址 地址减去得到下标 结果会放到后面 如果这样非相邻 会出错 要先用sort排序 O(n)被O(nlogn)覆盖

服务器数据恢复—xfs文件系统节点、目录项丢失的数据恢复案例

服务器数据恢复环境: EMC某型号存储,该存储内有一组由12块磁盘组建的raid5阵列,划分了两个lun。 服务器故障: 管理员为服务器重装操作系统后,发现服务器的磁盘分区发生改变,原来的sdc3分区丢失。由于该分区…

photoshop基础学习笔记

学习 Photoshop 的基础知识是掌握图像处理和设计的关键。以下是一份基础学习笔记,帮助你开始学习 Photoshop: 1. Photoshop 界面导览 工具栏(Tool Bar):包含了各种工具,如选择工具、画笔工具、橡皮擦工具…

Linux命令学习—DHCP 服务器

1.1、DHCP 服务器 ①、DHCP(dynamic host configure protocol)动态主机配置协议 最大的功能就是向客户端提供 TCP/IP 信息,使用的是 UDP:67 端口 ②、手动设定适合:适用小型网络 ③、手动输入 IP 地址和自动获取比较优缺点 ④…

攻防演练,作为红方的步骤应该是那些

在执行合法的攻防演练中,对目标服务器如 http://XXXXX/ 进行漏洞扫描和评估需要遵循严格的步骤来确保所有活动都是安全、合法且有效的。以下是一些基本步骤和技术指南,以及使用 nmap 进行初始扫描的示例。 1. 获取授权 确保你有明确的书面授权来进行漏…

问,由于java存在性能上,以及部分功能上的缺点,请问如何正确使用C,C++,Go,这三个语言,提升Java Web项目的性能?

拓展阅读:版本任你发,我用java8 我明白Java虽然在许多方面表现出色,但在某些特定场景下可能会遇到性能瓶颈或功能限制。为了提升Java Web项目的性能,可以考虑将C、C和Go这三种语言用于特定的组件或服务。以下是如何正确使用这些语…

葡萄书--深度学习基础

卷积神经网络 卷积神经网络具有的特性: 平移不变性(translation invariance):不管检测对象出现在图像中的哪个位置,神经网络的前面几层应该对相同的图像区域具有相似的反应,即为“平移不变性”。图像的平移…

设置Linux命令行tab补全不区分大小写

root权限编辑文件 sudo vim /etc/inputrc加入新配置 [按下i键开始输入] 文件末尾加入新配置 set completion-ignore-case on保存 [按下esc键,再输入:wq确定保存] 重启 reboot

web自动化系列-selenium 的鼠标操作(十)

对于鼠标操作 ,我们可以通过click()方法进行点击操作 ,但是有些特殊场景下的操作 ,click()是无法完成的 ,比如 :我想进行鼠标悬停 、想进行鼠标拖拽 ,怎么办 ? 这个时候你用click()是无法完成的…