CNN学习笔记
最近在看卷积神经网络(CNN),主要用来处理图像。
为什么需要CNN?
普通的全连接神经网络处理图像有两个问题:
- 参数太多:一张 28x28 的图片就有 784 个输入,如果是彩色图片更多
- 没有利用空间信息:图片相邻的像素之间是有关系的,全连接层忽略了这一点
CNN的核心组件
卷积层
用一个小窗口(卷积核)在图片上滑动,提取特征。比如 3x3 的卷积核,每次看 9 个像素。
池化层
降低数据量,常用的最大池化就是在小窗口里取最大值。
全连接层
最后把提取的特征展平,做分类。
实践
跟着教程做了个手写数字识别(MNIST),准确率能到 98% 左右,还挺有成就感的。
代码大概是这样:
不过这个模型很简单,复杂的图像识别还得加深层数。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 PFZ7Z7 的学习笔记!