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 :

Les differents elements des reseaux neuronaux


Sujet :

Méthodes prédictives

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 49
    Points : 38
    Points
    38
    Par défaut Les differents elements des reseaux neuronaux
    Bonsoir à tous!
    Le titre n'est pas tres explicite mais bon je vais essayer de l'etre plus maintenant!

    Donc voila que je me mets au reseaux de neurones, et la je vois un exemple avec la fonction 'et' logique. Jusque la tout va bien la fonction 'et' a deux entrée et une sortie, idem pr le 'ou' mais le 'ou exclusif' par contre contient une couche cachée (ou hidden en anglais).

    La c'est le drame et donc ma premiere question est pourquoi cette couche ?!

    S'en suit ma deuxieme, imaginons que je veux faire un reseau reconnaissant des champignons ou des arbres, quel est le type dereseau de neurone que je dois choisir soit combien d'entrée, la valeur des poids etc comment les définir correctement? Comment savoir si j'ai une couche cachée?

    Merci d'avance pour vos réponses en nourissant mon cerveau de savoir !

  2. #2
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

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

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    La c'est le drame et donc ma premiere question est pourquoi cette couche ?!
    Un réseau de neuronne, il faut voir ça comme une découpe de l'espace d'entrée en hyperplan. (non ne pars pas, c'est très simple).

    Dessine sur une feuille les entrée de ton système (ie: tu places 4 points, (0,0) , (0,1) , (1,0) , (1,1) ).

    Avec un rdn simple, c'est à dire deux entrée et une sortie, ça revient (on peut le montrer simplement) que ça découpe ton espace d'entrée en deux espaces . En gros ça revient à découper ton espace d'entrée par une droite. A gauche de la droite tu as une sortie et à droite tu as l'autre valeur de sortie.

    Reprends maintenant l'exemple du XOR, essaie de découper l'espace d'entrée de façon à isoler les points pour lesquels le XOR vaut 0 d'un coté et 1 de l'autre. Tu ne pourras pas le faire (essaies tu verras).

    C'est pour ça qu'on rajoute une couche cachée. L'effet que ça fait, c'est que ça rajoute des droites pour découper l'espace, la sortie du réseau est alors donnée par une combinaison d'intersection de demi espaces (au dessus d'une droite puis au dessous de l'autre, ...)

    Si c'est pas clair dis le.

    soit combien d'entrée,
    Le nombre d'entrée est égal au nombre de descripteurs que tu as utilisé pour décrire les objets à classifier.

    la valeur des poids etc comment les définir correctement?
    L'apprentissage te permet de le faire.

    Comment savoir si j'ai une couche cachée?
    Si le problème est linairement séparable (ie tu peux découper l'espace d'entrée par une droite), aucune, sinon tu en rajoutes.

  3. #3
    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
    Par contre, y a-t-il un quelconque rapport entre le nombre d'intersections et le nombre de couches cachées ? Je n'ai rien vu à ce sujet, mais bon.

  4. #4
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

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

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    En fait plus ou moins, plus tu multiplies le nombre de couche caché, plus tu multiplies les combinaisons de découpe de l'espace d'entrée. (ca augmente le nombre d'hyperplan de découpe).

    On doit pouvoir simplement trouver le nombre de plan de découpe en fonction du nombre d'entrée, du nombre de neurone dans les couches cachée, ... . Ne m'étant pas plongé plus que ça dedans, je ne pourrais pas t'en dire plus.

  5. #5
    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
    Je verrai ça dans quelques temps, le temps que je maitrise un peu plus la théorie sous-jacente.

  6. #6
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

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

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    Je ne sais pas si ça fait parti de la théorie, c'est juste une interprétation qui aide à comprendre le fonctionnement du réseau.

  7. #7
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Le nombre de neurones dans la couche cachée reste un problème ouvert. Ca dépend vraiment de ce qu'on veut faire.
    Par exemple, on met le même nombre de neurones en entrée et en sortie, dans la couche cachée, on en met moins. Après, on entraîne le réseau pour que ce qu'on donne en entrée soit retranscrit à la sortie. On réalise une réduction de dimension de l'espace d'entrée.

    Il y a aussi l'utilisation de fonctions plus complexes comme sortie d'un neurone.

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 49
    Points : 38
    Points
    38
    Par défaut
    Tout d'abord merci pour vos réponses!
    J'avoue comprendre que très vaguement le coup des points et de la droite, malgré il me semble avoir vu ca sur une ressource du net!
    Par exemple si on prend en exemple le coup de la reconnaissance de champignons (qui pourrait servir a ma grand mere lors de sa cueillette )
    Le nombre d'entrée depend donc des criteres que l'on souhaite sur chaque champignon (par exemple couleur du champignon et forme du chapeau ca fait donc 2 entrées!).
    Après au niveau de l'entrainement de poids, comment les choisirs et les entrainer? Et evidemment faut il une couche cachée etant donnée que je n'ai pas compris l'histoire de la courbe :p

    Si vous avez un exemple plus simple et plus concret que ces champignons je suis aussi preneur!

    Merci pour votre patience !

  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 Matthieu Brucher Voir le message
    Le nombre de neurones dans la couche cachée reste un problème ouvert. Ca dépend vraiment de ce qu'on veut faire.
    Ca je savais, mais je parle du nombre de couches cachées, pas du nombre de neurones dans ces couches. Il doit bien y avoir un moyen d'avoir ne serait-ce qu'une inégalité... Car diviser de plus en plus complexifie la fonction que doit approcher le RdN, et il semble logique que le nombre de couches cachées augmentent... Enfin bon

  10. #10
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Une couche cachée suffit pour 99.9% des problèmes.
    Pour le problème de la réduction de dimensionalité, il en faut 3 dont la centrale qui donne la projection.

  11. #11
    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
    Ce dont tu parles est expliqué dans un bon article par exemple ?

  12. #12
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

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

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    Le nombre d'entrée depend donc des criteres que l'on souhaite sur chaque champignon (par exemple couleur du champignon et forme du chapeau ca fait donc 2 entrées!).
    C'est exactement ça.

    Après au niveau de l'entrainement de poids, comment les choisirs et les entrainer?
    En fait, les premiers poids sont généralement choisi au hasard et ensuite à partir d'une base d'apprentissage, tu fais évaluer les poids de façon à minimiser le nombre d'erreur (soit en avoir aucune). L'idée est simple : un expert a classifié correctement une série d'échantillons, tu les prend un par un et tu regardes ce que te renvoie le rdn, si ça n'est pas bon, il faut modifier les poids, sinon tu continues. Il y a plusieurs techniques, soit tu modifies les poids de ton réseau après chacun des échantillons, soit tu le fait après avoir passé tout tes échantillons (la deuxième méthode est plus efficace et robuste).

    Et evidemment faut il une couche cachée etant donnée que je n'ai pas compris l'histoire de la courbe :p
    Je savais que c'était pas clair . En fait, pour en revenir à l'histoire de la courbe, reprend le problème du ou exclusif. Places les points sur une feuille et essaie d'isoler ceux qui valent 1 et ceux qui valent 0.

    Grosso modo sur cet exemple tu devrais avoir ceci :

    On l'a dit (enfin c'est moi qui le dit ), un rdn, ça découpe ton espace par une droite (puisque la sortie du rdn à quelque chose près, c'est une somme de ai wi où ai sont les entrées et wi sont les poids associés. Une telle somme définie une droite). Ici, tu ne peux pas en traçant une droite découper l'espace en deux zone : celle qui contient que des 0 et celle qui contient des 1 (si tu y arrives, c'est que tu as plié la feuille de papier )

    Il faut donc rajouter des droites et aussi avoir une certaine orientation (pour faire simple tu peux dire au dessus ou au dessous de la droite). Avec plusieurs droites tu peux alors découper ton problème de façon à ce que tu puisse isoler les 0 et les 1.

    Ensuite, c'est un peu plus compliqué que ça puisque la fonction de transfert n'est pas toujours simple.

    Mais pour en revenir à ton problème de savoir s'il faut une couche caché, la réponse est très probablement. En effet je pense qu'il n'y a que de rare cas d'école où on puisse trouver une découpe par une seule droite (ou alors on s'autorise une marge d'erreur supplémentaire)

  13. #13
    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
    Une petite remarque : de simples RdN sans couche cachée qui représentent les fonctions AND, OR et NOT permettent grâce à des combinaisons de représenter des fonctions booléennes complexes.

  14. #14
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

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

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    Oui mais là c'est pas marrant

  15. #15
    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
    T'as raison, la classification sur des images, c'est plus "marrain"

  16. #16
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 49
    Points : 38
    Points
    38
    Par défaut
    Alors tout d'abord un grand merci! Tu éclaircis peu à peu la zone obscure de mon cerveau parlant des RdN :p
    J'ai un peu mieux compris l'histoire de la courbe et le reste aussi!
    J'ai juste une ptite derniere question (je sens que tu vas finir par me détester! )
    Quand tu dis
    L'idée est simple : un expert a classifié correctement une série d'échantillons, tu les prend un par un et tu regardes ce que te renvoie le rdn,
    , d'accord avec toi sur ca! Mais le poids est un chiffre en gros donc tu modifies ton poids suivant si ton RdN reconnait ou non le champignon par rapport au donnée d'un expert, mais le poids doit donc etre compris entre une valeur min et max, est ce compris entre [0,1]?

    Ah en fait j'avais aussi oublié une question, a quoi sert le bias?!

    Mici pour tout!

  17. #17
    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
    bonsoir

    j'ai une autre question sur les "bases des réseaux de neurones"

    les boucles (il y a un chemin en sortie d'un neurone qui retombe sur ce neurone) est-ce utilisé, est-ce que c'est utile ?
    sans rentrer dans les reflexions "clichées" mais je crois qu'il y en a des boucles dans le cerveau animal ?

  18. #18
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

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

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    les boucles (il y a un chemin en sortie d'un neurone qui retombe sur ce neurone) est-ce utilisé, est-ce que c'est utile ?
    En fait pas physiquement mais c'est en gros ce qui modélise l'apprentissage (le fait de connaître les sorties pour modifier les poids. Il y a peut-être des approches hybrides qui modélisent cette boucle, mais je ne les connais pas.

    mais le poids doit donc etre compris entre une valeur min et max, est ce compris entre [0,1]?
    A vrai dire, ça dépend du domaine des entrées. (mais il ne doit pas y avoir de bornes en théorie).

    Ah en fait j'avais aussi oublié une question, a quoi sert le bias?!
    Je suppose que c'est du seuil dont tu parles. Là c'est un peu plus compliqué à expliquer (je ne maîtrise pas tout non plus, les rdn ça n'est pas ma spécialité ) . Si tu veux, pour faire simple, (et pas forcément correct), ça permet de décaler l'hyperplan de découpe par rapport à l'origine. Si tu ne le prends pas en compte alors l'hyperplan de découpe passe par l'origine.

  19. #19
    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
    Personnellement j'ai bien compris le seuil quand j'ai vu les exemples des fonctions ET et OU. Le fait qu'il y ait 2 entrées facilite les choses, qui plus est.

    Lorsque tu veux approcher la fonction ET avec un RdN :
    Tu as 2 entrées. Les poids sont 1 et 1.
    Soit SEUIL le seuil.

    Il faut que : 1*e1 + 1*e2 >= SEUIL pour des entrées pour lesquelles nous voulons 1 en sortie.
    Et < SEUIL pour les entrées devant nous amener à un 0 en sortie.

    Prenons le cas où les deux entrées vallent 1. Alors on a 2 >= SEUIL.
    Prenons le cas où une entrée vaut 1 et l'autre 0. On obtient 1 < SEUIL
    Si l'on a 0.75 et 0.75, cela devra renvoyer 1. On obtient 1.5 >= SEUIL.

    Il s'avère que la modélisation sous forme de réseau de neurone de la fonction logique ET a la propriété suivante pour son neurone de sortie : son seuil est 1.5. Du moins, c'est le modèle classique. 1.500001 comme seuil renverrait sensiblement les mêmes résultats.


    Pour des réseaux de neurones plus complexes, les seuils deviennent bien plus abstraits. Cela dépend notamment du domaine dans lequel tu utilises les RdN.

  20. #20
    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
    je ne sais pas quelle est la formalisation mais en gros je dirais les boucles sont aux réseaux de neurones (le réseau de neurone n'est pas représenté par un arbre mais par un graphe) ce que les circuits séquentiels (les ordinateurs par exemple) sont aux circuits combinatoires

    je ne vois pas bien le rapport avec l'apprentissage (enfin si mais ce n'est pas de ça que je parle)

Discussions similaires

  1. les differents reseaux virtuels securisés.
    Par la boussole ekra dans le forum Protocoles
    Réponses: 4
    Dernier message: 17/07/2013, 22h28
  2. HQL - Restriction sur les elements des collections
    Par 17mounir dans le forum Hibernate
    Réponses: 1
    Dernier message: 04/02/2009, 18h22
  3. Tester si des listes contiennent les memes elements
    Par metalcoyote dans le forum Langage
    Réponses: 7
    Dernier message: 11/03/2008, 19h40
  4. Compter les differents element d'une table
    Par FlyByck dans le forum SQL
    Réponses: 1
    Dernier message: 10/12/2007, 09h17
  5. differents elements les 1 en dessous des autres
    Par hysah dans le forum AWT/Swing
    Réponses: 11
    Dernier message: 07/01/2006, 14h38

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