来源: 智源社区

作者:许志钦

整理:熊宇轩

编辑:李梦佳

本文整理自青源Talk第十期,视频回看地址:https://event.baai.ac.cn/activities/217

【专栏:研究思路】奥卡姆剃刀是由14世纪方济会修士奥卡姆的威廉提出的逻辑学法则,他在《箴言书注》2卷15题说“切勿浪费多余功夫去做本可以较少功夫完成之事”。

而在神经网络方面,「奥卡姆剃刀」原则可以概括为「如无必要,勿增实体」,即在保证性能的情况下,训练使得模型的有效参数尽量少。

上海交通大学自然科学研究院/数学学院长聘教轨副教授许志钦近期分享了题为「神经网络中的奥卡姆剃刀:训练中的频率原则和损失景观的嵌入原则」的报告。从频率原则、嵌入原则两个方面展开了讨论。

01

奥卡姆剃刀

简而言之,「奥卡姆剃刀」原则可以概括为「如无必要,勿增实体」,即在保证性能的情况下,训练使得模型的有效参数尽量少。就神经网络而言,科学家们早在 1989 年就证明了万有逼近定理——具有任意多隐藏神经元的网络几乎可以逼近任何连续函数。然而,神经网络的泛化能力是我们最为关心的问题之一。

以二分类问题为例,传统的学习理论认为,随着模型复杂度的上升,模型在训练集上的误差会不断下降;在测试集上,随着模型复杂度上升,模型的误差会先下降,而当模型复杂度超过某个阈值后,该误差会转而上升,即出现过拟合现象。

然而,传统的学习理论也许并不完全适用于神经网络的分析。如上图所示,当网络具有 160 万个参数时,仍然可以较好地拟合包含 6 万个数据点的 CIFAR10 数据集,并且在测试集上取得不错的性能。因此,当神经网络的参数量远远大于训练样本数时,它仍然能够具备较好的泛化性能。

对于一维的简单函数而言,我们尝试使用多个具有不同层数的过参数化的神经网络来拟合上图中的 5个数据点。可见,学习出的解具有一定的「平坦性」,而我们还不能很好地解释这种现象。

「无免费午餐」定理指出,没有一种模型可以很好地泛化到所有的数据集上。因此,在针对数据集设计模型时,我们需要分析清楚算法模型和数据本身具有怎样的特点。为了确保算法在数据集上具有很好的泛化性能,我们要尽量使算法的特性满足数据的要求。

过参数化的神经网络的解空间是很大的,用于训练的损失函数并没有显式地指出应该挑选怎样的解。因此研究训练带来的隐式偏好对理解神经网络很重要。我们发现从频率的角度来说,神经网络偏向于先学习低频的输出,而从神经元演化的角度来说,网络在非必要时不会增加有效神经元的数目。这两点观察从不同角度展示了神经网络有偏好用“简单”函数学习训练数据的特点,因此,我们用“奥卡姆剃刀”作为这个报告的题目。

02

频率原则

如上图所示,红色实线代表待拟合的函数,蓝色的虚线是神经网络的拟合结果。随着网络被不断地训练,网络首先会捕获待拟合函数的轮廓,接着会拟合细节。为了理解其中的「平坦性、震荡性、轮廓、细节」等概念,我们不妨从频率的角度出发,在傅里叶空间中分析该现象。

通过对目标函数进行离散傅里叶变换,我们得到了如上图所示的红色虚线,蓝色实线为神经网络的输出。通过观察,我们发现神经网络偏向于首先拟合目标函数的低频部分,然后捕获更高频的部分。为了进一步探究究竟是频率低的部分先收敛,还是幅度大的部分先收敛,我们进行了下面的实验。

如上图所示,目标函数由三个振幅相同、频率不同的正弦函数组成,随着训练轮次的增加,频率越低的部分越先收敛(由蓝变红)。

针对二维图像进行学习时,网络首先会学习到人物的位置,接着会学习到一些细节,最后经过 58,000 步训练后会基本学习到人物的各种细节特征。根据一维、二维情况下的实验结果,我们猜想网络先学习低频部分,再学习高频部分。我们尝试在高维情况下设计实验进一步验证该猜想。

图像数据的频率指的是相邻像素之间强度的变化率。而在图像识别任务中,我们需要考虑的是响应频率(response frequency),此时高频指的是:当输入图像中的像素强度发生微小变化时,输出可能会产生较大的变化。

如果我们直接进行傅里叶变换,会出现维数灾难。比如若每个参数维度,我们只估计两个值,当参数维度为 k 时,待估计的值有 2 的 k 次方个。为了验证神经网络在傅里叶空间低频部分收敛更快的猜想,我们需要采取一些技巧。具体而言,在中,我们只考虑 k 上的某一个方向,即。此时,我们相当于在时域空间进行了投影,把傅里叶变换降为了一维。

对 MNIST 与 CIFAR10 进行傅里叶变换后,我们得到两个低频占优的函数。通过观察若干峰值上的相对误差,我们发现低频首先收敛,高频较晚收敛。

接着,我们采用滤波的方法来检验上述猜想。我们将整个傅里叶空间以为半径画一个球,我们定义球内的部分为低频,求外的部分为高频,进而观察每一个部分的收敛速度。具体而言,我们通过将输出乘以示性函数来实现上述设定。为了简化计算,我们用时域空间的卷积替代傅里叶空间的乘积,利用高斯核近似示性函数(高斯核的傅里叶变换还是高斯核)。完成滤波后,我们就得到了输出的低频部分,用原始输出减去低频部分就得到了高频部分。我们在 DNN、CNN、VGG 三种模型上分别选用不同的高斯核宽度测试了神经网络的收敛性,实验结果表明,在高维空间中,低频部分率先收敛,高频部分后收敛。

03

泛化性的差异

如上图所示,DNN 在 MNIST 和 CIFAR10 上的泛化性能较好,而在奇偶函数上的泛化性能较差。奇偶函数在每个维度上都只定义在 -1、1 两个点上,该函数的输出为每个维度上的值的乘积。因此,若存在偶数个 -1 则输出 1,若存在奇数个 -1 则输出 -1。如果我们改变某个维度上值的符号,则函数的最终输出符号也会变化,因此该函数是个高频的函数。如上图(c)中绿色的曲线所示,随着频率的增加,奇偶函数的幅度会上升。对于没有采样到的点,神经网络会用低频插值,得到下方的蓝色虚线,它与真实情况(橙色)差异很大。因此,神经网络很难学习高频震荡的数据,我们很难通过简单的调参得到理想的模型性能。简而言之,频率原则可以被概括为「如无必要,勿增频率」,即低频有效原理。

04

算法设计

在求解偏微分方程的问题中,频率原则也具有很重要的指导作用。假设某个高频函数是剧烈震荡的,我们可以通过在二维空间的 x 轴方向将该函数拉长从而降低其频率。具体而言,我们将具有若干神经元的隐藏层分为 n 组,其中第k组将输入拉长k倍。在使用梯度下降法训练神经网络时,假设存在某一条通路的频率使得损失函数下降最快,我们猜想梯度会沿着该通路传递。

实验结果如上图所示,图(a)为偏微分方程的真解,它在二维空间中有许多「空心」部分,红色和蓝色的部分表示震荡十分剧烈。通过普通神经网络进行学习可以「磨平」震荡的部分,而使用相同大小的多尺度网络可以将震荡部分很好地学习出来。在更高维的偏微分方程问题中,损失函数也可以降到比较低的水平。

在三维点云重建任务中,研究人员发现用正弦、余弦函数作为激活函数时,通过多尺度的神经网络(其中,表示不同的尺度)可以很好地重建三维结构的细节。Qing Wu 等人在论文「IREM:High-Resolution Magnetic Resonance Image Reconstruction via Implicit Neural Representation」中将多尺度网络成功用于 MRI 三维重建任务。华为的科学家们在 MindSpore Science 中,将多尺度残差网络和正弦激活函数相结合,有效提升了网络捕捉多频信号的能力,可以很好地求解麦克斯韦方程。

05

频率原则的局限性

仅用频率原则的视角也存在一定的局限性。如上图所示,我们使用 4 个数据点作为训练集,用激活函数为 ReLU的神经网络去学习这些数据。尽管在不同的初始化情况下学习到的解不一致,但是它们都满足频率原则。为了进一步分析神经网络,我们将观察每个神经元的学习过程。

每个神经元会用一个权重与输入 x 做内积,而内积可以理解为投影,可以捕获沿某个方向的特征。为此,我们将重点分析特征的方向(即w)和幅度(即|a||w|)。在这里,我们将偏置项融入w中,在考虑一维输入时,w为二维向量,我们可以使用角度来刻画该二维向量的方向。

因此,在上方的散点图中,横坐标为输入权值与偏置项构成的二维向量的角度,纵坐标为幅度。每一点代表一个神经元的状态,蓝绿色的点代表神经元的初始状态,红色的点为神经元训练后的状态。实验结果表明,对于第一种初始化

上交大许志钦:神经网络中的奥卡姆剃刀——简单有效原理相关推荐

  1. 2022人工智能数学基础1-2(许志钦

    许老师  2017年 计算神经科学 博士后,转行做deep learning 神经元只是区分信号有无 单层神经网络 线性拟合: 数据.有模型.算未知参数a,b 最小二乘 定义 损失函数,    没有平 ...

  2. 奥卡姆剃刀是什么?机器学习实践中那些学习模型或者那些评估指标践行了这一理论?

    奥卡姆剃刀是什么?机器学习实践中那些学习模型或者那些评估指标践行了这一理论? 奥卡姆剃刀:无无必要,勿增实体. 奥卡姆剃刀原理应用于模型选择时变为以下想法:在所有可能选择的模型中,能够很好地解释已知数 ...

  3. 史上最全交互设计原则(三)之奥卡姆剃刀原理

    1.定义 奥卡姆剃刀定律又称"奥康的剃刀",它是由英格兰的逻辑学家奥卡姆的威廉在14世纪提出.这个原理称为"如无必要,勿增实体",即"简单有效原理&q ...

  4. 神经网络中的批量归一化Batch Normalization(BN)原理总结

    0.概述 深层神经网络存在的问题(从当前层的输入的分布来分析):在深层神经网络中,中间层的输入是上一层神经网络的输出.因此,之前的层的神经网络参数的变化会导致当前层输入的分布发生较大的差异.在使用随机 ...

  5. 收藏 | 神经网络中,设计loss function有哪些技巧?

    点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:AI公园   知乎 链接:https://www.zhihu.com/question/268105631 A ...

  6. 神经网络中,设计loss function有哪些技巧?

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:视学算法 神经网络中,设计loss function有哪 ...

  7. 【深度学习篇】--神经网络中的调优二,防止过拟合

    一.前述 上一篇讲述了神经网络中的调优实现,本文继续讲解. 二.L1,L2正则防止过拟合  使用L1和L2正则去限制神经网络连接的weights权重,限制更小 1.对于一层时可以定义如下: 一种方式去 ...

  8. dropout是什么?为什么dropout管用?测试集上是否需要使用dropout?说明为什么神经网络中的dropout可以作为正则化?

    dropout是什么?测试集上是否需要使用dropout?说明为什么神经网络中的dropout可以作为正则化? 目录

  9. 直接引用arXiv论文不规范?试试这个小工具,秒变正式发表链接,上交大校友开发...

    杨净 发自 凹非寺 量子位 报道 | 公众号 QbitAI 只需两步,就能让你的论文引用更规范-- 将arXiv链接转换成最终发表的链接. 就像这样. 以往我们直接使用arXiv来引用论文,却没有注意 ...

最新文章

  1. Code128 Fontware条码控件介绍
  2. 从Matlab中导出不含白边的图片及设置画布尺寸及图片位置
  3. Akka Types of dispatchers
  4. 下载华为交换机MIB参考文件并使用snmpwalk获取OID信息
  5. python画圆并填充图形颜色_如何使用python设计语言graphics绘制圆形图形
  6. 令牌桶 限速_Go 限流器实战系列(2) Token Bucket 令牌桶
  7. 网站显示网页加载时间代码-Typecho
  8. Python高级——import导入模块
  9. 不能编辑access_vcf通讯录编辑器 v3.1.6 vcf通讯录编辑器软件
  10. win10桌面null图标删除
  11. 若干小球碰撞的一种暴力解题法
  12. Python实现文件/文件夹名按字符串排序或者按数字排序
  13. 华为笔记本电脑触摸板失灵解决方法(触摸屏同理)
  14. pacman 查询_Pacman常用命令 文内搜索吧
  15. 黑莓手机无法上网解决方案
  16. cityengine笔记
  17. 什么是 ECC 内存?(memory with ECC)
  18. OSChina 周四乱弹 ——今天家里只有我和女室友,我想……
  19. 关于excel选定任意行截图的操作
  20. 【Python网络蜘蛛】:基础 - 爬虫的基本原理

热门文章

  1. word关闭未响应_word文档怎么使用校对工具?如何使用word校对工具?
  2. 您认为博士期间最重要的事情是什么?
  3. excel java api_Java Excel API 使用方法
  4. 解决方法整合-----The following has evaluated to null or missing
  5. python中plt颜色代码_python数据分析plt颜色样式设置
  6. 161个Javaweb项目免费
  7. android 百度地图大头针,百度地图自定义大头针大头针
  8. 在计算机知识post的含义,大家好,post是什么意思?
  9. 文件异步io java,漫画图解java开发之IO阻塞、非阻塞、同步、异步
  10. python可视化——混淆矩阵(鸢尾花)