作者:禅与计算机程序设计艺术
1.简介
随着互联网、移动互联网、物联网等新兴技术的不断涌现,人们对人工智能领域的关注也日渐增长。而对于人工智能领域里最热门的模型——卷积神经网络(Convolutional Neural Network,简称CNN)来说,越来越多的人开始关注这个模型背后的原理及其应用。本系列博客的目标就是对CNN模型进行科普讲解和实战应用。其中包括一些基础概念的阐述和计算机视觉与模式识别中的相关研究成果的介绍,以及卷积层、池化层、下采样层、全连接层、损失函数和优化器的详细讲解,最后给出一个完整的实例,展示如何利用TensorFlow、Keras库在MNIST数据集上实现CNN模型训练,并且可以在准确率达到99%以上之后生成MNIST手写数字图片的预测结果。
如果你还没有接触过CNN,或者只是零散的了解一下,那么这篇文章就适合你。希望本篇文章能够给你带来一些有益的帮助。
2.基本概念术语说明
2.1 CNN模型介绍
卷积神经网络(Convolutional Neural Network,简称CNN),是由人工神经网络(Artificial Neural Networks,ANN)发展演变而来的一种深度学习模型。它是一个深度学习框架,通过交替应用多个层次的特征抽取、过滤和分类功能来提升模型的学习效率。CNN模型结构上由卷积层、池化层、下采样层、全连接层等构成,是构建深度神经网络的一种有效方法。
CNN模型主要特点如下:
- 模型复杂度低:卷积层和下采样层可以减少参数数量,使得模型具有更小的计算量;
- 参数共享:不同位置的特征都可以利用前面层的权重来表示