« Fonctionnement des intelligences naturelles et artificielles » : différence entre les versions

De Lillois Fractale Wiki
Aller à la navigation Aller à la recherche
Contenu ajouté Contenu supprimé
Aucun résumé des modifications
(Contenu remplacé par « A présent, Assothink: [http://m3m.homelinux.org/wikiMC/index.php/Fonctionnement_des_intelligences_naturelles_et_artificielles m3m.homelinux.org/wikiMC/index.php/Fonction... »)
 
(15 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
A présent, Assothink: [http://m3m.homelinux.org/wikiMC/index.php/Fonctionnement_des_intelligences_naturelles_et_artificielles m3m.homelinux.org/wikiMC/index.php/Fonctionnement_des_intelligences_naturelles_et_artificielles]
Pour une intelligence naturelle, comprendre et simuler une intelligence artificielle, telle qu'un ordinateur, est lent mais possible.

Pour une intelligence artificielle, comprendre et simuler une intelligence naturelle semble très complexe, voire impossible.

== Préalables ==

==== Expérience personnelle ====

Il y a quelques jours j'ai lu un document très intéressant sur l'intelligence artificielle, et les 4 théories qui l'entourent.

Cela s'est baladé un peu dans mes neurones...

A mon réveil ce matin, je me suis demandé à laquelle des 4 théories j'adhérerais. Je me suis convaincu que j'adhérais plutôt à la seconde.
<blockquote>''"Le sentiment de conscient immédiate est le produit de l'activité du cerveau. Il peut être simulé par un calcul, mais il ne se réduit pas lui-même au calcul."'' </blockquote>
Ensuite j'ai imaginé les modalités de le seconde théorie, et c'est ce qui m'a amené à écrire cet article.

==== Deux problèmes ====

Il y a deux problèmes:

*comprendre ou deviner le fonctionnement des intelligences naturelles, et en particulier celle, supposée performante, de l'homo sapiens
*imaginer les rouages de machines dotées d'intelligence artificielle, quelque chose comme un nouveau type d'ordinateur

Ces deux problème n'en sont qu'un, ou du moins les solutions sont étroitement liées. C'est d'ailleurs assez paradoxal. Implicitement cela signifierait que rechercher la 'meilleure forme d'intelligence' revient à comprendre celle des HS. Cela signifierait que l'intelligence des HS&nbsp;est la plus performante ''possible''. C'est particulièrement anthropocentrique. Mais cela peut s'expliquer, de deux manières au moins. Cela peut s'expliquer par l'efficacité du dispositif essai/sélection propulsant la sélection naturelle. Cela peut aussi s'expliquer par les limites de ceux qui se posent ce genre de questions: vous et moi. Le champs de ce que nous pouvons comprendre ou imaginer est vraisemblablement limité par le fonctionnement de notre propres intelligence. Le mieux que nous puissions concevoir serait notre réalité, fut-elle subtile, complexe, cachée. Lä dedans s'inscrivent mon réveil, et l'''intuition'' que j'essaye de décrire plus bas.

Je ne suis ni psychologue, ni neurologue, ni expert en intelligence artificielle. Ma spécialité est la modélisation, et j'ai pris le problème par les bouts suivants:<br>

*L'introspection: comment fonctionnent mes perceptions, mes souvenirs, et ce qui en découle<br>
*L'engineering modélisant: comment concevoir une machine remplissant la fonction d'intelligence<br>

Dans ce ce qui suit, les mots neurones et canaux n'ont pas une signification biologique. Ce sont les composants d'un certain modèle abstrait qui est décrit en rapport avec les problèmes mentionnés plus haut.<br>

==== Emergence ====

L'intelligence est un processus explosif. Des causes et des dispositifs simples génèrent des effets et des dispositifs complexes. C'est un processus d'émergence.&nbsp; L'émergence est d'autant plus remarquable que les composants sont rudimentaires, et les résultats complexes.

Ce qu'il y a d'excitant dans l'émergence est lié à la surprise. On assemble des pièces élémentaires, et on se demande s'il peut en émerger quelque chose de remarquable. La surprise possible, la surprise espérée, la curiosité sont des moteurs pour la démarche de cet article.

On peut imaginer et espérer diverses formes d'émergence:

*calme et excitation
*émissions linguistiquement structurées
*transposition symbolique
*conscience
*imagination
*innovation

==== Nouveauté&nbsp;? ====

A quel point ceci est est-il neuf&nbsp;? A quel point ceci coïncide-il avec des travaux et résultats obtenus au moyens de réseaux neuronaux&nbsp;? Aucune idée&nbsp;! A vérifier bientôt.

== Composants du modèle : neurones, canaux, messages ==

==== Message ====

Un message est un petit signal élémentaire.

Il est caractérisé, en tout et pour tout, par une amplitude (la 'force du signal'), et par un pattern (structure, digitale ou analogique).

L'amplitude peut être considérée comme la force du signal.

Le pattern est une structure généralement quelconque, digitale ou analogique. La seule caractéristique remarquable d'un pattern est de pouvoir être comparé à un autre pattern.

==== Neurone ====

Le neurone est lié à d'autres neurones par des canaux.

Le neurone reçoit et envoie des messages par les canaux auxquels il est connecté.

Le neurone enregistre un ou plusieurs pattern de message reçus. C'est une forme de mémoire. Le contenu de la mémoire évolue dans le temps en fonction des patterns arrivants.<br>

Le neurone conserve également des variables d'états liées à son histoire. Ce sont

*son activité (son niveau d'activité) qui traduit la fréquence et l'amplitude des messages reçus et envoyés, récemment et par rapport à un état moyen.
*son adéquation (son niveau d'adéquation) qui reflète la ressemblance récente entre patterm mémorisés et meilleur pattern reçu, récemment et par rapport à un état moyen.

Le neurone propage les messages reçus et/ou les message enregistrés. Il en accroît ou décroît l'amplitude dans la mesure où le message reçu ressemble à un pattern enregistré.<br>

La performance principale du neurone est donc une mesure de ressemblance.

D'une manière, le neurone agit comme une 'résistance'. Si la résistance est forte l'amplitude du signal est diminuée.&nbsp; Si la résistance est faible l'amplitude est augmentée. Dans le cas d'une amplitude moyenne, l'amplitude est inchangée.

Le neurone est un relais de messages.<br>

==== Canal ====

Un canal lie deux neurones et véhicule des messages de l'une à l'autre de ses extrémités.

Le canal ne change pas le pattern des messages transmis.

Proportionnellement à sa propre fréquence d'utilisation, le canal conserve l'amplitude des messages transmis.&nbsp; Un canal très actif conserve l'amplitude des messages. Un canal peu actif entraîne une perte d'amplitude. <br>

==== Groupes de réception et d'émission ====

Un canal de réception est un canal qui, au lieu de lier deux neurones, lie une source externe de pattern à un neurone. Ce dernier, neurone de réception, peut lire des messages sur le canal, mais pas en écrire. Un groupe de réception est un ensemble de canaux de réception et de neurones de réception. Un canal d'émission est un canal qui, au lieu de lier deux neurones, lie un récepteur externe de pattern à un neurone. Ce dernier, neurone d'émission, peut écrire des messages sur le canal, mais pas en lire. Un groupe d'émission est un ensemble de canaux d'émission et de neurones d'émission.

De plus les groupe d'émissions et de réceptions sont liés par des boucles de contrôle. Les émissions sont réintroduites par des groupes de réception spécialisés. [ est-ce nécessaire ? ]

La description générale d'une intelligence naturelle ou artificielle se ramène à la relation entre ses canaux de réception et ses canaux d'émissions. La complexité de cette relation et l'apparition de forme d'émergence sont les propriétés espérées et la mesure de l'intelligence observée ou construite.

== Fonctionnement basique<br> ==

==== Conditions initiales<br> ====

Quelques neurones simples et vierges (sans pattern) existent.<br>

Des canaux d'entrées envoient des messages à ces neurones. Ces messages sont structurés par l'environnement. Ces canaux d'entrée ne sont que des capteurs.<br>

Les canaux d'entrées continueront à fonctionner sans interruption.<br>

==== Construction et destruction de neurone<br> ====

Les neurones les plus actifs se scindent. Les deux neurones résultant de la scission héritent soit du (des) même(s) pattern(s), soit se partagent les patterns au hasard.<br>

Les deux neurones résultant sont liés par un canal neuf.<br>

Les deux neurones résultant héritent des canaux de connections au hasard.<br>

==== Construction et destruction de canal<br> ====

Un canal totalement inactif ne transmet plus rien, et disparaît.

Les canaux les plus actifs se dédoublent.<br>

==== Evolution des patterns neuronaux<br> ====

Les patterns locaux mémorisé dans les neurones évoluent. <br>

Si les patterns des messages entrants sont très différent des patterns neuronaux, les patterns neuronaux ne sont pas affectés.

Si les patterns des messages entrants sont totalement identiques aux patterns neuronaux, les patterns neuronaux ne sont pas affectés.

S'il existe de faibles différences entre pattern entrants et pattern neuronal, celui-ci subit une légère modification, qui tend à le rendre plus proche du pattern entrant.<br>

==== Mesure de ressemblance de pattern<br> ====

La mesure de ressemblance est l'activité principale du neurone.

Cette mesure est une valeur en logique floue. C'est une valeur sur une échelle scalaire (mettons de 0.0 à 1.0) obtenue par comparaison de deux patterns.

Appelons ici la mesure de ressemblance entre deux patterns pa et pb, R(p<sub>a</sub>,p<sub>b</sub>). A l'inverse la dissemblance est D(p<sub>a</sub>,p<sub>b</sub>), et D(p<sub>a</sub>,p<sub>b</sub>) = 1.0 - R(p<sub>a</sub>,r<sub>b</sub>)

L'algorithme (naturel ou artificiel) doit obéir aux conditions suivantes:

#Une ressemblance maximale (mettons la valeur 1.0) est obtenue entre deux patterns identique. D(p<sub>a</sub>,p<sub>a</sub>) = 0.0<br>
#Une ressemblance minimale (mettons la valeur 0.0) est obtenue entre deux patterns ne présentant aucune similitude.
#Deux patterns indépendants et aléatoires ont une ressemblance espérée très faible (très proche de 0.0).
#Symétrie&nbsp;:&nbsp;R(p<sub>a</sub>,p<sub>b</sub>) = R(p<sub>a</sub>,p<sub>b</sub>) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; D(p<sub>a</sub>,p<sub>b</sub>) = D(p<sub>a</sub>,p<sub>b</sub>)
#Triangulation (inégalité triangulaire)&nbsp;: 1.0 - R(p<sub>a</sub>,p<sub>b</sub>) &lt;= 1.0 - R(p<sub>a</sub>,p<sub>c</sub>) + 1.0 - R(p<sub>b</sub>,p<sub>c</sub>)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D(p<sub>a</sub>,p<sub>b</sub>) &lt;= D(p<sub>a</sub>,p<sub>c</sub>) + D(p<sub>b</sub>,p<sub>c</sub>)

Les points 1, 4 et 5 correspondent à la stricte définition mathématique de distance, pour la dissemblance.

==== Récemment et par rapport à un niveau moyen ====

L'expression "récemment et par rapport à un niveau moyen" a été utilisée à propos des variables internes du neurone.

Concrètement, un variable quelconque devient "récente et par rapport à un niveau moyen" par le processus simple que voici:

#soit L+ la transformée par lissage exponentiel de la variable initiale, avec une constante de lissage longue
#soit L- la transformée par lissage exponentiel de la variable initiale, avec une constante de lissage courte
#le rapport L-/L+ donne la variable transformée demandée

==== Tolérance algorithmique et perturbation stochastique<br> ====

Tous les processus décrits ici sont flous et imprécis. Le fonctionnement général du dispositif est insensible aux imprécisions algorithmiques, aux imprécisions d'amplitude,...

Dans le même ordre d'idée, une faible perturbation stochastique (aléatoire) des processus n'a qu'une plus faible encore répercussion sur son état et sur son comportement.

==== Performances ====

Les hypothétiques dispositifs naturels effectuant les processus décrits ici sont probablement très petits et très rapides. Ils sont donc aussi très nombreux dans un espace limité.

Les dispositifs artificiels simulant ceci doivent être aussi rapides, petits et nombreux que possible pour obtenir des performances notables.

== Modalités matérielles ==

Peu importe comment cela marche. Ici, se limitant au modèle, on admet juste au titre de postulat qu'il est possible:

*d'imaginer des processus physiques, chimiques, biochimiques qui remplissent les fonctions décrites
*d'imaginer des simulateurs algorithmiques, des intelligences artificielles, probablement lents et rudimentaires par rapport aux intelligences naturelles

Il est juste utile de signaler que les simulateurs algorithmiques seront très probablement réduits aux traitements digitaux, tandis que rien n'interdit de penser que les processus naturels soient analogiques.

== Construction d'une intelligence artificielle ==

A partir d'ici, les concepts exposés plus haut sont exploités pour la construction d'une intelligence artificielle, tandis que l'observation de l'intelligence naturelle est délaissée.

Concrètement:

*les canaux, messages et neurones deviennent des objets dans un langage orienté objet (Java ca va&nbsp;?)
*les neurones sont organisés dans un ou - de préférence - plusieurs machines communiquant entre elles, de préférence vite
*les canaux d'entrées peuvent être des caméras génératrices de pattern, des micros générateurs de pattern, des capteurs textuels... Un exemple de capteur textuel serait un robot parcourant des sites webs informatifs et en extrayant un contenu textuel, au hasard d'abord, en fonction de l'état interne des neurones ensuite
*les canaux de sorties sont du texte écrit, du texte prononcé, des moteurs capables d'actionner notamment les canaux d'entrée.

<br>

== Modèle SCSR ==

Il nous est assez facile de ''savoir'', facile d'être conscient du fait que l'on sait, facile encore de l'exprimer. Mais il est extraordinairement difficile de décrire de manière précise et détaillée la manière dont est organisé ce que nous savons.&nbsp;

Peut-on ramener tout ce que nous savons, tout ce que nous avons appris. à des ''briques simples et élémentaires ''se prêtant bien à une représentation formelle, voire à une représentation artificielle&nbsp;?

Voici un essai dans cette direction: le modèle SCSR&nbsp;: "savoir = concepts + symboles + relations"

==== Savoir ====

Le savoir est organisé comme une masse (un amas, une collection) de données organisées en réseau. Cela signifie donc d'un part la présence d'entités élémentaires intrinsèques (les concepts) et dérivées (les symboles) et d'autre part la présence de connections (relations) liant entre elles les entités élémentaires, les liens étant d'intensité très variables. <br>

==== Objets ====

Ici nous appellons objets à la fois les concepts, les symboles et les relations.

==== Concepts ====

Les concepst sont intrinsèques: ils ne se définissent que par rapport à eux-mêmes, comme en amthématiques les axiomes.

Les concepts sont persistants: ils subsitent au sein du savoir.

Les concepts sont atomiques: ils ne se découpent pas en sous-concepts.

Les concepts sont liables - et liés - par des relations diverses.

==== Symboles ====

Un symbole est un concept secondaire.

Un symbole est toujours lié à un concept primaire.

Un symbole appartient à un champs de symboles (exemple:&nbsp;champs des symboles visuels, champs des symboles sonores, champs des symboles textuels).

Un symbole est persistant.

Un symbole n'est pas atomique&nbsp;:&nbsp;il relève d'un concept et d'un champs symbolique, et se définit par eux.

Un symbole n'est liable qu'à son concept et à son champs symbolique.

==== Relations ====

Une relation est ...

Une relation est une table de correspondance (une table de traduction, une ''HashMap'',...)

Une relation est une requête et une réponse

Une relation reçoit (requête) un argument, qui est un objet.

Une relation renvoie (réponse) un résultat, qui est un objet.

==== Exemples de concepts ====

rien / vrai / faux / invérifiable

jaune / bleu / couleur

moi / maman / papa / Louis

un / deux / trois

chien / lapin / animal

zéro

concept / symbole / relation

train / avion / bateau

main / jambe / peau

Dans ce qui suit, pour exprimer un concept, l'écriture &lt;concept&gt; sera utilisée. Par exemple &lt;jaune&gt;, &lt;vrai&gt;, &lt;cinq&gt;...

==== Exemples de symboles ====

Symboles visuels&nbsp;: l'image ou les images associées au jaune, à maman, au serpent, à la main... Ils seront représentés par "V:concept", par exemple "V:main". Les images peuvent être concrètes ou abstraites, schématisées...

Symboles textuels&nbsp;: les textes représentant le jaune, maman, un serpent, une main, le trois, qui sont donc surtout "jaune", "maman", "serpent" (ou "snake"), "main", "trois" (ou "3"),...

Symboles sonores&nbsp;: les sons et combinaisons de sons associées au jaune, à maman, au serpent, à la main. Principalement donc les mots prononcés, mais aussi le timbre de la voix de maman, le sifflement (du serpent)...Il seront représentés ici par "S:concept", par exemple "S:serpent".<br>

Nous avons donc le concept &lt;serpent&gt;, les symboles textuels "serpent" et "snake", les symboles visuels "V:serpent" et les symboles sonores "S:serpent".

==== Exemples de relations ====

'''''categSup(objet)&nbsp;: concept'''''

categSup(&lt;3&gt;)&nbsp;: &lt;chiffre entier&gt;

categSup(&lt;chien&gt;)&nbsp;: &lt;animal&gt;

categSup(&lt;animal&gt;)&nbsp;: &lt;concept&gt;

'''''chiffreSuivant(concept)&nbsp;: concept'''''

chiffreSuivant(&lt;2&gt;)&nbsp;:&nbsp;&lt;3&gt;

'''''conceptSymbole(symbole)&nbsp;: concept'''''

conceptSymole("orange")&nbsp;: &lt;orange&gt;

estVrai(&lt;relation&gt;)&nbsp;: &lt;concept&gt;

estVrai(chiffreSuivant(&lt;2&gt;)&nbsp;: &lt;3&gt;)&nbsp;: &lt;vrai&gt;

estVrai(chiffreSuivant(&lt;7&gt;)&nbsp;: &lt;4&gt;)&nbsp;: &lt;faux&gt;

estVrai(chiffreSuivant(&lt;orange&gt;)&nbsp;: &lt;banane&gt;)&nbsp;: &lt;niVraiNiFaux&gt;

Dernière version du 25 juin 2012 à 10:52