shake-shake, 在 CIFAR 10和 CIFAR 100上,2.86 % 和 15.85 %

分享于 

7分钟阅读

GitHub

  繁體 雙語
2.72% on CIFAR-10
  • 源代码名称:shake-shake
  • 源代码网址:http://www.github.com/xgastaldi/shake-shake
  • shake-shake源代码文档
  • shake-shake源代码下载
  • Git URL:
    git://www.github.com/xgastaldi/shake-shake.git
    Git Clone代码到本地:
    git clone http://www.github.com/xgastaldi/shake-shake
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/xgastaldi/shake-shake
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    抖动正则化

    这个库包含了纸张抖动正则化规则的代码。 本文提出的arXiv论文是 3-branch 剩余网络 regularization抖动正则化的一个扩展,在 ICLR 2017 at被接受为 workshop 贡献 regularization。

    代码基于 fb.resnet.torch

    目录

    简介

    本文介绍的方法旨在帮助深入学习overfit问题的深入学习人员。 在多分支网络中,采用随机仿射组合的并行分支的标准和。 在 3-branch 残余网络中,通过达到 2.86 % 和 15.85 %.的测试误差,提高了 CIFAR-10 和 CIFAR-100的最佳单射发布结果。

    shake-shake

    图 1: 左侧的 Forward。 中心: 反向列车通过。 :测试时间

    Bibtex:

    
    @article{Gastaldi17ShakeShake,
    
    
     title = {Shake-Shake regularization},
    
    
     author = {Xavier Gastaldi},
    
    
     journal = {arXiv preprint arXiv:1705.07485},
    
    
     year = 2017,
    
    
    }
    
    
    
    

    结果

    基础网络是 26 2 x32d ResNet ( 例如。 网络深度为 26,2残余分支,第一残余块宽度为 32. "抖动"意味着所有缩放系数在通过之前被新的随机数覆盖。 "Even意味着所有缩放系数都被设置为 0.5. "保持"意味着在向后通过时,在向前通过时使用的缩放系数。 Batch Batch意味着,对于每个剩余块,我们对小型批处理中的所有图像应用相同的缩放系数。 "图像"意味着,对于每个残余块,在小批处理中对每个图像应用不同的缩放系数。 下表中的数字代表 3运行的平均值,除了 96d 模型运行了 5时间。

    前向水平 26 2 x32d 26 2 x64d 26 2 x96d
    甚至甚至na4.273.763.58
    甚至摇晃批处理4.44--
    摇晃保持批处理4.11--
    摇晃甚至批处理3.473.30-
    摇晃摇晃批处理3.673.07-
    甚至摇晃图像4.11--
    摇晃保持图像4.09--
    摇晃甚至图像3.473.20-
    摇晃摇晃图像3.552.982.86

    表 1: 错误速率( 上一个历元的前 1个)

    用法

    
    git clone https://github.com/xgastaldi/shake-shake.git
    
    
    
    
    • 复制摇晃抖动文件夹中的元素并将它们粘贴到 fb.resnet.torch 文件夹中。 这将覆盖 5个文件( ,main.lua,,,,。) 并添加 4个新文件( 模型/shakeshake。模型/shakeshakeblock。模型/,模型/mulconstantslices。和模型/shakeshaketable。lua )。
    • 复制 CIFAR-10 结果( 比如。 2 gpu上的26 2 x32d"shake-shake-image"resnet:
    
    CUDA_VISIBLE_DEVICES=0,1 th main.lua -dataset cifar10 -nGPU 2 -batchSize 128 -depth 26 -shareGradInput false -optnet true -nEpochs 1800 -netType shakeshake -lrShape cosine -baseWidth 32 -LR 0.2 -forwardShake true -backwardShake true -shakeImage true
    
    
    
    

    要使用 1 GPU获得比较结果,请更改批次大小和相应的学习速率:

    
    CUDA_VISIBLE_DEVICES=0 th main.lua -dataset cifar10 -nGPU 1 -batchSize 64 -depth 26 -shareGradInput false -optnet true -nEpochs 1800 -netType shakeshake -lrShape cosine -baseWidth 32 -LR 0.1 -forwardShake true -backwardShake true -shakeImage true
    
    
    
    

    26 2 x96d"shake-shake-image"resnet可以通过以下方式在 2 gpu上进行训练:

    
    CUDA_VISIBLE_DEVICES=0,1 th main.lua -dataset cifar10 -nGPU 2 -batchSize 128 -depth 26 -shareGradInput false -optnet true -nEpochs 1800 -netType shakeshake -lrShape cosine -baseWidth 96 -LR 0.2 -forwardShake true -backwardShake true -shakeImage true
    
    
    
    
    • 复制 CIFAR-100 结果( 比如。 2 gpu上的29 2 x4x64d"shake-even-image"resnext:
    
    CUDA_VISIBLE_DEVICES=0,1 th main.lua -dataset cifar100 -depth 29 -baseWidth 64 -groups 4 -weightDecay 5e-4 -batchSize 32 -netType shakeshake -nGPU 2 -LR 0.025 -nThreads 8 -shareGradInput true -nEpochs 1800 -lrShape cosine -forwardShake true -backwardShake false -shakeImage true
    
    
    
    

    注释

    对 fb.resnet.torch 文件所做的更改:

    main.lua
    在 17,54 -59,-100: 添加日志

    train.lua
    36 -38 58 206 -213: 添加余弦学习速率函数
    在 88 -89: 将学习速率添加到屏幕上打印的元素

    opts.lua
    21 -64: 添加抖动抖动选项

    checkpoints.lua
    15 -16: 添加需要'模型/shakeshakeblock','模型/shakeshaketable',并要求'std'
    在 60 -61年,避免使用 fb.resnet.torch deepcopy ( 它似乎与shakeshakeblock中的BN不兼容) 并将它的替换为:的deepcopy
    Ln 67 -86: 仅保存最后一个模型

    模型/init
    91 -92: 添加需要'模型/mulconstantslices',需要'模型/shakeshakeblock',需要'/shakeshaketable"'

    主要的模型是 shakeshake.lua。 剩余块模型为 shakeshakeblock.lua。 mulconstantslices.lua 只是 nn.mulconstant的一个扩展,它将向量的元素与一个小型批处理张量的图像切片相乘。 自 shakeshaketable.lua 包含用于 CIFAR-100的方法,因为ResNeXt代码使用表实现而不是模块版本。

    联系人

    london.edu 处的xgastaldi.mba2011
    欢迎讨论。建议和问题 !


    相关文章