Architecture de sous-consommation

L’architecture de subsumption est une architecture robotique réactive étroitement associée à la robotique comportementale, très populaire dans les années 1980 et 90. Le terme a été introduit par Rodney Brooks et ses collègues en 1986. Subsumption a exercé une grande influence dans la robotique autonome et ailleurs dans l’IA en temps réel.

Vue d’ensemble
L’architecture de sous-consommation est une architecture de contrôle proposée en opposition à l’IA traditionnelle, ou GOFAI. Au lieu de guider les comportements par des représentations mentales symboliques du monde, l’architecture de subsomption associe l’information sensorielle à la sélection des actions de manière intime et ascendante.

Pour ce faire, il décompose le comportement complet en sous-comportements. Ces sous-comportements sont organisés en une hiérarchie de couches. Chaque couche met en œuvre un niveau particulier de compétence comportementale, et les niveaux supérieurs peuvent subsumer des niveaux inférieurs (= intégrer / combiner des niveaux inférieurs à un ensemble plus complet) afin de créer un comportement viable. Par exemple, la couche la plus basse d’un robot pourrait être “éviter un objet”. La deuxième couche serait “errer”, qui passe sous la troisième couche “explorer le monde”. Parce qu’un robot doit pouvoir “éviter les objets” afin de “se promener” efficacement, l’architecture de sous-consommation crée un système dans lequel les couches supérieures utilisent les compétences de niveau inférieur. Les couches, qui reçoivent toutes des informations de capteur, travailler en parallèle et générer des sorties. Ces sorties peuvent être des commandes à des actionneurs, ou des signaux qui suppriment ou inhibent d’autres couches.

Propriétés

Physique
Les agents sont en quelque sorte incarnés dans l’environnement, ils ont un corps avec leurs capteurs et actionneurs, et ils perçoivent et réagissent aux changements de l’environnement.

Situation
Les agents font partie de leur environnement réel avec lequel ils interagissent. Cela affecte le comportement de l’agent.

Intelligence
L’intelligence de l’agent est principalement formée par la collision de l’agent avec l’environnement réel, ses réactions et ses stimuli.

Emergence La
l’intelligence du système, dans son ensemble, apparaît de manière émergente, c’est-à-dire l’interaction de ses parties individuelles.

Pas de représentation explicite des connaissances
L’architecture des sous-groupes n’a pas de modèle explicite du monde. Cela signifie que le robot n’a pas une vue d’ensemble simplifiée du monde environnant. Les avantages sont évidents. Les agents ne font pas de prédictions sur le monde, ils peuvent donc très bien fonctionner dans un environnement imprévisible. Gagnez du temps pour lire et écrire. Il enregistre également le temps de l’algorithme utilisé par ce modèle. Il y aura aussi des problèmes avec un modèle mondial qui ne doit pas nécessairement correspondre au monde réel. Mais il a aussi ses inconvénients. Le système est alors purement réactif. Cela signifie que cela ne fait que réagir à ce qui se passe dans le monde. En d’autres termes, le monde détermine ce qu’il veut faire.

Distribution
Le comportement est réparti entre des automates finis qui effectuent diverses tâches. En conséquence, ils peuvent réagir aux événements concurrentiels dans l’environnement. Le comportement total est la somme approximative des automates finis. L’architecture de sous-système est parallèle et asynchrone car les automates finis fonctionnent indépendamment les uns des autres. Toutes les machines finales fonctionnent en permanence et, puisqu’elles peuvent avoir leur propre minutage, elles n’ont pas besoin de synchronisation.

Superposition
L’architecture de subsurface consiste en des couches dans lesquelles chacune implémente un comportement donné et consiste en un ou plusieurs automates finis. L’architecture de sous-système est considérée comme modulaire car chaque automate fini effectue une tâche indépendante. Chaque machine finale dispose d’un certain nombre de lignes d’entrée et de sortie. Les machines finales sont des processeurs qui s’envoient des messages et peuvent stocker des structures de données. Les processeurs fonctionnent de manière asynchrone et sont également équivalents. Ils surveillent leurs entrées et envoient des rapports aux sorties. La machine finale prend toujours en compte le dernier message reçu. Pour cette raison, le message peut être perdu si le nouveau message arrive avant que le plus ancien ait été traité. Il n’y a pas de contrôle dans la couche et il n’y a pas d’autre forme de communication entre les processeurs, à savoir il n’y a pas de mémoire partagée. Chaque module ne se soucie que de sa tâche. Les couches supérieures ont accès aux capteurs et affectent le comportement des couches inférieures en limitant les entrées ou en supprimant les sorties de certains automates finis aux niveaux inférieurs.
C’est le mécanisme par lequel les couches supérieures incluent le rôle des couches inférieures.

La navigation
La capacité d’agent la plus importante basée sur l’architecture de subsumption est de se déplacer dans le monde et d’éviter de déplacer et de déplacer des objets. La navigation est l’une des tâches principales des agents, et cette tâche est extrêmement réactive (par rapport aux autres agents cognitifs). La navigation se fait principalement en plusieurs couches. Le module le plus bas évite les objets (même pour ceux qui apparaissent soudainement) et le niveau supérieur entraîne l’agent dans une certaine direction et ignore les obstacles. Cette combinaison offre un moyen simple d’aller de A à B sans planification explicite des itinéraires.

Autre
Les agents fonctionnent en temps réel et sont principalement conçus pour évoluer dans un monde réel, dynamique et complexe.

Raisons de l’origine
L’une des raisons de la création de l’architecture de subsumption était le fait que les auteurs voulaient répondre aux exigences et besoins suivants pour la création de robots mobiles autonomes.

Beaucoup de buts
Le robot peut avoir plus d’objectifs en conflit qui doivent être traités d’une manière ou d’une autre. Par exemple, un robot peut essayer d’atteindre un certain point devant lui tout en évitant les obstacles sur son chemin. Elle doit également se rendre dans un lieu aussi rapidement que possible tout en économisant ses ressources énergétiques. Il est donc clair que l’importance et la priorité des objectifs sont relatives et dépendent du contexte. Il est certainement plus important de retirer les rails lorsque le train passe, avant de vérifier les traverses de la voie à ce moment-là.

Plus de capteurs
Le robot peut avoir plusieurs capteurs (caméras, capteurs infrarouges, capteurs acoustiques, etc.). Tous les capteurs peuvent potentiellement se tromper. De plus, il n’existe souvent aucune relation analytique directe entre les valeurs du capteur et les grandeurs physiques requises. Certains capteurs peuvent se chevaucher dans les zones qu’ils mesurent. Des lectures incohérentes peuvent souvent se produire – parfois en raison d’une défaillance du capteur et parfois en raison de conditions de mesure – si le capteur est utilisé en dehors de sa portée. Souvent, les caractéristiques analytiques précises du champ d’application ne sont pas disponibles. Le robot doit pouvoir prendre la décision dans les conditions ci-dessus.

La robustesse
Le robot doit être robuste. Lorsque certains capteurs tombent en panne, ils doivent être capables de s’adapter et de ne compter que sur ceux qui fonctionnent. Lorsque l’environnement change radicalement, il devrait toujours être en mesure d’adopter un comportement raisonnable – plutôt que de rester sous le choc ou de errer sans but et de façon absurde. Il est également approprié de continuer si des erreurs se produisent sur ses processeurs.

L’évolutivité
Lorsque davantage de robots sont ajoutés au robot, ils ont besoin de davantage de capacité de traitement, sans quoi leurs capacités d’origine pourraient être perturbées avec le temps.

Objectif
L’architecture de subsomption s’attaque au problème de l’intelligence selon une perspective très différente de l’IA traditionnelle. Déçu par la performance du robot Shakey et par des projets similaires inspirés par la représentation de l’esprit conscient, Rodney Brooks a commencé à créer des robots basés sur une notion différente de l’intelligence, ressemblant à des processus de l’esprit inconscient. Au lieu de modéliser les aspects de l’intelligence humaine via la manipulation de symboles, cette approche vise une interaction en temps réel et des réponses viables à un environnement de laboratoire ou de bureau dynamique.

L’objectif était éclairé par quatre idées clés:

Situation – Une idée majeure de l’IA située est qu’un robot devrait être capable de réagir à son environnement dans un laps de temps similaire à celui de l’homme. Brooks soutient que le robot mobile situé ne devrait pas représenter le monde via un ensemble interne de symboles et ensuite agir sur ce modèle. Au lieu de cela, il affirme que “le monde est son meilleur modèle”, ce qui signifie que des configurations appropriées de la perception à l’action peuvent être utilisées pour interagir directement avec le monde, par opposition à sa modélisation. Pourtant, chaque module / comportement modélise toujours le monde, mais à un niveau très bas, proche des signaux sensorimoteurs. Ces modèles simples utilisent nécessairement des hypothèses codées en dur sur le monde, codées dans les algorithmes eux-mêmes, mais évitent d’utiliser la mémoire pour prédire le comportement du monde, mais reposent autant que possible sur un retour sensoriel direct.

Mode de réalisation – Brooks soutient que la construction d’un agent incorporé accomplit deux choses. La première est que cela oblige le concepteur à tester et à créer un système de contrôle physique intégré, et non des modèles théoriques ou des robots simulés qui pourraient ne pas fonctionner dans le monde physique. La seconde est qu’il peut résoudre le problème de la mise à la terre des symboles, problème philosophique rencontré par de nombreuses IA traditionnelles, en couplant directement les données sensorielles à des actions significatives. “Les terres du monde régressent” et la relation interne des couches comportementales est directement ancrée dans le monde perçu par le robot.

Intelligence – En examinant les progrès évolutifs, Brooks soutient que le développement des compétences de perception et de mobilité est une base nécessaire pour une intelligence de type humain. En outre, en rejetant les représentations descendantes en tant que point de départ viable pour l’IA, il semble que “l’intelligence est déterminée par la dynamique de l’interaction avec le monde”.

Emergence – Classiquement, les modules individuels ne sont pas considérés intelligents par eux-mêmes. C’est l’interaction de tels modules, évaluée en observant l’agent et son environnement, qui est généralement considérée comme intelligente (ou non). “L’intelligence” est donc “dans les yeux de l’observateur”.

Les idées exposées ci-dessus font toujours partie d’un débat en cours sur la nature de l’intelligence et sur les moyens de promouvoir les progrès de la robotique et de l’IA.

Couches et machines à états finis augmentés
Chaque couche est composée d’un ensemble de processeurs qui sont des machines à états finis augmentés (AFSM), l’augmentation étant des variables d’instance ajoutées pour contenir des structures de données programmables. Une couche est un module et est responsable d’un objectif comportemental unique, tel que “se promener”. Il n’y a pas de contrôle central au sein ou entre ces modules comportementaux. Tous les AFSM reçoivent en continu et de manière asynchrone une entrée des capteurs correspondants et envoient une sortie aux actionneurs (ou autres AFSM). Les signaux d’entrée qui ne sont pas lus au moment où un nouveau est livré finissent par être rejetés. Ces signaux mis au rebut sont courants et sont utiles pour les performances car ils permettent au système de fonctionner en temps réel en traitant les informations les plus immédiates.

En l’absence de contrôle central, les AFSM communiquent entre eux via des signaux d’inhibition et de suppression. Les signaux d’inhibition empêchent les actionneurs ou les AFSM d’accéder aux signaux et les signaux de suppression bloquent ou remplacent les entrées des couches ou de leurs AFSM. Ce système de communication AFSM indique comment les couches supérieures subsument les couches inférieures (voir la figure 1), ainsi que la manière dont l’architecture traite de l’arbitrage de priorité et de sélection des actions en général.

Le développement des couches suit une progression intuitive. Tout d’abord, la couche la plus basse est créée, testée et déboguée. Une fois que le niveau le plus bas est en cours d’exécution, on crée et attache la deuxième couche avec les connexions de suppression et d’inhibition appropriées à la première couche. Après avoir testé et débogué le comportement combiné, ce processus peut être répété pour (théoriquement) un nombre quelconque de modules comportementaux.:16–20

Les caractéristiques
Conscients de ce qui précède, les auteurs ont décidé de suivre la procédure qui constitue la base de l’architecture de subsomption. Ils ont abordé le problème de la création verticale du robot en fonction des manifestations externes souhaitées du système de commande plutôt que du fonctionnement interne du robot. Ensuite, ils ont défini les soi-disant niveaux de compétence. Le niveau de compétence est la spécification du niveau requis de comportement du robot en ce qui concerne tous les environnements dans lesquels il se déplace. Un niveau de compétence plus élevé signifie un niveau de comportement plus spécifique. L’idée principale des niveaux de compétence est qu’il est possible de créer des couches du système de contrôle correspondant à un niveau de compétence donné et d’ajouter simplement une nouvelle couche à un ensemble existant.

R. Brooks et son équipe ont défini les niveaux de compétence suivants en 1986:

Évitez le contact avec des objets (qu’ils soient en mouvement ou immobiles)
1. Réveillez-vous sans but, sans heurter les objets
2. “Explorez” le monde en recherchant des endroits à portée de main
3. Construisez une carte de l’environnement et planifiez votre voyage d’un endroit à un autre
4. Enregistrer les changements dans les environnements statiques
5. Considérons le monde en termes d’objets identifiables et effectuons les tâches associées à ces objets
6. formuler et mettre en œuvre des plans qui requièrent un changement souhaitable de l’état du monde
7. Considérez le comportement des objets dans le monde et modifiez-le en conséquence

Les auteurs ont d’abord mis au point un système de commande de robot complet qui permet d’atteindre les compétences de niveau zéro et qui est minutieusement examiné. Une autre couche nommée le premier niveau du système de contrôle. Il est capable de gérer les données de la couche zéro du système et il est également autorisé à insérer des données dans les interfaces internes de niveau zéro, ce qui limite le débit binaire normal. Le principe est que la couche zéro continue de fonctionner et ne sait rien de la couche superposée qui interfère parfois avec les chemins de données. Cette couche est capable d’atteindre les compétences de premier niveau à l’aide de la couche zéro. Le même processus est répété pour atteindre un niveau de compétence plus élevé. Regardez la figure 3. Au moment de la création de la première couche, une partie fonctionnelle du système de contrôle est déjà disponible. Des couches supplémentaires peuvent être ajoutées ultérieurement et le système ne peut pas être modifié.

Beaucoup d’objectifs
Les couches individuelles peuvent travailler sur des objectifs individuels simultanément. Le mécanisme de suppression transmet ensuite les actions prises en compte. L’avantage est qu’il n’y a peut-être pas de décision préalable sur l’objectif à atteindre.
Plusieurs capteurs
Tous les capteurs ne peuvent pas faire partie d’une représentation centrale. Seule une lecture de capteur peut être ajoutée à la représentation centrale, qui est identifiée comme extrêmement fiable. Dans le même temps, toutefois, les valeurs du capteur peuvent être utilisées par le robot. D’autres couches peuvent traiter et utiliser les résultats pour atteindre leurs propres objectifs, quelle que soit la manière dont les différentes couches sont traitées.
La robustesse
L’existence de plusieurs capteurs ajoute évidemment à la robustesse du système lorsque leurs résultats peuvent être utilisés de manière raisonnable. Il existe une autre source de robustesse dans l’architecture de subsumption. Les couches inférieures qui ont fait leurs preuves continuent de fonctionner même si des couches supérieures sont ajoutées. Puisqu’une couche supérieure ne peut supprimer les sorties de la couche inférieure qu’en interférant activement avec d’autres données, et dans les cas où elle ne peut pas produire de résultats appropriés, les niveaux inférieurs produiront des résultats raisonnables, même à un niveau de compétence inférieur.
Extensibilité
Un moyen évident de gérer l’évolutivité consiste à laisser chaque nouvelle couche s’exécuter sur son propre processeur.

Des robots
Ce qui suit est une petite liste de robots qui utilisent l’architecture de sous-consommation.

Allen (robot)
Herbert, un robot de collecte de cannettes de soda
Gengis, un robuste walker hexapodal
Les éléments ci-dessus sont décrits en détail avec d’autres robots dans Elephants Don’t Play Chess.

Forces et faiblesses
Les principaux avantages de l’architecture sont:

l’accent mis sur le développement et le test itératifs de systèmes en temps réel dans leur domaine cible;
l’accent mis sur la connexion directe d’une perception limitée, spécifique à une tâche, aux actions exprimées qui l’exigent; et
l’accent mis sur le contrôle distributif et parallèle, intégrant ainsi les systèmes de perception, de contrôle et d’action d’une manière similaire aux animaux.

Les principaux inconvénients de l’architecture sont les suivants:

la difficulté de concevoir une sélection d’actions adaptable au moyen d’un système d’inhibition et de suppression hautement distribué: 139-140 et
le manque de mémoire importante et de représentation symbolique, ce qui semble empêcher l’architecture de comprendre le langage;

Lorsque l’architecture de sous-consommation a été développée, la nouvelle configuration et l’approche de l’architecture de sous-consommation lui ont permis de réussir dans de nombreux domaines importants où l’IA traditionnelle avait échoué, à savoir l’interaction en temps réel avec un environnement dynamique. L’absence de mémoire de stockage importante, de représentations symboliques et de contrôle central le place toutefois dans une position désavantageuse pour l’apprentissage d’actions complexes, la cartographie en profondeur et la compréhension du langage.

Extension
En 1989, Brooks a développé une architecture de sous-consommation, principalement dans le domaine de la limitation des entrées et de la suppression des sorties par des automates finis. En 1991, Brooks a mis en place le système hormonal. Les couches individuelles doivent être supprimées ou limitées par la présence ou l’absence de l’hormone. En 1992, Mataric a eu l’idée d’une architecture basée sur le comportement. Cette architecture devrait remédier au manque de représentation explicite du monde sans perdre en robustesse et en réactivité.