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

C# Discussion :

Algorithme intelligence artificielle


Sujet :

C#

  1. #1
    Membre du Club

    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 47
    Points : 68
    Points
    68
    Par défaut Algorithme intelligence artificielle
    Bonsoir,

    le sujet ne vise pas c# en particulier mais les raisons pour lesquelles je l'ai posté ici sont que je ne sais pas vraiment oû le poster et que le code source est en c# donc cela sera peut etre facile de me comprendre

    ça fait un moment que je m’intéresse à l'intelligence artificielle et j'ai fini par suivre des tutos anglais sur le net. j'ai commencé par comprendre le perceptron(un seul neurone) pour identifier la zone d'appartenance d'un point selon ces coordonnées. jusque la pas de problème...
    Mais pour certains problèmes, un seul neurone ne suffit pas, il faut implémenter plusieurs neurones et plusieurs couches(entrée, caché, sortie) donc le calcul pour produire un résultat change.
    d’après ce que j'ai appris pour pour produire un résultat(fonction feedforward), if faut faire ceci :
    -toutes les entre sont connecté a chaque neurone de la couche cache:
    -neurone couche cache = sigmoid(entree1*poidsLiaison1 + entree2*poidsLiaison2....+poidsBiaisCoucheNeurone)
    -toutes les couches cachés sont connectés a chaque sortie :
    -neurone couche sorti = sigmoid(Neurocache1*poidsLiaison1 + NeuroCache2*poidsLiaison2....+poidsBiaisCoucheNeurone)
    ------> est ce que cela est correcte?

    Alors la suite et magique car on entraîner le système pour qu'il puisse donner un bon résultat n'importe quel données du même genre.
    cela se passe ainsi d’après mon apprentissage:
    1-on effectue le même processus que dans la fonction feedforward
    2-on récupère l'erreur de la sortie:
    -resutat attendu - resultat sorti
    3-on récupère le gradient:
    -gradient = lr(pour la supervisation) * erreur sorti * derivee sigmoid(sortie)
    4-on récupère le deltas:
    -deltas = gradient * entree venant de la couche cache
    5-on ajuste les poidsLiaison entre la couche cache et la couche sorti:
    -poidsLiaison += deltas
    6-on ajuste les bias de la couche sorti:
    - bias += gradient
    7-on récupère les erreurs de la couche cachée:
    -erreur couche cache = poidsLiaison * erreurs sortie
    8- on calcul le gradient:
    - gradient = lr(pour la supervisation) * erreur couche caché * derivee sigmoid(neurone couche caché)
    9-on récupère le deltas:
    -deltas = gradient * entree
    10-on ajuste les poidsLiaison entre la couche cache et la couche sorti:
    -poidsLiaison += deltas
    11- on ajuste les biais de la couche caché :
    -biais += gradient

    voila c'est très difficile à expliquer et je ne suis pas sur si c'est le calcule correcte pour l'entrainement et ni d'ailleur pour la fonction feedforward. c'est justement pour cette raison que je viens solliciter votre aide.
    au départ j'ai utilisé des matrice pour les poids de liaison mais je préfère le faire a ma façons(voir code) car j'aime pas effectuer des calcul sur des matrices, ça me fait mal à la tete.

    !!! avant ou après entrainement j'obtient des résultats quasi identique pour différentes données et je ne comprends pas comment ça se fait...

    Projet : IA.zip

    D'avance merci pour votre attention

  2. #2
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2018
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : Autre

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2018
    Messages : 20
    Points : 47
    Points
    47
    Par défaut
    Pour la fonction feedforward, tout est bon.


    Pour la backpropagation... Je t'avoue ne pas avoir mis les pieds là-dedans depuis un moment mais je crois me souvenir d'une formule de calcul des nouveaux poids dans ce genre-ci :

    wxnew = wxold -(eta * ('Etotal / 'wxold))

    où Etotal = Somme(0.5 * (ideal - actual)²)

    A voir... ça n'a jamais été trop mon truc.


    Si tu obtiens des données quasi-similaires malgré le changement d'input, ne serait-ce pas parce que tes bias sont trop importants par rapport aux poids sur les inputs ? Tu te retrouverais sur des valeurs fortes (proches de 0 ou de 1), et en appliquant la fonction sigmoïd, tu te retrouves avec très peu de fluctuation dans tes outputs finaux.

    Just a shot in the dark. Comme je l'ai dit, je n'ai jamais été très portée sur le sujet.

  3. #3
    Membre du Club

    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 47
    Points : 68
    Points
    68
    Par défaut
    Merci pour ta reponse !

    J'ai trouve le probleme ce matin, j'ai pas eu le temps de passer le sujet en resolu.

    Je m'etais trompé sur mes indices dans les boucles, pas facile a remarquer....

    Pour la formule proposé ça a l'aire compliqué mais je verrai si ça pourrait m'etre utile

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 03/12/2018, 16h23
  2. Débat sur l'I.A (Intelligence Artificielle)
    Par Anonymous dans le forum Intelligence artificielle
    Réponses: 457
    Dernier message: 05/07/2016, 01h11
  3. Liens entre l'intelligence artificielle et des algorithmes comme A*
    Par yasmin ben dans le forum Intelligence artificielle
    Réponses: 1
    Dernier message: 05/04/2016, 15h28
  4. Réponses: 2
    Dernier message: 02/12/2014, 01h12
  5. Algorithme Puissance Partie intelligence artificielle
    Par timtima dans le forum Intelligence artificielle
    Réponses: 13
    Dernier message: 03/12/2007, 22h41

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