Découverte de la nécessité des réseaux neuronaux
Objectifs de formation
Une fois cette unité terminée, vous pourrez :
- Expliquer les limites des modèles d’IA qui ne prennent en compte que les entrées de pondération
- Décrire le rôle des réseaux neuronaux dans l’apprentissage automatique
- Définir les principaux composants des réseaux neuronaux
- Décrire comment il est possible d’ajouter de la complexité aux réseaux neuronaux et définir ce qu’est l’apprentissage profond
- Expliquer les raisons pour lesquelles il est impossible d’interpréter les pondérations et les biais déterminés grâce à l’entraînement
Trailcast
Pour écouter un enregistrement audio de ce module, utilisez le lecteur ci-dessous. Lorsque vous avez fini d’écouter cet enregistrement, n’oubliez pas de revenir à chaque unité, de consulter les ressources et de réaliser les évaluations associées.
La nécessité des réseaux neuronaux
Nous ne pouvons pas parler de l’IA sans mentionner les réseaux neuronaux. Les réseaux neuronaux étant des outils importants pour l’entraînement des modèles d’IA, il est utile d’avoir une idée de ce qu’ils sont. Toutefois, avant d’entrer dans les détails, découvrons d’abord pourquoi nous avons besoin de réseaux neuronaux en premier lieu.
Dans l’unité précédente, vous avez appris que nous pouvons entraîner un modèle d’IA en le laissant deviner et vérifier l’importance (la pondération) de chaque entrée. Cependant, l’exemple relatif aux sorties pour aller acheter du lait était en fait trop simplifié. Notre modèle nous donnerait des estimations assez approximatives. Pour comprendre pourquoi, examinons deux scénarios.
- Il pleut un mardi soir. Vous préférez rester au sec, alors vous (comme beaucoup d’autres personnes) décidez que vous pourrez faire vos courses le lendemain. Dans ce scénario, la pluie est un facteur important.
- Il pleut un samedi après-midi. Pour beaucoup de personnes, c’est le seul moment de la semaine où elles peuvent faire leurs courses. Ainsi, il y aura du monde au supermarché, qu’il pleuve ou qu’il fasse beau. Dans ce scénario, le fait qu’il pleuve ne fait pas une grande différence.
Le problème est que notre modèle d’origine ne peut attribuer qu’une seule pondération à la pluie, alors que nous savons que les choses sont plus compliquées que cela. Il existe cependant une solution, qui consiste à représenter les deux scénarios dans deux graphiques distincts. Encore une fois, l’épaisseur des traits indique l’importance des facteurs. Dans le premier graphique, « week-end » et « moment de la journée » sont associés à un trait fin, tandis que « pluie » correspond à un trait épais. Dans le second graphique, « week-end » correspond à un trait épais, tandis que « moment de la journée » et « pluie » sont associés à un trait fin.
Nous savons que ces deux scénarios sont pertinents parce que nous sommes intelligents et que nous avons l’habitude d’aller acheter du lait. Toutefois, un ordinateur qui découvre tout juste le principe de sortir pour aller faire un tel achat ne sait encore rien de tout cela ! Il doit prendre en compte de nombreux scénarios : week-end/soir/pluie, semaine/matin/beau temps, etc. Au lieu de deux graphiques, il en faudrait en fait huit pour mieux représenter les différents types de scénarios que vous pouvez rencontrer.
Vous constaterez que l’on obtient un grand nombre de graphiques très similaires. Étant donné que les trois entrées représentent toujours « week-end », « moment de la journée » et « pluie », vous pouvez les recouper. Si vous organisez les sorties pour qu’elles ne se mélangent pas, vous obtenez un graphique combiné qui ressemble à ceci.
L’importance de chaque scénario dépend de ses entrées spécifiques. Toutefois, connaître l’importance d’un scénario ne représente que la moitié du travail. Chaque scénario doit avoir sa propre incidence sur l’estimation finale.
Par exemple, aller acheter du lait en suivant le scénario week-end/après-midi/beau temps prend probablement beaucoup plus de temps. Attribuons donc un ajustement de +5 à ce scénario. Lorsque nous calculerons une estimation, le nombre obtenu sera alors plus grand. Pendant que nous y sommes, attribuons au scénario semaine/matin/pluie un ajustement de -4, puisque nous savons qu’il est plus rapide d’aller acheter du lait à ce moment là.
Chaque scénario reçoit son propre ajustement, que nous appelons un biais. Dans ce contexte, le biais est une chose positive, car il nous aide à obtenir une estimation plus précise. Retraçons notre graphique en y incluant le biais associé à chaque scénario.
Que faire de ces huit scénarios et de leurs biais ? À l’aide de savants calculs, nous pouvons les combiner en une estimation finale. Comme certains scénarios ont une incidence plus importante sur le résultat que d’autres, vous aurez deviné que nous avons besoin de pondérations plus élevées pour ceux-ci ! Nous pouvons mettre à jour notre graphique afin qu’il présente dans quelle mesure les différents scénarios influent chacun sur l’estimation finale.
Voici notre nouveau modèle. La présence d’un plus grand nombre de relations nous permettra, espérons-le, d’obtenir de meilleures estimations. Ce réseau de relations, ordonné à l’aide de pondérations et de biais, est un exemple de réseau neuronal. Nous l’appelons ainsi parce que les relations, déterminées à partir des expériences (les données), ressemblent à la façon dont les neurones d’un cerveau sont reliés.
Bien que scénario soit un bon mot de base pour décrire une combinaison unique de facteurs, nous devrions plutôt utiliser le mot nœud pour désigner cette notion. Il s’agit du terme utilisé par les experts en IA, donc nous l’emploierons également à partir de maintenant.
Ajout de degrés de complexité aux réseaux neuronaux
Notre nouveau modèle relatif aux sorties pour aller acheter du lait est un exemple assez basique d’un réseau neuronal. Dans la pratique, ces réseaux peuvent devenir très complexes. Examinons quelques-unes des façons dont les chercheurs élaborent des réseaux neuronaux de manière à obtenir de meilleurs résultats pour des tâches spécifiques.
Tout d’abord, vous vous demandez peut-être pourquoi nous avons choisi huit nœuds pour lier les entrées et la sortie. Il se trouve que ce nombre présente une certaine flexibilité. Nous savons que l’absence de nœuds nous donnerait des estimations approximatives. De la même manière, le fait d’en avoir trop peu pourrait ne pas nous permettre de saisir toutes les nuances du système que nous essayons de modéliser. Toutefois, il est également problématique de disposer d’un trop grand nombre de nœuds. Il n’est pas souhaitable que l’ordinateur effectue plus de calculs que nécessaire. Il existe donc un nombre idéal de nœuds nous permettant d’obtenir de bons résultats avec un minimum d’efforts. Le choix d’un nombre de nœuds adéquat fait partie intégrante du processus de conception d’un réseau neuronal performant.
Il y a autre chose que nous pouvons faire pour que les réseaux neuronaux artificiels ressemblent davantage à ceux de nos propres cerveaux. Cela se rapporte à la manière dont notre esprit saute souvent d’une idée à l’autre pour trouver des relations entre deux choses qui ne sont pas liées au premier abord. Certaines des idées les plus brillantes sont le résultat de plusieurs de ces « sauts » mentaux. Alors, qu’en serait-il si pouvions créer un réseau neuronal qui pourrait lui aussi effectuer davantage de sauts ? Il se trouve que c’est déjà possible ! Il suffit d’ajouter davantage de nœuds sous forme de couches, qui relient chaque nœud à son voisin.
Le fait d’entraîner l’IA en ajoutant des couches supplémentaires afin de trouver des significations cachées dans les données est appelé l’apprentissage profond. Grâce à la grande puissance de calcul aujourd’hui disponible, de nombreux réseaux neuronaux sont conçus de manière à disposer de plusieurs couches. Encore une fois, pour trouver le nombre idéal de couches, il faut parvenir à un équilibre entre la quantité de calculs requis et la qualité des résultats qu’ils génèrent.
Au-delà du calcul mental, les calculs de réseau neuronal
Intéressons-nous justement aux calculs. Jusqu’à présent, nous avons esquivé la partie mathématique de l’entraînement des réseaux neuronaux. Il y a quelques raisons à cela. Premièrement, les calculs peuvent se complexifier très rapidement. Par exemple, voici un extrait d’un article de recherche sur les réseaux neuronaux.
Comme vous pouvez le constater, c’est intense !
Deuxièmement, les calculs exacts à effectuer vont dépendre du type de tâche à laquelle vous entraînez à effectuer le réseau neuronal. Troisièmement, chaque nouvel article de recherche affine les calculs au fur et à mesure que sont identifiées les méthodes les plus efficaces pour entraîner les différents modèles.
Ainsi, le processus de conception d’un réseau neuronal implique de choisir le nombre de nœuds, le nombre de couches et les calculs adaptés à la tâche ciblée par l’entraînement. Lorsque l’architecture du modèle est prête, vous devez laisser l’ordinateur utiliser tous ces calculs sophistiqués pour appliquer le processus « deviner et vérifier ». Il finira par trouver les meilleurs biais et pondérations qui permettront de donner des estimations correctes.
Cela nous amène à un aspect étonnant des réseaux neuronaux artificiels. Imaginez un découvreur de talents performant qui recherche le prochain grand joueur de baseball. « Je saurai que c’est lui quand je le verrai », pourrait-il dire. Il ne peut pas expliquer comment il le saura, mais il le saura. De la même manière, notre réseau neuronal ne peut pas expliquer pourquoi certains facteurs sont importants. Bien entendu, nous pouvons étudier les valeurs associées à chaque pondération et biais, mais nous ne pourrons pas déterminer la pertinence d’un nombre qui représente le résultat d’une chaîne de relations.
Ainsi, tout comme l’esprit du découvreur de talents est insondable, notre réseau neuronal l’est aussi. Étant donné que nous n’observons pas les couches situées entre l’entrée et la sortie, celles-ci sont appelées couches cachées.
Conclusion
Pour résumer, les réseaux neuronaux sont une combinaison de nœuds, de couches, de pondérations, de biais et d’une montagne de calculs. Ensemble, ces éléments imitent le fonctionnement des réseaux neuronaux de nos cerveaux. Chaque réseau neuronal est soigneusement élaboré pour réaliser une tâche spécifique. Ils peuvent s’avérer ainsi très efficaces pour prédire la pluie, catégoriser des plantes ou encore maintenir votre voiture au centre de la voie qu’elle emprunte sur l’autoroute. Quelle que soit la tâche, c’est en grande partie grâce aux réseaux neuronaux que l’IA s’apparente à de la magie. Désormais, vous en savez un peu plus sur ce qu’il se passe derrière le rideau.
Ressources