有论文说swa能涨分,那么我来实验一下

那么我将在cifar10数据集上进行实验

原理

论文地址:https://arxiv.org/pdf/2012.12645.pdf

SGD倾向于收敛到loss的平稳区域 平稳区域的大部分都处于边界,由于权重空间的维度比较高,SGD通常只会走到这些平稳区域的边界;SWA通过平均多个SGD的权重参数,使其能够达到平稳区域的中心.

为什么要去中心化呢?trainloss 最小的时候test error并不是最小,那么也就是泛化能力最好的地方不在train loss最小的地方。所以采用这个方法可以收敛到一个wide minima,这个wide minima有更好的泛化性;

在一个loss landscape上做visualization,优化分析,让他收敛到一个更好的local minima(极小值)

如何能收敛到这个泛化性更好的地方呢,那么采用SWA(类似优化器)能找到更好的local minima,故而泛化能力更好

wide minima数据集拟合极小值,类似定义的函数求各个参数拟合的极小值,而这个值不一定是loss最小的地方。因为loss不一定能反应拟合的曲线最小的函数。所以有时候需要更换loss

实验

模型采用:

shufflenet_v2_x0_5

数据集是cifar10

首先是没有用SWA

https://github.com/carlsummer/python_developer_tools/blob/main/python_developer_tools/cv/classes/demo/train_cifar10.py

然后是用swa

https://github.com/carlsummer/python_developer_tools/blob/main/python_developer_tools/cv/train/%E4%BA%8C%E9%98%B6%E6%AE%B5%E8%AE%AD%E7%BB%83/swa_pytorch.py

实验结果表明:

用之前41%用之后69%

推荐库:https://github.com/carlsummer/python_developer_tools

参考

https://pytorch.org/docs/master/optim.html?highlight=swa_utils

SWA(Stochastic Weight Averaging)实验相关推荐

  1. 模型泛化技巧“随机权重平均(Stochastic Weight Averaging, SWA)”介绍与Pytorch Lightning的SWA实现讲解

    文章目录 SWA简介 SWA公式 SWA常见参数 Pytorch Lightning的SWA源码分析 SWALR 参考资料 SWA简介 SWA,全程为"Stochastic Weight A ...

  2. 目标检测之五:随机权值平均(Stochastic Weight Averaging,SWA)---木有看懂

    随机权值平均(Stochastic Weight Averaging,SWA) 随机权值平均只需快速集合集成的一小部分算力,就可以接近其表现.SWA 可以用在任意架构和数据集上,都会有不错的表现.根据 ...

  3. 炼丹系列2: Stochastic Weight Averaging (SWA) Exponential Moving Average(EMA)

    这个系列将记录下本人平时在深度学习方面觉得实用的一些trick,可能会包括性能提升和工程优化等方面. 该系列的代码会更新到Github 炼丹系列1: 分层学习率&梯度累积 炼丹系列2: Sto ...

  4. Stochastic Weight Averaging (SWA) 随机权重平均

    文章目录 相关链接 基础 思路 主要内容 概括 SWA图示 SWA算法 LR The Algorithm Batch normalization 在PyTorch中使用swa 最佳实践 Demo 最近 ...

  5. Stochastic Weight Averaging

    PyTorch从1.6.0版本以后开始支持Stochastic Weight Averaging. That is, after the conventional training of an obj ...

  6. 神经网络优化中的Weight Averaging

    ©PaperWeekly 原创 · 作者|张子逊 研究方向|神经网络剪枝.NAS 在神经网络优化的研究中,有研究改进优化器本身的(例如学习率衰减策略.一系列 Adam 改进等等),也有不少是改进 no ...

  7. 论文笔记:Stochastic Weight Completion for Road Networks using Graph Convolutional Networks

    ICDE2019 pytorch 笔记: 复现论文 Stochastic Weight Completion for Road Networks using Graph Convolutional N ...

  8. SCAFFOLD: Stochastic Controlled Averaging for Federated Learning

    背景 传统的联邦学习在数据异构(non-iid)的场景中很容易产生"客户漂移"(client-drift)的现象,这会导致系统的收敛不稳定或者缓慢 贡献 提出了考虑到client ...

  9. SCAFFOLD: Stochastic Controlled Averaging for Federated Learning学习

    SCAFFOLD: Stochastic Controlled Averaging for Federated Learning学习 背景 贡献 论文思想 算法 局部更新方式 全局更新方式 实验 总结 ...

最新文章

  1. SpringCloud断路器hystrix
  2. 菜鸟教程python正则表达式_Python正则表达式常用函数菜鸟教程
  3. xhr如何发送post请求_js实现ajax的post请求步骤
  4. mysql workbench 监控_mysql 使用workbench工具,表状态为read only的解决方法
  5. php 精度计算问题
  6. webview中cookie的读取与保存
  7. Mysql调优ref_【总结】mysql调优
  8. oracle存货管理系统,存货管理系统的功能模块有哪些?
  9. 关于Google Play这个应用市场app signing的坑
  10. win10专业版关闭Windows Defender Antivirus
  11. xp系统计算机怎么连接到网络打印机,老司机教你win7如何连接共享xp打印机
  12. 思科 mds 虚拟服务器,保护、扩展、简化,思科MDS9000系列交换机,刷新存储网络新标准!...
  13. python使用pandas输出多级标题excel
  14. 【WebGIS】leaflet入门-自定义MarkerIcon
  15. java xml最火的的工具_几种高效的Java工具类推荐
  16. OJ题——吃货排排坐
  17. 小明发布_历时一年零四个月,付出终有回报!救助站无微不至的照顾,头条四次跟进发布寻亲信息,最终帮助受助青年找到家人...
  18. Friends经典对白
  19. 3. 使用K8S部署tomcat
  20. webots自学笔记(二)节点与机器人建模

热门文章

  1. Win10下conda安装虚拟环境说明
  2. FreeRTOS系统定时器任务的实现
  3. 鸿蒙os系统3.0体验,华为鸿蒙OS系统体验,和安卓系统差距很大,你愿意升级吗?...
  4. Python-密码爆破
  5. KDYD-JC自动高压漆膜连续性试验仪
  6. 浅谈语音信号处理系列之二 语音信号处理的基础
  7. 【挑战】手机Termux搭建React Native开发环境
  8. ajax请求后台传body格式数据,服务器@RequestBody需要注意实相符
  9. Fortran Licence过期怎么办
  10. jvm查看full gc频率