介绍
卷积神经网络属于深度学习的子域。深度学习中的算法以与人脑相同的方式来处理信息,但其规模很小,因为我们的大脑太复杂了(我们的大脑大约有860亿个神经元)。
为什么使用CNN进行图像分类?
图像分类通过从图像中提取特征,以观察数据集中的某些模式。由于可训练参数变得非常大,因此使用ANN进行图像分类最终会在计算上造成很高的成本。
例如,如果我们有一张50 X 50的猫图像,并且我们想在该图像上训练传统的ANN,以将其分类为狗或猫,则可训练参数变为–
(50 * 50)* 100图像像素乘以隐藏层 + 100 偏差+ 2 * 100 输出神经元+ 2 偏差= 2,50,302
我们在使用CNN时使用了过滤器,过滤器根据其用途而存在许多不同类型。
不同过滤器及其效果的示例
过滤器通过在神经元之间执行局部连接模式来帮助我们利用特定图像的空间局部性。
卷积操作是指两个函数的逐点乘法以产生第三个函数,这里一个函数是我们的图像像素矩阵,另一个是我们的过滤器。我们在图像上滑动卷积核,并获得两个矩阵的点积,生成的矩阵称为“激活图”或“特征图”。
在此处使用垂直卷积核对6X6图像进行卷积
有多个卷积层从图像中提取特征,最后从输出层中提取特征。
实用:分步指南
我将使用Google Colab,并且已经通过Google Drive连接了数据集,因此,如果使用相同的设置,则我提供的代码应该是可以使用,切记根据你的设置进行适当的更改。