神经网络为什么具有容错性?

这是一个非常好的问题,也说明一个一个反直觉的现象。之所以反直觉,也跟这个问题的本质有关。

神经网络这个问题具有一定的一般性,实际上我们可以把问题和现象的范畴放大,扩展到“动态系统”(Dynamical Systems), 也就是 状态 / 输出 随 时间 / 输入 变化的系统,按照系统内在机制,动态系统可以具体划归为“线性系统”和“非线性系统”,按照系统能用微分方程还是差分方程表示,可以划分为“连续动态系统”和“离散动态系统”。

显然地,神经网络属于动态系统的一个很小的子范畴——离散非线性动态系统[1]. 离散是显然的,又由于神经网络中一般包括大量的非线性过程,比如 ReLu 这样的非线性激活函数,DropOut,Gate 等等.

线性系统按照输入而非时间可以表示为

神经网络为什么具有容错性?

, 也就是可以用线性方程表示. 对于这样一个 系统,如果在输入上叠加一个随机噪声(高斯分布、均匀分布 等)

神经网络为什么具有容错性?

, 则输出为

神经网络为什么具有容错性?

, 对应的输出噪声为

神经网络为什么具有容错性?

. 在这样的系统中,噪声是不可能在输出中消失的,也就是说,线性系统必然不能容错. 而线性系统很常见也很容易直观理解,因此非常符合“直觉”.

对于非线性系统,情况会有显著的不同[2][3]. 在细说之前,我们先举一个直观的例子:

对于非线性系统

神经网络为什么具有容错性?

, 输入 x 符合伯努利分布(p=0.5)上叠加一个

神经网络为什么具有容错性?

的噪声,那么这个噪声输入在接近 50%情况下对输出没有影响,也就是表现出容错性.

在这个容错性的例子中我们看到,数据

神经网络为什么具有容错性?

的跟随机噪声

神经网络为什么具有容错性?

独立且非同分布,而非线性系统放大了二者的差异。 这种数据跟噪声的分布不同的情况在神经网络的输入中几乎是必然满足的. 而且神经网络通常包含大量这样的非线性过程,或者说“非线性滤波器”(Nonlinear Filters)[4].

在神经网络对图像信号处理中,其每个非线性滤波器都可以等价转化成傅立叶平面滤波器(Fourier Plane Nonlinear Filters)的组合形式. 这样滤波器的阶数

神经网络为什么具有容错性?

就代表了滤波器的非线性程度. 随着非线性程度的增加,这个滤波器输出的信噪比

神经网络为什么具有容错性?

也会增加[5].

神经网络为什么具有容错性?

在问题设置的比较好的情况下,神经网络在训练过程中,其输出跟数据标签

神经网络为什么具有容错性?

的相关性会持续增加,跟数据 X 中的随机噪声的相关性在不出现明显过拟合的情况下不会发生变化。这个过程也决定了,神经网络中的非线性滤波器在训练过程中会不断优化其参数,提高对噪声的鲁棒性.

实际上,在神经网络训练中,在 X 上叠加适当水平的噪声,对训练结果的泛化性(Generation)有好处,这种噪声叠加等价于吉洪诺夫正则化(Tikhonov regularization)[6], 可以让神经网络的输出关于输入 X 更加平滑[7].

神经网络为什么具有容错性?
黑点:数据点;黑实线:真实函数;虚线:没有噪声时候的 NN 拟合结果;灰实线:添加噪声时候的 NN 拟合结果

这在某种程度上等价于做 Data Augmentation.

[新春采购季]京东云 服务器2核2G 51元起/年 点这里优惠购买
[新春采购季]阿里云 服务器2核2G 61元起/年 点这里优惠购买
[新春采购季]腾讯云 云服务器2核2G 61起/年 点这里优惠购买
感谢您的来访,获取更多精彩文章请Ctrl+D收藏本站。
更多精彩文章,请收藏本站
本文为【软件乐园】原创文章
转载请附上原文链接:https://app.qiip.cc/archives/479
本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长删除处理。
本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
THE END
分享
二维码
< <上一篇
下一篇>>