resnet有全连接层吗(resnet(4)——全连接层与softmax)
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的底层原理 。创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!