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

Intelligence artificielle Discussion :

Récompense et punition


Sujet :

Intelligence artificielle

  1. #1
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2022
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Novembre 2022
    Messages : 1
    Points : 3
    Points
    3
    Par défaut Récompense et punition
    Bonjour,

    Je ne suis ni développeur ni informaticien, juste curieux. On parle beaucoup d'ia qui apprennent grâce à des récompenses / punitions dans leurs algorithmes, mais j'ai du mal à imaginer concrètement ce que pourrait être une ligne de code punitive et recompensatrice.

    Si c'est explicable sans trop de connaissance technique, je serais comblé

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    Disons que dans ce domaine (et aussi, dans les mathématiques) on peut créer un objectif que l'on doit trouver (ou autrement dit, optimiser). Dans l'exemple le plus simple, prenez une fonction mathématique : 3*sin(x)/x (que l'on peut visualiser ici). Mon objectif, c'est de trouver la valeur maximale que l'on peut obtenir avec cette fonction (le "meilleur résultat"). Dans ce cas, c'est 0, qui donne le meilleur résultat possible -> 3.
    Pour trouver ce résultat, vous pouvez utiliser vos connaissance mathématiques et c'est bon. Malheureusement, on peut avoir des fonctions avec un nombre infini de variable. Dans un tel cas, vous pouvez toujours utilisez les mathématiques, mais il vous faudra aussi des aspirines et une puissance de calcul de plus en plus grand.

    Il existe aussi des problèmes plus compliqués (que l'on classe comme NP complet) où, dès que l'on augmente le nombre de variables, le nombre de possibilités (de résultats possibles) est exponentiel. Un des plus connus, le problème du voyageur de commerce. Que l'on peut dire de la manière suivante : il faut trouver le chemin le plus court pour visiter N villes.
    Dans notre vie de tous les jours, c'est le problèmes du GPS (trouver le chemin le plus rapide/court/économe pour aller d'un point A, à un point B, C, ...). Malheureusement, plus on ajoute des points de passage plus on augmente les possibilités, plus il faut du temps de calcul.

    Du coup, on utilise d'autres approches. Le score (le meilleur résultat) c'est d'avoir un temps de voyage le plus court possible. Malheureusement, ici, pas de formule mathématique, soit vous essayez toutes les possibilités... et vous serez à la retraite avant d'avoir le résultat, soit vous êtes plus intelligents.
    Comment faire pour réduire ce score le plus possible -> problème d'optimisation.

    Prenons un algorithme basé sur la nature et plus précisément, l'évolution. Celui-ci fonctionne de la façon suivante :
    • prenons N solutions aléatoires ;
    • calculons le score ;
    • gardons les M meilleures solutions (les scores les plus faibles)
    • effectuons des croisements de solution (on prend une partie d'une solution d'une solution S1, on la met dans une solution S2 et la partie de la solution S2 remplacée, on la met dans S1)
    • effectuons un peu de mutation (on altère une partie de la solution)
    • on repart à l'étape 2

    Cela peut paraître un peu abstrait, mais l'algorithme, partant d'un ensemble aléatoire et guidé par l'objectif de réduire le score est guidé et trouvera une solution valide et "pas mal".
    Cet algorithme est assez rapide à exécuter. Par contre, il n'obtient peut être jamais la solution optimale/parfaite. Mais bon, c'est déjà "bien".

    Voilà, c'était un exemple, j'espère que c'était assez clair.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 618
    Points : 188 593
    Points
    188 593
    Par défaut


    Pour compléter la réponse de LittleWhite, tu as souvent les termes de récompense et de pénalité en apprentissage par renforcement (RL) : quand l'agent fait ce que tu veux (le robot atteint sa destination, l'agent gagne une partie d'échecs ou de go, etc.), tu lui donnes une récompense (+1) ; sinon, tu peux ne rien lui donner (0) ou une pénalité (-1).
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

Discussions similaires

  1. Réponses: 8
    Dernier message: 11/06/2015, 09h19
  2. Réponses: 0
    Dernier message: 28/08/2009, 11h15

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