浅谈卷积神经网络及matlab实现 (2)

不同点:
1、卷积是对称的 conv(f,g)=conv(g,f)。而滑动相关不对称,ccorr(f,g)~=ccorr(g,f)。
2、卷积是两个系统作用时的响应,(由于对称性,谁作用于谁并不本质)。
滑动相关是衡量两个函数相似度,与相对位置之间的关系。
3、信号处理上卷积可以进行局部操作(就是滤波),例如图像的高斯模糊。系统响应分析。
滑动相关一般用来进行特征检测,比如图像特征提取

3.2 卷积过程

浅谈卷积神经网络及matlab实现

上述图表示,卷积过程,首先输入原始图像,然后用f(x)这个卷积核进行卷积,在加一个偏置,然后用激活函数进行非线性映射,得到初步的卷积结果,现在激活函数一般都用relu,sigmoid用的都比较少了。

3.3下采样过程

既然图像经过卷积之后我们是不是就要用分类器进行分类了呢,显然是不行的,你想一个图像辣么大,网络的训练速度一定会很慢的吧,过拟合肯定也不用说了。那么我们的前辈想到的肯定是降维啊,但是这里我们不叫降维,而是叫下采样,当然降维是我理解的,也不知道准确与否。

下采样就是利用图像的静态性。对相邻的地方进行聚合统计,打个比方就是你额头的地方肯定和你额头的地方很像吧,耳朵也和你耳朵很像吧。

另外,图像的下采样具有不变性。如果下采样区域为特征映射的连续区域,那么得到的下采样单元具有平移不变性,比如图像经过一个小的平移处理后,同样会得到相同的(下采样)特征。在实际应用中,比如物体检测,声音识别等应用中,都希望系统具有平移不变性的特征,因为具有平移不变特征后,即使样本经过平移处理后,标记依然能够被系统识别。

综上所述,下采样的主要作用是:

1、降低图像分辨率;(我理解就是,分辨率越高反而不利于分类,肯定过拟合啊)

2、减少运算数据量;

3、增强网络对图像变化的适应性。

3.4局部连接和权值共享

局部连接与全局连接:

浅谈卷积神经网络及matlab实现

浅谈卷积神经网络及matlab实现

大家看,假设我们爱因斯坦图片是1000x1000像素的图片,那就是一百万的像素点,输入的维度也是一百万,在连接一个相同大小的隐藏层,那么就是一万亿个连接,那还训练个毛线啊,所以我们必须减少权重的数量。

插播一段小广告,来自于百度回答。

浅谈卷积神经网络及matlab实现

上述的回答说白了,就是猫猫的视觉神经中,每一个感受野只接受一小块的区域的信号,对其他东西是不感冒的。那么是不是就启发我们的卷积神经网络了?

局部连接就是根绝上述思想而来的。每一个神经元不需要接收全部像素点的信息,只需要接收局部的像素点进行输入。然后在把所有信息综合起来,那么就可以得到全局信息了。假设感受野大小是10x10,那么是不是就只需要10x10x100=1亿个连接了?

但是呢一亿个好像还是有点大,现在假设我们每个隐藏节点的神经元参数都是一样的,那么参数就只有100个参数,也就是每一个过程就只有10x10那一百个参数。这样整个模型的复杂度就降下来了。(其实我这里一直认为,给每个神经元适当的权重还是不错的,毕竟有的特征(像素)肯定对分类效果影响比较大吧)

这样我们的卷积神经网络特征就构建完毕了。卷积核越多就可以构建更多的高阶特征。

浅谈卷积神经网络及matlab实现

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgwjyj.html