【CLR】《Cyclical Learning Rates for Training Neural Networks》

在这里插入图片描述
WACV-2017

IEEE Winter Conference on Applications of Computer Vision


文章目录

  • 1 Background and Motivation
  • 2 Related Work
  • 3 Advantages / Contributions
  • 4 Method
  • 5 Experiments
    • 5.1 Datasets and Metrics
    • 5.2 CIFAR-10 and CIFAR-100
    • 5.3 ImageNet
  • 6 Conclusion(own) / Future work


1 Background and Motivation

训练神经网络的时候,学习率是一个非常重要的超参数

常规学习率设定会随着学习的深入,以各种方式减少,作者另辟蹊径,提出了 cyclical learning rate(CLR),有升有降,周而复始,以防止网络在学习中陷入局部局部最优解 or 鞍点(difficulty in minimizing the loss arises from saddle points rather than poor local minima,Saddle points have small gradients that slow the learning process)

在这里插入图片描述

收敛会加快,但是最终结果不一定会比 step learning rate 好

2 Related Work

  • Adaptive learning rates
    AdaGrad / RMSProp / AdaDelta / AdaSecant / RMSProp
    CLR can be combined with adaptive learning rates

3 Advantages / Contributions

提出了 CLR,一种学习率的方法论,不用去花额外代价 find the best values and schedule

发现学习率的 rise and fall 对最终的收敛速度精度有帮助

在公开的模型和数据集上,验证了 CLR 的有效性

4 Method

学习率形式

  • a triangular window (linear) 三角
  • a Welch window (parabolic) 抛物线
  • a Hann window (sinusoidal) 正弦

作者选择最简单的 triangular
在这里插入图片描述
超参:stepsize (half the period or cycle length),base_lr,max_lr

(1)How can one estimate a good value for the cycle length?

stepsize 作者给出的建议为

is good to set stepsize equal to 2 − 10 times the number of iterations in an epoch

也即 2~10 epoch 长度

(2)How can one estimate reasonable minimum and maximum boundary values?

在这里插入图片描述
作者的方法论,学习率一直增加,长度可以为一个 stepsize,观测精度变化,选定学习率范围(Set both the stepsize and max iter to the same number of iterations)

上图 base lr = 0.001,max lr = 0.006

a single LR range test provides both a good LR value and a good range


作者基于 triangular 还衍生出了两种 schedule

  • triangular2
    the same as the triangular policy except the learning rate difference is cut in half at the end of each cycle
    triangular 每个周期min max都是一样的,triangular2 是 min / max / stepsize 都随着周期的变化而变化
    在这里插入图片描述
  • exp_range
    min 和 max learning rate 随着周期的变化而 decline,变化公式为
    g a m m a i t e r a t i o n gamma^{iteration} gammaiteration,gamma 文中设定为 0.99994

5 Experiments

5.1 Datasets and Metrics

  • CIFAR-10:top1 error,acc
  • CIFAR-100:top1 error
  • ImageNet:top1 / top5 error

5.2 CIFAR-10 and CIFAR-100

在这里插入图片描述

在这里插入图片描述
CIFAR-10 上效果还是 ok的,收敛的更快,更好

对比 exponential 学习率和作者提出的 exp range
在这里插入图片描述

在这里插入图片描述
CIFAR10 上确实领先

在这里插入图片描述
和不同的学习方法对比,adaptive learning rate methods with / without CLR
在这里插入图片描述
Nesterov / ADAM / RMSprop 都没有 fixed learning rate 猛耶,这里 fixed 的描述应该是相对周期性变化来说的
在这里插入图片描述
一直在波动,毕竟学习率也在周期性的变化中

在看看不同网络结构的效果,ResNets, Stochastic Depth, and DenseNets
在这里插入图片描述
CLR 有提升

5.3 ImageNet

在这里插入图片描述

在这里插入图片描述
还是有一点点提升的

(1)AlexNet

先根据 LR range test 找到了 min 和 max learing rate,stepsize is 6 epochs

在这里插入图片描述
有提升,但是整体波动性会更大,能理解(exp range policy do oscillate around the exp policy accuracies)

(2)GoogLeNet/Inception Architecture

先 LR range test 找出 min 和 max learning rate
在这里插入图片描述

6 Conclusion(own) / Future work

  • future work
    • equivalent policies work for training different architectures, such as recurrent neural networks
    • theoretical analysis would provide an improved understanding of these methods
  • 第二次遇到 solo 论文的,上次还是 CVPR 的 xception,Keras的发明人,作者的单位,第一次遇到,(○´・д・)ノ
  • 启发比较大的是找 learning rate min 和 max 的方法——LR range test
  • 其他表格图有提升,table 3 中和其他 adaptive learning rate methods 对比,with / without CLR 有点弱了
  • 不知道和 SGDR 中 T m u l t i T_{multi} Tmulti 配合起来会怎么样

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Unity 中消息提醒框

Tooltip 用于ui布局 using System.Collections; using System.Collections.Generic; using UnityEngine; using TMPro; using UnityEngine.UI;[ExecuteInEditMode()] // 可以在编辑模式下运行public class Tooltip : MonoBehaviour {public TMP_Text header; // 头部文本publi…

✌粤嵌—2024/3/11—跳跃游戏

代码实现&#xff1a; 方法一&#xff1a;递归记忆化 int path; int used[10000];bool dfs(int *nums, int numsSize) {if (path numsSize - 1) {return true;}for (int i 1; i < nums[path]; i) {if (used[path i]) {continue;}path i;used[path] 1;if (dfs(nums, num…

ZYNQ之嵌入式开发03——按键中断实验

文章目录 按键中断控制LED的状态AXI GPIO实现按键中断使用多个AXI GPIO实现按键中断 GPIO的简图如下图所示。 GPIO对应的中断ID是52。 按键中断控制LED的状态 前面实验中已经做了按键控制LED状态的实验&#xff0c;但是LED的状态分为按键按下时和按键松开时的两种状态&…

00_STM32CubeMX如何新建一个工程

STM32CubeMX如何新建一个工程 STM32CubeMX如何新建一个工程以使用PA1口点亮LED为例子 STM32CubeMX如何新建一个工程 以使用PA1口点亮LED为例子 1.创建一个新工程 2.搜索芯片&#xff0c;然后双击 3.点击PA1引脚&#xff0c;设置为输出口 4.文件一定要保存到英文路径&#xff…

4. WPF应用程序中的未捕获异常处理

文章目录 一. 目标二. 技能介绍① UI未捕获异常的处理方式② 全局程序域抛出的未处理异常的捕获③ 异步Task任务中的异常捕获 三. 总结 一. 目标 理解和使用UI未捕获异常DispatcherUnhandledException的使用方法和触发方式.理解和使用程序域未捕获异常AppDomain.CurrentDomain.…

vs2022断点调试怎么看堆栈帧,找异常位置

打一个断点以后&#xff0c;会出现如图报错 我们要怎么找到报错的语句&#xff1f;鼠标点击->堆栈帧->上一行运行的位置->直到找到错误出错如图所示&#xff1a; 跳转到&#xff0c;我们手写的代码&#xff0c;执行出错的位置

【第十五届】蓝桥杯省赛C++b组

今年的蓝桥杯省赛已经结束了&#xff0c;与以往不同&#xff0c;今年又回到了8道题&#xff0c;而22&#xff0c;23年出现了10道题 大家觉得难度怎么样&#xff0c;欢迎进来讨论&#xff0c;博主今年没参加哈&#xff0c;大家聊聊&#xff0c;我听听大家的意见和看法哈 试题A:…

DSP笔记13-时间基准子模块Time base(TB)比较子模块Counter cpmpare(CC)

时间基准子模块Time base(TB) 同步&#xff0c;计数 CTR计数寄存器 PRD周期寄存器 CMP比较寄存器&#xff0c;占空比 EPWMA&#xff0c; EPWMB&#xff0c;两个比较寄存器&#xff0c;但只有以及计数寄存器以及一个周期寄存器 计数模式 计数时钟TBCLK HSPCLKDIVx x0,分…

HBuilderX 中开发vue,引入百度地图获取当前ip地址定位

实现功能&#xff1a;使用百度地图获取IP地址&#xff0c;定位到当前位置 参考文档地址&#xff1a;MapVGL | 快速入门 一、在有外网的情况下&#xff0c;常规引入百度地图的方法如下&#xff1a; 1、在index.html中引入 <script src"//api.map.baidu.com/api?v1.…

element问题总结之el-table使用fixed固定列后滚动条滑动到底部或者最右侧的时候错位问题

el-table使用fixed固定列后滚动条滑动到底部或者最右侧的时候错位 效果图前言解决方案纵向滑动滚动条滑动到底部的错位解决横向滚动条滑动到最右侧的错位解决 效果图 前言 在使用el-table固定行的时候移动滚动条会发现移动到底部或者移动到最右侧的时候会出现表头和内容错位或…

在 Flutter App 中使用 GPS 定位

现代手机上&#xff0c;不论是苹果 iPhone 还是安卓 Android&#xff0c;都配备了强大的定位能力。 定位主要通过卫星和地面基站提供的信号&#xff0c;获得不同精度的定位信息。 通过手机的操作系统&#xff0c;可以获取这些定位信息。这是手机操作系统给应用层提供的能力。…

Udio——革命性的AI音乐生成软件

Udio是一款革命性的AI音乐生成软件&#xff0c;由前谷歌DeepMind的顶尖AI研究人员和工程师共同创立&#xff0c;得到著名风险投资公司a16z的支持。它旨在为音乐爱好者和专业人士提供一个全新的音乐创作和分享平台。用户可以通过文本提示来生成音乐&#xff0c;支持广泛的音乐风…

numpy学习笔记(5),其他实用函数

8. 更多函数 8.1 随机数 8.1.1 常用随机数 8.1.1.1 numpy.random.rand(d0, d1, …, dn) 返回[0.0, 1.0)随机浮点数&#xff0c;即大于等于0.0&#xff0c;小于1.0。d0, d1, …, dn&#xff1a;返回的数组形状 # 使用numpy.random.rand函数 import numpy as np np.random.r…

百元内的运动蓝牙耳机哪个牌子好?五大高分品牌实测推荐

在追求健康生活的当下&#xff0c;运动已成为许多人日常生活的一部分&#xff0c;而音乐更是运动时的最佳伴侣&#xff0c;对于预算有限的学生党或普通消费者来说&#xff0c;如何在百元内挑选到一款性能优越、品质可靠的运动蓝牙耳机&#xff0c;确实是个不小的挑战&#xff0…

(六)C++自制植物大战僵尸游戏关卡数据讲解

植物大战僵尸游戏开发教程专栏地址http://t.csdnimg.cn/xjvbb 游戏关卡数据文件定义了游戏中每一个关卡的数据&#xff0c;包括游戏类型、关卡通关奖励的金币数量、僵尸出现的波数、每一波出现僵尸数量、每一波僵尸出现的类型等。根据不同的游戏类型&#xff0c;定义了不同的通…

ATA-214高压放大器用在哪些实验中使用的

高压放大器在科学实验和工程应用中扮演着关键角色。它是一种能够将低电压信号放大到高电压水平的设备。这种放大器通常用于需要处理高电压信号的实验和应用中。以下是高压放大器在各种实验中的应用范围。 粒子物理实验&#xff1a;在粒子物理实验中&#xff0c;科学家使用高压放…

【分享】3种方法取消Word文档的“打开密码”

我们知道&#xff0c;Word文档可以设置“打开密码”&#xff0c;防止文档被随意打开&#xff0c;那后续不需要密码保护了&#xff0c;要怎么取消呢&#xff1f;不小心把密码忘记了还可以取消吗&#xff1f;不清楚的小伙伴一起来看看吧&#xff01; 如果是Word文档不再需要密码…

Python Flask-Security- 构建安全而强大的Web应用

Flask-Security是一个基于Flask的安全扩展&#xff0c;为开发者提供了构建安全且强大的Web应用的工具。本文将深入探讨Flask- Security的核心功能、基本用法以及在实际应用中的一些高级特性&#xff0c;通过丰富的示例代码&#xff0c;助您更全面地了解和应用这一用于Web应用安…

windows的jar包开机自启动【搬代码】

感觉最方便的就是放到启动项目里操作步骤 winR 输入&#xff1a;shell:startup回车或点击确定 3.将自己jar包右键创建快捷方式 4.然后放进去 5.重启电脑&#xff0c;浏览器输入网址&#xff0c;就可以看到重启成功了 另外一个就是放入.exe文件的快捷方式 首先&#xff0c;…

docker安装nessus服务及使用

Nessus 是目前全世界最多人使用的系统漏洞扫描与分析软件&#xff0c;现在软件服务越来越多&#xff0c;越来越复杂&#xff0c;涉及的数据也更多&#xff1b;因此系统完成后对于系统漏洞的检测并对其进行修改十分有必要&#xff0c;本文介绍通过docker安装nessus服务及简单的使…