理解深度学习需要重新思考泛化

2024-05-09 13:08

本文主要是介绍理解深度学习需要重新思考泛化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这篇文章来自ICLR2017 best paper,是一片十分有争议的文章,看完之后在小组会上跟大家分享了这篇文章,最终经过一系列讨论,结合种种实验得出结论,我们认为数据对于泛化性能来说是十分重要的,因为对于实验中的数据来说,我们可以发现在真实数据上的实验结果以及泛化结果相对于其他数据副本来说都是极具优势的。以下为个人观点:

我认为这篇文章只是提出了一个新的思考,给出了一个新的研究方向,至于是否有意思,目前无从得知,斯以为它能获得最佳论文的理由如下:

首先,作者团队足够强大,MIT博士,谷歌大脑团队,深度学习三大巨头之一的成员;

其次,由于最近深度学习的研究在很多方向上已经很难开展出十分醒目的研究,比如设计新的模型种种变得并没有那么容易,而这篇paper的出现给大家引了一条新路,开拓了一个新的研究方向。但是它只是给了大家一种新的思考,至于它的实际意义,个人认为目前仍不能确定;

最后,证明了以前的方法不好,这在一定程度上对前人的工作进行了一个前所未有的评价,不敢说否定,但确实有一定的冲击性。

因此,评委认为对这篇paper给予了很高的评价。

下面是我个人对这篇paper的一个翻译,有些地方可能翻译的而不够准确,仅供参考。

UNDERSTANDING DEEP LEARNING REQUIRESRETHINKING GENERALIZATION

摘要

尽管体积巨大,成功的深度人工神经网络在训练和测试性能之间可以展现出非常小的差异。过去一般将其归功于泛化误差小,无论是对模型谱系的特点还是对于训练中使用的正则技术来说。

通过广泛的系统的实验,我们展示了传统方法无法解释为什么大规模神经网络在实践中泛化表现好。 具体来说,我们的实验证明了用随机梯度方法训练的、用于图像分类的最先进的卷积网络很容易拟合训练数据的随机标记。这种现象本质上不受显式正则化影响,即使我们通过完全非结构化随机噪声来替换真实图像,也会发生这种现象。我们用一个理论结构证实了这些实验结果,表明只要参数的数量超过实践中通常的数据点的数量,简单两层深的神经网络就已经具有完美的有限样本表达性(finite sample expressivity)。我们通过与传统模型进行比较来解释我们的实验结果。

【一句话总结】通过深入系统的实验,我们指出传统方式无法解释为什么大规模神经网络在实践中泛化表现良好,同时指出我们为何需要重新思考泛化问题。

   1介绍

深度人工神经网络通常具有远远多于训练样本数目的可训练模型参数 。然而,这些模型中的一些显示出非常小的泛化误差(即“训练误差”与“测试误差”之间的差异比较小)。同时,很容易想出一些泛化很差的自然模型架构。那么,泛化好的神经网络与泛化不好的神经网络有什么区别?对这一问题做出满意的回答,不仅有助于更好地理解神经网络,还可能带来更正确可靠的模型架构设计。

为了回答这个问题,统计学习理论提出了一些能够控制泛化误差的不同复杂度测度。这些包括VC维,拉德马赫复杂度,和均匀稳定性等。而且,当参数的数量很大时,理论认为需要某种形式的正规化来确保小的泛化误差。正则化也可能是隐式的,如提前停止的情况。

 

2我们的贡献

在这个工作中,我们通过展示传统的泛化观点不能够解释为什么不同的神经网络具有截然不同的泛化性能。

随机测试 我们方法论的核心是众所周知的,即从非参数统计中随机化一个变体。在第一组实验中,我们在数据的副本上训练了一些标准的结构,在这个副本数据中,真正的标签被替换为随机的标签。我们的中心发现可以概括为:

深度神经网络很容易拟合随机标签

更确切地说,当我们在真正的数据集上完全随机化标记然后进行训练的时候,神经网络的训练误差为0。当然,测试错误并不是很好,因为没有训练标签和测试标签之间的相关性。

总结在这种情况下,实例和分类标签之间不再有任何关系。因此,学习是不可能发生的。直觉告诉我们,这种不可能会在训练过程中很清楚地表现出来,比如训练不收敛,或者收敛速度大幅减慢。让我们感到意外的是,有多个标准架构的训练过程的好些属性,在很大程度上都没有受这种标签转换的影响。

 

换句话说,通过单独的随机化标签,我们可以强制让一个模型的泛化误差在不改变其模型,以及模型大小,超参数还有优化器的情况下大幅度增加。我们在CIFAR10和ImageNet上分别对不同的标准结构进行训练后得出了这一事实。但是这个简单的陈述,从统计学的角度来看,这一观察结果具有深远的意义:

1 神经网络的有效容量足以记住整个数据集;

2对标签随机的数据进行优化很容易。事实上,与标签正确的训练过程相比,随机标签的训练时间也只增加一个小的常数因子;

3将标签打乱仅仅是做了一个数据转换,其他所有关于学习问题的属性都没有改变。

综上可得:

“……通过将标签随机化,我们可以强制模型不受改变、保持同样大小、超参数或优化器的情况下,大幅提升网络的泛化误差。我们在 CIFAR 10 和 ImageNet 分类基准上训练了好几种不同标准架构,证实了这一点。”

换句话说:模型本身、模型大小、超参数和优化器都不能解释当前最好的神经网络的泛化性能。因为在其他条件都不变的情况下,唯独泛化误差产生大幅变动,只能得出这一个答案。

在第一组实验上进行扩展,我们通过完全随机化的图像像素去替代真实图像,观察发现卷积神经网络继续适用于0训练误差的数据。这表明,尽管他们是这种结构,卷积神经网络可以拟合随机噪声。此外,我们进一步改变随机化的数量,在无噪声和完全噪声的情况下平滑地插入数据集。这样一来,标签还是保有某种程度的信号,从而会造成一系列间接的学习问题。随着噪声水平的提高,我们观察到泛化误差呈现出稳定的恶化。这表明神经网络能够理解数据中的剩余信号,同时用暴力计算适应噪声部分。我们将在下面更详细地讨论这些观察结果排除了所有的VC维度,Rademacher复杂度和均匀的稳定性,作为对最先进神经网络的泛化性能的可能解释。

显式正则化的作用。 如果模型本身没有充分的正则化,它仍然可以看到显式正则化的帮助有多少。我们表明,显式正则化方法,如

这篇关于理解深度学习需要重新思考泛化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/973497

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

认识、理解、分类——acm之搜索

普通搜索方法有两种:1、广度优先搜索;2、深度优先搜索; 更多搜索方法: 3、双向广度优先搜索; 4、启发式搜索(包括A*算法等); 搜索通常会用到的知识点:状态压缩(位压缩,利用hash思想压缩)。

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言