维纳的个人履历实在令人望而生畏,他真的将各种领域的知识融合在了一起。同时,他创造了自动控制理论,深刻地影响了机器/深度学习的发展历程。神经元模型以及GD梯度下降的发明也是基于自动控制理论基础上创立的。
笔者思考:
自动负反馈控制理论,从另一个角度讨论了一个信息处理系统如何达到稳态(即找到最优参数)。
笔者任务其核心思想是:比起一次接受所有历史状态信息,通过最小二乘估计得到最优参数。信息系统其实可以将时间序列切片,通过只获取一个有限时间段内的信息,对通过滤波器后的信息误差进行评估,进而对系统本身进行负反馈调节,这种方式最终可以让系统趋向于稳态。
这也是GD(梯度下降)思想的核心之一,当然,GD本身还解决了对高维多元随机变量求极值的计算复杂度问题,GD本身是易于通过计算机实现的。
数字滤波器是数字信号处理中使用得罪广泛的一种线性系统环节,是数字信号处理的重要基础。
数字滤波器的本质是将一组输入的数字序列通过一定的运算后转变为另一组输出的数字序列。
实现滤波处理的运算电路、或设备称为滤波器。
对输入信号通过一定的处理得到输出信号,这个处理通常是滤除输入信号的某些频率成分;保留信号中某些频率范围内的有用信号成分。所以把这种处理的过程称为滤波。
笔者思考:CNN卷积网络的训练过程体现了非常明显的滤波过程,CNN网络在训练样本数据的过程中,会自动地保留样本数据中和target有关的“关键性像素区域”,例如小猫识别任务中,CNN会保留图像样本中各种姿势的猫,而对背景这些“冗余信息”会逐渐通过权重调整过滤掉,从某种程度上来说,这就是一种滤波过程。
几乎所以的机器学习算法的参数优化(训练)过程都包含负反馈,算法通过在训练中不断根据本轮迭代的预测结果和目标结果之间的差距来动态调整自己的负反馈,从而逐渐将权值参数调整到”尽量完美“的状态(即拟合)。
作为对刺激的相应,系统产生一个输出 y(i) 作为相应。因此,次系统的外部行为由下述数据集描述:
从数字信号的时空特性角度来看,刺激向量 x(i) 能够以两种根本不同的方式出现,一种是空间的,另一种是空间的:
我们现在面对的问题是如何通过建立一个简单线性神经元来设计未知动态系统的一个多输入-单输出模型(即滤波器模型)。
这个神经元模型是在一个算法的影响下运行的,此算法控制对神经元的突触权值的必要调整,同时记住以下要点:
这样描述的神经元模型称为“自适应滤波器(adaptive filter)”,而其中负责进行调整的算法理论就是LMS(最小均方算法),LMS我们放到下一个章节来展开讨论,我们这里先关注滤波器系统本身。
虽然是在作为系统辨识(system identification)的任务背景下给出的描述,但自适应滤波器的特征还是有很广泛的应用。
下图是一个自适应滤波器的示意图,它的运行由两个连续过程组成:
这两个共同运作过程的组合构成了一个围绕神经元运作的反馈环(feedback loop)。
上述的这两个连续过程的产生原理如下:
误差信号 e(i) 用来对神经元突触权值的调整进行控制的方式,是由用于导出自适应滤波算法的代价函数决定的。
这个问题与无约束最优化问题密切相关,无约束最优化不仅可以用在线性自适应滤波器上,还可以应用在一般的神经网络上。
为了下一章节讨论LMS作准备,我们这里先讨论下自适应滤波算法中的无约束最优化问题。
这样,代价函数就成功地将一个学习问题转换为了最优化问题。
也就是说,需要解决一个无约束的最优化问题,即:
最优性的必要条件(注意不是充要条件)是:
一类特别适合自适应滤波器设计的无约束最优化算法是以局部迭代下降(iterative descent)思想为基础的:
下面我们来讨论几种以迭代下降思想的基本形式或变种形式的无约束最优化方法。
具体来说,就是利用代价函数在点 w(n) 周围的二次泰勒级数展开式,我们得到:
一般来说,牛顿法收敛得很快,而且不会出现最速下降法有时会出现的锯齿形情况。但是,应用牛顿法时, Hessian矩阵必须对每个 n 都是正定矩阵。
遗憾的是,一般不能保证在算法的每次迭代中 H(n) 都是正定矩阵。
假如 Hessian矩阵 H(n) 不正定,对牛顿法进行修正就有必要。在很多时候,牛顿法的最主要局限在于其计算复杂度。
J(n) 是 e(n) 的 n x m Jacobi 矩阵:
综合上式,可得:
上式描述了 Gauss-Newton方法的纯粹形式。
注意:梯度下降是最速下降在欧式范数下的特殊情况。
Relevant Link:
我们从最小二乘估计器引入最小二乘滤波器,这样可以很自然地进入对LMS的讨论中。最小二乘滤波器和最小二乘估计器虽然只有几字之差,但是其整个优化运算过程是不一样的。最小二乘滤波器引入了自适应反馈的思想。
我们在前面的章节中讨论了最小二乘估计器,它利用极小化(求导极值)的传统放来从环境的观测模型中找到最小二乘解。
从这个小节开始,我们将最小二乘估计器放到一个维纳滤波器的框架中进行讨论,我们称之为最小二乘滤波器(least-squares filter)。我们接下来利用 Gauss-Newton法来重新推导这个滤波器公式。
我们定义如下误差向量:
因此,上式可写为:
读者注意!!
这个公式和我们在文章之前推导的最小二乘的几何意义得到的公式是一致的。通俗地说:
Gauss-Newton(以及其他迭代算法)的每一次迭代,本质上就是在这个 n 的时域内,进行最小二乘估计,并根据得到的本次最优解对权值向量进行更新。
这个公式表示了下面所陈述的一个简便途径:
我们已经知道了,LMS算法在一次迭代中(时间 n 时域区间),本质上是在进行最小二乘估计。接下来继续思考,如果这个过程无限进行下去会得到什么呢?即 n 趋近于无穷。
基于公式
得到:
现在假设输入向量 x(i) 和相应的期望响应 d(i) 来自于联合遍历。我们可以用时间均值来代替总体均值。
输入向量 x(i) 的相关矩阵(correlation matrix)的总体平均形式是:
并且,相应地,输入向量 x(i) 和期望响应 d(i) 之间的互相关系(cross-correlation vector)的总体平均形式是:
综上,可将式:
因此,我们可以做以下的陈述:对一个遍历过程,当观察样本数趋于无穷时,线性最小二乘滤波器渐进趋于维纳滤波器。
虽然,当样本量趋近于无穷时,线性最小二乘滤波器趋近于维纳滤波器,但是设计维纳滤波器需要二阶统计量的知识:
但是,在实际的情况下,这些信息都是未知的,所以维纳滤波器只是一个理论上的最优滤波器。
在实际工程实践中,我们可以利用线性自适应滤波器(linear adaptive filter)来处理未知的环境,自适应在这里的含义就是滤波器能够调整自己的自由参数来响应环境的统计变化。在连续的时间基础上做这类调整的一个流行的算法就是最小均方算法(LMS)。
接下来,我们进入对LMS的讨论。
LMS最小均方算法是第一个解决如预测和信道均等化等问题的线性自适应滤波算法。
值得注意的是,LSM算法自身不仅可以作为自适应滤波应用机器,它还可以作为其他自适应滤波算法的评价准则,这里面的原因包括:
对工程来说,上述性能都是非常重要的。之所以强调说工程,是因为其实LMS并不是理论上最优的算法,但是却是最实际工程有效的。
因为在实际情况中,我们很难获得全局最优解,甚至说都无法完整按照最速下降的思想进行最优方向的梯度下降,原因大致如下:
但是LMS拥有计算简单、鲁棒性等优点,使得LMS在之后的深度学习/BP理论的发展中被不断继承和发扬光大。
最小均方(least mean square,LMS)算法的建立是基于极小化代价函数的瞬时值。注意!是瞬时值。
代价函数为:
这里 e(n) 是 n 时刻的瞬时误差信号。
因此,
综上公式得:
最后,将上式梯度的瞬时估计公式,带入最速下降法作为最速下降法的梯度向量,可以得到LMS的算法公式:
这里值得注意的是:
利用最速下降法可以得到一个权值向量,而LMS算法产生该权值向量的一个瞬时估计。所以,利用LMS算法时我们牺牲掉最速下降法的一个明显特征。
一个重要的事实是,与最速下降法不同,LMS算法不需要知道环境的统计特征。从实际的角度来看,LMS的这一特征是非常重要的。
我们可以把LMS算法中的权值向量演变过程表示如下:
这里,I 是单位矩阵。通过运用LMS算法,我们认识到:
我们利用信号流图来表示LMS算法,这图揭示了LMS算法是随机反馈系统的一个实例。反馈的出现对LMS算法的收敛行为有重要影响。
为了给LMS算法提供一种统计分析,我们利用下式定义的权值误差向量(weight-error vector)更加方便。
2. 在时间 n 上状态的演化被内部所产生的噪音 f(n) 所扰动,这一噪声扮演者”驱动力“的角色。
和上面的原始形式相比,这个图中用紧凑形式重点强调了LMS算法中的反馈过程。
需要注意的是!