1.卷积神经网络
卷积神经网络是目前深度学习技术领域中非常具有代表性的神经网络之一,在图像分析和处理领域取得了众多突破性的进展,在很多方面的应用效果都非常好。
卷积神经网络CNN(LeNet-5网络详解),这篇讲的非常清楚。
https://blog.csdn.net/weixin_42398658/article/details/84392845
这篇是以LeNet-5网络为例讲解的,介绍了局部感受野(Local Receptive Fields)、共享权值(Shared Weights)、池化(Pooling)三个基本概念。
然后详细介绍了LeNet-5网络的八个层:输入层(INPUT)、卷积层(Convolutions,C1)、池化层(Subsampling,S2)、卷积层(C3)、池化层(Subsampling,S4)、卷积层(C5)、全连接层(F6)、输出层(径向基层)。每层都讲的很清楚,值得仔细研究。
2.卷积层、池化层参数详解
在keras框架下构建cnn模型,我用的是model.add方法。添加相应的卷积层和池化层。
卷积层
卷积层用keras.layer.Conv2D函数。
注意:需要区别后端函数keras.backend.conv2d()。
可以根据需要添加不同的卷积层函数。
池化层
池化层可以取最大值进行池化,也可以取平均值进行池化。下面是取最大值进行池化。
这里是取平均值
根据需要也可以进行选择
3.mnist手写体案例cnn实现
手写体的数据集介绍在上篇博客中,这里就不详细说了。https://blog.csdn.net/qq_42871249/article/details/104510591
直接上代码!
注意:这里的reshape更换数据格式和前面不太一样。每个样本转换为三维的,上一篇转化后为一维。
from keras.datasets import mnist
(X_train, y_train), (X_test, y_test)<