La notion d’apprentissage, bien que connue déjà depuis Sumer, n’est pas modélisable dans le cadre de la logique déductive : celle-ci en effet procède à partir de connaissances déjà établies dont on tire des connaissances dérivées. Or il s’agit ici de la démarche inverse : par observations limitées, tirer des généralisations plausibles : c'est un procédé par induction.
La notion d’apprentissage recouvre deux réalités souvent traitées de façon successive :
Dans le cas des systèmes d’apprentissage statistique, utilisés pour optimiser les modèles statistiques classiques, réseaux de neurones et automates markoviens, c’est la généralisation qui est l’objet de toute l’attention.
Cette notion de généralisation est traitée de façon plus ou moins complète par plusieurs approches théoriques.
En fonction de la structure du réseau, différents types de fonction sont approchables grâce aux réseaux de neurones :
Un perceptron (un réseau à une unité) peut représenter les fonctions booléennes suivantes : AND, OR, NAND, NOR mais pas le XOR. Comme toute fonction booléenne est représentable à l'aide de AND, OR, NAND et NOR, un réseau de perceptrons est capable de représenter toutes les fonctions booléennes.
La large majorité des réseaux de neurones possède un algorithme « d’entraînement » qui consiste à modifier les poids synaptiques en fonction d’un jeu de données présentées en entrée du réseau. Le but de cet entraînement est de permettre au réseau de neurones « d’apprendre » à partir des exemples. Si l’entraînement est correctement réalisé, le réseau est capable de fournir des réponses en sortie très proches des valeurs d’origines du jeu de données d’entraînement.
Mais tout l’intérêt des réseaux de neurones réside dans leur capacité à généraliser à partir du jeu de test.
On peut donc utiliser un réseau de neurones pour réaliser une mémoire ; on parle alors de mémoire neuronale.
La vision topologique d’un apprentissage correspond à la détermination de l’hypersurface sur
Un apprentissage est dit supervisé lorsque l’on force le réseau à converger vers un état final précis, en même temps qu’on lui présente un motif.
À l’inverse, lors d’un apprentissage non-supervisé, le réseau est laissé libre de converger vers n’importe quel état final lorsqu’on lui présente un motif.
Il arrive souvent que les exemples de la base d'apprentissage comportent des valeurs approximatives ou bruitées. Si on oblige le réseau à répondre de façon quasi parfaite relativement à ces exemples, on peut obtenir un réseau qui est biaisé par des valeurs erronées. Par exemple, imaginons qu'on présente au réseau des couples (xi,f(xi)) situés sur une droite d'équation y=ax+b, mais bruités de sorte que les points ne soient pas exactement sur la droite. S'il y a un bon apprentissage, le réseau répond ax+b pour toute valeur de x présentée. S'il y a surapprentissage, le réseau répond un peu plus que ax+b ou un peu moins, car chaque couple (xi, f(xi) positionné en dehors de la droite va influencer la décision. Pour éviter le surapprentissage, il existe une méthode simple : il suffit de partager la base d'exemples en 2 sous-ensembles. Le premier sert à l'apprentissage et le 2e sert à l'évaluation de l'apprentissage. Tant que l'erreur obtenue sur le 2e ensemble diminue, on peut continuer l'apprentissage, sinon on arrête.
La rétropropagation consiste à rétropropager l'erreur commise par un neurone à ses synapses et aux neurones qui y sont reliés. Pour les réseaux de neurones, on utilise habituellement la rétropropagation du gradient de l'erreur, qui consiste à corriger les erreurs selon l'importance des éléments qui ont justement participé à la réalisation de ces erreurs : les poids synaptiques qui contribuent à engendrer une erreur importante se verront modifiés de manière plus significative que les poids qui ont engendré une erreur marginale.
L'élagage ("pruning", en anglais) est une méthode qui permet d'éviter le surapprentissage tout en limitant la complexité du modèle. Elle consiste à supprimer des connexions (ou synapses), des entrées ou des neurones du réseau une fois l'apprentissage terminé. En pratique, les éléments qui ont la plus petite influence sur l'erreur de sortie du réseau sont supprimés. Les deux algorithmes d'élagage les plus utilisés sont :