[Index] Intelligence artificielle

Pour les gens qui ont simplement envie de discuter sans souhaiter faire passer d'information particulière.
Avatar du membre
Bubu
Intarissable
Messages : 7750
Enregistré le : dimanche 19 mai 2013 à 12:03
Localisation : En haut à gauche

Re: Intelligence artificielle

Message par Bubu »

Tugdual a écrit : mercredi 21 novembre 2018 à 12:59 "L'autre" intelligence artificielle :
C'est de la publicité pour Prolog cet article.
C'est un langage intéressant, qui permet aussi de résoudre des contraintes. Bien qu'étant le plus intéressant, ce n'est pas précisé dans l'article.
On apprend ce langage en licence d'informatique.
L'algorithme sous-jacent aux résolutions de problèmes logiques, c'est le back-tracking.

Pourquoi utiliser un langage qui implémente le back-tracking, quand on peut l'implémenter en 50 lignes ?
En TD sur Prolog, on avait fait un solveur de Sudoku.
On peut faire exactement la même chose en C++ directement, il faut juste compter quelques dizaines de lignes de code en plus pour l'implémentation du back-tracking.
Chose surprenante : alors qu'il faut plusieurs secondes à Prolog pour résoudre un Sudoku, le programme C++ le résoud immédiatement (même la grille AI Escargot, le sudoku le plus difficile jamais créé)! (A échelle humaine).

La soit-disante "intelligence artificielle symbolique" n'est pas une intelligence artificielle.
C'est du calcul formel, ou l'on réduit des prédicats logiques en d'autres. Par exemple le modus ponens : Si A implique B et A, alors B. (Donc si on sait A vraie, on remplace cette expression formelle par : B Tout simplement).
Si une chose implique une autre, et que cette chose est avérée, alors l'autre est avérée aussi.
En quoi est-ce de l'intelligence artificielle ?
C'est juste une réduction de formalisme mathématique.
C'est de l'algèbre dans l’Algèbre de Boole, du calcul.

Ou alors il faut qualifier ma calculatrice d'intelligente alors ! :crazy:
C'est une TI92 II, elle intègre un logiciel de calcul formel.
J'écris : x + x
Elle répond: 2x
On peut lui demander de calculer des dérivées, même partielles, des intégrales, résoudre des équations (de polynômes) etc ...
Y compris dans IC (nombres complexes).
De résoudre des équations différentielles.

Mais non ! :naugty: C'est juste un logiciel de calcul formel.
Aucune notion d'intelligence impliquée.

Etre intelligent, c'est avoir la capacité d'apprendre. D'orienter ses décisions vers les meilleures, face à un stimulus en entrée, en fonction de ses réussites et de ses échecs (apprentissage par renforcements) Ou des exemples (apprentissage supervisé)
Je ne vois pas le rapport avec la logique.
(Je me suis bien cassé les dents sur cette distinction, mais je n'ai jamais osé en dicuter avec mon prof de logique à l'époque. Une sacrée tronche)

Dans l'intelligence artificielle symbolique, l'ordinateur fournit la réponse. On le fait réduire des prédicats, et il répond la réduction.

Dans l'intelligence artificielle connexionniste, l'ordinateur n'est qu'un support de calcul. On lui demande de faire des calculs intensifs, mais la réponse ne vient pas du lui, mais du système qu'il émule.
Dans ce cas de figure, l'ordinateur bovinne à exécuter des calculs en boucle, et ne sait même pas quand il a finit !
On lui fournit souvent une valeur minimale d'erreur à atteindre. Mais c'est algorithmique.
L'ordinateur fait en boucle des millions de fois le même calcul. C'est au dessus qu'est dirigé le calcul.
Et il n'a pas vraiment de résultat exact, c'est quand le superviseur de l'apprentissage (l'expérimentateur humain) estime que c'est suffisant.
TSA, diagnostic établi à mes 33 ans par le CRA de ma région.
"Ce syndrome est caractérisé chez ce patient par l’absence de détérioration intellectuelle, un syndrome dysexécutif, un déficit d'attention"
Avatar du membre
Tugdual
Modérateur
Messages : 41271
Enregistré le : jeudi 15 novembre 2012 à 0:13
Localisation : Nord-44

Re: Intelligence artificielle

Message par Tugdual »

Avant que l'augmentation de la puissance de calcul de nos processeurs ne nous permettent de faire des choses intéressantes avec des réseaux de neurones, l'intelligence artificielle se limitait aux systèmes experts, lesquels étaient souvent écrits avec des langages du genre de Prolog.

Ce n'était certes pas de l'intelligence artificielle au sens humain du terme, mais les réseaux neuronaux non plus. Ceux-ci sont des simulateurs de sous-systèmes cognitifs, qui permettent de repérer des structures dans des jeux de données, guère plus.

Les systèmes experts sont d'une nature trop rigide, tandis que les réseaux neuronaux sont d'une nature trop souple. Peut-être que l'intelligence artificielle, demain, mixera les deux techniques ?
TCS = trouble de la communication sociale (24/09/2014).
Avatar du membre
Tugdual
Modérateur
Messages : 41271
Enregistré le : jeudi 15 novembre 2012 à 0:13
Localisation : Nord-44

Re: Intelligence artificielle

Message par Tugdual »

En attendant, toujours sur The Conversation :
TCS = trouble de la communication sociale (24/09/2014).
Avatar du membre
Bubu
Intarissable
Messages : 7750
Enregistré le : dimanche 19 mai 2013 à 12:03
Localisation : En haut à gauche

Re: Intelligence artificielle

Message par Bubu »

Tugdual a écrit : vendredi 23 novembre 2018 à 9:58 Avant que l'augmentation de la puissance de calcul de nos processeurs ne nous permettent de faire des choses intéressantes avec des réseaux de neurones, l'intelligence artificielle se limitait aux systèmes experts, lesquels étaient souvent écrits avec des langages du genre de Prolog.

Ce n'était certes pas de l'intelligence artificielle au sens humain du terme, mais les réseaux neuronaux non plus. Ceux-ci sont des simulateurs de sous-systèmes cognitifs, qui permettent de repérer des structures dans des jeux de données, guère plus.

Les systèmes experts sont d'une nature trop rigide, tandis que les réseaux neuronaux sont d'une nature trop souple. Peut-être que l'intelligence artificielle, demain, mixera les deux techniques ?
Bonjour, ce n'est pas un contre-argumentaire :

Il n'y a pas seulement la puissance de calcul qui a contribué, il y a aussi eu l'invention de nouveaux-modèles, notamment les réseaux à convolutions. Inspirés du lobe frontal je crois.
Il y aurait pleins de réseaux dupliqués qui opèrent le même calcul, le même processus. Les réseaux à convolutions reproduisent cette nature : en fait il suffit d'implémenter un seul petit réseau qui représentera toutes les convolutions. On le fait défiler sur toute la zone et on l'adapte à chaque fois. C'est intimement lié au traitement de l'image pour l'instant, mais on peut imaginer que cela va se généraliser.
Après c'est juste le paradigme, je n'ai jamais suivi de cours, ou eu des explications suffisantes pour l'implémenter.
Mais c'est comme les Perceptrons Multi-Couches, l'apprentissage se fait à grands coups de rétropropagation du gradient de l'erreur.

Je pense que le problème des réseaux neuronaux n'est pas qu'ils soient trop souples, au contraire, car il faut des millions de cycles d'apprentissage pour voir une connaissance émerger. C'est que l'apprentissage est trop lent (non pas en temps de calcul mais en nombre de cycles d'apprentissage). On est obligé de distinguer la phase d'apprentissage, de la phase d'utilisation.
Ce qui m’intéresserait par exemple, c'est de voir un robot, par ses essais/erreurs, apprendre à se déplacer, tout seul, sans distinguer la phase d'apprentissage de la phase d'utilisation, que ce soit fait dans le même cycle, en un temps raisonnable (physiquement) et en temps réel pour atteindre une cible.
Et aujourd'hui, même si certains y arrivent, c'est globalement impossible.

Enfin, oui les réseaux neuronaux peuvent déceler la structure de données en les cartographiant .... les réseaux topologiques le font en mode non supervisé (K-means, Kohonen, GNG).
Mais ils peuvent aussi déterminer une action à donner face à une entrée (un stimulus). En apprentissage supervisé ou par renforcements. Ils développent un comportement. (Ils apprennent à associer une entrée à une sortie, c'est un comportement émergent).

Un exemple : on crée une carte de Kohonen avec 26 noeuds, un pour chaque lettre majuscule par exemple.
On imagine des images en niveaux de gris de 20X20.
Alors les neurones auront 20X20 entrées, soit 400 valeurs qui sont alimentées par les pixels de l'image.
En apprentissage supervisé, on fait converger la bonne action pour la bonne image.
Pour le A, on rapproche le neurone 1, pour B le neurone 2, etc ...
Au bout d'un moment, le réseau est prêt. (Via l'analyse de son erreur globale qui diminue).

Ensuite en restitution, on lui présente une image d'un A (même manuscrit), il répondra 1( Première lettre de l'alphabet). Soit le A symbolique.
On lui présente une image d'un B, il répondra 2.
De l'aléa naturel, émerge le symbolique.

Après c'est un exemple, un GNG sera beaucoup plus performant car il peut insérer des neurones les supprimer, ajouter des liens,et les supprimer.
C'est une cartographie qui n'a pas de limite de précision.

Un lien vers une applet montrant les réseaux de neurones à apprentissage compétitif à l'oeuvre :
https://www.demogng.de/
TSA, diagnostic établi à mes 33 ans par le CRA de ma région.
"Ce syndrome est caractérisé chez ce patient par l’absence de détérioration intellectuelle, un syndrome dysexécutif, un déficit d'attention"
Avatar du membre
Tugdual
Modérateur
Messages : 41271
Enregistré le : jeudi 15 novembre 2012 à 0:13
Localisation : Nord-44

Re: Intelligence artificielle

Message par Tugdual »

TCS = trouble de la communication sociale (24/09/2014).
Avatar du membre
Tugdual
Modérateur
Messages : 41271
Enregistré le : jeudi 15 novembre 2012 à 0:13
Localisation : Nord-44

Re: Intelligence artificielle

Message par Tugdual »

TCS = trouble de la communication sociale (24/09/2014).
Avatar du membre
Tugdual
Modérateur
Messages : 41271
Enregistré le : jeudi 15 novembre 2012 à 0:13
Localisation : Nord-44

Re: Intelligence artificielle

Message par Tugdual »

TCS = trouble de la communication sociale (24/09/2014).
Avatar du membre
Tugdual
Modérateur
Messages : 41271
Enregistré le : jeudi 15 novembre 2012 à 0:13
Localisation : Nord-44

Re: Intelligence artificielle

Message par Tugdual »

TCS = trouble de la communication sociale (24/09/2014).
Avatar du membre
Ixy
Prolifique
Messages : 4667
Enregistré le : jeudi 20 mars 2014 à 20:59
Localisation : 92

Re: Intelligence artificielle

Message par Ixy »

Sur le 2ème lien : Nima Mesgarini est un homme :lol:
Je n'ai pas de diagnostic /!\
Ce que tu as la force d'être, tu as aussi le droit de l'être - Max Stirner
Avatar du membre
Tugdual
Modérateur
Messages : 41271
Enregistré le : jeudi 15 novembre 2012 à 0:13
Localisation : Nord-44

Re: Intelligence artificielle

Message par Tugdual »

Ixy a écrit : samedi 5 janvier 2019 à 11:28 Sur le 2ème lien : Nima Mesgarini est un homme :lol:
"Mesgarani" ou "Mesgarini" ?


Sur le journal du CNRS :
TCS = trouble de la communication sociale (24/09/2014).
Avatar du membre
Bubu
Intarissable
Messages : 7750
Enregistré le : dimanche 19 mai 2013 à 12:03
Localisation : En haut à gauche

Re: Intelligence artificielle

Message par Bubu »

Autre chose (et je prêche pour ma paroisse. :oops: )

Quand on parle de réseaux neuronaux, on ne parle quasiment que des réseaux à combinaisons linéaires.
(Réseaux de plusieurs couches avec une non linéarité introduite entre les couches).
Ce sont évidemment des réseaux très puissants, avec une capacité de généralisation impressionnante.
Car ils apprennent une représentation des données fonctionnelle, sous forme de superposition (des compositions) de fonctions non-linéaires.

Mais les réseaux topologiques, appelés (je pense à tord) réseaux compétitifs (je préfère l'adjectif "topologiques"), créent une topologie des données via projection sur x dimensions (dimension qui peut être la même que celle de l'entrée).
Ils apprennent en créant une cartographie, une topologie des données.
Et en plus les réseaux utilisant des combinaisons linéaires peuvent eux-aussi être entraînés en apprentissage compétitif, à condition d'utiliser les bonnes fonctions de transfert. Bref...
Donc je préfère différencier les deux familles par les 2 appellations : Réseaux à combinaisons linéaires, et Réseaux topologiques. Mais ça n'engage que moi. :innocent:


De base, ils sont équivalents pour l'apprentissage supervisé, (l'idée est de mettre plusieurs réseaux compétitifs en compétition eux-mêmes pour représenter des données étiquetées par leur classe respective. Je n'ai jamais lu d'article sur cette utilisation, mais j'ai testé et c'est possible).
Mais c'est discret. Le résultat n'est pas un vecteur mais une classe. Mais dans la prise de décision, il s'agit de discrimination, c'est ce qu'on veut. Une entrée doit se convertir en catégorie. (Donc discrète).
Je fais ci, ou je fais ça. C'est de la classification. Evidemment l'approximation de fonction est impossible avec les réseaux compétitifs. (Sauf si on leur met au cul un réseau RBF (radial basis fonction). Mais il faut deux apprentissages successifs dans le temps, d'abord le premier non supervisé (sur le réseau compétitif), ensuite le deuxième supervisé (sur le RBF).... pour avoir un résultat médiocre, et une plausibilité biologique nulle. Mais il doit y avoir des exemples d'expérience positive . :mrgreen: )

Mais l'avantage est au niveau de l'apprentissage de catégories (discrètes). On peut utiliser un apprentissage "semi-supervisé" avec les réseaux topologiques. Cela reste un apprentissage supervisé dans le sens où il faut une aide extérieure (un superviseur). Mais il n'a pas besoin de connaitre la bonne réponse comme c'est le cas dans un apprentissage supervisé. On peut superviser l'apprentissage seulement grâce à une fonction de coût simpliste (booléenne) qui dit bon ou pas bon. Un tel superviseur n'a pas besoin de savoir comment répondre correctement, mais juste de savoir quand une décision entraîne un échec final ou une réussite finale.
Du coup, par adaptations successives, le réseau apprend (découvre) tout seul la stratégie à appliquer pour résoudre le problème.
Le comportement émerge seul sans qu'on lui dise comment y parvenir. (J'avoue que c'est cela qui me passionne).
Dans les deux cas en fait, il s'agit de diminuer un gradient (d'erreur ou de distance)

En plus mathématiquement c'est beaucoup plus simple et plus intuitif. (Niveau troisième. Pas besoin de savoir ce qu'est une dérivée, ou un gradient, une matrice, une application linéaire et (non linéaire)). Il suffit de savoir comment calculer des distances, et de corriger les positions selon, soit en rapprochant ou éloignant de la destination, calculer un minimum)

Le réseau topologique le plus intéressant est le GNG (growing neural gaz) avec utilité. J'avais posté une applet Java faite par son inventeur. L'avantage (hors mauvais paramétrage), c'est qu'il n'a aucune limite de précision pour projeter les données. (Il peut créer/supprimer les nœuds, et les liens les unissant (qui définissent le voisinage d'unités sollicitées ensemble (voir l'apprentissage de Hebb) ) pendant l'apprentissage).
Et c'est facile d'implémenter le GNG-U. C'est un système multi-agents très simple. Mais il faut trouver la doc, c'est tout. C'est la seule difficulté.
Un autre avantage, c'est qu'on a pas à estimer (synonyme, paramétrer au pif le nombre de couches et le nombre d'unités dans chaque), la difficulté du problème. Le réseau GNG-U le fait tout seul. On commence par deux neurones reliés, et il se déploit tout seul selon les besoins. ( Il y a deux facteurs : l'erreur et l'utilité. Dans les zones avec une grosse erreur, on peuple le réseau (on ajoute des unités), et dans les zones de faible utilité, on supprime les unités).

Je suis convaincu que c'est une vision doutée comme peu fiable biologiquement, mais Kohonen avait réalisé que les neurones pouvaient se déplacer pour former une projection spatiale des fréquences auditives qui représentaient les besoins au niveau de l'aire auditive. (Formée prématurément elle engendrait l'oreille absolue, avant que l'on apprenne à transposer. Cette plasticité neuronale est éphémère, avant 6 ans pour être large, ce qui fait qu'il est impossible pour un adulte ayant appris l'oreille relative (normale, c'est la façon d'entendre "normalement") de revenir en arrière et d'apprendre l'oreille absolue.)

On nous présente le cerveau comme de la gelée inerte. C'est vraiment dommage. En permanence dans notre vie, des connexions entre neurones se créent, des nouveaux neurones sont crées.
Mais il ne faut pas se leurrer : la plasticité neuronale diminue avec l'âge. Plus on est jeune et plus les apprentissages sont faciles et rapides.

Cette notion d'âge est utilisée dans les réseaux topologiques : plus une connexion est âgée et moins elle évolue.

C'est ma motivation première pour reprendre mes études. Je veux étudier les réseaux topologiques et en faire mon métier. :roll:

Par dépit et sans rien vouloir prouver, j'ai fait une AI qui manipule un agent dans une petite grille avec un mur, en utilisant plusieurs GNG-U en compétition sur la direction à prendre.
Et bien ça marche. A la fin de l'apprentissage, l'agent allait chercher la nourriture en contournant le mur si besoin.

(En fait j'utilisais une version adaptée du GNG-U. :innocent: Dont le but n'était pas de cartographier, mapper, l'espace d'entrée, mais de cartographier les entrées en fonction de leurs catégories. Ce que je n'aurais pas su faire sans le modèle génial initial. C'est un apprentissage avec une politique de moindre effort : si la bonne classe gagne, on ne change rien. Ce qui fait que plus le réseau évolue, et moins il change, plus il se stabilise, sans pour autant se peupler d'avantage. Par contre si l'unité n'est pas de la bonne catégorie, on la repousse et on diminue son erreur (locale). Une façon de lui dire "dégage t'as rien à foutre là !" :mrgreen:)

Le but de l'apprentissage pour l'application : atteindre la nourriture. Où que soit l'agent, où que soit la nourriture. Avec un mur à contourner qui évitait que le résultat soit fait seulement en vol d'oiseau.
Il y a autant de GNG-U que de catégories. (4 car 4 directions possibles (haut bas gauche droite).
La règle d'apprentissage :
décision entraîne manger la nourriture -> GAGNE
décision entraîne collision contre un mur -> PERDU
trop de mouvements sans avoir atteint la nourriture -> PERDU. (Ce qui fait que l'agent ne tourne pas en rond, et finit par utiliser le plus court chemin)
(règle nécessaire car sinon l'agent finira par avoir un comportement cyclique qui serait stable. Plus d'erreurs, plus de réussites, donc pourquoi changer ?)

C'est un apprentissage compétitif aussi : On détermine le neurone le plus proche et on adapte son réseau comme dans un apprentissage non-supervisé.
Si la réponse est bonne on rapproche le vainqueur de la bonne classe..
Si la réponse est mauvaise, on éloigne le vainqueur. (Il faut aussi diminuer la valeur de l'erreur, pour éviter un peuplement "cancérigène" dans cette zone, car on veut que les autres classes tentent de s'y peupler à la place).
(De fait pour un même stimulus, on finira par avoir un autre vainqueur).
TSA, diagnostic établi à mes 33 ans par le CRA de ma région.
"Ce syndrome est caractérisé chez ce patient par l’absence de détérioration intellectuelle, un syndrome dysexécutif, un déficit d'attention"
Avatar du membre
Bubu
Intarissable
Messages : 7750
Enregistré le : dimanche 19 mai 2013 à 12:03
Localisation : En haut à gauche

Re: Intelligence artificielle

Message par Bubu »

Je m’intéresse aussi aux réseaux à convolutions. Mais je n'arrive pas à trouver de doc abordable, qui permettrait de l'implémenter.
Via la description pédagogique, je comprends parfaitement leur puissance.
Si quelqu'un peut présenter une explication abordable à ceux qui comprennent la dynamique des MLP, ce serait génial.
On parle de volume au lieu de couches, etc.... mais ce n'est pas exploitable avec ces descriptions.

Il faudrait un article, ou un cours, pédagogique, qui explique comment les implémenter.
Merci

D'ailleurs l'article français de Wikipedia, censé permettre d'apprendre, est nul et démotivant. Il n'explicite rien.
Pourquoi pas aussi améliorer l'article Wikipedia ?
TSA, diagnostic établi à mes 33 ans par le CRA de ma région.
"Ce syndrome est caractérisé chez ce patient par l’absence de détérioration intellectuelle, un syndrome dysexécutif, un déficit d'attention"
Avatar du membre
Tugdual
Modérateur
Messages : 41271
Enregistré le : jeudi 15 novembre 2012 à 0:13
Localisation : Nord-44

Re: Intelligence artificielle

Message par Tugdual »

Je ne me rends pas bien compte, vu que je ne connais pas ces jeux :
Tout de même, la conclusion m'étonne et m'inquiète :
Reste une question : à quoi tout ceci sert-il ? Demis Hassabis, le fondateur patron de DeepMind, a souligné que « les techniques derrière AlphaStar pourraient être utiles dans d’autres problèmes tels que les prévisions météorologiques et la modélisation du climat, qui impliquent également des prévisions sur de très longues séquences ». Bref, il ne s’agit pas que de s’amuser.
Si je comprends bien, il ne leur vient pas à l'esprit qu'une IA qui écrase tout le monde dans une simulation de guerre aura forcément sa place sur le champ de bataille...
TCS = trouble de la communication sociale (24/09/2014).
Avatar du membre
Tugdual
Modérateur
Messages : 41271
Enregistré le : jeudi 15 novembre 2012 à 0:13
Localisation : Nord-44

Re: Intelligence artificielle

Message par Tugdual »

Science Étonnante est de retour :
Spoiler : ▮▶ : 
TCS = trouble de la communication sociale (24/09/2014).
Avatar du membre
Tugdual
Modérateur
Messages : 41271
Enregistré le : jeudi 15 novembre 2012 à 0:13
Localisation : Nord-44

Re: Intelligence artificielle

Message par Tugdual »

TCS = trouble de la communication sociale (24/09/2014).