神经网络在权宜之计上是否存在卷积的数学原因?


14

在卷积神经网络(CNN)中,在进行卷积之前,每一步的权重矩阵都需要翻转其行和列以获得内核矩阵。Hugo Larochelle 以下一系列视频中对此进行了解释

daccess-ods.un.org daccess-ods.un.org计算隐藏映射将对应于使用内核矩阵对来自上一层的信道进行离散卷积,并且该内核是根据隐藏权重矩阵Wij,我们在其中翻转行和列。

在此处输入图片说明

如果像其他类型的NN一样将卷积的减少步长与常规矩阵乘法进行比较,权宜之计将是一个明确的解释。但是,这可能不是最相关的比较...

在数字成像处理中,将滤镜卷积到图像上(对于实际直觉来说这是一个很棒的youtube视频)似乎与以下内容有关:

  1. 该事实卷积是缔合(交叉)的相关是没有的。
  2. 由于时域中的卷积等效于频域中的乘法(卷积定理),因此可以在图像的频域中将滤波器作为乘法应用。

在这种特定的技术环境中,DSP 相关定义为:

FI(x,y)=j=NNi=NNF(i,j)I(x+i,y+j)

这实际上是Hadamard乘积中所有单元的总和:

FI(x,y)=[F[N,N]I[xN,yN]F[N,0]I[xN,yN]F[N,N]I[xN,y+N]F[0,N]I[x,yN]F[0,0]I[x,y]F[0,N]I[x,y+N]F[N,N]I[x+N,yN]F[N,0]I[x+N,y]F[N,N]I[x+N,y+N]]

其中是一个滤波函数(表示为矩阵),而I x y 是位置x y )上图像的像素值:F(i,j)I(x,y)(x,y)

在此处输入图片说明

互相关目的是评估探针图像与测试图像的相似程度。互相关图的计算依赖于卷积定理。


另一方面,卷积定义为:

FI(x,y)=j=NNi=NNF(i,j)I(xi,yj)

只要过滤器是对称的,就与过滤器的行和列翻转的相关操作相同:

FI(x,y)=[F[N,N]I[xN,yN]F[N,0]I[xN,yN]F[N,N]I[xN,y+N]F[0,N]I[x,yN]F[0,0]I[x,y]F[0,N]I[x,y+N]F[N,N]I[x+N,yN]F[N,0]I[x+N,y]F[N,N]I[x+N,y+N]]

在此处输入图片说明


[1474141626164726412674162616414741]

在此处输入图片说明


从计算上看,这两个运算都是Frobenius内积,相当于计算矩阵乘法的轨迹


问题(在评论和第一个答案之后重新排列):

  1. CNN中卷积的使用是否与FFT相关联?

从我到目前为止的收集来看,答案是否定的。FFT已用于加速卷积的GPU实现。但是,尽管在预激活步骤中使用了卷积,但FFT通常不是CNN中结构或激活功能的一部分。

  1. CNN中的卷积和互相关是否等效?

是的,它们是等效的。

  1. 如果简单如“没有区别”,将权重翻转到核矩阵中有什么意义?

卷积的关联性(在数学证明中很有用),关于FT和卷积定理的任何考虑均不适用。实际上,似乎没有发生翻转(互相关被简单地标记为卷积)(?)。


安东尼您能指出他们翻转权重的任何来源吗?正如@hossein指出的那样,您可以通过交叉相关来执行卷积所能做的任何事情,只需翻转顺序即可。因此,所有这些频域的东西都是无关紧要的。
seanv507

@ seanv507我编辑了OP,以包含我认为你在问我的内容的来源。我确实知道卷积与使用翻转滤波器矩阵的互相关是相同的操作,但是我不明白为什么如果没有什么不可以解决离散卷积的“痛苦”的问题完成相关性。给出的答案显然是知识渊博的,但是可以在注释中加上,并且不能解释两个截然不同的操作背后的原因(这是从DSP转移到ML的“传统”吗?),对学习过程的影响,以及与金融时报的关系。
安东尼·帕雷拉达

1
安东尼,没有必要翻转。这更像是一种约定;在dsp中,人们谈论的是卷积而不是互相关,并且互相关神经网络并没有脱口而出。但是,更自然的(供人类解释)操作是CNN的互相关(您是模板匹配)(请考虑例如垂直边缘过滤器而不是旋转对称过滤器)。因此,我认为Hugo larochelle可能正在谈论数值函数,其中卷积而不是互相关是标准函数。(他实际上是在说互相关可以通过卷积完成。)
seanv507

1
安东尼,同意前两个问题/答案,我的评论是回答第三个问题。
seanv507

1
尽管在CNN和FFT之间不一定存在直接联系,但有证据表明,当您保留常规卷积和时,可以通过使用FFT获得CNN的加速。参见此处的示例:arxiv.org/pdf/1312.5851.pdf
Alex R.

Answers:


8

当神经网络使用卷积或相关时,神经网络的功能没有区别。这是因为学习了过滤器,并且如果CNN可以使用卷积运算学习执行特定任务,那么它也可以使用相关运算来学习执行相同任务(它将学习每个过滤器的旋转版本)。

要找到有关人们有时发现卷积比相关性更直观的原因的更多详细信息,这篇文章可能有用。

仍然存在一个问题,即如果卷积和互相关之间没有区别,将权重翻转到核矩阵的意义何在?我想从Ian Goodfellow等人的《深度学习》一书中摘录一些句子回答这个问题:

“翻转内核的唯一原因是获得可交换属性。尽管可交换属性可用于编写证明,但通常不是神经网络实现的重要属性... 许多机器学习库都实现了互相关,但调用它卷积。

得出的结论是,尽管卷积是经典机器视觉应用程序中最喜欢的操作,但在卷积神经网络的许多实现中都被相关性取代。


谢谢。我仔细阅读了您链接到的博客,似乎卷积的使用不仅简单地等同于相关性,而且确实对频域特征选择做出了响应。我正在寻找一个详细的答案。
安东尼·帕雷拉达

据我所知,他们是在相当于他们可以做什么,因为这两个做两个矩阵的点积,但卷积翻转过滤器格栅点产品之前,由于细胞神经网络学习的过滤器,他们可以学习的翻转过滤器。
侯赛因

Hosseins解释为+1,博客链接为-1。该博客主要侧重于硬件,他是一名CS专家,没有卷积和其他信号处理概念的背景知识。
seanv507

我仍要坚持在CNN卷积和傅立叶变换之间的关系(或缺乏关系)上再加上一段。
安东尼·帕雷拉达

2

FFT和卷积之间存在联系是有实际原因的。

卷积在时域/图像域中很慢。应用ñ×ñ 过滤到一个像素需要 Øñ2乘法和加法。将其应用于ñ×ñ 因此需要图像 ñ2ñ2操作。它增长很快,并且大量的运算不仅需要额外的时间,而且还会引入更多的数值误差。

卷积定理说,时域中的卷积等效于频域中的逐点乘法。FFT快速:具有良好的渐近性能Øñ2日志ñ2并且实际的实现通常是高度优化的。因此,切换到傅立叶域,您可以在Øñ2 时间(由逐点乘法控制),而不是 Øñ2ñ2。即使沿FFT->乘法->逆FFT路线走似乎要复杂得多,这也可以提供相当大的加速比。这里更多

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.