Actualités / Jeux

Une explication mathématique de l’apprentissage profond

L’apprentissage en profondeur a radicalement changé le domaine de l’apprentissage automatique (et le monde en conséquence) car l’apprentissage automatique est maintenant beaucoup plus largement appliqué à différents scénarios d’application – tels que les systèmes de recommandation, la reconnaissance vocale, la conduite autonome et le jeu automatique. En 2018, le professeur Joshua Bengio, Geoffrey Hinton et Yann Lecun ont reçu le prix Turing (souvent appelé «prix Nobel d’informatique») pour leurs contributions à l’apprentissage profond. Cependant, l’apprentissage profond est toujours considéré comme une boîte noire par de nombreux chercheurs et praticiens, et des explications théoriques sur le mécanisme sous-jacent sont toujours bien attendues. Explorons donc pourquoi le principe de base de l’apprentissage profond est assez générique via les relations entre les modèles d’apprentissage profond de pointe et plusieurs modèles précoces qui ne sont pas sous le titre d’apprentissage profond (y compris un modèle co-inventé par moi-même).

Les réseaux de neurones peuvent être interprétés soit comme des approximateurs universels de fonction, soit comme des processeurs d’information. Nous allons essayer d’expliquer le mécanisme de l’apprentissage profond du point de vue des approximateurs universels de fonction. L’approximation fonctionnelle universelle a été un sujet traditionnel et nous passerons en revue quelques réseaux de neurones avant et à l’ère de l’apprentissage profond. À travers leurs similitudes et leurs différences, nous montrerons pourquoi les réseaux de neurones doivent être approfondis et à quelle profondeur ils doivent réellement l’être. Et notre théorie coïncide très bien avec les réseaux de neurones convolutifs actuellement utilisés.

Réseaux de neurones traditionnels

Il existe une longue histoire de modèles de réseaux neuronaux. Et sa fonction d’activation est typiquement une fonction sigmoïdale ou une fonction tangente hyperbolique. Les réseaux de neurones à plusieurs couches ont été appelés perceptron multicouche (MLP) [1]. Et il pourrait être formé par la méthode de rétropropagation proposée par David Rumelhart, Geoffrey Hinton et Ronald Williams en 1986, qui est essentiellement une méthode basée sur le gradient. Ces fonctions d’activation sont non linéaires et lisses. Ils ont également des premiers dérivés en forme de cloche et des plages fixes. Par exemple, la fonction sigmoïdale pousse rapidement la valeur de sortie vers 0 ou 1, tandis que la fonction tangente hyperbolique pousse la valeur de sortie vers -1 ou 1 rapidement. Cela les rend bien adaptés aux problèmes de classification. Cependant, à mesure que le nombre de couches augmente, les gradients commencent à disparaître en raison de l’utilisation de la méthode de rétropropagation. Les modèles MLP avec une couche cachée étaient donc probablement les plus courants à l’époque.

En outre, il est largement connu que l’unité linéaire rectifiée (ReLU) a été utilisée comme fonction d’activation dans les modèles d’apprentissage en profondeur en remplacement des fonctions tangentes sigmoïdales et hyperboliques. Sa forme mathématique est aussi simple que max {0, x}, et il a une autre fonction de rampe de nom. La raison de son utilisation est que sa pente par rapport à x est de 1, de sorte que le gradient ne disparaîtra jamais à mesure que le nombre de couches augmente. Examinons plus en détail les réseaux de neurones profonds du point de vue de ReLU.

Fonctions linéaires continues par morceaux

L’un des premiers modèles utilisant ReLU pour la régression et la classification était les modèles d’hyperplans articulés proposés par Leo Breiman en 1993 [2]. Le professeur Breiman a été un pionnier de l’apprentissage automatique et ses travaux relient largement les domaines de la statistique et de l’informatique. Le modèle est la somme d’une série de charnières et peut donc être considéré comme un modèle de fonction de base comme les modèles B-spline et ondelettes. Chaque charnière de son modèle est en fait une fonction maximale ou minimale de deux fonctions linéaires. Ce modèle peut être utilisé à la fois pour la régression et la classification. Un problème de classification binaire peut être considéré directement comme un problème de régression, tandis qu’un problème de classification multi-classes peut être considéré comme un problème de régression multiple.

Le modèle proposé par Breiman peut être considéré comme des fonctions linéaires par morceaux continues unidimensionnelles (CPWL). Shunning Wang a prouvé en 2004 que ce modèle peut représenter des fonctions linéaires par morceaux continues arbitraires dans une dimension et l’imbrication de tels types de modèles est nécessaire pour la représentation de fonctions CPWL arbitraires avec des entrées multidimensionnelles. [3]. Sur la base de ce résultat théorique, Ian Goodfellow a proposé un réseau de neurones ReLU profond nommé Maxout networks en 2013 [4]. La base théorique de l’utilisation des fonctions CPWL pour approximer des fonctions non linéaires arbitraires est simplement le théorème de Taylor pour les fonctions multivariables dans le calcul.

Depuis les années 1970, Leon O. Chua et d’autres chercheurs ont proposé un réseau neuronal cellulaire pour représenter les fonctions CPWL avec des entrées dans différentes dimensions [5][6][7]. Le professeur Leon Chua a fait de grandes contributions dans le domaine des circuits et des systèmes, et ce travail a reçu des prix prestigieux de la communauté des réseaux de neurones. Le besoin d’un composant non linéaire plus compliqué pour représenter la structure avec des entrées de deux dimensions ou plus a été causé par le problème de séparabilité linéaire largement connu en apprentissage automatique. Dans le modèle de Breiman, toutes les limites ont lieu lorsque deux fonctions linéaires dans chaque charnière sont égales, de sorte que toutes les limites sont linéaires et efficaces dans tout le domaine. Il ne peut donc pas représenter des fonctions CPWL avec des entrées bidimensionnelles comme l’exemple illustré à la figure 1 [8].

Figure 1. Une fonction CPWL avec une entrée bidimensionnelle

Le modèle de Chua a choisi d’utiliser des fonctions absolues imbriquées pour construire les composants non linéaires du modèle, et le niveau d’imbrication est égal à la dimension de l’entrée. Donc, ce modèle peut avoir beaucoup de paramètres lorsque la dimension d’entrée est élevée.

En 2005, Shunning Wang et Xusheng Sun ont généralisé le modèle d’hyperplan articulé à des dimensions arbitraires [8]. Ils ont prouvé que toute fonction CPWL peut être représentée par la somme des fonctions maximum ou minimum d’au plus N + 1 fonctions linéaires, où N est la dimension de l’entrée. Ils ont également souligné que cela équivaut à un réseau de neurones profond avec deux caractéristiques: premièrement, la fonction de rampe est utilisée comme fonction d’activation; deuxièmement, le nombre maximum de couches est le plafond de log2 (N + 1), où N est la dimension de l’entrée. Cela a considérablement réduit la limite théorique sur le nombre de couches. Et généralement, ce modèle peut être formé à l’aide de méthodes basées sur le gradient. Au cours de la dernière décennie, de nombreux travaux ont été réalisés dans le domaine de l’algorithme et de l’architecture pour rendre la formation meilleure et plus facile.

Modèles d’apprentissage profond

Un des grands jalons de l’histoire du deep learning est AlexNet utilisé dans un concours ImageNet en 2012 [9]. Alex Krizhevsky, Ilya Sutskever et Geoffrey Hinton ont proposé un modèle de réseau neuronal profond qui se compose de 8 couches convolutives ou denses et de quelques couches de regroupement maximum. Le réseau a obtenu une erreur de test dans le top 5 de 15,3%, soit plus de 10,8 points de pourcentage de moins que celle du finaliste. Son entrée est de 224 * 224 dans chacun des canaux RVB, donc sa dimension totale est de 224 * 224 * 3. Alors notre limite sur la profondeur du réseau neuronal est 18. Donc, si la limite est significative, des réseaux neuronaux plus profonds seraient possible d’augmenter la précision. Karen Simonyan et Andrew Zisserman ont proposé le modèle VGG en 2014 [10]. Il a des variantes typiques avec 16 ou 19 couches convolutives ou denses, et a encore amélioré la précision comme prévu. Cela coïncide bien avec notre théorie et il y a au moins une autre chose qui peut être faite pour éventuellement augmenter encore plus la précision dans certains cas.

Dans AlexNet et VGG, la profondeur du sous-réseau se terminant à chaque fonction d’activation est identique. En fait, il suffit de garantir qu’un nombre suffisant de composants dans les réseaux n’est pas moins profond que la limite. En d’autres termes, le nombre de fonctions linéaires dans chaque fonction maximum ou minimum dans le modèle d’hyperplan articulé généralisé pourrait être flexible en pratique. Et il pourrait être plus efficace en termes de paramètres d’avoir certains composants avec une profondeur encore plus grande et certains composants avec une profondeur plus petite. Kaiming He, Xiangyu Zhang, Shaoqing Ren et Jian Sun ont proposé le modèle ResNet en 2015 [11]. Ce modèle a choisi de laisser certains composants contourner certaines couches précédentes. Généralement, ce modèle est plus profond et plus étroit et a une variante aussi profonde que 152 couches, et a amélioré la précision encore plus.

Nous nous sommes concentrés sur les réseaux de neurones convolutifs dans cet article. D’autres réseaux neuronaux profonds tels que les réseaux neuronaux récurrents doivent être expliqués par d’autres théories. En outre, il existe encore de nouvelles innovations dans le domaine des fonctions d’activation telles que l’unité linéaire exponentielle (ELU) [12]. À mon avis, les algorithmes de modélisation et de formation, la disponibilité des données, l’infrastructure de calcul et les scénarios d’application ont fait de nos jours une large application de l’apprentissage en profondeur.

Les références:

[1] DE Rumelhart, GE Hinton et RJ Williams (1986) Apprentissage des représentations par rétro-propagation des erreurs. Nature, 323, 533-536.

[2] L. Breiman, «Hyperplans articulés pour la régression, la classification et l’approximation des fonctions», IEEE Trans. Inf. Théorie, vol. 39, non. 3, pp. 999-1013, mai 1993.

[3] S. Wang, «Représentations constructives générales pour les fonctions linéaires par morceaux continues», IEEE Trans. Circuits Syst. Moi, Reg. Documents, vol. 51, no. 9, pp. 1889-1896, septembre 2004.

[4] IJ Goodfellow, D. Warde-Farley, M. Mirza, A. Courville et Y. Bengio. «Maxout Networks», ICML, 2013.

[5] LO Chua et SM Kang, «Fonctions linéaires par morceaux par section: représentation canonique, propriétés et applications», IEEE Trans. Circuits Syst., Vol. CAS-30, no. 3, pp. 125-140, mars 1977.

[6] LO Chua et AC Deng, «Représentation linéaire par morceaux canonique», IEEE Trans. Circuits Syst., Vol. 35, non. 1, pp. 101-111, janvier 1988.

[7] J. Lin et R. Unbehauen, «Réseaux linéaires par morceaux canoniques», IEEE Trans. Neural Netw., Vol. 6, non. 1, pp. 43-50, janvier 1995.

[8] S. Wang et X. Sun, «Generalization of hinging hyperplanes», dans IEEE Transactions on Inf. Théorie, vol. 51, non. 12, pp.4425-4431, décembre 2005.

[9] A. Krizhevsky, I. Sutskever et G. Hinton. Classification Imagenet avec réseaux de neurones convolutifs profonds. NIPS, 2012.

[10] K. Simonyan et A. Zisserman. «Réseaux convolutifs très profonds pour la reconnaissance d’images à grande échelle», ICLR, 2015.

[11] K. He, X. Zhang, S. Ren et J. Sun. Apprentissage résiduel profond pour la reconnaissance d’image. CVPR, 2015.

[12] D.-A. Clevert, T. Unterthiner et S. Hochreiter, «Apprentissage rapide et précis du réseau profond par unités linéaires exponentielles (ELUS)», ICLR, 2016.


Ni Roblox Corporation ni ce blog n’approuvent ou ne soutiennent aucune entreprise ou service. De plus, aucune garantie ou promesse n’est faite concernant l’exactitude, la fiabilité ou l’exhaustivité des informations contenues dans ce blog.

Cet article de blog a été initialement publié sur le blog Roblox Tech.