IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Méthodes prédictives Discussion :

Application de réseaux de neurones artificiels


Sujet :

Méthodes prédictives

  1. #1
    Membre régulier Avatar de ia.jenny
    Profil pro
    Inscrit en
    Août 2007
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 152
    Points : 78
    Points
    78
    Par défaut Application de réseaux de neurones artificiels
    J’ai réalisé un programme de neurone artificiel, qui fonctionne bien.








    Je voudrais faire bouger le serpent pour qu’il se dirige vers le point vert.

    Combien de neurones faut-il pour bouger le serpent ?
    Combien y a t il d’entrées et de sorties pour chaque neurones ?
    Que dois-je faire apprendre aux neurones ?
    Etc..

    Je cherche de la doc. Et je n’en trouve nul part !!!
    Merci Beaucoup

  2. #2
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Tu sembles avoir compris la théorie mais pas la pratique.

    Il te faut modéliser ton problème donc...

    A priori, le serpent est modélisé par 4 points, donc 8 coordonnées.
    Le point à atteindre est modélisé par ... 1 point, donc 2 coordonnées.
    En entrée du réseau de neurones, il te faut donc connaître les coordonnées actuelles du serpent (8 informations à donner en entrée) + les coordonnées du point à atteindre (2 informations à donner en entrée). Ca fait donc 10 informations au total.

    Ensuite, en sortie, je verrais bien une orientation, pour chacun des 4 points du serpent.
    Et tu déplaceras de N pixels dans l'orientation donnée.
    Ca pourrait par exemple être une valeur entre 0 et 1, avec [0, 0.25] -> gauche, [0.25, 0.5] -> haut, [0.5, 0.75] -> droite, [0.75, 1] -> bas.

    C'est une bribe de modèle pour ton problème, je ne suis pas tellement sûr que la modélisation pour l'orientation des sorties soit correcte au niveau de l'apprentissage (au niveau de la continuité, bien qu'on puisse mettre en bijection continue le cercle unité et le segment [0;1]... à condition d'enlever un point au cercle unité.

    Bref, à tester et méditer

  3. #3
    Membre régulier Avatar de ia.jenny
    Profil pro
    Inscrit en
    Août 2007
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 152
    Points : 78
    Points
    78
    Par défaut
    Salut,
    Merci pour tes éléments de réponses.
    Bizarre, tu mettrais les coordonnées du point à atteindre en entrée. Je ne comprends pas trop là.

    Pour le déplacement, il y aurait deux solutions :

    Les muscles font bouger les coordonnées des points(X,Y).
    Donc, il devrait avoir 2 muscles dans mon exemple.
    http://www.framsticks.com/common/neurons/muscle.html

    L’autre solution, c’est selon le point recherché, est de calculer l’angle du muscle.

    Je pense que la meilleure solution est la première.
    Comme élément d’explication, j’ai trouvé ceci:
    http://www.framsticks.com/f/al_simdetail.html
    Je ne comprends toujours pas, ce que je devrais avoir en entrées et en sorties.
    Et surtout que dois je faire apprendre au neurone ? Faudrait il pas 1 neurone pour chaque muscles ?
    De plus, un muscle peut influencer sur le 2eme.


    Bref tout s’embrouille dans ma tête, tout est confus.
    Merci d’avance
    @+

  4. #4
    Membre régulier Avatar de ia.jenny
    Profil pro
    Inscrit en
    Août 2007
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 152
    Points : 78
    Points
    78
    Par défaut
    Voici l’exécutable du serpent avec un muscle et une sinusoïdal.
    Dans cette exemple entrée = sortie

    Les 2 « pieds » du muscle bouge, mais le centre reste mobile.
    Je ne sais pas comment faire.

    http://s.w.o.free.fr/iar/Rn1.zip
    Ps: Regarde Le fichier "Pour Snake.txt"

    Mdr avec le fichier "Dent-De-Scie.txt"

  5. #5
    Membre averti

    Profil pro
    Étudiant
    Inscrit en
    Décembre 2004
    Messages
    499
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2004
    Messages : 499
    Points : 422
    Points
    422
    Par défaut
    salut

    en gros tout dépend de la manière dont ton serpent se déplace

    la question que tu dois te poser c'est : es-tu capable de savoir quel est le mouvement optimal à chaque moment ?
    si oui alors
    1) tu n'as peut-être pas besoin de RDN
    2) tu peux apprendre ce mouvement optimal à ton RDN

    sinon alors :
    tu ne peux pas faire d'apprentissage supervisé
    et dans ce cas : d'une manière générale les algorithmes génétiques sont bien adaptés pour les animat
    on m'a soufflé que dans ce cas (animat) il était intéressant de faire des réseaux bouclés avec oscillateurs (il n'y a pas de théorie rigoureuse, il faut tester et voir ce qui marche ou pas)

  6. #6
    Membre régulier Avatar de ia.jenny
    Profil pro
    Inscrit en
    Août 2007
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 152
    Points : 78
    Points
    78
    Par défaut
    Salut,
    Ok merci, je vais me documenter sur « animat »
    En faisant une recherche rapide, je pense que c’est la meilleure solution.
    @+

  7. #7
    Membre régulier Avatar de ia.jenny
    Profil pro
    Inscrit en
    Août 2007
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 152
    Points : 78
    Points
    78
    Par défaut
    En fin de compte, je n'ai trouvé encore aucun doc.

  8. #8
    Membre émérite
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 704
    Points : 2 990
    Points
    2 990
    Par défaut
    Citation Envoyé par ia.jenny
    Je voudrais faire bouger le serpent pour qu’il se dirige vers le point vert.
    Les réseaux de neurones sont principalement associatifs, pour chaque entrée d'un espace continu ils associent une réponse discrète qui désigne quelle classe de stimuli a été identifiée.

    Rien à voir donc avec ton application qui elle exige une réponse comportementale planifiée.

    Citation Envoyé par Alp
    Dans le cas où l'on peut séparer l'espace avec un hyperplan, on dit que la fonction à approcher est linéairement séparable.
    Nombre de ceux qui postent à propos des réseaux de neurones devraient d'abord se poser la question: mon problème admet-il une réponse linéairement séparable oui ou non
    Du même auteur: mon projet, le dernier article publié, le blog dvp et le jeu vidéo.
    Avant de poser une question je lis les règles du forum.

  9. #9
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Citation Envoyé par SpiceGuid Voir le message
    Les réseaux de neurones sont principalement associatifs, pour chaque entrée d'un espace continu ils associent une réponse discrète qui désigne quelle classe de stimuli a été identifiée.

    Rien à voir donc avec ton application qui elle exige une réponse comportementale planifiée.
    Vrai mais il faut savoir que l'on peut ruser pour s'en servir dans un cadre de prise de décision... Bien que ce soit assez bête en soi

    Citation Envoyé par SpiceGuid Voir le message
    Nombre de ceux qui postent à propos des réseaux de neurones devraient d'abord se poser la question: mon problème admet-il une réponse linéairement séparable oui ou non
    Oui, et le théorème de Cybenko (notamment) aide pour cela !

  10. #10
    Membre régulier Avatar de ia.jenny
    Profil pro
    Inscrit en
    Août 2007
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 152
    Points : 78
    Points
    78
    Par défaut
    Merci,
    Eh, ben ! C'est pas gagné !

Discussions similaires

  1. [Réseaux de neurones] Application au jeu de pong
    Par LiquidHuk dans le forum Méthodes prédictives
    Réponses: 4
    Dernier message: 23/08/2013, 09h33
  2. Google rachète DNNresearch, l'expert des réseaux de neurones artificiels
    Par Hinault Romaric dans le forum Méthodes prédictives
    Réponses: 3
    Dernier message: 18/03/2013, 13h05
  3. Réseaux de neurones artificiels
    Par enamii dans le forum Méthodes prédictives
    Réponses: 5
    Dernier message: 16/03/2012, 13h47
  4. Réponses: 1
    Dernier message: 17/01/2012, 11h55
  5. Réponses: 6
    Dernier message: 21/01/2009, 02h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo