Répondre à la discussion
Affichage des résultats 1 à 23 sur 23

Fonctionnement réel d'un neurone



  1. #1
    invite36602837

    Fonctionnement réel d'un neurone

    Bonjour à vous,

    Dans le but de créer un simulateur de réseau de neurones, j'ai besoin de savoir exactement comment fonctionne un neurone, que l'on va appeler N1. Il y a quelques années, déjà, j'avais participé a une discution très animé mais très interessante sur l'IA dans le forum philosophie (aujourd'hui fermé malheureusement) et nous avions mis le doigt sur un problème de concept.

    je precise que mon propos n'est pas de faire une discution sur l'IA n'y sur comment programmer un réseau de neurone, et encore moins de savoir lors de cette discution qui avait raison ou pas.

    Mais je revient tout de meme sur ce point. Pour faire court, je considérait un neurone comme un systeme binaire, un interrupteur biologique et je le comparait au transistor. L'un des intervenant m'avais fait la remarque qu'un neurone ne fonctionne pas comme cela (et j'en suis parfaitement conscient), mais d'une facon probabiliste. Loin de moi l'idée de remettre en question les decouvertes en neuro-biologie, mais j'ai besoin de savoir exactement l'impact d'un fonctionnement probabiliste comparer a un fonctionnement binaire.

    J'en revient au propos de la discution sur l'IA. Selon moi, l'élement determinant pour comprendre l'intelligence, biologique ou artificiel, passe d'abord par la comprehension du support de l'intelligence. En tant qu'informaticien de gestion (programmeur durant mes loisirs), je connais assez bien le fonctionnement de l'electronique numérique (booléenne). Dans un ordinateur, l'élement actif est le transistor et il ne peut prendre que 2 état : ouvert/fermer (0/1). En tant qu'informaticien, j'avais assimilé un neurone (du point de vue conceptuel) a un transistor. Dans ce modèle (qui est personnel), le neurone prend lui aussi 2 état : excité/au repos.

    Mon interlocuteur m'as fait remarquer que le neurone n'est pas binaire, mais probabiliste. J'ai donc besoin de savoir ou se situe ce phénomène probabiliste ainsi que son impact sur le passage d'un signal d'un neurone a l'autre.

    En gros, je comprend par "probabiliste" qu'un neurone N1 a une probabilité P de transmettre le signal qu'il recoit sur ces dendrite (si je ne me trompe pas de terme) aux synapse et donc de transmettre l'influx nerveux aux neurones suivant, Nx. Mais je n'en suis pas du tout sur. Car si un neurone a une probabilité P de transmettre le signal, du point de vue du neurone suivant Nx(celui a qui on transmet l'influx nerveux), le neurone N1 est excité ou pas excité, ce qui revient a considéré le neurone N1 comme un systeme binaire, meme si N1 n'est pas un simple interrupteur, mais un ensemble biologique qui dépend fortement de l'etat de ses dendrides. En d'autre terme, ce qui est probabiliste, c'est le passage de l'etat "au repos" a l'etat " excité" (contrairement au transistor qui dépend uniquement d'une tension de seuil, qui est determinée)

    Je peux faire une autre analogie avec la physique quantique, ou les particules isolé sont dans une superposition d'etat mais qui suite a l'interaction avec l'environnement (telle qu'une mesure) passe dans un etat determiné (c'est le problème de la décoherence). Appliquer au neurone, cela revient a dire que le neurone N1 est dans une superposition d'etat qui dépend de l'etat des drendrides, genre plus il y a de dendride excité, plus le neurone aura la probabilité de passer dans l'etat excité. D'ou un comportement probabiliste puisque l'etat des dendride ne peut pas etre determiné avec précision (dans l'absolu on pourrait, mais quant on sais qu'1 neurone est connecté a 10'000 neurones, cela revient a chercher une aiguille dans une botte de foin, d'ou une modelisation probabiliste)

    J'en viens a ma vrai question : est-ce que cette conception personnelle est erroné ou est-elle relativement correct ? Il s'agit bien d'une conception personnel et non pas d'une theorie sur la neuro-biologie

    Dans le cas ou elle est érronée, ou ce situe l'erreur de comprehension ?

    -----

    underinet, l'information appartient à l'humanité

  2. Publicité
  3. #2
    Saint-Sandouz

    Re : Fonctionnement réel d'un neurone

    Citation Envoyé par uinet_propane Voir le message
    Mais je revient tout de meme sur ce point. Pour faire court, je considérait un neurone comme un systeme binaire, un interrupteur biologique et je le comparait au transistor. L'un des intervenant m'avais fait la remarque qu'un neurone ne fonctionne pas comme cela (et j'en suis parfaitement conscient), mais d'une facon probabiliste. Loin de moi l'idée de remettre en question les decouvertes en neuro-biologie, mais j'ai besoin de savoir exactement l'impact d'un fonctionnement probabiliste comparer a un fonctionnement binaire.

    J'en revient au propos de la discution sur l'IA. Selon moi, l'élement determinant pour comprendre l'intelligence, biologique ou artificiel, passe d'abord par la comprehension du support de l'intelligence. En tant qu'informaticien de gestion (programmeur durant mes loisirs), je connais assez bien le fonctionnement de l'electronique numérique (booléenne). Dans un ordinateur, l'élement actif est le transistor et il ne peut prendre que 2 état : ouvert/fermer (0/1). En tant qu'informaticien, j'avais assimilé un neurone (du point de vue conceptuel) a un transistor. Dans ce modèle (qui est personnel), le neurone prend lui aussi 2 état : excité/au repos.

    Mon interlocuteur m'as fait remarquer que le neurone n'est pas binaire, mais probabiliste. J'ai donc besoin de savoir ou se situe ce phénomène probabiliste ainsi que son impact sur le passage d'un signal d'un neurone a l'autre.

    […]

    J'en viens a ma vrai question : est-ce que cette conception personnelle est erroné ou est-elle relativement correct ? Il s'agit bien d'une conception personnel et non pas d'une theorie sur la neuro-biologie

    Dans le cas ou elle est érronée, ou ce situe l'erreur de comprehension ?
    Ta conception a toutes les chances d’être erronée dans la mesure où il n’y a pas encore de réponse certaine à ta question. On sait en gros comment fonctionne un neurone : le signal commence aux dendrites, passe par le corps, ou ne passe pas, puis dans l’axone, puis dans ses ramifications et enfin dans les synapses.
    Le problème commence par le fait qu’un neurone peut avoir entre 1 et 100.000 connexions (on évalue la moyenne à 50.000). On n’a donc pas un « passage d'un signal d'un neurone a l'autre » mais bien souvent de dizaines de milliers de neurones à des dizaines de milliers d’autres. On est très loin d’avoir pu cartographier tout ça.
    De plus les différents types de neurones ne fonctionnent pas tous de la même façon. Certains sont parcourus par des ondes lorsqu’ils sont au repos. Enfin un même neurone peut transporter différents types d’ondes.

    On est très très loin de l’électronique booléenne ou même quantique.

    ND
    Travailler dur n'a jamais tué personne, mais je préfère ne pas prendre de risques.

  4. #3
    clementdousset

    Re : Fonctionnement réel d'un neurone

    L'excitation d'un neurone est en fait marquée essentiellement par l'oscillation de sa membrane liée au rythme des polarisations et dépolarisations successives. Cette oscillation varie en fréquence. Elle est ou non en phase avec l'oscillation d'autres neurones excités concommitamment. Donc dire que le neurone ne peut connaître que deux états: l'excitation ou le sommeil, c'est en parler de façon tout à fait réductrice. Il semble bien maintenant que l'étude longtemps limitée à l'algorithme d'interactions où le neurone était effectivement considéré comme un générateur à réponse binaire s'oriente vers une étude des fréquences et des phases de neurones individuels ou de groupes de neurones. Pour ma part, j'ai déjà souligné dans plusieurs interventions l'intérêt que cette étude pourrait avoir pour départager diverses théories sur la conscience.

  5. #4
    Jiav

    Re : Fonctionnement réel d'un neurone

    Citation Envoyé par uinet_propane Voir le message
    J'en viens a ma vrai question : est-ce que cette conception personnelle est erroné ou est-elle relativement correct ?
    Un modèle est toujours un modèle. Un modèle de neurone, c'est jamais un vrai neurone. Un modèle de transistor, c'est jamais un vrai transistor. En l'occurrence un vrai transistor n'est pas un truc binaire: tu as toujours un pouillème de voltage en plus ou en moins.

    C'est généralement pas grave parce que l'erreur que tu fais en pensant que c'est binaire est trop petite pour faire une différence dans le comportement attendu de ton tas de transistor. C'est donc bien sur ce critère que tu vas savoir si ton modèle est une approximation suffisamment correcte de la réalité.

    Si ton modèle te conduit à des simulations dont le comportement reflète une propriété des comportements des "vrai réseaux de neurone", alors ton modèle capture les éléments essentiels à une façon de faire émerger cette propriété (avec le bémol que ce n'est pas nécessairement la seule façon). A l'inverse, s'il y a une propriété intéressante qui ne se retrouve pas dans ton modèle alors il y a quelque chose d'important qui manque.
    L'été vient.

  6. #5
    invite36602837

    Re : Fonctionnement réel d'un neurone

    Très interessante toute vos réponse. J'arrive un peu mieux a comprendre le fonctionnement du neurone lui meme, meme si j'ai encore de la peine a tout comprendre.

    Pour savoir si ma conception n'est pas trop erroné, il me reste plus qu'a coder mon simulateur et voir si ce que je simule correspond plus ou moins a la réalité, tout en sachant que ce n'est qu'un modele et pas la realité.

    A d'en 5 ans, quant j'aurais codé mon simulateur
    underinet, l'information appartient à l'humanité

  7. A voir en vidéo sur Futura
  8. #6
    caribou.volant

    Re : Fonctionnement réel d'un neurone

    Citation Envoyé par uinet_propane Voir le message
    Très interessante toute vos réponse. J'arrive un peu mieux a comprendre le fonctionnement du neurone lui meme, meme si j'ai encore de la peine a tout comprendre.

    Pour savoir si ma conception n'est pas trop erroné, il me reste plus qu'a coder mon simulateur et voir si ce que je simule correspond plus ou moins a la réalité, tout en sachant que ce n'est qu'un modele et pas la realité.

    A d'en 5 ans, quant j'aurais codé mon simulateur
    Coucou, connais-tu la phylogénèse du système nerveux, qui montre comment s'est complexifié le cerveau d'espèce en espèce.

    Penses-tu déjà que tu pourrais reproduire le modéle simple d'un épithélioneuriens : ces animaux ont un systéme non centralisé, les neurones ne sont pas regroupés mais dispersés dans l'ensemble de l'épithélium de l'animal ( méduse, anémone de mer etc. ) .

    La majorité des neurones se rétractent lorqu'on les touche. Ces animaux apparaissent très tôt dans l'évolution, ils ne possédent pas de symétrie et ont un orifice pas de bilarité.

    Etant donné qu'il s'agit du premier type de système nerveux, le plus simple, et que d'un point de vue émergentiste, la complexité de notre cerveau d'Homme s'est appuyé dessus pour servir "l'intelligence" ou "la conscience", est-ce que l'étude de l'IA à partir de ce type d'animaux peut t'avancer pour répondre à ce difficile probléme de la science ?

    Après les épithélioneuriens, les hyponeuriens succédent : les neurones sont centralisés et forment des paquets ( ganglions) On vit ça chez les invertébrés ( annélides, ver de terre animaux à anneaux, et molusques et les arthropodes) avec un système nerveux ventral.

    Puis on a les épineuriens :nous entre autres les vertébrés avec un système nerveux qui se trouve sur la face dorsale et est composé de cavités, et qui s'est composé plus tard dans l'évolution d'une corde ( qui maintient la moelle épinière ) , avec une même organisation du système nerveux.

    Voilà j'espère t'avoir aidé !
    Karine

  9. Publicité
  10. #7
    invite36602837

    Re : Fonctionnement réel d'un neurone

    Citation Envoyé par caribou.volant Voir le message
    Voilà j'espère t'avoir aidé !
    Karine
    Oui, et tu pourra pt etre m'aider encore, ainsi que les autres.

    J'ai besoin d'avoir des approfondissements, et comme vous paraissez maitrisé le sujet et etre ouvert a la discution (ce n'est pas un débat a proprement parler), j'en profite.

    D'abord, je vais récapituler mes connaissances très basique sur le neurone. c'est une récapitulation de MES connaissance, pas un modele ou une théorie ou quoi que se soit d'autre, donc svp ne me prenez pas pour un pseudo-scientifique, je ne suis même pas ingénieur.

    Le neurone possède :

    - des dendride : element recepteur "connecté" a plusieurs milliers de synapses.
    - 1 corps cellulaire : contient la machinerie cellulaire (Noyau, ADN, mitochondrie, etc...)
    - 1 axione : une sorte d'antenne ou de queue d'ou partent ...
    - des milliers de synapses : element emetteur, "connecté" individuellement a un autre neurone.

    Le neurone est une cellule qui possède un noyau et un ADN et est donc un systeme vivant qui a besoin d'énergie et qui génère des dechets. Comme toute cellule, il tente de se maintenir dans un etat d'homeostasie.

    Le neurone est aussi un systeme bioelectrique qui repose sur l'electricité statique (par opposition a l'electricité continue ou alternative). Son aspect "électrique" est dû à des ions, en particulier Calcium (Ca) et Potassium (K) (ne me demandez pas lequel est le cation/l'anion, je sais plus). Ses ions se deplace continuellement entre l'interieur du neurone et l'environnement exterieur (le liquide céphalo-rachidien dans le cas de l'etre humain) en passant par des pompes a proton, et ce mouvement provoque une oscillation de la membre.

    Le neurone communique avec les autres neurones en émettant (ou recevant) des neuro-transmetteurs. Ces neuro-transmetteurs (NT) se fixe sur les recepteurs des dendrides et déclenche un processus biochimique qui provoque une réponse du neurone sur ses synapse (ou l'absence de réponse active, ce qui est tout de même une réponse "fonctionnelle").

    Qu'en au systeme nerveux (quelque soit son degré de complexité, cf msg de caribou.volant), il est constitué de capteur sensoriel (les sens, dans le sens "cellules sensible à l'environnement exterieur et/ou interieur"), de nerfs (les "autoroutes de l'information" biologique), des neurones qui forme un réseau (plus ou moins centralisé) et "d'actionneur" biologiques (les muscles ou des cellules spéciale qui réagissent a un signal bioelectrique en liberant des hormones).

    Je croit que j'ai fais le tour, général, de tout les aspect d'un systeme nerveux et du neurone (element caractéristique d'un systeme nerveux).

    Je vais continuer sur un autre post pour lancer une serie de question/réponse, donc svp, essayez "d'attendre" le msg suivant avant de poster une réponse. Ca serais sympa .
    underinet, l'information appartient à l'humanité

  11. #8
    Saint-Sandouz

    Re : Fonctionnement réel d'un neurone

    Ton résumé présente un certain nombre d’imprécisions et de confusions. Ce serait trop long de tout reprendre. Tu devrais préciser et approfondir tout ça à bonne source.
    Par exemple :
    http://fr.wikipedia.org/wiki/Système_nerveux
    http://fr.wikipedia.org/wiki/Neurone
    http://fr.wikipedia.org/wiki/Cerveau
    http://fr.wikipedia.org/wiki/Théorie_du_neurone
    Pour commencer.
    Bonne lecture

    ND
    Travailler dur n'a jamais tué personne, mais je préfère ne pas prendre de risques.

  12. #9
    invite36602837

    Re : Fonctionnement réel d'un neurone

    En fait, je croit que je prefere savoir si mes connaissances sont correct avant de me lancer dans des questions alors que je suis pas sur que mes bases soit correcct. Comme le dit ND
    underinet, l'information appartient à l'humanité

  13. #10
    Saint-Sandouz

    Re : Fonctionnement réel d'un neurone

    Citation Envoyé par uinet_propane Voir le message
    En fait, je croit que je prefere savoir si mes connaissances sont correct avant de me lancer dans des questions alors que je suis pas sur que mes bases soit correcct. Comme le dit ND
    Etudie bien les bases.
    Pour ta simulation, je ne pense pas qu'elle puisse se réaliser avec un hardware. Le fonctionnement des circuits électroniques a des contraintes trop différentes.
    Il me semble que c'est plutôt par programmation qu'il y aurait la souplesse nécessaire. Je ne sais d'ailleurs pas ce qui a été fait à ce jour.

    ND
    Travailler dur n'a jamais tué personne, mais je préfère ne pas prendre de risques.

  14. #11
    invite36602837

    Re : Fonctionnement réel d'un neurone

    Citation Envoyé par Nicolas Daum Voir le message
    Etudie bien les bases.
    Pour ta simulation, je ne pense pas qu'elle puisse se réaliser avec un hardware. Le fonctionnement des circuits électroniques a des contraintes trop différentes.
    Entiérement d'accord avec toi. L'electronique ne permet pas de simuler "physiquement" un neurone et encore moins un réseau de neurone.

    Citation Envoyé par Nicolas Daum Voir le message
    Il me semble que c'est plutôt par programmation qu'il y aurait la souplesse nécessaire. Je ne sais d'ailleurs pas ce qui a été fait à ce jour.
    A ma connaissance, les programmes qui ont été fait jusqu'a maintenant sont des réseaux de neurones probabiliste (selon mes derniers souvenir). Certe, ces réseaux arrivent a des résultats très interessant, comme la capacité a reconnaitre des visages ou interpreté des signaux cerebraux (controle d'un ordinateur par la pensée) mais de mon point de vue, je pense que ce genre de réseau est loin de simuler la réalité. Parce que pour moi un neurone n'est pas probabiliste, mais deterministe (et pas binaire, je l'ai bien compris ). J'arrive pas a imaginé mon cerveau comme qqch de probabiliste, simplement de tellement complexe qu'il est plus efficace de simuler cela en utilisant les probabilité que de créer un systeme deterministre mais chaotique (c'est totalement idiot ce que je viens de dire, incohérent, mais je trouve pas mieux pour exprimer ce que je veux dire)

    Mais lors du débat sur l'IA, on reproche souvent aux ordinateurs d'etre trop "binaire", trop determiné et que ceci impose des limites. Je pense justement le contraire. Je pense que l'ordinateur est capable d'etre programmé pour simulé un "cerveau" virtuel. Certe, le code reste booléen mais le resultat lui ne l'ai plus.

    Mon idée consiste donc a créer une sorte de "machine virtuelle" qui repose n'ont pas sur un calcul mathématique mais plutot sur un schema spatial et c'est ce schema (ou réseau) qui forme le support du futur programme "IA".

    Mais pour y arrivé, je doit créer un neurone virtuel parfait (parce que c'est un modele et pas un neurone reel) puis connecté un maximum de ces neurone virtuel en un réseau spatial qui ensuite permet de "coder" spatialement une sorte d'IA.

    Je sais pas si c'est très clair.
    underinet, l'information appartient à l'humanité

  15. #12
    invite765732342432
    Invité

    Re : Fonctionnement réel d'un neurone

    Citation Envoyé par uinet_propane Voir le message
    Mais pour y arrivé, je doit créer un neurone virtuel parfait (parce que c'est un modele et pas un neurone reel) puis connecté un maximum de ces neurone virtuel en un réseau spatial qui ensuite permet de "coder" spatialement une sorte d'IA.
    Même en supposant que tu dispose d'un modèle parfait de neurone, il est à peu près impossible que tu arrives à réaliser un réseau de neurones comparables à un cerveau.

    Je m'explique: l'immense avantage du biologique face au numérique, c'est la simultanéité.
    Dans un cerveau, tous les neurones fonctionnent en même temps.
    Dans un ordinateur, tu peux au mieux avoir autant de fonctionnements simultanés que tu as de processeur (ou de coeur) soit 8 pour les meilleurs PC actuels.
    Tu peux éventuellement utiliser des processus séparés, mais c'est une solution de très mauvaise qualité, bien loin de retracer la véritable simultanéité (sans compter les limites en nombre de processus sur les systèmes courants)

    Ta seule chance éventuelle serait de voir avec un OS spécialisé dans le temps réel... mais même avec ça, ça me semble impossible

  16. Publicité
  17. #13
    invite36602837

    Re : Fonctionnement réel d'un neurone

    Citation Envoyé par Faith Voir le message
    Je m'explique: l'immense avantage du biologique face au numérique, c'est la simultanéité.
    Je suis d'accord avec toi sur le fait que le cerveau est massivement parallele et que le PC est simplement sequencielle. Mais si un cerveau fonctionne a 100Hz et qu'un PC fonctionne a 2GHz (2 milliard de cycle par seconde), la différence permet de simuler le parallelisme.

    Ce que je veux dire, c'est que si je part du principe que mon réseau de neurone fonctionne a 100Hz (donc 1 cycle toute les 10 ms), j'ai 9,999ms pour effectué les operation en mode sequencielle alors qu'en realité elles se font en parallele.

    Et a 2Ghz, 10 ms c'est presque l'eternité. Ca représente 20 millions de cycle informatique par ms, donc si mon simulateur necessite moins de 200 millions de cycle pour effectué la simulation (l'execution du code complet s'effectue en moins de 200 millions de cycle), je suis très proche de la réalité, meme si l'execution se fait sequenciellement. Proche de la réalité dans le sens ou la totalité du réseau est calculer dans ce laps de temps de 10ms. Au final, le réseau est totalement recalculer en 10ms, ce qui fait que du point de vue du réseau, il fonctionne bien a 100Hz (un cycle complet tous les 10 ms).
    underinet, l'information appartient à l'humanité

  18. #14
    invite765732342432
    Invité

    Re : Fonctionnement réel d'un neurone

    Citation Envoyé par uinet_propane Voir le message
    Ce que je veux dire, c'est que si je part du principe que mon réseau de neurone fonctionne a 100Hz (donc 1 cycle toute les 10 ms), j'ai 9,999ms pour effectué les operation en mode sequencielle alors qu'en realité elles se font en parallele.
    Qu'est-ce qu'un cycle quand on parle de cerveau ? Combien de cycles informatiques représentent un cycle biologique ?

    Et a 2Ghz, 10 ms c'est presque l'eternité. Ca représente 20 millions de cycle informatique par ms
    Pour te donner une idée: je suis en train de travailler à un mini monde de 360.000 cases. Chaque case n'utilise que les informations de ses 4 voisines pour évoluer (rien par rapport à un cerveau).
    Pour le moment, il me faut 1000s pour faire évoluer toutes les cases de 5000 cycles. Alors qu'il n'y a quasiment aucun calcul: quelques additions/soustractions, très peu de multiplication et aucune division (les division étant extrêmement coûteuses en temps de calcul)

    Combien de calculs nécessite l'évolution d'un neurone ?

    , donc si mon simulateur necessite moins de 200 millions de cycle pour effectué la simulation (l'execution du code complet s'effectue en moins de 200 millions de cycle), je suis très proche de la réalité, meme si l'execution se fait sequenciellement.
    Le problème du séquentiel, c'est qu'il ne connait pas les interruptions (très important en temps réel), une fois que tu commences ton traitement, il se termine, même si quelque chose est arrivé entre temps... Ca peut poser problème.

    Le seul moyen pour éviter ce problème, c'est la parallélisation (processus séparés) => tu vas très vite être limité par le hardware).

    Un point important si tu te lances dans ce travail titanesque: il est impératif que les neurone ne soient pas exécutés dans un ordre fixe (N1, puis N2, puis N3, ...) sinon tu auras des effets de bords détestables.

  19. #15
    invite36602837

    Re : Fonctionnement réel d'un neurone

    Citation Envoyé par Faith Voir le message
    Qu'est-ce qu'un cycle quand on parle de cerveau ? Combien de cycles informatiques représentent un cycle biologique ?
    Aucune idée, seulement, les processus biologique ne sont pas instantanné, ils prennent un certain temps. C'est ce temps que j'appel cycle. Mais le but n'est pas de simuler les cycle biologoqie, mais les cycles "fonctionnel"

    Citation Envoyé par Faith Voir le message
    Pour te donner une idée: je suis en train de travailler à un mini monde de 360.000 cases. Chaque case n'utilise que les informations de ses 4 voisines pour évoluer (rien par rapport à un cerveau).
    Pour le moment, il me faut 1000s pour faire évoluer toutes les cases de 5000 cycles. Alors qu'il n'y a quasiment aucun calcul: quelques additions/soustractions, très peu de multiplication et aucune division (les division étant extrêmement coûteuses en temps de calcul)
    Ce serais pas le "jeu de la vie" par hasard ?? Le jeu où l'avenir d'une "cellule" depend de ses voisine ?? C'est avec un programme de ce type que j'ai créer un monde avec des propriété emergeantes. Mes cellules devenait cannibal alors que je n'avais pas du tout programmé ce comportement.

    Si tu fais 5000 cycle "monde" en 1000s, ca veux dire que ton monde est cadencé à 20Hz (5 cycles par seconde). C'est deja pas mal pour un monde de 360'000 individu.

    Citation Envoyé par Faith Voir le message
    Combien de calculs nécessite l'évolution d'un neurone ?
    N'ayant pas encore codé le neurone, je peux pas te dire.

    Citation Envoyé par Faith Voir le message
    Le problème du séquentiel, c'est qu'il ne connait pas les interruptions (très important en temps réel), une fois que tu commences ton traitement, il se termine, même si quelque chose est arrivé entre temps... Ca peut poser problème.
    D'accord avec toi d'un point de vue théorique, mais si tu utilise des "flags" (des variable booleene) tu peux simuler des interruptions. C'est comme ca que bcp de programme fonctionne (dont les jeux TR). En fonction des flags, le cycle de calcul change (avec des if, des boucles ou des select). Il suffit que le flag soit modifié 1x dans le programme pour que tout le processus de calcul soit différent.

    Citation Envoyé par Faith Voir le message
    Un point important si tu te lances dans ce travail titanesque: il est impératif que les neurone ne soient pas exécutés dans un ordre fixe (N1, puis N2, puis N3, ...) sinon tu auras des effets de bords détestables.
    Entièrement d'accord. Je pense que je vais faire comme j'avais fait avec mon simulateur electronique. Je commence par le neurone d'entrée et puis je suit ses " connection". Si le neurone suivant (du point de vue spatial) necessite de calculer ses entrée (donc ses neurone parents) je commence par calculer ces entrées. L'avantage c'est que quelque soit le premier neurone calculer, je fini par tout calculer, mais en suivant la "géometrie" du réseau et non pas en calculant les neurone dans l'ordre "arithmetique".

    Bien sur, ce n'est pas comme ca que cela se passe en realité, mais comme tu le dit, un processeur est sequencielle, il faut bien commencer quelque part.
    underinet, l'information appartient à l'humanité

  20. #16
    Saint-Sandouz

    Re : Fonctionnement réel d'un neurone

    Citation Envoyé par uinet_propane Voir le message
    Je suis d'accord avec toi sur le fait que le cerveau est massivement parallele et que le PC est simplement sequencielle. Mais si un cerveau fonctionne a 100Hz et qu'un PC fonctionne a 2GHz (2 milliard de cycle par seconde), la différence permet de simuler le parallelisme.
    Ce que je veux dire, c'est que si je part du principe que mon réseau de neurone fonctionne a 100Hz (donc 1 cycle toute les 10 ms), j'ai 9,999ms pour effectué les operation en mode sequencielle alors qu'en realité elles se font en parallele.
    Il me semble que tu es encore beaucoup trop influencé par le paradigme informatique. Le SNC a toutes les chances de fonctionner de façon radicalement différente.
    Je n’ai plus les références en tête mais une comparaison me vient à l’esprit. Quand l’ADN a été découvert, qu’on a établi qu’il fonctionnait en base quatre et qu’il codait la synthèse des protéines il y a eu une sorte de concours à qui saurait imaginer le code. Il y a eu toutes sortes de propositions : aucune n’était la bonne.
    Avec ton approche tu as toutes les chances, toi aussi, de te planter. Il y a aussi toutes les chances pour que ce champ de recherches ait déjà été déffriché par des équipes.

    Rien ne vaut une question pour trouver des références.
    Regarde donc du côté des Neurosciences Computationnelles :
    http://fr.wikipedia.org/wiki/Neurosc...putationnelles
    http://www.scholarpedia.org/article/...l_neuroscience

    IBM s’est mis dans la partie avec l’Ecole Polythechnique Fédérale de Lausanne dans le Blue Brain project :
    http://bluebrain.epfl.ch/
    J’ai peur que ton PC ne fasse pas le poids face à Blue Gene. Sans vouloir te décourager…

    En français :
    http://www.neurocomp.fr/index.php?page=accueil

    ND
    Travailler dur n'a jamais tué personne, mais je préfère ne pas prendre de risques.

  21. #17
    invite765732342432
    Invité

    Re : Fonctionnement réel d'un neurone

    Citation Envoyé par uinet_propane Voir le message
    Ce serais pas le "jeu de la vie" par hasard ??
    Non, c'est un poil plus complexe 5000 cycles en 1000s pour un jeu de la vie, ce serait vraiment pas optimisé !
    Grosso modo, c'est un petit planétoïde dont la topologie évolue en fonction du volcanisme, de la tectonique, et de l'érosion crée par les océans et les rivières (d'ailleurs, je galère avec ces satanées rivières qui vont un peu trop tout droit à mon gout )

    D'accord avec toi d'un point de vue théorique, mais si tu utilise des "flags" (des variable booleene) tu peux simuler des interruptions.
    Je ne suis pas (totalement) convaincu, mais c'est possible que tu obtiennes un résultat suffisamment satisfaisant... Je te le souhaite

    L'avantage c'est que quelque soit le premier neurone calculer, je fini par tout calculer, mais en suivant la "géometrie" du réseau et non pas en calculant les neurone dans l'ordre "arithmetique".
    Le problème que tu vas rencontrer et qui est dû à l'aspect séquentiel, c'est que les neurones font des cycles. Il finissent donc par boucler et en séquentiel, tu ne peux plus sortir de la boucle.
    Pour t'en sortir, il faudra passer en événementiel.

    Pour finir, n'oublie pas que le fonctionnement "probable" du cerveau n'est pas 1 entrée => 1 sortie mais plutôt plusieurs flux en entrée => plusieurs flux en sortie.

    Enfin, je te souhaite bonne chance dans ce travail titanesque. En espérant avoir été au moins un peu utile

  22. #18
    invite36602837

    Re : Fonctionnement réel d'un neurone

    Citation Envoyé par Nicolas Daum Voir le message
    Il me semble que tu es encore beaucoup trop influencé par le paradigme informatique.
    Ca va surement t'etonner, venant d'un informaticien, mais je vois pas du tout ce que tu veux dire par "Le paradigme informatique".

    Citation Envoyé par Nicolas Daum Voir le message
    Je n’ai plus les références en tête mais une comparaison me vient à l’esprit. Quand l’ADN a été découvert, qu’on a établi qu’il fonctionnait en base quatre et qu’il codait la synthèse des protéines il y a eu une sorte de concours à qui saurait imaginer le code. Il y a eu toutes sortes de propositions : aucune n’était la bonne.
    Juste pour jouer le jeu (encore une fois, je cherche pas a confirmer ou infirmer une theorie), selon moi, il est inutile de cherche le code de l'ADN, il suffit de le lire. C'est lui meme le code (1 gene correspond a 1 instruction). Le probleme c'est que dans un PC a base de x86, y a environ 100 instruction processeur alors que dans une cellule a base d'ADN, y a quelques centaine de milliers d'instruction (chaque gene est une instruction. Les A C T G n'etant que le language de description de ses instructions).

    Citation Envoyé par Nicolas Daum Voir le message
    Avec ton approche tu as toutes les chances, toi aussi, de te planter. Il y a aussi toutes les chances pour que ce champ de recherches ait déjà été déffriché par des équipes.
    planter : c'est la simulation qui nous le dira. Bien que je soit parfaitement conscient qu'il y a 99% de chance que je me plante (ca ne sera qu'une enieme fois).

    Defricher : ca surement, quoique j'ai tjs eu de grande discution avec mes amis informaticien ou universitaire concernant la facon de voir l'informatique et ce qu'elle est capable de faire.

    Citation Envoyé par Nicolas Daum Voir le message
    J’ai peur que ton PC ne fasse pas le poids face à Blue Gene. Sans vouloir te décourager…
    Mon pc est booster a l'EPO, . Blue Gene n'as qu'a bien se tenir .

    Plus serieusement, je n'est pas la pretention de simuler le cerveau ou le SNC humain. Je m'oriente plutot vers une simulation d'un organisme simple, comme proposer par caribou.volant.

    Encore une fois, mon but n'est pas de simuler un reseau de neurone complet capable d'heberger une intelligence de type humain, mais de simuler un neurone de la facon la plus proche de la realite, en evitant les probabilites. En fait, mon probleme c'est les probabilite que je considere comme une simplification trop grossiere, meme si ca marche.

    J'aimerais bien creer un neurone virtuel realiste qui soit plus performant qu'un neurone virtuel probabiliste. D'autant plus qu'informatiquement parlant, les calcul de probabilite utilise enormement de cycle processeur alors que je suis sur qu on peut s'en passer. C'est justement le but de mon projet : verifier si cette assertion est correct ou non.

    Pour faire une petite parenthese, mais qui concerne tjs plus ou moins le sujet, je sais pas si vous avez lu le dernier S&V, mais y a un article fort interessant sur la calculabiliter et ce que peuvent nous apporter les ordinateurs concernant les algorithme utiliser dans les domaines scientifiques. En gros, l'article disait que certains algorithme etait purement theorique et tres probablement impossible a executer meme s'ils sont considere comme etant les plus proche de la realite car le temps necessaire pour leur calcul sur un ordinateur parfait (c'est a dire celui qui fonctionne a la vitesse physique maximal) etait suprieur a ce que fesait la nature avec un systeme moins performant. Ces algorithme sont souvent des algorithme "brute force" (on calcul toutes les possibliter puis on selectionne la plus performante). Il prenait comme exemple les algorithme qui permettent de simuler le processus de "compression" des proteines, qui sont, tjs selon l'article, bcp tro gourmand en calcul et que donc ils sont erroner (apres, moi je suis incapable de dire si effectivement ils sont erroner, mais je peut tout a fait capable de comprendre ce qu'implique cette "theorie de la calculabilite"). C'est apres avoir lu cet article que je me suis dit que ce probleme etait particulierement vrai pour l'IA et les reseau de neurones.

    Enfin, encore une fois, moi je cherche juste a savoir si c'est faisable et non pas a savoir si c'est correct.
    underinet, l'information appartient à l'humanité

  23. Publicité
  24. #19
    Saint-Sandouz

    Re : Fonctionnement réel d'un neurone

    Citation Envoyé par uinet_propane Voir le message
    Ca va surement t'etonner, venant d'un informaticien, mais je vois pas du tout ce que tu veux dire par "Le paradigme informatique".
    Les paradigmes sont les principes de base, souvent inconscients, ou semi-conscients tellement ils sont devenus évidents.
    J’entends par paradigme informatique, le traitement séquentiel, façon machine de Turing, et la logique booléenne.
    Je donne un exemple : je suis nul en calcul mental s’il s’agit d’obtenir un résultat exact. Par contre, même pour des opérations relativement compliquées, je suis assez bon en calcul approché. J’applique pour ça une arithmétique floue. C’est un vrai bidouillage mental à base de « Ceci est plus proche que cela, donc le résultat donc être dans telle fourchette. »
    L’informatique obtient des résultats exacts ou pas de résultat du tout. Mon calcul sur un mode probabiliste donne des résultat qui ont de bonne chances d’être dans une fourchette acceptable.

    Je donnais l’exemple de l’ADN car il montre qu’on n’est jamais parvenu à se faire une idée à priori sur les phénomènes naturels. A-t-on jamais imaginé quelque chose d’approchant la mécanique quantique avant de la découvrir ? Les premiers théoriciens étaient eux-mêmes choqués par leurs propres résultats.
    Mais si c’est pour le fun, pourquoi ne pas essayer d’anticiper sur les découvertes futures…

    Regarde les FAQ du Blue Brain Project :
    http://bluebrain.epfl.ch/page18924.html

    ND
    Travailler dur n'a jamais tué personne, mais je préfère ne pas prendre de risques.

  25. #20
    invite36602837

    Re : Fonctionnement réel d'un neurone

    Citation Envoyé par Nicolas Daum Voir le message
    Les paradigmes sont les principes de base, souvent inconscients, ou semi-conscients tellement ils sont devenus évidents.
    J’entends par paradigme informatique, le traitement séquentiel, façon machine de Turing, et la logique booléenne.
    Et bien justement, je n'adere pas totalement a cette logique. Certe, l'ordinateur effectue des calculs exacte, mais la ou je ne suis plus d'accord, c'est que je considere qu'un ordinateur n'est pas limité aux calculs. C'est a dire que je peux effectué des operation mathematique tel que des additions sans faire appel a la fonction "ADDITION" de mon processeur. Pour moi, un ordinateur utilise des operation arithmetique (en algebre de boole, bien sur) pour manipuler les bits. Mais la manipulation des bit, elle, elle peut deboucher sur un fonctionnement non mathematique.

    Je vois plus les choses sous forme de flux d'information qu'on va faire interagir selon un algorithme. Toute la question est de trouver un algorithme qui ne repose pas sur les math pour effectué les interactions mais plutot sur la nature des flux d'information (j'appel ca un algorithme géometrique).

    Dans ce but, je suis entrain de programmer un petit logiciel dont l'objectif est d'effectué du calcul mental exactement comme on le fait :

    10
    + 2
    _____
    =12

    Mais qui ne fais jamais appel a l'operation + du processeur. Je doit donc arriver a effectué un "+" uniquement a l'aide du flux d'information. Pour tester ma théorie, j'ai créer un objet (au sens informatique, une classe) qui représente une valeur (qui peut etre n'importe quoi, elle est stocker sous forme textuel) et qui "sais" qui est la valeur suivante et la valeur précédent, et tout ca suite a une saisie de l'utilisateur.

    En gros, l'utilisateur saisie les valeurs de la base (binaire, octal, décimal, personnalisée) et le programme "apprend" cette base puis l'utilise pour effectué les calcul demandé par l'utilisateur. Pour le moment, je programme que l'addition et la soustraction, mais c'est extensible.

    Donc mon programme ne calcul pas vraiment, il ne fait que traiter le flux d'information en fonction de ce que lui demande l'utilisateur (+ ou -).
    ATTENTION, ce n'est pas une IA car le traitement est coder a l'avance, par contre, ce n'est pas non plus une calculatrice "hardware" car il ne fais jamais appel aux fonction mathématique du processeur.

    Mon but maintenant c'est de transposer cette logique a un réseau de neurone.

    Maintenant, je ne remet pas en question la theorie de Turing, je la trouve simplement trop restrictive. Mais encore une fois, je n'est pas fait d'etude en mathematique donc je ne remet pas en question sa theorie, simplement de se que j'en comprend, je n'adere pas totalement.

    Mais pt etre que je fais encore une erreur conceptuelle (ce qui ne m'etonnerais pas).
    underinet, l'information appartient à l'humanité

  26. #21
    Philder

    Re : Fonctionnement réel d'un neurone

    Citation Envoyé par uinet_propane Voir le message
    Encore une fois, mon but n'est pas de simuler un reseau de neurone complet capable d'heberger une intelligence de type humain, mais de simuler un neurone de la facon la plus proche de la realite, en evitant les probabilites. En fait, mon probleme c'est les probabilite que je considere comme une simplification trop grossiere, meme si ca marche.
    Bonjour,

    Il me semble qu'il y a d'abord une erreur d'appreciation. La plupart des reseaux de neurones artificiels fonctionnent de maniere deterministe, tu devrais regarder les modeles existants afin de t'en inspirer.

    http://fr.wikipedia.org/wiki/Reseau_de_neurones

    Qui plus est tu vois les choses a l'envers car le cas probabiliste est plus general que le cas deterministe. En effet le cas deterministe peut etre exprime sous forme de probabilites (egales a 1 en l'occurence), l'inverse n'est pas vrai.

    Citation Envoyé par uinet_propane Voir le message
    J'aimerais bien creer un neurone virtuel realiste qui soit plus performant qu'un neurone virtuel probabiliste. D'autant plus qu'informatiquement parlant, les calcul de probabilite utilise enormement de cycle processeur alors que je suis sur qu on peut s'en passer. C'est justement le but de mon projet : verifier si cette assertion est correct ou non.
    Ton assertion est-elle "on peut se passer des probabilites" ?
    Dans ce cas la reponse est oui, c'est ce qui est fait la plupart du temps, et effectivement les algos de calcul sont plus simples donc plus rapides.

    "mon but [est] de simuler un neurone de la facon la plus proche de la realite"

    Helas a ce niveau la il y a du choix, un neurone comme porte booleenne est une simplification extreme. Tu peux par contre descendre a un niveau tres bas, de type modelisation des canaux ioniques etc (ce qui existe), mais la question connaissances il faut s'accrocher. A un niveau plus intermediaire tu peux regarder les spiking neural networks:

    http://en.wikipedia.org/wiki/Spiking_neural_network

    Bon courage

  27. #22
    Argyre

    Re : Fonctionnement réel d'un neurone

    Bonjour,
    Citation Envoyé par uinet_propane Voir le message
    Et bien justement, je n'adere pas totalement a cette logique. Certe, l'ordinateur effectue des calculs exacte, mais la ou je ne suis plus d'accord, c'est que je considere qu'un ordinateur n'est pas limité aux calculs. C'est a dire que je peux effectué des operation mathematique tel que des additions sans faire appel a la fonction "ADDITION" de mon processeur. Pour moi, un ordinateur utilise des operation arithmetique (en algebre de boole, bien sur) pour manipuler les bits. Mais la manipulation des bit, elle, elle peut deboucher sur un fonctionnement non mathematique.
    Avec des réseaux de neurones artificiels, on peut effectivement réapprendre les tables d'addition et de soustraction. La plupart des réseaux font de la classification à partir d'exemples. Donc on donne des exemples d'addition avec le bon résultat et le réseau apprend la table.
    Tu peux faire ça par exemple avec un perceptron 1 couche comportant 10 entrées, une pour chaque chiffre. Il faut ensuite 19 sorties pour avoir les résultats de 0 à 18.
    Pour ce qui est de simuler des réseaux biologiques, c'est beaucoup plus compliqué ... et de mon avis ça ne sert pas à grand chose. Eventuellement, tu peux regarder les spiking neurons, mais avec des neurones formels simples où l'objectif est simplement de faire varier la force de la synapse, on arrive à tous les traitements possibles et imaginables (la fameuse machine de Turing universelle).

    A propos de Turing et de calculs, ce dernier a démontré qu'on pouvait effectuer n'importe quel calcul par ordinateur. Par "calculs", on entend toute procédure de calcul qu'un humain pourrait avoir l'idée de définir. Il n'y a donc pas de limite et cela englobe des calculs sur les entiers, les réels, les fonctions, les chaînes de caractères, les ensembles d'éléments quelconques ...
    La seule limite, c'est le calcul qui nécessite un nombre infini de calculs élémentaires. Mais dans ce cas, bien entendu, l'être humain a les mêmes contraintes !

    Autre point fondamental : la simulation d'un traitement de l'information est aussi un traitement de l'information. D'ailleurs, je réfute le terme simulation, car on reproduit ou pas le même traitement de l'information, mais le simuler n'a aucun sens. Ainsi, on peut envisager de remplacer des neurones naturels par des neurones artificiels réalisés à partir de circuits électroniques en obtenant au final le même traitement réalisé par le cerveau, c'est d'ailleurs un axe de recherche en plein essor.

    A+,
    Argyre

  28. #23
    searox

    Re : Fonctionnement réel d'un neurone

    Citation Envoyé par Nicolas Daum Voir le message
    IBM s’est mis dans la partie avec l’Ecole Polythechnique Fédérale de Lausanne dans le Blue Brain project :
    http://bluebrain.epfl.ch/
    J’ai peur que ton PC ne fasse pas le poids face à Blue Gene. Sans vouloir te décourager…
    ND
    Un projet très intéressant, mais même avec cette machine, ils ne peuvent simuler que quelques dizaines de milliers de neurones en temps réel si je me souviens bien (c'est déja pas mal^^). Il font aussi une visualisation du réseau en fonctionnement pour essayer de mieux comprendre.

Sur le même thème :

Discussions similaires

  1. Partie entière d'un réel
    Par Gaara dans le forum Mathématiques du collège et du lycée
    Réponses: 18
    Dernier message: 15/09/2007, 13h11
  2. Réponses: 0
    Dernier message: 15/02/2007, 09h03
  3. Approximation d'un réel par une suite
    Par yohann1906 dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 29/12/2006, 14h08
  4. Réponses: 3
    Dernier message: 03/10/2006, 21h26
  5. Réponses: 11
    Dernier message: 30/10/2005, 19h45