• 凉风有兴,秋月无边, 亏我思娇的情绪好比度日如年。
  • 虽然我不是玉树临风,潇洒倜傥, 可是我有我广阔的胸襟,加强健的臂腕!

Deep Learning 24:读论文“Batch

网站推广 villain 4个月前 (12-09) 14次浏览 已收录 0个评论

读本篇论文 Batch-normalized Maxout Network in Network 的原因在它的mnist错误率为0.24%,世界排名第4。并且代码是用matlab写的,本人还没装cafe

理论知识

本文是台湾新竹国立交通大学的Jia-Ren Chang 写的,其实要说这篇文章有多在的创新,还真没有,实际上它就是把三篇比较新的论文的东西组合起来,分别是这三篇:

1.Network in network :ICLR 2014

2.Maxout Networks:ICML 2013

3.Batch normalization: Acceleratingdeep network training by reducing internal covariate shift :ICML 2015

把这三篇文章中的NIN、Maxout、BN组合为一个MIN模块,从而由3个MIN模块+softmax连成一个新的网络结构,见如下:

Deep Learning 24:读论文“Batch

所以,要看懂这篇论文只需要盾懂这三篇即可,所以我们非常有必要读这三篇最近几年非常经典的论文

一些matlab函数

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

函数功能: 判断输入是否是结构体数组的域(成员)。

检查结构体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 studentstructure? %dn’,isfield(student, ‘name’));
fprintf(‘Is ”salary” a field of studentstructure? %dn’,isfield(student, ‘salary’));
isfield(student, {‘name’, ‘salary’, ‘score’})
输出结果:
Is ‘name’ a field of studentstructure? 1
Is ‘salary’ a field of studentstructure? 0
ans =101

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


Villain博客 , 版权所有丨如有问题请联系客服QQ:1004619丨
转载请注明Deep Learning 24:读论文“Batch
喜欢 (0)
[gqakcom@126.com]
分享 (0)

您必须 登录 才能发表评论!