> L'intelligence des représentations précède l'intelligence des
> fonctions. Qu'en pensez-vous ?
Vous voulez dire "la programmation objet, c'est mieux" ;) ?
Que mettez-vous dans "l'intelligence des représentations" ?
Modéliser la réalité.
C'est antérieur à tout projet applicatif. Même les applications sont
coordonnées par des représentations, même sommaires, même réduites
sous forme de variables.
Plus il y a de représentation, moins il y a de déduction (nécessaire).
Mais mon idée va plus loin. J'oppose l'intelligence empirique à
l'intelligence généraliste (rationnelle). Car pour moi, l'intelligence
authentique doit être adaptable à n'importe quelle réalité.
Dans l'idéal, la déduction n'est qu'une simple lecture de la
représentation.
> On 30 sep, 16:22, Yliur <yl...@free.fr> wrote:
Je ne vois pas très bien comment on pourrait modéliser des "fonctions"
sans représenter des concepts sur lesquels travailler. Par contre plus
vous travaillez sur un problème précis, plus la représentation peut
être adaptée au problème (et donc plus elle est loin de décrire
précisément la réalité).
Si vous voulez créer une IA généraliste, il me semble que vous êtes
effectivement obligé de modéliser au mieux les concepts qu'elle doit
manipuler (y compris les relations entre eux).
Que mettez-vous précisément dans "l'intelligence des fonctions" ? S'il
s'agit de comprendre les liens entre les concepts que manipule l'IA,
il me paraît effectivement judicieux d'intégrer ça dans la
représentation (donc d'avoir un système de représentation riche pour
les relations entre les concepts, dans lequel on peut travailler sur
les relations elles-mêmes (c'est-à-dire qu'elles seraient elles-mêmes
des concepts manipulables... hum... c'est peut-être un peu vague
comme phrase peut-être ?)).
Ca dépend aussi de ce que vous mettez dans les "déductions". Si vous
parlez réellement de relations logiques, les relations de cause à
effet (par exemple) devraient être indiquées ou déductibles de la
représentation, mais les fonctions de "calcul logique" (effectuer des
déductions à partir d'informations fournies) sont générales et ne
dépendent pas du modèle. Donc vous pouvez avoir des "mécanismes de
réflexions" génériques.
Je viens à peine de réaliser mon premier déducteur. Et mon cahier des
charges est encore confus. Je prévois une manipulation de concepts à
partir des propriétés essentielles de l'objet. Ensuite, je prévois un
répertoire de concepts (façon "Akinator", tu connais ?), à base de
chaînes croisées.
>
> Que mettez-vous précisément dans "l'intelligence des fonctions" ? S'il
> s'agit de comprendre les liens entre les concepts que manipule l'IA,
> il me paraît effectivement judicieux d'intégrer ça dans la
> représentation (donc d'avoir un système de représentation riche pour
> les relations entre les concepts, dans lequel on peut travailler sur
> les relations elles-mêmes (c'est-à-dire qu'elles seraient elles-mêmes
> des concepts manipulables... hum... c'est peut-être un peu vague
> comme phrase peut-être ?)).
C'est plus général que ça. J'oppose les applications particulières à
l'intelligence générale. Mon projet est un projet d'intelligence
générale.
> Ca dépend aussi de ce que vous mettez dans les "déductions". Si vous
> parlez réellement de relations logiques, les relations de cause à
> effet (par exemple) devraient être indiquées ou déductibles de la
> représentation, mais les fonctions de "calcul logique" (effectuer des
> déductions à partir d'informations fournies) sont générales et ne
> dépendent pas du modèle. Donc vous pouvez avoir des "mécanismes de
> réflexions" génériques.
J'ai l'ambition de réaliser une sorte d'osmose conceptuelle,
essentialiste, capable de définir, par le biais d'une chaîne de
propriétés (façon Akinator), n'importe quel objet possible.
Que fait ce déducteur actuellement ? Trouver un concept correspondant à
certaines caractéristiques ?
Je viens de regarder Akinator, c'est "juste" une version élaborée du
"jeu des animaux". Je me demande même s'il connaît les attributs des
objets qu'il manipule ou s'il ne raisonne que sur les questions et
les réponses données...
> > Que mettez-vous précisément dans "l'intelligence des fonctions" ?
> > S'il s'agit de comprendre les liens entre les concepts que manipule
> > l'IA, il me paraît effectivement judicieux d'intégrer ça dans la
> > représentation (donc d'avoir un système de représentation riche
> > pour les relations entre les concepts, dans lequel on peut
> > travailler sur les relations elles-mêmes (c'est-à-dire qu'elles
> > seraient elles-mêmes des concepts manipulables... hum... c'est
> > peut-être un peu vague comme phrase peut-être ?)).
>
> C'est plus général que ça. J'oppose les applications particulières à
> l'intelligence générale. Mon projet est un projet d'intelligence
> générale.
Oui, mais comment modélisez-vous les relations entre les concepts ? Les
attributs ne suffisent pas.
> > Ca dépend aussi de ce que vous mettez dans les "déductions". Si vous
> > parlez réellement de relations logiques, les relations de cause à
> > effet (par exemple) devraient être indiquées ou déductibles de la
> > représentation, mais les fonctions de "calcul logique" (effectuer
> > des déductions à partir d'informations fournies) sont générales et
> > ne dépendent pas du modèle. Donc vous pouvez avoir des "mécanismes
> > de réflexions" génériques.
>
> J'ai l'ambition de réaliser une sorte d'osmose conceptuelle,
> essentialiste, capable de définir, par le biais d'une chaîne de
> propriétés (façon Akinator), n'importe quel objet possible.
Les éléments du monde ne seraient définis que par des
attributs/caractéristiques ?
> Quelle architecture sémantique, autre que les chaînes d'attributs,
> ainsi que leurs relations, proposes-tu ?
Ah mais moi je suis simple passant, pas la peine de faire des phrases
compliquées :) .
Et tout dépend de ce que tu veux que ton IA puisse faire.
Par exemple ici tu parles de relations, mais tu n'as pas dit comment tu
voulais les représenter.
Prenons un cas concret pour faire simple : tu veux que cette IA joue à
un jeu : comment représentes-tu l'ensemble des connaissances
nécessaires ?
Je n'en avais pas l'impression. Et puis, tu as l'air de tenir une
position pertinente. Soit, je reformule : quelle est le contenu d'un
concept, sinon un ensemble de propriétés mises en relation?
> Et tout dépend de ce que tu veux que ton IA puisse faire.
Je veux qu'elle puisse tout faire, mais mal le faire. Comme une
généraliste qui se respecte. Je ne veux pas tomber dans le piège
applicatif. L'applicatif, c'est comme un homme qui nait avec des
marteaux à la place des mains. Après, il ne peut rien faire d'autre
que planter des clous.
> Par exemple ici tu parles de relations, mais tu n'as pas dit comment tu
> voulais les représenter.
Mes relations se fondent sur les connecteurs binaires. A cela près
qu'ils sont qualifiés par champ. Par exemple, la solidarité spatiale
est traitée comme une implication objective, une cohésion, dans le
champ spatial. (tu vas me dire que c'est confus)
> Prenons un cas concret pour faire simple : tu veux que cette IA joue à
> un jeu : comment représentes-tu l'ensemble des connaissances
> nécessaires ?
J'ai fait il y a quelques années une IA de morpion, de puissance 4 et
d'échecs. Ça ne m'intéresse plus. Cet exercice a abouti a réaliser un
champ de possibles soumis à une grille d'évaluation. J'ai une plus
haute idée de l'intelligence que l'exploration et l'évaluation des
possibles.
Les représenter par un ensemble de règles fondatrices, peut-être. Mais
je n'en suis pas là.
Tous les concepts ne se valent pas. Il y en a des structurants, des
théoriques, qui participent activement au système de représentation.
Comme par exemple le concept "d'ensemble", de "système" ou de
"personne". Je pense développer une interface qui fera interagir
pertinemment la représentation avec l'utilisateur (ou le système
d'entrées). Qui lui demandera "quel est le critère de sélection de ton
ensemble, le circuit de rentabilité de ton système, la volonté
première de ta personne,... ", par exemple. Mais tout ça est encore
flou.
Ca j'ai compris :)
> > Par exemple ici tu parles de relations, mais tu n'as pas dit
> > comment tu voulais les représenter.
>
> Mes relations se fondent sur les connecteurs binaires. A cela près
> qu'ils sont qualifiés par champ. Par exemple, la solidarité spatiale
> est traitée comme une implication objective, une cohésion, dans le
> champ spatial. (tu vas me dire que c'est confus)
Oui, c'est un peu compliqué :) .
Quand tu parles de connecteur binaires, tu veux dire une association
entre deux concepts ? Du genre "proche (truc1, truc2)", en l'écrivant
comme en Prolog ? Ou même avec une valeur floue : "proche (truc1,
truc2, 0.7)" ?
Comment définis-tu ce que tu appelles dans ton exemple le "champ
spatial" ? Qu'est-ce qui indique ce qui fait partie de ce "champ" ?
Quelque chose comme ça ? :
- Les éléments du monde peuvent avoir une position
- On peut calculer une distance à partir de deux positions
- On peut déterminer si deux éléments sont proches à partir de la
distance entre leurs positions ou bien parce qu'on a
une information explicite indiquant qu'ils sont proches, sans
avoir leurs positions
Tiens, je n'ai encore indiqué nulle part que tout ça sert à manipuler
les relations dans l'espace, à part en définissant des relations les
unes par rapports aux autres... A moins d'indiquer que les notions de
distances, proximité, ... servent à manipuler les informations
spatiales ?
> > Prenons un cas concret pour faire simple : tu veux que cette IA
> > joue à un jeu : comment représentes-tu l'ensemble des connaissances
> > nécessaires ?
>
> J'ai fait il y a quelques années une IA de morpion, de puissance 4 et
> d'échecs. Ça ne m'intéresse plus. Cet exercice a abouti a réaliser un
> champ de possibles soumis à une grille d'évaluation. J'ai une plus
> haute idée de l'intelligence que l'exploration et l'évaluation des
> possibles.
Oui, mais se baser sur un cas concret ça permet de ne pas trop parler
dans le flou, d'être obligé de se demander comment représenter des
concepts, des relations, et comment en faire quelque chose en vrai.
Evidemment l'idée c'est de définir quelque chose d'assez générique
pour pouvoir s'intégrer dans l'IA générale. Mais par exemple dans la
résolution de jeux tu vas tomber sur les notions de but, de
contraintes, de temps, ... des choses qui ne concernent pas que les
jeux mais qui apparaissent ici.
>
Ca ne me paraît pas évident d'essayer de trouver tous les "concepts
structurants" imaginables avant de commencer quelque chose. C'est
difficile de penser à tout et avec un peu de chances en avançant tu
t'apercevras que certains de tes concepts fondamentaux/structurants
peuvent être définis à partir de quelque chose de plus général. Donc
il faut partir de quelque part et s'attendre à généraliser
certaines choses après coup. C'est pour ça que partir d'un (ou
plusieurs) exemple(s) de ce que pourrait faire ton IA généraliste est
commode : ça permet de poser réellement les choses et de commencer
quelque part, en travaillant dans les deux sens (à la fois en
définissant des concepts plus précis nécessaires aux applications et
en généralisant pour unifier l'ensemble). Prendre plusieurs
applications te permet de penser dès le début à comment généraliser
certaines choses pour ne pas tomber dans le piège d'une "IA
applicative" trop spécifique.
Je ne veux pas gérer de repère spatial (trop de lacunes en géométrie).
De plus, ce n'est pas nécessaire à l'intelligence de l'espace. De
l'espace, je ne veux garder que les connexions. Par exemple, pour deux
objets solidaires, la main solidaire du corps, j'écris "main implique
corps" dans le champ de cohésion spatiale (objet), ou/et "corps
implique main" dans le champ de cohérence spatiale (lieu). C'est le
traitement qui fera la différence. J'ai quatre champs (spatial,
causal, essentiel et fonctionnel) avec deux approches (cohésion,
cohérence)
> Comment définis-tu ce que tu appelles dans ton exemple le "champ
> spatial" ? Qu'est-ce qui indique ce qui fait partie de ce "champ" ?
C'est soit l'utilisateur soit le système d'entrées (aléatoire) qui
définit les objets du champ. A l'IA de faire les déduction demandées.
> Quelque chose comme ça ? :
> - Les éléments du monde peuvent avoir une position
> - On peut calculer une distance à partir de deux positions
> - On peut déterminer si deux éléments sont proches à partir de la
> distance entre leurs positions ou bien parce qu'on a
> une information explicite indiquant qu'ils sont proches, sans
> avoir leurs positions
> Tiens, je n'ai encore indiqué nulle part que tout ça sert à manipuler
> les relations dans l'espace, à part en définissant des relations les
> unes par rapports aux autres... A moins d'indiquer que les notions de
> distances, proximité, ... servent à manipuler les informations
> spatiales ?
Il se peut que j'en arrive un jour à modéliser les distances. Mais
pour l'instant, pour définir la structure et la fonction d'un
téléviseur par exemple, je n'en ai pas besoin. J'ai juste besoin des
connecteurs.
> Oui, mais se baser sur un cas concret ça permet de ne pas trop parler
> dans le flou, d'être obligé de se demander comment représenter des
> concepts, des relations, et comment en faire quelque chose en vrai.
> Evidemment l'idée c'est de définir quelque chose d'assez générique
> pour pouvoir s'intégrer dans l'IA générale. Mais par exemple dans la
> résolution de jeux tu vas tomber sur les notions de but, de
> contraintes, de temps, ... des choses qui ne concernent pas que les
> jeux mais qui apparaissent ici.
Je suis en train d'intégrer à mon IA un système de volonté sous forme
de propositions. Par exemple, si mon IA veut du café moulu, et qu'il
n'existe que du café en grain, elle devra chercher la propriété café
moulu dans le répertoire objet, trouver le café en grain en amont,
ainsi que le verbe moudre associé.
Encore une fois, ma représentation "intellectuelle" est très floue. Le
concept de "personne" va se diviser en champs (volonté, croyances,
champ physique, champ moral, propriété) avec chacun le circuit de
rentabilité qui lui est propre (par exemple, pour le champ des
croyances, l'entendement et la perception en amont, les
représentations en aval). La rentabilité est l'obsession, l'équation
de l'existence, sur laquelle il faut que l'intelligence ait une prise.
> C'est pour ça que partir d'un (ou
> plusieurs) exemple(s) de ce que pourrait faire ton IA généraliste est
> commode : ça permet de poser réellement les choses et de commencer
> quelque part, en travaillant dans les deux sens (à la fois en
> définissant des concepts plus précis nécessaires aux applications et
> en généralisant pour unifier l'ensemble). Prendre plusieurs
> applications te permet de penser dès le début à comment généraliser
> certaines choses pour ne pas tomber dans le piège d'une "IA
> applicative" trop spécifique.
Tu veux dire lui apprendre à jouer au morpion ET au puissance 4 avec
le même système pour découvrir leurs invariants ? Le problème, c'est
que ces applications sont trop particulières, et je ne connais pas de
concept de jeu suffisamment pertinent pour mettre à l'épreuve le type
d'IA que je souhaite programmer. J'ai peur qu'aucun programme général
ne soit capable de jouer à ces deux jeux.
> On 6 oct, 02:59, Yliur <yl...@free.fr> wrote:
C'est parce que c'est flou que c'est pratique de prendre des exemples
de ce que tu voudrais pouvoir faire, pour commencer à poser des
choses. Évidemment ce que tu vas faire au début devra être modifié,
mais c'est un bon support de réflexion.
Par exemple tu parles d'interaction avec l'utilisateur. Qu'est-ce que
l'utilisateur va pouvoir lui demander ?
Je pense que tu devrais faire une première liste de tâches que l'IA
devrait pouvoir remplir, ça t'aidera à réfléchir à des choses assez
générales pour correspondre à tout. C'est compliqué de chercher sur
quelles bases la construire si tu n'as aucune idée de ce qu'elle doit
faire, tu ne peux pas penser à tout sans avoir de but. J'ai bien
compris que tu ne veux pas faire une IA qui remplit un certain nombre
fini de tâches, mais prendre des exemples devrait t'aider à préciser
un peu les éléments dont tu as besoin et comment les représenter. Et
il est plus facile de généraliser à partir d'exemple que de créer
quelque chose de général. Tu as commencé quelque chose déjà ?
> > C'est pour ça que partir d'un (ou
> > plusieurs) exemple(s) de ce que pourrait faire ton IA généraliste
> > est commode : ça permet de poser réellement les choses et de
> > commencer quelque part, en travaillant dans les deux sens (à la
> > fois en définissant des concepts plus précis nécessaires aux
> > applications et en généralisant pour unifier l'ensemble). Prendre
> > plusieurs applications te permet de penser dès le début à comment
> > généraliser certaines choses pour ne pas tomber dans le piège d'une
> > "IA applicative" trop spécifique.
>
> Tu veux dire lui apprendre à jouer au morpion ET au puissance 4 avec
> le même système pour découvrir leurs invariants ? Le problème, c'est
> que ces applications sont trop particulières, et je ne connais pas de
> concept de jeu suffisamment pertinent pour mettre à l'épreuve le type
> d'IA que je souhaite programmer. J'ai peur qu'aucun programme général
> ne soit capable de jouer à ces deux jeux.
Au morpion, au puissance 4 et aussi faire d'autres choses qui n'ont
rien à voir avec les jeux.
C'est dommage qu'un programme "général" ne puisse pas jouer à ces jeux
simple. Je croyais que ton IA généraliste devait savoir tout faire ?
Fini le temps du dirigisme, je suis le régulateur, j'inhibe et je
catalyse le potentiel de ma chose. :-)
> Je vais encore paraître confus, mais je n'ai pas de planning. Juste un
Oui mais comme elle n'existe pas, ça ne va pas aller loin comme ça :) .
Et il faut bien commencer quelque part, tu risque de n'arriver à rien
si tu attends d'avoir découvert tout ce dont tu as besoin :) .
> On 7 oct, 16:25, fraction <fract...@tele2.fr> wrote:
Oui mais avant il faut être le créateur, et tu es bien obligé de
prendre des décisions pour ça :) .
Pour poursuivre dans cette extrapolation, je crois que les choses ont
une essence avant même d'exister, par leur paramétrage. Si tu mettais
en liquidation TF1, France 2 et sa clique, il en resterait une âme
hertzienne. Immuable, invariable, systémique. Pour mon IA c'est un peu
pareil.
> > Oui mais avant il faut être le créateur, et tu es bien obligé de
Oui, mais pour penser à cette "âme hertzienne" tu es parti d'un
exemple ;) .
La mémoire n'est pas organisée. C'est un ensemble d'évènements
absolument plastic. C'est un réseau sans chef, pas un système
coordonné, un peu comme le capitalisme. Sans administrateur, un peu
comme internet. Va donc chercher l'objet déterminant de la sélection
naturelle, son administrateur. Autant porter plainte contre l'ordre
mathématique.
> Les pires (et les meilleurs) invariants sont ceux qui n'ont pas besoin
Mmmm... oui, et donc ?
Et donc, mon IA a déjà une âme, impersonnelle certes, mais ce n'est
plus à moi de décider de son devenir.
Impersonnelle et a-causale.
Le possible a cela de particulier qu'il peut être déterminant sans
exister.
> On 7 oct, 19:31, Yliur <yl...@free.fr> wrote:
Un peu ésotérique tout ça...
Exothermique ? Oui, peut-être. Pas très familier avec ce genre
d'images. :-)
Tu voudrais que mon IA sache jouer au morpion. Mais avec sa structure
actuelle c'est encore impossible.
Programmer une solution, c'est facile, Deep Blue l'exploite très bien.
Mais programmer un problème, c'est autre chose.
Le jeu de morpion, exagérément simple, demande déjà une structure
relativement complexe si l'on veut bien faire, bien décomposer la
représentation du problème.
> > Un peu ésotérique tout ça...
>
> Exothermique ? Oui, peut-être. Pas très familier avec ce genre
> d'images. :-)
?
> Tu voudrais que mon IA sache jouer au morpion. Mais avec sa structure
> actuelle c'est encore impossible.
> Programmer une solution, c'est facile, Deep Blue l'exploite très bien.
> Mais programmer un problème, c'est autre chose.
> Le jeu de morpion, exagérément simple, demande déjà une structure
> relativement complexe si l'on veut bien faire, bien décomposer la
> représentation du problème.
Ben si ton IA ne sait pas résoudre un problème (et donc le modéliser),
c'est dommage non ?
C'est pour ça que partir de problèmes simples que saurait résoudre ton
IA serait plus facile. Ca n'empêche pas une approche "philosophique"
par le haut, en tentant de modéliser les concepts importants de ton
IA, mais en réfléchissant aussi à des choses concrètes et à comment
elle pourrait résoudre des problèmes réels.
Et comme tu penses que les développeurs et chercheurs en IA sont
"oisifs" et que j'appartiens à la première catégorie, je te défie :) .
Tu peux commencer ton IA par où tu veux et je commencerai plus par le
bas en généralisant, comme je te le dis depuis plusieurs messages. On
verra bien où on arrive, et si elles sont trop difficiles à comparer
parce qu'elles ne font pas du tout les mêmes choses, il suffira de
réfléchir à comment résoudre les problèmes que résout déjà l'autre.
C'est plus motivant d'avoir un objectif :) .
Le jeu de morpion est accessible aux enfants de quatre ans,
intellectuellement c'est déjà sophistiqué. Je veux bien répertorier
l'ensemble des possibles, ou au mieux créer une grille d'évaluation
des neufs cases et huit lignes. Encore une fois, programmer des
solutions c'est facile, mais appréhender un problème avec une approche
généraliste c'est difficile.
>
> C'est pour ça que partir de problèmes simples que saurait résoudre ton
> IA serait plus facile. Ca n'empêche pas une approche "philosophique"
> par le haut, en tentant de modéliser les concepts importants de ton
> IA, mais en réfléchissant aussi à des choses concrètes et à comment
> elle pourrait résoudre des problèmes réels.
Dans quelques jours, elle saura faire du café. Aujourd'hui, elle sait
déduire si une voiture roule (à condition qu'on lui entre tous les
possibles et tous les existants). C'est déjà pas mal, et
personnellement, je trouve cela plus performant et plus omnipotent que
résoudre des équations à n inconnues.
>
> Et comme tu penses que les développeurs et chercheurs en IA sont
> "oisifs" et que j'appartiens à la première catégorie, je te défie :) .
J'ai dit qu'ils sont à mon avis trop oisifs ou trop rigoureux (c'est
un pronostic, je ne les connais pas). Alors que l'équation de la
plasticité se trouve entre ces deux vices.
> Tu peux commencer ton IA par où tu veux et je commencerai plus par le
> bas en généralisant, comme je te le dis depuis plusieurs messages. On
> verra bien où on arrive, et si elles sont trop difficiles à comparer
> parce qu'elles ne font pas du tout les mêmes choses, il suffira de
> réfléchir à comment résoudre les problèmes que résout déjà l'autre.
> C'est plus motivant d'avoir un objectif :) .
Je n'ai aucune prétention à aider qui que ce soit. Je ne suis qu'un
médiocre spéculateur (déçu du forum philo), moyen en tout.
Il y a déjà quelque chose qui s'exécute ou c'est un travail juste
théorique ?
Je n'ai pas dit qu'elle pourra faire du café, j'ai dit qu'elle saura
faire du café. En fait non, elle pourra savoir faire du café, mais je
ne lui ai pas entré les données.
Je ne connais pas la structure fonctionnelle d'une voiture. Mais si je
la connaissais, elle saurait si elle roule alors que le contact est
enclenché et que le réservoir est plein.
Je t'ai déjà donné l'exemple du café moulu dont elle déduira la
séquence méthodique à partir de la volonté mère "café moulu".
En fait, à l'origine je voulais programmer une IA intellectuelle. Mais
elle m'a dit que c'était trop tôt, qu'elle n'avait pas les
fondamentaux (et moi non plus). :-) La volonté fait peut-être partie
de ces fondamentaux. Je crois encore trop en l'objectivité de la
raison, qu'elle ne dépend pas du référentiel et de la volonté.