没有合适的资源?快使用搜索试试~ 我知道了~
5654通过有效的训练策略加速自我监督学习我一定要让他知道我是谁。英国爱丁堡大学{taha.kocyigit,t.hospedales,h.bilen}@ed.ac.uk摘要最近,计算机视觉社区的焦点已经从昂贵的监督学习转向视觉表示的自监督学习。虽然监督和自监督之间的性能差距一直在缩小,但训练自监督深度网络的时间仍然比其监督同行大一个数量级93.092.592.091.5培训成本与准确性监督MoCov2+BYOLSimSiam有效的基线监督MoCov2+BYOL碳成本,并限制了拥有大量资源的机构的社会效益。受这些问题的启发,本文研究了通过各种尚未用于此问题的模型无关策略来减少最近的自监督方法的训练时间。特别是,我们研究了三种策略:可扩展的循环学习率91.090.590.0SimCLR迪诺SimCLRSimSiam迪诺时间表,匹配渐进增强幅度和图像分辨率时间表,以及基于增强难度的硬正挖掘策略我们发现,所有三种方法相结合,导致几种自监督方法的训练时间加快了2.7倍,同时保留了与标准自监督学习设置相当的性能1. 介绍在机器学习中,没有人工注释的学习表示可以成功地转移到各种下游任务中,这是一个长期的目标[17,48]。自我监督学习(SSL)旨在通过识别图像块的相对位置[14]和解决拼图游戏[36]等借口任务有区别地学习这种表示。SSL方法[23,6,8]最近的成功建立在对比学习的基础上,其中表示处于对各种图像变换(如裁剪,模糊和颜色抖动)不变的潜在空间中。对比学习表示已被证明在转移到各种视觉任务(包括图像分类、对象检测、语义分割[7,22])并扩展到医学成像[1]以及100 150 200 250 300 350培训成本(petaFLOP)图1.分类准确度与各种SSL方法的训练成本,这些方法通过使用 ResNet50 在ImageNet 的子 集上进 行训练 (参见 第二节)。4.2用于实验细节)。我们的方法(以蓝色绘制)成功地显著加速了SSL方法(以红色绘制),而其性能没有任何显著下降。多视角[45]和多模式学习[37]。尽管取得了显着的进步,SSL方法的一个重要缺点是其高培训成本,这阻碍了这些有前途的技术的开发和采用即使是最有效的SSL方法也需要至少一个数量级的计算才能达到监督方法的性能,例如,训练BYOL[22]需要比监督方法多8.8倍的迭代和每次迭代多2.6倍的计算,从而多23倍的计算才能达到类似的精度。大的训练成本主要是由于在大量图像和各种增强变换上学习不变表示在本文中,我们专注于开发算法,可以加快SSL的训练,同时保持其性能。先前在有效监督培训方面的工作减少了kNN准确度5655通过逐步增加训练分辨率以及使用渐进学习的增强幅度来降低训练成本[44]。虽然增强是监督学习中的一种规则化机制,但它是SSL中监督的主要来源,因此起着更重要的作用。此外,还介绍了超收敛[41],它使用循环学习率和反相动量计划,用于加速监督学习任务的收敛。较长的训练时间使得超收敛的应用更加困难,并且将其与渐进式学习一起使用会导致训练早期的不稳定性在这项工作中,我们的目标是通过优化学习率、分辨率和增强时间表来提高自我监督训练方法的训练效率,从而以较小的计算预算达到相同的性能水平受[41]和[44]在监督学习中使用的启发,我们提出了一种用于自监督学习的组合学习率和分辨率时间表此外,我们修改了自我监督学习中使用的增强策略,以提高训练速度。我们的贡献是三倍。固定的1周期学习率时间表(参见第3.1)允许超收敛[41]通过固定其预热阶段的持续时间,同时延长衰减阶段,并将其与自监督学习中使用的其他学习速率计划进行比较,从而在更长的训练时间内发生超级渐进式学习(参见第二节)3.2)提出一个合适的渐进式学习时间表[44]对于SSL,通过在分辨率计划的开始处添加具有全分辨率的预热阶段,同时在训练期间逐渐增加增强幅度,以便它与我们提出的学习率计划配合良好硬垫块(参见第3.3)从多个低分辨率增强中动态地选择硬增强对,以便增强学习信号并正则化训练。我们表明,我们的方法加速了不同自监督学习方法和架构的训练,同时保持了与标准训练相当的性能。我们提供烧蚀研究,以分析不同方法的贡献,并确定最佳的hyperpa。我们的方法的参数,并添加理论的理由。2. 相关作品生成模型,如DBN [25],VAE [32]和GAN[20]已经被用于无监督表示学习,然而判别式SSL已经被证明是更有效的。虽然SSL的早期工作集中在设计各种借口任务,如解决拼图[36],着色[51,33,52]和预测旋转[18],但更多的近期技术集中在学习增强不变表示[49] [46]以取代需要人工监督的损失函数。最近,对比学习方法[23,6,8]已经显示出各种有希望的结果有针对性的任务,并引起了对这一领域的新的兴趣。然而,在训练这些方法时,至少需要一个数量级的更多计算,以便获得与监督学习相当的性能。事实上,我们在这些最近的模型中展示了我们的方法,并表明SimSiam [9],BYOL [22],MoCov2 [8],Simplified [6]和DINO [4]训练可以显着加快。通过在训练大规模数据期间适应梯度噪声,并行训练已用于提高大型深度学习方法的训练速度。同时使用多个加速器并增加总批量训练速度可以随着加速器的数量几乎线性地增加[35]。这样,监督ImageNet训练可以在几分钟[42]或几小时[21]内完成,而不是几天,即使总训练成本大致相同。这需要调整超参数,以便通过使用批量大小和学习率之间的线性关系[21,42]来正确管理梯度噪声[43,28,5]。研究表明,具有较大学习率的训练也具有正则化效应[28,5,34],并阻止收敛到更尖锐的最小值[31]。我们使用梯度噪声和学习率时间表之间的关系来优化训练效率,而不是速度,其中我们将学习率时间表与分辨率时间表同步,以降低训练的总成本。我们使用循环学习率计划[41],它将循环学习率和循环动量适应结合在一起作为我们的学习率计划,因为它具有高效的训练性能,并使其适应SSL训练中常见的更长的训练机制。课程学习[2]已用于加速深度学习方法的收敛,当将其应用于自监督学习时,增强强度和图像分辨率是最相关的参数。图像分辨率直接影响精度[26,47],同时二次减少运行时间。先前关于有效监督学习的工作[27]逐渐增加了DAWN基准测试[11]中的图像分辨率,以加速训练,同时性能略低。最近[44]提出逐渐增加训练图像分辨率,同时增加增强强度,以实现更快和更准确的训练。虽然增广用于监督学习中的规则化,但它们是最近自监督方法的主要监督来源,并确定任务难度。我们建立在这种直觉的基础上,并采用渐进式学习进行有效的自我监督训练,以降低训练成本,特别是在初始阶段,同时逐渐增加任务的难度。据我们所知,增强幅度及其与分辨率的关系的良好时间表硬正挖掘是另一种可用于加速训练的技术。基于样本损失的重要性采样已被证明可以加速监督学习-5656不N||≈−B∝θ| |tw1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000Σing [30,29].在目标检测[38]中,选择损失最高的区域,以便有效地选择有用的阳性和平衡阳性与阴性区域。[19]应用了多个增强和反向传播的最大损失,只有增强的样本,以提高θ的更新规则如下:µt=βtµt−1−tθL(B)(θt)θt+1=θt−µt(三)他们的方法的对抗鲁棒性,同时提高监督性能。[3]引入了一种用于自监督学习的多作物策略,该策略将低分辨率和高分辨率作物相结合,以在保持计算成本的同时其中,βt是学习率,βt是动量权重在步骤T。学习率和动量的值由学习率调度器(βt,βt)=S(t)给出。当量(3)可以解释为随机微分方程,(例如,[43]):有限公司我们在训练中挖掘硬增强,dθ dµ dL=µ,=β µ−+η(四)利用基于损失的重要性采样技术来动态地选择最有用的增强。以来dt dttdθt我们的重点是有效的训练,我们使用下采样在选择过程中增强图像的版本,以最小化开销。其中η(t)(0,gF(θ)/D)是加性高斯分布噪声源自随机性,F(θ)是样本梯度的协方差矩阵,g是“噪声等级”,由g|D|b(1−βt). 为了我们的分析3. 方法在本节中,我们将介绍用于加速自我监督训练的技术每种技术都可以单独用于加速训练,但它们可以以协同的方式结合在一起,以实现更快的训练。我们在第二节介绍固定1周期学习率时间表3.1、超级渐进式学习。3.2和第二节中的硬增量。三点三我们制定了一个对比损失函数,该函数测量图像对之间的差异,并且优化该损失使我们能够学习深度神经网络fθ的参数θ,该深度神经网络f θ为我们将利用梯度中的噪声,该噪声与学习速率β t成比例,而与批量大小b和1β t成反比。这种关系在使超参数适应不同的设置时起着重要的作用,并为我们提供了一个理论上的理解。学习速度表及其与渐进式学习的关系。3.1. 固定1周期学习率时间表已经在SSL中广泛使用的余弦退火学习速率调度[23,8,9]使用余弦函数从最大学习速率值λmax开始衰减学习速率,并且可以描述为,相同的图像,并具有对各种目标任务有用的表示。 设D是一个未标记的数据集,|D|图像分辨率R。我们随机t=1t2最大值(cos(Lπ)+1),(5)从trans-transmitting中采样两个图像变换τ和τ′对于每个训练图像x,将它们应用于x得到两个向量v和v<$,分别通过深度神经网络工作z=fθ(v)和z<$=fθ(v<$)提取其特征。为了学习网络权重θ,我们最小化损失函数L,它表示数据集和变换空间上的两个表示z和z ′之间的不匹配:minExD,(τ,τ<$)TL(z,z<$)(1)其中L是迭代的总次数。在较大批量下表现更好的方法以较大的学习率训练,以便在训练期间保持梯度为了防止由于快速变化的参数值[21]导致的训练早期阶段的不稳定性,增加了学习率的线性预热阶段[6,22,10,50,3,4],. tt t twt−twπ)+ 1),否则2L−tw我们使用带有动量的小批量随机梯度下降(SGD)优化器:L(B)(θ)=1L(z,z<$),(2)|x <$B,(τ,τ <$)<$T|x ∼ B,(τ,τ¯) ∼ T其中,小批量B由来自D的B个随机采样图像组成,并且损失在样本上平均以获得真实梯度的有噪声但无偏的估计。其中tw是预热步骤的数量另 一 方 面 , 由 [39] 引 入 的 循 环 学 习 率 ( CyclicLearning Rate,简称CRM)调度,后来被改进为1-cycle learning rate(1-CRM)调度[41,40],它从一个小的学习率开始,然后将学习率增加到一个非常高的值,然后逐渐衰减到一个非常小的值,同时以与学习率相反的方向改变动量。使用余弦窗口的每一步的学习率和动量值可以通过下式计算:t=(六)5657∝−∝2βt=2ρL2t− ttw.1t−ρL图2.蓝色的标准余弦退火学习率计划和红色的F1-F2计划的学习率(左)和动量(中)具有不同训练实例长度的F1-F2时间表的学习率可视化(右).max−1 tρL2在检查(gt/(1βt))中,见等式(四))。请注意,我们没有延长预热阶段,因为预热是作为一个t=21000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000t−ρLL(1−ρ)ρLπ)+1)否则(七)稳定器,而学习率和梯度噪声尺度是增加的(g=t),见等式(四))。βl+1(βh−βl)(cos(tπ)+1)t ρLβh−2(βh−βl)(cos(L(1−ρ)π)+1)否则其中ρ是分配给第一阶段的时间百分比,而βl和βh分别是动量 我们使用[40]提出的学习率(LR)范围测试来设置最大学习率,请参见补充材料C中的详细信息。在监督分类中已经证明了一种称为超收敛的现象,其中使用更大的学习率和1-n时间表训练时间来达到指定的性能已经显着减少[27]。然而,与监督学习不同,更长的训练时间通常不会带来更好的性能,有时甚至会由于过度拟合而导致更差的性能,在SSL中,表示的质量通常会随着更长的训练时间而提高[8,6]。当前1-week的一个问题是,第一阶段的百分比是与整个训练持续时间成比例确定的,这导致在较长的训练设置中的极长的预热阶段浪费计算时间。为了解决这个问题,我们建议延长1周期的退火阶段,同时保持预热长度tw相同,我们称之为固定1周期学习率(F1-F1)时间表,3.2. 超级渐进式学习输入分辨率是影响训练时间的重要因素通常,图像分辨率是性能和计算负载之间的权衡超参数,即,更高的分辨率、更高的性能,但也更多的计算。在SSL中,标准实践[23、8、9、6、22、10、50、3、4]是使用固定分辨率和固定增强设置进行训练我们假设只有当gra中存在少量噪声时才需要更高分辨率的输入,因此,建议采用受[44]启发的学习率感知渐进学习策略然而,由于在[44]中以小输入分辨率开始训练会导致梯度中的额外噪声,这会由于预热阶段的不稳定性而阻止其被简单地并入F1-F2。因此,我们建议在进入线性增加分辨率计划之前的预热阶段使用全分辨率图像进行训练,同时逐渐增加增强幅度,如图1所示。3(左,中)。 我们称之为超级渐进学习。当学习率高时,梯度g_t中存在大量噪声,并且这允许我们在该点处使用低分辨率图像而不会导致不良性能,然而,因为训练开始于小的学习率,我们需要调整我们的时间表和使用.max−1T
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++多态实现机制详解:虚函数与早期绑定
- Java多线程与异常处理详解
- 校园导游系统:无向图实现最短路径探索
- SQL2005彻底删除指南:避免重装失败
- GTD时间管理法:提升效率与组织生活的关键
- Python进制转换全攻略:从10进制到16进制
- 商丘物流业区位优势探究:发展战略与机遇
- C语言实训:简单计算器程序设计
- Oracle SQL命令大全:用户管理、权限操作与查询
- Struts2配置详解与示例
- C#编程规范与最佳实践
- C语言面试常见问题解析
- 超声波测距技术详解:电路与程序设计
- 反激开关电源设计:UC3844与TL431优化稳压
- Cisco路由器配置全攻略
- SQLServer 2005 CTE递归教程:创建员工层级结构
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功