当前位置: 首页 > 科技观察

如何从信号分析的角度理解卷积神经网络的复杂机制?

时间:2023-03-19 14:40:59 科技观察

随着复杂高效的神经网络架构的出现,卷积神经网络(CNN)的性能优于传统的数字图像处理方法,例如SIFT和SURF。在计算机视觉领域,学者们开始将研究重心转移到CNN上,认为CNN是该领域的未来趋势。然而,人们对有效CNN背后的机制知之甚少。研究CNN的工作原理是当今的热门话题。基本上主流的观点有3种:1>优化,2>逼近,3>信号。前两个观点主要侧重于纯数学分析,试图分析神经网络的统计特性和收敛性,而第三个观点则试图解决以下问题:1)为什么非线性激活函数(activationfunction)所有中间层的过滤器输出是必不可少的吗?2)双层级联系统比单层系统有什么优势?球体/RECOS上的RectifiedCOrrelations是众所周知的,前馈神经网络(FNN)可以被视为一种通用逼近器,能够在给定包含有限数量神经元的单个隐藏层的情况下逼近任何连续函数。FNN的特别之处在于神经元的非线性激活函数。一些神经网络又大又深,但没有非线性激活函数,其复杂架构的性能与简单的单层线性模型没有什么不同,后者将输入映射到另一个输出空间。具体来说,非线性激活函数学习到的输入表示集更适合解决实际问题。CNN只是FNN或MLP(多层感知器/感知器)的另一种类型。为了分析CNN的非线性,作者提出了一个数学模型来理解CNN的行为。在该模型中,CNN被视为计算“球体上的校正相关性(RECOS)”的基本操作单元网络。因此,它被称为RECOS模型。在CNN训练过程中,内核权重首先被初始化,然后通过梯度下降和反向传播算法进行调整。在RECOS模型中,权重称为锚向量,以表示它们在对输入数据进行聚类中的作用。也就是说,我们尝试计算输入向量和锚向量之间的相关性,然后测量它们的相似性。为什么要使用非线性激活函数?与MLP只需要1步来考虑所有像素的相互作用不同,CNN将输入图像分解为更小的图像块(patches),在某些层中也称为节点的感受野(receptivefield)。该算法逐渐扩大感受野以覆盖更大的图像。神经元计算输入向量与其锚向量之间的相关性,以衡量它们的相似性。每个RECOS单元中有K个神经元。我们将模型表示为Y=AX,其中X是输入向量,Y是输出向量,A是我们的锚向量(内核过滤器的权重矩阵)。这个等式表示CNN将输入映射到另一个空间。通过研究RECOS模型,我们可以立即得出结论,学习到的内核权重倾向于将相似的对象映射到同一区域。例如,如果x_i与x_j的欧几里得距离很近,那么相应的输出y_i和y_j在新空间中也必须很近。对于用于捕捉猫特征的过滤器,学习到的锚向量A将所有代表猫特征的向量X_cat映射到Y_cat,而其他代表狗特征的向量X_dog或代表汽车特征的向量X_car永远不会出现在该区域。这就是CNN能够有效识别不同对象的原因。但是为什么我们必须使用非线性激活函数呢?考虑上面的两个图像:(左)原始猫图像,和(右)左图像的底片。从人的角度来看,这两个图像可能相同,但也可能不同。我们可以得出结论,两幅图像中的猫是同一只猫,并且它们是负相关的。因为黑猫只是白猫图像的像素值减去255得到的。那么CNN是如何理解这两只猫的呢?从上图可以看出使用非线性激活函数的必要性。X是输入向量,a_1、a_2和a_3是不同的学习锚向量。在RECOS模型中,线性运算Y=AX用于衡量输入向量和锚向量之间的相似度。因此,对于锚向量a_1和a_3,可以看出x与两个锚向量的相似度大小相同,但符号相反。在这一点上,猫对于CNN来说是不同的。但是例如在有两个卷积层的LeNet5中,当原始输入x经过这两个层时,最终的输出会出现混淆:下面两种情况在没有非线性激活函数的情况下系统是无法正确区分的:1)第一个Positive来自一层的响应遇到来自第二层的负过滤器权重;2)来自第一层的负响应遇到来自第二层的正过滤器权重。然而,通过使用非线性激活函数,CNN可以轻松排除负值的影响,从而形成一个鲁棒的系统。此外,作者还进行了一个有趣的实验,结果如下:我们用MNIST训练集训练了LeNet-5网络,在MNIST测试集上得到了98.94%的正确识别率。然后,我们将这个LeNet-5网络应用于图5所示的灰度反转测试图像。准确率下降到37.36%。接下来,我们将conv1中的所有过滤器权重更改为负值,同时保持网络的其余部分不变。稍作修改的LeNet-5网络正确识别了98.94%的灰度反转测试集,而原始测试集的准确率下降到37.36%。可以看出,改变第一个卷积层中的所有滤波器权重将得到对称的结果。结果表明,引入激活函数会消除负相关。如果我们在学习灰度倒置图像的特征时,不仅保留原图的anchorvector,还加入灰度倒置图像的anchorvector,那么两个测试集都可以达到很高的识别效果.级联层的优点是什么?一般来说,随着CNN层数的加深,核函数会尝试根据之前所有核函数的输出构建自己的抽象特征。因此与浅层相比,深层可以捕获全局语义和高级特征。在RECOS模型中,CNN利用一系列类似于度量相似性的非线性变换,对相似的输入数据进行逐层聚类。输出层预测所有可能决策的可能性(例如,对象的类别)。训练样本包含图像与其决策标签之间的关系,可以帮助CNN生成更合适的锚向量(从而形成更好的聚类),最终将聚类数据与决策标签连接起来。上图显示了深度网络的有效性,实验细节如下:我们用一个例子来说明这一点。首先,我们通过在MNIST数据集的原始手写数字中随机添加10个不同的背景来修改MNIST训练和测试集。对于以上三行图像,每行最左边的列显示了3个数字图像输入,中间一列是卷积层和ReLU层输出的6个光谱图像,最右边的两列是来自体积16的光谱图像合并层和ReLU层的输出。由于背景的多样性,很难为第一层找到一个好的锚向量矩阵。然而,这些图像的背景在空间域上是不一致的,而它们的前景图形是一致的。对于不同的变形背景,CNN成功捕获了具有代表性的模式。值得注意的是,第一层包含大量冗余和不相关的信息,通过在级联层中应用特征提取,CNN学习全局模式而不是局部细节。即对于一个输入向量x,RECOS变换产生一组K个非负相关的值作为K维的输出向量。这种方法逐层实现重复聚类。最后,训练图像的标签帮助CNN在不同背景的图像中找到相同的模式。从上面的分析可以看出,卷积层模型对于自动特征选择是非常有用的。它测量输入数据的相似性并将其聚类到不同的区域而无需人工干预。那么全连接层的作用是什么呢?通常CNN被分解为两个子网络:特征提取(FE)子网络和决策(DM)子网络。FE子网由多个卷积层组成,而DM子网由多个全连接层组成。简而言之,FE子网络通过一系列RECOS进行转换,形成新的聚类表示。DM子网络将数据表示与决策标签连接起来,其作用类似于用于分类的MLP。在这一点上我们可以得出结论,CNN比计算机视觉中的经典机器学习算法要好得多。因为CNN可以自动提取特征并根据这些特征学习对输入数据进行分类,而随机森林(RF)和支持向量机(SVM)严重依赖特征工程,而这往往很难操作。结论总之,RECOS模型从信号分析的角度为我们剖析了卷积神经网络。从这个角度,我们可以看到激活函数和深度架构的有效性。但是,仍然需要关注以下几个方面:网络架构设计、弱监督学习、对错误标签的鲁棒性、数据集偏差和过拟合问题等。论文:UnderstandingConvolutionalNeuralNetworkswithAMathematicalModel【本文为原文翻译专栏机器心,微信公众号“机器心(id:almosthuman2014)”】点此查看作者更多好文