changeset 604:51213beaed8b

draft of NIPS 2010 workshop camera-ready version
author Yoshua Bengio <bengioy@iro.umontreal.ca>
date Mon, 22 Nov 2010 14:52:33 -0500
parents eb6244c6d861
children 63f838479510
files writeup/aigaion-shorter.bib writeup/aistats2011_submission.tex writeup/ift6266_ml.bib writeup/nips10submit_e.sty writeup/nips2010_cameraready.tex
diffstat 5 files changed, 1364 insertions(+), 94 deletions(-) [+]
line wrap: on
line diff
--- a/writeup/aigaion-shorter.bib	Sun Oct 31 22:40:33 2010 -0400
+++ b/writeup/aigaion-shorter.bib	Mon Nov 22 14:52:33 2010 -0500
@@ -1,5 +1,99 @@
 %Aigaion2 BibTeX export from LISA - Publications
-%Tuesday 01 June 2010 10:46:52 AM
+%Tuesday 02 November 2010 04:10:50 PM
+@MASTERSTHESIS{,
+    author = {Breuleux, Olivier},
+     title = {{\'{E}}chantillonnage dynamique de champs markoviens},
+      year = {2010},
+    school = {Universit{\'{e}} de Montr{\'{e}}al}
+}
+
+@PHDTHESIS{,
+    author = {Rivest, Fran{\c c}ois},
+     title = {Mod{\`{e}}le informatique du coapprentissage des ganglions de la base et du cortex : L’apprentissage par renforcement et le d{\'{e}}veloppement de repr{\'{e}}sentations},
+      year = {2009},
+    school = {Universit{\'{e}} de Montr{\'{e}}al, D{\'{e}}partement d’informatique et de recherche op{\'{e}}rationnelle},
+  abstract = {English follow:
+
+Tout au long de la vie, le cerveau d{\'{e}}veloppe des repr{\'{e}}sentations de son
+environnement permettant {\`{a}} l’individu d’en tirer meilleur profit. Comment ces
+repr{\'{e}}sentations se d{\'{e}}veloppent-elles pendant la qu{\^{e}}te de r{\'{e}}compenses demeure un
+myst{\`{e}}re. Il est raisonnable de penser que le cortex est le si{\`{e}}ge de ces repr{\'{e}}sentations
+et que les ganglions de la base jouent un r{\^{o}}le important dans la maximisation des
+r{\'{e}}compenses. En particulier, les neurones dopaminergiques semblent coder un signal
+d’erreur de pr{\'{e}}diction de r{\'{e}}compense. Cette th{\`{e}}se {\'{e}}tudie le probl{\`{e}}me en construisant,
+{\`{a}} l’aide de l’apprentissage machine, un mod{\`{e}}le informatique int{\'{e}}grant de nombreuses
+{\'{e}}vidences neurologiques.
+        Apr{\`{e}}s une introduction au cadre math{\'{e}}matique et {\`{a}} quelques algorithmes de
+l’apprentissage machine, un survol de l’apprentissage en psychologie et en
+neuroscience et une revue des mod{\`{e}}les de l’apprentissage dans les ganglions de la
+base, la th{\`{e}}se comporte trois articles. Le premier montre qu’il est possible
+d’apprendre {\`{a}} maximiser ses r{\'{e}}compenses tout en d{\'{e}}veloppant de meilleures
+repr{\'{e}}sentations des entr{\'{e}}es. Le second article porte sur l'important probl{\`{e}}me toujours
+non r{\'{e}}solu de la repr{\'{e}}sentation du temps. Il d{\'{e}}montre qu’une repr{\'{e}}sentation du temps
+peut {\^{e}}tre acquise automatiquement dans un r{\'{e}}seau de neurones artificiels faisant
+office de m{\'{e}}moire de travail. La repr{\'{e}}sentation d{\'{e}}velopp{\'{e}}e par le mod{\`{e}}le ressemble
+beaucoup {\`{a}} l’activit{\'{e}} de neurones corticaux dans des t{\^{a}}ches similaires. De plus, le
+mod{\`{e}}le montre que l’utilisation du signal d’erreur de r{\'{e}}compense peut acc{\'{e}}l{\'{e}}rer la
+construction de ces repr{\'{e}}sentations temporelles. Finalement, il montre qu’une telle
+repr{\'{e}}sentation acquise automatiquement dans le cortex peut fournir l’information
+n{\'{e}}cessaire aux ganglions de la base pour expliquer le signal dopaminergique. Enfin,
+le troisi{\`{e}}me article {\'{e}}value le pouvoir explicatif et pr{\'{e}}dictif du mod{\`{e}}le sur diff{\'{e}}rentes
+situations comme la pr{\'{e}}sence ou l’absence d’un stimulus (conditionnement classique
+ou de trace) pendant l’attente de la r{\'{e}}compense. En plus de faire des pr{\'{e}}dictions tr{\`{e}}s
+int{\'{e}}ressantes en lien avec la litt{\'{e}}rature sur les intervalles de temps, l’article r{\'{e}}v{\`{e}}le
+certaines lacunes du mod{\`{e}}le qui devront {\^{e}}tre am{\'{e}}lior{\'{e}}es.
+       Bref, cette th{\`{e}}se {\'{e}}tend les mod{\`{e}}les actuels de l’apprentissage des ganglions de
+la base et du syst{\`{e}}me dopaminergique au d{\'{e}}veloppement concurrent de
+repr{\'{e}}sentations temporelles dans le cortex et aux interactions de ces deux structures.
+
+        Throughout lifetime, the brain develops abstract representations of its
+environment that allow the individual to maximize his benefits. How these
+representations are developed while trying to acquire rewards remains a mystery. It is
+reasonable to assume that these representations arise in the cortex and that the basal
+ganglia are playing an important role in reward maximization. In particular,
+dopaminergic neurons appear to code a reward prediction error signal. This thesis
+studies the problem by constructing, using machine learning tools, a computational
+model that incorporates a number of relevant neurophysiological findings.
+        After an introduction to the machine learning framework and to some of its
+algorithms, an overview of learning in psychology and neuroscience, and a review of
+models of learning in the basal ganglia, the thesis comprises three papers. The first
+article shows that it is possible to learn a better representation of the inputs while
+learning to maximize reward. The second paper addresses the important and still
+unresolved problem of the representation of time in the brain. The paper shows that a
+time representation can be acquired automatically in an artificial neural network
+acting like a working memory. The representation learned by the model closely
+resembles the activity of cortical neurons in similar tasks. Moreover, the model shows
+that the reward prediction error signal could accelerate the development of the
+temporal representation. Finally, it shows that if such a learned representation exists
+in the cortex, it could provide the necessary information to the basal ganglia to
+explain the dopaminergic signal. The third article evaluates the explanatory and
+predictive power of the model on the effects of differences in task conditions such as
+the presence or absence of a stimulus (classical versus trace conditioning) while
+waiting for the reward. Beyond making interesting predictions relevant to the timing
+literature, the paper reveals some shortcomings of the model that will need to be
+resolved.
+       In summary, this thesis extends current models of reinforcement learning of
+the basal ganglia and the dopaminergic system to the concurrent development of
+representation in the cortex and to the interactions between these two regions.}
+}
+
+@MASTERSTHESIS{,
+    author = {Wood, Sean},
+     title = {Non-negative matrix decomposition approaches to frequency domain analysis of music audio signals},
+      year = {2010},
+    school = {Universit{\'{e}} de Montr{\'{e}}al}
+}
+
+@TECHREPORT{ARXIV-2010,
+       author = {Bastien, Fr{\'{e}}d{\'{e}}ric and Bengio, Yoshua and Bergeron, Arnaud and Boulanger-Lewandowski, Nicolas and Breuel, Thomas and Chherawala, Youssouf and Cisse, Moustapha and C{\^{o}}t{\'{e}}, Myriam and Erhan, Dumitru and Eustache, Jeremy and Glorot, Xavier and Muller, Xavier and Pannetier Lebeuf, Sylvain and Pascanu, Razvan and Rifai, Salah and Savard, Fran{\c c}ois and Sicard, Guillaume},
+     keywords = {Computer Vision and Pattern Recognition, Learning, Neural and Evolutionary Computing},
+        title = {Deep Self-Taught Learning for Handwritten Character Recognition},
+       number = {1353},
+         year = {2010},
+  institution = {University of Montr{\'{e}}al},
+     abstract = {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.}
+}
+
 @INPROCEEDINGS{Attardi+al-2009,
      author = {Attardi, Giuseppe and Dell'Orletta, Felice and Simi, Maria and Turian, Joseph},
    keywords = {classifier, dependency parsing, natural language, parser, perceptron},
@@ -409,7 +503,7 @@
     volume = {5},
       year = {2004},
      pages = {1089--1105},
-  journal = {Journal of Machine Learning Research},
+  crossref = {JMLR-shorter},
   abstract = {Most machine learning researchers perform quantitative experiments to estimate generalization error and compare the performance of different algorithms (in particular, their proposed algorithm). In order to be able to draw statistically convincing conclusions, it is important to estimate the uncertainty of such estimates. This paper studies the very commonly used K-fold cross-validation estimator of generalization performance. The main theorem shows that there exists no universal (valid under all distributions) unbiased estimator of the variance of K-fold cross-validation. The analysis that accompanies this result is based on the eigen-decomposition of the covariance matrix of errors, which has only three different eigenvalues corresponding to three degrees of freedom of the matrix and three components of the total variance. This analysis helps to better understand the nature of the problem and how it can make naive estimators (that don’t take into account the error correlations due to the overlap between training and test sets) grossly underestimate variance. This is confirmed by numerical experiments in which the three components of the variance are compared when the difficulty of the learning problem and the number of folds are varied.},
 topics={Comparative},cat={J},
 }
@@ -1089,7 +1183,7 @@
     volume = {3},
       year = {2003},
      pages = {1137--1155},
-  journal = {Journal of Machine Learning Research},
+  crossref = {JMLR-shorter},
   abstract = {A goal of statistical language modeling is to learn the joint probability function of sequences of words in a language. This is intrinsically difficult because of the curse of dimensionality: a word sequence on which the model will be tested is likely to be different from all the word sequences seen during training. Traditional but very successful approaches based on n-grams obtain generalization by concatenating very short overlapping sequences seen in the training set. We propose to fight the curse of dimensionality by learning a distributed representation for words which allows each training sentence to inform the model about an exponential number of semantically neighboring sentences. The model learns simultaneously (1) a distributed representation for each word along with (2) the probability function for word sequences, expressed in terms of these representations. Generalization is obtained because a sequence of words that has never been seen before gets high probability if it is made of words that are similar (in the sense of having a nearby representation) to words forming an already seen sentence. Training such large models (with millions of parameters) within a reasonable time is itself a significant challenge. We report on experiments using neural networks for the probability function, showing on two text corpora that the proposed approach significantly improves on state-of-the-art n-gram models, and that the proposed approach allows to take advantage of longer contexts.},
 topics={Markov,Unsupervised,Language},cat={J},
 }
@@ -1232,12 +1326,20 @@
     The advantage of quadratic units was strongest in conjunction with sparse and convolutional hidden units.}
 }
 
-@MISC{bergstra+al:2010-scipy,
-        author = {Bergstra, James},
-         title = {Optimized Symbolic Expressions and {GPU} Metaprogramming with Theano},
-          year = {2010},
-  howpublished = {{SciPy}},
-          note = {Oral}
+@ARTICLE{Bergstra+al-2010,
+    author = {Bergstra, James and Bengio, Yoshua and Louradour, Jerome},
+     title = {Suitability of V1 Energy Models for Object Classification},
+   journal = {Neural Computation},
+      year = {2010},
+      note = {to appear}
+}
+
+@INPROCEEDINGS{bergstra+al:2010-scipy,
+     author = {Bergstra, James and Breuleux, Olivier and Bastien, Fr{\'{e}}d{\'{e}}ric and Lamblin, Pascal and Pascanu, Razvan and Desjardins, Guillaume and Turian, Joseph and Bengio, Yoshua},
+      title = {Theano: a {CPU} and {GPU} Math Expression Compiler},
+  booktitle = {Proceedings of the Python for Scientific Computing Conference ({SciPy})},
+       year = {2010},
+       note = {Oral}
 }
 
 @MISC{bergstra+al:2010-sharcnet,
@@ -1257,10 +1359,13 @@
 }
 
 @INPROCEEDINGS{Bergstra+Bengio-2009,
-    author = {Bergstra, James and Bengio, Yoshua},
-     title = {Slow, Decorrelated Features for Pretraining Complex Cell-like Networks},
-      year = {2009},
-  crossref = {NIPS22}
+     author = {Bergstra, James and Bengio, Yoshua},
+      title = {Slow, Decorrelated Features for Pretraining Complex Cell-like Networks},
+       year = {2009},
+      pages = {99--107},
+  publisher = {MIT Press},
+        url = {http://books.nips.cc/papers/files/nips22/NIPS2009_0933.pdf},
+   crossref = {NIPS22}
 }
 
 @ARTICLE{bergstra+casagrande+erhan+eck+kegl:2006,
@@ -1279,8 +1384,10 @@
 @INPROCEEDINGS{bergstra+lacoste+eck:2006,
      author = {Bergstra, James and Lacoste, Alexandre and Eck, Douglas},
       title = {Predicting Genre Labels for Artists using FreeDB},
-  booktitle = {Proc. 7th International Conference on Music Information Retrieval (ISMIR)},
+  booktitle = {Proc. 7th International Conference on Music Information Retrieval ({ISMIR})},
        year = {2006},
+      pages = {85--88},
+  publisher = {University of Victoria},
 SOURCE = {OwnPublication},
   PDF = {papers/2006_ismir_freedb.pdf},
 }
@@ -1290,7 +1397,7 @@
       title = {Scalable Genre and Tag Prediction with Spectral Covariance},
   booktitle = {{ISMIR}},
        year = {2010},
-       note = {accepted}
+      pages = {507--512},
 }
 
 @MASTERSTHESIS{Bergstra-Msc-2006,
@@ -1391,7 +1498,7 @@
        year = {1997},
       pages = {490--494},
   publisher = {IEEE},
-        url = {http://www.iro.umontreal.ca/~lisa/pointeurs/bottou-lecun-bengio-97.ps.gz},
+        url = {http://www.iro.umontreal.ca/~lisa/pointeurs/bottou-lecun-bengio-97.pdf},
 topics={PriorKnowledge,Speech},cat={C},
 }
 
@@ -1431,6 +1538,15 @@
     school = {Universit{\'{e}} de Montr{\'{e}}al, D{\'{e}}partement d'Informatique et de Recherche Op{\'{e}}rationnel}
 }
 
+@TECHREPORT{Breuleux+al-TR-2010,
+       author = {Breuleux, Olivier and Bengio, Yoshua and Vincent, Pascal},
+        title = {Unlearning for Better Mixing},
+       number = {1349},
+         year = {2010},
+  institution = {Universit{\'{e}} de Montr{\'{e}}al/DIRO},
+     abstract = {Two learning algorithms were recently proposed – Herding and Fast Persistent Contrastive Divergence (FPCD) – which share the following interesting characteristic: they exploit changes in the model parameters while sampling in order to escape modes and mix better, during the sampling process that is part of the learning algorithm. We first justify such approaches as ways to escape modes while approximately keeping the same asymptotic distribution of the {Markov} chain. We then extend FPCD using an idea borrowed from Herding in order to obtain a pure sampling algorithm and show empirically that this FPCD-sampler yields substantially better samples than Gibbs sampling. Because these algorithms entangle the model and the sampling algorithm and we want to evaluate both (but particularly how well the sampling schemes mix), it is not always easy to evaluate them, so we propose a “black-box” approach based on how well and how quickly the samples generated by a model “cover” the test set examples. We empirically study these algorithms and variations with this perspective and these new evaluation tools in order to better understand their strengths and limitations.}
+}
+
 @INPROCEEDINGS{Carreau+Bengio-2007,
      author = {Carreau, Julie and Bengio, Yoshua},
       title = {A Hybrid {Pareto} Model for Conditional Density Estimation of Asymmetric Fat-Tail Data},
@@ -1444,7 +1560,7 @@
 
 @ARTICLE{Carreau+Bengio-2009,
     author = {Carreau, Julie and Bengio, Yoshua},
-     title = {A Hybrid {Pareto} Mixture for Conditional Asymmetric Fat-Tailed Distributio\ n},
+     title = {A Hybrid {Pareto} Mixture for Conditional Asymmetric Fat-Tailed Distribution},
    journal = {IEEE Transactions on Neural Networks},
     volume = {20},
     number = {7},
@@ -1569,7 +1685,7 @@
     author = {Bengio, Yoshua and Chapados, Nicolas},
      title = {Extensions to Metric-Based Model Selection},
       year = {2003},
-  journal = {Journal of Machine Learning Research},
+  crossref = {JMLR-shorter},
   abstract = {Metric-based methods have recently been introduced for model selection and regularization, often yielding very significant improvements over the alternatives tried (including cross-validation). All these methods require unlabeled data over which to compare functions and detect gross differences in behavior away from the training points. We introduce three new extensions of the metric model selection methods and apply them to feature selection. The first extension takes advantage of the particular case of time-series data in which the task involves prediction with a horizon h. The idea is to use at t the h unlabeled examples that precede t for model selection. The second extension takes advantage of the different error distributions of cross-validation and the metric methods: cross-validation tends to have a larger variance and is unbiased. A hybrid combining the two model selection methods is rarely beaten by any of the two methods. The third extension deals with the case when unlabeled data is not available at all, using an estimated input density. Experiments are described to study these extensions in the context of capacity control and feature subset selection.},
 topics={ModelSelection,Finance},cat={J},
 }
@@ -1789,10 +1905,10 @@
 @INPROCEEDINGS{Desjardins+al-2010,
      author = {Desjardins, Guillaume and Courville, Aaron and Bengio, Yoshua},
       title = {Tempered {Markov} Chain Monte Carlo for training of Restricted {Boltzmann} Machine},
-  booktitle = {Proceedings of AISTATS 2010},
+  booktitle = {JMLR W\&CP: Proceedings of the Thirteenth International Conference on Artificial Intelligence and Statistics (AISTATS 2010)},
      volume = {9},
        year = {2010},
-      pages = {145-152},
+      pages = {145--152},
    abstract = {Alternating Gibbs sampling is the most common scheme used for sampling from Restricted {Boltzmann} Machines (RBM), a crucial component in deep architectures such as Deep Belief Networks. However, we find that it often does a very poor job of rendering the diversity of modes captured by the trained model. We suspect that this hinders the advantage that could in principle be brought by training algorithms relying on Gibbs sampling for uncovering spurious modes, such as the Persistent Contrastive Divergence algorithm. To alleviate this problem, we explore the use of tempered {Markov} Chain Monte-Carlo for sampling in RBMs. We find both through visualization of samples and measures of likelihood on a toy dataset that it helps both sampling and learning.}
 }
 
@@ -2255,7 +2371,7 @@
     volume = {11},
       year = {2010},
      pages = {625--660},
-  journal = {Journal of Machine Learning Research},
+  crossref = {JMLR-shorter},
   abstract = {Much recent research has been devoted to learning algorithms for deep architectures such as Deep Belief Networks and stacks of auto-encoder variants, with impressive results obtained in several areas, mostly on vision and language datasets. The best results obtained on supervised learning tasks involve an unsupervised learning component, usually in an unsupervised pre-training phase. Even though these new algorithms have enabled training deep models, many questions remain as to the nature of this difficult learning problem. The main question investigated here is the following: why does unsupervised pre-training work and why does it work so well? Answering these questions is important if learning in deep architectures is to be further improved. We propose several explanatory hypotheses and test them through extensive simulations. We empirically show the influence of pre-training with respect to architecture depth, model capacity, and number of training examples. The experiments confirm and clarify the advantage of unsupervised pre-training. The results suggest that unsupervised pre-training guides the learning towards basins of attraction of minima that are better in terms of the underlying data distribution; the evidence from these results supports a regularization explanation for the effect of pre-training.}
 }
 
@@ -2298,6 +2414,29 @@
 pharmaceutiques dans leur d{\'{e}}couverte de nouveaux m{\'{e}}dicaments.}
 }
 
+@TECHREPORT{Erhan-vis-techreport-2010,
+       author = {Erhan, Dumitru and Courville, Aaron and Bengio, Yoshua},
+        title = {Understanding Representations Learned in Deep Architectures},
+       number = {1355},
+         year = {2010},
+  institution = {Universit{\'{e}} de Montr{\'{e}}al/DIRO},
+     abstract = {Deep architectures have demonstrated state-of-the-art performance in a variety of
+settings, especially with vision datasets. Deep learning algorithms are based on learning
+several levels of representation of the input. Beyond test-set performance, there
+is a need for qualitative comparisons of the solutions learned by various deep architectures,
+focused on those learned representations. One of the goals of our research
+is to improve tools for finding good qualitative interpretations of high level features
+learned by such models. We also seek to gain insight into the invariances learned by
+deep networks. To this end, we contrast and compare several techniques for finding
+such interpretations. We applied our techniques on Stacked Denoising Auto-Encoders
+and Deep Belief Networks, trained on several vision datasets. We show that consistent
+filter-like interpretation is possible and simple to accomplish at the unit level. The tools
+developed make it possible to analyze deep models in more depth and accomplish the
+tracing of invariance manifolds for each of the hidden units. We hope that such techniques
+will allow researchers in deep architectures to understand more of how and why
+deep architectures work.}
+}
+
 @INPROCEEDINGS{Erhan2009,
     author = {Erhan, Dumitru and Manzagol, Pierre-Antoine and Bengio, Yoshua and Bengio, Samy and Vincent, Pascal},
   keywords = {Deep Networks},
@@ -2754,6 +2893,11 @@
            url = {http://snowbird.djvuzone.org/2007/abstracts/161.pdf}
 }
 
+@ARTICLE{JMLR-short,
+   journal = {JMLR},
+      year = {-1}
+}
+
 
 @INPROCEEDINGS{Kegl+Bertin+Eck-2008,
      author = {K{\'{e}}gl, Bal{\'{a}}zs and Bertin-Mahieux, Thierry and Eck, Douglas},
@@ -2833,8 +2977,10 @@
     author = {Larochelle, Hugo and Bengio, Yoshua and Turian, Joseph},
      title = {Tractable Multivariate Binary Density Estimation and the Restricted {Boltzmann} Forest},
    journal = {Neural Computation},
+    volume = {22},
+    number = {9},
       year = {2010},
-      note = {To appear}
+     pages = {2285--2307}
 }
 
 @INPROCEEDINGS{Larochelle+Bengio-2008,
@@ -2865,7 +3011,7 @@
     volume = {10},
       year = {2009},
      pages = {1--40},
-  journal = {Journal of Machine Learning Research},
+  crossref = {JMLR-shorter},
   abstract = {Deep multi-layer neural networks have many levels of non-linearities allowing them to compactly represent highly non-linear and highly-varying functions. However, until recently it was not clear how to train such deep networks, since gradient-based optimization starting from random initialization often appears to get stuck in poor solutions. Hinton et al. recently proposed a greedy layer-wise unsupervised learning procedure relying on the training algorithm of restricted {Boltzmann} machines (RBM) to initialize the parameters of a deep belief network (DBN), a generative model with many layers of hidden causal variables. This was followed by the proposal of another greedy layer-wise procedure, relying on the usage of autoassociator networks. In the context of the above optimization problem, we study these algorithms empirically to better understand their success. Our experiments confirm the hypothesis that the greedy layer-wise unsupervised training strategy helps the optimization by initializing weights in a region near a good local minimum, but also implicitly acts as a sort of regularization that brings better generalization and encourages internal distributed representations that are high-level abstractions of the input. We also present a series of experiments aimed at evaluating the link between the performance of deep neural networks and practical aspects of their topology, for example, demonstrating cases where the addition of more depth helps. Finally, we empirically explore simple variants of these training algorithms, such as the use of different RBM input unit distributions, a simple way of combining gradient estimators to improve performance, as well as on-line versions of those algorithms.}
 }
 
@@ -3029,8 +3175,12 @@
     author = {Le Roux, Nicolas and Bengio, Yoshua},
      title = {Deep Belief Networks are Compact Universal Approximators},
    journal = {Neural Computation},
+    volume = {22},
+    number = {8},
       year = {2010},
-      note = {To appear}
+     pages = {2192-2207},
+      issn = {0899-7667},
+  abstract = {Deep Belief Networks (DBN) are generative models with many layers of hidden causal variables, recently introduced by Hinton et al. (2006), along with a greedy layer-wise unsupervised learning algorithm. Building on Le Roux and Bengio (2008) and Sutskever and Hinton (2008), we show that deep but narrow generative networks do not require more parameters than shallow ones to achieve universal approximation. Exploiting the proof technique, we prove that deep but narrow feed-forward neural networks with sigmoidal units can represent any Boolean expression.}
 }
 
 @TECHREPORT{LeRoux-Bengio-2007-TR,
@@ -3986,7 +4136,7 @@
      title = {The Need for Open Source Software in Machine Learning.},
       year = {2007},
       note = {institution: Fraunhofer Publica [http://publica.fraunhofer.de/oai.har] (Germany)},
-  journal = {Journal of Machine Learning Research},
+  crossref = {JMLR-shorter},
   abstract = {all authors: Sonnenburg, S. and Braun, M.L. and Ong, C.S. and Bengio, S. and Bottou, L. and Holmes, G. and {LeCun}, Y. and M{\~{A}}¼ller, K.-R. and Pereira, F. and Rasmussen, C.E. and R{\~{A}}¤tsch, G. and Sch{\~{A}}{\P}lkopf, B. and Smola, A. and Vincent, P. and Weston, J. and Williamson, R.C.
 
 Open source tools have recently reached a level of maturity which makes them suitable for building large-scale real-world systems. At the same time, the field of machine learning has developed a large body of powerful learning algorithms for diverse applications. However, the true potential of these methods is not used, since existing implementations are not openly shared, resulting in software with low usability, and weak interoperability. We argue that this situation can be significantly improved by increasing incentives for researchers to publish their software under an open source model. Additionally, we outline the problems authors are faced with when trying to publish algorithmic implementations of machine learning methods. We believe that a resource of peer reviewed software accompanied by short articles would be highly valuable to both the machine learning and the general scientific community.}
@@ -4004,6 +4154,16 @@
 topics={Mining},cat={J},
 }
 
+@PHDTHESIS{ThesisChapados2010,
+    author = {Chapados, Nicolas},
+     title = {Sequential Machine learning Approaches for Portfolio Management},
+      year = {2010},
+    school = {Universit{\'{e}} de Montr{\'{e}}al},
+  abstract = {[English follow]
+Cette th{\`{e}}se envisage un ensemble de m{\'{e}}thodes permettant aux algorithmes d'apprentissage statistique de mieux traiter la nature s{\'{e}}quentielle des probl{\`{e}}mes de gestion de portefeuilles financiers. Nous d{\'{e}}butons par une consid{\'{e}}ration du probl{\`{e}}me g{\'{e}}n{\'{e}}ral de la composition d'algorithmes d'apprentissage devant g{\'{e}}rer des t{\^{a}}ches s{\'{e}}quentielles, en particulier celui de la mise-{\`{a}}-jour efficace des ensembles d'apprentissage dans un cadre de validation s{\'{e}}quentielle. Nous {\'{e}}num{\'{e}}rons les desiderata que des primitives de composition doivent satisfaire, et faisons ressortir la difficult{\'{e}} de les atteindre de fa{\c c}on rigoureuse et efficace. Nous poursuivons en pr{\'{e}}sentant un ensemble d'algorithmes qui atteignent ces objectifs et pr{\'{e}}sentons une {\'{e}}tude de cas d'un syst{\`{e}}me complexe de prise de d{\'{e}}cision financi{\`{e}}re utilisant ces techniques. Nous d{\'{e}}crivons ensuite une m{\'{e}}thode g{\'{e}}n{\'{e}}rale permettant de transformer un probl{\`{e}}me de d{\'{e}}cision s{\'{e}}quentielle non-Markovien en un probl{\`{e}}me d'apprentissage supervis{\'{e}} en employant un algorithme de recherche bas{\'{e}} sur les K meilleurs chemins. Nous traitons d'une application en gestion de portefeuille o{\`{u}} nous entra{\^{\i}}nons un algorithme d'apprentissage {\`{a}} optimiser directement un ratio de Sharpe (ou autre crit{\`{e}}re non-additif incorporant une aversion au risque). Nous illustrons l'approche par une {\'{e}}tude exp{\'{e}}rimentale approfondie, proposant une architecture de r{\'{e}}seaux de neurones sp{\'{e}}cialis{\'{e}}e {\`{a}} la gestion de portefeuille et la comparant {\`{a}} plusieurs alternatives. Finalement, nous introduisons une repr{\'{e}}sentation fonctionnelle de s{\'{e}}ries chronologiques permettant {\`{a}} des pr{\'{e}}visions d'{\^{e}}tre effectu{\'{e}}es sur un horizon variable, tout en utilisant un ensemble informationnel r{\'{e}}v{\'{e}}l{\'{e}} de mani{\`{e}}re progressive. L'approche est bas{\'{e}}e sur l'utilisation des processus Gaussiens, lesquels fournissent une matrice de covariance compl{\`{e}}te entre tous les points pour lesquels une pr{\'{e}}vision est demand{\'{e}}e. Cette information est utilis{\'{e}}e {\`{a}} bon escient par un algorithme qui transige activement des {\'{e}}carts de cours (price spreads) entre des contrats {\`{a}} terme sur commodit{\'{e}}s. L'approche propos{\'{e}}e produit, hors {\'{e}}chantillon, un rendement ajust{\'{e}} pour le risque significatif, apr{\`{e}}s frais de transactions, sur un portefeuille de 30 actifs.
+This thesis considers a number of approaches to make machine learning algorithms better suited to the sequential nature of financial portfolio management tasks. We start by considering the problem of the general composition of learning algorithms that must handle temporal learning tasks, in particular that of creating and efficiently updating the training sets in a sequential simulation framework. We enumerate the desiderata that composition primitives should satisfy, and underscore the difficulty of rigorously and efficiently reaching them. We follow by introducing a set of algorithms that accomplish the desired objectives, presenting a case-study of a real-world complex learning system for financial decision-making that uses those techniques. We then describe a general method to transform a non-Markovian sequential decision problem into a supervised learning problem using a K-best paths search algorithm. We consider an application in financial portfolio management where we train a learning algorithm to directly optimize a Sharpe Ratio (or other risk-averse non-additive) utility function. We illustrate the approach by demonstrating extensive experimental results using a neural network architecture specialized for portfolio management and compare against well-known alternatives. Finally, we introduce a functional representation of time series which allows forecasts to be performed over an unspecified horizon with progressively-revealed information sets. By virtue of using Gaussian processes, a complete covariance matrix between forecasts at several time-steps is available. This information is put to use in an application to actively trade price spreads between commodity futures contracts. The approach delivers impressive out-of-sample risk-adjusted returns after transaction costs on a portfolio of 30 spreads.}
+}
+
 @ARTICLE{Thierry+al-2008,
     author = {Bertin-Mahieux, Thierry and Eck, Douglas and Maillet, Fran{\c c}ois and Lamere, Paul},
      title = {Autotagger: A Model For Predicting Social Tags from Acoustic Features on Large Music Databases},
@@ -4324,6 +4484,9 @@
       title = {Quadratic Features and Deep Architectures for Chunking},
   booktitle = {North American Chapter of the Association for Computational Linguistics - Human Language Technologies (NAACL HLT)},
        year = {2009},
+      pages = {245--248},
+  publisher = {Association for Computational Linguistics},
+        url = {http://www.aclweb.org/anthology/N/N09/N09-2062},
    abstract = {We experiment with several chunking models. Deeper architectures achieve better generalization. Quadratic filters, a simplification of theoretical model of V1 complex cells, reliably increase accuracy. In fact, logistic regression with quadratic filters outperforms a standard single hidden layer neural network. Adding quadratic filters to logistic regression is almost as effective as feature engineering. Despite predicting each output label independently, our model is competitive with ones that use previous decisions.}
 }
 
@@ -4339,8 +4502,10 @@
 @INPROCEEDINGS{Turian+Ratinov+Bengio-2010,
      author = {Turian, Joseph and Ratinov, Lev and Bengio, Yoshua},
       title = {Word representations: A simple and general method for semi-supervised learning},
-  booktitle = {Association for Computational Linguistics(ACL2010)},
-       year = {2010}
+  booktitle = {Proceedings of the 48th Annual Meeting of the Association for Computational Linguistics(ACL2010)},
+       year = {2010},
+      pages = {384--394},
+  publisher = {Association for Computational Linguistics},
 }
 
 @INPROCEEDINGS{Vincent-Bengio-2003,
@@ -4353,6 +4518,14 @@
 topics={HighDimensional,Kernel,Unsupervised},cat={C},
 }
 
+@ARTICLE{Vincent-JMLR-2010,
+    author = {Vincent, Pascal and Larochelle, Hugo and Lajoie, Isabelle and Bengio, Yoshua and Manzagol, Pierre-Antoine},
+     title = {Stacked Denoising Autoencoders: learning useful representations in a deep network with a local denoising criterion},
+   journal = {JMLR},
+      year = {2010},
+      note = {to appear}
+}
+
 @TECHREPORT{Vincent-TR1316,
        author = {Vincent, Pascal and Larochelle, Hugo and Bengio, Yoshua and Manzagol, Pierre-Antoine},
         title = {Extracting and Composing Robust Features with Denoising Autoencoders},
@@ -4461,6 +4634,11 @@
   publisher = {MIT Press}
 }
 
+@ARTICLE{JMLR,
+   journal = {Journal of Machine Learning Research},
+      year = {-1}
+}
+
 @INPROCEEDINGS{NIPS19,
      editor = {{Sch{\"{o}}lkopf}, Bernhard and Platt, John and Hoffman, Thomas},
       title = {Advances in Neural Information Processing Systems 19 (NIPS'06)},
@@ -4552,19 +4730,19 @@
        year = {-1}
 }
 
-@INPROCEEDINGS{ICML08,
+@PROCEEDINGS{ICML08,
      editor = {Cohen, William W. and McCallum, Andrew and Roweis, Sam T.},
       title = {Proceedings of the Twenty-fifth International Conference on Machine Learning (ICML'08)},
   booktitle = {Proceedings of the Twenty-fifth International Conference on Machine Learning (ICML'08)},
-       year = {-1},
+       year = {2008},
   publisher = {ACM}
 }
 
-@INPROCEEDINGS{ICML07,
+@PROCEEDINGS{ICML07,
      editor = {Ghahramani, Zoubin},
       title = {Proceedings of the 24th International Conference on Machine Learning (ICML'07)},
   booktitle = {Proceedings of the 24th International Conference on Machine Learning (ICML'07)},
-       year = {-1},
+       year = {2007},
   publisher = {ACM}
 }
 
@@ -4692,6 +4870,10 @@
        year = {-1},
   publisher = {Morgan Kaufmann}
 }
+@ARTICLE{JMLR-shorter,
+   journal = {JMLR},
+      year = {-1}
+}
 @INPROCEEDINGS{NIPS1-shorter,
       title = {NIPS'88},
   booktitle = {NIPS 1},
@@ -4826,5 +5008,3 @@
   booktitle = {AISTATS'2009},
        year = {-1}
 }
-
-
--- a/writeup/aistats2011_submission.tex	Sun Oct 31 22:40:33 2010 -0400
+++ b/writeup/aistats2011_submission.tex	Mon Nov 22 14:52:33 2010 -0500
@@ -21,7 +21,7 @@
 \begin{document}
 
 \twocolumn[
-\aistatstitle{Deeper Learners Benefit More from Multi-Task and Perturbed Examples}
+\aistatstitle{Deep Learners Benefit More from Out-of-Distribution Examples}
 \runningtitle{Deep Learners for Out-of-Distribution Examples}
 \runningauthor{Bengio et. al.}
 \aistatsauthor{Anonymous Authors}]
@@ -57,9 +57,7 @@
 
 %\vspace*{-2mm}
 \begin{abstract}
-  Recent theoretical and empirical work in statistical machine learning has demonstrated the potential of learning algorithms for deep architectures, i.e., function classes obtained by composing multiple levels of representation. The hypothesis evaluated here is that intermediate levels of representation, because
-they can be shared across tasks and examples from different but related 
-distributions, can yield even more benefits where there are more such levels of representation. The experiments are performed on a large-scale handwritten character recognition setting with 62 classes (upper case, lower case, digits). We show that a deep learner could not only {\em beat previously published results but also reach human-level performance}.
+  Recent theoretical and empirical work in statistical machine learning has demonstrated the potential of learning algorithms for deep architectures, i.e., function classes obtained by composing multiple levels of representation. The hypothesis evaluated here is that intermediate levels of representation, because they can be shared across tasks and examples from different but related distributions, can yield even more benefits. Comparative experiments were performed on a large-scale handwritten character recognition setting with 62 classes (upper case, lower case, digits), using both a multi-task setting and perturbed examples in order to obtain out-of-distribution examples. The results agree with the hypothesis, and show that a deep learner did {\em beat previously published results and reached human-level performance}.
 \end{abstract}
 %\vspace*{-3mm}
 
@@ -74,7 +72,7 @@
 %\vspace*{-1mm}
 
 {\bf Deep Learning} has emerged as a promising new area of research in
-statistical machine learning~\citep{Hinton06,ranzato-07-small,Bengio-nips-2006,VincentPLarochelleH2008,ranzato-08,TaylorHintonICML2009,Larochelle-jmlr-2009,Salakhutdinov+Hinton-2009,HonglakL2009,HonglakLNIPS2009,Jarrett-ICCV2009,Taylor-cvpr-2010}. See \citet{Bengio-2009} for a review.
+statistical machine learning~\citep{Hinton06,ranzato-07-small,Bengio-nips-2006,VincentPLarochelleH2008-very-small,ranzato-08,TaylorHintonICML2009,Larochelle-jmlr-2009,Salakhutdinov+Hinton-2009,HonglakL2009,HonglakLNIPS2009,Jarrett-ICCV2009,Taylor-cvpr-2010}. See \citet{Bengio-2009} for a review.
 Learning algorithms for deep architectures are centered on the learning
 of useful representations of data, which are better suited to the task at hand,
 and are organized in a hierarchy with multiple levels.
@@ -86,7 +84,7 @@
 of visual cortex) \citep{HonglakL2008}, and that they become more and
 more invariant to factors of variation (such as camera movement) in
 higher layers~\citep{Goodfellow2009}.
-Learning a hierarchy of features increases the
+It has been hypothesized that learning a hierarchy of features increases the
 ease and practicality of developing representations that are at once
 tailored to specific tasks, yet are able to borrow statistical strength
 from other related tasks (e.g., modeling different kinds of objects). Finally, learning the
@@ -116,17 +114,17 @@
 in terms of unsupervised extraction
 of a hierarchy of features useful for classification. Each layer is trained
 to denoise its input, creating a layer of features that can be used as
-input for the next layer. Note that training a Denoising Auto-Encoder
+input for the next layer, forming a Stacked Denoising Auto-encoder (SDA).
+Note that training a Denoising Auto-encoder
 can actually been seen as training a particular RBM by an inductive
-principle different from maximum likelihood~\citep{ift6266-tr-anonymous}, % Vincent-SM-2010}, 
+principle different from maximum likelihood~\citep{Vincent-SM-2010}, 
 namely by Score Matching~\citep{Hyvarinen-2005,HyvarinenA2008}. 
 
 Previous comparative experimental results with stacking of RBMs and DAs
 to build deep supervised predictors had shown that they could outperform
-shallow architectures in a variety of settings (see~\citet{Bengio-2009}
-for a review), especially
+shallow architectures in a variety of settings, especially
 when the data involves complex interactions between many factors of 
-variation~\citep{LarochelleH2007}. Other experiments have suggested
+variation~\citep{LarochelleH2007,Bengio-2009}. Other experiments have suggested
 that the unsupervised layer-wise pre-training acted as a useful
 prior~\citep{Erhan+al-2010} that allows one to initialize a deep
 neural network in a relatively much smaller region of parameter space, 
@@ -141,7 +139,7 @@
 (the multi-task setting), or examples coming from an overlapping
 but different distribution (images with different kinds of perturbations
 and noises, here). This is consistent with the hypotheses discussed
-at length in~\citet{Bengio-2009} regarding the potential advantage
+in~\citet{Bengio-2009} regarding the potential advantage
 of deep learning and the idea that more levels of representation can
 give rise to more abstract, more general features of the raw input.
 
@@ -196,25 +194,14 @@
 %\end{enumerate}
 
 Our experimental results provide positive evidence towards all of these questions,
-as well as {\em classifiers that reach human-level performance on 62-class isolated character
+as well as {\bf classifiers that reach human-level performance on 62-class isolated character
 recognition and beat previously published results on the NIST dataset (special database 19)}.
 To achieve these results, we introduce in the next section a sophisticated system
 for stochastically transforming character images and then explain the methodology,
 which is based on training with or without these transformed images and testing on 
-clean ones. We measure the relative advantage of out-of-distribution examples
-(perturbed or out-of-class)
-for a deep learner vs a supervised shallow one.
+clean ones. 
 Code for generating these transformations as well as for the deep learning 
 algorithms are made available at {\tt http://anonymous.url.net}.%{\tt http://hg.assembla.com/ift6266}.
-We also estimate the relative advantage for deep learners of training with
-other classes than those of interest, by comparing learners trained with
-62 classes with learners trained with only a subset (on which they
-are then tested).
-The conclusion discusses
-the more general question of why deep learners may benefit so much from 
-out-of-distribution examples. Since out-of-distribution data
-(perturbed or from other related classes) is very common, this conclusion
-is of practical importance.
 
 %\vspace*{-3mm}
 %\newpage
@@ -231,12 +218,12 @@
 improve character recognizers, this effort is on a large scale both
 in number of classes and in the complexity of the transformations, hence
 in the complexity of the learning task.
-The code for these transformations (mostly python) is available at 
-{\tt http://anonymous.url.net}. All the modules in the pipeline share
+The code for these transformations (mostly Python) is available at 
+{\tt http://anonymous.url.net}. All the modules in the pipeline (Figure~\ref{fig:transform}) share
 a global control parameter ($0 \le complexity \le 1$) that allows one to modulate the
 amount of deformation or noise introduced. 
 There are two main parts in the pipeline. The first one,
-from slant to pinch below, performs transformations. The second
+from thickness to pinch, performs transformations. The second
 part, from blur to contrast, adds different kinds of noise.
 More details can be found in~\citep{ift6266-tr-anonymous}.
 
@@ -272,14 +259,15 @@
 
 Much previous work on deep learning had been performed on
 the MNIST digits task~\citep{Hinton06,ranzato-07-small,Bengio-nips-2006,Salakhutdinov+Hinton-2009},
-with 60~000 examples, and variants involving 10~000
-examples~\citep{Larochelle-jmlr-2009,VincentPLarochelleH2008}.
+with 60,000 examples, and variants involving 10,000
+examples~\citep{Larochelle-jmlr-2009,VincentPLarochelleH2008-very-small}.
 The focus here is on much larger training sets, from 10 times to 
 to 1000 times larger, and 62 classes.
 
 The first step in constructing the larger datasets (called NISTP and P07) is to sample from
 a {\em data source}: {\bf NIST} (NIST database 19), {\bf Fonts}, {\bf Captchas},
-and {\bf OCR data} (scanned machine printed characters). Once a character
+and {\bf OCR data} (scanned machine printed characters). See more in 
+Section~\ref{sec:sources} below. Once a character
 is sampled from one of these sources (chosen randomly), the second step is to
 apply a pipeline of transformations and/or noise processes outlined in section \ref{s:perturbations}.
 
@@ -297,8 +285,9 @@
 %processing \citep{SnowEtAl2008} and vision
 %\citep{SorokinAndForsyth2008,whitehill09}. 
 AMT users were presented
-with 10 character images (from a test set) and asked to choose 10 corresponding ASCII
-characters. They were forced to choose a single character class (either among the
+with 10 character images (from a test set) on a screen
+and asked to label them.
+They were forced to choose a single character class (either among the
 62 or 10 character classes) for each image.
 80 subjects classified 2500 images per (dataset,task) pair.
 Different humans labelers sometimes provided a different label for the same
@@ -309,6 +298,7 @@
 
 %\vspace*{-3mm}
 \subsection{Data Sources}
+\label{sec:sources}
 %\vspace*{-2mm}
 
 %\begin{itemize}
@@ -320,10 +310,10 @@
 The dataset is composed of 814255 digits and characters (upper and lower cases), with hand checked classifications,
 extracted from handwritten sample forms of 3600 writers. The characters are labelled by one of the 62 classes 
 corresponding to ``0''-``9'',``A''-``Z'' and ``a''-``z''. The dataset contains 8 parts (partitions) of varying complexity. 
-The fourth partition (called $hsf_4$, 82587 examples), 
+The fourth partition (called $hsf_4$, 82,587 examples), 
 experimentally recognized to be the most difficult one, is the one recommended 
 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}
-for that purpose. We randomly split the remainder (731668 examples) into a training set and a validation set for
+for that purpose. We randomly split the remainder (731,668 examples) into a training set and a validation set for
 model selection. 
 The performances reported by previous work on that dataset mostly use only the digits.
 Here we use all the classes both in the training and testing phase. This is especially
@@ -339,14 +329,14 @@
 In order to have a good variety of sources we downloaded an important number of free fonts from:
 {\tt http://cg.scs.carleton.ca/\textasciitilde luc/freefonts.html}.
 % TODO: pointless to anonymize, it's not pointing to our work
-Including the operating system's (Windows 7) fonts, there is a total of $9817$ different fonts that we can choose uniformly from.
+Including an operating system's (Windows 7) fonts, there is a total of $9817$ different fonts that we can choose uniformly from.
 The chosen {\tt ttf} file is either used as input of the Captcha generator (see next item) or, by producing a corresponding image, 
 directly as input to our models.
 %\vspace*{-1mm}
 
 %\item 
 {\bf Captchas.}
-The Captcha data source is an adaptation of the \emph{pycaptcha} library (a python based captcha generator library) for 
+The Captcha data source is an adaptation of the \emph{pycaptcha} library (a Python-based captcha generator library) for 
 generating characters of the same format as the NIST dataset. This software is based on
 a random character class generator and various kinds of transformations similar to those described in the previous sections. 
 In order to increase the variability of the data generated, many different fonts are used for generating the characters. 
@@ -376,7 +366,7 @@
 
 %\item 
 {\bf NIST.} This is the raw NIST special database 19~\citep{Grother-1995}. It has
-\{651668 / 80000 / 82587\} \{training / validation / test\} examples.
+\{651,668 / 80,000 / 82,587\} \{training / validation / test\} examples.
 %\vspace*{-1mm}
 
 %\item 
@@ -385,16 +375,19 @@
 For each new example to generate, a data source is selected with probability $10\%$ from the fonts,
 $25\%$ from the captchas, $25\%$ from the OCR data and $40\%$ from NIST. We apply all the transformations in the
 order given above, and for each of them we sample uniformly a \emph{complexity} in the range $[0,0.7]$.
-It has \{81920000 / 80000 / 20000\} \{training / validation / test\} examples.
+It has \{81,920,000 / 80,000 / 20,000\} \{training / validation / test\} examples
+obtained from the corresponding NIST sets plus other sources.
 %\vspace*{-1mm}
 
 %\item 
 {\bf NISTP.} This one is equivalent to P07 (complexity parameter of $0.7$ with the same proportions of data sources)
   except that we only apply
-  transformations from slant to pinch. Therefore, the character is
+  transformations from slant to pinch (see Fig.\ref{fig:transform}(b-f)).
+  Therefore, the character is
   transformed but no additional noise is added to the image, giving images
   closer to the NIST dataset. 
-It has \{81920000 / 80000 / 20000\} \{training / validation / test\} examples.
+It has \{81,920,000 / 80,000 / 20,000\} \{training / validation / test\} examples
+obtained from the corresponding NIST sets plus other sources.
 %\end{itemize}
 
 \begin{figure*}[ht]
@@ -414,11 +407,11 @@
 \end{figure*}
 
 %\vspace*{-3mm}
-\subsection{Models and their Hyperparameters}
+\subsection{Models and their Hyper-parameters}
 %\vspace*{-2mm}
 
 The experiments are performed using MLPs (with a single
-hidden layer) and SDAs.
+hidden layer) and deep SDAs.
 \emph{Hyper-parameters are selected based on the {\bf NISTP} validation set error.}
 
 {\bf Multi-Layer Perceptrons (MLP).}
@@ -427,7 +420,7 @@
 (making the use of SVMs computationally challenging because of their quadratic
 scaling behavior). Preliminary experiments on training SVMs (libSVM) with subsets of the training
 set allowing the program to fit in memory yielded substantially worse results
-than those obtained with MLPs. For training on nearly a billion examples
+than those obtained with MLPs. For training on nearly a hundred million examples
 (with the perturbed data), the MLPs and SDA are much more convenient than
 classifiers based on kernel methods.
 The MLP has a single hidden layer with $\tanh$ activation functions, and softmax (normalized
@@ -441,7 +434,7 @@
 %\vspace*{-1mm}
 
 
-{\bf Stacked Denoising Auto-Encoders (SDA).}
+{\bf Stacked Denoising Auto-encoders (SDA).}
 Various auto-encoder variants and Restricted Boltzmann Machines (RBMs)
 can be used to initialize the weights of each layer of a deep MLP (with many hidden 
 layers)~\citep{Hinton06,ranzato-07-small,Bengio-nips-2006}, 
@@ -461,13 +454,15 @@
 compositions of simpler ones through a deep hierarchy).
 
 Here we chose to use the Denoising
-Auto-encoder~\citep{VincentPLarochelleH2008} as the building block for
+Auto-encoder~\citep{VincentPLarochelleH2008-very-small} as the building block for
 these deep hierarchies of features, as it is simple to train and
 explain (see Figure~\ref{fig:da}, as well as 
 tutorial and code there: {\tt http://deeplearning.net/tutorial}), 
 provides efficient inference, and yielded results
 comparable or better than RBMs in series of experiments
-\citep{VincentPLarochelleH2008}. During training, a Denoising
+\citep{VincentPLarochelleH2008-very-small}. It really corresponds to a Gaussian
+RBM trained by a Score Matching criterion~\cite{Vincent-SM-2010}.
+During training, a Denoising
 Auto-encoder is presented with a stochastically corrupted version
 of the input and trained to reconstruct the uncorrupted input,
 forcing the hidden units to represent the leading regularities in
@@ -478,7 +473,7 @@
 be used as inputs for training a second one, etc.
 After this unsupervised pre-training stage, the parameters
 are used to initialize a deep MLP, which is fine-tuned by
-the same standard procedure used to train them (see previous section).
+the same standard procedure used to train them (see above).
 The SDA hyper-parameters are the same as for the MLP, with the addition of the
 amount of corruption noise (we used the masking noise process, whereby a
 fixed proportion of the input values, randomly selected, are zeroed), and a
@@ -486,7 +481,7 @@
 from the same above set). The fraction of inputs corrupted was selected
 among $\{10\%, 20\%, 50\%\}$. Another hyper-parameter is the number
 of hidden layers but it was fixed to 3 based on previous work with
-SDAs on MNIST~\citep{VincentPLarochelleH2008}. The size of the hidden
+SDAs on MNIST~\citep{VincentPLarochelleH2008-very-small}. The size of the hidden
 layers was kept constant across hidden layers, and the best results
 were obtained with the largest values that we could experiment
 with given our patience, with 1000 hidden units.
@@ -532,10 +527,11 @@
 %%\vspace*{-1mm}
 The models are either trained on NIST (MLP0 and SDA0), 
 NISTP (MLP1 and SDA1), or P07 (MLP2 and SDA2), and tested
-on either NIST, NISTP or P07, either on the 62-class task
-or on the 10-digits task. Training (including about half
+on either NIST, NISTP or P07 (regardless of the data set used for training),
+either on the 62-class task
+or on the 10-digits task. Training time (including about half
 for unsupervised pre-training, for DAs) on the larger
-datasets takes around one day on a GPU-285.
+datasets is around one day on a GPU (GTX 285).
 Figure~\ref{fig:error-rates-charts} summarizes the results obtained,
 comparing humans, the three MLPs (MLP0, MLP1, MLP2) and the three SDAs (SDA0, SDA1,
 SDA2), along with the previous results on the digits NIST special database
@@ -558,12 +554,13 @@
 In addition, as shown in the left of
 Figure~\ref{fig:improvements-charts}, the relative improvement in error
 rate brought by out-of-distribution examples is greater for the deep
-stacked SDA, and these
+SDA, and these
 differences with the shallow MLP are statistically and qualitatively
 significant. 
 The left side of the figure shows the improvement to the clean
 NIST test set error brought by the use of out-of-distribution examples
-(i.e. the perturbed examples examples from NISTP or P07). 
+(i.e. the perturbed examples examples from NISTP or P07),
+over the models trained exclusively on NIST (respectively SDA0 and MLP0).
 Relative percent change is measured by taking
 $100 \% \times$ (original model's error / perturbed-data model's error - 1).
 The right side of
@@ -576,7 +573,7 @@
 for the SDA.  Note that to simplify these multi-task experiments, only the original
 NIST dataset is used. For example, the MLP-digits bar shows the relative
 percent improvement in MLP error rate on the NIST digits test set 
-is $100\% \times$ (single-task
+as $100\% \times$ (single-task
 model's error / multi-task model's error - 1).  The single-task model is
 trained with only 10 outputs (one per digit), seeing only digit examples,
 whereas the multi-task model is trained with 62 outputs, with all 62
@@ -585,7 +582,8 @@
 comparing the correct digit class with the output class associated with the
 maximum conditional probability among only the digit classes outputs.  The
 setting is similar for the other two target classes (lower case characters
-and upper case characters).
+and upper case characters). Note however that some types of perturbations
+(NISTP) help more than others (P07) when testing on the clean images.
 %%\vspace*{-1mm}
 %\subsection{Perturbed Training Data More Helpful for SDA}
 %%\vspace*{-1mm}
@@ -651,12 +649,15 @@
 images (65\% relative improvement on NISTP) 
 but only marginally helped (5\% relative improvement on all classes) 
 or even hurt (10\% relative loss on digits)
-with respect to clean examples . On the other hand, the deep SDAs
+with respect to clean examples. On the other hand, the deep SDAs
 were significantly boosted by these out-of-distribution examples.
 Similarly, whereas the improvement due to the multi-task setting was marginal or
 negative for the MLP (from +5.6\% to -3.6\% relative change), 
 it was quite significant for the SDA (from +13\% to +27\% relative change),
 which may be explained by the arguments below.
+Since out-of-distribution data
+(perturbed or from other related classes) is very common, this conclusion
+is of practical importance.
 %\end{itemize}
 
 In the original self-taught learning framework~\citep{RainaR2007}, the
@@ -668,8 +669,12 @@
 We note instead that, for deep
 architectures, our experiments show that such a positive effect is accomplished
 even in a scenario with a \emph{large number of labeled examples},
-i.e., here, the relative gain of self-taught learning is probably preserved
-in the asymptotic regime.
+i.e., here, the relative gain of self-taught learning and
+out-of-distribution examples is probably preserved
+in the asymptotic regime. However, note that in our perturbation experiments
+(but not in our multi-task experiments), 
+even the out-of-distribution examples are labeled, unlike in the
+earlier self-taught learning experiments~\citep{RainaR2007}.
 
 {\bf Why would deep learners benefit more from the self-taught learning 
 framework and out-of-distribution examples}?
--- a/writeup/ift6266_ml.bib	Sun Oct 31 22:40:33 2010 -0400
+++ b/writeup/ift6266_ml.bib	Mon Nov 22 14:52:33 2010 -0500
@@ -1688,7 +1688,6 @@
   address =      "Santa Cruz, California",
   pages =        "311--320",
   year =         "1995",
-  url =          "http://citeseer.ist.psu.edu/baxter95learning.html",
 }
 
 @Unpublished{baxter95b,
@@ -25843,3 +25842,13 @@
  institution = "University X.",
  year = 2010,
 }
+
+
+@techreport{Vincent-SM-2010,
+ author = "Pascal Vincent",
+ title = "A connection between {S}core {M}atching and {D}enoising {A}utoencoders",
+ institution = "Universite de Montreal",
+ number = 1359,
+ year = 2010,
+}
+ 
\ No newline at end of file
--- a/writeup/nips10submit_e.sty	Sun Oct 31 22:40:33 2010 -0400
+++ b/writeup/nips10submit_e.sty	Mon Nov 22 14:52:33 2010 -0500
@@ -32,7 +32,7 @@
 
 % Define nipsfinal, set to true if nipsfinalcopy is defined  
 \newif\ifnipsfinal
-\nipsfinalfalse
+\nipsfinaltrue
 \def\nipsfinalcopy{\nipsfinaltrue}
 \font\nipstenhv  = phvb at 8pt % *** IF THIS FAILS, SEE nips10submit_e.sty ***
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/writeup/nips2010_cameraready.tex	Mon Nov 22 14:52:33 2010 -0500
@@ -0,0 +1,1076 @@
+\documentclass{article} % For LaTeX2e
+\usepackage{nips10submit_e,times}
+\usepackage{wrapfig}
+\usepackage{amsthm,amsmath,bbm} 
+\usepackage[psamsfonts]{amssymb}
+\usepackage{algorithm,algorithmic}
+\usepackage[utf8]{inputenc}
+\usepackage{graphicx,subfigure}
+\usepackage[numbers]{natbib}
+
+\addtolength{\textwidth}{20mm}
+\addtolength{\textheight}{20mm}
+\addtolength{\topmargin}{-10mm}
+\addtolength{\evensidemargin}{-10mm}
+\addtolength{\oddsidemargin}{-10mm}
+
+%\setlength\parindent{0mm}
+
+\title{Deep Self-Taught Learning for Handwritten Character Recognition}
+\author{
+Frédéric  Bastien, 
+Yoshua  Bengio, 
+Arnaud  Bergeron, 
+Nicolas  Boulanger-Lewandowski,
+Thomas  Breuel,\\ 
+{\bf Youssouf  Chherawala, 
+Moustapha  Cisse, 
+Myriam  Côté, 
+Dumitru  Erhan,
+Jeremy  Eustache,}\\
+{\bf Xavier  Glorot, 
+Xavier  Muller,
+Sylvain  Pannetier Lebeuf,
+Razvan  Pascanu,} \\
+{\bf Salah  Rifai, 
+Francois  Savard, 
+Guillaume  Sicard}\\
+Dept. IRO, U. Montreal 
+}
+
+\begin{document}
+
+%\makeanontitle
+\maketitle
+
+\vspace*{-2mm}
+\begin{abstract}
+  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 them than a corresponding shallow learner}, at least in the area of
+  handwritten character recognition. In fact, we show that they reach
+  human-level performance on both handwritten digit classification and
+  62-class handwritten character recognition.  
+\end{abstract}
+\vspace*{-3mm}
+
+\section{Introduction}
+\vspace*{-1mm}
+
+{\bf Deep Learning} has emerged as a promising new area of research in
+statistical machine learning~\citep{Hinton06,ranzato-07-small,Bengio-nips-2006,VincentPLarochelleH2008-very-small,ranzato-08,TaylorHintonICML2009,Larochelle-jmlr-2009,Salakhutdinov+Hinton-2009,HonglakL2009,HonglakLNIPS2009,Jarrett-ICCV2009,Taylor-cvpr-2010}. See \citet{Bengio-2009} for a review.
+Learning algorithms for deep architectures are centered on the learning
+of useful representations of data, which are better suited to the task at hand,
+and are organized in a hierarchy with multiple levels.
+This is in part inspired by observations of the mammalian visual cortex, 
+which consists of a chain of processing elements, each of which is associated with a
+different representation of the raw visual input. In fact,
+it was found recently that the features learnt in deep architectures resemble
+those observed in the first two of these stages (in areas V1 and V2
+of visual cortex)~\citep{HonglakL2008}, and that they become more and
+more invariant to factors of variation (such as camera movement) in
+higher layers~\citep{Goodfellow2009}.
+It has been hypothesized that learning a hierarchy of features increases the
+ease and practicality of developing representations that are at once
+tailored to specific tasks, yet are able to borrow statistical strength
+from other related tasks (e.g., modeling different kinds of objects). Finally, learning the
+feature representation can lead to higher-level (more abstract, more
+general) features that are more robust to unanticipated sources of
+variance extant in real data.
+
+{\bf Self-taught learning}~\citep{RainaR2007} is a paradigm that combines principles
+of semi-supervised and multi-task learning: the learner can exploit examples
+that are unlabeled and possibly come from a distribution different from the target
+distribution, e.g., from other classes than those of interest. 
+It has already been shown that deep learners can clearly take advantage of
+unsupervised learning and unlabeled examples~\citep{Bengio-2009,WestonJ2008-small},
+but more needs to be done to explore the impact
+of {\em out-of-distribution} examples and of the multi-task setting
+(one exception is~\citep{CollobertR2008}, which uses a different kind
+of learning algorithm). In particular the {\em relative
+advantage} of deep learning for these settings has not been evaluated.
+The hypothesis discussed in the conclusion is that a deep hierarchy of features
+may be better able to provide sharing of statistical strength
+between different regions in input space or different tasks.
+
+\iffalse
+Whereas a deep architecture can in principle be more powerful than a
+shallow one in terms of representation, depth appears to render the
+training problem more difficult in terms of optimization and local minima.
+It is also only recently that successful algorithms were proposed to
+overcome some of these difficulties.  All are based on unsupervised
+learning, often in an greedy layer-wise ``unsupervised pre-training''
+stage~\citep{Bengio-2009}.  
+The principle is that each layer starting from
+the bottom is trained to represent its input (the output of the previous
+layer). After this
+unsupervised initialization, the stack of layers can be
+converted into a deep supervised feedforward neural network and fine-tuned by
+stochastic gradient descent.
+One of these layer initialization techniques,
+applied here, is the Denoising
+Auto-encoder~(DA)~\citep{VincentPLarochelleH2008-very-small} (see
+Figure~\ref{fig:da}), which performed similarly or 
+better~\citep{VincentPLarochelleH2008-very-small} than previously
+proposed Restricted Boltzmann Machines (RBM)~\citep{Hinton06} 
+in terms of unsupervised extraction
+of a hierarchy of features useful for classification. Each layer is trained
+to denoise its input, creating a layer of features that can be used as
+input for the next layer, forming a Stacked Denoising Auto-encoder (SDA).
+Note that training a Denoising Auto-encoder
+can actually been seen as training a particular RBM by an inductive
+principle different from maximum likelihood~\citep{Vincent-SM-2010}, 
+namely by Score Matching~\citep{Hyvarinen-2005,HyvarinenA2008}. 
+\fi
+
+Previous comparative experimental results with stacking of RBMs and DAs
+to build deep supervised predictors had shown that they could outperform
+shallow architectures in a variety of settings, especially
+when the data involves complex interactions between many factors of 
+variation~\citep{LarochelleH2007,Bengio-2009}. Other experiments have suggested
+that the unsupervised layer-wise pre-training acted as a useful
+prior~\citep{Erhan+al-2010} that allows one to initialize a deep
+neural network in a relatively much smaller region of parameter space, 
+corresponding to better generalization.
+
+To further the understanding of the reasons for the good performance
+observed with deep learners, we focus here on the following {\em hypothesis}:
+intermediate levels of representation, especially when there are
+more such levels, can be exploited to {\bf share
+statistical strength across different but related types of examples},
+such as examples coming from other tasks than the task of interest
+(the multi-task setting), or examples coming from an overlapping
+but different distribution (images with different kinds of perturbations
+and noises, here). This is consistent with the hypotheses discussed
+in~\citet{Bengio-2009} regarding the potential advantage
+of deep learning and the idea that more levels of representation can
+give rise to more abstract, more general features of the raw input.
+
+This hypothesis is related to a learning setting called
+{\bf self-taught learning}~\citep{RainaR2007}, which combines principles
+of semi-supervised and multi-task learning: the learner can exploit examples
+that are unlabeled and possibly come from a distribution different from the target
+distribution, e.g., from other classes than those of interest. 
+It has already been shown that deep learners can clearly take advantage of
+unsupervised learning and unlabeled examples~\citep{Bengio-2009,WestonJ2008-small},
+but more needed to be done to explore the impact
+of {\em out-of-distribution} examples and of the {\em multi-task} setting
+(one exception is~\citep{CollobertR2008}, which shares and uses unsupervised
+pre-training only with the first layer). In particular the {\em relative
+advantage of deep learning} for these settings has not been evaluated.
+
+
+%
+The {\bf main claim} of this paper is that deep learners (with several levels of representation) can
+{\bf benefit more from out-of-distribution examples than shallow learners} (with a single
+level), both in the context of the multi-task setting and from
+ perturbed examples. Because we are able to improve on state-of-the-art
+performance and reach human-level performance
+on a large-scale task, we consider that this paper is also a contribution
+to advance the application of machine learning to handwritten character recognition.
+More precisely, we ask and answer the following questions:
+
+%\begin{enumerate}
+$\bullet$ %\item 
+Do the good results previously obtained with deep architectures on the
+MNIST digit images generalize to the setting of a similar but much larger and richer
+dataset, the NIST special database 19, with 62 classes and around 800k examples?
+
+$\bullet$ %\item 
+To what extent does the perturbation of input images (e.g. adding
+noise, affine transformations, background images) make the resulting
+classifiers better not only on similarly perturbed images but also on
+the {\em original clean examples}? We study this question in the
+context of the 62-class and 10-class tasks of the NIST special database 19.
+
+$\bullet$ %\item 
+Do deep architectures {\em benefit {\bf more} from such out-of-distribution}
+examples, in particular do they benefit more from 
+examples that are perturbed versions of the examples from the task of interest?
+
+$\bullet$ %\item 
+Similarly, does the feature learning step in deep learning algorithms benefit {\bf more}
+from training with moderately {\em different classes} (i.e. a multi-task learning scenario) than
+a corresponding shallow and purely supervised architecture?
+We train on 62 classes and test on 10 (digits) or 26 (upper case or lower case)
+to answer this question.
+%\end{enumerate}
+
+Our experimental results provide positive evidence towards all of these questions,
+as well as {\bf classifiers that reach human-level performance on 62-class isolated character
+recognition and beat previously published results on the NIST dataset (special database 19)}.
+To achieve these results, we introduce in the next section a sophisticated system
+for stochastically transforming character images and then explain the methodology,
+which is based on training with or without these transformed images and testing on 
+clean ones. 
+Code for generating these transformations as well as for the deep learning 
+algorithms are made available at {\tt http://hg.assembla.com/ift6266}.
+
+\vspace*{-3mm}
+%\newpage
+\section{Perturbed and Transformed Character Images}
+\label{s:perturbations}
+\vspace*{-2mm}
+
+\begin{minipage}[h]{\linewidth}
+\begin{wrapfigure}[8]{l}{0.15\textwidth}
+%\begin{minipage}[b]{0.14\linewidth}
+\vspace*{-5mm}
+\begin{center}
+\includegraphics[scale=.4]{images/Original.png}\\
+{\bf Original}
+\end{center}
+\end{wrapfigure}
+%\vspace{0.7cm}
+%\end{minipage}%
+%\hspace{0.3cm}\begin{minipage}[b]{0.86\linewidth}
+This section describes the different transformations we used to stochastically
+transform $32 \times 32$ source images (such as the one on the left)
+in order to obtain data from a larger distribution which
+covers a domain substantially larger than the clean characters distribution from
+which we start.
+Although character transformations have been used before to
+improve character recognizers, this effort is on a large scale both
+in number of classes and in the complexity of the transformations, hence
+in the complexity of the learning task.
+More details can
+be found in this technical report~\citep{ARXIV-2010}.
+The code for these transformations (mostly python) is available at 
+{\tt http://hg.assembla.com/ift6266}. All the modules in the pipeline share
+a global control parameter ($0 \le complexity \le 1$) that allows one to modulate the
+amount of deformation or noise introduced. 
+There are two main parts in the pipeline. The first one,
+from thickness to pinch, performs transformations. The second
+part, from blur to contrast, adds different kinds of noise.
+\end{minipage}
+
+\vspace*{1mm}
+%\subsection{Transformations}
+{\large\bf 2.1 Transformations}
+\vspace*{1mm}
+
+
+\begin{minipage}[h]{\linewidth}
+\begin{wrapfigure}[7]{l}{0.15\textwidth}
+%\begin{minipage}[b]{0.14\linewidth}
+%\centering
+\begin{center}
+\vspace*{-5mm}
+\includegraphics[scale=.4]{images/Thick_only.png}\\
+{\bf Thickness}
+\end{center}
+%\vspace{.6cm}
+%\end{minipage}%
+%\hspace{0.3cm}\begin{minipage}[b]{0.86\linewidth}
+\end{wrapfigure}
+To change character {\bf thickness}, morphological operators of dilation and erosion~\citep{Haralick87,Serra82}
+are applied. The neighborhood of each pixel is multiplied
+element-wise with a {\em structuring element} matrix.
+The pixel value is replaced by the maximum or the minimum of the resulting
+matrix, respectively for dilation or erosion. Ten different structural elements with 
+increasing dimensions (largest is $5\times5$) were used.  For each image, 
+randomly sample the operator type (dilation or erosion) with equal probability and one structural
+element from a subset of the $n=round(m \times complexity)$ smallest structuring elements
+where $m=10$ for dilation and $m=6$ for erosion (to avoid completely erasing thin characters).  
+A neutral element (no transformation) 
+is always present in the set.
+%\vspace{.4cm}
+\end{minipage}
+\vspace*{3mm}
+
+\begin{minipage}[b]{0.14\linewidth}
+\centering
+\includegraphics[scale=.4]{images/Slant_only.png}\\
+{\bf Slant}
+\end{minipage}%
+\hspace{0.3cm}
+\begin{minipage}[b]{0.83\linewidth}
+%\centering
+To produce {\bf slant}, each row of the image is shifted
+proportionally to its height: $shift = round(slant \times height)$.  
+$slant \sim U[-complexity,complexity]$.
+The shift is randomly chosen to be either to the left or to the right.
+\vspace{8mm}
+\end{minipage}
+\vspace*{3mm}
+
+\begin{minipage}[h]{\linewidth}
+\begin{minipage}[b]{0.14\linewidth}
+%\centering
+\begin{wrapfigure}[8]{l}{0.15\textwidth}
+\vspace*{-6mm}
+\begin{center}
+\includegraphics[scale=.4]{images/Affine_only.png}\\
+{\small {\bf Affine \mbox{Transformation}}}
+\end{center}
+\end{wrapfigure}
+%\end{minipage}%
+%\hspace{0.3cm}\begin{minipage}[b]{0.86\linewidth}
+A $2 \times 3$ {\bf affine transform} matrix (with
+parameters $(a,b,c,d,e,f)$) is sampled according to the $complexity$.
+Output pixel $(x,y)$ takes the value of input pixel
+nearest to $(ax+by+c,dx+ey+f)$,
+producing scaling, translation, rotation and shearing.
+Marginal distributions of $(a,b,c,d,e,f)$ have been tuned to
+forbid large rotations (to avoid confusing classes) but to give good
+variability of the transformation: $a$ and $d$ $\sim U[1-3
+complexity,1+3\,complexity]$, $b$ and $e$ $\sim U[-3 \,complexity,3\,
+complexity]$, and $c$ and $f \sim U[-4 \,complexity, 4 \,
+complexity]$.\\
+\end{minipage}
+\end{minipage}
+
+\iffalse
+\vspace*{-4.5mm}
+
+\begin{minipage}[h]{\linewidth}
+\begin{wrapfigure}[7]{l}{0.15\textwidth}
+%\hspace*{-8mm}\begin{minipage}[b]{0.25\linewidth}
+%\centering
+\begin{center}
+\vspace*{-4mm}
+\includegraphics[scale=.4]{images/Localelasticdistorsions_only.png}\\
+{\bf Local Elastic Deformation}
+\end{center}
+\end{wrapfigure}
+%\end{minipage}%
+%\hspace{-3mm}\begin{minipage}[b]{0.85\linewidth}
+%\vspace*{-20mm}
+The {\bf local elastic deformation}
+module induces a ``wiggly'' effect in the image, following~\citet{SimardSP03-short},
+which provides more details. 
+The intensity of the displacement fields is given by 
+$\alpha = \sqrt[3]{complexity} \times 10.0$, which are 
+convolved with a Gaussian 2D kernel (resulting in a blur) of
+standard deviation $\sigma = 10 - 7 \times\sqrt[3]{complexity}$.
+%\vspace{.9cm}
+\end{minipage}
+
+\vspace*{7mm}
+
+%\begin{minipage}[b]{0.14\linewidth}
+%\centering
+\begin{minipage}[h]{\linewidth}
+\begin{wrapfigure}[7]{l}{0.15\textwidth}
+\vspace*{-5mm}
+\begin{center}
+\includegraphics[scale=.4]{images/Pinch_only.png}\\
+{\bf Pinch}
+\end{center}
+\end{wrapfigure}
+%\vspace{.6cm}
+%\end{minipage}%
+%\hspace{0.3cm}\begin{minipage}[b]{0.86\linewidth}
+The {\bf pinch} module applies the ``Whirl and pinch'' GIMP filter with whirl set to 0. 
+A pinch is ``similar to projecting the image onto an elastic
+surface and pressing or pulling on the center of the surface'' (GIMP documentation manual).
+For a square input image, draw a radius-$r$ disk
+around its center $C$. Any pixel $P$ belonging to
+that disk has its value replaced by
+the value of a ``source'' pixel in the original image,
+on the line that goes through $C$ and $P$, but
+at some other distance $d_2$. Define $d_1=distance(P,C)$
+and $d_2 = sin(\frac{\pi{}d_1}{2r})^{-pinch} \times
+d_1$, where $pinch$ is a parameter of the filter.
+The actual value is given by bilinear interpolation considering the pixels
+around the (non-integer) source position thus found.
+Here $pinch \sim U[-complexity, 0.7 \times complexity]$.
+%\vspace{1.5cm}
+\end{minipage}
+
+\vspace{1mm}
+
+{\large\bf 2.2 Injecting Noise}
+%\subsection{Injecting Noise}
+\vspace{2mm}
+
+\begin{minipage}[h]{\linewidth}
+%\vspace*{-.2cm}
+\begin{minipage}[t]{0.14\linewidth}
+\centering
+\vspace*{-2mm}
+\includegraphics[scale=.4]{images/Motionblur_only.png}\\
+{\bf Motion Blur}
+\end{minipage}%
+\hspace{0.3cm}\begin{minipage}[t]{0.83\linewidth}
+%\vspace*{.5mm}
+The {\bf motion blur} module is GIMP's ``linear motion blur'', which
+has parameters $length$ and $angle$. The value of
+a pixel in the final image is approximately the  mean of the first $length$ pixels
+found by moving in the $angle$ direction,
+$angle \sim U[0,360]$ degrees, and $length \sim {\rm Normal}(0,(3 \times complexity)^2)$.
+\vspace{5mm}
+\end{minipage}
+\end{minipage}
+
+\vspace*{1mm}
+
+\begin{minipage}[h]{\linewidth}
+\begin{minipage}[t]{0.14\linewidth}
+\centering
+\includegraphics[scale=.4]{images/occlusion_only.png}\\
+{\bf Occlusion}
+%\vspace{.5cm}
+\end{minipage}%
+\hspace{0.3cm}\begin{minipage}[t]{0.83\linewidth}
+\vspace*{-18mm}
+The {\bf occlusion} module selects a random rectangle from an {\em occluder} character
+image and places it over the original {\em occluded}
+image. Pixels are combined by taking the max(occluder, occluded),
+i.e. keeping the lighter ones.
+The rectangle corners
+are sampled so that larger complexity gives larger rectangles.
+The destination position in the occluded image are also sampled
+according to a normal distribution (more details in~\citet{ift6266-tr-anonymous}).
+This module is skipped with probability 60\%.
+%\vspace{7mm}
+\end{minipage}
+\end{minipage}
+
+\vspace*{1mm}
+
+\begin{wrapfigure}[8]{l}{0.15\textwidth}
+\vspace*{-6mm}
+\begin{center}
+%\begin{minipage}[t]{0.14\linewidth}
+%\centering
+\includegraphics[scale=.4]{images/Bruitgauss_only.png}\\
+{\bf Gaussian Smoothing}
+\end{center}
+\end{wrapfigure}
+%\vspace{.5cm}
+%\end{minipage}%
+%\hspace{0.3cm}\begin{minipage}[t]{0.86\linewidth}
+With the {\bf Gaussian smoothing} module, 
+different regions of the image are spatially smoothed.
+This is achieved  by first convolving
+the image with an isotropic Gaussian kernel of
+size and variance chosen uniformly in the ranges $[12,12 + 20 \times
+complexity]$ and $[2,2 + 6 \times complexity]$. This filtered image is normalized
+between $0$ and $1$.  We also create an isotropic weighted averaging window, of the
+kernel size, with maximum value at the center.  For each image we sample
+uniformly from $3$ to $3 + 10 \times complexity$ pixels that will be
+averaging centers between the original image and the filtered one.  We
+initialize to zero a mask matrix of the image size. For each selected pixel
+we add to the mask the averaging window centered on it.  The final image is
+computed from the following element-wise operation: $\frac{image + filtered\_image
+\times mask}{mask+1}$.
+This module is skipped with probability 75\%.
+%\end{minipage}
+
+\newpage
+
+\vspace*{-9mm}
+
+%\hspace*{-3mm}\begin{minipage}[t]{0.18\linewidth}
+%\centering
+\begin{minipage}[t]{\linewidth}
+\begin{wrapfigure}[7]{l}{0.15\textwidth}
+\vspace*{-5mm}
+\begin{center}
+\includegraphics[scale=.4]{images/Permutpixel_only.png}\\
+{\small\bf Permute Pixels}
+\end{center}
+\end{wrapfigure}
+%\end{minipage}%
+%\hspace{-0cm}\begin{minipage}[t]{0.86\linewidth}
+%\vspace*{-20mm}
+This module {\bf permutes neighbouring pixels}. It first selects a
+fraction $\frac{complexity}{3}$ of pixels randomly in the image. Each
+of these pixels is then sequentially exchanged with a random pixel
+among its four nearest neighbors (on its left, right, top or bottom).
+This module is skipped with probability 80\%.\\
+\vspace*{1mm}
+\end{minipage}
+
+\vspace{-3mm}
+
+\begin{minipage}[t]{\linewidth}
+\begin{wrapfigure}[7]{l}{0.15\textwidth}
+%\vspace*{-3mm}
+\begin{center}
+%\hspace*{-3mm}\begin{minipage}[t]{0.18\linewidth}
+%\centering
+\vspace*{-5mm}
+\includegraphics[scale=.4]{images/Distorsiongauss_only.png}\\
+{\small \bf Gauss. Noise}
+\end{center}
+\end{wrapfigure}
+%\end{minipage}%
+%\hspace{0.3cm}\begin{minipage}[t]{0.86\linewidth}
+\vspace*{12mm}
+The {\bf Gaussian noise} module simply adds, to each pixel of the image independently, a
+noise $\sim Normal(0,(\frac{complexity}{10})^2)$.
+This module is skipped with probability 70\%.
+%\vspace{1.1cm}
+\end{minipage}
+
+\vspace*{1.2cm}
+
+\begin{minipage}[t]{\linewidth}
+\begin{minipage}[t]{0.14\linewidth}
+\centering
+\includegraphics[scale=.4]{images/background_other_only.png}\\
+{\small \bf Bg Image}
+\end{minipage}%
+\hspace{0.3cm}\begin{minipage}[t]{0.83\linewidth}
+\vspace*{-18mm}
+Following~\citet{Larochelle-jmlr-2009}, the {\bf background image} module adds a random
+background image behind the letter, from a randomly chosen natural image,
+with contrast adjustments depending on $complexity$, to preserve
+more or less of the original character image.
+%\vspace{.8cm}
+\end{minipage}
+\end{minipage}
+%\vspace{-.7cm}
+
+\begin{minipage}[t]{0.14\linewidth}
+\centering
+\includegraphics[scale=.4]{images/Poivresel_only.png}\\
+{\small \bf Salt \& Pepper}
+\end{minipage}%
+\hspace{0.3cm}\begin{minipage}[t]{0.83\linewidth}
+\vspace*{-18mm}
+The {\bf salt and pepper noise} module adds noise $\sim U[0,1]$ to random subsets of pixels.
+The number of selected pixels is $0.2 \times complexity$.
+This module is skipped with probability 75\%.
+%\vspace{.9cm}
+\end{minipage}
+%\vspace{-.7cm}
+
+\vspace{1mm}
+
+\begin{minipage}[t]{\linewidth}
+\begin{wrapfigure}[7]{l}{0.14\textwidth}
+%\begin{minipage}[t]{0.14\linewidth}
+%\centering
+\begin{center}
+\vspace*{-4mm}
+\hspace*{-1mm}\includegraphics[scale=.4]{images/Rature_only.png}\\
+{\bf Scratches}
+%\end{minipage}%
+\end{center}
+\end{wrapfigure}
+%\hspace{0.3cm}\begin{minipage}[t]{0.86\linewidth}
+%\vspace{.4cm}
+The {\bf scratches} module places line-like white patches on the image.  The
+lines are heavily transformed images of the digit ``1'' (one), chosen
+at random among 500 such 1 images,
+randomly cropped and rotated by an angle $\sim Normal(0,(100 \times
+complexity)^2$ (in degrees), using bi-cubic interpolation.
+Two passes of a grey-scale morphological erosion filter
+are applied, reducing the width of the line
+by an amount controlled by $complexity$.
+This module is skipped with probability 85\%. The probabilities
+of applying 1, 2, or 3 patches are (50\%,30\%,20\%).
+\end{minipage}
+
+\vspace*{1mm}
+
+\begin{minipage}[t]{0.25\linewidth}
+\centering
+\hspace*{-16mm}\includegraphics[scale=.4]{images/Contrast_only.png}\\
+{\bf Grey Level \& Contrast}
+\end{minipage}%
+\hspace{-12mm}\begin{minipage}[t]{0.82\linewidth}
+\vspace*{-18mm}
+The {\bf grey level and contrast} module changes the contrast by changing grey levels, and may invert the image polarity (white
+to black and black to white). The contrast is $C \sim U[1-0.85 \times complexity,1]$ 
+so the image is normalized into $[\frac{1-C}{2},1-\frac{1-C}{2}]$. The
+polarity is inverted with probability 50\%.
+%\vspace{.7cm}
+\end{minipage}
+\vspace{2mm}
+
+\fi
+
+\iffalse
+\begin{figure}[ht]
+\centerline{\resizebox{.9\textwidth}{!}{\includegraphics{images/example_t.png}}}\\
+\caption{Illustration of the pipeline of stochastic 
+transformations applied to the image of a lower-case \emph{t}
+(the upper left image). Each image in the pipeline (going from
+left to right, first top line, then bottom line) shows the result
+of applying one of the modules in the pipeline. The last image
+(bottom right) is used as training example.}
+\label{fig:pipeline}
+\end{figure}
+\fi
+
+\vspace*{-3mm}
+\section{Experimental Setup}
+\vspace*{-1mm}
+
+Much previous work on deep learning had been performed on
+the MNIST digits task~\citep{Hinton06,ranzato-07-small,Bengio-nips-2006,Salakhutdinov+Hinton-2009},
+with 60~000 examples, and variants involving 10~000
+examples~\citep{Larochelle-jmlr-toappear-2008,VincentPLarochelleH2008}.
+The focus here is on much larger training sets, from 10 times to 
+to 1000 times larger, and 62 classes.
+
+The first step in constructing the larger datasets (called NISTP and P07) is to sample from
+a {\em data source}: {\bf NIST} (NIST database 19), {\bf Fonts}, {\bf Captchas},
+and {\bf OCR data} (scanned machine printed characters). Once a character
+is sampled from one of these {\em data sources} (chosen randomly), the second step is to
+apply a pipeline of transformations and/or noise processes described in section \ref{s:perturbations}.
+
+To provide a baseline of error rate comparison we also estimate human performance
+on both the 62-class task and the 10-class digits task.
+We compare the best Multi-Layer Perceptrons (MLP) against
+the best Stacked Denoising Auto-encoders (SDA), when
+both models' hyper-parameters are selected to minimize the validation set error.
+We also provide a comparison against a precise estimate
+of human performance obtained via Amazon's Mechanical Turk (AMT)
+service ({\tt http://mturk.com}). 
+AMT users are paid small amounts
+of money to perform tasks for which human intelligence is required.
+An incentive for them to do the job right is that payment can be denied
+if the job is not properly done.
+Mechanical Turk has been used extensively in natural language processing and vision.
+%processing \citep{SnowEtAl2008} and vision
+%\citep{SorokinAndForsyth2008,whitehill09}. 
+AMT users were presented
+with 10 character images at a time (from a test set) and asked to choose 10 corresponding ASCII
+characters. They were forced to choose a single character class (either among the
+62 or 10 character classes) for each image.
+80 subjects classified 2500 images per (dataset,task) pair.
+Different humans labelers sometimes provided a different label for the same
+example, and we were able to estimate the error variance due to this effect
+because each image was classified by 3 different persons. 
+The average error of humans on the 62-class task NIST test set
+is 18.2\%, with a standard error of 0.1\%.
+
+\vspace*{-3mm}
+\subsection{Data Sources}
+\vspace*{-2mm}
+
+%\begin{itemize}
+%\item 
+{\bf NIST.}
+Our main source of characters is the NIST Special Database 19~\citep{Grother-1995}, 
+widely used for training and testing character
+recognition systems~\citep{Granger+al-2007,Cortes+al-2000,Oliveira+al-2002-short,Milgram+al-2005}. 
+The dataset is composed of 814255 digits and characters (upper and lower cases), with hand checked classifications,
+extracted from handwritten sample forms of 3600 writers. The characters are labelled by one of the 62 classes 
+corresponding to ``0''-``9'',``A''-``Z'' and ``a''-``z''. The dataset contains 8 parts (partitions) of varying complexity. 
+The fourth partition (called $hsf_4$, 82587 examples), 
+experimentally recognized to be the most difficult one, is the one recommended 
+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}
+for that purpose. We randomly split the remainder (731,668 examples) into a training set and a validation set for
+model selection. 
+The performances reported by previous work on that dataset mostly use only the digits.
+Here we use all the classes both in the training and testing phase. This is especially
+useful to estimate the effect of a multi-task setting.
+The distribution of the classes in the NIST training and test sets differs
+substantially, with relatively many more digits in the test set, and a more uniform distribution
+of letters in the test set (whereas in the training set they are distributed
+more like in natural text).
+\vspace*{-1mm}
+
+%\item 
+{\bf Fonts.} 
+In order to have a good variety of sources we downloaded an important number of free fonts from:
+{\tt http://cg.scs.carleton.ca/\textasciitilde luc/freefonts.html}.
+% TODO: pointless to anonymize, it's not pointing to our work
+Including an operating system's (Windows 7) fonts, there is a total of $9817$ different fonts that we can choose uniformly from.
+The chosen {\tt ttf} file is either used as input of the Captcha generator (see next item) or, by producing a corresponding image, 
+directly as input to our models.
+\vspace*{-1mm}
+
+%\item 
+{\bf Captchas.}
+The Captcha data source is an adaptation of the \emph{pycaptcha} library (a Python-based captcha generator library) for 
+generating characters of the same format as the NIST dataset. This software is based on
+a random character class generator and various kinds of transformations similar to those described in the previous sections. 
+In order to increase the variability of the data generated, many different fonts are used for generating the characters. 
+Transformations (slant, distortions, rotation, translation) are applied to each randomly generated character with a complexity
+depending on the value of the complexity parameter provided by the user of the data source. 
+%Two levels of complexity are allowed and can be controlled via an easy to use facade class. %TODO: what's a facade class?
+\vspace*{-1mm}
+
+%\item 
+{\bf OCR data.}
+A large set (2 million) of scanned, OCRed and manually verified machine-printed 
+characters where included as an
+additional source. This set is part of a larger corpus being collected by the Image Understanding
+Pattern Recognition Research group led by Thomas Breuel at University of Kaiserslautern 
+({\tt http://www.iupr.com}), and which will be publicly released.
+%TODO: let's hope that Thomas is not a reviewer! :) Seriously though, maybe we should anonymize this
+%\end{itemize}
+
+\vspace*{-3mm}
+\subsection{Data Sets}
+\vspace*{-2mm}
+
+All data sets contain 32$\times$32 grey-level images (values in $[0,1]$) associated with a label
+from one of the 62 character classes. They are obtained from the optional application of the
+perturbation pipeline to iid samples from the datasources, and they are randomly split into 
+training set, validation set, and test set.
+%\begin{itemize}
+\vspace*{-1mm}
+
+%\item 
+{\bf NIST.} This is the raw NIST special database 19~\citep{Grother-1995}. It has
+\{651668 / 80000 / 82587\} \{training / validation / test\} examples, containing
+upper case, lower case, and digits.
+\vspace*{-1mm}
+
+%\item 
+{\bf P07.} This dataset of upper case, lower case and digit images
+is obtained by taking raw characters from all four of the above sources
+and sending them through the transformation pipeline described in section \ref{s:perturbations}.
+For each new example to generate, a data source is selected with probability $10\%$ from the fonts,
+$25\%$ from the captchas, $25\%$ from the OCR data and $40\%$ from NIST. We apply all the transformations in the
+order given above, and for each of them we sample uniformly a \emph{complexity} in the range $[0,0.7]$.
+It has \{81920000 / 80000 / 20000\} \{training / validation / test\} examples.
+\vspace*{-1mm}
+
+%\item 
+{\bf NISTP.} This one is equivalent to P07 (complexity parameter of $0.7$ with the same proportions of data sources)
+  except that we only apply
+  transformations from slant to pinch. Therefore, the character is
+  transformed but no additional noise is added to the image, giving images
+  closer to the NIST dataset. 
+It has \{81,920,000 / 80,000 / 20,000\} \{training / validation / test\} examples
+obtained from the corresponding NIST sets plus other sources.
+%\end{itemize}
+
+\vspace*{-3mm}
+\subsection{Models and their Hyperparameters}
+\vspace*{-2mm}
+
+The experiments are performed using MLPs (with a single
+hidden layer) and deep SDAs.
+\emph{Hyper-parameters are selected based on the {\bf NISTP} validation set error.}
+
+{\bf Multi-Layer Perceptrons (MLP).}
+Whereas previous work had compared deep architectures to both shallow MLPs and
+SVMs, we only compared to MLPs here because of the very large datasets used
+(making the use of SVMs computationally challenging because of their quadratic
+scaling behavior). Preliminary experiments on training SVMs (libSVM) with subsets of the training
+set allowing the program to fit in memory yielded substantially worse results
+than those obtained with MLPs. For training on nearly a hundred million examples
+(with the perturbed data), the MLPs and SDA are much more convenient than
+classifiers based on kernel methods.
+The MLP has a single hidden layer with $\tanh$ activation functions, and softmax (normalized
+exponentials) on the output layer for estimating $P(class | image)$.
+The number of hidden units is taken in $\{300,500,800,1000,1500\}$. 
+Training examples are presented in minibatches of size 20. A constant learning
+rate was chosen among $\{0.001, 0.01, 0.025, 0.075, 0.1, 0.5\}$.
+%through preliminary experiments (measuring performance on a validation set),
+%and $0.1$ (which was found to work best) was then selected for optimizing on
+%the whole training sets.
+\vspace*{-1mm}
+
+
+{\bf Stacked Denoising Auto-encoders (SDA).}
+Various auto-encoder variants and Restricted Boltzmann Machines (RBMs)
+can be used to initialize the weights of each layer of a deep MLP (with many hidden 
+layers)~\citep{Hinton06,ranzato-07-small,Bengio-nips-2006}, 
+apparently setting parameters in the
+basin of attraction of supervised gradient descent yielding better 
+generalization~\citep{Erhan+al-2010}.  This initial {\em unsupervised
+pre-training phase} uses all of the training images but not the training labels.
+Each layer is trained in turn to produce a new representation of its input
+(starting from the raw pixels).
+It is hypothesized that the
+advantage brought by this procedure stems from a better prior,
+on the one hand taking advantage of the link between the input
+distribution $P(x)$ and the conditional distribution of interest
+$P(y|x)$ (like in semi-supervised learning), and on the other hand
+taking advantage of the expressive power and bias implicit in the
+deep architecture (whereby complex concepts are expressed as
+compositions of simpler ones through a deep hierarchy).
+
+\begin{figure}[ht]
+\vspace*{-2mm}
+\centerline{\resizebox{0.8\textwidth}{!}{\includegraphics{images/denoising_autoencoder_small.pdf}}}
+\vspace*{-2mm}
+\caption{Illustration of the computations and training criterion for the denoising
+auto-encoder used to pre-train each layer of the deep architecture. Input $x$ of
+the layer (i.e. raw input or output of previous layer)
+s corrupted into $\tilde{x}$ and encoded into code $y$ by the encoder $f_\theta(\cdot)$.
+The decoder $g_{\theta'}(\cdot)$ maps $y$ to reconstruction $z$, which
+is compared to the uncorrupted input $x$ through the loss function
+$L_H(x,z)$, whose expected value is approximately minimized during training
+by tuning $\theta$ and $\theta'$.}
+\label{fig:da}
+\vspace*{-2mm}
+\end{figure}
+
+Here we chose to use the Denoising
+Auto-encoder~\citep{VincentPLarochelleH2008} as the building block for
+these deep hierarchies of features, as it is simple to train and
+explain (see Figure~\ref{fig:da}, as well as 
+tutorial and code there: {\tt http://deeplearning.net/tutorial}), 
+provides efficient inference, and yielded results
+comparable or better than RBMs in series of experiments
+\citep{VincentPLarochelleH2008-very-small}. It really corresponds to a Gaussian
+RBM trained by a Score Matching criterion~\cite{Vincent-SM-2010}.
+During training, a Denoising
+Auto-encoder is presented with a stochastically corrupted version
+of the input and trained to reconstruct the uncorrupted input,
+forcing the hidden units to represent the leading regularities in
+the data. Here we use the random binary masking corruption
+(which sets to 0 a random subset of the inputs).
+ Once it is trained, in a purely unsupervised way, 
+its hidden units' activations can
+be used as inputs for training a second one, etc.
+After this unsupervised pre-training stage, the parameters
+are used to initialize a deep MLP, which is fine-tuned by
+the same standard procedure used to train them (see previous section).
+The SDA hyper-parameters are the same as for the MLP, with the addition of the
+amount of corruption noise (we used the masking noise process, whereby a
+fixed proportion of the input values, randomly selected, are zeroed), and a
+separate learning rate for the unsupervised pre-training stage (selected
+from the same above set). The fraction of inputs corrupted was selected
+among $\{10\%, 20\%, 50\%\}$. Another hyper-parameter is the number
+of hidden layers but it was fixed to 3 based on previous work with
+SDAs on MNIST~\citep{VincentPLarochelleH2008-very-small}. The size of the hidden
+layers was kept constant across hidden layers, and the best results
+were obtained with the largest values that we could experiment
+with given our patience, with 1000 hidden units.
+
+\vspace*{-1mm}
+
+\begin{figure}[ht]
+\vspace*{-2mm}
+\centerline{\resizebox{.99\textwidth}{!}{\includegraphics{images/error_rates_charts.pdf}}}
+\vspace*{-3mm}
+\caption{SDAx are the {\bf deep} models. Error bars indicate a 95\% confidence interval. 0 indicates that the model was trained
+on NIST, 1 on NISTP, and 2 on P07. Left: overall results
+of all models, on NIST and NISTP test sets.
+Right: error rates on NIST test digits only, along with the previous results from 
+literature~\citep{Granger+al-2007,Cortes+al-2000,Oliveira+al-2002-short,Milgram+al-2005}
+respectively based on ART, nearest neighbors, MLPs, and SVMs.}
+\label{fig:error-rates-charts}
+\vspace*{-2mm}
+\end{figure}
+
+
+\begin{figure}[ht]
+\vspace*{-3mm}
+\centerline{\resizebox{.99\textwidth}{!}{\includegraphics{images/improvements_charts.pdf}}}
+\vspace*{-3mm}
+\caption{Relative improvement in error rate due to self-taught learning. 
+Left: Improvement (or loss, when negative)
+induced by out-of-distribution examples (perturbed data). 
+Right: Improvement (or loss, when negative) induced by multi-task 
+learning (training on all classes and testing only on either digits,
+upper case, or lower-case). The deep learner (SDA) benefits more from
+both self-taught learning scenarios, compared to the shallow MLP.}
+\label{fig:improvements-charts}
+\vspace*{-2mm}
+\end{figure}
+
+\section{Experimental Results}
+\vspace*{-2mm}
+
+%\vspace*{-1mm}
+%\subsection{SDA vs MLP vs Humans}
+%\vspace*{-1mm}
+The models are either trained on NIST (MLP0 and SDA0), 
+NISTP (MLP1 and SDA1), or P07 (MLP2 and SDA2), and tested
+on either NIST, NISTP or P07 (regardless of the data set used for training),
+either on the 62-class task
+or on the 10-digits task. Training time (including about half
+for unsupervised pre-training, for DAs) on the larger
+datasets is around one day on a GPU (GTX 285).
+Figure~\ref{fig:error-rates-charts} summarizes the results obtained,
+comparing humans, the three MLPs (MLP0, MLP1, MLP2) and the three SDAs (SDA0, SDA1,
+SDA2), along with the previous results on the digits NIST special database
+19 test set from the literature, respectively based on ARTMAP neural
+networks ~\citep{Granger+al-2007}, fast nearest-neighbor search
+~\citep{Cortes+al-2000}, MLPs ~\citep{Oliveira+al-2002-short}, and SVMs
+~\citep{Milgram+al-2005}.%  More detailed and complete numerical results
+%(figures and tables, including standard errors on the error rates) can be
+%found in Appendix.
+The deep learner not only outperformed the shallow ones and
+previously published performance (in a statistically and qualitatively
+significant way) but when trained with perturbed data
+reaches human performance on both the 62-class task
+and the 10-class (digits) task. 
+17\% error (SDA1) or 18\% error (humans) may seem large but a large
+majority of the errors from humans and from SDA1 are from out-of-context
+confusions (e.g. a vertical bar can be a ``1'', an ``l'' or an ``L'', and a
+``c'' and a ``C'' are often indistinguishible).
+
+In addition, as shown in the left of
+Figure~\ref{fig:improvements-charts}, the relative improvement in error
+rate brought by self-taught learning is greater for the SDA, and these
+differences with the MLP are statistically and qualitatively
+significant. 
+The left side of the figure shows the improvement to the clean
+NIST test set error brought by the use of out-of-distribution examples
+(i.e. the perturbed examples examples from NISTP or P07),
+over the models trained exclusively on NIST (respectively SDA0 and MLP0).
+Relative percent change is measured by taking
+$100 \% \times$ (original model's error / perturbed-data model's error - 1).
+The right side of
+Figure~\ref{fig:improvements-charts} shows the relative improvement
+brought by the use of a multi-task setting, in which the same model is
+trained for more classes than the target classes of interest (i.e. training
+with all 62 classes when the target classes are respectively the digits,
+lower-case, or upper-case characters). Again, whereas the gain from the
+multi-task setting is marginal or negative for the MLP, it is substantial
+for the SDA.  Note that to simplify these multi-task experiments, only the original
+NIST dataset is used. For example, the MLP-digits bar shows the relative
+percent improvement in MLP error rate on the NIST digits test set 
+is $100\% \times$ (single-task
+model's error / multi-task model's error - 1).  The single-task model is
+trained with only 10 outputs (one per digit), seeing only digit examples,
+whereas the multi-task model is trained with 62 outputs, with all 62
+character classes as examples.  Hence the hidden units are shared across
+all tasks.  For the multi-task model, the digit error rate is measured by
+comparing the correct digit class with the output class associated with the
+maximum conditional probability among only the digit classes outputs.  The
+setting is similar for the other two target classes (lower case characters
+and upper case characters). Note however that some types of perturbations
+(NISTP) help more than others (P07) when testing on the clean images.
+%%\vspace*{-1mm}
+%\subsection{Perturbed Training Data More Helpful for SDA}
+%\vspace*{-1mm}
+
+%\vspace*{-1mm}
+%\subsection{Multi-Task Learning Effects}
+%\vspace*{-1mm}
+
+\iffalse
+As previously seen, the SDA is better able to benefit from the
+transformations applied to the data than the MLP. In this experiment we
+define three tasks: recognizing digits (knowing that the input is a digit),
+recognizing upper case characters (knowing that the input is one), and
+recognizing lower case characters (knowing that the input is one).  We
+consider the digit classification task as the target task and we want to
+evaluate whether training with the other tasks can help or hurt, and
+whether the effect is different for MLPs versus SDAs.  The goal is to find
+out if deep learning can benefit more (or less) from multiple related tasks
+(i.e. the multi-task setting) compared to a corresponding purely supervised
+shallow learner.
+
+We use a single hidden layer MLP with 1000 hidden units, and a SDA
+with 3 hidden layers (1000 hidden units per layer), pre-trained and
+fine-tuned on NIST.
+
+Our results show that the MLP benefits marginally from the multi-task setting
+in the case of digits (5\% relative improvement) but is actually hurt in the case
+of characters (respectively 3\% and 4\% worse for lower and upper class characters).
+On the other hand the SDA benefited from the multi-task setting, with relative
+error rate improvements of 27\%, 15\% and 13\% respectively for digits,
+lower and upper case characters, as shown in Table~\ref{tab:multi-task}.
+\fi
+
+
+\vspace*{-2mm}
+\section{Conclusions and Discussion}
+\vspace*{-2mm}
+
+We have found that the self-taught learning framework is more beneficial
+to a deep learner than to a traditional shallow and purely
+supervised learner. More precisely, 
+the answers are positive for all the questions asked in the introduction.
+%\begin{itemize}
+
+$\bullet$ %\item 
+{\bf Do the good results previously obtained with deep architectures on the
+MNIST digits generalize to a much larger and richer (but similar)
+dataset, the NIST special database 19, with 62 classes and around 800k examples}?
+Yes, the SDA {\em systematically outperformed the MLP and all the previously
+published results on this dataset} (the ones that we are aware of), {\em in fact reaching human-level
+performance} at around 17\% error on the 62-class task and 1.4\% on the digits,
+and beating previously published results on the same data.
+
+$\bullet$ %\item 
+{\bf To what extent do self-taught learning scenarios help deep learners,
+and do they help them more than shallow supervised ones}?
+We found that distorted training examples not only made the resulting
+classifier better on similarly perturbed images but also on
+the {\em original clean examples}, and more importantly and more novel,
+that deep architectures benefit more from such {\em out-of-distribution}
+examples. MLPs were helped by perturbed training examples when tested on perturbed input 
+images (65\% relative improvement on NISTP) 
+but only marginally helped (5\% relative improvement on all classes) 
+or even hurt (10\% relative loss on digits)
+with respect to clean examples. On the other hand, the deep SDAs
+were significantly boosted by these out-of-distribution examples.
+Similarly, whereas the improvement due to the multi-task setting was marginal or
+negative for the MLP (from +5.6\% to -3.6\% relative change), 
+it was quite significant for the SDA (from +13\% to +27\% relative change),
+which may be explained by the arguments below.
+%\end{itemize}
+
+In the original self-taught learning framework~\citep{RainaR2007}, the
+out-of-sample examples were used as a source of unsupervised data, and
+experiments showed its positive effects in a \emph{limited labeled data}
+scenario. However, many of the results by \citet{RainaR2007} (who used a
+shallow, sparse coding approach) suggest that the {\em relative gain of self-taught
+learning vs ordinary supervised learning} diminishes as the number of labeled examples increases.
+We note instead that, for deep
+architectures, our experiments show that such a positive effect is accomplished
+even in a scenario with a \emph{large number of labeled examples},
+i.e., here, the relative gain of self-taught learning and
+out-of-distribution examples is probably preserved
+in the asymptotic regime. However, note that in our perturbation experiments
+(but not in our multi-task experiments), 
+even the out-of-distribution examples are labeled, unlike in the
+earlier self-taught learning experiments~\citep{RainaR2007}.
+
+{\bf Why would deep learners benefit more from the self-taught learning framework}?
+The key idea is that the lower layers of the predictor compute a hierarchy
+of features that can be shared across tasks or across variants of the
+input distribution. A theoretical analysis of generalization improvements
+due to sharing of intermediate features across tasks already points
+towards that explanation~\cite{baxter95a}.
+Intermediate features that can be used in different
+contexts can be estimated in a way that allows to share statistical 
+strength. Features extracted through many levels are more likely to
+be more abstract and more invariant to some of the factors of variation
+in the underlying distribution (as the experiments in~\citet{Goodfellow2009} suggest),
+increasing the likelihood that they would be useful for a larger array
+of tasks and input conditions.
+Therefore, we hypothesize that both depth and unsupervised
+pre-training play a part in explaining the advantages observed here, and future
+experiments could attempt at teasing apart these factors.
+And why would deep learners benefit from the self-taught learning
+scenarios even when the number of labeled examples is very large?
+We hypothesize that this is related to the hypotheses studied
+in~\citet{Erhan+al-2010}. In~\citet{Erhan+al-2010}
+it was found that online learning on a huge dataset did not make the
+advantage of the deep learning bias vanish, and a similar phenomenon
+may be happening here. We hypothesize that unsupervised pre-training
+of a deep hierarchy with self-taught learning initializes the
+model in the basin of attraction of supervised gradient descent
+that corresponds to better generalization. Furthermore, such good
+basins of attraction are not discovered by pure supervised learning
+(with or without self-taught settings), and more labeled examples
+does not allow the model to go from the poorer basins of attraction discovered
+by the purely supervised shallow models to the kind of better basins associated
+with deep learning and self-taught learning.
+
+A Flash demo of the recognizer (where both the MLP and the SDA can be compared) 
+can be executed on-line at {\tt http://deep.host22.com}.
+
+\newpage
+{
+\bibliography{strings,strings-short,strings-shorter,ift6266_ml,aigaion-shorter,specials}
+%\bibliographystyle{plainnat}
+\bibliographystyle{unsrtnat}
+%\bibliographystyle{apalike}
+}
+
+
+\end{document}