1.
上面这张图解释了我很久的困惑,就是下面这个图和最早学习深度学习是看到的那些结点结构的图,比如最早输入224*224*3的照片,接下来经过64个卷积核(卷积核为3个3*3的 )的两次卷积,,这样明显就是向前慢慢扩展了。
那些结点连线是最早便于介绍神经网络是一维的时候就很好理解了。但是现在这样写法,因为卷积其实也就是在进行权重加和,一个3*3的卷积核加到图片上去不就是相当于那对应位置相乘再进行求和嘛。
第一层到第二层的权重个数就是((3*3*3)* 64)了呀。
2.
最后是经历了两个全连接层的。
全连接层的每个结点都与上一层所有的结点相连接,用于来将前面提取到的特征综合起来,所以全连接层的参数也就是最多的。
我们可以看到第一个全连接层有4096个节点,上一层pooling之后是7*7*512=25088个节点,所以在这两层之间将会有25088*4096个参数权重(这个还不算bias值,bias还有4096个呢)。
--------------------------------------------------------------------------------------------------------------
之后又是4096*4096(1*1的卷积核)
--------------------------------------------------------------------------------------------------------------
又是4096*1000(也是1*1的卷积核)
3.
卷积和全连接是有区别的,可以认为卷积就是稀疏连接。
- 提升了计算的效率,并且减少了内存的消耗
- 不会限制我们的的输入图片的大小。
4.
有三个全连接层(看到网上一个解释)
一个全连接层中的一层相当于一个多项式,我们使用许多的神经元去拟合这里的数据分布,如果只有一层那就很难解决非线性的问题了。
CNN网络中前几层的卷积层参数量占比小,计算量占比大;而后面的全连接层正好相反,大部分CNN网络都具有这个特点。因此我们在进行计算加速优化时,重点放在卷积层;进行参数优化、权值裁剪时,重点放在全连接层。
5.
实现代码(记录两个链接吧)