卷积神经网络学习
Posted chians-dw
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了卷积神经网络学习相关的知识,希望对你有一定的参考价值。
一、卷积的物理意义
卷积的重要的物理意义是:一个函数(如:单位响应)在另一个函数(如:输入信号)上的加权叠加。
在输入信号的每个位置,叠加一个单位响应,就得到了输出信号。这正是单位响应是如此重要的原因。
二、卷积的另外解释
比如说你的老板命令你干活,你却到楼下打台球去了,后来被老板发现,他非常气愤,扇了你一巴掌(注意,这就是输入信号,脉冲),于是你的脸上会渐渐地(贱贱地)鼓起来一个包,你的脸就是一个系统,而鼓起来的包就是你的脸对巴掌的响应,好,这样就和信号系统建立起来意义对应的联系。下面还需要一些假设来保证论证的严谨:假定你的脸是线性时不变系统,也就是说,无论什么时候老板打你一巴掌,打在你脸的同一位置(这似乎要求你的脸足够光滑,如果你说你长了很多青春痘,甚至整个脸皮处处连续处处不可导,那难度太大了,我就无话可说了哈哈),你的脸上总是会在相同的时间间隔内鼓起来一个相同高度的包来,并且假定以鼓起来的包的大小作为系统输出。好了,那么,下面可以进入核心内容——卷积了!
如果你每天都到地下去打台球,那么老板每天都要扇你一巴掌,不过当老板打你一巴掌后,你5分钟就消肿了,所以时间长了,你甚至就适应这种生活了……如果有一天,老板忍无可忍,以0.5秒的间隔开始不间断的扇你的过程,这样问题就来了,第一次扇你鼓起来的包还没消肿,第二个巴掌就来了,你脸上的包就可能鼓起来两倍高,老板不断扇你,脉冲不断作用在你脸上,效果不断叠加了,这样这些效果就可以求和了,结果就是你脸上的包的高度随时间变化的一个函数了(注意理解);如果老板再狠一点,频率越来越高,以至于你都辨别不清时间间隔了,那么,求和就变成积分了。可以这样理解,在这个过程中的某一固定的时刻,你的脸上的包的鼓起程度和什么有关呢?和之前每次打你都有关!但是各次的贡献是不一样的,越早打的巴掌,贡献越小,所以这就是说,某一时刻的输出是之前很多次输入乘以各自的衰减系数之后的叠加而形成某一点的输出,然后再把不同时刻的输出点放在一起,形成一个函数,这就是卷积,卷积之后的函数就是你脸上的包的大小随时间变化的函数。本来你的包几分钟就可以消肿,可是如果连续打,几个小时也消不了肿了,这难道不是一种平滑过程么?反映到剑桥大学的公式上,f(a)就是第a个巴掌,g(x-a)就是第a个巴掌在x时刻的作用程度,乘起来再叠加就ok了。
三、卷积的数学定义
这两个式子有一个共同的特征:
这个特征有什么意义?
只看数学符号,卷积是抽象的,不好理解的,但是,我们可以通过现实中的意义,来习惯卷积这种运算,正如我们小学的时候,学习加减乘除需要各种苹果、糖果来帮助我们习惯一样。
我们来看看现实中,这样的定义有什么意义。
2 离散卷积的例子:丢骰子
我有两枚骰子:两枚骰子点数加起来为4的概率是多少?
那么,两枚骰子点数加起来为4的情况有:
因此,两枚骰子点数加起来为4的概率为:
f(1)g(3)+f(2)g(2)+f(3)g(1)
符合卷积的定义,把它写成标准的形式就是:
四、图像处理
在数字图像处理中, 有一种基本的处理方法:线性滤波
. 待处理的平面数字图像可被看做一个大矩阵, 图像的每个像素对应着矩阵的每个元素, 假设我们平面的分辨率是 1024*768
, 那么对应的大矩阵的行数
= 1024
, 列数
=768
.
用于滤波的是一个滤波器小矩阵(也叫卷积核
), 滤波器小矩阵一般是个方阵, 也就是 行数
和 列数
相同, 比如常见的用于边缘检测的 Sobel 算子
就是两个 3*3
的小矩阵.
进行滤波就是对于大矩阵中的每个像素, 计算它周围像素和滤波器矩阵对应位置元素的乘积, 然后把结果相加到一起, 最终得到的值就作为该像素的新值, 这样就完成了一次滤波.
对图像大矩阵和滤波小矩阵对应位置元素相乘再求和的操作就叫卷积
(Convolution
)或协相关
(Correlation
).
协相关(Correlation
)和卷积
(Convolution
)很类似, 两者唯一的差别就是卷积
在计算前需要翻转卷积核
, 而协相关
则不需要翻转.
为什么卷积要翻转?
卷积中的翻转是对于时间上的概念来说的,举个例子,一台机器每个小时生成一个馒头,速度为f(t),那么一天生成的总量为:
,而馒头的腐败函数为g(t),那么第一个小时生产出来的包子,经过一天(24小时),f(1)*g(24),这里为什么不是f(1)*g(1)?
因为对于现在来说,已经过去了24小时,所以对于函数g来说,它的腐败程度应该时在t=24的时候的值。所以g现在就是被翻转了。
以上是关于卷积神经网络学习的主要内容,如果未能解决你的问题,请参考以下文章