Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
cuixing158 committed Jan 31, 2020
1 parent 324f581 commit 9127c3b
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 2 deletions.
2 changes: 1 addition & 1 deletion Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
[本篇博客](https://cuixing158.github.io/2020/01/28/深度学习实战-从原理到实践/)以经典的[MNIST手写数字](http://yann.lecun.com/exdb/mnist/)识别为例,逐步一步步实现通用的深度学习网络模型架构,不调用任何第三方库和框架,使用matlab进行快速搭建、训练和测试。程序中所涉及的理论知识及使用的变量名严格按照[DNN神经网络的反向更新(BP)](https://www.cnblogs.com/huangyc/p/10000394.html)、[卷积神经网络(CNN)反向传播算法](https://www.cnblogs.com/pinard/p/6494810.html) 这两篇博客的符号和公式进行。MNIST手写数字包含60000张训练图片,10000张测试图片,图片大小为28×28,灰度图像,[官网](http://yann.lecun.com/exdb/mnist/)给出的是四个二进制存储的文件,分别为训练和测试的数据集和标签文件。假设读者已经明白所给链接博客的理论知识(不清楚可以参考更多文后的文献和程序代码中给的链接),我们接下来进行下面的具体实现。

## 网络架构设计
考虑到网络简单和易用性,根据MNIST数据集特点,设计了四层网络层,分别为conv+relu+meanPool、conv+relu+dropout、conv+relu+dropout、conv+softmax四个连续模块层。每个模块层进行串连连接,不涉及跳层结构,其中第一个模块层的conv是CNN卷积操作,卷积核大小为9×9×1×20,四维矩阵(h×w×c_in×c_out),即20个卷积核;第二个及以后模块的conv其实是全连接层,因为前面的层每个神经元都会与下一层所有神经元进行全连接,神经元个数分别人工设定为95、45、10。这三层是用BP反向传播原理进行参数更新,第一层是按照CNN的反向传播算法进行更新。网络示意图如下,示意图中只画了CNN层和一个最后模块层:
考虑到网络简单和易用性,根据MNIST数据集特点,设计了四层网络层,分别为conv+relu+meanPool、conv+relu+dropout、conv+relu+dropout、conv+softmax四个连续模块层。每个模块层进行串连连接,不涉及跳层结构,其中第一个模块层的conv是CNN卷积操作,卷积核大小为9×9×1×20,四维矩阵(h×w×c_in×c_out),即20个卷积核;第二个及以后模块的conv其实是全连接层,因为前面的层每个神经元都会与下一层所有神经元进行全连接,神经元个数分别人工设定为95、45、10。这三层是用BP反向传播原理进行参数更新,第一层是按照CNN的反向传播算法进行更新。网络示意图如下,示意图中只画了CNN层和一个最后模块层:
![img](https://github.com/cuixing158/DeeplearningPractice/blob/master/imgs/network.jpg)<br>

## 网络训练工作流程
Expand Down
1 change: 0 additions & 1 deletion train.m
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@


%% 1、数据MNISTData预处理
imageFileNameTrain = 'G:\MNIST\train-images.idx3-ubyte';
labelFileNameTtrain = 'G:\MNIST\train-labels.idx1-ubyte';
Expand Down

0 comments on commit 9127c3b

Please sign in to comment.