分享

一文理解神经网络参数随机效果好与差

问题导读:
1、什么是随机矩阵 ?
2、如何理解一个动力系统内不同元素间的相互作用?
3、矩阵的特征值如果画在复平面上长什么样?
4、基于这种理解我们可以做什么?




网络是从人类智能到深度学习的基础,可能所有人都认为只有训练好的具有特定结构的网络才能具有功能,如同生物的功能是由结构决定的, 精巧设计的结构可以产生特定的功能, 大概高中生物老师就给我们灌输了这个观念。 而在网络的世界, 这就意味着你要某个功能,就要先产生那样的结构,比如一个非常特定的CNN。

然而, 可能你不知道的是, 一个随机连接的网络也具有功能。 什么叫随机啊? 就是任意单元和单元之间连接与否是随机的, 看起来很混乱,它们居然能做事? 不仅如此, 它能做的事情还很酷炫:比如, 预测火焰的形状演化。

注:火焰的跳动,是一个我们常说的混沌系统, 所谓难以用常规方法预测, 确可以一定程度被随机网络征服,这是一个以复杂对抗复杂,用无常应对无常的经典例子。


2019-07-16_173134.jpg
任何一个网络的连接都可以由一个矩阵来刻画, 刻画随机网络单元和单元之间的连接就是随机矩阵, 那么什么是随机矩阵 ?

可能每个人都很清楚矩阵, 但是提到随机矩阵,就不是每个人都清楚了。 事实上, 随机矩阵是研究所有和网络有关的科学技术, 从机器学习到复杂系统, 极为重要的工具。 那么我们就一层层拨开随机矩阵的神秘面纱。

首先, 如果矩阵里每行每列的元素都从独立分布的高斯里抽样,那个, 这样的一个方阵称为随机矩阵。


2019-07-16_173425.jpg
起来没什么乱用对吧? 我们还是直接进入随机矩阵的数学物理本质: 事实上, 随机矩阵用于描述一个动力系统内不同元素间的相互作用, 具体的例子比如:

1, 描述一个马尔可夫过程的概率迁移矩阵: 矩阵可以用来描述一个马尔可夫过程的迁移矩阵, 那么该矩阵就定义了一个随机连接的图网络, 从i点到j点的迁移概率由对应的矩阵元素表达(因此每一行的和需要为1)。

2, 描述一个动力系统里任意的n个元素和n个元素的相互作用关系, 这n个元素, 既可以是人工或生物神经网络里的神经元, 也可以是生态系统里的各个物种, 或金融市场相互作用的交易者, 我们刚刚说的预测混沌的网络就符合这个类型。 此处随机矩阵就是随机网络的数学表示

好了,站在这个点上,我们依然不能干什么。 我们就具体看看问题2, 用随机矩阵用来刻画一个动力系统里不同元素的关系时候它究竟告诉我们了什么。这里, 我们从最简单的系统-二维的线性动力学系统开始, 二维的动力系统定义为

2019-07-16_173529.jpg
可以由一个a,b,c,d组成的二维矩阵(雅可比矩阵)刻画。 这个两两作用的系统在自然界比比皆是, 比如著名的猎手-猎物方程。

对于任何动力学系统, 我们都要先抓住它的定点, 而整个系统的性质, 由定点向外周扩散迎刃而解。 那么这个简单的线性系统有一个显而易见的定点就是x=0, y=0.

定点的作用就像一个巨大的吸引中心, 系统的演化无论多么复杂, 都是以某种形式围绕它展开。 这些展开形式可以被概括到一个叫相图的二维平面里, 这个平面是由二维系统的两个变量为坐标轴, 概括了系统从任何初始状态(x,y)开始演化, 它的未来发展轨迹。

2019-07-16_173605.jpg
有了定点后, 系统具体的演化方法则由它的雅可比矩阵决定。 在这里雅可比矩阵也就是abcd所确定的连接矩阵 2019-07-16_173713.jpg 这个矩阵里的各个元素,它将确定,随着时间,系统将去向何方。 我们可以按照特征矩阵的行列式A = ad -bc 以及迹(trace) a +d 作为坐标轴对系统分类。为什么是这两个东西, 你想一下, 矩阵本身由特征值决定, 在特征分解后,A代表特征值的乘积,trace是特征值的和, 这两个量体现了特征值的性质。 矩阵的特征值是一个复数, 对应复平面上的两个点。 这两个点的几何性质由刚刚说的行列式和迹决定。

数学的好处在于一次得到所有的可能性。 一切可能皆由定点展开, 这些情况按照定点稳定与否(演化是趋紧还是远离它), 以及趋于(或远离)定点的方式展开。

我们通常用poincare diagram 来表达所有情况。 从左向右, 定点从稳定到不稳定(特征值由负到正),从下到上, 趋于或离开定点的方式由线性变换到旋转(特征值由实入虚, 此处以delta 2019-07-16_173726.jpg 为界)。方程你可以把整个解析解写出来
2019-07-16_173828.jpg
由如上的两个坐标轴和一个抛物线,我们把平面分割成了6个区域。 你只需要记住临界态的性质, 中间区域即其过度。 抓住这个平面,就抓住了所有的二维线性动力系统。

y轴上半 - 此处特征值为纯虚数, 实部为0, 我们既不趋近也不远离, 这也就是周期运动, 或被称为极限环。 系统围绕定点做圆周运动,是稳定和不稳定的过度状态。 典型例子如二维谐振子 - 理解各种复杂的物理系统的毕达哥拉斯之剑。 加入一定非线性形式我们得到猎手-猎物方程, 狼和羊, 资本和劳动力矛盾下的振动平衡。 自然界还是人类现象中振动如此普遍, 背后正是这类动力关系的体现。

2019-07-16_173925.jpg

X轴下半和det中间区域: 稳定定点, 代表趋势所致, 稳定定点可以预测事物的一般走势(稳定不变的平衡态,任何远离它的阴谋都将破灭),因为在它的管辖区域里, 无论如何折腾, 都回回到它, 因此稳定定点也可以用来存储信息。
2019-07-16_173955.jpg
Y轴下半及整个下半平面:鞍点(Saddle)与上半的区别在于运动方式, 刚刚说的转动变成线性, 然而依然是从稳定到不稳定的临界,此处的效果是从一个特征向量方向你趋于定点(稳定),而另一个方向则远离(不稳定)。 这样的系统可以表示神经网络的决策或分类: 从一个方向得到的结果是A, 从另一些方向得到的结果是B,这就是天然的分类器。鞍点也用来介导一个动力系统的相变, 从一个方向你达到定点, 再在另外一个方向分离, 例如所有的热恋到失恋的过程。
v2-6786e8763fb4cd850147ef04d85f1788_hd.jpg
X轴: 刚刚那个图一个更加特殊的情况是X轴上(det 为0)的那些解,这条线的数学含义是我们某个特征值为0的情况(此时矩阵的迹为0), 啥叫特征值为0? 它意味着只要我们在这个为0的特征值所对应的特征向量,我们就有 2019-07-16_174058.jpg ,也就是所有解都是定点! 而它导致的结果是所谓的线性吸引子, 定点不在是一点而是一条线(line attractor)。 我们会看到这个解在众多的问题里意义重大,比如神经编码 。这是因为线性吸引子是路径依赖的代言人, 你从不同的起点出发, 会停留在不同的位置上, 这就好像把初刻的历史凝固了下来,因为可以比单个稳定定点编码更复杂的信息-甚至是某种抽象关系。

下图表示一个更一般的非线性系统里的line attractor 。


2019-07-16_174128.jpg
更多信息请见https://def.fe.up.pt/dynamics/linear_systems.html
理解了二维系统, 你可以抓住它内在本质的东西, 然后一级级向高维延申。 我们回到我们的主题-随机矩阵, 随机矩阵刻画一个高维动力系统, 其不同单元间的连接是随机的。 如果我们假定高维系统依然是线性的, 那么它一般写成:
2019-07-16_174226.jpg


其余性质将由矩阵的特征值和特征向量决定。 我们对连接矩阵A进行特征分解, 得到一系列的特征值和特征向量, 我首先让你猜一下如果你把它的特征值和特征向量在复平面上展开, 它们会长成什么样呢?

你依然从二维线性系统, 一个2x2的方阵入手。 这个矩阵的特征值如果你画在复平面上长什么样呢? 这一类矩阵有两个最特别的情形, 一个对角线为0实对称 2019-07-16_174339.jpg , 一个对角线为0的反对称 2019-07-16_174419.jpg   , 对于情况一我们得到的两个特征值是-a和a(假定非对角元素为a), 对于情况2我们有-ai和ai也就是把它们换到虚轴上(这正是刚刚说的谐振子解)。 由此你进行一个类推, 如果我的矩阵的元素不在是这两个特殊情况而是随机的, 我只保证这些矩阵元素每个的期望均是0, 然后你要求出特征值的分布会是什么样的? 刚刚的解一个是沿着实轴相对原点对称, 一个是沿着虚轴相对原点对称。 如果综合起来呢? 在实轴和虚轴组成的复平面上, 我们会得到任意方向沿着原点对称的一组点, 从而组成最完美的一个图形- 也就是, 一个圆! 具体求解请见论文(Introduction to Random Matrices-Theory and Practice)。

好了, 那么维度增加呢? 当你的矩阵元素越来越多, 这个时候我的高维矩阵的特征值个数将等于我们的矩阵维数, 当这个数字达到一定程度, 我们任意一个矩阵的特征值都将逼近刚刚说的那个所有可能二维矩阵的特征分布, 也就是一个圆,至少非常接近!
2019-07-16_174510.jpg
好了, 从这里我们可以立刻领悟到的是什么? 特征向量和特征值携带所有矩阵的信息, 那么所有的随机矩阵的性质是类似的。这里只有一个东西是变化的, 就是圆的半径。 这个量有什么意义呢?还回到二维情况进行对比, 在我们刚刚的情况里 , 矩阵的trace从小于0到大于0引起整个系统从稳定定点过度到一个不稳定定点, 而此处, 这个圆的半径, 正是起到类似的作用。

我们把整个动力方程写成:
2019-07-16_174553.jpg
那么矩阵A-I的特征值正负将决定整个系统的稳定性, 这里的情况是如何呢? 记得刚刚说的我的矩阵A元素都符合是一个平均值为0的高斯分布吗? A-I这个矩阵就是一个以-1为中心,以A的特征圆为半径的圆形区域, 如果这个圆的半径小于1, 那个特征值整体在负半平面, 系统会趋于稳定的解0。 而一旦半径大于1,这种稳定性就被打破,在高维的系统里, 当你无法回到定点(或闭合轨迹), 那么登场的正是我们众所周知的混沌, 高维系统的演化进行永不停止的无序运动。 那么1呢? 我们说, 这就是混沌和稳定的边缘, 记得在二维的系统里, 这个地方会催生非常多的有趣现象, 比如二维谐振子, 比如线性吸引子, 而这些在高维系统里依然正确, 我们会得到各种各样的复杂多解型, 比如-振动解。 而这正是和网络有关的众多有趣现象, 甚至生命本身, 产生的地点。

注:所谓混沌, 事实上是一大类不同动力学现象的统称, 它们的共同特点是从某个无限接近的初始点出发, 未来的轨迹是发散的。 混沌的最简单形式是三维非线性方程的洛伦兹吸引子, 在此情况下事实上我们的轨迹围绕这两个定点做某种“周期”运动, 只是这个周期无限复杂, 因此混沌并非等于失控, 而可以是非常复杂的信息载体。 而混沌也可以普遍的存在于高维的线性系统里。

2019-07-16_174640.jpg
我们说, 这个特征谱一来决定稳定性, 而来决定趋于定点的方式。 实数代表线性的推进, 虚数代表振动,具体是哪种方式推进, 则决定于你是否在某个特征值对应的特征向量方向上。 我们知道, 我们是一个高维的线性系统,在这个高维王国里, 光坐标轴就可以建立维数N个, 那么对应的就是N个特征向量方向。 由此决定了我们以不同的初始状态趋近定点, 可能的结果会非常复杂多变,运动模式趋于无限。

基于这种理解我们可以做什么呢?
1, 预测高维网络的一些基本性质: 虽然我们比较难完全完全预测高维系统的未来, 但是我们预测其稳定性, 我们看到, 当改变一个网络的一个基本属性, 比如连接强度, 就会让网络从稳定到不稳定,从稳定平衡趋于混沌, 那么对于生态系统和社会这意味着什么呢? 有人说当系统的元素增加连接增强会使得系统更脆弱 ,更容易失衡, 但这仅是理解之一。 一个趋于稳定平衡的系统也通常没有什么功能。 而混沌本身, 确可以是秩序的载体。

2, 在混沌和稳定边缘的高维随机动力系统具有某种全能可塑性, 如果加上一定的非线性, 则可以包含极为丰富的动力学模式, 稳定定点,周期解, 不稳定定点, 混沌, 各类复杂的吸引子, 都可以在这个区域周围出现。这个区域动力学形式已经开始丰富, 又不像完全混沌那样难以控制, 因此是各类学习的最佳区域。

3, 制作机器学习工具。 我们说大型的随机网络本身就具备一定的学习能力, 而且在很多学习任务里可以匹配其它特定设计的机器学习模型。 这里一个比较著名的例子就是蓄水池网络。刚刚开始说的预测火焰的例子正是来自这里。

蓄水池网络的根基,正是2提到的混沌和稳定的边缘, 再加上非线性的激活函数, 以及外界环境的输入I。这个微小的非线性将把系统的复杂性再推一个高度, 事实上, 一个非线性的二维系统就可以表达多于一个的定点, 而非线性的三维系统就已经可以产生混沌。 一个非线性的高维混沌系统, 其数学复杂度已经接近解析的极限。
2019-07-16_174748.jpg
-这也就是循环神经网络RNN。

制作一个蓄水池网络最重要的就是控制刚刚说的特征值的谱半径, 我们要让它处于稳定到混沌的临界状态,也就似乎那个谱半径接近1的状态。 在这个时候, 系统的动力学属性最为复杂,最为丰富。

蓄水池网络具有的一种能力是, 如果你给它一个复杂的时间序列输入(I), 比如股市的变化, 它可以自动的抽取出这种变化背后的独立性因子,并在一定程度模拟出真实过程的动力关系(因为其自身存在足够丰富的动力关系, 以至于非常容易和真实的系统进行匹配)。 听着有点像PCA,但是PCA是线性的不包含时间, 而这里是一个非线性时间依赖的系统, 复杂性不可同日而语。


2019-07-16_174835.jpg
比如上面这个图, 我们的输入是真实世界一个很复杂的波动曲线(周期解和混沌间的过度), 事实上多么复杂的波动背后催生它的因素不一定很复杂, 比如洛伦茨吸引子背后就仅仅是一个三维系统。

当这个波动输入到蓄水池网络里以后,蓄水池网络可以找寻到这种复杂背后的根基,并对这个信号的发展走势进行预测。

蓄水池运算的好处是不需要改变内在连接矩阵A, 我们唯一需要求解的是一个读出, 也就是
2019-07-16_174919.jpg
就可以对时间序列进行预测, 比如文中开头提到的预测火焰形状的网络, 如下图, 这个过程包含两个阶段,一个是训练,一个是预测, 在训练阶段, RNN的作用事实上相当于一个auto-encoder-自编码器, 它得到一个火焰变化的输入, 通过网络重现这个输入。 而在预测阶段,我们不再有火焰变化的数据,我们直接把RNN输出的结果输入回网络,假设这个网络已经学好了, 那么这个输出就是正确的预测(下图为实际信号(上)于预测信号的比对(下))。 这种预测能力的背后, 正是在训练阶段,RNN高维网络里的某些成分, 抓住了真实系统变化背后的那些核心动因(自编码器的本质即压缩寻找主成分)。

2019-07-16_175004.jpg
更深刻的学习(对A进行改变): 我们还可以做什么呢? 在刚刚讲到的各类复杂的动力学形式里, 我们看到,无论是稳定定点, 极限环,鞍点,还是线性吸引子事实上都是对世界普遍存在的信息流动形式的通用表达。 我们可以用它表达信息的提取和加工, 甚至某种程度的逻辑推理(决策),那么只要我们能够掌握一种学习形式有效的改变这个随机网络的连接,我们就有可能得到我们所需要的任何一种信息加工过程, 用几何语言说就是,在随机网络的周围, 存在着从毫无意义的运动到通用智能的几乎所有可能性, 打开这些可能的过程如同对随机网络进行一个微扰, 而这个微扰通常代表了某种网络和外在环境的耦合过程(学习), 当网络的动力学在低维映射里包含了真实世界的动力学本身, 通常学习就成功了。

无论当下红极一时的鏖战星际争霸的网络,还是从脑电波中解码语言的网络, 无非是一种特殊的RNN(LSTM)加上一定的这种学习的结果。

真实世界的各种复杂网络, 从生物基因网络到神经网络,到生态网络或经济关系网络, 或许都是如此从随机网络逐步过度出的。 无论是通过学习,还是进化。 这或许可以揭示为什么人和猩猩基因差异没有大的情况下智力确是天壤之别, 以及类似人组成的社会受到地理条件影响的微小差异后引起的社会演化巨大差异。 或许, 这个规律可能揭示所有复杂网络到深度学习背后的本质。

作者:许铁
来源:https://www.zhihu.com/question/265476523/answer/747653415


最新经典文章,欢迎关注公众号


没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条