本篇文章利用深度学习网络区分椭圆和圆形图案。我们利用MATLAB中的深度学习工具箱生产卷积网络。整个文章分为三个部分,第一部分简单介绍MATLAB深度学习网络的相关函数,第二部分生成测试用的数据,第三部分对神经网络进行训练和测试。
1. MATLAB中深度学习相关函数
在此案例中,我们会运用如下函数
1) imageInputLayer
此层主要是对输入的图片尺寸进行定义,例如:
Layer = imageInputLayer([28 28 3]);
说明这个图像是RGB的28*28像素的。
2) convolution2dLayer
此层定义了卷积核的操作。如下图所示:
![b07ae15d28d3f9faae02307fecb152db.png](https://img-blog.csdnimg.cn/img_convert/b07ae15d28d3f9faae02307fecb152db.png)
layer = convolution2dLayer(11,96,'Stride',4,'Padding',1) 定义了一个96个大小为[11 11]的卷积核,运行的步伐为[4, 4],大小为1的Padding。
3) batchNormalizationLayer
对小批量(mini-batch)的训练集进行归一化处理。一般在卷积层和激活函数之间加入该层去降低网络对初始化的敏感性。
4) reluLayer
该层定义了激活函数ReLU函数,其定义如下: