[深度学习]Hinton DBN code 代码分析

readme



开头是版权声明
后来是介绍文件中几个-ubyte结尾的是训练包,包含二进制的图片信息。


          * mnistdeepauto.m   (主要的文件,用来训练深度自动编码器) Main file for training deep autoencoder   http://blog.csdn.net/zouxy09/article/details/8775524 autoencoder的介绍。   

       minimize.m 是Conjugate Gradient code(共轭梯度代码?)下面是共轭梯度的百度百科

http://baike.baidu.com/link?url=c_MQcCF_ojfJmhtidfxcXLPUOfT6ynjrCjhs6LEXnQkbqIm-9p4qA0VuVwGUlQmz-4zq1hepFsyKmJAo61CH3hZJX4iSn-I-f8UZUwt4UBQaEozxydLtrI--wgAk7RQcUB7zFciKCwgN96CN4nnR0q

介绍某13个文件。

          * mnistclassify.m  (主要的文件,用来训练分类模型)Main file for training classification model 
          * converter.m   ( 用来让手写数据的格式转化为matlab的格式 ) Converts raw MNIST digits into matlab format
          * rbm.m ( 限制波尔兹曼机训练二进制隐藏和可见单元 )Training RBM with binary hidden and visible units
          * rbmhidlinear.m ( 训练波尔兹曼机用Gaussian隐藏和二进制可视化单元 )Training RBM with Gaussian hidden and binary visible units
          * backprop.m ( BP算法调整自动编码器 )Backpropagation for fine-tuning an autoencoder
          * backpropclassify.m ( BP算法使用编码器网络应用于分类器 )Backpropagation for classification using "encoder" network  
          * CG_MNIST.m( 共轭梯度优化算法调整自动编码器 ) Conjugate Gradient optimization for fine-tuning an autoencoder  
          * CG_CLASSIFY_INIT.m ( 共轭梯度优化算法应用于分类器 ) Conjugate Gradient optimization for classification 
        (   训练顶层权重当输入底层权重?   (training top-layer weights while holding low-level weights fixed)  
          * CG_CLASSIFY.m  (共轭梯度优化应用于分类器)Conjugate Gradient optimization for classification (training all weights)   
          * makebatches.m ( 为RBM训练创造最小批? )Creates minibatches for RBM training
          * mnistdisp.m ( 在调整时期展示进程 )Displays progress during fine-tuning stage 
          * README.txt (嗯)
   6. For training a deep autoencoder run mnistdeepauto.m in matlab.   mnistdeepauto.m 训练深度自动
   7. For training a classification model run mnistclassify.m in matlab.  mnistclassify.m  训练分类器    8. Make sure you have enough space to store the entire MNIST dataset on your disk. 保证硬盘有足够的空间留余给手写数据库
      You can also set various parameters in the code, such as maximum number of epochs, 你可以在代码里面设置不同的参数,例如epoch的最大值,学习速率,网络结构

      learning rates, network architecture, etc. 

mnistdeepauto.m 

1.初始化几个变量
2.Converting Raw files into Matlab format  (将raw file转化成Matlab格式)
-convert 子程序
 3.预训练深度自动编码器
      输出epoch的值,
  -makebatches 是为RBM创造minibatches
4.用RBM算法预训练第一层  
-rbm
5.用RBM算法预训练第2层
-rbm
6.用RBM算法预训练第3层
-rbm
7.用RBM算法预训练第4层
-rbmhidlinear
8.BP算法 
-backprop; 


convert.m

1.   t10k-images.idx3-ubyte 的读取
t10k-labels.idx1-ubyte的读取


你可能感兴趣的:([深度学习]Hinton DBN code 代码分析)