本文进行一个实战,我选择了一个经典的图像识别神经网络 —— Mnist 手写数字识别的神经网络。
一起从获取训练数据集、训练模型到预测图片走一遍,感受一下一个神经网络是如何被训练出来,又是如何工作的。
为什么选择这个神经网络
该神经网络以数据集小、神经网络简单、任务简单为优势,并且集合了很多计算机视觉尤其是卷积神经网络中经典的算法,比如卷积+bn+池化算法,可谓麻雀虽小,五脏俱全,非常适合新手上手学习。
并且这个神经网络用到的训练数据集很小,一般个人笔记本的CPU就可以完成这个神经网络的训练,不用担心训练时间太长的问题,很适合熟悉和练手。
什么是手写数字识别
简答来说,就是搭建了一个卷积神经网络,可以完成手写数字的识别。
我用笔在纸上写了个6,这个神经网络就能认识这这张图片是一个6,我写了个8,它就识别出来这是个8,就这么简单。
之所以说该任务简单,是因为它的标签只有 0-9 这 10 个数字的十种分类,相比于 resnet 等网络在 ImageNet 上 1000 个实际物品的分类(比如汽车、高楼等),确实小很多。
虽然神经网络简单,但背后的原理却一点都不少,典型的 CNN 训练和算法无一缺席,与该神经网络一起出名的,便是大名鼎鼎的 MNIST(Mathematical Numbers In Text) 数据集。
该数据集中包含了 60,000 个训练图像和 10,000 个测试图像,图像都是各种手写的数字,基本上数字都长这样的。
本文通过一个简单的Mnist手写数字识别神经网络实战,介绍从获取数据到训练模型再到预测的全过程。文章阐述了选择该任务的原因,手写数字识别的基本概念,以及训练和验证流程。通过Python的Keras库实现,最终模型在训练和验证集上的准确率均达到约98%。
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



