1. 程式人生 > >Deep Learning 24:讀論文“Batch-normalized Maxout Network in Network”——mnist錯誤率為0.24%

Deep Learning 24:讀論文“Batch-normalized Maxout Network in Network”——mnist錯誤率為0.24%

讀本篇論文“Batch-normalized Maxout Network in Network”的原因在它的mnist錯誤率為0.24%,世界排名第4。並且程式碼是用matlab寫的,本人還沒裝cafe……

 理論知識

本文是臺灣新竹國立交通大學的Jia-Ren Chang 寫的,其實要說這篇文章有多在的創新,還真沒有,實際上它就是把三篇比較新的論文的東西組合起來,分別是這三篇:

  把這三篇文章中的NIN、Maxout、BN組合為一個MIN模組,從而由3個MIN模組+softmax連成一個新的網路結構,見如下:

所以,要看懂這篇論文只需要盾懂這三篇即可,所以我們非常有必要讀這三篇最近幾年非常經典的論文。

一些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

函式功能: 判斷輸入是否是結構體陣列的域(成員)。 呼叫格式: 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

相關推薦

Deep Learning 24論文Batch-normalized Maxout Network in Network”——mnist錯誤率0.24%

讀本篇論文“Batch-normalized Maxout Network in Network”的原因在它的mnist錯誤率為0.24%,世界排名第4。並且程式碼是用matlab寫的,本人還沒裝cafe……  理論知識 本文是臺灣新竹國立交通大學的Jia-Ren Chang 寫的,其實要說這篇文章有多在

Deep Learning 26論文Maxout Networks”——ICML 2013

論文Maxout Networks實際上非常簡單,只是發現一種新的啟用函式(叫maxout)而已,跟relu有點類似,relu使用的max(x,0)是對每個通道的特徵圖的每一個單元執行的與0比較最大化操作,而maxout是對5個通道的特徵圖在通道的維度上執行最大化操作 這些論文已經有很多前人幫我們解讀了,所

Deep Learning 25論文Network in Network”——ICLR 2014

論文Network in network  (ICLR 2014)是對傳統CNN的改進,傳統的CNN就交替的卷積層和池化層的疊加,其中卷積層就是把上一層的輸出與卷積核(即濾波器)卷積,是線性變換,然後再加上一個非線性變換的啟用函式(比如:relu),但是在NIN中並有像CNN中這樣, 1.它們的區別之一是卷

Deep Learning 33論文“Densely Connected Convolutional Networks”-------DenseNet 簡單理解

1 Model created 2 ____________________________________________________________________________________________________ 3 Layer (type) Output Shape P

Deep Learning 18DBM的學習及練習_論文Deep Boltzmann Machines”的筆記

前言       論文“Deep Boltzmann Machines”是Geoffrey Hinton和他的大牛學生Ruslan Salakhutdinov在論文“Reducing the Dimensionality of Data with Neural Networks”合作後的又一次聯合發表的一篇

Deep Learning 23dropout理解_之論文“Improving neural networks by preventing co-adaptation of feature detectors”

 感覺沒什麼好說的了,該說的在引用的這兩篇部落格裡已經說得很清楚了,直接做試驗吧 注意: 1.在模型的測試階段,使用”mean network(均值網路)”來得到隱含層的輸出,其實就是在網路前向傳播到輸出層前時隱含層節點的輸出值都要減半(如果dropout的比例為p=50%),其理由如下: At

Deep Learning 16用自編碼器對資料進行降維_論文“Reducing the Dimensionality of Data with Neural Networks”的筆記

前言 筆記 摘要:高維資料可以通過一個多層神經網路把它編碼成一個低維資料,從而重建這個高維資料,其中這個神經網路的中間層神經元數是較少的,可把這個神經網路叫做自動編碼網路或自編碼器(autoencoder)。梯度下降法可用來微調這個自動編碼器的權值,但是隻有在初始化權值較好時才能得到最優解,不然就

課程一(Neural Networks and Deep Learning)總結Logistic Regression

pdf idt note hub blog bsp http learn gre -------------------------------------------------------------------------

On Deep Learning-Based Channel Decoding 論文筆記

摘要 我們重新考慮使用深度神經網路對隨機和結構化碼字(例如極性碼字)進行一次性解碼。 雖然可以為碼字族和短碼字長度實現最大後驗(MAP)誤位元速率(BER)效能,但我們觀察到(i)結構化碼字更容易學習和(ii)神經網路能夠生成在結構化訓練期間從未見過的碼字,而不是隨機碼字。 這些結果提供了一些證據,表明神經

Wide & Deep Learning for Recommender Systems 論文閱讀總結

Wide & Deep Learning for Recommender Systems 論文閱讀總結 文章目錄 Wide & Deep Learning for Recommender Systems 論文閱讀總結 Abstract

Deep Learning 36python中的一些函式

snrs, mods = map(lambda j: sorted(list(set(map(lambda x: x[j], Xd.keys())))), [1,0]) 上面這句話的意思是: Xd.keys()取出Xd中的鍵keys,形為('8PSK',-10),故snrs值為:sorted(list(set

Deep Learning 15RBM的學習

RBM是深度學習的核心,所以必須徹底清楚地理解RBM原理、推導及其訓練方法 1.讀學位論文“基於深度學習的人臉識別研究”: 對RBM、DBN的介紹比較詳細,可以作為基礎閱讀,再去讀英文論文。 2.RBM的推導: 講得非常清楚,第一重點推薦! 這個講很直白,感覺非常好!第二重點推薦,也不知道是

Deep Learning入門引數意義及對一些trick理解的總結

以下大部分都是在CIFAR10資料集使用tensorflow時獲得的經驗。 一、batch normalization batch normalization是以一個batch為整體進行歸一化,一般方法是(x-均值)/方差。 由於該方法能將圖片上的值的範圍變換致(-c,c)

機器學習(Machine Learning)與深度學習(Deep Learning)資料 之 相關論文和會議報告

介紹:對深度學習和representationlearning最新進展有興趣的同學可以瞭解一下介紹:主要是順著Bengio的PAMIreview的文章找出來的。包括幾本綜述文章,將近100篇論文,各位山頭們的Presentation。全部都可以在google上找到。介紹:20

Deep Learning-TensorFlow (12) CNN卷積神經網路_ Network in Network 學習筆記

環境:Win8.1 TensorFlow1.0.1 軟體:Anaconda3 (整合Python3及開發環境) TensorFlow安裝:pip install tensorflow (CPU版) pip install tensorflow-gpu (GPU版)

論文閱讀筆記(十一)Network In Network

hole orm 後來 entropy function ppr master 3層 上進 該論文提出了一種新穎的深度網絡結構,稱為“Network In Network”(NIN),以增強模型對感受野內local patches的辨別能力。與傳統的CNNs相比,NIN主要

Network in Network-後筆記

摘要: 提出一個NIN(網路中的網路)的深度網路結構用以增強模型在感知野在區域性影象塊的辨別力。 提出在卷積層使用非線性代替現有的線性模型。 使用一個由MLP組成的micro neural網路作為非線性模型去掃描輸入以提取特徵圖(feature map

論文翻譯】NIN層論文中英對照翻譯--(Network In Network

multipl 全球 itself 展示 假設 intro this muti function 【論文翻譯】NIN層論文中英對照翻譯--(Network In Network) 【開始時間】2018.09.27 【完成時間】2018.1

論文deep Learning 深度學習合集

Deep Learning Very Deep Convolutional Networks for Large-Scale Image Recognition ICLR 2015 問題 網路模型不夠深 方法** 用3個 3x3的核 替換

#原始碼+論文# 三維點雲分割Deep Learning Based Semantic Labelling of 3D Point Cloud in Visual SLAM

from Deep Learning Based Semantic Labelling of 3D Point Cloud in Visual SLAM 超體素方法進行預分割,將點雲根據相似性變成表層面片(surface patches)降低計算複雜度。