首先我们从卷积神经网络的来源说起。
第一,卷积,卷积一开始是一个物理概念(公式如图),是两个变量在某范围内相乘后求和的结果,常用来表示两个变量之间的关联。
在图像中,卷积用来反映局部图像与我们需要分辨的特征的关联。我们会让卷积核在整个图像上滑动,如果在图像上某处,得到了相应的特征,那么模型就会自动识别出来。
第二,神经网络,是指利用一层层神经元构建成一个类似大脑结构的模型,从而自动实现端到端的学习。
为什么要用神经网络?因为传统计算机视觉,对图像的理解非常重要,图像的特征有颜色特征、几何特征、边缘特征、局部特征、梯度特征等等,光学这些就需要大量的时间,然后才能学习计算机视觉的一些方法和模型。
而现在用神经网络,只需要输入图片矩阵,网络就可以自动提取图片特征,不但速度更快,学习成本降低,而且模型的鲁棒性更高。
其次,卷积神经网络的基本结构分为卷积层、池化层和全连接层,一般来说,图像会先进入卷积层提取局部特征,增加通道数,从而获得特征图;然后经过池化层,减小特征图的大小,增加训练速度;最后用全连接层进行分类识别。现在各种各样的卷积神经网络,都离不开这三种基本的结构。
最后,卷积神经网络为什么在图像上效果好?这个要从图像识别的一些基本要求说起。
第一,图像是可以缩放的,一张256256的人脸,和一张6464的人脸,都需要识别成人脸,这就对应了卷积神经网络中的池化层,通过池化层,将特征图进行缩放,从而识别不同尺寸的图像。
第二,图像中大部分内容无关紧要,比如我们识别人脸,图像中有大量的背景,这些都是冗余信息,所以我们一开始不使用全连接层,正是因为我们不需要这些冗余信息,我们用一个较小的卷积核,就足以捕获到整张图片中的关键信息。
第三,关键信息在图中的位置可变,比如识别人脸,你不知道人脸在图中哪个位置,可能在左边,也可能在下边,所以你需要通过卷积核滑动,在整个图中探索,设法找到关键信息。那么为什么直接用全连接层效果不好?按原理来说,全连接层学到的东西不会比卷积层更少,这是因为全连接层虽然参数更多,但是也更容易过拟合,考虑太多冗余信息,模型鲁棒性就会下降。
欢迎关注公众号:海林的机器学习课堂
可以向我提问哦~