Qu'est-ce que le deep learning ?
Le Deep Learning (DL) est un sous-domaine du Machine Learning (ML) qui utilise des algorithmes de manière similaire à la façon dont les neurones sont utilisés dans le cerveau humain. Le machine learning crée des réseaux neuronaux et des couches artificiels basées sur la façon dont le cerveau humain fonctionne. Le deep learning est une technique de machine learning qui enseigne aux ordinateurs ce que nous, les humains, faisons facilement et naturellement : apprendre par les exemples que nous rencontrons.
Vous pouvez voir le deep learning profond en action dans les voitures sans conducteur, qui sont capables de distinguer un feu rouge d'un feu vert, un humain d'un trottoir et même d'évaluer la distance entre deux voitures. C'est la technologie qui permet l'activation vocale de votre téléphone portable, la reconnaissance des visages sur votre téléviseur et les opérations gestuelles sur vos appareils personnels. Le deep learning a fait l'objet d'une attention considérable ces dernières années, et ce, à juste titre.
L'histoire du deep learning
Pour revenir à ses origines, le deep learning est apparu en 1943 lorsque Warren McCulloch et Walter Pitts ont utilisé des mathématiques et des algorithmes pour créer un système informatique reproduisant les réseaux neuronaux. De petites avancées ont été réalisées dans les années 1950, 1960, 1970 et 1980. La plus grande évolution du deep learning a eu lieu en 1999, lorsque la vitesse de traitement des ordinateurs et les unités de traitement graphique ont été développées. Au cours des dix années suivantes, les systèmes maladroits et inefficaces sont devenus 1000 fois plus rapides.
Ce n'est qu'au milieu des années 2000 que l'expression « deep learning » a commencé à apparaître régulièrement dans les conversations technologiques. Le terme est devenu populaire lorsque Geoffrey Hinton et Ruslan Salakhutdinov ont publié un article expliquant comment un réseau neuronal comprenant plusieurs couches pouvait apprendre, une couche à la fois. Google est passé à la vitesse supérieure en 2012 avec un algorithme capable de reconnaître les chats. Connu sous le nom de « The Cat Experiment », il a utilisé unsupervised learning (apprentissage non supervisé) pour montrer 10 000 000 d'images de chats à un système et l'entraîner à reconnaître les chats. Le système a connu un succès partiel, faisant mieux que ses prédécesseurs mais reconnaissant moins de 16 % des chats qui lui ont été montrés.
Deux ans plus tard, Google a investi dans la start-up britannique DeepMind, spécialisée dans l'intelligence artificielle. En 2016, l'algorithme AlphaGo de Google DeepMind est entré dans l'histoire en apprenant le jeu de société complexe qu'est le Go et en battant un joueur humain professionnel lors d'une compétition à Séoul.
Le deep learning, un sous-domaine du machine learning, est un domaine qui apprend et s'améliore constamment en examinant ses propres algorithmes. Le deep learning s'appuie sur des réseaux neuronaux artificiels créés pour imiter la pensée humaine. Jusqu'à récemment, ces réseaux neuronaux avaient une puissance de calcul limitée, ce qui se traduisait par une complexité limitée.
Avec la progression à pas de géant de l'analytique big data, les réseaux neuronaux sont devenus de plus en plus complexes et sophistiqués. Les ordinateurs ont ainsi pris le pas sur l'observation, l'apprentissage et la réaction à des situations complexes, parfois plus rapidement que ne le ferait un esprit humain. Les modèles continuent d'être formés à l'aide de grands ensembles de données étiquetées et de réseaux neuronaux comportant une multitude de couches. Grâce à la classification des images, aux capacités de traduction et à la technologie de reconnaissance vocale, le deep learning décode même la reconnaissance des formes sans aucune aide humaine.

Que réalise le deep learning ?
Le deep learning fait partie de notre vie quotidienne. Par exemple, lorsque vous téléchargez des photos sur Facebook, le deep learning vous aide en étiquetant automatiquement vos amis. Si vous utilisez des assistants numériques comme Siri, Cortana ou Alexa, c'est le traitement du langage naturel et la reconnaissance vocale qui les aident à vous rendre service. Lorsque vous rencontrez vos clients internationaux sur Skype, vous écoutez les traductions en temps réel. Votre fournisseur de services de messagerie reconnaît les spams sans que vous ayez besoin de le faire vous-même. Et la liste est encore longue.
Un géant comme Google exploite le deep learning depuis des années et s'efforce désormais de fournir des solutions de niveau supérieur. Il est parvenu à générer des paroles qui imitent la voix humaine et semblent aussi naturelles que possible avec ses systèmes vocaux. Google Translate utilise le deep learning et la reconnaissance d'images pour la traduction vocale et la reconnaissance de langues écrites. PlaNet de Google peut vous dire où une photo a été prise et TensorFlow a produit une série d'applications d'intelligence artificielle (IA).
Plusieurs industries ont désormais le deep learning au cœur de leur fonctionnement :
Aérospatiale et défense
Le deep learning est largement utilisé pour aider les satellites à identifier des objets ou des zones d'intérêt spécifiques et à les classer comme sûrs ou dangereux pour les soldats.
Recherche médicale
Le domaine de la recherche médicale s'appuie largement sur le deep learning. Par exemple, dans les recherches en cours sur le cancer, le deep learning est utilisé pour détecter automatiquement la présence de cellules cancéreuses. Les chercheurs de l'UCLA ont créé un microscope avancé qui utilise des données haut de gamme pour enseigner à une application de deep learning comment identifier les cellules cancéreuses avec précision. La portée du deep learning permettra à terme à la recherche médicale de créer des médicaments personnalisés, adaptés à la structure du génome d'une personne.
Automatisation industrielle
Le secteur des machines lourdes est un secteur qui nécessite un grand nombre de mesures de sécurité. Le deep learning contribue à l'amélioration de la sécurité des travailleurs dans de tels environnements en détectant toute personne ou tout objet qui se trouve dans le rayon dangereux d'une machine lourde.
Chatbots et bots de service
le deep learning est le moteur de tous les chatbots et bots de service qui interagissent avec les clients et leur permettent de fournir des réponses intelligentes à des requêtes vocales et textuelles de plus en plus complexes. Ce processus est en constante évolution.
Colorisation des images
Ce qui était autrefois une tâche effectuée manuellement et pendant une longue période de temps peut désormais être confié à des ordinateurs. Les images en noir et blanc peuvent être colorées à l'aide d'algorithmes de deep learning qui sont capables de replacer le contenu de l'image dans son contexte et de le recréer précisément avec les bonnes couleurs.
Reconnaissance faciale
Cette fonction de deep learning n'est pas seulement utilisée à des fins de sécurité, mais permettra bientôt de faire des achats dans les magasins. La reconnaissance faciale est déjà largement utilisée dans les aéroports pour permettre un enregistrement transparent et sans papier. Le deep learning va permettre d'aller encore plus loin et de faire de la reconnaissance faciale un moyen de paiement, même lorsque la personne a changé de coiffure ou l'éclairage n'est pas optimal.
Comment fonctionne le deep learning ?
Pour comprendre comment les ordinateurs utilisent le deep learning, ils suivent un processus similaire à celui d'un jeune enfant qui essaie d'apprendre à identifier un chien. Un jeune enfant apprend d'abord à associer une image au mot « chien » prononcé par un adulte. L'enfant associe ensuite le son d'un aboiement à un chien. Il commence ensuite à dire le mot avec plusieurs variantes de prononciation jusqu'à ce qu'il y arrive.
De la même manière, les programmes informatiques ont une hiérarchie et l'algorithme de chaque niveau applique un niveau de transformation à l'entrée (c'est l'apprentissage qu'il fait) et crée un modèle statistique comme référence pour la sortie. Diverses itérations (tout comme l'enfant qui apprend à reconnaître le chien) sont prises en compte jusqu'à ce que le niveau de précision requis soit atteint. Les différentes couches ou ensembles de caractéristiques par lesquels les données doivent passer pour atteindre le niveau final sont à l'origine de la technologie appelée « deep learning ».
Dans le cas d'un enfant et du machine learning supervisé, chaque niveau doit être supervisé et les instructions doivent être spécifiques. Pour un enfant, cela dépend du parent, pour le machine learning, cela repose sur les compétences du programmeur ou du data scientist qui définit l'ensemble des données permettant d'identifier un chien. Dans le cas du deep learning, le programme construit des ensembles de caractéristiques pour lui-même sans supervision, plus rapidement et avec précision.
Il faut des mois à un enfant pour être capable de faire la bonne association avec un chien. Pour un programme informatique basé sur des algorithmes de deep learning, cela peut se faire en quelques minutes, car il parcourt avec précision d'énormes quantités d'images et y repère les chiens. Pour atteindre et maintenir constamment de tels niveaux de précision, les programmes de deep learning ont besoin d'énormes quantités de données pour l'entraînement ainsi qu'une forte puissance de traitement. Ni l'un ni l'autre n'étaient facilement accessibles aux programmeurs avant l'arrivée du cloud computing et du big data.
Grâce à la quantité de données disponibles, les programmes de deep learning ont acquis la capacité de créer des modèles hiérarchiques complexes avec leurs propres résultats basés sur l'itération. Ils sont capables de créer des modèles prédictifs extrêmement précis à partir d'énormes quantités de données brutes non structurées. À l'avenir, cela jouera un rôle important dans la mise en place de l'Internet des objets (IoT), car la plupart des données produites par les humains et les machines ne sont pas structurées et sont donc mieux traitées par le deep learning plutôt que par les humains.
Création de méthodes de deep learning solides
Il existe plusieurs approches pour créer des modèles de deep learning solides.
Déclin du taux d'apprentissage
Il s'agit d'un hyperparamètre qui pourrait être le paramètre le plus important pour le deep learning. Il détermine dans quelle mesure le modèle se modifie en réponse à la quantité d'erreur estimée, chaque fois qu'il y a un changement de facteurs. Lorsque le taux d'apprentissage est élevé, le système devient trop instable pour les processus de formation. S'il est trop faible, les chances que la formation prenne plus de temps que nécessaire sont élevées. Une configuration précise du déclin du taux d'apprentissage signifie que le taux d'apprentissage s'adapte pour continuer à augmenter les capacités de performance tout en réduisant le temps de formation nécessaire.
Apprentissage par transfert
Ce processus consiste à demander à un modèle d'effectuer une analyse sur une tâche connexe à celle qu'il connaît déjà. Le réseau existant reçoit de nouvelles données qui ne sont pas classées. Lorsque des ajustements sont mis en place, toute nouvelle tâche sera exécutée avec de meilleures capacités de catégorisation. Avec cette approche, la quantité de données nécessaires est réduite, ce qui permet également de réduire le temps de calcul.
Formation à partir de zéro
Dans cette approche, le développeur va agréger de grandes quantités de données étiquetées. L'architecture du réseau sera ensuite configurée de manière à ce qu'elle puisse apprendre les caractéristiques et le modèle. Cette approche fonctionne très bien pour la création de nouvelles applications ainsi que pour celles qui peuvent nécessiter plusieurs sorties. Cependant, elle reste l'une des approches les moins utilisées en raison de la quantité massive de données nécessaire, ce qui augmente le temps d'apprentissage.
Approche de l'abandon
Cette méthode résout le problème de l'ajustement excessif des réseaux compte tenu du grand nombre de paramètres. On parle de surajustement lorsque les algorithmes développés sur les données d'apprentissage ne s'adaptent pas aux données réelles. L'approche de l'abandon a fait ses preuves en matière d'amélioration des performances des réseaux neuronaux en ce qui concerne le supervised learning, notamment dans les secteurs de la reconnaissance vocale et de la classification des documents ainsi que de la biologie informatique.
Le deep learning a donné une impulsion considérable au domaine de l'intelligence artificielle et du machine learning. La capacité du deep learning à disséquer les tâches de manière à faciliter l'assistance à toute machine et à rendre possibles des tâches auparavant réservées aux humains est son point fort. L'intelligence artificielle est la voie du futur et, avec l'aide du deep learning, les choses que vous voyez dans les films pourraient bien devenir une réalité au cours d'une vie.