Réseaux neuronaux et Deep Learning

13 juin 2018
Sohrob Kazerounian
Chercheur en Intelligence Artificielle
Réseaux neuronaux et Deep Learning

Qu'est-ce que l'apprentissage profond ?

L'apprentissage profond fait référence à une famille d'algorithmes d'apprentissage automatique qui peuvent être utilisés pour l'apprentissage supervisé, non supervisé et par renforcement. Ces algorithmes sont de plus en plus populaires après de nombreuses années d'absence. Le nom vient de la constatation que l'ajout d'un nombre croissant de couches dans un réseau neuronal permet à un modèle d'apprendre des représentations de plus en plus complexes des données. Inspiré par la structure et la fonction biologiques des neurones dans le cerveau, l'apprentissage profond repose sur de grands réseaux interconnectés de neurones artificiels.

Qu'est-ce qu'un réseau neuronal ?

Les modèles de réseaux neuronaux artificiels s'inspirent des circuits biologiques qui composent le cerveau humain. Les réseaux neuronaux artificiels ont d'abord été créés pour montrer comment les circuits biologiques pouvaient calculer ou déterminer les valeurs de vérité des énoncés propositionnels dans la logique du premier ordre. Les réseaux neuronaux apprennent les caractéristiques pertinentes d'un ensemble de données et construisent des représentations de plus en plus complexes de ces caractéristiques au fur et à mesure que les données circulent dans les couches supérieures du réseau.

La compréhension des réseaux neuronaux par Warren S. McCullough et Walter Pitts

Warren S. McCullough et Walter Pitts ont montré comment construire une série de portes logiques capables de calculer les valeurs de vérité binaires. Les neurones de leur modèle sont des unités individuelles qui intègrent l'activité d'autres neurones. Chaque connexion entre les neurones est pondérée pour simuler l'efficacité synaptique, c'est-à-dire la capacité d'un neurone présynaptique à activer un neurone post-synaptique.

Bien qu'ils aient pris en compte la séquence temporelle du traitement et qu'ils aient voulu inclure des boucles de rétroaction, leurs modèles n'ont pas été en mesure d'apprendre ou de s'adapter.

les neurones et leurs interconnexions & les réseaux de neurones
À gauche : dessin de neurones et de leurs interconnexions par le premier neuroanatomiste, Ramon y Cajal.
À droite : dessins de "réseaux de neurones" par McCullough et Pitts, conçus pour traiter des énoncés logiques : Dessins de "réseaux de neurones" de McCullough et Pitts, conçus pour traiter des énoncés logiques.

L'apprentissage par réseau neuronal expliqué

Bien qu'il existe différentes règles d'apprentissage pour former un réseau neuronal, l'apprentissage le plus élémentaire peut être considéré comme suit : Un réseau neuronal reçoit une entrée et l'activité se propage à travers sa série de neurones interconnectés jusqu'à atteindre un ensemble de neurones de sortie.‍

Ces neurones de sortie déterminent le type de prédiction que fait le réseau. Par exemple, pour reconnaître des chiffres manuscrits, nous pourrions avoir 10 neurones de sortie dans le réseau, un pour chaque chiffre entre 0 et 9. Le neurone dont l'activité est la plus élevée en réponse à l'image d'un chiffre représente la prédiction du chiffre vu. Au début, les poids entre les neurones sont fixés à des valeurs aléatoires, et les premières prédictions concernant le chiffre présent dans une image seront aléatoires. Au fur et à mesure que chaque image est présentée, les poids peuvent être ajustés de manière à ce que le système ait plus de chances de produire la bonne réponse la prochaine fois qu'il verra une image similaire.‍

En ajustant les poids de cette manière, un réseau neuronal peut apprendre quelles caractéristiques et représentations sont pertinentes pour prédire correctement la classe de l'image, plutôt que d'exiger que cette connaissance soit prédéterminée à la main.‍

Bien que toute procédure de mise à jour des poids de cette manière puisse suffire - par exemple, les lois d'apprentissage biologique, les algorithmes évolutionnaires et le recuit simulé - la principale méthode utilisée aujourd'hui est connue sous le nom de rétropropagation.

L'algorithme de rétropropagation, découvert à plusieurs reprises par différents chercheurs à partir des années 1960, applique effectivement la règle de la chaîne pour dériver mathématiquement la manière dont la sortie d'un réseau change en fonction des modifications de ses poids. Cela permet à un réseau d'adapter ses poids selon une règle de mise à jour des poids basée sur la descente du gradient.‍

Bien que les règles soient en place pour que les réseaux neuronaux fonctionnent et apprennent efficacement, quelques astuces mathématiques supplémentaires ont été nécessaires pour vraiment pousser l'apprentissage profond à des niveaux de pointe.‍

Sepp Hochreiter a décrit mathématiquement en 1991 l'une des difficultés de l'apprentissage dans les réseaux neuronaux, en particulier dans les réseaux profonds ou multicouches. Ce problème était connu sous le nom de problème du gradient qui s'évanouit, avec un problème dual aujourd'hui connu sous le nom de problème du poids qui explose.

L'analyse de Hochreiter a motivé le développement d'une classe de réseaux neuronaux récurrents (RNN) connue sous le nom de modèle de mémoire à long terme (LSTM), qui est profonde dans le temps plutôt que dans l'espace. Les LSTM ont surmonté de nombreuses difficultés rencontrées par les RNN et restent aujourd'hui à la pointe de la technologie pour la modélisation des données temporelles ou séquentielles. Des développements parallèles pour les réseaux neuronaux feedforward et convolutionnels permettraient également de faire progresser leur capacité à surpasser les techniques traditionnelles d'apprentissage automatique dans un large éventail de tâches.

Outre les progrès matériels tels que la prolifération des unités de traitement graphique (GPU) et la disponibilité toujours croissante des données, des initialisations de poids plus intelligentes, de nouvelles fonctions d'activation et de meilleures méthodes de régularisation ont permis aux réseaux neuronaux de fonctionner aussi bien qu'ils le font aujourd'hui.

Vectra AI pour l'application de l'apprentissage profond à la cybersécurité

Vectra AI utilise l'apprentissage profond et les réseaux neuronaux artificiels pour construire des représentations complexes de caractéristiques apprises et pertinentes à partir d'un ensemble de données. Comme ces représentations sont apprises, et non prédéterminées par les scientifiques des données, elles sont extrêmement puissantes lorsqu'elles sont utilisées pour résoudre des problèmes très complexes. En savoir plus sur l'application de l'apprentissage profond et de l'apprentissage automatique sur le siteVectra AI.