提到深度学习,想必各位小伙伴对卷积神经网络(CNN)一词一定不陌生,那么卷积神经网络的发展史、网络结构中的输入层、卷积层、池化层、全链接层、输出层究竟是什么呢。从这里开始,笔者将带你一步步走进CNN(以理论为主,应用目前可以参考用TensorFlow教你做手写字识别和OpenCV+TensorFlow实现自定义手写图像识别 2篇文章,也可以后台留言交流)。
发展史
卷积神经网络(Convolutional Neural Network,CNN)是一种前馈神经网络,最早可以追溯到1986年BP算法( BP神经网络 )的提出,1989年LeCun将其用到多层神经网络中,直到1998年LeCun提出LeNet-5模型,神经网络的雏形基本形成。但是在接下来的近10年里,由于一方面研究人员意识到多层神经网络在进行BP训练时计算量过大,另一方面SVM等浅层机器学习算法开始展露头角,卷积神经网络网络就一直处于低迷状态。直到2006年,Hiton在Science自然期刊上发表文章,CNN才再度觉醒,并取得长足发展。2012年,ImageNet大赛CNN一举夺魁,AlexNet的突破使计算机视觉模型成功跨进商业化产品的门槛,可谓是CNN的王者归来。2014年,谷歌研发出20层的VGG模型。同年,GoogleLeNet问世。2015年,何凯明推出的ResNet在ISLVRC和COCO上横扫所有选手,ResNet在网络结构上大胆创新,堪称深度学习发展史的一重要里程碑。下图为卷积神经网络常见的一个网络结构图例。