Nous allons considérer des architectures de réseaux à couches telles que :

Figure 3.12: un réseau multicouches

![]()
Démonstration : Ecrire la fonction sous forme normale disjonctive et montrer qu'un perceptron peut calculer un monôme quelconque ainsi qu'un OU n-aire.
Mais si l'on utilise cette méthode pour construire un réseau de
neurones permettant de calculer une fonction booléenne quelconque, la
couche cachée pourra contenir jusqu'à
neurones (où n est la
taille de la rétine), ce qui est inacceptable en pratique. On peut
montrer par ailleurs que cette solution est loin d'être la
meilleure (voir le cas de la fonction parité en exercice).
Le résultat ci-dessus a été généralisé par Hornik en 1989 au cas des fonctions réelles : la plupart des fonctions numériques peuvent être approximées avec une précision arbitraire par des réseaux à une seule couche cachée. Mais comme dans le cas booléen, cette couche cachée peut être démesurément grande et le théorème de Hornik est essentiellement un résultat théorique sur l'expressivité des réseaux multi-couches.
Pour pouvoir utiliser les réseaux multi-couches en apprentissage, deux choses sont indispensables :
Il a fallu attendre le début des années 80 pour que le deuxième problème trouve une solution : l'algorithme de rétropropagation du gradient, découvert simultanément par des équipes française et américaine, que nous présentons dans le paragraphe suivant.
Mais le premier point est encore un sujet de recherche actif : quelques algorithmes d'apprentissage auto-constructifs ont été proposés. Leur rôle est double :
Il semble assez facile de concevoir des algorithmes auto-constructifs qui classent correctement l'échantillon, mais beaucoup plus difficile d'en obtenir qui aient un bon pouvoir de généralisation.