一般的DNN直接将全部信息拉成一维进行全连接,会丢失图像的位置等信息。
CNN(卷积神经网络)更适合计算机视觉领域。下面总结从1998年至今的优秀CNN模型,包括LeNet、AlexNet、ZFNet、VGG、GoogLeNet、ResNet、DenseNet、SENet、SqueezeNet、MobileNet。在了解巨佬们的智慧结晶,学习算法上的思路和技巧,便于我们自己构建模型,也便于我们做迁移学习。
在观看了斯坦福的CS231n课程视频和同济子豪兄的视频后很有感悟,但在csdn发现没有类似详细的总结,希望帮到一些小白,搭配子豪兄的视频食用更佳哦。
- 卷积可以 提取原图中符合卷积核特征的特征,赋予神经网络 局部感受野,权值共享(卷积核是共享的)。
- 池化(下采样)目的是 减少参数量、防止过拟合、平移不变性(原图像平移不改变模型判断结果)
模型总结的主线以历年ImageNet竞赛的优秀模型为主。
想高效入门深度学习的童鞋可以康康这篇哦:
《一文极速理解深度学习》
其中一些经典模型的代码实现可以康康这篇!
《经典卷积神经网络Python,TensorFlow全代码实现》
LeNet
1998年提出的模型,为了识别手写数字。7层CNN,网络结构就是 卷积池化+卷积池化+3层全连接
为了节省运算,不是所有通道都参与下一个卷积运算。
输出层不是用softmax,而是用了高斯连接。
采用了 Sigmoid / tanh 激活函数。
AlexNet
总结网络结构与LeNet差不多,但有更深的模型,更多卷积核,且处理的是自然图像,而不是手写数字。是ImageNet 2012年的winner,首次使用CNN,精度大幅提升,具有跨时代意义,之后所有CV领域的模型都是基于卷积神经网络。
原论文图中输入应该是227*227*3,原论文有误。
因为当时GPU内存不够,所以用2个GPU,每个GPU有48个卷积核,将模型并行计算。
卷积池化归一化统一算一层卷积层&