suivant: Conclusion - Liens avec
monter: Différentes approches de l'Intelligence
précédent: Idées associées à l'approche
  Table des matières
Le problème central que nous avons évoqué dans les paragraphes
précédents est de spécifier un référent de l'intelligence. Le choix
de celui-ci impose une voie de recherche particulière et implique
des conjectures fortes à propos de la manière dont on aborde le problème.
Actuellement, la reproduction de capacités humaines intelligentes est
un enjeu au niveau de la recherche, mais aussi au niveau commercial. Des
applications fonctionnelles existent déjà tant au niveau de la reconnaissance
vocale et de la compréhension du langage (utilisé pour des serveurs vocaux,
par exemple) qu'au niveau d'expertises complexes. Des équipes de recherche
progressent dans la mise au point d'humanoïdes (vision, marche, démarche
``sociale'', imitation artificielle d'émotions). Les programmes ainsi construits
peuvent utiliser ou non des techniques d'apprentissage pour leur mise au point.
Le point commun à tous ces travaux est la démarche d'engineering, guidée
par le respect d'un cahier des charges, plutôt qu'une tentative de compréhension
profonde des mécanismes humains qui sont imités. Cela ne signifie pas que les
développements ne sont pas aidés par un savoir-faire biologique.
Nous souhaitons montrer, dans les lignes qui suivent, que la notion de progrès
dans la compréhension de l'intelligence et de l'apprentissage en particulier
n'est pas équivalente au fait d'obtenir une imitation très réussie d'un ensemble
de comportements intelligents. Cette affirmation peut sembler triviale, voire
superflue. Cependant, lorsqu'on analyse l'application de la démarche
fonctionnaliste à l'imitation d'un comportement, on s'aperçoit qu'elle
rentre en conflit avec la notion même d'adaptation.
Ainsi, si l'on adopte une vision fonctionaliste, on tente d'extraire des
caractéristiques objectives d'un problème, indépendantes des propriétés
physiques de la machine. Or, en robotique mobile, entre autres, celle-ci
est en interaction permanente avec son environnement. Dans ce cas, l'idée
fonctionaliste implique que le monde extérieur à la machine (l'environnement,
mais aussi les capteurs et les moyens d'action) puisse être vu d'une manière
objective (voir la figure 2.5).
Figure:
Aspect du fonctionnalisme: nécessité d'un monde pouvant
être décrit objectivement
|
L'analyse du problème global va permettre de dégager un certain
nombre de fonctionnalités qu'il s'agira de reproduire séparément
les unes des autres, selon le schéma donné par la figure
2.6. Avant de construire un
comportement, on va établir une mesure objective qui permettra de
conclure que celui-ci est bien reproduit s'il est ``proche'' de
celui qui est désiré, au regard de cette mesure. La mesure créée
devient le référent pour l'expérimentateur. Dès lors que le
problème initial (complexe) est résumé simplement par une donnée
(la mesure), on peut utiliser la démarche de résolution spécifiée
par la figure 2.7. Néanmoins, celle-ci est
loin de garantir qu'on ait compris l'essence du phénomène imité.
L'exemple de l'étude du mouvement des corps célestes nous permet
d'imager nos propos en fournissant un exemple d'analyse réussie
d'un problème, dont le modèle très compliqué donnait un bon
résultat, mais dont l'approche était fausse
. Cet
exemple est marquant car il montre que le résultat dans un cas
particulier (prévoir l'évolution de la planète Mars) est quasiment
le même, bien que la conception analytique s'oppose à la démarche
synthétique, qui stipule a priori l'existence d'une loi à
partir de laquelle des phénomènes observables émergent (voir les
figures 2.9 et 2.8).
Nous pensons que le processus d'adaptation devrait posséder une
certaine généralité
et, par conséquent, n'être pas tributaire d'un problème particulier ou
d'une certaine classe de problèmes.
Figure:
Démarche analytique globale de conception d'un problème complexe
|
Figure:
Démarche analytique de conception d'une fonctionnalité
|
Figure:
Démarche synthétique de conception d'une fonctionnalité
|
Figure:
Démarche synthétique globale
|
Nous souhaitons à présent aborder le point pour lequel la démarche
analytique peut rentrer en conflit et nuire à l'utilisation d'un système
adaptatif. Tout d'abord, lorsqu'on souhaite reproduire un comportement à
partir d'une machine, une question doit logiquement être posée: Est-il
réaliste de créer un algorithme permettant de reproduire ce comportement ?.
Cela suppose que nous ayons des connaissances assez précises et suffisantes à
propos du modèle de ce comportement pour que le résultat soit acceptable.
Mais, ``réaliste'' signifie également que le temps de conception du programme
n'est pas rédhibitoire et que celui-ci est maintenable. Si la réponse est
affirmative, il est évident que le recours à une méthode d'apprentissage
ne s'impose pas.
Cependant, dès qu'il s'agit de traiter des problèmes liés à l'interaction
entre la machine et son environnement, il devient plus délicat de pouvoir
produire un algorithme d'une manière directe (manque d'informations précises
sur le modèle de l'interaction). Cela ne veut pas dire qu'il est impossible
de réaliser ``à la main'' un tel algorithme, mais on suppose que le temps
de conception serait très long et le programme obtenu très compliqué: cela
ne serait donc pas ``réaliste''. Dans ce cadre, on peut être intéressé par
l'utilisation d'algorithmes d'apprentissage.
Cela ne signifie pas que l'ensemble du problème doit être appris en globalité.
Ainsi, le travail de conception préliminaire consiste à distinguer les parties
sujettes à l'apprentissage des autres pouvant être programmées ad hoc et
à mettre en place l'interface entre les deux. Cela revient à répondre à ces
deux questions: Que savons nous (avec certitude) ? Quelle est la nature
de ce qui doit être appris ?, la deuxième question étant le corollaire
de la première.
En fait, la démarche analytique, si elle est appliquée à la reproduction
d'un processus mettant en jeu une interaction entre la machine et son
environnement, va permettre de trouver des solutions, souvent approximatives,
qui vont ``coller'' à un problème particulier. Or, quelle est la signification
de l'adaptation, sinon la faculté de ``coller'' à un problème précis
suffisamment bien, sans avoir de connaissances a priori sur celui-ci ?
Par conséquent, dans le cas général, c'est davantage le concepteur du programme
qui fait preuve d'adaptation au problème posé que le programme lui-même. Nous
constatons en effet que le bon fonctionnement d'un algorithme d'apprentissage
est corrélé à l'existence d'un contexte qui découle de l'analyse du problème
initial.
Ainsi, en pratique, le point délicat d'un programme ayant recours
à une technique d'apprentissage réside dans l'apport de
connaissances a priori exactes, permettant de guider
l'apprentissage: il s'agit d'un processus de contextualisation. Il
est clair que dans le cas où ces données ou modèles sont trop
approximatifs ou faux, ils vont orienter négativement le résultat
final, sans que l'apprentissage lui-même soit la cause réelle de
l'échec. Les algorithmes d'apprentissage sont créés en supposant
l'existence d'un contexte précis, donc de connaissances a
priori les plus exactes possible. Voici les principales:
- les paramètres internes et leur évolution au cours du temps, le cas échéant.
- les entrées et sorties et leur évolution au cours du temps, le cas échéant.
- une fonctionnalité permettant de juger de la qualité de l'apprentissage
en cours (introduction d'une distance, d'une fonction de coût) et induisant
la conduite vers un objectif précis.
D'autres causes de contextualisation peuvent exister dont, entre autres:
- des connaissances sur la particularité de l'environnement,
composé d'un ensemble fini de symboles perceptifs (voir la discussion à
ce propos au paragraphe 2.2.3)
- des connaissances à propos du fonctionnement des moyens de perception
et d'action de la machine (utilisation de modèles)
Donc, pour pouvoir utiliser un algorithme d'apprentissage,
l'expérimentateur est censé connaître (ou découvrir par
tâtonnements) des éléments qui sont au coeur même du processus
d'interaction entre la machine et son environnement. Il peut
s'aider des propriétés ou du modèle de l'environnement de la
machine. Mais toutes ces connaissances sont bien souvent
approximatives et fondent un contexte erroné. L'expérience montre
qu'il faut très souvent ``travailler'' autour de l'algorithme
d'apprentissage pour que le résultat soit correct; et c'est
particulièrement le cas si on utilise des techniques
d'apprentissage par renforcement (voir [Bersini et Gorrini, 1996] en ce
qui concerne la difficulté à trouver, dans certains cas, les
``bonnes'' valeurs des paramètres internes). Nous pensons que
l'enjeu principal d'un système adaptatif est de pouvoir permettre
à la machine d'apprendre avant tout à utiliser ses sens et ses
moyens d'action, l'obtention du comportement désiré venant ensuite
aisément: par conséquent, nous croyons qu'un ajout de
connaissances orientant a priori la perception n'est pas
souhaitable (car ces données ne sont pas connues exactement) et
que le processus de perception doit lui-même subir un
apprentissage, qui permettra l'acquisition correcte du
comportement désiré. Ce processus de perception, une fois
maîtrisé, contextualise correctement le problème principal,
c'est-à-dire l'acquisition d'une nouvelle compétence. Notre point
de vue est que l'apprentissage n'est pas un problème ``difficile''
si son contexte est parfaitement défini. Et c'est ce dernier point
qui pose réellement problème. Ainsi, dans le cadre de
l'apprentissage de réseaux neuronaux multicouches, le choix d'une
base d'apprentissage ``brute'' représentative du phénomène est
nécessaire, mais le pré-traitement des données de cette base et/ou
la réduction de la dimensionnalité du problème peut être une aide
considérable à l'apprentissage: ces deux éléments sont
contextuels.
suivant: Conclusion - Liens avec
monter: Différentes approches de l'Intelligence
précédent: Idées associées à l'approche
  Table des matières
2002-03-01