Quels sont les composants nécessaires pour rendre l'auto-programmation de l'agent AI capable?

9

Un agent IA est souvent considéré comme ayant des "capteurs", "une mémoire", des "processeurs d'apprentissage automatique" et des composants "réactionnels". Cependant, une machine avec ces derniers ne devient pas nécessairement un agent AI auto-programmé. Au-delà des pièces mentionnées ci-dessus, y a-t-il d'autres éléments ou détails nécessaires pour rendre une machine capable d'être un agent d'IA auto-programmé?

Par exemple, un article de 2011 a déclaré que la résolution du problème d'optimisation de la maximisation de l'intelligence est une fonction indispensable pour le processus d'auto-programmation, comme cité ci-dessous:

On dit qu'un système effectue une instance d'auto-programmation lorsqu'il subit un apprentissage concernant un élément de son "infrastructure cognitive", où cette dernière est définie comme l'ensemble flou de caractéristiques "critiques pour l'intelligence" du système; et l'intelligence-criticité d'une caractéristique de système est définie comme sa «qualité de caractéristique», considérée du point de vue de la résolution du problème d'optimisation de la maximisation de l'intelligence d'un système multifonctionnel.

Cependant, cette description de "l'optimisation de l'intelligence" est vague. Quelqu'un peut-il donner une définition claire ou un meilleur résumé des composants nécessaires pour les agents d'auto-programmation?

Cette question provient de la version bêta fermée de 2014, le demandeur ayant un UID de 23.

Mithical
la source
3
Voici à peu près le dernier mot sur l'auto-optimisation: arxiv.org/abs/cs/0309048
NietzscheanAI
Merci pour la relance du contenu perdu et bon dans la bêta perdue. :-)
peterh

Réponses:

5

Au plus haut niveau, il suffit que les différents systèmes déjà évoqués intègrent des objets de code. S'il peut interpréter son code source / architecture de modèle à partir des objets texte formatés qui les sous-tendent, peut les `` comprendre '' en termes d'avoir un modèle ML utile et modifier le code avec sa réaction, il peut alors s'auto-programmer.

Autrement dit, la boucle de base derrière une intelligence qui s'améliore récursivement est simple. Il s'examine, écrit une nouvelle version, puis cette nouvelle version s'examine et écrit une nouvelle version, etc.

La composante difficile se situe à des niveaux inférieurs. Nous n'avons pas besoin d'inventer un nouveau concept comme `` capteur '', ce que nous devons faire, c'est construire des capteurs très, très sophistiqués qui sont à la hauteur de la compréhension du code suffisamment pour détecter et écrire des améliorations.

Matthew Graves
la source
2
Bien que la réaction informelle de l'informatique aux déclarations sur les systèmes qui comprennent leur propre code soit souvent de citer le problème de l'arrêt, il s'avère que les approches de l'IA ont quelque chose d' utile à dire à ce sujet: cs.stackexchange.com/questions/62393/ …
NietzscheanAI
3
À droite, le problème de l'arrêt est un théorème de non-aller pour comprendre pleinement tout le code possible , mais n'empêche pas l'un d'avoir une bonne compréhension de la plupart des codes que vous rencontrez réellement.
Matthew Graves
En réalité, le problème de l'arrêt ne s'applique vraiment qu'aux `` machines à tourner '' qui sont de simples constructions mathématiques qui ne peuvent pas vraiment exister (elles nécessitent une bande infinie pour une mémoire illimitée par exemple) et peuvent fonctionner pendant une durée infinie. Les ordinateurs du monde réel ont des quantités limitées de mémoire. Il existe des moyens d'écrire des logiciels qui peuvent être officiellement vérifiés (Idris, Coq). Utilisation de types dépendants. Limitez la taille d'un tableau (c'est-à-dire <la quantité ou la RAM). Ne pas permettre à un programme de se modifier lui-même en mémoire d'une manière qui pourrait violer les preuves formelles. Pas de boucles infinies. Pas de boucle d'octet / division par zéro. Etc ...
David C. Bishop