Deep learning… vous en avez sans doute entendu parler. Si vous n’avez jamais réussi à comprendre de quoi il s’agit, cet article est fait pour vous. Vous pourrez vous approprier ce type de modèle pour comprendre comment le mettre en fonctionnement rapidement.
Le deep learning, ou « apprentissage profond », est un ensemble de techniques apparues autour des années 2000 et qui font partie du domaine du machine learning, même si comme nous le verrons plus tard, c’est un nouveau domaine à part entière. D’une manière très simple, un modèle de machine learning est un système qui met des « étiquettes » aux données de façon automatique.
Quand on parle de deep learning, on parle de réseau de neurones artificiels, d’intelligence artificielle et de modèles de prédiction ou de classification. Plus concrètement, c’est un type d’algorithme d’apprentissage automatique structuré ou hiérarchisé.
Pour utiliser un système de deep learning, il faut passer par un processus pédagogique dans lequel un humain catégorise manuellement quelques données qui vont servir à la machine à démarrer la phase d’apprentissage et par la suite, ce sera la machine seule qui trouvera les informations précises pour modéliser les algorithmes de classification des données étiquetées.
Ces systèmes sont plus autonomes que les systèmes d’apprentissage automatique traditionnels (SVM, chaînes de Markov, etc.) et leur structure (cf. paragraphe ci-dessous) est plus complexe.
Nous avons vu tout au long des dix dernières années des exemples d’applications où le deep learning a su confirmer sa puissance de calcul. L’un de ces exemples est l’intelligence artificielle AlphaGo, développée par Google, qui a réussi à battre le champion mondial du jeu de Go.
La structure du deep learning
Ce sont des réseaux similaires à nos réseaux de neurones biologiques. En effet, il s’agit d’une manière d’apprendre similaire à celle du cerveau humain, où l’information est modélisée à travers un ensemble de hiérarchisations de concepts.
Les réseaux de neurones artificiels se composent de trois types de couches ou de niveaux :
- la couche d’entrée (Input Layer) : elle est composée de neurones qui assimilent les données d’entrée, comme par exemple une image (les pixels qui la composent) ou une table avec des données ;
- la/les couche(s) cachée(s) (Hidden Layer): il s’agit du réseau qui réalise l’analyse de l’information et qui fait les calculs intermédiaires. C’est à ce niveau que se fait la hiérarchisation et l’abstraction. Plus il y a de neurones dans ces couches, plus les calculs sont complexes ;
- couche de sortie (Output Layer) : c’est la dernière étape, ce sont les ensembles de neurones qui prennent la décision ou qui réalisent une conclusion qui sera produite comme résultat.
Différences avec l’apprentissage automatique « classique »
L’avantage principal du deep learning est le fait d’être plus autonome par rapport aux données structurées ou catégorisées avec des étiquettes pour pouvoir effectuer des tâches de classification. Là où le machine learning se focalise sur l’apprentissage automatique en soi, le deep learning s’oriente vers la compréhension des données.
Les réseaux de neurones artificiels qui utilisent une approche deep learning envoient les informations correspondantes aux données à traiter à travers les différentes couches du réseau, et chaque couche définit la hiérarchie des caractéristiques spécifiques des données.
Par exemple, s’il s’agit de classifier des images de chats, le réseau va apprendre automatiquement ce que caractérise un chat, donc très probablement la forme des oreilles, la queue, les couleurs, les proportions, etc.
Dans l’apprentissage automatique classique, il fallait guider la machine dans chacune des étapes du processus pour qu’elle puisse apprendre à travers un ensemble d’itérations d’apprentissage comment identifier ce que nous voulions classifier de manière automatique.
Par exemple, si nous reprenons le cas des images de chats, il aurait fallu disposer d’une base d’apprentissage assez conséquente pour apprendre à la machine ce que veut dire « chat », pour qu’ensuite elle soit capable de reproduire ces résultats pour la reconnaissance d’image. Avec le deep learning, le réseau n’est pas seulement capable de faire la classification d’images, il permet aussi d’apprendre les caractéristiques importantes qui vont servir à faire la classification.
Néanmoins, la qualité des résultats est forcément liée à la qualité des données, d’où l’importance du Big Data, sans lequel le deep learning ne se serait pas développé aussi rapidement.
Quand utiliser le deep learning ?
Historiquement, l’apprentissage approfondi et les méthodes d’apprentissage hiérarchique ont été utilisés dans le domaine médical pour le diagnostic et dans le domaine des finances pour l’analyse prédictive des marchés.
Néanmoins, on observe une généralisation de son utilisation dans de multiples secteurs comme la détection de fraudes, les systèmes de recommandation, la détection de pannes et surtout la classification d’images, textes et sons, par exemple dans le système de reconnaissance vocale Google Now. Le deep Learning va jouer un rôle important dans une multitude de secteurs professionnels.
Ainsi, il y a actuellement énormément de situations dans lesquelles vous pourrez tirer parti des bénéfices du deep learning, notamment si vous êtes une entreprise avec de grandes masses de données dans lesquelles vous voulez identifier et classifier des objets, ou si vous êtes face à un problème qui exige des abstractions trop complexes, où le machine learning traditionnel risque de ne pas être assez puissant.
Quoi qu’il en soit, n’oubliez pas qu’il s’agit de modèles assez gourmands en calculs, donc vous aurez intérêt à investir dans des ressources hardware et software, et surtout dans des solutions basées sur le Cloud.