卷积神经网络是在多层神经网络进过不断的改良以及许多前辈的不断创新之下的产物。它主要的作用是一种为了图像语义分割和识别锁特地进行配套的一种
卷积神经网络是在多层神经网络进过不断的改良以及许多前辈的不断创新之下的产物。它主要的作用是一种为了图像语义分割和识别锁特地进行配套的一种特殊的计算方式。我们先回到多层神经网络:
图 1.1
1.1.1 卷积神经网络的构成与实际使用
(1) 卷积神经网络的构成
卷积神经网络有三个基本概念:他对场能够进行局部感知、对物体的权重进行共同连接和pool
局部感知域:上述图像中神经网络的输入层由神经元列表示。数据输入层可以被视为在二次元的数据矩阵中的不同的特征值的集合。
像我们平时所看到的一些普通的的神经网络一样,数据输入层面中的神经元特征值需要连接到数据隐藏层面中的神经元特征值。但是,我们并不是将每个数据输入层面中的神经元连接到每个数据隐藏层的神经元,而是在图像的某一些部分建立一定的有限的链接。如下图所示:
:
这个5*5的区域叫做对图像的某个局部进行感知的区域。在这个区域中的25个神经元将连接到第一个隐藏数据输入层的神经元中。在这些链接中每一个链接都有一个相对应的参数,因此在这个感知区域中有着5*5的权重。如果该感知区域沿着水平方向左右滑动则隐层中的不同神经元将对应,例如,第一隐藏层的前两个神经元分别与输入层的连接一起显示。
上面获得的第一个数据隐藏层面中的24x24神经元使用相同的5x5的参数。隐层中神经元的输出是:
里,Sigma是神经元的兴奋功能(乙状结肠功能、Thanh功能等)。BB是感知域连接的在计算过程中出现的一定loss。WL,MWL,M是一个共同的复合式组合矩阵。AX,Y代表数据输入层面X,Y上的数据输入波动。
为了进行图像语义分析,一般情况下我们都需要一个以及以上的特征反馈,因此一个完整的卷积神经网络在一般情况下都将会包含好几个不同的特征反馈。下面的插图是三个特征反馈的示例。
汇集层(汇集层)一般情况下它位于卷积去除层的下方,这主要的原因是为了能够最大化的减少卷机去除层的输出,这边举一个例子,池层中的任何一个神经元都可以在前一层的2*2区域中召唤其他的神经元。如下图所示:
假设说卷积取出层的输出的数据中包含特征属性为24*24的神经元,那么我们可以在一系列的计算以及汇总后得到特征属性为12*12的神经元。
马克斯池不是唯一的汇集方法,另一个池方法是汇集池,其效果是简化了卷层的输出信息。
通过将上述结构与输出层结合,得到完整的卷积神经网络。
在这整个神经卷积网络中,他的最后一层是一个复合式的结构,他与MAXPOOL的神经元进行了连接。这种结构在神经卷积网络中是非常少见的,在这个网络中,它甚至还能够与其他的完整的层面进行连接。
1.1.2 ImageNet图像分类
Alex Krizhevsky等。第2012章“深度卷积神经网络IMANEET分类”对ImageNet的子数据集进行分类。IMANET包含1500万个具有22000个类别的高分辨率图像。这些图像都是从网络收集素材作为初始文件,并且对其进行特征标记。自2010以来,有一个IMANET图像识别竞赛称为ILVRC(IMANEET大规模视觉识别挑战)。
这里使用7个数据隐藏层,前5个是卷积神经网络层(一些使用MAXPOOL),另外2个是完整链路层
为了防止在相似的图像颜色以及形状出现错误判断,这里使用了两种方法。一种是手动生成更多的训练图像,从而达到增加训练量,减少错误率。二是辍学技术的运用。辍学设置在隐藏层中选择的神经元的一半输出到0。该方法可以加快训练速度,使结果更加稳定。个
我们还可以采用GPU进行计算,但由于单个GPU现存存在限制,我们通常需要2 GPU(GTX 580,3GB内存)来完成训练。当然如果有条件我们还能够 选择更好地GPU自然更好。