卷积神经网络相关概念
卷积神经网络包含的重要结构有:卷积层、池化层、全连接层
卷积层(Convolutions)
(1) 概念:卷积运算的目的是提取输入的不同特征,某些卷积层可能只能提取一些低级的特征如边缘、线条和角等层级,更多层的网路能从低级特征中迭代提取更复杂的特征。
(2) 运算规则:可参考https://mlnotebook.github.io/post/CNN1/,如图:
(3) padding-零填充:在图片像素的最外层加上若干层0值,若一层,记做p =1。
零填充有两种形式:
- Valid :不填充,也就是最终大小为
- Same:输出大小与原图大小一致
池化层(Pooling)
(1) 目的:降低了后续网络层的输入维度,缩减模型大小,提高计算速度。
(2) 计算规则:
- 最大池化:Max Pooling,取窗口内的最大值作为输出
- 平均池化:Avg Pooling,取窗口内的所有值的均值作为输出
全连接层
卷积层+激活层+池化层可以看成是CNN的特征学习/特征提取层,而学习到的特征(Feature Map)最终应用于模型任务(分类、回归):
- 先对所有 Feature Map 进行扁平化(flatten, 即 reshape 成 1 x N 向量)
- 再接一个或多个全连接层,进行模型学习
基于Keras实现CNN
输入图像数据集shape为32*32*3,最终要将图片分为100个类别
模型编写
两层卷积层+两个神经网络层
网络设计:
第一层</