Mercurial > ift6266
annotate writeup/mlj_submission/mlj_submission.tex @ 587:b1be957dd1be
Added mlj_submission to group every file needed for that.
author | fsavard |
---|---|
date | Thu, 30 Sep 2010 17:51:02 -0400 |
parents | |
children | 8bd4ff0c5c05 |
rev | line source |
---|---|
587
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1 \RequirePackage{fix-cm} % from template |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
2 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
3 %\documentclass{article} % For LaTeX2e |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
4 \documentclass[smallcondensed]{svjour3} % onecolumn (ditto) |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
5 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
6 \usepackage{times} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
7 \usepackage{wrapfig} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
8 %\usepackage{amsthm} % not to be used with springer tools |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
9 \usepackage{amsmath} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
10 \usepackage{bbm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
11 \usepackage[psamsfonts]{amssymb} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
12 %\usepackage{algorithm,algorithmic} % not used after all |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
13 \usepackage[utf8]{inputenc} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
14 \usepackage{graphicx,subfigure} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
15 \usepackage{natbib} % was [numbers]{natbib} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
16 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
17 \addtolength{\textwidth}{10mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
18 \addtolength{\evensidemargin}{-5mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
19 \addtolength{\oddsidemargin}{-5mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
20 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
21 %\setlength\parindent{0mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
22 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
23 \title{Deep Self-Taught Learning for Handwritten Character Recognition} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
24 \author{ |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
25 Yoshua Bengio \and |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
26 Frédéric Bastien \and |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
27 Arnaud Bergeron \and |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
28 Nicolas Boulanger-Lewandowski \and |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
29 Thomas Breuel \and |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
30 Youssouf Chherawala \and |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
31 Moustapha Cisse \and |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
32 Myriam Côté \and |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
33 Dumitru Erhan \and |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
34 Jeremy Eustache \and |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
35 Xavier Glorot \and |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
36 Xavier Muller \and |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
37 Sylvain Pannetier Lebeuf \and |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
38 Razvan Pascanu \and |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
39 Salah Rifai \and |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
40 Francois Savard \and |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
41 Guillaume Sicard |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
42 } |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
43 \date{September 30th, submission to MLJ special issue on learning from multi-label data} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
44 \journalname{Machine Learning Journal} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
45 \institute{Frédéric Bastien \and \\ |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
46 Yoshua Bengio \and \\ |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
47 Arnaud Bergeron \and \\ |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
48 Nicolas Boulanger-Lewandowski \and \\ |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
49 Youssouf Chherawala \and \\ |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
50 Moustapha Cisse \and \\ |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
51 Myriam Côté \and \\ |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
52 Dumitru Erhan \and \\ |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
53 Jeremy Eustache \and \\ |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
54 Xavier Glorot \and \\ |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
55 Xavier Muller \and \\ |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
56 Sylvain Pannetier-Lebeuf \and \\ |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
57 Razvan Pascanu \and \\ |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
58 Salah Rifai \and \\ |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
59 Francois Savard \and \\ |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
60 Guillaume Sicard \at |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
61 Dept. IRO, Universite de Montreal, C.P. 6128, Montreal, QC, H3C 3J7, Canada\\ |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
62 \email{yoshua.bengio@umontreal.ca} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
63 \and |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
64 Thomas Breuel \at |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
65 Department of Computer Science, University of Kaiserslautern, Postfach 3049, 67653 Kaiserslautern, Germany |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
66 } |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
67 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
68 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
69 \begin{document} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
70 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
71 %\makeanontitle |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
72 \maketitle |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
73 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
74 %\vspace*{-2mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
75 \begin{abstract} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
76 Recent theoretical and empirical work in statistical machine learning has demonstrated the importance of learning algorithms for deep architectures, i.e., function classes obtained by composing multiple non-linear transformations. Self-taught learning (exploiting unlabeled examples or examples from other distributions) has already been applied to deep learners, but mostly to show the advantage of unlabeled examples. Here we explore the advantage brought by {\em out-of-distribution examples}. For this purpose we developed a powerful generator of stochastic variations and noise processes for character images, including not only affine transformations but also slant, local elastic deformations, changes in thickness, background images, grey level changes, contrast, occlusion, and various types of noise. The out-of-distribution examples are obtained from these highly distorted images or by including examples of object classes different from those in the target test set. We show that {\em deep learners benefit more from out-of-distribution examples than a corresponding shallow learner}, at least in the area of handwritten character recognition. In fact, we show that they beat previously published results and reach human-level performance on both handwritten digit classification and 62-class handwritten character recognition. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
77 \end{abstract} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
78 %\vspace*{-3mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
79 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
80 Keywords: self-taught learning, multi-task learning, out-of-distribution examples, deep learning, handwriting recognition. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
81 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
82 \section{Introduction} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
83 %\vspace*{-1mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
84 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
85 {\bf Deep Learning} has emerged as a promising new area of research in |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
86 statistical machine learning (see \citet{Bengio-2009} for a review). |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
87 Learning algorithms for deep architectures are centered on the learning |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
88 of useful representations of data, which are better suited to the task at hand, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
89 and are organized in a hierarchy with multiple levels. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
90 This is in part inspired by observations of the mammalian visual cortex, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
91 which consists of a chain of processing elements, each of which is associated with a |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
92 different representation of the raw visual input. In fact, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
93 it was found recently that the features learnt in deep architectures resemble |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
94 those observed in the first two of these stages (in areas V1 and V2 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
95 of visual cortex) \citep{HonglakL2008}, and that they become more and |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
96 more invariant to factors of variation (such as camera movement) in |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
97 higher layers~\citep{Goodfellow2009}. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
98 Learning a hierarchy of features increases the |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
99 ease and practicality of developing representations that are at once |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
100 tailored to specific tasks, yet are able to borrow statistical strength |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
101 from other related tasks (e.g., modeling different kinds of objects). Finally, learning the |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
102 feature representation can lead to higher-level (more abstract, more |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
103 general) features that are more robust to unanticipated sources of |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
104 variance extant in real data. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
105 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
106 {\bf Self-taught learning}~\citep{RainaR2007} is a paradigm that combines principles |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
107 of semi-supervised and multi-task learning: the learner can exploit examples |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
108 that are unlabeled and possibly come from a distribution different from the target |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
109 distribution, e.g., from other classes than those of interest. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
110 It has already been shown that deep learners can clearly take advantage of |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
111 unsupervised learning and unlabeled examples~\citep{Bengio-2009,WestonJ2008-small}, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
112 but more needs to be done to explore the impact |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
113 of {\em out-of-distribution} examples and of the {\em multi-task} setting |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
114 (one exception is~\citep{CollobertR2008}, which uses a different kind |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
115 of learning algorithm). In particular the {\em relative |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
116 advantage of deep learning} for these settings has not been evaluated. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
117 The hypothesis discussed in the conclusion is that in the context of |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
118 multi-task learning and the availability of out-of-distribution training examples, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
119 a deep hierarchy of features |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
120 may be better able to provide sharing of statistical strength |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
121 between different regions in input space or different tasks, compared to |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
122 a shallow learner. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
123 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
124 Whereas a deep architecture can in principle be more powerful than a |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
125 shallow one in terms of representation, depth appears to render the |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
126 training problem more difficult in terms of optimization and local minima. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
127 It is also only recently that successful algorithms were proposed to |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
128 overcome some of these difficulties. All are based on unsupervised |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
129 learning, often in an greedy layer-wise ``unsupervised pre-training'' |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
130 stage~\citep{Bengio-2009}. One of these layer initialization techniques, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
131 applied here, is the Denoising |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
132 Auto-encoder~(DA)~\citep{VincentPLarochelleH2008-very-small} (see Figure~\ref{fig:da}), |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
133 which |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
134 performed similarly or better than previously proposed Restricted Boltzmann |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
135 Machines in terms of unsupervised extraction of a hierarchy of features |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
136 useful for classification. Each layer is trained to denoise its |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
137 input, creating a layer of features that can be used as input for the next layer. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
138 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
139 %The principle is that each layer starting from |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
140 %the bottom is trained to encode its input (the output of the previous |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
141 %layer) and to reconstruct it from a corrupted version. After this |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
142 %unsupervised initialization, the stack of DAs can be |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
143 %converted into a deep supervised feedforward neural network and fine-tuned by |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
144 %stochastic gradient descent. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
145 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
146 % |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
147 In this paper we ask the following questions: |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
148 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
149 %\begin{enumerate} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
150 $\bullet$ %\item |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
151 Do the good results previously obtained with deep architectures on the |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
152 MNIST digit images generalize to the setting of a much larger and richer (but similar) |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
153 dataset, the NIST special database 19, with 62 classes and around 800k examples? |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
154 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
155 $\bullet$ %\item |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
156 To what extent does the perturbation of input images (e.g. adding |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
157 noise, affine transformations, background images) make the resulting |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
158 classifiers better not only on similarly perturbed images but also on |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
159 the {\em original clean examples}? We study this question in the |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
160 context of the 62-class and 10-class tasks of the NIST special database 19. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
161 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
162 $\bullet$ %\item |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
163 Do deep architectures {\em benefit {\bf more} from such out-of-distribution} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
164 examples, i.e. do they benefit more from the self-taught learning~\citep{RainaR2007} framework? |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
165 We use highly perturbed examples to generate out-of-distribution examples. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
166 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
167 $\bullet$ %\item |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
168 Similarly, does the feature learning step in deep learning algorithms benefit {\bf more} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
169 from training with moderately {\em different classes} (i.e. a multi-task learning scenario) than |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
170 a corresponding shallow and purely supervised architecture? |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
171 We train on 62 classes and test on 10 (digits) or 26 (upper case or lower case) |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
172 to answer this question. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
173 %\end{enumerate} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
174 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
175 Our experimental results provide positive evidence towards all of these questions, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
176 as well as classifiers that reach human-level performance on 62-class isolated character |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
177 recognition and beat previously published results on the NIST dataset (special database 19). |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
178 To achieve these results, we introduce in the next section a sophisticated system |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
179 for stochastically transforming character images and then explain the methodology, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
180 which is based on training with or without these transformed images and testing on |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
181 clean ones. We measure the relative advantage of out-of-distribution examples |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
182 (perturbed or out-of-class) |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
183 for a deep learner vs a supervised shallow one. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
184 Code for generating these transformations as well as for the deep learning |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
185 algorithms are made available at {\tt http://hg.assembla.com/ift6266}. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
186 We estimate the relative advantage for deep learners of training with |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
187 other classes than those of interest, by comparing learners trained with |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
188 62 classes with learners trained with only a subset (on which they |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
189 are then tested). |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
190 The conclusion discusses |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
191 the more general question of why deep learners may benefit so much from |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
192 the self-taught learning framework. Since out-of-distribution data |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
193 (perturbed or from other related classes) is very common, this conclusion |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
194 is of practical importance. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
195 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
196 %\vspace*{-3mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
197 %\newpage |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
198 \section{Perturbed and Transformed Character Images} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
199 \label{s:perturbations} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
200 %\vspace*{-2mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
201 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
202 \begin{wrapfigure}[8]{l}{0.15\textwidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
203 %\begin{minipage}[b]{0.14\linewidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
204 %\vspace*{-5mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
205 \begin{center} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
206 \includegraphics[scale=.4]{Original.png}\\ |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
207 {\bf Original} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
208 \end{center} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
209 \end{wrapfigure} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
210 %%\vspace{0.7cm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
211 %\end{minipage}% |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
212 %\hspace{0.3cm}\begin{minipage}[b]{0.86\linewidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
213 This section describes the different transformations we used to stochastically |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
214 transform $32 \times 32$ source images (such as the one on the left) |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
215 in order to obtain data from a larger distribution which |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
216 covers a domain substantially larger than the clean characters distribution from |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
217 which we start. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
218 Although character transformations have been used before to |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
219 improve character recognizers, this effort is on a large scale both |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
220 in number of classes and in the complexity of the transformations, hence |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
221 in the complexity of the learning task. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
222 The code for these transformations (mostly python) is available at |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
223 {\tt http://hg.assembla.com/ift6266}. All the modules in the pipeline share |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
224 a global control parameter ($0 \le complexity \le 1$) that allows one to modulate the |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
225 amount of deformation or noise introduced. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
226 There are two main parts in the pipeline. The first one, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
227 from slant to pinch below, performs transformations. The second |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
228 part, from blur to contrast, adds different kinds of noise. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
229 %\end{minipage} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
230 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
231 %\vspace*{1mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
232 \subsection{Transformations} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
233 %{\large\bf 2.1 Transformations} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
234 %\vspace*{1mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
235 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
236 \subsubsection*{Thickness} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
237 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
238 %\begin{wrapfigure}[7]{l}{0.15\textwidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
239 \begin{minipage}[b]{0.14\linewidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
240 %\centering |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
241 \begin{center} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
242 \vspace*{-5mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
243 \includegraphics[scale=.4]{Thick_only.png}\\ |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
244 %{\bf Thickness} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
245 \end{center} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
246 \vspace{.6cm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
247 \end{minipage}% |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
248 \hspace{0.3cm}\begin{minipage}[b]{0.86\linewidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
249 %\end{wrapfigure} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
250 To change character {\bf thickness}, morphological operators of dilation and erosion~\citep{Haralick87,Serra82} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
251 are applied. The neighborhood of each pixel is multiplied |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
252 element-wise with a {\em structuring element} matrix. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
253 The pixel value is replaced by the maximum or the minimum of the resulting |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
254 matrix, respectively for dilation or erosion. Ten different structural elements with |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
255 increasing dimensions (largest is $5\times5$) were used. For each image, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
256 randomly sample the operator type (dilation or erosion) with equal probability and one structural |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
257 element from a subset of the $n=round(m \times complexity)$ smallest structuring elements |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
258 where $m=10$ for dilation and $m=6$ for erosion (to avoid completely erasing thin characters). |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
259 A neutral element (no transformation) |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
260 is always present in the set. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
261 %%\vspace{.4cm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
262 \end{minipage} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
263 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
264 \vspace{2mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
265 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
266 \subsubsection*{Slant} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
267 \vspace*{2mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
268 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
269 \begin{minipage}[b]{0.14\linewidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
270 \centering |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
271 \includegraphics[scale=.4]{Slant_only.png}\\ |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
272 %{\bf Slant} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
273 \end{minipage}% |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
274 \hspace{0.3cm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
275 \begin{minipage}[b]{0.83\linewidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
276 %\centering |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
277 To produce {\bf slant}, each row of the image is shifted |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
278 proportionally to its height: $shift = round(slant \times height)$. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
279 $slant \sim U[-complexity,complexity]$. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
280 The shift is randomly chosen to be either to the left or to the right. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
281 \vspace{5mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
282 \end{minipage} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
283 %\vspace*{-4mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
284 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
285 %\newpage |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
286 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
287 \subsubsection*{Affine Transformations} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
288 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
289 \begin{minipage}[b]{0.14\linewidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
290 %\centering |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
291 %\begin{wrapfigure}[8]{l}{0.15\textwidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
292 \begin{center} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
293 \includegraphics[scale=.4]{Affine_only.png} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
294 \vspace*{6mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
295 %{\small {\bf Affine \mbox{Transformation}}} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
296 \end{center} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
297 %\end{wrapfigure} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
298 \end{minipage}% |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
299 \hspace{0.3cm}\begin{minipage}[b]{0.86\linewidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
300 \noindent A $2 \times 3$ {\bf affine transform} matrix (with |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
301 parameters $(a,b,c,d,e,f)$) is sampled according to the $complexity$. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
302 Output pixel $(x,y)$ takes the value of input pixel |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
303 nearest to $(ax+by+c,dx+ey+f)$, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
304 producing scaling, translation, rotation and shearing. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
305 Marginal distributions of $(a,b,c,d,e,f)$ have been tuned to |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
306 forbid large rotations (to avoid confusing classes) but to give good |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
307 variability of the transformation: $a$ and $d$ $\sim U[1-3 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
308 complexity,1+3\,complexity]$, $b$ and $e$ $\sim U[-3 \,complexity,3\, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
309 complexity]$, and $c$ and $f \sim U[-4 \,complexity, 4 \, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
310 complexity]$.\\ |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
311 \end{minipage} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
312 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
313 %\vspace*{-4.5mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
314 \subsubsection*{Local Elastic Deformations} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
315 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
316 %\begin{minipage}[t]{\linewidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
317 %\begin{wrapfigure}[7]{l}{0.15\textwidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
318 %\hspace*{-8mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
319 \begin{minipage}[b]{0.14\linewidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
320 %\centering |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
321 \begin{center} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
322 \vspace*{5mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
323 \includegraphics[scale=.4]{Localelasticdistorsions_only.png} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
324 %{\bf Local Elastic Deformation} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
325 \end{center} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
326 %\end{wrapfigure} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
327 \end{minipage}% |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
328 \hspace{3mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
329 \begin{minipage}[b]{0.85\linewidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
330 %%\vspace*{-20mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
331 The {\bf local elastic deformation} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
332 module induces a ``wiggly'' effect in the image, following~\citet{SimardSP03-short}, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
333 which provides more details. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
334 The intensity of the displacement fields is given by |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
335 $\alpha = \sqrt[3]{complexity} \times 10.0$, which are |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
336 convolved with a Gaussian 2D kernel (resulting in a blur) of |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
337 standard deviation $\sigma = 10 - 7 \times\sqrt[3]{complexity}$. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
338 \vspace{2mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
339 \end{minipage} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
340 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
341 \vspace*{4mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
342 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
343 \subsubsection*{Pinch} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
344 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
345 \begin{minipage}[b]{0.14\linewidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
346 %\centering |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
347 %\begin{wrapfigure}[7]{l}{0.15\textwidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
348 %\vspace*{-5mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
349 \begin{center} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
350 \includegraphics[scale=.4]{Pinch_only.png}\\ |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
351 \vspace*{15mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
352 %{\bf Pinch} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
353 \end{center} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
354 %\end{wrapfigure} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
355 %%\vspace{.6cm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
356 \end{minipage}% |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
357 \hspace{0.3cm}\begin{minipage}[b]{0.86\linewidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
358 The {\bf pinch} module applies the ``Whirl and pinch'' GIMP filter with whirl set to 0. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
359 A pinch is ``similar to projecting the image onto an elastic |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
360 surface and pressing or pulling on the center of the surface'' (GIMP documentation manual). |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
361 For a square input image, draw a radius-$r$ disk |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
362 around its center $C$. Any pixel $P$ belonging to |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
363 that disk has its value replaced by |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
364 the value of a ``source'' pixel in the original image, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
365 on the line that goes through $C$ and $P$, but |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
366 at some other distance $d_2$. Define $d_1=distance(P,C)$ |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
367 and $d_2 = sin(\frac{\pi{}d_1}{2r})^{-pinch} \times |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
368 d_1$, where $pinch$ is a parameter of the filter. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
369 The actual value is given by bilinear interpolation considering the pixels |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
370 around the (non-integer) source position thus found. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
371 Here $pinch \sim U[-complexity, 0.7 \times complexity]$. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
372 %%\vspace{1.5cm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
373 \end{minipage} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
374 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
375 %\vspace{1mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
376 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
377 %{\large\bf 2.2 Injecting Noise} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
378 \subsection{Injecting Noise} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
379 %\vspace{2mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
380 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
381 \subsubsection*{Motion Blur} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
382 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
383 %%\vspace*{-.2cm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
384 \begin{minipage}[t]{0.14\linewidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
385 \centering |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
386 \vspace*{0mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
387 \includegraphics[scale=.4]{Motionblur_only.png} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
388 %{\bf Motion Blur} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
389 \end{minipage}% |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
390 \hspace{0.3cm}\begin{minipage}[t]{0.83\linewidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
391 %%\vspace*{.5mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
392 \vspace*{2mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
393 The {\bf motion blur} module is GIMP's ``linear motion blur'', which |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
394 has parameters $length$ and $angle$. The value of |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
395 a pixel in the final image is approximately the mean of the first $length$ pixels |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
396 found by moving in the $angle$ direction, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
397 $angle \sim U[0,360]$ degrees, and $length \sim {\rm Normal}(0,(3 \times complexity)^2)$. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
398 %\vspace{5mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
399 \end{minipage} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
400 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
401 %\vspace*{1mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
402 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
403 \subsubsection*{Occlusion} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
404 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
405 \begin{minipage}[t]{0.14\linewidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
406 \centering |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
407 \vspace*{3mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
408 \includegraphics[scale=.4]{occlusion_only.png}\\ |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
409 %{\bf Occlusion} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
410 %%\vspace{.5cm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
411 \end{minipage}% |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
412 \hspace{0.3cm}\begin{minipage}[t]{0.83\linewidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
413 %\vspace*{-18mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
414 The {\bf occlusion} module selects a random rectangle from an {\em occluder} character |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
415 image and places it over the original {\em occluded} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
416 image. Pixels are combined by taking the max(occluder, occluded), |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
417 i.e. keeping the lighter ones. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
418 The rectangle corners |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
419 are sampled so that larger complexity gives larger rectangles. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
420 The destination position in the occluded image are also sampled |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
421 according to a normal distribution. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
422 This module is skipped with probability 60\%. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
423 %%\vspace{7mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
424 \end{minipage} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
425 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
426 %\vspace*{1mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
427 \subsubsection*{Gaussian Smoothing} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
428 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
429 %\begin{wrapfigure}[8]{l}{0.15\textwidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
430 %\vspace*{-6mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
431 \begin{minipage}[t]{0.14\linewidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
432 \begin{center} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
433 %\centering |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
434 \vspace*{6mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
435 \includegraphics[scale=.4]{Bruitgauss_only.png} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
436 %{\bf Gaussian Smoothing} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
437 \end{center} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
438 %\end{wrapfigure} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
439 %%\vspace{.5cm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
440 \end{minipage}% |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
441 \hspace{0.3cm}\begin{minipage}[t]{0.86\linewidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
442 With the {\bf Gaussian smoothing} module, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
443 different regions of the image are spatially smoothed. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
444 This is achieved by first convolving |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
445 the image with an isotropic Gaussian kernel of |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
446 size and variance chosen uniformly in the ranges $[12,12 + 20 \times |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
447 complexity]$ and $[2,2 + 6 \times complexity]$. This filtered image is normalized |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
448 between $0$ and $1$. We also create an isotropic weighted averaging window, of the |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
449 kernel size, with maximum value at the center. For each image we sample |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
450 uniformly from $3$ to $3 + 10 \times complexity$ pixels that will be |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
451 averaging centers between the original image and the filtered one. We |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
452 initialize to zero a mask matrix of the image size. For each selected pixel |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
453 we add to the mask the averaging window centered on it. The final image is |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
454 computed from the following element-wise operation: $\frac{image + filtered\_image |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
455 \times mask}{mask+1}$. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
456 This module is skipped with probability 75\%. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
457 \end{minipage} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
458 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
459 %\newpage |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
460 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
461 %\vspace*{-9mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
462 \subsubsection*{Permute Pixels} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
463 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
464 %\hspace*{-3mm}\begin{minipage}[t]{0.18\linewidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
465 %\centering |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
466 \begin{minipage}[t]{0.14\textwidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
467 %\begin{wrapfigure}[7]{l}{ |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
468 %\vspace*{-5mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
469 \begin{center} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
470 \vspace*{1mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
471 \includegraphics[scale=.4]{Permutpixel_only.png} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
472 %{\small\bf Permute Pixels} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
473 \end{center} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
474 %\end{wrapfigure} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
475 \end{minipage}% |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
476 \hspace{3mm}\begin{minipage}[t]{0.86\linewidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
477 \vspace*{1mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
478 %%\vspace*{-20mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
479 This module {\bf permutes neighbouring pixels}. It first selects a |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
480 fraction $\frac{complexity}{3}$ of pixels randomly in the image. Each |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
481 of these pixels is then sequentially exchanged with a random pixel |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
482 among its four nearest neighbors (on its left, right, top or bottom). |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
483 This module is skipped with probability 80\%.\\ |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
484 %\vspace*{1mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
485 \end{minipage} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
486 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
487 %\vspace{-3mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
488 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
489 \subsubsection*{Gaussian Noise} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
490 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
491 \begin{minipage}[t]{0.14\textwidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
492 %\begin{wrapfigure}[7]{l}{ |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
493 %%\vspace*{-3mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
494 \begin{center} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
495 %\hspace*{-3mm}\begin{minipage}[t]{0.18\linewidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
496 %\centering |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
497 \vspace*{0mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
498 \includegraphics[scale=.4]{Distorsiongauss_only.png} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
499 %{\small \bf Gauss. Noise} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
500 \end{center} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
501 %\end{wrapfigure} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
502 \end{minipage}% |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
503 \hspace{0.3cm}\begin{minipage}[t]{0.86\linewidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
504 \vspace*{1mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
505 %\vspace*{12mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
506 The {\bf Gaussian noise} module simply adds, to each pixel of the image independently, a |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
507 noise $\sim Normal(0,(\frac{complexity}{10})^2)$. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
508 This module is skipped with probability 70\%. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
509 %%\vspace{1.1cm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
510 \end{minipage} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
511 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
512 %\vspace*{1.2cm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
513 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
514 \subsubsection*{Background Image Addition} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
515 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
516 \begin{minipage}[t]{\linewidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
517 \begin{minipage}[t]{0.14\linewidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
518 \centering |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
519 \vspace*{0mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
520 \includegraphics[scale=.4]{background_other_only.png} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
521 %{\small \bf Bg Image} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
522 \end{minipage}% |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
523 \hspace{0.3cm}\begin{minipage}[t]{0.83\linewidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
524 \vspace*{1mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
525 Following~\citet{Larochelle-jmlr-2009}, the {\bf background image} module adds a random |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
526 background image behind the letter, from a randomly chosen natural image, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
527 with contrast adjustments depending on $complexity$, to preserve |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
528 more or less of the original character image. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
529 %%\vspace{.8cm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
530 \end{minipage} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
531 \end{minipage} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
532 %%\vspace{-.7cm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
533 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
534 \subsubsection*{Salt and Pepper Noise} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
535 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
536 \begin{minipage}[t]{0.14\linewidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
537 \centering |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
538 \vspace*{0mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
539 \includegraphics[scale=.4]{Poivresel_only.png} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
540 %{\small \bf Salt \& Pepper} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
541 \end{minipage}% |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
542 \hspace{0.3cm}\begin{minipage}[t]{0.83\linewidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
543 \vspace*{1mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
544 The {\bf salt and pepper noise} module adds noise $\sim U[0,1]$ to random subsets of pixels. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
545 The number of selected pixels is $0.2 \times complexity$. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
546 This module is skipped with probability 75\%. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
547 %%\vspace{.9cm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
548 \end{minipage} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
549 %%\vspace{-.7cm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
550 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
551 %\vspace{1mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
552 \subsubsection*{Scratches} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
553 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
554 \begin{minipage}[t]{0.14\textwidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
555 %\begin{wrapfigure}[7]{l}{ |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
556 %\begin{minipage}[t]{0.14\linewidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
557 %\centering |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
558 \begin{center} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
559 \vspace*{4mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
560 %\hspace*{-1mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
561 \includegraphics[scale=.4]{Rature_only.png}\\ |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
562 %{\bf Scratches} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
563 \end{center} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
564 \end{minipage}% |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
565 %\end{wrapfigure} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
566 \hspace{0.3cm}\begin{minipage}[t]{0.86\linewidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
567 %%\vspace{.4cm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
568 The {\bf scratches} module places line-like white patches on the image. The |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
569 lines are heavily transformed images of the digit ``1'' (one), chosen |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
570 at random among 500 such 1 images, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
571 randomly cropped and rotated by an angle $\sim Normal(0,(100 \times |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
572 complexity)^2$ (in degrees), using bi-cubic interpolation. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
573 Two passes of a grey-scale morphological erosion filter |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
574 are applied, reducing the width of the line |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
575 by an amount controlled by $complexity$. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
576 This module is skipped with probability 85\%. The probabilities |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
577 of applying 1, 2, or 3 patches are (50\%,30\%,20\%). |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
578 \end{minipage} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
579 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
580 %\vspace*{1mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
581 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
582 \subsubsection*{Grey Level and Contrast Changes} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
583 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
584 \begin{minipage}[t]{0.15\linewidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
585 \centering |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
586 \vspace*{0mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
587 \includegraphics[scale=.4]{Contrast_only.png} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
588 %{\bf Grey Level \& Contrast} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
589 \end{minipage}% |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
590 \hspace{3mm}\begin{minipage}[t]{0.85\linewidth} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
591 \vspace*{1mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
592 The {\bf grey level and contrast} module changes the contrast by changing grey levels, and may invert the image polarity (white |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
593 to black and black to white). The contrast is $C \sim U[1-0.85 \times complexity,1]$ |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
594 so the image is normalized into $[\frac{1-C}{2},1-\frac{1-C}{2}]$. The |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
595 polarity is inverted with probability 50\%. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
596 %%\vspace{.7cm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
597 \end{minipage} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
598 %\vspace{2mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
599 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
600 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
601 \iffalse |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
602 \begin{figure}[ht] |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
603 \centerline{\resizebox{.9\textwidth}{!}{\includegraphics{example_t.png}}}\\ |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
604 \caption{Illustration of the pipeline of stochastic |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
605 transformations applied to the image of a lower-case \emph{t} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
606 (the upper left image). Each image in the pipeline (going from |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
607 left to right, first top line, then bottom line) shows the result |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
608 of applying one of the modules in the pipeline. The last image |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
609 (bottom right) is used as training example.} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
610 \label{fig:pipeline} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
611 \end{figure} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
612 \fi |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
613 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
614 %\vspace*{-3mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
615 \section{Experimental Setup} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
616 %\vspace*{-1mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
617 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
618 Much previous work on deep learning had been performed on |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
619 the MNIST digits task~\citep{Hinton06,ranzato-07-small,Bengio-nips-2006,Salakhutdinov+Hinton-2009}, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
620 with 60~000 examples, and variants involving 10~000 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
621 examples~\citep{Larochelle-jmlr-toappear-2008,VincentPLarochelleH2008}. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
622 The focus here is on much larger training sets, from 10 times to |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
623 to 1000 times larger, and 62 classes. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
624 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
625 The first step in constructing the larger datasets (called NISTP and P07) is to sample from |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
626 a {\em data source}: {\bf NIST} (NIST database 19), {\bf Fonts}, {\bf Captchas}, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
627 and {\bf OCR data} (scanned machine printed characters). Once a character |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
628 is sampled from one of these sources (chosen randomly), the second step is to |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
629 apply a pipeline of transformations and/or noise processes described in section \ref{s:perturbations}. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
630 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
631 To provide a baseline of error rate comparison we also estimate human performance |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
632 on both the 62-class task and the 10-class digits task. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
633 We compare the best Multi-Layer Perceptrons (MLP) against |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
634 the best Stacked Denoising Auto-encoders (SDA), when |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
635 both models' hyper-parameters are selected to minimize the validation set error. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
636 We also provide a comparison against a precise estimate |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
637 of human performance obtained via Amazon's Mechanical Turk (AMT) |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
638 service (http://mturk.com). |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
639 AMT users are paid small amounts |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
640 of money to perform tasks for which human intelligence is required. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
641 Mechanical Turk has been used extensively in natural language processing and vision. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
642 %processing \citep{SnowEtAl2008} and vision |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
643 %\citep{SorokinAndForsyth2008,whitehill09}. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
644 AMT users were presented |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
645 with 10 character images (from a test set) and asked to choose 10 corresponding ASCII |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
646 characters. They were forced to choose a single character class (either among the |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
647 62 or 10 character classes) for each image. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
648 80 subjects classified 2500 images per (dataset,task) pair. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
649 Different humans labelers sometimes provided a different label for the same |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
650 example, and we were able to estimate the error variance due to this effect |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
651 because each image was classified by 3 different persons. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
652 The average error of humans on the 62-class task NIST test set |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
653 is 18.2\%, with a standard error of 0.1\%. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
654 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
655 %\vspace*{-3mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
656 \subsection{Data Sources} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
657 %\vspace*{-2mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
658 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
659 %\begin{itemize} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
660 %\item |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
661 {\bf NIST.} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
662 Our main source of characters is the NIST Special Database 19~\citep{Grother-1995}, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
663 widely used for training and testing character |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
664 recognition systems~\citep{Granger+al-2007,Cortes+al-2000,Oliveira+al-2002-short,Milgram+al-2005}. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
665 The dataset is composed of 814255 digits and characters (upper and lower cases), with hand checked classifications, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
666 extracted from handwritten sample forms of 3600 writers. The characters are labelled by one of the 62 classes |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
667 corresponding to ``0''-``9'',``A''-``Z'' and ``a''-``z''. The dataset contains 8 parts (partitions) of varying complexity. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
668 The fourth partition (called $hsf_4$, 82587 examples), |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
669 experimentally recognized to be the most difficult one, is the one recommended |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
670 by NIST as a testing set and is used in our work as well as some previous work~\citep{Granger+al-2007,Cortes+al-2000,Oliveira+al-2002-short,Milgram+al-2005} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
671 for that purpose. We randomly split the remainder (731668 examples) into a training set and a validation set for |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
672 model selection. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
673 The performances reported by previous work on that dataset mostly use only the digits. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
674 Here we use all the classes both in the training and testing phase. This is especially |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
675 useful to estimate the effect of a multi-task setting. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
676 The distribution of the classes in the NIST training and test sets differs |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
677 substantially, with relatively many more digits in the test set, and a more uniform distribution |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
678 of letters in the test set (whereas in the training set they are distributed |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
679 more like in natural text). |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
680 %\vspace*{-1mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
681 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
682 %\item |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
683 {\bf Fonts.} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
684 In order to have a good variety of sources we downloaded an important number of free fonts from: |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
685 {\tt http://cg.scs.carleton.ca/\textasciitilde luc/freefonts.html}. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
686 % TODO: pointless to anonymize, it's not pointing to our work |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
687 Including the operating system's (Windows 7) fonts, there is a total of $9817$ different fonts that we can choose uniformly from. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
688 The chosen {\tt ttf} file is either used as input of the Captcha generator (see next item) or, by producing a corresponding image, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
689 directly as input to our models. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
690 %\vspace*{-1mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
691 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
692 %\item |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
693 {\bf Captchas.} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
694 The Captcha data source is an adaptation of the \emph{pycaptcha} library (a python based captcha generator library) for |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
695 generating characters of the same format as the NIST dataset. This software is based on |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
696 a random character class generator and various kinds of transformations similar to those described in the previous sections. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
697 In order to increase the variability of the data generated, many different fonts are used for generating the characters. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
698 Transformations (slant, distortions, rotation, translation) are applied to each randomly generated character with a complexity |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
699 depending on the value of the complexity parameter provided by the user of the data source. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
700 %Two levels of complexity are allowed and can be controlled via an easy to use facade class. %TODO: what's a facade class? |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
701 %\vspace*{-1mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
702 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
703 %\item |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
704 {\bf OCR data.} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
705 A large set (2 million) of scanned, OCRed and manually verified machine-printed |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
706 characters where included as an |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
707 additional source. This set is part of a larger corpus being collected by the Image Understanding |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
708 Pattern Recognition Research group led by Thomas Breuel at University of Kaiserslautern |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
709 ({\tt http://www.iupr.com}), and which will be publicly released. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
710 %TODO: let's hope that Thomas is not a reviewer! :) Seriously though, maybe we should anonymize this |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
711 %\end{itemize} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
712 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
713 %\vspace*{-3mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
714 \subsection{Data Sets} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
715 %\vspace*{-2mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
716 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
717 All data sets contain 32$\times$32 grey-level images (values in $[0,1]$) associated with a label |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
718 from one of the 62 character classes. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
719 %\begin{itemize} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
720 %\vspace*{-1mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
721 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
722 %\item |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
723 {\bf NIST.} This is the raw NIST special database 19~\citep{Grother-1995}. It has |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
724 \{651668 / 80000 / 82587\} \{training / validation / test\} examples. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
725 %\vspace*{-1mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
726 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
727 %\item |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
728 {\bf P07.} This dataset is obtained by taking raw characters from all four of the above sources |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
729 and sending them through the transformation pipeline described in section \ref{s:perturbations}. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
730 For each new example to generate, a data source is selected with probability $10\%$ from the fonts, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
731 $25\%$ from the captchas, $25\%$ from the OCR data and $40\%$ from NIST. We apply all the transformations in the |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
732 order given above, and for each of them we sample uniformly a \emph{complexity} in the range $[0,0.7]$. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
733 It has \{81920000 / 80000 / 20000\} \{training / validation / test\} examples. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
734 %\vspace*{-1mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
735 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
736 %\item |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
737 {\bf NISTP.} This one is equivalent to P07 (complexity parameter of $0.7$ with the same proportions of data sources) |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
738 except that we only apply |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
739 transformations from slant to pinch. Therefore, the character is |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
740 transformed but no additional noise is added to the image, giving images |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
741 closer to the NIST dataset. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
742 It has \{81920000 / 80000 / 20000\} \{training / validation / test\} examples. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
743 %\end{itemize} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
744 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
745 %\vspace*{-3mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
746 \subsection{Models and their Hyperparameters} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
747 %\vspace*{-2mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
748 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
749 The experiments are performed using MLPs (with a single |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
750 hidden layer) and SDAs. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
751 \emph{Hyper-parameters are selected based on the {\bf NISTP} validation set error.} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
752 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
753 {\bf Multi-Layer Perceptrons (MLP).} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
754 Whereas previous work had compared deep architectures to both shallow MLPs and |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
755 SVMs, we only compared to MLPs here because of the very large datasets used |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
756 (making the use of SVMs computationally challenging because of their quadratic |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
757 scaling behavior). Preliminary experiments on training SVMs (libSVM) with subsets of the training |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
758 set allowing the program to fit in memory yielded substantially worse results |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
759 than those obtained with MLPs. For training on nearly a billion examples |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
760 (with the perturbed data), the MLPs and SDA are much more convenient than |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
761 classifiers based on kernel methods. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
762 The MLP has a single hidden layer with $\tanh$ activation functions, and softmax (normalized |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
763 exponentials) on the output layer for estimating $P(class | image)$. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
764 The number of hidden units is taken in $\{300,500,800,1000,1500\}$. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
765 Training examples are presented in minibatches of size 20. A constant learning |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
766 rate was chosen among $\{0.001, 0.01, 0.025, 0.075, 0.1, 0.5\}$. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
767 %through preliminary experiments (measuring performance on a validation set), |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
768 %and $0.1$ (which was found to work best) was then selected for optimizing on |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
769 %the whole training sets. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
770 %\vspace*{-1mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
771 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
772 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
773 {\bf Stacked Denoising Auto-Encoders (SDA).} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
774 Various auto-encoder variants and Restricted Boltzmann Machines (RBMs) |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
775 can be used to initialize the weights of each layer of a deep MLP (with many hidden |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
776 layers)~\citep{Hinton06,ranzato-07-small,Bengio-nips-2006}, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
777 apparently setting parameters in the |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
778 basin of attraction of supervised gradient descent yielding better |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
779 generalization~\citep{Erhan+al-2010}. This initial {\em unsupervised |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
780 pre-training phase} uses all of the training images but not the training labels. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
781 Each layer is trained in turn to produce a new representation of its input |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
782 (starting from the raw pixels). |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
783 It is hypothesized that the |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
784 advantage brought by this procedure stems from a better prior, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
785 on the one hand taking advantage of the link between the input |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
786 distribution $P(x)$ and the conditional distribution of interest |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
787 $P(y|x)$ (like in semi-supervised learning), and on the other hand |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
788 taking advantage of the expressive power and bias implicit in the |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
789 deep architecture (whereby complex concepts are expressed as |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
790 compositions of simpler ones through a deep hierarchy). |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
791 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
792 \begin{figure}[ht] |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
793 %\vspace*{-2mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
794 \centerline{\resizebox{0.8\textwidth}{!}{\includegraphics{denoising_autoencoder_small.pdf}}} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
795 %\vspace*{-2mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
796 \caption{Illustration of the computations and training criterion for the denoising |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
797 auto-encoder used to pre-train each layer of the deep architecture. Input $x$ of |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
798 the layer (i.e. raw input or output of previous layer) |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
799 s corrupted into $\tilde{x}$ and encoded into code $y$ by the encoder $f_\theta(\cdot)$. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
800 The decoder $g_{\theta'}(\cdot)$ maps $y$ to reconstruction $z$, which |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
801 is compared to the uncorrupted input $x$ through the loss function |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
802 $L_H(x,z)$, whose expected value is approximately minimized during training |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
803 by tuning $\theta$ and $\theta'$.} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
804 \label{fig:da} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
805 %\vspace*{-2mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
806 \end{figure} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
807 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
808 Here we chose to use the Denoising |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
809 Auto-encoder~\citep{VincentPLarochelleH2008} as the building block for |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
810 these deep hierarchies of features, as it is simple to train and |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
811 explain (see Figure~\ref{fig:da}, as well as |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
812 tutorial and code there: {\tt http://deeplearning.net/tutorial}), |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
813 provides efficient inference, and yielded results |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
814 comparable or better than RBMs in series of experiments |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
815 \citep{VincentPLarochelleH2008}. During training, a Denoising |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
816 Auto-encoder is presented with a stochastically corrupted version |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
817 of the input and trained to reconstruct the uncorrupted input, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
818 forcing the hidden units to represent the leading regularities in |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
819 the data. Here we use the random binary masking corruption |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
820 (which sets to 0 a random subset of the inputs). |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
821 Once it is trained, in a purely unsupervised way, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
822 its hidden units' activations can |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
823 be used as inputs for training a second one, etc. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
824 After this unsupervised pre-training stage, the parameters |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
825 are used to initialize a deep MLP, which is fine-tuned by |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
826 the same standard procedure used to train them (see previous section). |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
827 The SDA hyper-parameters are the same as for the MLP, with the addition of the |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
828 amount of corruption noise (we used the masking noise process, whereby a |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
829 fixed proportion of the input values, randomly selected, are zeroed), and a |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
830 separate learning rate for the unsupervised pre-training stage (selected |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
831 from the same above set). The fraction of inputs corrupted was selected |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
832 among $\{10\%, 20\%, 50\%\}$. Another hyper-parameter is the number |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
833 of hidden layers but it was fixed to 3 based on previous work with |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
834 SDAs on MNIST~\citep{VincentPLarochelleH2008}. The size of the hidden |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
835 layers was kept constant across hidden layers, and the best results |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
836 were obtained with the largest values that we could experiment |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
837 with given our patience, with 1000 hidden units. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
838 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
839 %\vspace*{-1mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
840 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
841 \begin{figure}[ht] |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
842 %\vspace*{-2mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
843 \centerline{\resizebox{.99\textwidth}{!}{\includegraphics{error_rates_charts.pdf}}} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
844 %\vspace*{-3mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
845 \caption{SDAx are the {\bf deep} models. Error bars indicate a 95\% confidence interval. 0 indicates that the model was trained |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
846 on NIST, 1 on NISTP, and 2 on P07. Left: overall results |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
847 of all models, on NIST and NISTP test sets. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
848 Right: error rates on NIST test digits only, along with the previous results from |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
849 literature~\citep{Granger+al-2007,Cortes+al-2000,Oliveira+al-2002-short,Milgram+al-2005} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
850 respectively based on ART, nearest neighbors, MLPs, and SVMs.} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
851 \label{fig:error-rates-charts} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
852 %\vspace*{-2mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
853 \end{figure} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
854 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
855 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
856 \begin{figure}[ht] |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
857 %\vspace*{-3mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
858 \centerline{\resizebox{.99\textwidth}{!}{\includegraphics{improvements_charts.pdf}}} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
859 %\vspace*{-3mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
860 \caption{Relative improvement in error rate due to self-taught learning. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
861 Left: Improvement (or loss, when negative) |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
862 induced by out-of-distribution examples (perturbed data). |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
863 Right: Improvement (or loss, when negative) induced by multi-task |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
864 learning (training on all classes and testing only on either digits, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
865 upper case, or lower-case). The deep learner (SDA) benefits more from |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
866 both self-taught learning scenarios, compared to the shallow MLP.} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
867 \label{fig:improvements-charts} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
868 %\vspace*{-2mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
869 \end{figure} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
870 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
871 \section{Experimental Results} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
872 %\vspace*{-2mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
873 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
874 %%\vspace*{-1mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
875 %\subsection{SDA vs MLP vs Humans} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
876 %%\vspace*{-1mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
877 The models are either trained on NIST (MLP0 and SDA0), |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
878 NISTP (MLP1 and SDA1), or P07 (MLP2 and SDA2), and tested |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
879 on either NIST, NISTP or P07, either on the 62-class task |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
880 or on the 10-digits task. Training (including about half |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
881 for unsupervised pre-training, for DAs) on the larger |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
882 datasets takes around one day on a GPU-285. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
883 Figure~\ref{fig:error-rates-charts} summarizes the results obtained, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
884 comparing humans, the three MLPs (MLP0, MLP1, MLP2) and the three SDAs (SDA0, SDA1, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
885 SDA2), along with the previous results on the digits NIST special database |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
886 19 test set from the literature, respectively based on ARTMAP neural |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
887 networks ~\citep{Granger+al-2007}, fast nearest-neighbor search |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
888 ~\citep{Cortes+al-2000}, MLPs ~\citep{Oliveira+al-2002-short}, and SVMs |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
889 ~\citep{Milgram+al-2005}. More detailed and complete numerical results |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
890 (figures and tables, including standard errors on the error rates) can be |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
891 found in Appendix. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
892 The deep learner not only outperformed the shallow ones and |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
893 previously published performance (in a statistically and qualitatively |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
894 significant way) but when trained with perturbed data |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
895 reaches human performance on both the 62-class task |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
896 and the 10-class (digits) task. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
897 17\% error (SDA1) or 18\% error (humans) may seem large but a large |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
898 majority of the errors from humans and from SDA1 are from out-of-context |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
899 confusions (e.g. a vertical bar can be a ``1'', an ``l'' or an ``L'', and a |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
900 ``c'' and a ``C'' are often indistinguishible). |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
901 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
902 In addition, as shown in the left of |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
903 Figure~\ref{fig:improvements-charts}, the relative improvement in error |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
904 rate brought by self-taught learning is greater for the SDA, and these |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
905 differences with the MLP are statistically and qualitatively |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
906 significant. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
907 The left side of the figure shows the improvement to the clean |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
908 NIST test set error brought by the use of out-of-distribution examples |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
909 (i.e. the perturbed examples examples from NISTP or P07). |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
910 Relative percent change is measured by taking |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
911 $100 \% \times$ (original model's error / perturbed-data model's error - 1). |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
912 The right side of |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
913 Figure~\ref{fig:improvements-charts} shows the relative improvement |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
914 brought by the use of a multi-task setting, in which the same model is |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
915 trained for more classes than the target classes of interest (i.e. training |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
916 with all 62 classes when the target classes are respectively the digits, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
917 lower-case, or upper-case characters). Again, whereas the gain from the |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
918 multi-task setting is marginal or negative for the MLP, it is substantial |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
919 for the SDA. Note that to simplify these multi-task experiments, only the original |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
920 NIST dataset is used. For example, the MLP-digits bar shows the relative |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
921 percent improvement in MLP error rate on the NIST digits test set |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
922 is $100\% \times$ (single-task |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
923 model's error / multi-task model's error - 1). The single-task model is |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
924 trained with only 10 outputs (one per digit), seeing only digit examples, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
925 whereas the multi-task model is trained with 62 outputs, with all 62 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
926 character classes as examples. Hence the hidden units are shared across |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
927 all tasks. For the multi-task model, the digit error rate is measured by |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
928 comparing the correct digit class with the output class associated with the |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
929 maximum conditional probability among only the digit classes outputs. The |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
930 setting is similar for the other two target classes (lower case characters |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
931 and upper case characters). |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
932 %%\vspace*{-1mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
933 %\subsection{Perturbed Training Data More Helpful for SDA} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
934 %%\vspace*{-1mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
935 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
936 %%\vspace*{-1mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
937 %\subsection{Multi-Task Learning Effects} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
938 %%\vspace*{-1mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
939 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
940 \iffalse |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
941 As previously seen, the SDA is better able to benefit from the |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
942 transformations applied to the data than the MLP. In this experiment we |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
943 define three tasks: recognizing digits (knowing that the input is a digit), |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
944 recognizing upper case characters (knowing that the input is one), and |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
945 recognizing lower case characters (knowing that the input is one). We |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
946 consider the digit classification task as the target task and we want to |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
947 evaluate whether training with the other tasks can help or hurt, and |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
948 whether the effect is different for MLPs versus SDAs. The goal is to find |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
949 out if deep learning can benefit more (or less) from multiple related tasks |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
950 (i.e. the multi-task setting) compared to a corresponding purely supervised |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
951 shallow learner. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
952 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
953 We use a single hidden layer MLP with 1000 hidden units, and a SDA |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
954 with 3 hidden layers (1000 hidden units per layer), pre-trained and |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
955 fine-tuned on NIST. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
956 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
957 Our results show that the MLP benefits marginally from the multi-task setting |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
958 in the case of digits (5\% relative improvement) but is actually hurt in the case |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
959 of characters (respectively 3\% and 4\% worse for lower and upper class characters). |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
960 On the other hand the SDA benefited from the multi-task setting, with relative |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
961 error rate improvements of 27\%, 15\% and 13\% respectively for digits, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
962 lower and upper case characters, as shown in Table~\ref{tab:multi-task}. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
963 \fi |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
964 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
965 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
966 %\vspace*{-2mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
967 \section{Conclusions and Discussion} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
968 %\vspace*{-2mm} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
969 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
970 We have found that the self-taught learning framework is more beneficial |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
971 to a deep learner than to a traditional shallow and purely |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
972 supervised learner. More precisely, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
973 the answers are positive for all the questions asked in the introduction. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
974 %\begin{itemize} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
975 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
976 $\bullet$ %\item |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
977 {\bf Do the good results previously obtained with deep architectures on the |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
978 MNIST digits generalize to a much larger and richer (but similar) |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
979 dataset, the NIST special database 19, with 62 classes and around 800k examples}? |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
980 Yes, the SDA {\em systematically outperformed the MLP and all the previously |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
981 published results on this dataset} (the ones that we are aware of), {\em in fact reaching human-level |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
982 performance} at around 17\% error on the 62-class task and 1.4\% on the digits, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
983 and beating previously published results on the same data. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
984 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
985 $\bullet$ %\item |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
986 {\bf To what extent do self-taught learning scenarios help deep learners, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
987 and do they help them more than shallow supervised ones}? |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
988 We found that distorted training examples not only made the resulting |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
989 classifier better on similarly perturbed images but also on |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
990 the {\em original clean examples}, and more importantly and more novel, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
991 that deep architectures benefit more from such {\em out-of-distribution} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
992 examples. MLPs were helped by perturbed training examples when tested on perturbed input |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
993 images (65\% relative improvement on NISTP) |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
994 but only marginally helped (5\% relative improvement on all classes) |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
995 or even hurt (10\% relative loss on digits) |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
996 with respect to clean examples . On the other hand, the deep SDAs |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
997 were significantly boosted by these out-of-distribution examples. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
998 Similarly, whereas the improvement due to the multi-task setting was marginal or |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
999 negative for the MLP (from +5.6\% to -3.6\% relative change), |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1000 it was quite significant for the SDA (from +13\% to +27\% relative change), |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1001 which may be explained by the arguments below. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1002 %\end{itemize} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1003 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1004 In the original self-taught learning framework~\citep{RainaR2007}, the |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1005 out-of-sample examples were used as a source of unsupervised data, and |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1006 experiments showed its positive effects in a \emph{limited labeled data} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1007 scenario. However, many of the results by \citet{RainaR2007} (who used a |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1008 shallow, sparse coding approach) suggest that the {\em relative gain of self-taught |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1009 learning vs ordinary supervised learning} diminishes as the number of labeled examples increases. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1010 We note instead that, for deep |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1011 architectures, our experiments show that such a positive effect is accomplished |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1012 even in a scenario with a \emph{large number of labeled examples}, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1013 i.e., here, the relative gain of self-taught learning is probably preserved |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1014 in the asymptotic regime. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1015 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1016 {\bf Why would deep learners benefit more from the self-taught learning framework}? |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1017 The key idea is that the lower layers of the predictor compute a hierarchy |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1018 of features that can be shared across tasks or across variants of the |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1019 input distribution. A theoretical analysis of generalization improvements |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1020 due to sharing of intermediate features across tasks already points |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1021 towards that explanation~\cite{baxter95a}. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1022 Intermediate features that can be used in different |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1023 contexts can be estimated in a way that allows to share statistical |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1024 strength. Features extracted through many levels are more likely to |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1025 be more abstract (as the experiments in~\citet{Goodfellow2009} suggest), |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1026 increasing the likelihood that they would be useful for a larger array |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1027 of tasks and input conditions. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1028 Therefore, we hypothesize that both depth and unsupervised |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1029 pre-training play a part in explaining the advantages observed here, and future |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1030 experiments could attempt at teasing apart these factors. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1031 And why would deep learners benefit from the self-taught learning |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1032 scenarios even when the number of labeled examples is very large? |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1033 We hypothesize that this is related to the hypotheses studied |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1034 in~\citet{Erhan+al-2010}. Whereas in~\citet{Erhan+al-2010} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1035 it was found that online learning on a huge dataset did not make the |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1036 advantage of the deep learning bias vanish, a similar phenomenon |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1037 may be happening here. We hypothesize that unsupervised pre-training |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1038 of a deep hierarchy with self-taught learning initializes the |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1039 model in the basin of attraction of supervised gradient descent |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1040 that corresponds to better generalization. Furthermore, such good |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1041 basins of attraction are not discovered by pure supervised learning |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1042 (with or without self-taught settings), and more labeled examples |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1043 does not allow the model to go from the poorer basins of attraction discovered |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1044 by the purely supervised shallow models to the kind of better basins associated |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1045 with deep learning and self-taught learning. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1046 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1047 A Flash demo of the recognizer (where both the MLP and the SDA can be compared) |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1048 can be executed on-line at {\tt http://deep.host22.com}. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1049 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1050 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1051 \section*{Appendix I: Detailed Numerical Results} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1052 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1053 These tables correspond to Figures 2 and 3 and contain the raw error rates for each model and dataset considered. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1054 They also contain additional data such as test errors on P07 and standard errors. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1055 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1056 \begin{table}[ht] |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1057 \caption{Overall comparison of error rates ($\pm$ std.err.) on 62 character classes (10 digits + |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1058 26 lower + 26 upper), except for last columns -- digits only, between deep architecture with pre-training |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1059 (SDA=Stacked Denoising Autoencoder) and ordinary shallow architecture |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1060 (MLP=Multi-Layer Perceptron). The models shown are all trained using perturbed data (NISTP or P07) |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1061 and using a validation set to select hyper-parameters and other training choices. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1062 \{SDA,MLP\}0 are trained on NIST, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1063 \{SDA,MLP\}1 are trained on NISTP, and \{SDA,MLP\}2 are trained on P07. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1064 The human error rate on digits is a lower bound because it does not count digits that were |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1065 recognized as letters. For comparison, the results found in the literature |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1066 on NIST digits classification using the same test set are included.} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1067 \label{tab:sda-vs-mlp-vs-humans} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1068 \begin{center} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1069 \begin{tabular}{|l|r|r|r|r|} \hline |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1070 & NIST test & NISTP test & P07 test & NIST test digits \\ \hline |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1071 Humans& 18.2\% $\pm$.1\% & 39.4\%$\pm$.1\% & 46.9\%$\pm$.1\% & $1.4\%$ \\ \hline |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1072 SDA0 & 23.7\% $\pm$.14\% & 65.2\%$\pm$.34\% & 97.45\%$\pm$.06\% & 2.7\% $\pm$.14\%\\ \hline |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1073 SDA1 & 17.1\% $\pm$.13\% & 29.7\%$\pm$.3\% & 29.7\%$\pm$.3\% & 1.4\% $\pm$.1\%\\ \hline |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1074 SDA2 & 18.7\% $\pm$.13\% & 33.6\%$\pm$.3\% & 39.9\%$\pm$.17\% & 1.7\% $\pm$.1\%\\ \hline |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1075 MLP0 & 24.2\% $\pm$.15\% & 68.8\%$\pm$.33\% & 78.70\%$\pm$.14\% & 3.45\% $\pm$.15\% \\ \hline |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1076 MLP1 & 23.0\% $\pm$.15\% & 41.8\%$\pm$.35\% & 90.4\%$\pm$.1\% & 3.85\% $\pm$.16\% \\ \hline |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1077 MLP2 & 24.3\% $\pm$.15\% & 46.0\%$\pm$.35\% & 54.7\%$\pm$.17\% & 4.85\% $\pm$.18\% \\ \hline |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1078 \citep{Granger+al-2007} & & & & 4.95\% $\pm$.18\% \\ \hline |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1079 \citep{Cortes+al-2000} & & & & 3.71\% $\pm$.16\% \\ \hline |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1080 \citep{Oliveira+al-2002} & & & & 2.4\% $\pm$.13\% \\ \hline |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1081 \citep{Milgram+al-2005} & & & & 2.1\% $\pm$.12\% \\ \hline |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1082 \end{tabular} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1083 \end{center} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1084 \end{table} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1085 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1086 \begin{table}[ht] |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1087 \caption{Relative change in error rates due to the use of perturbed training data, |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1088 either using NISTP, for the MLP1/SDA1 models, or using P07, for the MLP2/SDA2 models. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1089 A positive value indicates that training on the perturbed data helped for the |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1090 given test set (the first 3 columns on the 62-class tasks and the last one is |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1091 on the clean 10-class digits). Clearly, the deep learning models did benefit more |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1092 from perturbed training data, even when testing on clean data, whereas the MLP |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1093 trained on perturbed data performed worse on the clean digits and about the same |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1094 on the clean characters. } |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1095 \label{tab:perturbation-effect} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1096 \begin{center} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1097 \begin{tabular}{|l|r|r|r|r|} \hline |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1098 & NIST test & NISTP test & P07 test & NIST test digits \\ \hline |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1099 SDA0/SDA1-1 & 38\% & 84\% & 228\% & 93\% \\ \hline |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1100 SDA0/SDA2-1 & 27\% & 94\% & 144\% & 59\% \\ \hline |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1101 MLP0/MLP1-1 & 5.2\% & 65\% & -13\% & -10\% \\ \hline |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1102 MLP0/MLP2-1 & -0.4\% & 49\% & 44\% & -29\% \\ \hline |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1103 \end{tabular} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1104 \end{center} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1105 \end{table} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1106 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1107 \begin{table}[ht] |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1108 \caption{Test error rates and relative change in error rates due to the use of |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1109 a multi-task setting, i.e., training on each task in isolation vs training |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1110 for all three tasks together, for MLPs vs SDAs. The SDA benefits much |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1111 more from the multi-task setting. All experiments on only on the |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1112 unperturbed NIST data, using validation error for model selection. |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1113 Relative improvement is 1 - single-task error / multi-task error.} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1114 \label{tab:multi-task} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1115 \begin{center} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1116 \begin{tabular}{|l|r|r|r|} \hline |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1117 & single-task & multi-task & relative \\ |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1118 & setting & setting & improvement \\ \hline |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1119 MLP-digits & 3.77\% & 3.99\% & 5.6\% \\ \hline |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1120 MLP-lower & 17.4\% & 16.8\% & -4.1\% \\ \hline |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1121 MLP-upper & 7.84\% & 7.54\% & -3.6\% \\ \hline |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1122 SDA-digits & 2.6\% & 3.56\% & 27\% \\ \hline |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1123 SDA-lower & 12.3\% & 14.4\% & 15\% \\ \hline |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1124 SDA-upper & 5.93\% & 6.78\% & 13\% \\ \hline |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1125 \end{tabular} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1126 \end{center} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1127 \end{table} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1128 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1129 %\afterpage{\clearpage} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1130 \clearpage |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1131 { |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1132 \bibliographystyle{spbasic} % basic style, author-year citations |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1133 \bibliography{strings,strings-short,strings-shorter,ift6266_ml,specials,aigaion-shorter} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1134 %\bibliographystyle{plainnat} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1135 %\bibliographystyle{unsrtnat} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1136 %\bibliographystyle{apalike} |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1137 } |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1138 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1139 |
b1be957dd1be
Added mlj_submission to group every file needed for that.
fsavard
parents:
diff
changeset
|
1140 \end{document} |