DL之LeNet-5:LeNet-5算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略-阿里云开发者社区

开发者社区> 一个处女座的程序猿> 正文

DL之LeNet-5:LeNet-5算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略

简介: DL之LeNet-5:LeNet-5算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
+关注继续查看

LeNet-5算法的简介(论文介绍)

image.png


      LeNet-5模型是Yann LeCun教授于1998年在论文《Gradient-based learning applied to document recognition》中提出。它是第一个成功应用于手写数字识别问题并产生实际商业(邮政行业)价值的卷积神经网络。


Abstract

     Multilayer neural networks trained with the back-propagation algorithm constitute the best example of a successful gradient based learning technique. Given an appropriate network architecture, gradient-based learning algorithms can be used to synthesize a complex decision surface that can classify high-dimensional patterns, such as handwritten characters, with minimal preprocessing. This paper reviews various methods applied to handwritten character recognition and compares them on a standard handwritten digit recognition task. Convolutional neural networks, which are specifically designed to deal with the variability of 2D shapes, are shown to outperform all other techniques.

     利用反向传播算法训练的多层神经网络构成了一种成功的基于梯度的学习技术。在适当的网络结构下,基于梯度的学习算法可以用来合成一个复杂的决策曲面,该曲面可以用最少的预处理对高维模式(如手写字符)进行分类。本文综述了手写字符识别的各种方法,并在一个标准的手写数字识别任务上进行了比较。卷积神经网络是专门设计用来处理二维形状变化的,它的表现优于其他所有技术。

     Real-life document recognition systems are composed of multiple modules including field extraction, segmentation recognition, and language modeling. A new learning paradigm, called graph transformer networks (GTN), allows such multimodule systems to be trained globally using gradient-based methods so as to minimize an overall performance measure.

     现实生活中的文档识别系统由多个模块组成,包括字段提取、分割识别和语言建模。一种新的学习范式称为图变网络(GTN),它允许使用基于梯度的方法对这种多模块系统进行全局训练,从而最小化总体性能度量。

     Two systems for online handwriting recognition are described. Experiments demonstrate the advantage of global training, and the flexibility of graph transformer networks.

     介绍了两种在线手写识别系统。实验表明,该方法具有全局训练的优点,并具有图形变压器网络的灵活性。

     A graph transformer network for reading a bank cheque is also described. It uses convolutional neural network character recognizers combined with global training techniques to provide record accuracy on business and personal cheques. It is deployed commercially and reads several million cheques per day.

     本论文还描述了一种用于读取银行支票的图形变压器网络。它使用卷积神经网络字符识别器,结合全局训练技术,为企业和个人支票提供准确的记录。它已投入商业使用,每天可读取数百万张支票。



论文

https://ieeexplore.ieee.org/document/726791

http://yann.lecun.com/exdb/publis/pdf/lecun-01a.pdf

image.png

1998 年《Gradient-Based Learning Applied to Documnet Recognition》

http://yann.lecun.com/exdb/lenet/




LeNet-5算法的架构详解


DL之LeNet-5:LeNet-5算法的架构详解

image.png




LeNet-5算法的案例应用


PyTorch之LeNet-5:利用PyTorch实现最经典的LeNet-5卷积神经网络对手写数字图片识别CNN



1、LeNet-5算法的代码实现(LeNet-5——PyTorch)

PyTorch:利用PyTorch实现搭建最经典的LeNet卷积神经网络CNN——Jason niu

class LeNet(nn.Module):

   def __init__(self):

       super(LeNet,self).__init__()

       #Conv1 和 Conv2:卷积层,每个层输出在卷积核(小尺寸的权重张量)和同样尺寸输入区域之间的点积;

       self.conv1 = nn.Conv2d(1,10,kernel_size=5)

       self.conv2 = nn.Conv2d(10,20,kernel_size=5)

       self.conv2_drop = nn.Dropout2d()

       self.fc1 = nn.Linear(320,50)

       self.fc2 = nn.Linear(50,10)

   def forward(self,x):

       x = F.relu(F.max_pool2d(self.conv1(x),2)) #使用 max 运算执行特定区域的下采样(通常 2x2 像素);

       x = F.relu(F.max_pool2d(self.conv2_drop(self.conv2(x)),2))

       x = x.view(-1, 320)

       x = F.relu(self.fc1(x))  #修正线性单元函数,使用逐元素的激活函数 max(0,x);

       x = F.dropout(x, training=self.training) #Dropout2D随机将输入张量的所有通道设为零。当特征图具备强相关时,dropout2D 提升特征图之间的独立性;

       x = self.fc2(x)

       return F.log_softmax(x, dim=1)  #将 Log(Softmax(x)) 函数应用到 n 维输入张量,以使输出在 0 到 1 之间。

#创建 LeNet 类后,创建对象并移至 GPU

model = LeNet()

cuda_gpu = torch.cuda.is_available()

if cuda_gpu:

   model.cuda()

print ('MNIST_net model:\n')

print (model)





版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
任务调度:时间轮算法经典案例解析及应用实现
平时大家的工作中应该会遇到较多需要在某个时间点执行某个任务,比如对运维来说,定时数据库的备份,日志和监控信息的抓取;比如业务系统,某个时间点给某个人群用户发放优惠券,甚至从操作系统角度,人机交互进程、视频播放的实时进程、批处理的后台进程等进程间的调度。。。 所以如何将这些任务高效、精准的调度?是任务调度系统中最重要的命题,当然在业务系统中一个完善的任务调度系统是很复杂的,需要具备能调度、可视化管理、过程可追溯、结果可分析、持久化、高可用等特性,这篇文章主要讨论任务调度逻辑,其余的内容我们后面文章探讨。
68 0
一起谈.NET技术,Microsoft NLayerApp案例理论与实践 - 多层架构与应用系统设计原则
  在对NLayerApp实际项目进行讨论之前,让我们首先学习一下(或者应该说重温一下)分层/多层架构与应用系统设计原则。很多朋友会认为这些都是老掉牙的内容,只要是软件从业人员,都会对这些内容非常熟悉。
925 0
ML之DR之SVD:SVD算法相关论文、算法过程、代码实现、案例应用之详细攻略
ML之DR之SVD:SVD算法相关论文、算法过程、代码实现、案例应用之详细攻略
16 0
《Microsoft.NET企业级应用架构设计(第2版)》——第1章 今天的架构师和架构 1.1软件架构到底是什么
在计算机的最初年代,硬件成本远远大于软件成本。数十年之后,我们发现情况有了根本的变化。整个工业有了显著的进步,而硬件成本也急剧下降。另一方面,软件成本却大幅上升,这主要是因为开发自定义企业软件的复杂性提升了。
2531 0
ML之SVM:SVM算法的简介、应用、经典案例之详细攻略(一)
ML之SVM:SVM算法的简介、应用、经典案例之详细攻略
21 0
+关注
一个处女座的程序猿
国内互联网圈知名博主、人工智能领域优秀创作者,全球最大中文IT社区博客专家、CSDN开发者联盟生态成员、中国开源社区专家、华为云社区专家、51CTO社区专家、Python社区专家等,曾受邀采访和评审十多次。仅在国内的CSDN平台,博客文章浏览量超过2500万,拥有超过57万的粉丝。
1701
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载