浅析卷积神经网络为何能够进行特征提取

  • Post author:
  • Post category:其他


CNN在分类领域,有着惊人的效果。我们今天来聊聊为何CNN能有这么大的能力。

在此之前,我们先了解两个数学概念,特征值和特征向量。

这里先放3个传送门:


https://blog.csdn.net/hjq376247328/article/details/80640544


https://blog.csdn.net/woainishifu/article/details/76418176


https://jingyan.baidu.com/article/27fa7326afb4c146f8271ff3.html

前两个是有关特征值和特征向量的博客,最后一个是一个求解特征值和特征向量的博客。OK,进入正题,这里引用以上博客的数据和实例。

这里引用博客的一句话:

也就是说,我们有一个方阵(n x n),总能找到一些向量,这个矩阵跟这些向量的作用效果,只是对这个向量造成了拉伸的作用,换句话说,矩阵的作用跟一个系数的作用是等价的。也就是如下这个式子:

那为什么要做这一步操作呢。来,咱们继续引用博客的例子,因为他实在是讲得太好了,看如下几个图:

我们换个通俗易懂的说法。假设我们要判断一个人是男的还是女的,第一反应可能是“头发”,其次是“声音”,或者“衣着”之类的,一般通过以上3个特征就能非常直观地判断出来是男的还是女的。

但是呢,出题人A特别坏,出题人A说:这个人,他有一双明亮的大眼睛,有一头乌黑的头发,喜欢出入酒吧,一般十点钟上班,声音比较细腻,走路比较急,还有,喜欢吃零食,喜欢穿浅色衣服。

出题人B比较好,出题人B说:他头发比较长,说话比较温柔,穿的比较阳光,声线比较细。

我们一听B的说法,就很直观地觉得这个人八九不离十是位女生,而从A的判断中,我们还是模棱两个。这个就涉及到信息量的问题。A给的特征非常多,信息量很大,但是。。。似乎没什么用,而B给的特征少,但是基本足够了。就像图1,他的数据分布特别散漫,而图3的分布相对集中,是一个道理的。相对于信息量大的特征,我们去挑选特征、做出判断是非常困难的。

所以!!!我们就需要想办法对特征做特征提取。也就是说,提取主要的、关键的特征就够了!!!而这个提取的方法就是:特征向量!!!

咱们继续以椭圆举例:

以上几个图,全都可以分类为椭圆,但是因为形状各异,导致数据也是不对称的,尤其体现在rgb值上(当然在对图像的数据处理,还有很多,比如subtraction,BN),其次体现在在各个轴的投影。但是,如果如果我们可以对它做旋转,缩放,平移等操作,变成如下的图:

那,是不是就非常好辨认了,而且数据也非常集中,至少在某一维度上。于是乎,我们就需要去找这么一个特征向量。卷积的过程,就是通过反向传播,无限去拟合这么一个非常非常非常逼近的特征向量集(这个特征向量集其实就是咱们的卷积核)!!!!为什么是特征向量集呢(其实单个特征向量(一个列向量或者行向量)也行)?因为一个列向量,我们只能在一种维度做变换,多个列向量,就意味着多个维度联合进行特征提取或者曰之为特征映射。

来,总结一下。卷积核≈特征向量





,反向传播≈求解特征向量集,我们的图片≈矩阵A,注意,这些概念不是等价的,只是用易懂的方式去解释这些原理。

卷积神经网络中,第一步一般用卷积核去提取特征,这些初始化的卷积核会在反向传播的过程中,在迭代中被一次又一次的更新,无限地逼近我们的真实解。其实本质没有对图像矩阵求解,而是初始化了一个符合某种分布的特征向量集,然后在反向传播中无限更新这个特征集,让它能无限逼近数学中的那个概念上的特征向量,以致于我们能用特征向量的数学方法对矩阵进行特征提取。



版权声明:本文为weixin_42078618原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。