Nakkiran P, Kaplun G, Bansal Y, et al. Deep Double Descent: Where Bigger Models and More Data Hurt[J]. arXiv: Learning, 2019.

@article{nakkiran2019deep,

title={Deep Double Descent: Where Bigger Models and More Data Hurt},

author={Nakkiran, Preetum and Kaplun, Gal and Bansal, Yamini and Yang, Tristan and Barak, Boaz and Sutskever, Ilya},

journal={arXiv: Learning},

year={2019}}

本文介绍了深度学习中的二次下降(double descent)现象, 利用实验剖析其可能性.

主要内容



注意到, 在其他条件固定的情况下, 当网络的性能增加(这里指的是ResNet18的参数个数)时, 会出现一中损失率先下降在上升至一个peak再下降的过程.

而右图则向我们展示了, epochs并非越多越好, 如果我们能够即时停止训练, 很有可能就能避免二次下降的现象.

Effective Model Complexity(EMC)

在训练过程\(\mathcal{T}\), 关于数据分布\(\mathcal{D}\)与参数\(\epsilon\)下, Effective Model Complexity(EMC)定义为:

\[\mathrm{EMC}_{\mathcal{D}, \epsilon} (\mathcal{T}) := \max \{n | \mathbb{E}_{S \sim \mathcal{D}^n} [\mathrm{Error}_S(\mathcal{T}(S))] \le \epsilon\},
\]

其中\(\mathrm{Error}_S(M)\)为模型\(M\)在训练样本\(S\)上的平均误差.

作者认为, 一个模型\(M\), 训练样本为\(n\), \(\mathrm{EMC}\) 比\(n\)足够小, 或者足够大的时候, 提升\(\mathrm{EMC}\) (即提升模型的性能) 是能够降低测试误差(test error)的, 但是, 在\(n\)的附近\((n-\delta_1,n+\delta_2)\)时候, 模型的变化, 既有可能使得模型变好, 也有可能使得模型便坏.

label noise

显然, label noise越小越好( 作者认为label noise 会导致模型不易训练), 而且网络的EMC越大(这里指的是网络的参数个数), 对其抗性越好.

data augmentation

显然 data augmentation 能够增加对label noise的抗性.

下降方式

只能说, 下降方式是有较大影响的.

SGD vs Adam

Adam

SGD

SGD + Momentum

early-stopping

即如果我们能够及早停止训练(适中的epoches)能够避免二次下降的发生, 这一点在Fig 20中体现的淋漓尽致. 但是也并不绝对, 因为Fig 19提供了一个反例.





Epoches

显然, 适中的或者尽可能多的epoches是好的.

样本数量

对于小型的模型, 增加数据(超出其承受范围)反而会使得模型变差.



weight-decay

weight-decay 对提升EMC是起作用的.

DEEP DOUBLE DESCENT: WHERE BIGGER MODELS AND MORE DATA HURT的更多相关文章

  1. 论文阅读笔记六十四: Architectures for deep neural network based acoustic models defined over windowed speech waveforms(INTERSPEECH 2015)

    论文原址:https://pdfs.semanticscholar.org/eeb7/c037e6685923c76cafc0a14c5e4b00bcf475.pdf 摘要 本文研究了利用深度神经网络 ...

  2. 【Deep Learning】Hinton. Reducing the Dimensionality of Data with Neural Networks Reading Note

    2006年,机器学习泰斗.多伦多大学计算机系教授Geoffery Hinton在Science发表文章,提出基于深度信念网络(Deep Belief Networks, DBN)可使用非监督的逐层贪心 ...

  3. Google TensorFlow深度学习笔记

    Google Deep Learning Notes Google 深度学习笔记 由于谷歌机器学习教程更新太慢,所以一边学习Deep Learning教程,经常总结是个好习惯,笔记目录奉上. Gith ...

  4. Why are very few schools involved in deep learning research? Why are they still hooked on to Bayesian methods?

    Why are very few schools involved in deep learning research? Why are they still hooked on to Bayesia ...

  5. Classifying plankton with deep neural networks

    Classifying plankton with deep neural networks The National Data Science Bowl, a data science compet ...

  6. How To Improve Deep Learning Performance

    如何提高深度学习性能 20 Tips, Tricks and Techniques That You Can Use ToFight Overfitting and Get Better Genera ...

  7. [C7] Andrew Ng - Sequence Models

    About this Course This course will teach you how to build models for natural language, audio, and ot ...

  8. (转) An overview of gradient descent optimization algorithms

    An overview of gradient descent optimization algorithms Table of contents: Gradient descent variants ...

  9. A Statistical View of Deep Learning (IV): Recurrent Nets and Dynamical Systems

    A Statistical View of Deep Learning (IV): Recurrent Nets and Dynamical Systems Recurrent neural netw ...

随机推荐

  1. 基于树莓派部署 code-server

    code-server 是 vscode 的服务端程序,通过部署 code-server 在服务器,可以实现 web 端访问 vscode.进而可以达到以下能力: 支持跨设备(Mac/iPad/iPh ...

  2. 基于 Golang 构建高可扩展的云原生 PaaS(附 PPT 下载)

    作者|刘浩杨 来源|尔达 Erda 公众号 ​ 本文整理自刘浩杨在 GopherChina 2021 北京站主会场的演讲,微信添加:Erda202106,联系小助手即可获取讲师 PPT. 前言 当今时 ...

  3. TLSv1.3 Support:主流 Web 客户端和服务端对 TLSv1.3 的支持情况

    TLSv1.3 Support:主流 Web 客户端和服务端对 TLSv1.3 的支持情况 请访问原文链接:https://sysin.org/blog/tlsv1-3-support/,查看最新版. ...

  4. redis入门到精通系列(六):redis的事务详解

    (一)事务的概念 谈到数据库的高级应用,不可避免会谈到事务.熟悉mysql的朋友们对事务肯定不陌生,简单来讲事务就是控制一个数据库操作序列要么全部执行要么全部不执行.今天我们就来了解redis中的事务 ...

  5. 看看线程特有对象ThreadLocal

    作用:设计线程安全的一种技术. 在使用多线程的时候,如果多个线程要共享一个非线程安全的对象,常用的手段是借助锁来实现线程的安全.线程安全隐患的前提是多线程共享一个不安全的对象 ,那么有没有办法让线程之 ...

  6. 搭建mybatis开发环境

    1.创建工程 <groupId>com.hope</groupId>     <artifactId>day01_eesy_01mybatis</artifa ...

  7. 索引以及Mysql中的索引

    一.什么是索引 索引是表的目录,会保存在额外的文件中,针对表中的指定列建立,专门用于帮助用户快速查询数据的一种数据结构.类似于字典中的目录,查找字典内容时可以根据目录查找到数据的存放位置,然后直接获取 ...

  8. 任务关联的类型(Project)

    <Project2016 企业项目管理实践>张会斌 董方好 编著 任务关联的类型,一共是四种,FS.SS.SF.FF. 就这些! -- 好吧,我又调皮了,怎么着也该解释一下吧? 嗯!F就是 ...

  9. Mac brew安装MySQL8.0.18后忘记密码(重置密码篇)

    前要:MySQL8后密码要求很高,要有大小写字母和数字特殊字符,导致自己忘记以前配置的密码 一.跳过mysql的密码认证,修改配置文件my.cnf $ ls /usr/local/etc/my.cnf ...

  10. 如何在 GitHub 上高效阅读源码?

    原文链接: 如何在 GitHub 上高效阅读源码? 之前听说过一个故事,一个领导为了提高团队战斗力,把团队成员集中起来,搞封闭开发,重点还是在没有网的条件下. 结果就是一个月过去了,产出基本为零. 我 ...