<  Retour au portail Polytechnique Montréal

Réduire la précision et le nombre des multiplications nécessaires à l'entraînement d'un réseau de neurones

Matthieu Courbariaux

Mémoire de maîtrise (2015)

[img]
Affichage préliminaire
Télécharger (2MB)
Citer ce document: Courbariaux, M. (2015). Réduire la précision et le nombre des multiplications nécessaires à l'entraînement d'un réseau de neurones (Mémoire de maîtrise, École Polytechnique de Montréal). Tiré de https://publications.polymtl.ca/1819/
Afficher le résumé Cacher le résumé

Résumé

RÉSUMÉ Les Réseaux de Neurones (RdNs) sont à l’état de l’art pour un grand nombre de tâches, les meilleurs résultats étant obtenus avec de grands ensembles de données et de grands modèles. La vitesse de calcul des cartes graphiques est en grande partie à l’origine de ces progrès. À l’avenir, l’accélération des RdNs pendant les phases d’entrainement et de test permettra probablement une performance accrue ainsi que des applications grand public plus efficaces énergétiquement. En conséquence, la recherche en systèmes numériques dédiés aux RdNs est d’actualité. Les systèmes numériques sont principalement faits de mémoires et d’opérateurs arithmétiques. Les multiplieurs sont de loin les opérateurs arithmétiques les plus coûteux en termes de transistors d’un système numérique dédié aux RdNs. Dans notre premier article, nous entraînons un ensemble de RdNs à l’état de l’art (les réseaux Maxout) sur trois ensembles de données de référence : MNIST, CIFAR-10 et SVHN. Ils sont entraînés avec trois formats distincts : virgule flottante, virgule fixe et virgule fixe dynamique. Pour chacun de ces ensembles de données et pour chacun de ces formats, nous évaluons l’impact de la précision des multiplications sur l’erreur finale après l’entrainement. Nous trouvons qu’une précision très faible est suffisante non seulement pour tester des RdNs, mais aussi pour les entraîner. Par exemple, il est possible d’entraîner des réseaux Maxout avec des multiplications 10 bits. Des poids binaires, c’est à dire des poids qui sont contraints à seulement deux valeurs possibles (e.g. -1 ou 1), permettraient de beaucoup réduire le nombre de multiplications nécessaires lors de l’entraînement d’un RdN. Dans notre deuxième article, nous introduisons BinaryConnect, une méthode qui consiste à entraîner un RdN avec des poids binaires durant les propagations en avant et en arrière, tout en conservant la précision des poids stockés dans lesquels les gradients sont accumulés. Comme les autres variantes de Dropout, nous montrons que BinaryConnect agit comme régulariseur et nous obtenons des résultats proches de l’état de l’art avec BinaryConnect sur le MNIST invariant aux permutations. ----------ABSTRACT Deep Neural Networks (DNNs) have achieved state-of-the-art results in a wide range of tasks, with the best results obtained with large training sets and large models. In the past, GPUs enabled these breakthroughs because of their greater computational speed. In the future, faster computation at both training and test time is likely to be crucial for further progress and for consumer applications on low-power devices. As a result, there is much interest in research and development of dedicated hardware for Deep Learning (DL). Computer hardware is mainly made out of memories and arithmetic operators. Multipliers are by far the most space and power-hungry arithmetic operators of the digital implementation of neural networks. In our first article, we train a set of state-of-the-art neural networks (Maxout networks) on three benchmark datasets: MNIST, CIFAR-10 and SVHN. They are trained with three distinct formats: floating point, fixed point and dynamic fixed point. For each of those datasets and for each of those formats, we assess the impact of the precision of the multiplications on the final error after training. We find that very low precision is sufficient not just for running trained networks but also for training them. For example, it is possible to train Maxout networks with 10 bits multiplications. Binary weights, i.e., weights which are constrained to only two possible values (e.g. -1 or 1), would greatly reduce the number of multiplications required to train a DL. In our second article, we introduce BinaryConnect, a method which consists in training a DNN with binary weights during the forward and backward propagations, while retaining precision of the stored weights in which gradients are accumulated. Like other dropout schemes, we show that BinaryConnect acts as regularizer and we obtain near state-of-the-art results with BinaryConnect on the permutation-invariant MNIST.

Document en libre accès dans PolyPublie
Département: Département de génie électrique
Directeur de mémoire/thèse: Jean-Pierre David et Yoshua Bengio
Date du dépôt: 15 déc. 2015 15:05
Dernière modification: 24 oct. 2018 16:11
Adresse URL de PolyPublie: https://publications.polymtl.ca/1819/

Statistiques

Total des téléchargements à partir de PolyPublie

Téléchargements par année

Provenance des téléchargements

Actions réservées au personnel