un langage, c'est symétrique. Les ordinateurs ne nous parlent pas en programmation. Dire qu'ils sont incapables de comprendre le langage naturel, c'est admettre qu'il n'y aura jamais aucune IA forte.Si on se limite aux jeux classiques de plateau/stratégie, alors on n'en est plus forcément loin même si l'intérêt n'est pas forcément évident. Pour parler avec des humains, on utilise leur langue. Pour parler avec des physiciens, on utilise les maths. Pour parler avec un ordinateur et lui apprendre des règles, on a un langage largement plus efficace que le langage naturel qui est la programmation.
c'est impressionnant qu'on arrive à trouver une méthode bien meilleure que les autres pour traiter ce genre de problème. Comme j'ai dit, ça ne prouve rien sur le fait qu'on arriverait à régler tous les problèmes.
alors ce n'est pas clair, tu as dit
pour apprendre les règles du go qui sont quand même simplissimes, on n'a pas besoin d'un langage "largement plus efficace" : d'ailleurs la programmation ne sert pas qu' à apprendre les règles, mais surtout d'élaborer des stratégies de jeu !Pour parler avec un ordinateur et lui apprendre des règles, on a un langage largement plus efficace que le langage naturel qui est la programmation.
et dire que c'est "largement plus efficace", c'est une litote : amha, la réalité est qu'on est non seulement incapable d'apprendre une règle d'un jeu avec un langage naturel à un ordinateur , mais qu'on est loin d'avoir la moindre idée de comment ça serait possible.
la différence c'est que quand un humain joue à un jeu comme le go, il ne calcule pas.
Alors aucun humain n'a appris un jeu en s'appuyant sur le "langage naturel". On peut apprendre à jouer tout seul au Go. Mais aucun manuel d'auto-apprentissage n'est du texte pur. Il y a toujours des schémas et une manipulation des pièces correspondantes pour aider à la compréhension. Tout le truc du langage naturel, c'est qu'il est par nature ambiguë et qu'il sert essentiellement de support aux questions / réponses qui permettent de comprendre les instructions reçues. Il n'y a aucun process humain un peu élaboré qui repose uniquement sur un corpus écrit.pour apprendre les règles du go qui sont quand même simplissimes, on n'a pas besoin d'un langage "largement plus efficace" : d'ailleurs la programmation ne sert pas qu' à apprendre les règles, mais surtout d'élaborer des stratégies de jeu !
et dire que c'est "largement plus efficace", c'est une litote : amha, la réalité est qu'on est non seulement incapable d'apprendre une règle d'un jeu avec un langage naturel à un ordinateur , mais qu'on est loin d'avoir la moindre idée de comment ça serait possible.
Un langage de programmation permet de lever l'essentiel des ambiguïtés. Ce n'est pas une simplification, c'est le seul moyen d'intérioriser des règles.
--
Sur la "compréhension" du langage naturel par des IA, en voyant le niveau de qualité des traductions de Google Translate on peut se dire qu'on n'en est pas très loin.
--
Je ne suis pas vraiment sûr que ce soit de nature à bouleverser le game : les réseaux actuels réalisent des prouesses avec des configs à quelques milliers d'euros. Jouer à Call Of Duty en résolution max avec 60 FPS nécessite à peine moins de GPU que de faire tourner Alpha Go Zero.
--
Voilà, j'ai toujours considéré que la "singularité", c'était un gros foutoir métaphysique. Je commence à me dire que j'ai peut-être tort.
C'était impressionnant quand ils l'ont fait pour la première fois (dans les années 50) Et ça a entraîné les premiers enthousiasmes sur l'IA. Et puis on est arrivé sur des problèmes irrésolues par les approches algorithmiques (dont le jeu de GO).Je ne comprends pas ; en quoi est-ce impressionnant qu'une machine conçue pour calculer...calcule?
Es-tu impressionné par le fait qu'un ordinateur puisse résoudre rapidement des équations de degré supérieur à 5, chose qui prendrait à l'humain beaucoup plus de temps?
Et si ce n'est pas pareil, est-ce que tu peux m'expliquer la différence entre les deux?
...
De façon générale, je ne comprends absolument pas pourquoi on s'extasie sur les performances d'un ordinateur qui arrive à battre l'humain au Go. Voilà.
Du coup, c'est enthousiasment de voir que cette frontière est franchie. Il y en a peut-être une autre que nous découvriront dans 3 ou 4 ans et sur lequel on bute peut-être déjà. Mais en attendant...
à mon avis l'argument est à coté de la plaque : on peut imaginer des jeux bien plus simples que le go , du niveau d'un enfant de 5 ans, avec des règles extrêmement simples du genre : je dis une phrase et tu répètes seulement le premier et le dernier mot. Ou bien le premier mot répété deux fois.Alors aucun humain n'a appris un jeu en s'appuyant sur le "langage naturel". On peut apprendre à jouer tout seul au Go. Mais aucun manuel d'auto-apprentissage n'est du texte pur. Il y a toujours des schémas et une manipulation des pièces correspondantes pour aider à la compréhension. Tout le truc du langage naturel, c'est qu'il est par nature ambiguë et qu'il sert essentiellement de support aux questions / réponses qui permettent de comprendre les instructions reçues. Il n'y a aucun process humain un peu élaboré qui repose uniquement sur un corpus écrit.
Un langage de programmation permet de lever l'essentiel des ambiguïtés. Ce n'est pas une simplification, c'est le seul moyen d'intérioriser des règles.
--
Sur la "compréhension" du langage naturel par des IA, en voyant le niveau de qualité des traductions de Google Translate on peut se dire qu'on n'en est pas très loin.
Essaie d'expliquer ça au chatbot, ou a google translation, ou à n'importe quel programme que tu juges "pas très loin d'y arriver", et tu me diras ce qu'il comprend.
Tu as déjà regardé ce que faisait Watson à Jeopardy ?
Et tu sais que ce qu'on fait en NLU aujourd'hui notamment pour les requêtes ?
tu parles de programme entrainés à un jeu spécifique. Essaie juste de les faire jouer à un autre jeu que tu leur expliques avec un langage humain pour savoir si ils comprennent vraiment ce que tu leur dis, comme tu ferais en plaisantant avec un candidat humain (ou même un enfant de 5 ans), c'est tout !
Absolument pas, je parlais de ce qu'on sait déjà faire en reconnaissance du langage suite à ta remarque avant.
Et à chaque fois qu'on te fais remarquer que c'est possible, tu nous expliques que oui mais ça ne sait pas faire autre chose ce qui revient à dire "on n'a pas encore un IA forte" ce que tout le monde sait.
Vu tes posts, j'ai l'impression que tu n'as absolument aucune idée de ce qu'on sait déjà faire en IA ou pas et que tu te contentes de dire partout "ça ne marche pas" pour des raisons qui t'appartiennent et qui ont été exposées par Jiav plus haut.
Il a eu l'intelligence de quitter le fil qui dérive dans la même direction que tout ceux sur l'IA ici et je vais faire pareil.
je ne dis pas que rien ne marche, je dis que pour des choses qui sont élémentaires pour un être humain à partir où il commence à maitriser le langage (comme comprendre la règle d'un jeu simple expliqué en langage humain), on n'a rien , à ma connaissance, qui y ressemble pour les machines. Les machines sont entrainées à faire le maximum comme les humains ou mieux que les humains, elles y arrivent pour certaines tâches y compris complexes, mais pour certaines taches élémentaires, elles n'y arrivent pas du tout.
Je pense que tous les spécialistes le savent bien, en revanche je ne suis pas sur du tout que c'est évident pour tout le grand public et même les lecteurs du fil, pour qui ce n'est pas évident que quand un chatbot semble avoir une conversation "raisonnable", ça n'implique pas du tout une "compréhension", ou même un embryon de compréhension du langage, comme le prouve ce test simple.
Soit c'est vrai , soit c'est faux . Plutôt de te fâcher (pourquoi se fâcher au fait?), donne un contre-exemple si tu n'es pas d'accord.
Dernière modification par Archi3 ; 01/11/2017 à 09h02.
C'est à dire ?
C'est-à-dire que vous aurez un avertissement pour message inapproprié/agressif.
Merci de lire ceci. http://forums.futura-sciences.com/an...ml#post5972800
Dernière modification par mh34 ; 01/11/2017 à 12h09. Motif: erreur de terme!
"Музыки хватает на всю жизнь, но целой жизни не хватает для музыки"
Rachmaninoff
Malheureusement je crains qu'il ne faille mettre un peu les mains dans le cambouis technique avant de bien apprécier la prouesse. Et encore une fois, ce n'est pas le niveau de performance qui est l'aspect le plus impressionnant ni le plus troublant. Henri a bien cerné le phénomène (même s'il attribue ma citation à Archi3 ): le peu de calculs nécessaires pour dépasser une capacité humaine qu'on pensait encore lointaine est troublant, de même que la simplicité de l'approche qui aura mené à cet exploit.
Tu as raison que je préférerais une discussion plus technique, et Archi3 a raison que cela ne vaut pas la peine de s'énerver pour si peu. Je suis un peu responsable de la dérive puisque c'est moi qui ai mentionné l'impact sur mon évaluation subjective de l’imminence d'une machine intelligente dans le futur, éventualité qui fait beaucoup réagir les gens qui n'acceptent pas qu'ils en sont une maintenant. Un exemple de machine qui sache répondre en langage humain? C'est dans le miroir.
On s'extasie en effet sur la méthode utilisée pour battre l'humain au go qui s'apparente à programmer une cellule souche en vue de donner une intelligence plutôt que de tenter de programmer directement une intelligence. On approche doucement de la méthode pour déboucher sur un IA forte.
personnellement j'accepte tout à fait que les hommes ont une intelligence d'hommes, les vaches ont une intelligence de vache et les machines ont une intelligence de machine. Les hommes n'ont pas une intelligence de vache, les vaches n'ont pas une intelligence d'hommes, les machines n'ont pas une intelligence de vache ...(et ce n'est pas à cause de limitations du nombre de neurones ou de complexité de calcul).
Dernière modification par Archi3 ; 01/11/2017 à 20h26.
Je ne comprends pas trop... le jour où l'on créera un androïde aussi performant qu'un être humain lambda, on pourra arguer des capacités de notre cerveau.
Une IA sur un ordinateur fixe, c'est encore un peu trop facile, car le cerveau humain gère l'ensemble de nos mouvements et tout un tas d'autres mécanismes.
Je suis de l'avis de Archi3 : on a des programmes très performants dans des domaines précis, mais ça ne va pas plus loin pour le moment.
Bonjour,
Est qu'en est il des réseau de neurones en hardware ? Ceux-ci ont ils vocation à prendre le relais ou les simulations informatiques, très commodes à utiliser, sont suffisantes et l'industrie table sur cette voie pour le futur ?
L'industrie table plutôt sur des puces spécialisés qui ressemblent un peu à des cartes graphiques (GPU), avec certaines particularités qui sont choisies spécialement pour rendre les programmes de deep learning plus rapides (par exemple en sacrifiant les capacités de calculs en nombres flottants de grande tailles, qui ne sont pas indispensables aux réseaux de neurones). Google est le premier avec leur TPU (qu'ils gardent pour eux, ce qui est probablement une façon de dire à tous les experts: si vous voulez faire ce qui se fait de mieux, venez chez nous), mais on voit des concurrents qui commencent à remuer.
Cela dit, 'réseau de neurones en hardware' n'est pas nécessairement une mauvaise description. Ce qui est certain c'est qu'il n'est à peu près plus possible de travailler avec des CPU uniquement, il faut à minima des cartes graphiques.
La puce de Google est du même type que SpiNNaker / Truenorth ou c'est différent ?
Mais pourquoi les recherches industrielles continue d'aller sur de l'émulation de neurones grâce à de l'informatique standard ? Le but n'est justement pas de trouver une nouvelle façon de "calculer" en se détachant du principe de la machine de Von Neumann ?
Et quand est-il des réseaux récurrent en informatique ?
Différent. Les deux que tu cites sont une étape plus loin dans la spécialisation. Hyperefficace si tu veux faire une modélisation de neurones physiques réalistes ou de quasi-neurones à apprentissage Hebbien (respectivement), mais quasi inutilisable pour tout autre tâche, incluant les programmes de machine learning courants.
[en remplaçant 'informatique standard' par 'processeurs généralistes distribués'] Une des raisons c'est qu'on s'est rendu compte que l'émulation de neurones réalistes ne semble pas indispensable. En particulier une des grandes nouveautés en apprentissage profond c'est qu'on peut le plus souvent utiliser des ReLu (fonctions d'activation très simples, qui ont donc l'avantage d'être très rapides à calculer) plutôt que des sigmoides ou des tanh qui sont plus proches des fonctions d'activations des neurones biologiques. Une autre raison c'est le prix.
Toutes ces approches sont hors Von Neumann.
C'est une architecture standard en deep learning.
Merci pour l'information, j'irai jeter un œil.Différent. Les deux que tu cites sont une étape plus loin dans la spécialisation.
Une des raisons c'est qu'on s'est rendu compte que l'émulation de neurones réalistes ne semble pas indispensable.Une simple fonction non linéaire est nécessaire, on est d'accord. Mais le principal intérêt d'un réseau de neurones c'est d'avoir une logique de calcul autre que celle d'un ordinateur. Si c'est pour faire une simple addition, un pc reste le plus performant. Si la tache est maintenant de reconnaitre une forme, là un réseau prend tout son sens, il fonctionne d'une façon globale. Du coup j'ai du mal à comprendre pourquoi on continue à simuler informatiquement un réseau, on devrait passer à une autre approche. A moins que la puce de Google par exemple soit physiquement pas basée sur de l'informatique traditionnel. Sinon ne risquons nous pas d'être très vite limité par la puissance de calcul ?Toutes ces approches sont hors Von Neumann.
(une analogie serait de faire une mesure numérique et d'augmenter la discrétisation au maximum pour s'approcher au plus près d'une mesure analogique : par principe la méthode est bancale)
Merci pour le lien, je n'ai pas encore lu mais ça à l'air intéressant.C'est une architecture standard en deep learning.
Mais le deep learning n'est pas basé sur du feedforward ? Il y a donc des réseaux en informatique qui font intervenir des feedbacks sur leurs propres neurones ?
Je n'ai probablement pas bien compris ta question. Une carte graphique, pour toi, c'est une logique d'ordinateur ou c'est une logique différente d'une logique d'ordinateur?
Non. Oui. Tu confonds probablement les convnets (un type de réseau profond célèbre) avec le deep learning en général.
Pourquoi ce n'est pas Intel, AMD, IBM, Nvidia et ATI qui sont à la pointe dans l'IA ?
Franchement, c'est un peu fou de laisser ce marché aux géants de l'Internet.
Je sais que Nvidia s'est lancé dans la course, mais ils y vont un peu tard. Le pire, c'est que leurs GPU semblent être très performants dans le domaine.
Salut,
ça a l'air évident pour tout le monde mais c'est quoi la supériorité des GPU par rapport aux CPU dans le cas de la simulation de réseaux de neurones ? Je ne connais pas l'architecture des GPU, mais vu que c'est concu à la base pour les processus graphiques, à priori je ne vois pas pourquoi on les privilégierait pour l'application des réseaux de neurones par rapport par exemple à un support spécialisé créé à cet effet. Pour moi des CPU pour la simulation c'est suffisant, non ? Quel est le rôle des GPU dans tout ça ?
En fait c'est NVIDIA qui est a la pointe, et a vrai a peu pres toute seule dans les solutions commerciales. Il est possible que les TPU de google soit meilleurs, mais comme ils n'en vendent pas c'est difficile a verifier.
Un CPU doit tout faire sequentiellement, un GPU peut faire des centaines de millers de choses en parallele. Comme les reseaux de neurones sont tres facile a paralleliser, ils tournent beaucoup plus vite sur GPU.
D'accord, merci. Les GPU sont suffisamment génériques alors. J'avais regardé trois ou quatre heures de cours sur le deep learning afin de me faire une idée. Est-ce qu'on est toujours dans le flou en ce qui concerne la façon dont les neurones convergent vers la solution ou est-ce que ça reste plus ou moins une boîte noire ? Et en terme de de quantité, a-t-on une idée d'une taille critique nécessaire pour parvenir à un résultat correct, par exemple, une corrélation entre un nombre de neurones et un pourcentage d'erreur ?
J'ai l'impression en fait que ce qui nécessite le plus de ressources matérielles, c'est l'entraînement du réseau, non ? Ceci afin de parcourir un jeu de données le plus vaste possible dans le moins de temps possible. Mais une fois que le réseau est "initialisé" j'imagine qu'on peut le dupliquer sur une carte toute bête avec le nombre de CPU / GPU suffisant et avoir par exemple un alphago zéro pour trois fois rien dans x cm2 ?