卷积神经网络的基本架构由3部分组成:卷积,池化 和 全连接。
卷积是用一个滑动窗口从输入图像中提取特征。
池化操作为了降低维度。
池化操作的输出图像的大小:
(输入图像宽度 - 内核宽度 + 2*padding) / 步长 + 1
https://blog.csdn.net/cicibabe/article/details/73075222
pooling的结果是使得特征减少,参数减少,但pooling的目的并不仅在于此。pooling目的是为了保持某种不变性(旋转、平移、伸缩等),常用的有mean-pooling,max-pooling和Stochastic-pooling三种。
特征提取的误差主要来自两个方面:
(1)邻域大小受限造成的估计值方差增大;
(2)卷积层参数误差造成估计均值的偏移。
一般来说,mean-pooling能减小第一种误差,更多的保留图像的背景信息,max-pooling能减小第二种误差,更多的保留纹理信息。
https://blog.csdn.net/u014516389/article/details/72729946
池化目的:
为了描述大的图像,一个很自然的想法就是对不同位置的特征进行聚合统计,例如,人们可以计算图像一个区域上的某个特定特征的平均值 (或最大值)来代表这个区域的特征。
https://blog.csdn.net/danieljianfeng/article/details/42433475
随机池化:
对feature map中的元素按照其概率值大小随机选择,即元素值大的被选中的概率也大。
用01均匀分布来采样,将单位长度1按照那9个概率值分成9个区间(概率越大,覆盖的区域越长,每个区间对应一个位置),然随机生成一个数后看它落在哪个区间。
https://blog.csdn.net/Losteng/article/details/51525833
深度调参是门手艺
卷积核(又叫filter,neuron)
几个小的卷积核(例如3*3)叠加(stack)在一起,相比一个大的卷积核(例如7*7),与原图的连通性不变,但是却大大降低了参数的个数以及计算复杂度!!!
深度学习喜欢小而深,厌恶大而短。
这里指的是卷积核大小,和层数。
深度学习工程师50%的时间在调参数,49%的时间在对抗过/欠拟合,剩下1%时间在修改网上down下来的程序
https://www.zhihu.com/question/38098038
全连接层(fully connected layers,FC)在整个卷积神经网络中起到“分类器”的作用。
在 CNN 中,全连接常出现在最后几层,用于对前面设计的特征做加权和。
在 RNN 中,全连接用来把 embedding 空间拉到隐层空间,把隐层空间转回 label 空间等。
https://www.zhihu.com/question/41037974
softmax的输入层和输出层的维度是一样的,如果不一样,就在输入至 softmax 层之前通过一层全连接层。
https://www.jianshu.com/p/88bb976ccbd9
softmax用于多分类过程中,它将多个神经元的输出,映射到(0,1)区间内,可以看成概率来理解,从而来进行多分类
https://www.jianshu.com/p/ffa51250ba2e