文章目录
1. 全连接层
全连接层,指的是每一个结点都与上一层的所有结点相连,用来把前面几层提取到的特征综合起来。
举个例子,前面通过卷积和池化层提取出来的特征有眼睛鼻子和嘴巴,那我们能单独通过这三个特征来判断出这是一只猫吗?显然不能,因为拥有眼睛鼻子嘴巴这三个特征的动物太多了吧,所以我们需要对这三个特征进行特征融合,从而最终判断出这个东东是一只猫猫而不是修狗。
也因此,全连接层相对于卷积层和池化层,需要的参数多很多。
那么看到现在,全连接层和卷积层的其实就是局部和整体的关系,我们知道卷积是对图像的局部区域进行连接,通过卷积核完成的是感受野内的长宽方向以及channel 方向的数据连接。
而全连接层呢?它的每次完成的是所有channel方向的连接,它看到的是全局特征。
除此之外,卷积和全连接在算法上是可以转换的。通常情况下,在进行全连接的计算时,可以把它等效于卷积核为1x1的卷积运算。
2. SoftMax算法
在很多现有的深度学习框架中,SoftMax函数经常被调用初学者大都对它一知半解,只知道SoftMax可以用来做分类,输出属于某个类别的概率。但是,为什么要用SoftMax呢?这个算法又是如何将神经网络推理的数值,转换为一个类别的分类的呢?
首先,我们要明确下面这两个概念:
第一,神经网络最终选择某一分类,依据的不是得分,而是概率
第二,得分是神经网络经过了几十层卷积运算计算出来的
知道了这两个概念以后,正式来介绍SoftMax算法。
先看他这个名字,Soft明显和Hard相对,那HardMax算法就是我们日常理解的Max,比如Max(3,4)就是4。
SoftMax不一样,它是要处理多个类别分类的问题。并且,需要把每个分类的得分值换算成概率,同时解决两个分类得分值接近的问题。
SoftMax函数的公式如上图所示,其中
- 以e为底数进行了指数运算,算出每个分类的 eZi,作为公式的分子
- 分母为各分类得分指数运算的加和。
- 根据公式很自然可以想到,各个分类的SoftMax值加在一起是1,也就是100%。所以,每个分类的SoftMax的值,就是将得分转化为了概率,所有分类的概率加在一起是100%。
至于为什么选择指数函数,这也是有讲究的。
假设我们要让计算机识别以下照片
仓鼠的得分是2.1,白面包的得分是1.9,猫的得分是0.1
如果不用指数函数的话,其实仓鼠得分和白面包的得分是差不多的,但指数增长的特性就是,横轴变化很小的量,纵轴就会有很大的变化。所以,从1.9变化到2.1,经过指数的运算,两者的差距立马被的拉大了。从而,我们可以更加明确的知道,图片的分类应该属于最大的那个。
这就是SoftMax的底层原理。
版权归原作者 WFForstar 所有, 如有侵权,请联系我们删除。