学习卷积神经网络

卷积神经网络(回旋网)是广泛使用的深度学习的工具。它们特别适合于将图像作为输入,尽管它们也用于其他应用程序,如文本、信号和其他连续响应。它们与其他类型的神经网络有几个不同之处:

卷积神经网络的灵感来自视觉皮层的生物结构,其中包含简单细胞和复杂细胞的排列[1]。这些细胞被发现激活基于视野的条件。这些亚区域称为感受区。受这项研究结果的启发,卷积层中的神经元连接到该层之前各层的子区域,而不是像其他类型的神经网络那样完全连接。神经元对图像中这些亚区域之外的区域没有反应。

这些子区域可能重叠,因此回旋网的神经元产生空间相关的结果,而在其他类型的神经网络中,神经元不共享任何连接,产生独立的结果。

此外,在全连接神经元的神经网络中,参数(权值)的数量会随着输入大小的增加而快速增加。卷积神经网络通过减少连接、共享权值和向下采样的数量来减少参数的数量。

卷积网络由多层组成,如卷积层、最大池或平均池层和完全连接层。

卷积神经网络的每一层神经元以3-D方式排列,将3-D输入转换为3-D输出。例如,对于一个图像输入,第一层(输入层)将图像保存为3-D输入,尺寸为图像的高度、宽度和颜色通道。第一卷积层中的神经元连接到这些图像的区域,并将它们转换成3d输出。每一层的隐藏单元(神经元)学习原始输入的非线性组合,这被称为特征提取[2]。这些习得的特征,也称为激活,从一层成为下一层的输入。最后,学习到的特征成为网络末端分类器或回归函数的输入。

事先的体系结构可以随类型和数量的层包括在内。所包含的层的类型和数量取决于特定的应用程序或数据。例如,如果你有绝对响应,你必须有一个分类函数和一个分类层,而如果你的响应是连续的,你必须在网络的末端有一个回归层。只有一个或两个卷积层的较小网络可能足以学习少量的灰度图像数据。另一方面,对于具有数百万彩色图像的更复杂的数据,您可能需要具有多个卷积和完全连接层的更复杂的网络。

你可以在MATLAB中连接卷积神经网络的各个层®通过以下方式:

layers = [imageInputLayer([28 28 1]) convolution2dLayer(5,20) reluLayer maxPooling2dLayer(2,'Stride',2) fullyConnectedLayer(10) softmaxLayer classificationLayer];

在定义网络的层之后,必须使用trainingOptions函数。例如,

选择= trainingOptions(个);

然后,可以使用训练数据对网络进行训练trainNetwork函数。数据、层和训练选项成为训练函数的输入。例如,

事先= trainNetwork(数据、层选项);

有关回旋网的层的详细讨论,请参阅指定卷积神经网络的层。有关设置训练参数的内容,请参见设置参数,训练卷积神经网络

参考文献

[1] Hubel, h.d.和Wiesel, t.n。“猫纹状皮层中单个神经元的感受区。”生理学杂志。1959年第148卷574-591页

[2] Murphy, k.p。机器学习:一个概率的观点。马萨诸塞州,剑桥:麻省理工学院出版社,2012年。

另请参阅

|

相关的话题