• Aucun résultat trouvé

i i Généralisation et interpolation

On peut également comparer ce comportement à l’interpolation d’une fonction. On suppose qu’il existe une fonction inconnue ƒ, le concept, dont on ne connait que quelques points, les exemples. Cela suffit il pour retrouver la fonction, et donc pouvoir déterminer sa valeur pour de nouvelles entrées?

La réponse est en général négative (fig 2.14). Il y a une infinité de façons de passer par un nombre fini de points. Cela n’est plus vrai si l’on recherche une fonction d’interpolation dans une classe assez restreinte, paramétrée par des poids.

Il faut alors disposer d’un ensemble d’exemples assez représentatif pour pouvoir définir, au sein de notre classe restreinte, la fonction la plus proche de la fonction inconnue ƒ.

ƒ(x )

x Fig 2.14 - Deux façons d'interpoler un ensemble de points par une courbe.

Ce schéma simple est compliqué parce qu’on apprend souvent à l’aide de données bruitées, et parce que ce que l’on apprend n’est pas une fonction: A chaque vecteur d’entrée n’est pas associée une unique réponse.

La nécessité d’une modélisation probabiliste constitue une différence qualitative entre apprentissage et interpolation; les ordres de grandeur des nombres d’exemples et de paramètres constituent de plus une différence quantitative.

2.5 Une problématique unifiée

Nous avons souligné, dans la section 2.1, que les algorithmes connexionnistes étaient une réponse algorithmique et mathématique à une problématique relevant des sciences humaines. Cela possède l’aspect très positif d’une étude pluridisciplinaire.

Les outils mathématiques, bien adaptés à l’étude des algorithmes, ne sont malheureusement pas adéquats pour aborder les concepts des sciences humaines, et donc pour appréhender l’unité profonde des algorithmes connexionistes. On adopte donc, pour chaque algorithme, une approche mathématique ad hoc.

La présentation des algorithmes dans ce chapitre tend au contraire à montrer qu’il est possible de trouver des problématiques mathématiques. Elles ne sont pas équivalentes à la problématique connexionniste, mais permettent d’étudier de façon unifiée beaucoup d’algorithmes connexionnistes, et quelques autres…

Nous en avons retenu deux.

• Lorsqu’on parle d’apprentissage, on a souvent en tête la recherche d’un optimum. Celui ci s’exprime par un critère global; minimiser, par exemple, le nombre d’erreurs.

Or, on est souvent contraint d’apprendre exemple après exemple, c’est à dire d’optimiser à chaque étape une partie seulement de ce critère global. L’étude de ces procédures, curieusement efficaces, constitue la problématique de l’apprentissage stochastique, qui est l’objet du chapitre 3.

Un autre aspect, souligné ci dessus, est la problématique de la généralisation. Est il possible d’apprendre avec un nombre fini d’exemples? Ce sera l’objet du chapitre 4.

Ces deux problématiques sont étroitement liées. Ce que l’on peut apprendre n’est pas très différent de ce que l’on sait généraliser…

3 Apprentissage stochastique.

3.1 Apprentissage et optimisation stochastique.

L’apprentissage se présente souvent comme un problème d’optimisation. On introduit ici une forme simple et générale d’algorithme d’optimisation stochastique: la descente de gradient stochastique.

Tout système de traitement de l’information est conçu pour remplir un certain but. Si l’on sait caractériser ce but analytiquement, il ne reste qu’à résoudre un système d’équations. On peut alors entièrement concevoir le système à l’avance.

Fréquemment, cependant, on ne sait pas caractériser ce but, mais on saurait mesurer la qualité avec laquelle il est atteint sur un système donné.

Par exemple, on ne sait pas exprimer analytiquement les mots contenus dans un signal de parole. En revanche, si l’on dispose d’un système de reconnaissance de la parole, il suffit d’un jeu d’essai pour en mesurer la qualité.

On peut alors envisager d’améliorer un système, en optimisant cette mesure de la qualité. C’est dans ce sens que l’on parle ici d’apprentissage et d’adaptation.

3.1.1 Optimisation stochastique.

3.1.1.1 Apprentissage et adaptation.

Il y a une certaine différence entre les notions d’apprentissage et d’adaptation.

Dans le cas de l’adaptation, on améliore un système au cours de son utilisation. C’est le cas, par exemple, des algorithmes de traitement adaptatif du signal, ou d’un système de contrôle de bras de robot.

L’intérêt de la démarche repose dans la capacité du système d’apprentissage à s’adapter à des variations lentes de l’environnement, comme l’évolution de la nature du bruit sur une ligne téléphonique, ou encore l’apparition de jeux dans les articulations d’un bras de robot.

Dans le cas de l’apprentissage, on dispose par avance d’un certain nombre d’exemples, et on désire calculer un système figé, capable de remplir par la suite une tâche précise.

On peut imaginer également des systèmes mixtes, initialisés par apprentissage, et capables par la suite d’adaptation.

3.1.1.2 Nécessité de la procédure stochastique.

Le critère de qualité que l’on optimise est usuellement un critère global, comme minimiser une probabilité d’erreur, que l’on peut évaluer en observant comment le système réagit sur un ensemble représentatif des conditions extérieures possibles.

Or on ne souhaite pas, dans le cas d’un algorithme d’adaptation, attendre d’avoir collecté des statistiques complètes sur le fonctionnement du système depuis la dernière adaptation. On désire que l’adaptation ne dépende que du comportement présent du système, bon ou mauvais, qui est une piètre mesure du critère de qualité.

Les améliorations successives du systèmes possèdent donc une composante aléatoire, dépendant des conditions extérieures à un instant donné. On espère alors qu’en moyenne, on va améliorer le critère global, à l’aide de cet algorithme stochastique. En contrepartie, on a simplifié l’algorithme, et probablement accéléré l’adaptation.

Dans le cas d’un algorithme d’apprentissage, on dispose de tous les exemples, et on peut envisager de mesurer le critère de qualité. Cela ne dépend que de la puissance du calculateur, et non de phénomènes physiques extérieurs. Cependant, simuler un algorithme stochastique, en tirant au hasard les exemples, s’avère souvent plus simple et plus rapide!

Si on dispose en effet d’assez d’exemples pour apprendre quelque chose, ceux ci sont souvent extrêmement redondants. Un algorithme stochastique ne nécessitera alors que le passage d’une faible partie des exemples pour faire en moyenne ce qui exige le passage de tous les exemples pour un algorithme non stochastique.

3.1.2 Forme générale de l’optimisation stochastique.

3.1.2.1 Forme du critère global.