在介绍了卷积网络是什么之后,我们终于可以来分析为什么卷积网络能够实现图像检测的功能。首先,什么是图像的检测?图像检测其实要解决的是一个图像分类的问题,即这张图是什么。图像分类有两种方式,一种是二分类,即一张图像是某个对象,或不是某个对象,是回答一个是和否的问题。另一种方式是多分类,给定一个完整的分类列表,分别计算图像属于每一个分类的概率是多少,比如一张照片,它上面是猫,狗,兔子的概率分别是多少,还是什么都不是。
那么卷积网络是如何完成这一分类任务的呢?
还是借用上面那张图,用一个形象但不那么准确的解释:首先,网络第一步是提取特征,而提取特征又是按从小到大的过程,最开始提取到的是线条,由线条再组成部件,再由部件再组成整体。然后根据计算出来的每一类整体的概率,进行分类判断。
比如说,要识别一只猫,我们首先提取到的是线条,由线条进一步提取到猫的眼睛,嘴巴,胡子,然后由这些再提取到猫的头;根据同样的道理,提取到猫的四条腿,背部,肚子,尾巴等等。根据这些局部特征,再放到所有动物的分类里面去,计算出每个分类的值的大小,值越大,则概率越大。
当然,之后以说这个说法不是很准确,是因为计算机并不跟人一样,会将猫的特征分解为头,四肢,尾巴等等,根据它学习的结果,可能会有一套不同的分法,而且比人类的分法可能更适合于进行图片的分类,但是我们就无从得知了。假设又一种特殊的情况,在某一次计算机的学习当中,刚好将猫的特征也构建成跟人类的眼睛一样,把猫分成头,四肢,尾巴这样的分法,那么我们就可以套用上面这套解释了。
以下我们将通过比较严谨的方式来证明这套方法。这部分内容大概包括:特征提取,特征的组合,分类,以及网络的训练等几个部分。