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 :

[Réseaux de neurones] Application au jeu de pong


Sujet :

Méthodes prédictives

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations forums :
    Inscription : Avril 2013
    Messages : 32
    Points : 18
    Points
    18
    Par défaut [Réseaux de neurones] Application au jeu de pong
    Bonjour,

    Ne sachant pas trop vers quelle structure me tourner, j'ai préparé un réseau de neurones de taille flexible et j'ai prévu plusieurs neurones différents pour faire des tests avec différentes fonctions de transfert. J'ai prévu de procéder par apprentissage supervisé (feed forward + back propagation, learning rate et momentum).

    Après quelques tests (XOR, tests de valeurs), j'en ai conclu que le réseau fonctionnait correctement. Appliqué a mon pong, le réseau est caractérisé de la manière suivante :
    - Les deux paddle sont contrôlés par des réseaux de neurones
    - 4 données sont attendues en entrée : position et direction de la balle
    - Un résultat est attendu : position en Y du paddle
    - Le réseau est constitué de trois couches de 4 / 10 / 1 neurones (modifiable facilement)

    Quand la balle touche un paddle :
    - J'envoie en entrée du réseau du paddle opposé la position et la direction de la balle (après rebond)
    - J'effectue le feedforward
    - Je simule l'endroit où la balle doit atteindre le côté qui effectue le calcul
    - J'effectue la backpropagation à l'aide de la simulation
    - Je déplace le paddle à l'endroit indiqué par le réseau de neurone

    Au final, la réponse du réseau converge très rapidement vers 1 et ne bouge plus ensuite. J'ai fait les tests avec des fonctions de transfert en tanh et sigmoïde et en modifiants les constantes de momentum et learning rate, sans résultat probant.

    Je me retrouve avec une erreur moyenne très grande (*e^61) mais qui tend vers des valeurs entre 200 et 800 après plusieurs centaines de passage et ce sans que la réponse du réseau ne change.

    Je ne sais pas trop quels tests faire... Faut-il modifier la structure du réseau, les fonctions de transfert, les constantes momentum et vitesse d'apprentissage ?

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour, je trouve excellente l'idée.
    Je vais peut-être m'en faire un virtuel.

    Si de la direction de la balle tu parviens à déduire la position du paddle, alors à quoi sert la position ?

    Parce que la position intuitivement ça te donne un rapport de déplacement, la vitesse, mais si il y a une possibilité, la vitesse n'est pas à prendre en compte.

    Ou quelque chose m'échappe ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations forums :
    Inscription : Avril 2013
    Messages : 32
    Points : 18
    Points
    18
    Par défaut
    Citation Envoyé par jovalise Voir le message
    Si de la direction de la balle tu parviens à déduire la position du paddle, alors à quoi sert la position ?
    Une fois que la balle touche un paddle, je peux connaitre la trajectoire de la balle et donc l'endroit où le paddle opposé doit se placer pour renvoyer la balle. Pour faire ce calcul, la position et la direction de la balle sont nécessaires.


    Citation Envoyé par jovalise Voir le message
    Parce que la position intuitivement ça te donne un rapport de déplacement, la vitesse, mais si il y a une possibilité, la vitesse n'est pas à prendre en compte.
    Désolé, mais je n'ai pas compris ce que tu dis ici.

  4. #4
    Membre habitué Avatar de M.Max
    Homme Profil pro
    Inscrit en
    Décembre 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2009
    Messages : 90
    Points : 127
    Points
    127
    Par défaut
    Citation Envoyé par LiquidHuk Voir le message
    Pour faire ce calcul, la position et la direction de la balle sont nécessaires.
    Pourquoi utiliser un RN dans ce cas ?

    Lorsque la balle part du paddle du joueur 1, tu as la position et la direction de la balle, tu peux donc calculer très facilement où doit-être le paddle du joueur 2.

    Lorsque la balle part du paddle du joueur 2, tu as la position et la direction de la balle, tu peux donc calculer très facilement où doit-être le paddle du joueur 1.

    Lorsque....

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations forums :
    Inscription : Avril 2013
    Messages : 32
    Points : 18
    Points
    18
    Par défaut
    Citation Envoyé par M.Max Voir le message
    Pourquoi utiliser un RN dans ce cas ?

    Lorsque la balle part du paddle du joueur 1, tu as la position et la direction de la balle, tu peux donc calculer très facilement où doit-être le paddle du joueur 2.

    Lorsque la balle part du paddle du joueur 2, tu as la position et la direction de la balle, tu peux donc calculer très facilement où doit-être le paddle du joueur 1.

    Lorsque....
    Le but ici est d'appliquer ce que j'ai appris sur les réseaux de neurones et de mettre en place un apprentissage supervisé. Je suis bien conscient que le pong peut jouer seul parfaitement en simulant la trajectoire de la balle, mais j'utilise ce calcul pour "simuler" une interaction humaine qui à chaque rebond indiquerait au paddle concerné où il aurait dû se placer. Le but à terme étant d'avoir un pong qui a appris à jouer, au lieu d'avoir été directement codé pour se placer au bon endroit.

Discussions similaires

  1. [Réseaux de neurones] Applications en domotique ?
    Par altair8080 dans le forum Méthodes prédictives
    Réponses: 1
    Dernier message: 24/02/2014, 18h51
  2. [Réseaux de neurones] Application de l'apprentissage bayésien ?
    Par demoisellex dans le forum Méthodes prédictives
    Réponses: 0
    Dernier message: 10/12/2013, 17h38
  3. Réponses: 6
    Dernier message: 21/01/2009, 03h06
  4. Application de réseaux de neurones artificiels
    Par ia.jenny dans le forum Méthodes prédictives
    Réponses: 9
    Dernier message: 07/01/2009, 00h41
  5. Réseaux de neurones
    Par kayin dans le forum Méthodes prédictives
    Réponses: 8
    Dernier message: 10/03/2004, 15h22

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