Distributed conditional computation
Thesis or Dissertation
2014-08 (degree granted: 2015-04-30)
Author(s)
Level
Master'sDiscipline
InformatiqueKeywords
- calcul conditionnel distribué
- réseau de neurones
- apprentissage profond
- apprentissage supervisé
- apprentissage par renforcement
- arbres de décisions
- modèle de langage
- softmax hierarchique
- mélange d'experts
- torch
- distributed conditional computation
- neural network
- deep learning
- supervised learning
- reinforcement learning
- decision tree
- language model
- hierarchical softmax
- mixture of experts
- torch
- Applied Sciences - Artificial Intelligence / Sciences appliqués et technologie - Intelligence artificielle (UMI : 0800)
Abstract(s)
L'objectif de cette thèse est de présenter différentes applications du programme de recherche de calcul conditionnel distribué.
On espère que ces applications, ainsi que la théorie présentée ici, mènera à une solution générale du problème
d'intelligence artificielle, en particulier en ce qui a trait à la nécessité d'efficience.
La vision du calcul conditionnel distribué consiste à accélérer l'évaluation et l'entraînement de modèles profonds,
ce qui est très différent de l'objectif usuel d'améliorer sa capacité de généralisation et d'optimisation.
Le travail présenté ici a des liens étroits avec les modèles de type mélange d'experts.
Dans le chapitre 2, nous présentons un nouvel algorithme d'apprentissage profond qui
utilise une forme simple d'apprentissage par renforcement sur un modèle d'arbre de décisions à base
de réseau de neurones. Nous démontrons la nécessité d'une contrainte d'équilibre pour maintenir la
distribution d'exemples aux experts uniforme et empêcher les monopoles. Pour rendre le calcul efficient,
l'entrainement et l'évaluation sont contraints à être éparse en utilisant un routeur échantillonnant
des experts d'une distribution multinomiale étant donné un exemple.
Dans le chapitre 3, nous présentons un nouveau modèle profond constitué d'une représentation
éparse divisée en segments d'experts. Un modèle de langue à base de réseau de neurones est construit à partir
des transformations éparses entre ces segments. L'opération éparse par bloc est implémentée pour utilisation
sur des cartes graphiques. Sa vitesse est comparée à deux opérations denses du même calibre pour démontrer
le gain réel de calcul qui peut être obtenu. Un modèle profond utilisant des opérations éparses contrôlées
par un routeur distinct des experts est entraîné sur un ensemble de données d'un milliard de mots.
Un nouvel algorithme de partitionnement de données est appliqué sur un ensemble de mots pour
hiérarchiser la couche de sortie d'un modèle de langage, la rendant ainsi beaucoup plus efficiente.
Le travail présenté dans cette thèse est au centre de la vision de calcul conditionnel distribué
émis par Yoshua Bengio. Elle tente d'appliquer la recherche dans le domaine des mélanges d'experts
aux modèles profonds pour améliorer leur vitesse ainsi que leur capacité d'optimisation.
Nous croyons que la théorie et les expériences de cette thèse sont une étape importante sur
la voie du calcul conditionnel distribué car elle cadre bien le problème, surtout en ce qui
concerne la compétitivité des systèmes d'experts. The objective of this paper is to present different applications of the distributed conditional computation research program.
It is hoped that these applications and the theory presented here will lead to a general solution of the problem of
artificial intelligence, especially with regard to the need for efficiency.
The vision of distributed conditional computation is to accelerate the evaluation and training of deep models
which is very different from the usual objective of improving its generalization and optimization capacity.
The work presented here has close ties with mixture of experts models.
In Chapter 2, we present a new deep learning algorithm that
uses a form of reinforcement learning on a novel neural network decision tree model.
We demonstrate the need for a balancing constraint to keep the
distribution of examples to experts uniform and to prevent monopolies. To make the calculation efficient,
the training and evaluation are constrained to be sparse by using a gater that
samples experts from a multinomial distribution given examples.
In Chapter 3 we present a new deep model consisting of a
sparse representation divided into segments of experts.
A neural network language model is constructed from blocks of sparse transformations between these expert segments.
The block-sparse operation is implemented for use on graphics cards.
Its speed is compared with two dense operations of the same caliber to demonstrate
and measure the actual efficiency gain that can be obtained. A deep model using
these block-sparse operations controlled by a distinct gater is trained on a dataset of one billion words.
A new algorithm for data partitioning (clustering) is applied to a set of words to
organize the output layer of a language model into a conditional hierarchy, thereby making it much more efficient.
The work presented in this thesis is central to the vision of distributed conditional computation
as issued by Yoshua Bengio. It attempts to apply research in the area of
mixture of experts to deep models to improve their speed and their optimization capacity.
We believe that the theory and experiments of this thesis are an important step
on the path to distributed conditional computation because it provides a good framework for the problem,
especially concerning competitiveness inherent to systems of experts.
This document disseminated on Papyrus is the exclusive property of the copyright holders and is protected by the Copyright Act (R.S.C. 1985, c. C-42). It may be used for fair dealing and non-commercial purposes, for private study or research, criticism and review as provided by law. For any other use, written authorization from the copyright holders is required.