Aller au contenu


- - - - -

Méthode d'apprentissage


74 réponses à ce sujet

#21 Dr.Calvin

Dr.Calvin

    Membre passionné

  • Membres
  • PipPipPip
  • 474 messages
  • Gender:Female

Posté 16 juillet 2008 - 02:59

Merci de vos réponses :)

En fait je me demandais comment concevoir un programme de conversation capable d'enrichir son propre vocabulaire. J'ai déjà fait pas mal de recherches sur les logiciels de conversation (ALICE, ELIZA ...) dans les bouquins et sur le net mais je n'ai trouvé aucune info précise (juste des articles de vulgarisation) sur l'enrichissement de vocabulaire... :huh:

Si quelqu'un a des idées je suis toute ouïe :)

#22 Dr.Calvin

Dr.Calvin

    Membre passionné

  • Membres
  • PipPipPip
  • 474 messages
  • Gender:Female

Posté 17 juillet 2008 - 08:19

Bon, je reconnais que c'est peut être un peu en dehors du sujet mais c'est simplement pour pouvoir intégrer
une telle faculté à un robot.
voili voilà

#23 Guest_Calibanproject_*

Guest_Calibanproject_*
  • Guests

Posté 18 juillet 2008 - 11:14

Cher Dr Calvin,

Je suis si heureux de pouvoir enfin vous rencontrer. J'ai lu a plusieur reprise l'intégralité de votre biographie et votre vie est si passionante que c'est en partie elle qui m'a poussé a m'interresser à la robotique.
Bref, discuter avec la plus grande robopsychologue de US-Robotic et pour moi une expérience que je n'oublierai pas :D

Pour être un peu plus sérieux, j'ai vu que tu as posé un certain nombre de questions que je vais tacher d'éllucider.

Dans la page précédente, tu demande en quoi chaque robot possède sa propre méthode d'auto-apprentissage (ormis le langage et quelques menus détails). cette question n'est pas bête en ce sens que c'est là un sujet plus académique que technique ;) En effet, d'un point de vue technique, les robots "adaptatifs" fonctionnent tous de la même façon avec un gros un soft et une base de données. ramené a cela, la différence entre eux n'est pas subtile :/ En fait la réel différence vient de la façon dont les capacités de la machine est exploitée et quelle est la structure de la base (ainsi que sa méthode d'exploitation). Dejà on distingue deux grandes classes de robots "adaptatitf". Ils y a les robots séquentiels et les robots évènementiels (parrallélisés). Les premiers ne sont que des programmes qui enchainent des procédures les unes aprés les autres en fonction de certains paramétres. La seconde catégorie quand a elle met en oeuvre des processus pouvant fonctionner en parrallèle et donc interragir mutuellement. Tu comprendra donc que, si ces robots se servent de bases de données, la façon dont sont générées, exploitées et archivées les data diffèrent énormément. Dans le premier cas, toutes les data doivent être "connues" avant le lancement d'un process déterminés et aboutira à une "conclusion" parfaitement reproductible (une même fonction initialisée de façon identique donnera toujours le même résultat). la machine "apprend" donc mais les résultats sont prévisibles pour peut que l'ont fasse fonctionner le même programme sur une machine plus puissante (a initialisation identique, tu aura les même résultat pour la même fonction plus rapidement). En revanche, les robots parrallélisées ne sont pas prévisibles. imagines une machine qui fait tourner (allez, au hasard :) ) environ 800 processus tous en interraction entre eux mais chacun faisant sa propre vie. Le résultat (ou conclusion) sera parfaitement inédit car la même "expoérience" sur une machine plus puissante arriverait a des résultats différents car les possibiltés d'interractions a un instant T sont d'environs 3 puissance 2300, ce qui, ramené en temps de partage processeur, même ramené sur une longue période, fait que le système d'exploitation ne consacrera jamais le même ratio de temps de traitement (ce n'est pas parce que tel processus sur telle machine exploite 0.01245% du temps processeur qu'il en sera de même sur une autre). Donc les interractions seront différentes et ainsi la conclusion différente ;) Voici donc déjà deux principes fondataux qui n'aboutissent pas du tout, mais alors pas du tout au même genre de système :P De plus, je t'ai parlé de base de données. En gros tu peux avoir plusieurs types de base. Synthétiquement, tu peux en avoir qui servent a stocker des informations et d'autres qui servent a stocker les relations entre ces informations (support du modèle). Dans les deux cas, le programme peut apprendre. mais dans le premier cas, il pourra apprendre que ce qu'il voit ici a l'instant T est rouge et que c'est une voiture voir même une Ferrari (faut être balaise en reconnaissance visuelle mais pas impossible). il a bien apprit mais ne pourra guère aller plus loin. Si tu lui demande ce qu'il a vue a l'instant T il pourra te le recracher mais c'est tout (pas exactement mais c'est un bon raccourci). En revanche, dans le second type de base, il pourra relier la voiture à un moyen de locommotion et la Ferrari a l'argent. Ainsi, si, par la suite, il apprend que ladite voiture appartient a Toto il déduira tout seul (sans rien avoir a faire en terme de prog) que Toto a de l'argent ;) Il a donc appris mais il a aussi déduit si ce n'est prévus. Et c'est là que réside une autre nuance fondamentale distinguant les catégories de machines adaptatives. Enfin, troisième nuance fondamentale, est la capacité de modélisation du Robot. Il y a ceux qui une connaissance est un ensemble de données et ceux pour qui une connaissance est un système (un univers entier) possédant ses propriétés et qui est hiérarchisé. dans le Premier cas, la Voiture n'est rien d'autre qu'une voiture rouge de marque Ferrari. Une voiture Bleue de la même marque n'aura pour lui aucun rapport. mais les données ont été apprises et stcokées. dans le second cas, La couleur serait une propriété de la voiture et ferrari un sous groupe hiérarchique des voitures. Et là, la différence est aussi énorme car un sous groupe hiérarchique est un sujet beaucoup fondamental pour le fonctionnement du robot et sa capacité a apprendre. En effet, dans le premlier cas, le robots apprendra tout et n'importe quoi (en gros) tandis que dans le second cas, il préviligiera l'apprentissage des notions de hiérarchie élevée. En effet, la définition de ce qu'est une voiture est sans doute plus important que la définition de ce qu'est une Ferrari car si le robot apprend qu'une voiture a des roues, alors automatiquement les Ferrari seront percus comme ayant des roues. En revanche, s'il apprend qu'une Ferrari roule trés vite, cela n'aura aucune conséquence sur la notion de voiture car la ferrari est un sous groupe qui n'influe pas sur son parent. En conséquence, la hierarchisation des données permet de déterminer ce qui mérite d'être appris ou non. Donc la machine "apprend" avec beaucoup plus d'éfficacité dans le second cas ;)

ARFFFFFFFFFFFFF... Je reprend ma respiration :P

Dans un autre message, tu parles de la méthode que peux exploiter un programme pour enrichir son vocabulaire. je t'invite a relire mon explication ci dessus ainsi qque les autres message du salon "Collège sur la ..." et a visiter notre site. une fois que tu auras médité et digéré tous cela, je suis certains que tu y verra plus clair. cependant, je peux dors et déjà te préciser que l'enrichissement du vocabulaire passe par le dialogue avec la machine et donc un parfait interpréteur syntaxiqueet grammatical (qu'est ce qui est le verbe, le cod, le sujet... et les lien entre les mots deja connus). Une fois que tu auras digéré tout ca, je suis certain que tu reviendra vers nous avec des question plus spécialisés auxquelles je me ferais un plaisir de répondre. mais pour le concept générique, je crois que tu a s tout ce qui faut sur notre site et sur ce forum ;)

Et rassure toi, tu n'es pas du tout hors sujet, bien au contraire <_<

amicalement

EDIT : Désolé pour les fautes d'orthographe mais là je suis au travail et pas beaucoup de temps pour me relire. d'habitude je fais attention mais là, mea-culpa

#24 Dr.Calvin

Dr.Calvin

    Membre passionné

  • Membres
  • PipPipPip
  • 474 messages
  • Gender:Female

Posté 18 juillet 2008 - 05:23

merci merci merci BEAUCOUP, je n'en demandais pas tant, c'est vraiment super gentil de ta part de m'écrire une réponse aussi détaillée (j'adore ce forum :lol: ).
On voit vraiment les passionnés ;) .
Pas de problèmes pour les fautes d'orthographe :rolleyes: la réponse est tellement belle que je l'ai copiée précieusement sur un document Word (si ,si ).

Je vais suivre scrupuleusement tes conseils et poursuivre mes recherches à l'aide de tes indications :D

Je parlerai de toi au docteur Lanning :P

EDIT : en fait, je ne suis pas sûre que Dr.Calvin serait du genre à sauter au plafond quand elle reçoit des renseignements importants, ou du genre à utiliser des smileys sur un forum :huh: .... J'aime tellement les nouvelles d'Asimov (la robopsychologue est le seul personnage féminin à avoir un rôle principal dans ses nouvelles) que je me suis dit, en m'inscrivant, que c'était le moment ou jamais... :lol:

Super contente de ta réponse en tout cas!! Merci encore et bon courage avec Caliban :P

#25 Elodie

Elodie

    Nouveau membre

  • Membres
  • 28 messages

Posté 15 mars 2009 - 08:17

En conséquence, la hierarchisation des données permet de déterminer ce qui mérite d'être appris ou non. Donc la machine "apprend" avec beaucoup plus d'éfficacité dans le second cas


Bonjour Calibanproject,

Est ce que cette hierarchisation des données se pratique aussi pendant le sommeils (rêves) ?

Je voulais savoir ce que vous en pensiez...

Merci ;)

#26 Bauds de l'air

Bauds de l'air

    Nouveau membre

  • Membres
  • 1 messages

Posté 06 juin 2009 - 06:45

Bonjour,

Je me permet de déterrer ce sujet.

Je n'y connais absolument rien en Intelligence Artificiel, néanmoins, la lecture de ce qui precéda étant passionnante, je me permet également d'intervenir afin d'approuver l'intervention relatant du "sommeil".

En effet, j'envisage, peut-être à tord, qu'une I.A. dotée de deux "cerveaux" pourrait optimiser les capacités d'apprentissage. Je m'en explique.

Reprenant les limites d'un apprentissage par le recompilage du noyau (à cause de la constante refonte du noyau, du fait de l'apprentissage constant), on pourrait envisager de contourner ces difficultés par l'élaboration d'une I.A divisée en deux fonctions.

La premiére (fonction mise en oeuvre, utilisation à proprement dit) servirait à la mise en application des apprentissages antérieurs, qui eux serait le fruit de la deuxiéme fonction.

La seconde (fonction apprentissage) elle analyserait les expériences, creérait les liens, les "noeuds" entre les concepts, les "objets", les "classes", les adaptations aux actions, que j'appelerai içi "commandes" (ne pas tourner le poignet lorsque que l'on tient un verre, et non pas un vert, une tasse, une assiette, si celui-çi contient finalement quoique ce soit, sauf si c'est pour deverser le contenu dans tous ce qu'on est autorise).

Cette fonction apprentissage, elle, pourrait compiler ce nouveau noyau et pourquoi pas le tester par simulation. (débogage, non pas de language programme, mais "debogage utilisation").

Cet apprentissage pourrait trés bien se dérouler en quatre phases.

La premiére phase serait consacré à la télémétrie. (réceuil, surveillance, des informations concernant la mise en pratique de la fonctions "mise en oeuvre"). Elle débuterai depuis la derniére implémentation du noyau au sein de la premiére fonction jusqu'à la décision "d'analyse de ces données" (Seconde phase).

La seconde phase "analyse des données", serait déclenchée par un temps ou une heure H, un nombre d'événements, par la confrontation à des difficultés, "intérrogations", des bugs impasses, ou par la manifestation évidente du besoin de créer de nouveaux noeuds (résultat escompté non atteint, incompréhension de notion, "d'objet, "classe" ou l'incapacité de réaliser une "commande"). Ce déclenchement pourrait être asujetti à la fonction "mise en oeuvre", qui devrait donc comporter une partie analyse d'elle même. (Pour détecter les impasses dans lesquelles elle se retrouve, le fait quelle n'est pas atteint ses objectifs, son incompréhension "d'objet", son incapacité à effectuer une tache "commande" qui lui est encore inconnue). Bien sûr, la fonction "mise en oeuvre" ne devrai jamais recompiler le noyau.

De cette analyse des données, la fonction "apprentissage" devrai donc en tirer les conclusions en effectuant les noeuds néccéssaires, ajouter les nouveaux "objets" , les nouvelles "classes" et les nouvelles "commandes".

En fois ceci fait dans la mesure de ses possibilités à répondre à tous les besoin sités en amont (peut-être lui manquera-t-il des informations pour y faire face ou tout simplement pour optimiser son fonctionnement et son savoir), la fonction "apprentissage" pourrait passer à la troisiéme phase, c'est à dire la phase "compilation du noyau", et à son test.

La quatriéme phase pourrait être "l'implémentation du noyau" recompilé à la fonction "mise en oeuvre".

De plus, si la fonction "mise en oeuvre" ne se retrouve pas dans une impasse (par exemple lors d'une implémentation concernant un "objet" ou un "noeud"), celle-ci pourrait continuer d'être fonctionnel pendant que la fonction "apprentissage" réfléchie. Seule durant la phase de transmission du nouveau noyau vers la fonction "mise en oeuvre" l'I.A. se retrouverai figé, c'est à dire en sommeil.

C'est à dire que la surveillance, l'analyse, l'amélioration du noyau, pourrait ce faire sans pour autant empécher l'interaction entre l'I.A. et son environnement !

S'il se retouve face à une impasse, une difficultés, une "interrogation" ; alors il prend le temps de réfléchir. Comme n'importe quels être pensant !

Je voudrais rajouter, mais peut-être que windows fonctionne de la même façon, que sous GNU/Linux, il n'est guerre néccéssaire de recompiler l'ensemble du noyau. (En gros tout l'OS). Il suffit de recompiler les fichiers "upgradés", et décraser les anciens. Ce qui garantie également une vitesse de mise à jour du noyau relativement rapide. Donc, des phases de sommeils court. (surtout si les phases d'analyses sont courtes, puisqu'il y aurait que peu à transmettre pour une mise à jour du noyau, même si celle-ci serait plus fréquentes)

Ensuite, on pourrait aller jusqu'à incorporer un troisiéme cerveaux, qui lui aussi aurait trés exactement la même fonction "apprentissage", si bien que lorsque l'un serait occupé, l'autre pourrait tenir ce même rôle. De cette facon, il n'y aurait jamais de perte d'analyse de la fonction "mise en oeuvre", jamais de temps trés longs sans possibilité de mise à jours, donc sans adaptabilitée. De plus, si les temps "d'apprentissage" sont rapides, deux cerveaux qui y serait dédier devrait suffir. (Et pourquoi passer par un langague compilé, pourquoi pas directement de processeur à processeur, puisqu'il s'agit de deux machines qui communiquent et font parti du même ensemble)

On pourrait aussi envisager que les nouvelles "commandes", déduit par la fonction "apprentissage", serait notée comme des applications "en cours d'expérimentations" et en attente de validation par l'expérimentation. (Un peu de la même façon que sous GNU/Linux, les fichiers possédent un paramétre d'accéssibilitée : Utilisateur, Invité, Superutilisateur).

En fonction de cette notation "en cours d'expérimentation", on peut envisagée que la fonction "mise en oeuvre", choisisse d'utiliser cette nouvelle "commande" avec parsimonie en attendant validation définitive de celle-çi par la fonction "apprentissage" (En attendant, elle pourrait aussi utiliser la "commande" validée antérieurement). Et voir même, pourquoi pas, la fonction "mise en oeuvre" pourrait choisir d'utiliser ces commandes "en cours d'experimentation" dans des conditions qu'elle juge plus favorables à la tentatives d'expérimentations.

Ensuite, l'I.A. devrait connaitre parfaitement son propre mode de fonctionnement (et pouvoir aussi l'améliorer), à travers des algorythmes le décrivant, afin de l'ouvrir à la conscience (de soit, qui en est un préliminaire).

De plus, il semble évident qu'il faille que ses apprentissages, validés donc ces savoir en fait, soit partagés, par conséquent stokés comme on le fait à travers les bibliothéques. Afin, évident, que d'autres I.A. puissent bénificier de ce savoir et l'exploiter comme si eux même l'avaient expérimenté. Il va de soit que ces autres I.A. devront également pouvoir y déposer leurs savoirs afin que notre I.A. les consultes et y puise ce que nous appelons culture.

Ceci prendra la forme d'un stockage centralisé, mais toute experience individuelle devra pouvoir être consultée, toute emergence de nouveau protocole toujours rendu possible.




Enfin, je me pose plusieurs questions.

Que sont les hormones, si ce n'est des messagés neuro-chimique. Les hormones sont-elles si incontrolées que celà. Les signaux électriques (electricité statiques) sont ils si controlés que celà.

Détruire l'être humain pour sauver la connaisance peut-être trés rationnel. Le communisme était trés rationnel. Les dictatures, tout comme le terrorisme en général est tres rationel. La plus pure des rationnalité n'est-elle pas un autre esclavage de la pensée, donc une forme d'obscurantisme, une autre perte de donnée.

La logique peut-elle être réellement pure ? En celà, je veux dire que la logique ne peut-elle pas commettre des erreurs par manque d'informations, par une connaissance incompléte. Les psychopathes (prédateurs sociaux, il est bon de le rappelé) ont tous un Q.I. remarquable. Néanmoins, ils ont tous un Quotient Emotionnel déplorable. La logique est-elle tous ce qui doit, tous ce qui peut réellement guider qui que se soit, y compris une I.A. Seront nous réellement en face d'une I.A. tant qu'elle se cantonnera à du rationnel pure, à de la logique, même la plus parfaite, sans laisser nul place aux émotions, aux sentiments, à l'affect. Comment une I.A. pourrait-elle progresser de façon autonome sans imagination, même sans imaginaire, sans rêve, sans espoir.

L'être humain n'est-il pas avide de connaissance ?

Quant à juger du bien et du mal, je ne suis pas présomptueux à ce point. Mais je crois que c'est une bien mauvaise chose d'aborder quoique se soit sous cet angle. Et dire que la prédation est le mal, je dirai qu'il est naturel, en somme... rationnel (d'autres disent pragmatique). Par contre l'être humain posséde cette volonté indéflectible, cette folie, cette faculté d'adaptation qui lui confére le réve, l'espoir, la croyance (l'irrationnalité) de se voir s'arracher du régne animal, de sa condition naturelle. Et les faits, aussi fou que celà puisse parâitre, aussi négative les conséquences peuvent-elles aussi être, autant est-ils toujours rattrapé par la nature en général, et la sienne en particulier même, et biens les faits lui donnent tout de même raisons.

En sommes, je ne crois pas en la logique pure, en la rationalité pure. Et je crois, ne l'ayant jamais connue, que nous avons une trés forte tendance à la sublimer.
En réalité, je suis persuadé que l'arrivé de l'I.A provoquera à moyens termes des difficultés, des rapports de pouvoirs et de soumissions, en grande partie par une rationalité, une logique poussée à son paroxisme.

Toutes ses difficultés seront biens sûr supplantées.

Sinon, dans les film cultes, il convient de mentionner Ghost in the Shell.

:triniti:

#27 Jan

Jan

    Webmaster

  • Membres
  • PipPipPipPipPip
  • 4 747 messages
  • Gender:Male
  • Location:Rhône Alpes

Posté 06 juin 2009 - 09:16

Bonjour,

Post très intéressant, je n'ai pas eu le courage de le lire en une seule fois...long ! ;)

Je ne pense pas que le problème soit le rationalisme mais plutôt de la définition qu'on donne à ce mot.

Par contre l'être humain posséde cette volonté indéflectible, cette folie, cette faculté d'adaptation qui lui confére le réve, l'espoir, la croyance (l'irrationnalité)


Voila pourquoi une définition s'impose...
Pourquoi la raison, la "vérité", ne naitrait pas de l'imagination, d'un rêve, d'une croyance ?
Pourquoi créer un concept qui sépare la vérité, la connaissance, de l'affect au lieu de l'intégrer.
Curieusement c'est dans les systèmes "rationels", comme les dictatures, où l'art est à son apogée.
Les traces qu'il nous reste des grandes civilisations sont artistiques, issues des imaginations, des rêves et des espérances et pourtant ces civilisations étaient souvent emmener par de terribles dictatures. Il faudrait aussi définir une "dictature".

La dictature c'est ferme ta gueule et la démocratie c'est cause toujours, comme disait un celebre comique qui n'est plus de ce monde. La liberté n'est qu'une illusion, nos systèmes sont juste des dictatures avec soupape de sécurité. C'est peut être imposer un rationalisme radical qui pousse un homme à exploser pour imaginer d'avantage, rêver, esperer, croire...
L'un n'irait pas sans l'autre, c'est un peu le yin et le yang.

Est ce qu'il est important de s'intéresser à la place du rationalisme ? est ce que la finalité, la fixation d'un but absolu est du domaine du rationel ou au contraire de l'imaginaire, de l'illusoire ?
Pour moi la fin justifie les moyens pour le moment au niveau de la robotique mais ces moyens de son pas forcement du domaine du rationel.

Que sont les hormones, si ce n'est des messagés neuro-chimique. Les hormones sont-elles si incontrolées que celà. Les signaux électriques (electricité statiques) sont ils si controlés que celà.


Henri laborit, pour recevoir des réponses intéressantes à ces questions...bon d'accord c'est un scientifique...

#28 christophe.herault

christophe.herault

    Nouveau membre

  • Membres
  • 27 messages
  • Gender:Male
  • Location:Mexico DF
  • Interests:IA
    Robotique
    Traitement du signal
    Télédétection

Posté 23 mai 2010 - 08:54

Bonjour à tous,

Je suis nouveau sur ce site, je prends donc le train en marche...enfin je vais essayer d'y apporter ma petite contribution.

Concernant les méthodes d'apprentissages, il en existe bien entendu plusieurs, mais avant tout, il faudrait s'entendre sur le mot apprentissage.
Prenons un exemple, une voiture radio commandée, pour laquelle nous allons soustraire la radio commande pour que cette dernière puisse évoluer seule.

Il va falloir passer par trois étapes:

1- La logique, un "truc" typiquement humain que l'on ne rencontre pas dans la nature.
On équipe le véhicule avec des capteurs de chocs, et on lui soumet une logique booléenne (Dans un environnement connu) de type:
SI le capteur avant gauche=1 (Choc)
ALORS tourner les roues à gauche
ET marche arrière
ET tourner les roues à droite
ET marche avant
SINON arrêt du véhicule
Simple et ultra basique

2- Le système expert, la base de connaissance
On garde les capteurs de chocs, mais on y rajoute une base de données (Environnement inconnu), et on laisse aller le véhicule.
Si un des capteurs passe à 1, alors on applique la logique du premier point, sans se préoccuper de l'environnement

3- On enlève la base de donnée et on laisse le véhicule essayer toutes les possibilités, jusqu'à ce qu'il en trouve une qui fonctionne.
Une fois fait, cette solution intègrera une nouvelle base de donnée, faite par le système lui même (Auto apprentissage).

Voila pour la "longue" parenthèse.

Ok, pour en revenir à notre méthode d'apprentissage, je vous laisse le soins de vous renseigner sur des systèmes experts de type MLP (Multi Layer Perceptron), c'est la base de l'apprentissage, pas trop de maths et pas trop de neurones grillés pour la compréhension de ce superbe système.

Si vous êtes intéressés par le MLP, je peux vous fournir toutes les informations associées avec grand plaisir (Trop long à écrire dans ce site).

Amicalement,
Christophe Herault
<christophe@veneseg.com>

"Des chercheurs qui cherchent, on en trouve
De chercheurs qui trouvent, on en cherche", A. Einstein

#29 Elodie

Elodie

    Nouveau membre

  • Membres
  • 28 messages

Posté 23 mai 2010 - 10:19

Bonsoir,

Le MLP c'est le système expert ?
Avec quoi en programmer un très simple ? Je suis nulle en programmation, je n'ai jamais touché à ca.

#30 christophe.herault

christophe.herault

    Nouveau membre

  • Membres
  • 27 messages
  • Gender:Male
  • Location:Mexico DF
  • Interests:IA
    Robotique
    Traitement du signal
    Télédétection

Posté 23 mai 2010 - 11:02

Bonsoir,

Le MLP c'est le système expert ?
Avec quoi en programmer un très simple ? Je suis nulle en programmation, je n'ai jamais touché à ca.


Bonjour Elodie,

Oui, le MLP peut-être considéré comme un système expert à part entière.
Il est tout à fait possible de développer un MLP de façon assez simple, puisqu'un simple tableur (Excel par exemple) peut permettre d'en réaliser un à des fin de POC (Proof Of Concept).

Si tu le souhaites, je peux t'en développer un, mais il faut que tu me dises ce qu'il va traiter.

Au niveau de la théorie, laisse moi un peu de temps et je vais mettre sur ce forum de la doc concernant ces algos.

Amicalement,
Christophe Herault
<christophe@veneseg.com>

"Des chercheurs qui cherchent, on en trouve
De chercheurs qui trouvent, on en cherche", A. Einstein

#31 Electron

Electron

    Pilier du forum

  • Membres
  • PipPipPipPip
  • 906 messages
  • Gender:Male
  • Location:LABEGE
  • Interests:Électronique, robotique ludique, programmation de jeux et utilitaires, et plein d'autres choses.

Posté 24 mai 2010 - 10:35

Christophe, Arrête de dire partout que tu est nouveau (je le vois dans tous tes posts ;) ) ton profil l'affiche que tu est nouveau membre^^
Par contre je suis content de voir que le forum accueille un connaisseur très motivé à participer ;)
J'aime bien aussi ta façon d'expliquer simplement ;)

"Plus on partage, plus on possède, voilà le miracle". LEONARD NIMOY
"Celui qui se bat peut perdre, celui qui ne se bat pas a déjà tout perdu". BERTOLT BRECHT (1898-1956)
Comment se lancer dans la robotique !
Mince encore un post pour augmenter mon compteur ;)


#32 Electron

Electron

    Pilier du forum

  • Membres
  • PipPipPipPip
  • 906 messages
  • Gender:Male
  • Location:LABEGE
  • Interests:Électronique, robotique ludique, programmation de jeux et utilitaires, et plein d'autres choses.

Posté 24 mai 2010 - 10:49

Je rajoute une réponse à propos du sujet du topic quand même :

Pour agrandir le vocabulaire d'un système je vois peut-être une façon simple mais à développer, ce serait d'enregistrer en stock tous les mots que le système ne comprend pas, dans une liste nommée par exemple "inconnus" et dés qu'il entend une phrase qu'il comprend dans laquelle un des mots inconnus est utilisé alors il associe le mot inconnu à cette phrase qu'il entend (on peut comprendre le sens d'une phrase sans connaitre un des mots utilisé dans la phrase).

"Plus on partage, plus on possède, voilà le miracle". LEONARD NIMOY
"Celui qui se bat peut perdre, celui qui ne se bat pas a déjà tout perdu". BERTOLT BRECHT (1898-1956)
Comment se lancer dans la robotique !
Mince encore un post pour augmenter mon compteur ;)


#33 christophe.herault

christophe.herault

    Nouveau membre

  • Membres
  • 27 messages
  • Gender:Male
  • Location:Mexico DF
  • Interests:IA
    Robotique
    Traitement du signal
    Télédétection

Posté 24 mai 2010 - 02:09

Je rajoute une réponse à propos du sujet du topic quand même :

Pour agrandir le vocabulaire d'un système je vois peut-être une façon simple mais à développer, ce serait d'enregistrer en stock tous les mots que le système ne comprend pas, dans une liste nommée par exemple "inconnus" et dés qu'il entend une phrase qu'il comprend dans laquelle un des mots inconnus est utilisé alors il associe le mot inconnu à cette phrase qu'il entend (on peut comprendre le sens d'une phrase sans connaitre un des mots utilisé dans la phrase).


Salut Electron,

Un seul mot: WAOUUUUUUUUU !!!
C'est très compliqué ton système !!!
Il faut d'abord reconnaitre le langage (Lequel ? Quel dictionnaire ?)
Ensuite, il faut traduire les mots dans le contexte, extrêmement complexe (Fonction cognitive)
Enfin, il faut réduire les erreur en sortie de ta machine (Boucle de rétroaction)
Bref, c'est très ambitieux comme projet, mais particulièrement intéressant, je t'en félicite.

Courage, tu vas y arriver ! ;)

Amicalement,
Christophe Herault
<christophe@veneseg.com>

"Des chercheurs qui cherchent, on en trouve
De chercheurs qui trouvent, on en cherche", A. Einstein

#34 Electron

Electron

    Pilier du forum

  • Membres
  • PipPipPipPip
  • 906 messages
  • Gender:Male
  • Location:LABEGE
  • Interests:Électronique, robotique ludique, programmation de jeux et utilitaires, et plein d'autres choses.

Posté 24 mai 2010 - 05:09

Il faut d'abord reconnaitre le langage (Lequel ? Quel dictionnaire ?)

Je parle du français par défaut.

Ensuite, il faut traduire les mots dans le contexte, extrêmement complexe (Fonction cognitive)

Heu ... c'est le plus dur, c'est pour ça que je dis que c'est à développer ;)

Bref, c'est très ambitieux comme projet, mais particulièrement intéressant, je t'en félicite.
Courage, tu vas y arriver !

Re Heu... Mais... je ne veux pas faire ce projet moi ;)
Je propose juste une idée pour participer à ce topic, nan j'ai déjà assez de projets comme ça et moins compliqués, lol ;)

"Plus on partage, plus on possède, voilà le miracle". LEONARD NIMOY
"Celui qui se bat peut perdre, celui qui ne se bat pas a déjà tout perdu". BERTOLT BRECHT (1898-1956)
Comment se lancer dans la robotique !
Mince encore un post pour augmenter mon compteur ;)


#35 skyhack

skyhack

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 885 messages
  • Gender:Male
  • Location:Racourt et Flaba (08)
  • Interests:Synthé, modélisation mécanique, bricolage divers, VTT enduro

Posté 27 mai 2010 - 06:03

Bonjour,

Pour reprendre un peu le fil du sujet, je m'intéresse pour ma part beaucoup au domaine de l'apprentissage (c'est d'ailleurs la raison première pour laquelle j'ai fabriqué mes quadrupèdes).
En effet lorsque l'on parle d'apprentissage on se dit " ouai va falloir un sacré programme, une immense mémoire, une ...." mais j'ai l'impression qu'on ne se base pas sur le réel sujet de la chose: la mémoire, comment fonctionne t'-elle chez un être humain, comment arrivons nous à emmagasiner et à TRIER surtout, je le redit encore et toujours c'est le propre de l'homme et de tout chercheur: on cherche à imiter sans même avoir compris ce qui existe ! .

Ma théorie est que la mémoire et son organisation doivent être régit par des règles simples qui vont donner la 1ère racine de la mémoire, ensuite l'afflux d'information arrive, mais qu'en fait on ? on les classe par des choses simples en 1er, ressemblance, lieu, luminosité, choc, couleur, son etc ... et on les classe dans des "boîtes", ces boîtes on un "titre" grossier qui va être modifié au cours des observations, ainsi petit à petit des boîtes qui étaient distinctes se rassemblent, d'autre se détache et se subdivise en sous-boîte etc ... ET surtout on va commencer à voir apparaître les fameuses INVARIANCES, des éléments récurent, qu'on associe toujours à la même chose ou au même groupe, ces éléments là vont permettre de mettre les titres sur les boîtes les plus anciennes. Ainsi de plus en plus une hiérarchisation va se concrétiser et un gradient d'ancienneté et de mouvance des titres va se créer donnant ainsi accès aux fondations de la mémoire qui sont maintenant visible et manipulable (car elle ne bougent pratiquement plus et leur rôle est bien défini maintenant).

C'est dans cette optique là que l'apprentissage a lieu, l'apprentissage c'est le fait de changer, de permuter et de fixer ces fameuses étiquettes sur les boîtes qui vont alors nous permettre d'y voir plus claire.

Et pour aller plus loin après le stade de l'apprentissage nous avons celui de l'automatisation qui elle est une tâche associée à un but, une suite de mouvements qui nous permettent d'avancer par exemple, ainsi tout en bas de la chaîne que constitue la mémoire nous avons les acquits, les automatismes, les "routines" qui ne bougent que rarement, puis les boîtes enrichie un peu et dont les étiquettes changent de temps à autre, et ainsi de suite jusqu'au haut, le réel, l'instantané, là où tout va très vite pour se classer ou étant en attente de classement.

C'est une vison que j'aime me fixer de la mémoire et qui semble simple tout compte fait, les règles sont simple, on ne fait que faire des déplacement, on classe, on mémorise comme on dit.

(Si vous n'avez pas compris lisez plusieurs fois ou faite un schéma c'est normal ^_^ ).

Skyhack.
" Monsters are real. Ghosts are real too.
They live inside us and sometimes they win."
-------------Stephen King.------------------

" le fait que les extraterrestres étaient amis avec les Mayas ne signifie pas qu'ils sont nos amis ... "
-------------------------------------Stephen Hawking----------------------------------------------------

#36 Electron

Electron

    Pilier du forum

  • Membres
  • PipPipPipPip
  • 906 messages
  • Gender:Male
  • Location:LABEGE
  • Interests:Électronique, robotique ludique, programmation de jeux et utilitaires, et plein d'autres choses.

Posté 27 mai 2010 - 10:55

C'est une vison que j'aime

Ta vie privé ne nous intéresse pas hein !
:P

Oui, j'ai compris ta vision t'inquiète ;)

"Plus on partage, plus on possède, voilà le miracle". LEONARD NIMOY
"Celui qui se bat peut perdre, celui qui ne se bat pas a déjà tout perdu". BERTOLT BRECHT (1898-1956)
Comment se lancer dans la robotique !
Mince encore un post pour augmenter mon compteur ;)


#37 Dr.Calvin

Dr.Calvin

    Membre passionné

  • Membres
  • PipPipPip
  • 474 messages
  • Gender:Female

Posté 05 juin 2010 - 04:58

Je rajoute mon petit grain de sel après deux ans de non-réapparition, :ph34r: , je vois que le sujet fascine toujours !

Voici qui va le réanimer un peu : depuis ma dernière question, j'ai mis sur le plancher un petit logiciel de conversation, et je me rends compte de l'ampleur de la difficulté (actuellement, on va dire qu'il parle un français compréhensible, mais fragmenté, dans un vocabulaire non extensible pour l'instant)...A grand coup de fonctions conditions, il reconnaît les mots dans des tableaux et choisit petit bout par petit bout la réponse adéquate (je ne publie pas le programme sauf demande expresse, car en présence de tes spécialistes que ceux de ce sujets c'est franchement la honte, et ça salirait le renom du Dr Calvin :unsure: ), mais il prend quand même en compte le sujet, le pluriel, les conjugaisons, des expressions toutes faites et le ton. Auriez vous des fragments en C permettant l'enrichissment du vocabulaire, ou pourriez-vous me donner des indications en C pour programmer à cette fin ?

#38 Electron

Electron

    Pilier du forum

  • Membres
  • PipPipPipPip
  • 906 messages
  • Gender:Male
  • Location:LABEGE
  • Interests:Électronique, robotique ludique, programmation de jeux et utilitaires, et plein d'autres choses.

Posté 05 juin 2010 - 09:30

Enrichir un vocabulaire c'est juste mémoriser des mots qu'il ne connaît pas non ?
ça c'est facile en programme.
Par contre pour les utiliser au mieux c'est à réfléchir et là il me faudrait du temps que je n'aie pas :/
Surtout je ne veux pas me lancer dans un projet de conversation ;) (pour le moment en tous cas)

"Plus on partage, plus on possède, voilà le miracle". LEONARD NIMOY
"Celui qui se bat peut perdre, celui qui ne se bat pas a déjà tout perdu". BERTOLT BRECHT (1898-1956)
Comment se lancer dans la robotique !
Mince encore un post pour augmenter mon compteur ;)


#39 Dr.Calvin

Dr.Calvin

    Membre passionné

  • Membres
  • PipPipPip
  • 474 messages
  • Gender:Female

Posté 06 juin 2010 - 12:44

Enrichir un vocabulaire c'est juste mémoriser des mots qu'il ne connaît pas non ?
ça c'est facile en programme.


EUUUHH.... :blink: Admettons, je te crois sur parole, mais alors tu as un très bon niveau :blink:
de mon côté, je ne sais pas encore comment utiliser les allocations dynamiques, alors t'as qu'à voir...Tu as déjà essayé, au moins ? :huh:

#40 Electron

Electron

    Pilier du forum

  • Membres
  • PipPipPipPip
  • 906 messages
  • Gender:Male
  • Location:LABEGE
  • Interests:Électronique, robotique ludique, programmation de jeux et utilitaires, et plein d'autres choses.

Posté 07 juin 2010 - 01:28

Mais non je suis pas bon ;) seulement je me dis qu'il suffit de vérifier dans la liste de mots que possède le robot si le mot qu'il a entendu existe, sinon il l'y intègre.
Pas besoin de vérifier tout le mot, tu vérifie juste les deux premières lettres et si elles n'y sont pas on enregistre le mot et basta, sinon on continue le test avec une troisième lettre, etc..

"Plus on partage, plus on possède, voilà le miracle". LEONARD NIMOY
"Celui qui se bat peut perdre, celui qui ne se bat pas a déjà tout perdu". BERTOLT BRECHT (1898-1956)
Comment se lancer dans la robotique !
Mince encore un post pour augmenter mon compteur ;)




Répondre à ce sujet



  


0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users