使用MindSpore训练手写数字识别模型笔记分享(上)
1.1手写数字识别概述
• 手写数字识别是计算机视觉中比较简单的任务,也是发展较早的方向之一。
早期主要用于银行汇款单号识别,邮政信件包裹的手写邮编识别等场景。
• 基于手写数字识别领域发展起来的卷积神经网络等计算机视觉技术可以应用于更加复杂的任务
而手写数字识别则成为计算机视觉领域用于衡量算法表现的基准任务。
手写数字数据集
MNIST数据集是手写数字识别领域使用最为广泛的公开数据集
MNIST数据集包含0-9这十种数字,每一类包含大量不同形态的手写图片。
• 训练集:60,000张手写数字图片
• 测试集:10,000张手写数字图片。
• 每一张图片均为经过尺寸标准化的黑白图像:28*28像素,每一个像素值为0或1。
基于传统机器学习的识别方法
• 19世纪70年代,手写数字识别已经开始应用在邮编识别和银行支票识别等工作场景中。
• 1985年,Shildhar和Badreldin提出了基于拓扑特征与语法分类器的识别算法。
• 1989年,Yann LeCun使用SIFT等传统计算机视觉算法。同时期,SVM(支持向量机)等机器学习算法也在迭代与优化。各种不同的方法各有优劣。
基于深度学习的识别方法
深度学习是使用深度神经网络的机器学习方法,含有五个及以上隐藏层
1994年,Yann Lecun发布了结合反向传播的卷积神经网络LeNet,在手写数字识别领域效果远远超过了其他模型。1998年,Yann LeCun等构建了卷积神经网络LeNet-5并在手写数字的识别问题中取得成功。
LeNet-5以及在此之后产生的变体定义了现代卷积神经网络的基本结构,可谓入门级神经网络模型。
LeNet-5是一个典型的卷积神经网络,由输入层、卷积层、池化层和全连接层组成。
• 输入层:数据输入层
• 卷积层:通过卷积进行局部特征提取
• 池化层:通过下采样降低特征图的分辨率,降低输出对位置和形变的敏感度,保留关键特性,减少参数和计算
• 全连接层:将局部特征通过权值矩阵组装成完整图像,完成特征空间到真实类别空间的映射,类似分类器
整个LeNet-5 网络总共包括7层(不含输入层),分别是:C1、S2、C3、S4、C5、F6、OUTPUT
深度学习的“学习”过程
(x.y)表示数据集D的一组输入数据和标签,W表示权重,M表示样本数
1. 定义前向神经网络F(x,w)和损失函数Loss
2. 梯度下降法求解L(W)
a.初始化训练参数: 参数w的上标表示当前迭代次数
b.计算第n次迭代后的梯度:
c.更新训练参数: ,α表示学习率
1.2华为AI解决方案
1. 应用使能:提供全流程服务(ModelArts).,分层APL和预集成方案
2. MindSpore:支持端、边、云独立的和协同的统—训练和推理框架
3. CANN:芯片算子库和高度自动化算子开发工具
4. Ascend:基于统一、可扩展架构的系列化AI IP和芯片
ModelArts全周期AI工作流
EI智能体Intelligent Twins
EI认知服务Al Service
华为自研深度学习框架MindSpore
端-边-云按需协作分布式架构(部署、调度、通信等)
开发态友好
运行态高效
部署态灵活
自动微分
图方法:TensorFlow 运算符重载: PyTorch 源码转换:MindSpore
On-Device执行
内存墙问题、交互开销大、数据供给难
动静态图执行模型
调试灵活、运行高效
1行代码完成PDB调试与运行切换
- 点赞
- 收藏
- 关注作者
评论(0)