[Index] Intelligence artificielle

Pour les gens qui ont simplement envie de discuter sans souhaiter faire passer d'information particulière.
Mikko
Régulier
Messages : 39
Enregistré le : mardi 12 juillet 2016 à 12:39

Re: Intelligence artificielle

Message par Mikko »

Ixy a écrit :https://www.college-de-france.fr/site/y ... 5-2016.htm tu peux voir le cours de Yann Le cun
J'avais regardé certains de ces cours au collège de France mais c'est rapidement très compliqué. Pourtant j'en ai fait pendant mes études et j'ai déjà créé quelques petits réseaux de neurones.
A mon avis, on trouve des choses plus abordables dans ce domaine dans certains bouquins, mêmes français, pour commencer là dedans. Après il y a des personnes qui aiment bien commencer par le plus difficile, question de goût.
Non diagnostiqué, en attente de premier rendez-vous au CRA
Avatar du membre
Ixy
Prolifique
Messages : 4667
Enregistré le : jeudi 20 mars 2014 à 20:59
Localisation : 92

Re: Intelligence artificielle

Message par Ixy »

Pourtant c'est un cours pour le grand public :) parfois ça va un peu vite et il faut aller chercher des infos par ailleurs mais le cours est une très bonne introduction, récent qui plus est.
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
Bubu
Intarissable
Messages : 7750
Enregistré le : dimanche 19 mai 2013 à 12:03
Localisation : En haut à gauche

Re: Intelligence artificielle

Message par Bubu »

Ixy a écrit :Mm... le mieux a mon avis est d'utiliser plusieurs grilles 3x3 mais avec plusieurs resolutions + les cordonnées de la tete et peut etre celle de la queue. Un réseau LSTM serait marrant et très intéressant à voir avec comme entrée les évènements (changement de direction, nouvel objet) mais c'est beauvoup plus compliqué. Je pourrai t'expliquer mon idée quand j'aurai plu de temps.
J'avais fait fût un temps une AI de Snake qui remplissait l'écran à quelques cases près. En gros, s'il y a plusieurs zones, il faut aller là où est la queue.
Ce qui est important, c'est que le problème est invariant de l'orientation absolue (haut, bas, gauche, droite) de la tête.
Donc trois sorties de décision suffisent :
1) Aller tout droit
2) Tourner à gauche
3) Tourner à droite

Mais cela implique de faire des rotations de 90° du terrain en fonction de l'orientation courante de la tête.

De plus, l'idéal, serait de faire une AI capable de jouer quelque soient les dimensions de la grille ....
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
Ixy
Prolifique
Messages : 4667
Enregistré le : jeudi 20 mars 2014 à 20:59
Localisation : 92

Re: Intelligence artificielle

Message par Ixy »

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
Bubu
Intarissable
Messages : 7750
Enregistré le : dimanche 19 mai 2013 à 12:03
Localisation : En haut à gauche

Re: Intelligence artificielle

Message par Bubu »

Bonjour, je poste un nouveau code du MLP.
Toujours en java, normalement facilement lisible et fonctionnant parfaitement (contrairement au premier ! :oops: )

J'éditerai pour mettre une appli qui apprend une image. 2 entrées pour les coordonnées et 3 sorties pour rouge vert et bleu. Ce sera le dernier test du MLP avant le Snake.
Mais pour l'instant j'ai un peu la flegme j'avoue. :roll:
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
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"
Mikko
Régulier
Messages : 39
Enregistré le : mardi 12 juillet 2016 à 12:39

Re: Intelligence artificielle

Message par Mikko »

Ça semble structuré par contre ça manque de commentaires, heureusement le fichier n'est pas énorme mais ça serait plus facile de se l'approprier je pense.
Non diagnostiqué, en attente de premier rendez-vous au CRA
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 »

Merci pour ton retour.
L'usage de ce code est on ne peut plus simple.
Dans une boucle infinie :
Tu prépares les entrées et les sorties de la fonction à approximer.
Tu calcules la sortie du réseau.
Puis tu fais la retropropation grâce à la sortie désirée.
Finalement, tu corriges les poids.
Tu arrêtes la boucle quand l'erreur quadratique est en dessous d'une valeur arbitraire.
Je vais poster un exemple (prêt) qui approxime le sinus sur [0, 2Pi]

Voici l'exemple qui approxime la fonction sinus :
public static void main(String[] args) {
MLP mlp = new MLP(new int[]{1,10,10,1}, 0.9f, 0.5f);
while(true) {
float i = (float)(Math.random() * 2.0 * Math.PI);
float s = (float) ((1.0f + Math.sin(i)) / 2.0f);
mlp.computeOutput(new float []{i});
mlp.retropropagateFromDesiredOutput(new float [] {s});
mlp.adaptWeights();
if (mlp.getMeanSquaredError() < 0.00001f) {
//arreter l'apprentissage
}
if (mlp.getLearningCount() % 10000 == 0) System.out.println(mlp.getMeanSquaredError());

}
}

La topologie et les paramètres du réseau n'ont pas été optimisés.
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 »

J'ai fait une première version de l'appli qui apprend une image :
Image1.png
Image2.png
à gauche l'image d'origine et à droite l'image generée par le mlp.
C'est hyper vague, c'est clair :lol:
Mais bon, ça ressemble. C'est un apprentissage vite fait sur un petit réseau.
Je peux joindre l'appli en l'état, mais autant attendre que je la peaufine un peu avant non ?
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
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
Ixy
Prolifique
Messages : 4667
Enregistré le : jeudi 20 mars 2014 à 20:59
Localisation : 92

Re: Intelligence artificielle

Message par Ixy »

Comment tu fais ça ? J'imagine que tu fixes les activations d'un réseau de neurones et tu essaies de reconstituer l'entrée par une descente de gradient. C'est généralement ce qui est fait. Mais alors comment tu entraînes ton réseau ?
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
Bubu
Intarissable
Messages : 7750
Enregistré le : dimanche 19 mai 2013 à 12:03
Localisation : En haut à gauche

Re: Intelligence artificielle

Message par Bubu »

Ixy a écrit :Comment tu fais ça ? J'imagine que tu fixes les activations d'un réseau de neurones et tu essaies de reconstituer l'entrée par une descente de gradient. C'est généralement ce qui est fait. Mais alors comment tu entraînes ton réseau ?
J'interprète une image comme étant une fonction qui associe un couple de coordonnées à une couleur (un triplet RGB), et le réseau l'approxime. C'est tout.

Donc dans les faits, je génère des coordonnées aléatoires, je regarde la couleur d'origine, et je fais converger la réponse du réseau vers elle.
Le réseau a donc 2 entrées et 3 sorties.

Pour le dessin, il y a 2 couches cachées de 100 unités chacune.
Pour le ciel, le réseau est bcp plus petit.

J'ai l'intention de poster le code du projet, ainsi qu'un .jar ("exécutable" Java) de l'appli.
Tu as bien une machine virtuelle java installée ?
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
Alone3545
Prolifique
Messages : 3165
Enregistré le : mercredi 11 novembre 2015 à 13:43

Re: Intelligence artificielle

Message par Alone3545 »

ruban de Möbius, comment on le fait? Est ce une abération? Et t"il faisable par seulement un robot ou pas et comment peut t'on le faire?
Diagnostiqué, 24 ans.
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 »

Alone3545 a écrit :ruban de Möbius, comment on le fait? Est ce une abération? Et t"il faisable par seulement un robot ou pas et comment peut t'on le faire?
Pour le réaliser, il suffit de prendre une bande de tissu, et d'en coller les extrémités après avoir fait une torsion. Ce n'est pas une aberration. Par contre le fait qu'il n'ait "un seul côté", je ne comprends pas. C'est plutôt que quand tu le fais défiler, tu passes sur les 2 faces. C'est ma compréhension pour l'instant, des matheux te donneront sans doute une meilleure explication. C'est une question mathématique, tu aurais peut-être plutôt dû la poser sur le sujet dédié.

Édit: un exemple :
Tu prends 2 axes rotatifs reliés par une courroie.
Il y a une torsion sur un côté de la courroie, entre les 2 axes.
Un des axes est en contact avec une des faces de la courroie, l'autre axe est en contact de l'autre face de la courroie.
C'est donc un ruban de Möbius.
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"
Mikko
Régulier
Messages : 39
Enregistré le : mardi 12 juillet 2016 à 12:39

Re: Intelligence artificielle

Message par Mikko »

Bubu a écrit :
Ixy a écrit :Comment tu fais ça ? J'imagine que tu fixes les activations d'un réseau de neurones et tu essaies de reconstituer l'entrée par une descente de gradient. C'est généralement ce qui est fait. Mais alors comment tu entraînes ton réseau ?
J'interprète une image comme étant une fonction qui associe un couple de coordonnées à une couleur (un triplet RGB), et le réseau l'approxime. C'est tout.

Donc dans les faits, je génère des coordonnées aléatoires, je regarde la couleur d'origine, et je fais converger la réponse du réseau vers elle.
Le réseau a donc 2 entrées et 3 sorties.

Pour le dessin, il y a 2 couches cachées de 100 unités chacune.
Pour le ciel, le réseau est bcp plus petit.

J'ai l'intention de poster le code du projet, ainsi qu'un .jar ("exécutable" Java) de l'appli.
Tu as bien une machine virtuelle java installée ?
(j'ai pas compris le rapport avec le ruban de Möbius alors je vais parler de ce message)

En regardant les copies d'écran je me demandais qu'elle méthode tu faisais pour générer une image à partir d'un réseau de neurones. L'explication est donc la bienvenue et c'est clair, je trouve ça plutôt cool.
C'est sur que l'image n'est pas parfaite mais ça parait logique vu les dimensions que tu donnes. Pour chaque coordonnée tu as 16 millions de possibilités (256 par couleur) je pense que ton réseau se perd. Peut-être que ça vaudrait le coup de réduire le nombre de valeur à 64 par couleur pour réduire leur nombre total à 260k et ainsi permettre à ton réseau d'être plus précis dans les traits.
C'est juste une hypothèse pour t'aider dans ta réflexion, ça n'a peut-être aucun intérêt dans ton cas, je n'ai pas dépassé le stade de génération de courbes.
Non diagnostiqué, en attente de premier rendez-vous au CRA
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 »

Tu vois comment se fait l'apprentissage ou pas ? J'ai expliqué ma méthode à Ixy.
Je peux la reexpliquer si besoin.

Pour générer l'image du MLP, j'utilise 2 boucles imbriquées qui parcourent la surface, et j'y place la couleur donnée par le MLP.

C'est vraiment un usage bête d'un MLP.
Il n'y a rien de compliqué, je bovine, c'est tout.

Édit : ton analyse combinatoire est juste, mais pas appropriée. Je ne raisonne pas sur le nombre de combinaisons, mais sur l'approximation d'une fonction.
(Ne te complique pas, c'est bcp plus simple que ça)
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
Ixy
Prolifique
Messages : 4667
Enregistré le : jeudi 20 mars 2014 à 20:59
Localisation : 92

Re: Intelligence artificielle

Message par Ixy »

t'utilises ReLu ou sigmoïde ? sigmoïde j'imagine

Ce qui est assez drôle pour la première image c'est que tu as exactement une fonction par palier (on le voit par aplats de couleur), et donc cela traduit exactement les capacités d'un réseau de neurones à deux couches pour de la classification : c'est à peu près équivalent au découpage du plan à l'aide de N droites (N étant le nombre de neurones).
C'est sur que l'image n'est pas parfaite mais ça parait logique vu les dimensions que tu donnes. Pour chaque coordonnée tu as 16 millions de possibilités (256 par couleur) je pense que ton réseau se perd. Peut-être que ça vaudrait le coup de réduire le nombre de valeur à 64 par couleur pour réduire leur nombre total à 260k et ainsi permettre à ton réseau d'être plus précis dans les traits.
Non en fait comme il s'agit de régression par moindres carrés, la discrétisation (nbre de couleurs) n'a pas vraiment d'importance.
Je n'ai pas de diagnostic /!\
Ce que tu as la force d'être, tu as aussi le droit de l'être - Max Stirner