alexnet的loss在一个epoch内没有稳定下降_深度学习中的双下降现象
编辑:zero
关注 搜罗最好玩的计算机视觉论文和应用,AI算法与图像处理 微信公众号,获得第一手计算机视觉相关信息
本文转载自:公众号:AI公园
作者:Preetum Nakkiran,Gal Kaplun,Yamini Bansal,Tristan Yang,Boaz Barak,Ilya Sutskever
编译:ronghuaiyang
导读
深度学习中的双下降现象,可能大家也遇到过,但是没有深究,OpenAI这里给出了他们的解答。
我们展示了 CNN,ResNet 以及 transformers 中的双下降现象,随着模型的尺寸,数据集的大小以及训练时间的增加,performance 先提升,然后变差,然后再次提升。这种效果通常可以通过仔细的正则化来避免。虽然这种行为似乎是相当普遍的,但我们还没有完全理解它为什么会发生,并把对这种现象的进一步研究作为一个重要的研究方向。
论文:https://arxiv.org/abs/1912.02292
包括 CNNs、ResNets、transformer 在内的许多现代深度学习模型,在不使用 early stopping 或正则化时,都表现出之前观察到的双下降现象。峰值发生在一个可以预见的“特殊的时刻”,此时模型刚好可以去拟合训练集。当我们增加神经网络参数的数量,刚开始的时候,测试误差减少,然后会增加,而且,模型开始能够拟合训练集,进行了第二次下降。
传统统计学家认为“模型越大越糟”的传统观点,以及“模型越大越好”的现代机器学习范式,都没有得到支持。我们发现双下降也发生在训练过程中。令人惊讶的是,我们发现这些现象会导致数据越多效果越差,此时在更大的训练集上训练一个深层网络的效果实际上更差。
模型的双下降
- 在一段时间内,模型越大效果越差。
模型的双下降现象会导致对更多数据的训练效果越差。在上面的图中,测试误差的峰值出现在插值阈值附近,此时模型刚好足够大到能拟合训练集。
在我们观察到的所有情况下,影响插值阈值的变化(如改变优化算法、训练样本数量或标签噪声量)也会相应地影响测试误差峰值的位置。在添加标签噪声的情况下,双下降现象最为突出,如果没有它,峰值会更小,很容易被忽略。添加标签噪声会放大这种普遍的行为,让我们可以很容易地进行研究。
样本的非单调性
- 在一段时间内,样本越多效果越差。
上面的图显示了在没有添加标签噪声的情况下,在语言翻译任务训练的 transformers。正如预期的那样,增加样本数量会使曲线向下移动,从而降低测试误差。然而,由于更多的样本需要更大的模型来拟合,增加样本的数量也会使插值阈值(以及测试误差的峰值)向右移动。对于中等大小的模型(红色箭头),这两个效果结合在一起,我们可以看到在 4.5 倍的样本上进行训练实际上会影响测试性能。
训练 epoch 的双下降
- 在一段时间内,训练时间越长,过拟合情况就越严重。
上面的图显示了测试和训练误差与模型大小和优化步骤数量的关系。对于给定数量的优化步骤(固定 y 坐标),测试和训练误差表现为随着模型的大小出现了双下降。对于给定的模型尺寸(固定的 x 坐标),随着训练的进行,测试和训练误差不断地减小、增大、再减小,我们把这种现象称为 epoch-wise 的双下降。
一般情况下,当模型刚好能够拟合训练集时,会出现测试误差的峰值
我们的直觉是,对于插值阈值处的模型,实际上只有一个模型正好拟合了数据集,而强迫它拟合即使是稍微有一点噪声或错误的标签也会破坏它的全局结构。也就是说,没有既能在插值阈值处拟合训练集又能在测试集上表现良好的“好模型”。然而,在参数化的情况下,有许多模型可以拟合训练集,并且存在这样的好模型。此外,随机梯度下降法(SGD)的隐式偏差导致了这样好模型出现,其原因我们还不清楚。
我们把对深层神经网络的双下降机制仍的充分认识作为一个重要的开放性问题。
英文原文:https://openai.com/blog/deep-double-descent/
翻译原文:
深度学习中的双下降现象mp.weixin.qq.com
欢迎关注:辛苦翻译的小伙伴 AI公园 和辛勤的搬运工 AI算法与图像处理
关注 搜罗最好玩的计算机视觉论文和应用,AI算法与图像处理 微信公众号,获得第一手计算机视觉相关信息
alexnet的loss在一个epoch内没有稳定下降_深度学习中的双下降现象相关推荐
- 深度学习中epoch,batch的概念--笔记
深度学习中epoch,batch的概念 batch.epoch和iteration是深度学习中几个常见的超参数. (1) batch_ size: 每批数据量的大小.DL通常用SGD的优化算法进行训练 ...
- 从AlexNet到BERT:深度学习中那些最重要idea的最简单回顾
本文作者Denny Britz按时间总结的深度学习比较重要的idea集锦,推荐新人看,几乎给自12年以来最重要的idea 都列了出来,这些 idea 可以说得上是养活了无数人,大家都基于这些发了无数的 ...
- 深度学习中的Epoch,Batchsize,Iterations深刻理解
[嵌牛导读]Epoch,Batchsize,Iterations,这三个都是深度学习训练模型时经常遇到的概念.你一定有过这样的时刻,面对这几个词傻傻分不清楚,这三个概念究竟是什么,它们又有什么区别? ...
- DL-4 深度学习中的batch_size、epoch、iteration的区别
(1)batchsize:批大小.在深度学习中,一般采用SGD训练,即每次训练在训练集中取batchsize个样本训练: (2)iteration:1个iteration等于使用batchsize个样 ...
- 深度学习中batch_size、epoch和iteration的含义
iteration:1个iteration等于使用batchsize个样本训练一次: epoch:1个epoch等于使用训练集中的全部样本训练一次,通俗的讲epoch的值就是整个数据集被轮几次. 比如 ...
- Debug深度学习中的NAN Loss
深度学习中遇到NAN loss 什么都不改,重新训练一下,有时也能解决问题 学习率减小 检查输入数据(x和y),如果是正常突然变为NAN,有可能是学习率策略导致,也可能是脏数据导致 If using ...
- 深度学习中的batch、epoch、iteration
名词解释 名词 定义 Epoch 使用训练集的全部数据对模型进行一次完整的训练,被称为"一代训练" Batch 使用训练集中的一小部分样本对模型权重进行一次反向传播的参数更新,这一 ...
- 深度学习中:epoch、batch size和iterations之间的关系
机器学习中:epoch.batchsize和iterations之间的关系 在深度学习中,epoch.batchsize和iterations是在训练模型时,一定用到的一些概念.那么分别是什么意思呢? ...
- 深度学习中Batch、Iteration、Epoch的概念与区别
在神经网络训练中,一般采用小批量梯度下降的方式. Batch Epoch Iteration 就是其中的重要的概念.我们要理解懂得它们都是什么以及它们之间的区别. 1.Batch 每次迭代时使用的一批 ...
- 深度学习中的损失函数总结以及Center Loss函数笔记
北京 上海巡回站 | NVIDIA DLI深度学习培训 2018年1月26/1月12日 NVIDIA 深度学习学院 带你快速进入火热的DL领域 阅读全文 ...
最新文章
- 图床失效了?也许你应该试试这个工具
- 长为N的数组,元素范围是0-N-1,其中只有一个数是重复的,找出这个重复元素...
- 在 PHP 中使用命令行工具
- 推荐系统学习(二)基于用户/物品的协同过滤算法(User-CF / Item-CF)
- python文本文件读写的3种方法
- 详解CSS的Flex布局
- sql server 左右连接 内外连接
- SiteMesh配置下载使用(简单介绍)
- dsp调音一次多少钱_DSP调音到底调的是什么?什么是EQ?
- vscode使用svn插件
- C51最小单片机系统
- 大冰--寻人启事--one
- 微信公众号花式排版技巧分享
- 一小时教你轻松学会使用Java 整合 Easy Excel 操作 Excel 文件
- 互联网赚钱的逻辑是什么?
- WiFi adb studio使用WiFi进行运行调试
- gmoj 6860. 【2020.11.14提高组模拟】鬼渊传说
- 【VMware】Ubunt 20.04时间设置
- java连接informix数据库
- 深度解析:创交会高度成果转化背后的秘密
热门文章
- 另类多线程生产者与消费者模式
- 关于用mybatis调用存储过程时的入参和出参的传递方法
- Oracle instr用法
- Jquery ThickBox的使用
- 【C#】通过正则表达式对TextBox进行校验
- 复杂作业车间调度-单机调度问题研究
- 智能优化算法:象群算法-附代码
- AttributeError: module ‘matplotlib‘ has no attribute ‘image‘
- ENVI入门系列教程---二、图像分析---14.基本光谱分析
- mysql+update+@value_记一次MySQL更新语句update的踩坑