Neural networks, ou quand c'est vraiment un peu dur :o)
Affichage des résultats 1 à 10 sur 10

Neural networks, ou quand c'est vraiment un peu dur :o)



  1. #1
    invite17a570c1

    Neural networks, ou quand c'est vraiment un peu dur :o)


    ------

    Bonjour,

    J'ai commencé un petit livre très sympa : "Neural networks, theory and applications", de R.J. Mammone et Y. Zeevi, comme je ne connais pas énormément de choses en la matière...
    Et voilà la première question : qu'est-ce que les M-PLN (M-valued Probabilistic Logic Nodes)?

    Merci


    Cordialement,

    -----

  2. #2
    invite309928d4

    Re : Neural networks, ou quand c'est vraiment un peu dur :o)

    Bonjour,
    quelques éléments, en espérant ne pas dire trop de bêtises...

    > les "nodes" sont des noeuds du réseau de neurone, des éléments de calcul,

    > les PLN sont des nodes basés sur l'utilisation de la RAM ("RAM-based" pour les recherches Google). Au lieu d'utiliser un système de "poids" des connexions, ces systèmes fonctionnent selon la configuration d'adresses mémoire. Ici, l'input donne aux adresses mémoires 3 possibilités : 1 (correct), 0 (incorrect), u (indéterminé). L'état u correspond à une probabilité de 0,5 de faire un output 0 ou 1.

    > les MPLN sont comme les PLN sauf qu'on va au-delà des 3 valeurs (M pour "multivalued", logique multivaluée) avec une fonction probabiliste pour l'output

    3 références :
    Weigthless neural models : a review of current and past works
    Semantic Representations in a Weightless Neural Network,
    Combining neural network and fuzzy logic for applications in character recognition

  3. #3
    invite17a570c1

    Re : Neural networks, ou quand c'est vraiment un peu dur :o)

    Hey

    Merci, Bardamu! Je ne promets pas de ne pas reposer des questions sur ce sujet

    Du genre : peux-tu approfondir sur le "poids"?


    Cordialement,

  4. #4
    Philou67

    Re : Neural networks, ou quand c'est vraiment un peu dur :o)

    Dans les réseaux classiques de ma jeunesse (il y a 20 ans), les réseaux de neurones étaient constitués de :
    - neurones : un élément de calcul avec une fonction de transfert (calcul d'une sortie à partir d'une entrée), souvent une fonction logarithmique
    - des connexions entre neurones : chaque liaison sort d'un neurone pour aller dans un autre et possède un "poids" (si nul, signifie qu'il n'y a pas de connexion).
    L'entrée de la fonction de transfert du neurone prend pour valeur la somme des produits des poids par les sorties des neurones. Souvent, on normalise cette valeur d'entrée (entre 0 et 1 par exemple).
    Le but, dans ces réseaux de neurone, est de calculer les poids optimaux.
    :'( Plus j'apprends, et plus je mesure mon ignorance

  5. A voir en vidéo sur Futura
  6. #5
    invite17a570c1

    Re : Neural networks, ou quand c'est vraiment un peu dur :o)

    Hello,

    Merci, Philou Donc, ce qui pour moi était une sortie de couche s'appelle "poids" et il est associé à chaque synapse, si j'ai bien suivi.

    Mais j'ai d'autres questions : qu'est que le sur-apprentissage? J'ai cru comprendre que c'est lorsqu'il s'agit de gérer plusieurs données (beaucoup trop), une espèce de saturation en données...? (Je n'ai pas encore le vocabulaire pour m'exprimer, désolée ).
    Puis, qu'est-ce que la rétropropagation du gradient de l’erreur? Si je regarde le mot "rétropropagation", cela signifierait que chaque synapse agirait sur elle-même, ce qui voudrait dire qu'elle influencerait son poids à la sortie suivante...? En revanche, le gradient de l'erreur... Là, je nage un peu (du plus concentré vers le moins conctentré ou inversement, j'en sais rien... )...


    Cordialement,

  7. #6
    Philou67

    Re : Neural networks, ou quand c'est vraiment un peu dur :o)

    De ce que je comprends de ce que tu racontes (non, c'est pas une histoire ), tu parles de perceptron ou de réseau en couches. Ce type de réseau primitif organise les neurones en couches successives, dont chaque neurone est connecté à chaque neurone de la couche précédente et de la couche suivante.
    Cette représentation du réseau de neurone est différente de celle d'une réseau maillé ou chaque neurone est connecté à chaque autre neurone du réseau.

    Donc en gros, la première couche sert de couche d'entrée : ce sont des neurones sur lesquels on applique la modèle à apprendre (une liste d'éléments à classifier par exemple).
    La couche de sortie représente les neurones de classification des éléments du modèle à apprendre.

    L'apprentissage est réalisé par une boucle dont la fin est déterminée par une erreur résiduelle d'apprentissage déterminée.
    Une boucle d'apprentissage s'opère ainsi :
    - pour tous les éléments du modèle :
    + propagation de l'élément : on applique en entrée l'élément et on mesure l'erreur en sortie
    + retro-propagation de l'erreur : on adapte les poids pour minimiser l'erreur en sortie (par le biais de la résolution d'un ou plusieurs systèmes d'équations différentielles)

    Cette boucle est répétée jusqu'à ce que les poids convergent vers une solution qui permet de minimiser la somme des erreurs pour tous les éléments du modèle à classifier.

    J'espère avoir été clair, et ne pas avoir dit trop de bêtises (c'est vieux pour moi). Dans l'étude que j'avais fait en 1989 sur les réseaux en couches, j'avais observé que la correction de l'erreur lors de la rétro-propagation devait être modulée pour obtenir une convergence des poids plus rapide et un meilleur apprentissage (par modulé je veux dire partielle, c'est à dire qu'on accepte de ne pas corriger la totalité de l'erreur).
    :'( Plus j'apprends, et plus je mesure mon ignorance

  8. #7
    invite17a570c1

    Re : Neural networks, ou quand c'est vraiment un peu dur :o)

    Hey, merci Philou!

    Citation Envoyé par Philou67 Voir le message
    De ce que je comprends de ce que tu racontes (non, c'est pas une histoire ), tu parles de perceptron ou de réseau en couches. Ce type de réseau primitif organise les neurones en couches successives, dont chaque neurone est connecté à chaque neurone de la couche précédente et de la couche suivante.
    Non, ce n'était pas une histoire Oui, tu as compris ce que je voulais dire, malgré le fait que je ne connaisse pas le mot "perceptron"


    Cette représentation du réseau de neurone est différente de celle d'une réseau maillé ou chaque neurone est connecté à chaque autre neurone du réseau.
    Oui, je m'en suis rendue compte, mais je préfère aborder les choses dès le début pour comprendre l'évolution



    L'apprentissage est réalisé par une boucle dont la fin est déterminée par une erreur résiduelle d'apprentissage déterminée.
    Comment est déterminée cette erreur justement?



    + retro-propagation de l'erreur : on adapte les poids pour minimiser l'erreur en sortie (par le biais de la résolution d'un ou plusieurs systèmes d'équations différentielles)
    Gniii, comment j'avais tout faux sur la rétropropagation


    J'espère avoir été clair, et ne pas avoir dit trop de bêtises (c'est vieux pour moi). Dans l'étude que j'avais fait en 1989 sur les réseaux en couches, j'avais observé que la correction de l'erreur lors de la rétro-propagation devait être modulée pour obtenir une convergence des poids plus rapide et un meilleur apprentissage (par modulé je veux dire partielle, c'est à dire qu'on accepte de ne pas corriger la totalité de l'erreur).
    Oui, tu as été très clair!
    Peux-tu expliciter un peu plus sur cette modulation?


    Cordialement,

  9. #8
    GrisBleu

    Re : Neural networks, ou quand c'est vraiment un peu dur :o)

    Salut

    le sur apprentissage est le truc qui, d apres moi, a tue les reseaux de neurones.
    Un reseaux de neurones classiques est decrit par un grpah, des biais et un ensemble de poids. Une fois des donnees recues, il y a une boucle pour minimiser l erreur entre ce que predit le reseau et ce qui est mesure.

    1) Manque de bol, cette erreur n est pas convexe: il n y a aucune chance de trouver le minimum, juste des minima locaux. Donc il faut boucler un paquet de fois, jouer avec les retro propagations (la modulation dont doit parler Philou67), mettre beaucoup d heuristique etc.

    2) Si ton erreur est une "vraie" erreure (du bruit a la mesure), ton reseau va sur apprendre: il va trop se specialiser sur tes donnees et, en gros, va apprendre le bruit. A prochain jeux de donnees, tu verras que ton reseaux aura tout faux.

    3) Le probleme majeure des des reseaux de neurones, c est que le nombres de parametres a regler est enorme. Les problemes 1 et 2 sont deja existants dans tous les pb d optimisations non lineaires mais ils sont amplifies par la dimensionnalites des reseaux de neurones...

    Pour conclure, les reseaux de neurones ont ete tres en vogues dans les anneees 89/90/91 (voir le nombre de papiers) puis, comme un souffle, c est retombes. Le probleme du sur apprenttissage y est pour beaucoup. Autre issue: combien de neurones, combien de couches, etc. rien sinon du pifometre ne te le dira. La majorite des reseaux actuels sont hyper specialises pour un petit domaine et ne saureint se generaliser.

    Pour voir comment depasser ces problemes, il y a eu en 1995 un papier qui analyse tout ca de Vapnik sur l apprentissage avec une des solutions possibles: les SVM. regarde tout ce qui est apprentissage par noyaux, c est pas mal non plus

    ++
    inversion de nom corrigée / Bardamu

  10. #9
    Philou67

    Re : Neural networks, ou quand c'est vraiment un peu dur :o)

    Citation Envoyé par MaliciaR Voir le message
    Non, ce n'était pas une histoire Oui, tu as compris ce que je voulais dire, malgré le fait que je ne connaisse pas le mot "perceptron"
    Perceptron : réseau de neurone en couche à une couche.
    Citation Envoyé par MaliciaR Voir le message
    Comment est déterminée cette erreur justement?
    Généralement, on prend la valeur absolue de la différence, ou mieux, son carré.
    Citation Envoyé par MaliciaR Voir le message
    Oui, tu as été très clair!
    Peux-tu expliciter un peu plus sur cette modulation?
    Citation Envoyé par wlad_von_tokyo Voir le message
    Donc il faut boucler un paquet de fois, jouer avec les retro propagations (la modulation dont doit parler Philou67), mettre beaucoup d heuristique etc.
    Oui, la modulation est une sorte d'euristique effectivement. L'étude que j'avais faite (effectivement en 1989) avait été réalisée sur des données marketing, avec différents paramétrages.

    Le paramétrage des réseaux de ce type est effectivement très complexe car il existe une combinatoire quasi infinie :
    - nombre de couche
    - répartition des neurones dans chaque couche
    - fonction de transfert des neurones
    - modélisation des données d'entrée et de sortie
    Chaque paramètre joue sur la convergence du réseau et sur sa capacité d'apprentissage.
    :'( Plus j'apprends, et plus je mesure mon ignorance

  11. #10
    invite309928d4

    Re : Neural networks, ou quand c'est vraiment un peu dur :o)

    Citation Envoyé par wlad_von_tokyo Voir le message
    (...)
    Pour voir comment depasser ces problemes, il y a eu en 1995 un papier qui analyse tout ca de Vapnik sur l apprentissage avec une des solutions possibles: les SVM.
    Juste en passant : un papier qui explique le truc (format .ps) .
    (le même en version texte via google).

Discussions similaires

  1. c'est vraiment un devoir très abstrait...
    Par invite720ac287 dans le forum Mathématiques du supérieur
    Réponses: 17
    Dernier message: 17/01/2007, 09h24
  2. le comble des mails infectés c'est quand c'est sa propre adresse
    Par invite8832ae39 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 3
    Dernier message: 08/07/2006, 23h19
  3. Prepa / Fac y en a t'il vraiment un plus dur?
    Par invite13dd806f dans le forum Orientation après le BAC
    Réponses: 18
    Dernier message: 20/09/2005, 20h24
  4. Un exo vraiment dur (je crois)
    Par invitea3eb043e dans le forum Mathématiques du supérieur
    Réponses: 11
    Dernier message: 24/01/2005, 13h46