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 :

Implémenter un réseau de neurones


Sujet :

Intelligence artificielle

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 421
    Points : 0
    Points
    0
    Par défaut Implémenter un réseau de neurones
    bonjour je cherche a implémenter un réseau de neuronne d'un article de recherche ci joint je ne vois pas comment l'initialiser et mettre en input les username ci joint l'article
    je suis bloque depuis 2 mois je ne vois pas comment commencer pouvais vous m'aider s'il vous plait
    Images attachées Images attachées

  2. #2
    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 585
    Points
    188 585
    Par défaut


    Généralement, l'initialisation des poids se fait de manière aléatoire (par exemple, méthode de Xavier ou plus récente).
    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 !

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 421
    Points : 0
    Points
    0
    Par défaut
    Merci c’est dans la manipulation des données login password que je ne vois pas comment appliquer un. Réseau de neurone
    Merci d’avance pour votre aide

  4. #4
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 133
    Points : 208
    Points
    208
    Par défaut
    Bonjour,

    L'article répond directement à ta question :

    Puisque les valeurs autorisées des entrées et des sorties va de 0 à 1, le système se doit de normaliser le login et le mot de passe avant d'entraîner le réseau de rétro propagation.
    C'est pourquoi nous ajoutons un mécanisme au système pour normaliser le modèle d'apprentissage.
    Le mécanisme d'encodage mappe chaque caractère en ASCII (pour chaque caractère équivaut un nombre).
    Chaque caractère ascii est transformé sous sa forme binaire (7 bit).
    Par exemple, pour le nom d'utilisateur "Tom" la représentation ASCII est 84 111 109 et le code binaire est 1010100 1101111 1101101.
    Le choix de caractères représentés sur 7bits est fait en assumant que le login n'autorise que des caractères présent sur une table ASCII de 127 caractères (note du traducteur: niveau sécurité c'est pas fifou).

    Cela répond-il à ta question ?

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 421
    Points : 0
    Points
    0
    Par défaut
    Merci beaucoup à ce moment là à quoi sert le réseau de neurone dans l’article ?
    Merci d’avance

  6. #6
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 133
    Points : 208
    Points
    208
    Par défaut
    L idée c'est de cacher le mot de passe par l algorithme d apprentissage. En effet, ce sont les poids qui seront stockés et non l équivalence login mot de passe comme on peut l'avoir sur une connexion traditionnelle

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 421
    Points : 0
    Points
    0
    Par défaut
    merci beaucoup mais dans les noeuds du reseau de nerone de l'article que stocke t'on je n'arrive pas a comprendre que l'input soit l'username et les noeuds c'est quoi

    merci d'avance comment tu representes l'équation avec les poids et que represente les xi

  8. #8
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 133
    Points : 208
    Points
    208
    Par défaut
    Ok, peut-être le mieux c'est que je t'explique tout ça de façon plus détaillée mais je te conseille d'aller regarder un cours que ce soit sur Developpez.net ou ailleurs, comme YouTube par exemple.

    La solution choisi ici pour vérifier la correspondance login/mot de passe se fait via un modèle réseau de neurones multicouches ayant un apprentissage par rétropropagation.

    Un réseau multicouches a donc une couche d'entrée, une ou plusieurs couches cachées et une couche de sortie.


    La couche d'entrée, on l'a vu précédemment, va contenir des 0 et des 1. un caractère d'une table ASCII de 127 caractères va se représenter sur 7bit, c'est à dire une suite de sept 0 et de 1. Table ASCII.
    Par exemple le a qui a pour numéro le 97 va être représenté comme ceci : 1100001.
    Pour simplifier imaginons que la taille maximum d'un login soit de 8 caractères. Nous aurons alors 56 neurones en entrée (7*8).
    Le login s2a07 serait alors représenté par la suite binaire suivante : 0000000 0000000 1110011 0110010 1100001 0110000 0110111.

    La couche de sortie aura une logique identique à celle de la couche d'entrée, on attend un certain nombre de 0 et de 1 et ça se traduit par un mot passe.
    L'idée c'est qu'en rentrant s2a07 comme login l'on obtienne le bon mot de passe en sortie. C'est l'apprentissage qui va permettre cela.
    Mais avant de s'intéresser à l'apprentissage il faut savoir comment l'on parcours un réseau de neurones.

    Les couches cachées il s'agit de neurones intermédiaires nécessaires au bon fonctionnement du réseau de neurones. Le nombre de couches cachées et le nombre de neurones par couche se détermine généralement empiriquement.

    Le parcours d'un réseau de neurones se fait des neurones de la couche d'entrée vers la couche de sortie en passant par les couches cachées.
    Chaque neurone d'une couche va etre relié (connexion) à tous les neurones de la couche suivante. Ainsi si la couche cachée attenante à la couche d'entrée contient 16 neurones, il y aura 204096 (56*16) connexions.
    Chaque connexion a un poids qui représente sa force qui va varier de 0 à 1.
    La valeur du premier neurone de la couche cachée va être calculée par la somme pondérée de toutes ses connexions avec la couche d'entrée, soit la valeur des 56 neurones d'entrée qui seront pondérés par le poids de la connexion (valeur d'entrée * poids) et toutes ses valeurs seront ajoutées les unes aux autres.
    Ce n'est pas fini, on applique ensuite une fonction mathématique sur ce résultat. Ce peut être une fonction de seuil (qui donnera soit 0 ou 1) ou alors une fonction sigmoïde (qui donnera une valeur flottante qui variera entre 0 et 1, ex: 0.48) ou autres.

    merci beaucoup mais dans les noeuds du reseau de nerone de l'article que stocke t'on je n'arrive pas a comprendre que l'input soit l'username et les noeuds c'est quoi
    Si tu avais indiqué la page je serais aller voir mais bon comme ça je te dirais qu'il s'agit des neurones.

    merci d'avance comment tu representes l'équation avec les poids et que represente les xi
    C'est donc la somme pondérée que tu recherches à laquelle on va ensuite appliquer une fonction dite d'activation (seuil, sigmoïde, etc.).
    xi ce sont les valeurs en entrées.

    Pour finir :

    Comme l'a mentionné dourouc05, lorsque l'on crée un réseau de neurones on applique des valeurs aléatoires aux poids. Ainsi, en donnant le login s2a07 on obtiendra un mot de passe aléatoire qui n'est pas le mot de passe souhaité. Pour résoudre cela, on applique un apprentissage sur ce réseau de neurones, ici ce sera la rétropropagation. Une fois l'apprentissage réalisé, on obtient donc le bon mot de passe.

    Je n'ai pas lu l'article en entier et je ne sais donc pas si il y a un apprentissage par couple ou un apprentissage pour tous les couples. Moi, en tant que développeur, je préférerais le premier cas. Je stockerai alors en base de données le login et les poids.

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 421
    Points : 0
    Points
    0
    Par défaut
    je tiens a te remercier infiniment pour ta disponibilité et ta clarté car je suis bloque depuis juillet et bravo encore pour ta clarte

  10. #10
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2023
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2023
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Aide Urgent
    Bonjour

    Y-a-t-il quelqu'un qui peut m'aider pour résoudre cet exercice:

    Exercice : Apprentissage d’un réseau XOR
    Le problème du XOR (“ou exclusif”) est le suivant : les points (−1, −1),(1, 1) sont considérés négatifs,
    les points (−1, 1),(1, −1) positifs.
    Q 1.1 Dessiner un réseau de neurone à 2 neurones cachés pour ces données. Enumérer quelques fonctions d’activations possibles. Lesquelles sont les plus judicieuses dans ce cas précis pour les différentes
    couches ?
    Q 1.2 Proposer des valeurs pour les poids du réseau. La solution est-elle unique ?
    Q 1.3 Même question pour un échiquier à 8 cases.

  11. #11
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 133
    Points : 208
    Points
    208
    Par défaut
    Salut,

    Je ne sais pas pour les autres utilisateurs mais perso je ne ferais pas l'exercice à ta place, par contre tu peux nous donner ta réflexion et on pourra t'aiguiller.

    A noter que tu peux faire un XOR comme ceci :

    A XOR B = (A OR B) AND (A NAND B)
    Où A serait ton premier input et B ton deuxième input, le résultat serait ton neurone de sortie.

    Si je comprend bien ton exercice, ton réseau de neurones multicouches devra reproduire cette formule en jouant sur les poids et en choisissant une fonction d'activation appropriée.

    Cdt,

  12. #12
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2023
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2023
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par lilalex Voir le message
    Salut,

    Je ne sais pas pour les autres utilisateurs mais perso je ne ferais pas l'exercice à ta place, par contre tu peux nous donner ta réflexion et on pourra t'aiguiller.

    A noter que tu peux faire un XOR comme ceci :

    A XOR B = (A OR B) AND (A NAND B)
    Où A serait ton premier input et B ton deuxième input, le résultat serait ton neurone de sortie.

    Si je comprend bien ton exercice, ton réseau de neurones multicouches devra reproduire cette formule en jouant sur les poids et en choisissant une fonction d'activation appropriée.

    Cdt,
    voilà ma proposition

    1-
    on a dessiné un réseau de neurones, qui a pour entrée x1 et x2
    deux couches cachées f et g
    une sortie a

    les poids sont:
    w11 entre x1 et f
    w12 entre x1 et g
    w21 entre x2 et f
    w22 entre x2 et g
    w31 entre f et a
    w32 entre g et a

    les fonctions d'activation possibles sont Relu, sigmoïde, linéaire, binaire.

    Les fonctions les plus judicieuses dans le cas de XOR sont la fonction linéaire ou la fonction binaire.

    2- fonction binaire :
    f(x1,x2) = 0 si a<0
    f(x1,x2) = 1 sinon


    or x1*w1 + x2*w2 +b
    on prend w11=-1
    w21=1
    b=0


    g(x1,x2) = 0 si a<0
    g(x1,x2) = 1 sinon

    w12=-1
    w12=1
    b=0


    h(f,g) =0 si a<0
    h(f,g) =1 sinon


    h(f,g) = w31*f + w32*g + b
    w31 =1
    w32 =1
    b= -2



    La solution n'est pas unique

  13. #13
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 133
    Points : 208
    Points
    208
    Par défaut
    En appliquant ta solution je ne trouve pas la fonction XOR. Je me suis peut-être trompé dans mes calculs ?

    XOR (attendu) :
    0 xor 0 = 0
    0 xor 1 = 1
    1 xor 0 = 1
    1 xor 1 = 0

    Somme pondéré sur f :
    x1 * w11 + x2 + w21 + b
    w11 = -1
    w21 = 1
    b = 0
    x1 * -1 + x2 * 1 + 0

    (0, 0) = 0 * -1 + 0 * 1 + 0 = 0 donc f(0, 0) = 1
    (0, 1) = 0 * -1 + 1 * 1 + 0 = 1 donc f(0, 1) = 1
    (1, 0) = 1 * -1 + 0 * 1 + 0 = -1 donc f(1, 0) = 0
    (1, 1) = 1 * -1 + 1 * 1 + 0 = 0 donc f(1, 1) = 1

    Somme pondéré sur g :
    x1 * w12 + x2 + w22 + b
    w11 = -1
    w21 = 1
    b = 0
    x1 * -1 + x2 * 1 + 0

    (0, 0) = 0 * -1 + 0 * 1 + 0 = 0 donc g(0, 0) = 1
    (0, 1) = 0 * -1 + 1 * 1 + 0 = 1 donc g(0, 1) = 1
    (1, 0) = 1 * -1 + 0 * 1 + 0 = -1 donc g(1, 0) = 0
    (1, 1) = 1 * -1 + 1 * 1 + 0 = 0 donc g(1, 1) = 1

    Somme pondéré sur h :
    x1 * w31 + x2 + w32 + b
    w11 = 1
    w21 = 1
    b = -2
    x1 * 1 + x2 * 1 - 2

    (1, 1) = 1 * 1 + 1 * 1 - 2 = 0 donc h(1, 1) = 1
    (1, 1) = 1 * 1 + 1 * 1 - 2 = 0 donc h(1, 1) = 1
    (0, 0) = 0 * 1 + 0 * 1 - 2 = -2 donc h(0, 0) = 0
    (1, 1) = 1 * 1 + 1 * 1 - 2 = 0 donc h(1, 1) = 1

    Comme tu le vois on ne retombe pas sur un XOR.
    L'idéal aurait donc été que f simule un OR, que g simule un NAND et que h simule un AND.

  14. #14
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2023
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2023
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Merci beaucoup, je vais corriger mon travail

  15. #15
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 133
    Points : 208
    Points
    208
    Par défaut
    Salut Mariem22

    Je n'arrive pas à comprendre ce qui est attendu concernant la question ci-dessous

    Q 1.3 Même question pour un échiquier à 8 cases.
    L'as tu comprise ?

  16. #16
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2023
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2023
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par lilalex Voir le message
    Salut Mariem22

    Je n'arrive pas à comprendre ce qui est attendu concernant la question ci-dessous



    L'as tu comprise ?



    Salut, moi aussi je n'ai pas bien compris mais je pense que ca sera un échiquier 8 cases, alors on a un réseau de neurones à 8 entrées ici

Discussions similaires

  1. Comment implémenter le réseau de neurones de l'article ?
    Par s2a07 dans le forum Bibliothèques d'apprentissage profond
    Réponses: 1
    Dernier message: 19/09/2022, 16h22
  2. Réseau de neurone - implémentation de XOR
    Par Poilonnais dans le forum Méthodes prédictives
    Réponses: 4
    Dernier message: 25/10/2014, 18h27
  3. Réseau de neurones fonction d'activation et implémentation
    Par pyknite dans le forum Méthodes prédictives
    Réponses: 1
    Dernier message: 25/03/2009, 13h05
  4. quel langage utiliser pour implémenter un réseau de neurone arificiel?
    Par ranianwayra dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 19/07/2008, 00h38
  5. Réseau de neurones - reconnaissance visage
    Par PrAbronsius dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 03/05/2006, 03h38

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