深度学习,共形场论和对称函数

举报
稻谷子 发表于 2020/10/22 22:48:43 2020/10/22
【摘要】 # 深度学习,共形场论和对称函数## 非线性,过拟合与压缩感知深度学习中,一个非常难以解决的问题是过拟合问题。过拟合的一个解释是参数空间太大,即参数过多。但这个解释非常的浅层。因为如果我们觉得参数过多,那么就可以减少参数啊。但问题的关键在于,正如我们并不知道应该增加什么特征一样,我们也并不知道减少参数的原则。所以有一种叫Drop out 的方法来随机减少节点从而达到减少参数的目的。这都是非常...

# 深度学习,共形场论和对称函数

## 非线性,过拟合与压缩感知


深度学习中,一个非常难以解决的问题是过拟合问题。

过拟合的一个解释是参数空间太大,即参数过多。

但这个解释非常的浅层。因为如果我们觉得参数过多,

那么就可以减少参数啊。但问题的关键在于,

正如我们并不知道应该增加什么特征一样,

我们也并不知道减少参数的原则。

所以有一种叫Drop out 的方法来随机减少节点从而达到减少

参数的目的。这都是非常机械的办法来处理过拟合困难。


那么有没有合适的理论框架能够处理增加/减少参数

以抑制欠拟合/过拟合的机制呢?


这首先得回到深度学习的本质上来。

学习的本质是在输入数据到输出数据之间建立映射关系。

数学上即定义了输入到输出的函数关系。

那么,这样的函数关系是如何建立的呢?

实际上,深度学习的核心算法是反向传播算法,

它与物理上的变分法求解经典运动方程是一致的。

本质上也是一个最小作用量原理,

只不过在深度学习中使用的不是作用量,而是代价函数。


在物理学中,得到的函数一般是经典运动方程的解。

有些时候我们得到的解非常简单,就是平面波解。

这样的解当然非常稳定。

它可以精确预测被研究客体的某时某刻的状态。


但是,如果势函数是非线性的,

那么就可能带来非常不一样的非线性解。

比如海面上的波在微分的吹拂下可以呈现平面波的性质。

但在大风的情形下就会有海浪出现,海浪是典型的非线性波,

它是高度不稳定的波。水波的顶部会变尖并倒塌,

这种不稳定波的状态无法确定。

因为一个非常小的扰动都可能造成极其不可控的结果。

这在物理上被称作是非线性效应,

它有个广为人知的名字:蝴蝶效应。

造成这种现象的本质的原因是因为存在多个波的相互作用,

而且相互作用很大,超越了水这种介质的粘滞系数的内作用力。

直接的结果就是多个水面波形成的波包会碎裂。

也就形成了海浪这种波。在这个物理系统中,

我们如果想用得到的非线性波来预测它一段时间后的波形,

注定是徒劳的!

这是因为我们始终认为小的扰动不会偏离原先的波形,

但实际上,非线性波是破坏这种认知的。

所以,物理告诉我们的事实是:即便没有发生过拟合,

也可能得到不稳定的无法预测的解。

但是这种非线性效应在深度学习中往往不会考虑到,

因为我们往往会进行多次计算,并且趋于收敛。

因此发散的解不会被我们触碰到。

然而,是不是非线性解就不重要呢?恰恰相反,

非线性解才是深度学习中最基本的解。

在上面的(a)中,是一个典型的非线性解。

它可以看作是一个一元高次函数的片段。即:

$$ y = \sum_{n=0}^N a_n x^n \quad (1) $$

而(b)则是一个线性解,它的一般形式是:

$$ y = a*x + b \quad (2)$$

显然,(a) 对应于过拟合的情形,而 (b) 则对应于欠拟合的情形。

一个简单的道理是,非线性越强,则拟合曲线抖动的越厉害。

而欠拟合往往是抹平了抖动。假如我们将N个样本点

$$  \wedge_{i=1}^N\{ \vec{x} ^{(i)}, y^{(i)} \} \quad (3)$$ 

看作是待拟合曲线附近的点,我们将这些点按照${x_0}$值的大小排列起来。

$x_0$ 可以是任意设定的一个维度,它类似于时间的意义。

那么截取一段范围的窗口,我们就可以将这些标记点看作是信号波。

运用小波分析,可以将其中的特征频率分离开来。如果得到的频谱分离度不够,

得到的特征频率很多,那么就会造成曲线剧烈抖动。

这个分波过程实际上是决定了特征的表示空间的维度。

表示空间越高,意味着超参数越多,也就会造成拟合曲线自由下降的方向越多。

这就会很显然的带来过度拟合。某些不重要的维度的存在本身就是缺陷,

因为它会造成势函数的大量鞍点,影响最优化训练的速度。虽然有 momentum

等方法来加速训练,但必须意识到,这样的维度本身就不应该被训练。

另一方面,假如存在很多的冗余维度,那么存在一种可能性,

这些冗余维度本身形成了超参空间的局部最优,即便使用动量之类的手段,

最终在这些维度上,也会倾向于这些冗余维度的局部最优解。

这种冗余性甚至会掩盖掉某些真正重要的特征,因为它们往往在很少的几步迭代下,

就得到了最优解,而重要指标往往需要多次迭代。最后导致这些冗余维度虽然在一开始权重不大,但多次迭代后,这些冗余维度的权重超越了真正的重要维度。

这对于深度学习而言,是灾难性的结果。


**所以,对于真正重要的特征来说,一个特别重要的问题是它的内禀维度究竟是多少?**


在计算机视觉领域,在卷积神经网络中,

只是机械的将每个子图截取到的部分看作是特征,

并没有对每个图进行维度分析,这就留下了很多过拟合的隐患。

去芜存菁,势在必行。


我们需要去除的是特征中的冗余维度,这些维度的非线性响应特别灵敏。

如果单纯从响应的角度来看,很难去针对每一个维度进行分析。

所以我们可以采用系统性响应的办法来处理。即在卷积截取的特征上掺入随机杂质。

掺杂本身需要考虑特征本身的频率,否则杂质的噪声水准会掩盖一切。

掺入噪声实际上会阻碍获得特征的精细维度结构。在动力学上,相当于引入了色散。

色散的本质就是将子波展宽,压平,这恰好是和非线性波的特征是相反的。

如果只有色散,那么波最终会展平消失,如果只有非线性,那么波会变尖崩塌。

这两者恰恰是竞争关系的。所以引入合适的色散项能够将非线性波稳定,

最终形成物理上所谓的孤子波。这种孤子波是非常稳定的。它具有极佳的抗干扰性。


上面的分析都是基于物理学的。我们在深度学习的操作层面如何来实现呢?

实际上,压缩感知算法就是如何用稀疏特征频率来重构数据的方法。

陶哲轩,Donoho, Candes三人提出的这个划时代的算法,

其中的重要一步就是将现有的特征频率来引入特征噪声,

然后递归解析出重要的其他特征频率,而把不重要的特征频率全部过滤掉。

这个引入特征频率噪声的办法竟然出奇的简单,就是采用随机采样。


---

---


而这样采样后的重构过程如下图:


---

---

上图摘自知乎博文<https://zhuanlan.zhihu.com/p/22445302>. 压缩感知后的特征不仅仅保留了绝大部分原先的特征的特性,它还更加干净了。

这正是我们想要的结果。


在去年(2019年5月)的 Deep Compressed Sensing (arxiv:1905.06723)

一文中就是这样实现的。

更精妙的是,这样的算法居然和生成对抗有异曲同工之妙,实际上,在这篇论文中,

生成对抗的算法可以看作是深度压缩感知的一个特例。

最让人意外的是,深度压缩感知用了更少的训练时间,得到了超越 GAN 的性能。

所以这对于深度学习来说,也是一个算法上的革命。

实际上,仔细分析 GAN 算法,其实它也是对神经网络进行干扰。

生成器本身就是为了对抗鉴别器而存在的。最终的目标是生成器打败鉴别器。

这与压缩感知的目标是一致的。压缩感知的最终目标是用更少的特征维度重构数据。


那么,未来的算法进步在何方?


深度压缩感知解决的是维度问题,也就是特征的量纲。

物理学上,仅有量纲是远远不够的。我们还需要更进一步分析其对称性以及映射。

在神经网络中,每一次映射,都可以看作是一个演化。



【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。