(1)MobileNets
MobileNets能减少参数量与计算量的方式主要存在于两点:
- 深度可分卷积
- Width Multiplier + Resolution Multiplier
传统的卷积操作不考虑bias的情况下,参数量是 D K . D K . M . N D_K.D_K.M.N DK.DK.M.N,运算量是 D K . D K . M . N . D F . D F D_K.D_K.M.N.D_F.D_F DK.DK.M.N.DF.DF。其中 D K D_K DK是卷积核的维度大小, M M M是输入的通道数, N N N是输出的通道数(或者说是卷积核的个数), D F D_F DF是输出feature map大小(假定输入输出的feature map都相等,且是正方形)。
这样深度可分卷积的具体做法是,分为两个步骤
(1)深度卷积(depthwise convolution)
(2)1*1卷积 (pointwise convolution)
其中深度卷积相较于传统卷积不同的地方在于,相较于每个通道用N个卷积核进行卷积,这儿对于每个通道只用了1个卷积核进行卷积。
其次利用了1*1卷积对深度卷积的输出进行组合(或者说是升维,达到输出的channel数量N)。
这样总的计算量相较于传统卷积:
其中分子的前半部分为深度卷积的计算量,后半部分为1*1卷积的计算量,可以发现的是由于输出通道数
N
N
N往往远大于卷积核的大小
D
K
.
D
K
D_K.D_K
DK.DK,因此这个深度可分卷积的主要计算量和参数量会体现在pointwise convolution这一块。
文中进一步提出的两个multiplier指的是Width Multiplier
α
\alpha
α与Resolution Multiplier
ρ
\rho
ρ
最后文章在多个视觉任务上展开实验,在accuracy与parameter size和computation cost之间进行一个trade off。
(2)友链
深度学习、图像分类入门,从VGG16卷积神经网络开始
https://blog.csdn.net/errors_in_life/article/details/65950699
深度学习卷积神经网络——经典网络VGG-16网络的搭建与实现
https://blog.csdn.net/loveliuzz/article/details/79135546
VGG-16网络详细分析(Keras代码)
https://blog.csdn.net/C_chuxin/article/details/82819662
MTCNN人脸检测
https://www.jianshu.com/p/2f749b07e09f
https://blog.csdn.net/qq_30815237/article/details/92970410
SRCNN图像超分辨率重建
https://www.jianshu.com/p/d73d206943eb
SENet
https://blog.csdn.net/weixin_41923961/article/details/88983505
(3)常用激活函数
Sigmoid、Tanh、ReLu、softplus、softmax及其导数:https://www.cnblogs.com/nxf-rabbit75/p/9276412.html
(4)多层感知机的平方误差与交叉熵损失函数
(5)反向传播算法推导
https://cloud.tencent.com/developer/news/267616