Qu’est-ce que l’apprentissage machine ?
Pour comprendre les réseaux neuronaux, il faut d’abord s’intéresser à l’apprentissage machine. Et pour comprendre l’apprentissage machine, parlons d’abord de l’apprentissage humain, ou « programmation classique ». En programmation classique, le développeur a besoin de comprendre les aspects du problème à résoudre, et de savoir exactement quelles sont toutes les règles pour arriver à la solution. Et l’apprentissage machine ? De façon très générale, l’apprentissage machine = apprendre à partir d’exemples.
Dans l’apprentissage machine, pour par exemple distinguer des cercles et des carrés, il faudrait concevoir un système d’apprentissage qui prendrait en compte de nombreux exemples de formes et leur classe (carré ou cercle). La machine apprendra par elle-même les propriétés qui à distinguer. Et puis, une fois que la machine a identifié toutes ces propriétés, le développeur peux lui donner une nouvelle image d’un cercle ou d’un carré, une image qu’il n’a jamais « vue » auparavant, et qui devrait être classer correctement.
Qu’est-ce qu’un neurone (artificiel) ?
Un neurone, dans le contexte des réseaux neuronaux, est un buzzword utilisé pour dire « fonction ». Une fonction, dans le contexte des mathématiques et de l’informatique, est un nom de fantaisie pour quelque chose qui reçoit une donnée en entrée, applique une certaine logique, et produit un résultat. Plus précisément, un neurone peut être considéré comme une unité d’apprentissage. Eh bien, si un neurone est une fonction, alors un réseau neuronal est un réseau de fonctions. En d’autres termes, nous avons beaucoup (beaucoup) de fonctions, d’unités d’apprentissage, et tous leurs intrants et extrants sont entrelacés et se nourrissent les uns des autres.
Un concepteur réseau neuronal doit donc répondre à certaines questions :
– Comment modéliser les entrées et sorties ? (par exemple, si l’entrée est du texte, puis-je le modéliser en lettres ? chiffres ? vecteurs ?…..)
– Quelles sont les fonctions de chaque neurone ? (sont-ils linéaires ? exponentiels ?…..)
– Quelle est l’architecture du réseau ? (c’est-à-dire, quelle est la fonction dont la sortie est l’entrée de quelle fonction ?)
– Quels sont les mots à la mode que je peux utiliser pour décrire mon réseau ?
Une fois que le concepteur du réseau a répondu à ces questions, il peut « montrer » au réseau de nombreux (nombreux) exemples d’entrées et de sorties correctes, dans l’espoir que lorsqu’il lui « montrera » un nouvel exemple jamais « vu » auparavant, le réseau saura donner le bon résultat.