annotate writeup/mlj_submission.tex @ 585:4933077b8676

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