Deep Learning 24:读论文“Batch-normalized Maxout Network in Network”——mnist错误率为0.24%
2016-09-29 14:21
381 查看
读本篇论文“Batch-normalized Maxout Network in Network”的原因在它的mnist错误率为0.24%,世界排名第4。并且代码是用matlab写的,本人还没装cafe……
[b] 理论知识[/b]
本文是台湾新竹国立交通大学的Jia-Ren Chang 写的,其实要说这篇文章有多在的创新,还真没有,实际上它就是把三篇比较新的论文的东西组合起来,分别是这三篇:
1.Network in network :ICLR 2014
2.Maxout Networks :ICML 2013
3.Batch normalization: Accelerating deep network training by reducing internal covariate shift :ICML 2015
把这三篇文章中的NIN、Maxout、BN组合为一个MIN模块,从而由3个MIN模块+softmax连成一个新的网络结构,见如下:
所以,要看懂这篇论文只需要盾懂这三篇即可,所以我们非常有必要读这三篇最近几年非常经典的论文。
[b]一些matlab函数[/b]
fullfile
fileparts
函数功能:在FreeMat、Matlab中,该函数用于将一个文件的完整路径中各部分提取出来。
语法格式:
[pathstr, name, ext, versn] = fileparts(filename)
其中filename是要解析的文件的完整路径,例如:E:\games\IGI\bin\IGI.exe。fileparts将这个文件名(包含完整路径信息)各部分分别提取到四个变量中。
其中pathstr是这个文件的路径名,name是文件名,ext是包含一个点号文件的扩展名(指定了文件的类型)。matlab帮助文档中指明,第四个参数将在未来版本中舍弃。
>> filename = 'E:\games\IGI\bin\IGI.exe';
>> [pathstr, name, ext, versn] = fileparts(filename)
pathstr =E:\games\IGI\bin
name =IGI
ext =.exe
versn = ''
mfilename
函数功能: 返回当前正在运行的函数所在文件的路径。
语法格式:
mfilename
p = mfilename('fullpath')
c = mfilename('class')
若在函数内部要获取自己的全路径,也可以使用
比如运行startup.m函数时:
注意mfilename返回的值不带文件类型后缀
isfield
函数功能: 判断输入是否是结构体数组的域(成员)。
调用格式:
tf = isfield(S, 'fieldname')
检查结构体S是否包含由fieldname指定的域, 如果包含, 返回逻辑1; 如果S不包含fieldname域或者S不是结构体类型的, 返回逻辑0。
程序示例
close all; clear; clc;
student = struct('name', 'John', 'age', 20, 'score', 90);
fprintf('Is ''name'' a field of student structure? %dn',isfield(student, 'name'));
fprintf('Is ''salary'' a field of student structure? %dn',isfield(student, 'salary'));
isfield(student, {'name', 'salary', 'score'})
输出结果:
Is 'name' a field of student structure? 1
Is 'salary' a field of student structure? 0
ans = 1 0 1
arrayfun函数用于对数组中每个元素进行相同的函数操作。
sprintf('%03d',i),是将数字转化为字符串,03的意思是要变成3位数,不足3位的前面补零。
4.从原代码中可看出结构:
conv1--BN--maxout layer1(maxoutconv1--BN--maxout)--maxoutlayer2(maxoutconv2--BN--maxout--pool1--dropout)--
conv2--BN--maxout layer1(maxoutconv3--BN--maxout)--maxoutlayer2(maxoutconv4--BN--maxout--pool2--dropout)--
conv3--BN--maxout layer1(maxoutconv5--BN--maxout)--maxoutlayer2(maxoutconv6--BN--maxout--pool3)-----softmax
[b] 理论知识[/b]
本文是台湾新竹国立交通大学的Jia-Ren Chang 写的,其实要说这篇文章有多在的创新,还真没有,实际上它就是把三篇比较新的论文的东西组合起来,分别是这三篇:
1.Network in network :ICLR 2014
2.Maxout Networks :ICML 2013
3.Batch normalization: Accelerating deep network training by reducing internal covariate shift :ICML 2015
把这三篇文章中的NIN、Maxout、BN组合为一个MIN模块,从而由3个MIN模块+softmax连成一个新的网络结构,见如下:
所以,要看懂这篇论文只需要盾懂这三篇即可,所以我们非常有必要读这三篇最近几年非常经典的论文。
[b]一些matlab函数[/b]
fullfile
fullfile函数作用是利用文件各部分信息创建并合成完整文件名。 用法: fullfile('dir1', 'dir2', ..., 'filename') f = fullfile('dir1', 'dir2', ..., 'filename') 具体例子: 输入:f = fullfile('C:','Applications','matlab','fun.m') 得到:f =C:\Applications\matlab\fun.m
fileparts
函数功能:在FreeMat、Matlab中,该函数用于将一个文件的完整路径中各部分提取出来。
语法格式:
[pathstr, name, ext, versn] = fileparts(filename)
其中filename是要解析的文件的完整路径,例如:E:\games\IGI\bin\IGI.exe。fileparts将这个文件名(包含完整路径信息)各部分分别提取到四个变量中。
其中pathstr是这个文件的路径名,name是文件名,ext是包含一个点号文件的扩展名(指定了文件的类型)。matlab帮助文档中指明,第四个参数将在未来版本中舍弃。
>> filename = 'E:\games\IGI\bin\IGI.exe';
>> [pathstr, name, ext, versn] = fileparts(filename)
pathstr =E:\games\IGI\bin
name =IGI
ext =.exe
versn = ''
mfilename
函数功能: 返回当前正在运行的函数所在文件的路径。
语法格式:
mfilename
p = mfilename('fullpath')
c = mfilename('class')
若在函数内部要获取自己的全路径,也可以使用
mfilename函数:
比如运行startup.m函数时:
a = mfilename('fullpath'); % a = 'D:\Program Files\MATLAB\toolbox\local\startup'
注意mfilename返回的值不带文件类型后缀
isfield
函数功能: 判断输入是否是结构体数组的域(成员)。
调用格式:
tf = isfield(S, 'fieldname')
检查结构体S是否包含由fieldname指定的域, 如果包含, 返回逻辑1; 如果S不包含fieldname域或者S不是结构体类型的, 返回逻辑0。
程序示例
close all; clear; clc;
student = struct('name', 'John', 'age', 20, 'score', 90);
fprintf('Is ''name'' a field of student structure? %dn',isfield(student, 'name'));
fprintf('Is ''salary'' a field of student structure? %dn',isfield(student, 'salary'));
isfield(student, {'name', 'salary', 'score'})
输出结果:
Is 'name' a field of student structure? 1
Is 'salary' a field of student structure? 0
ans = 1 0 1
arrayfun函数用于对数组中每个元素进行相同的函数操作。
sprintf('%03d',i),是将数字转化为字符串,03的意思是要变成3位数,不足3位的前面补零。
4.从原代码中可看出结构:
conv1--BN--maxout layer1(maxoutconv1--BN--maxout)--maxoutlayer2(maxoutconv2--BN--maxout--pool1--dropout)--
conv2--BN--maxout layer1(maxoutconv3--BN--maxout)--maxoutlayer2(maxoutconv4--BN--maxout--pool2--dropout)--
conv3--BN--maxout layer1(maxoutconv5--BN--maxout)--maxoutlayer2(maxoutconv6--BN--maxout--pool3)-----softmax
相关文章推荐
- 论文笔记 《Maxout Networks》 && 《Network In Network》
- 论文笔记 《Maxout Networks》 && 《Network In Network》
- Deep Learning 25:读论文“Network in Network”——ICLR 2014
- Maxout & Network in Network
- Deep Learning 26:读论文“Maxout Networks”——ICML 2013
- 「Deep Learning」Dropout - Drop out the Units in a Neural Network
- 深度学习方法(十):卷积神经网络结构变化——Maxout Networks,Network In Network,Global Average Pooling
- 深度学习方法(十):卷积神经网络结构变化——Maxout Networks,Network In Network,Global Average Pooling
- 论文笔记:《maxout networks》和《networks in networks》
- Deep Learning 27:Batch normalization理解——读论文“Batch normalization: Accelerating deep network training by reducing internal covariate shift ”——ICML 2015
- 论文阅读学习 - CTPN-Detecting Text in Natural Image with Connectionist Text Proposal Network
- 知识蒸馏(Distillation)相关论文阅读(1)——Distilling the Knowledge in a Neural Network(以及代码复现)
- ctpn-Detecting Text in Natural Image with Connectionist Text Proposal Network 论文解读
- [论文解读] 3D Fully Convolutional Network for Vehicle Detection in Point Cloud
- Deep Learning 28:读论文“Multi Column Deep Neural Network for Traffic Sign Classification”-------MCDNN 简单理解
- 【CV论文阅读】Network in Network
- 论文:Distilling the Knowledge in a Neural Network
- 论文阅读(Weilin Huang——【arXiv2016】Accurate Text Localization in Natural Image with Cascaded Convolutional Text Network)
- 论文阅读:Network in Network
- Distilling the Knowledge in a Neural Network[论文阅读笔记]