Étiquette : réseau neuronal

Comment le Machine Learning aide les neuroscientifiques à hacker notre code neuronal

Comment le Machine Learning aide les neuroscientifiques à hacker notre code neuronal

Comment le Machine Learning aide les neuroscientifiques à hacker notre code neuronal

Un grand défi en neuroscience est de comprendre comment le cerveau encode l'information. Les réseaux de neurones se révèlent être des crackers de code géniaux.

Notre cerveau code ses informations

Chaque fois que vous déplacez votre main ou votre doigt ou votre globe oculaire, le cerveau envoie un signal aux muscles pertinents contenant l'information qui rend ce mouvement possible. Cette information est encodée d'une manière spéciale qui permet la transmission par les neurones et ensuite d'être appliquée correctement par les muscles concernés.
Exactement, comment ce code fonctionne ? C'est un mystère. Depuis longtemps, les neuroscientifiques sont en mesure d'enregistrer ces signaux lorsqu'ils traversent les neurones. Mais les comprendre est beaucoup plus difficile. Il existe différents algorithmes qui peuvent décoder certains de ces signaux, mais leurs performances sont inégales.

Une technique permet de lire le code du cerveau

Aujourd'hui, Joshua Glaser à Northwestern University à Chicago et quelques copains disent qu'ils ont développé une telle technique en utilisant la nouvelle technologie du ML (Machine Learning). Ils disent que leur décodeur dépasse considérablement les approches existantes. En effet, il est tellement efficace que l'équipe affirme qu'elle devrait devenir la méthode standard pour analyser les signaux neuronaux à l'avenir.

Partons dans le cerveau

L'information se déplace le long des fibres nerveuses sous la forme de pointes de tension (électrique). Les neuroscientifiques pensent que le schéma des pointes code les données sur les stimuli externes, tels que le toucher, la vue et le son. De même, le cerveau encode l'information sur les mouvements musculaires d'une manière similaire.

Comprendre ce code est un objectif important. Il permet aux neuroscientifiques de mieux comprendre l'information qui est envoyée et traitée par le cerveau. Il aide également à expliquer comment le cerveau contrôle les muscles.

Les neuroscientifiques aimeraient avoir de meilleures interfaces cerveau-machine. Les buts sont multiples (contrôler les fauteuils roulants, les prothèses et les jeux vidéo). «Le décodage est un outil essentiel pour comprendre comment les signaux neuronaux se rapportent au monde extérieur», disent Glaser et Co.

La méthode utilise le ML avec peu de données

Leur méthode est simple. Les neuroscientifiques ont formé des singes macaques. En effet, l'exercice est de déplacer un curseur vers une cible sur un écran. Pour cela les macaques utilisent une sorte de souris d'ordinateur. Dans chaque test, le curseur et la cible apparaissent sur un écran à des endroits aléatoires. Alors le singe doit déplacer le curseur horizontalement et verticalement pour atteindre le but.

Après avoir formé les animaux, Glaser et Co ont enregistré l'activité de dizaines de neurones dans les parties de leur cerveau qui contrôlent le mouvement : le cortex moteur primaire, le cortex prémoteur dorsal et le cortex somatosensoriel primaire. Les enregistrements ont duré environ 20 minutes.

Le travail d'un algorithme de décodage consiste à déterminer la distance horizontale et verticale que le singe déplace le curseur dans chaque test, en utilisant uniquement les données neuronales. Les algorithmes conventionnels fonctionnent en utilisant une technique statistique connue sous le nom de régression linéaire. Cela implique d'estimer une courbe qui correspond aux données, puis de réduire l'erreur qui lui est associée. Il est largement utilisé dans le décodage neuronal dans des techniques telles que les filtres de Kalman et les cascades de Wiener.

Plusieurs techniques mises à contribution

Les neuroscientifiques ont comparé ces techniques à une variété d'approches d'apprentissage mécanique basées sur des réseaux de neurones. Il s'agissait d'un réseau de mémoire à long terme, d'un réseau neuronal récurrent et d'un réseau de neurones feedforward. Tout cela provient des ensembles de données annotés, et plus l'ensemble de données est grand, plus ils apprennent.

Les résultats sont convaincants. Glaser et Co disent que les techniques de ML ont considérablement surpassé les analyses conventionnelles. "Par exemple, pour l'ensemble des trois domaines du cerveau, un décodeur du réseau de mémoire à long terme a expliqué plus de 40% de la variance inexpliquée d'un filtre Wiener", disent-ils.

"Ces résultats suggèrent que les techniques modernes de ML devraient devenir la méthodologie standard pour le décodage neuronal".

À certains égards, il n'est pas surprenant que les techniques de ML soient bien meilleures. Les réseaux de neurones ont été à l'origine inspirés par l'architecture du cerveau. C'est pourquoi, le fait qu'ils peuvent mieux modeler leur fonctionnement est attendu.

Des résultats qui doivent être re-analysés

L'inconvénient des réseaux de neurones est qu'ils ont généralement besoin de grandes quantités de données d'entraînement. Mais les neuroscientifiques ont délibérément réduit la quantité de données. Ainsi, ils ont constaté que les réseaux neuronaux étaient encore supérieurs aux techniques classiques.

C'est probablement parce que l'équipe a utilisé des réseaux plus petits. "Nos réseaux ont de l'ordre de 100 000 paramètres. Alors que les réseaux communs pour la classification des images peuvent avoir sur l'ordre de 100 millions de paramètres", disent-ils.

Le travail ouvre la voie à d'autres pour s'appuyer sur cette analyse. Glaser et Co ont mis leur code à la disposition de la communauté afin que les ensembles de données neurales existants puissent être réanalysés de la même manière.

La machine est créée sur la base d'un réseau humain

Il y a beaucoup à faire. Peut-être la tâche la plus importante sera de trouver un moyen de procéder au décodage neuronal en temps réel. Tous les travaux de Glaser et Co ont été effectués hors ligne après l'enregistrement des enregistrements. Mais il serait évidemment utile de pouvoir apprendre à la volée et de prévoir le mouvement tel qu'il se produit.

C'est une approche puissante qui a un potentiel important. Ce serait une surprise si la même chose n'était pas le cas du décodage neuronal.

Source

Comprendre les limites de l’apprentissage en profondeur (Deep Learning)

Comprendre les limites de l’apprentissage en profondeur (Deep Learning)

L'intelligence artificielle a atteint un haut niveau médiatique. Nous pouvons lire dans la presse que les entreprises ont remplacé les travailleurs par Watson de IBM et que les algorithmes battent les médecins dans leurs diagnostic. Chaque jour de nouvelles start-up sur l'IA sont créées tous les jours, prétendant résoudre tous vos problèmes personnels et d'affaires.

Les objets ordinaires comme des frigos et des routeurs Wi-Fi s'annoncent soudainement « powered by AI ». Des bureaux intelligents qui se souviennent de vos paramètres de hauteur, peuvent aussi commander votre déjeuner.

Tout ce brouhaha est crée par des journalistes qui ne prennent pas le temps de discuter avec des ingénieurs ou des Digital Evangelist afin de s'assurer quelles entreprises utilisent vraiment de l'Intelligence Artificielle. Tant de fausses idées sont véhiculées. Lors de conversations passionnantes, je me retrouve à expliquer ce qui est possible et la limite actuelle de ce qui ne l'est pas (encore) pour l'Intelligence Artificielle.

Le Deep Learning est plus une prouesse qu'une promesse

Pour être claire d'entrée de jeu, les réseaux de neurones ont été crée dans les années 60. C'est donc une technologie vieille de plus de 50 ans ! Le Deep Learning est issu des réseaux de neurones artificiels. Les exploits ne sont visibles que depuis quelques années car nous avons aujourd'hui deux choses essentielles : les data et la puissance de calcul pour les traiter.

Les résultats sont indéniablement impressionnants. Les ordinateurs peuvent désormais reconnaître des objets dans les images et la vidéo et retranscrire au texte la parole mieux que les humains. Google a remplacé l'architecture de Google Translate par des réseaux de neurones, et maintenant la traduction automatique est aussi proche de la performance humaine.

L'apprentissage profond a aussi des problèmes profonds

Le problème le plus important aujourd'hui pour l'IA est l'abstraction et le raisonnement. Les algorithmes de perception et de Reinforcement Learning nécessite une quantité monstrueuse de données. Ces algorithmes ont pour limite de ne pas planifier leur action et ne font qu'une simple reconnaissance de modèle.

En revanche, les humains apprennent avec très peu d'exemples, peuvent faire de la planification à très long terme, et sont capables de former des modèles abstraits d'une situation et [manipulation] de ces modèles pour atteindre une généralisation extrême.

Pour simplifier : lorsqu'un enfant commence à parler, on lui dit "voiture" on pointe du doigt (connaissance du modèle), l'enfant répète "voiture", le parent lui répond "oui !" (acquisition du modèle). Maintenant une voiture peut être dangereuse, surtout lorsque nous traversons une route. L'enfant comprend "toutes les voitures sont dangereuses en roulant" (processus de généralisation). Lorsque l'enfant imagine traverser la route, il sait qu'il devra faire attention (processus de planification).

Comment ce cas est traité par le DP et le RL

Tout cela, était pour l'apprentissage humain. Pour un réseau de neurone c'est tout autre. Reprenons le même cas que représente le danger d'une voiture.

Pour l'apprentissage supervisé, vous aurez besoin d'énormes ensembles de données de situations différentes. D'une part il faudra reconnaitre une voiture dans n'importe quel angle, luminosité, vitesse différents. Et pour chaque cas des actions à prendre clairement identifiées. Comme « en arrêt » ou « en mouvement ». Ensuite, vous aurez besoin de former un réseau de neurones pour apprendre la correspondance entre la situation et l'action appropriée.

Pour l'apprentissage par renforcement, vous donnez à l'algorithme un but et le laisser déterminer indépendamment les actions idéales à prendre. Comme nous l'avions vu dans mon billet sur le Reinforcement Learning, l'ordinateur apprend en faisant des erreurs. Il va donc "mourir" des milliers de fois avant d'apprendre à éviter les voitures dans différentes situations. Et entre nous, nous n'avons qu'une vie et heureusement que notre cerveau n'agit pas de cette manière !

En effet, nous avons cette formidable capacité de "raisonnement", celui qui nous permet d'imaginer. C'est-à-dire de créer une réalité "imaginaire" et voir le pire comme se faire écraser par une voiture.

“You cannot achieve general intelligence simply by scaling up today’s deep learning techniques,” warns Chollet*.

"Vous ne pouvez pas obtenir des renseignements généraux simplement en multipliant les techniques d'apprentissage en profondeur d'aujourd'hui ", prévient M. Chollet

*François Chollet, est un ingénieur en IA chez Google. Aussi créateur de la bibliothèque de Deep Learning Keras.

Une limite, limite beaucoup l'apprentissage

Alors que les réseaux de neurones obtiennent des résultats statistiquement impressionnants à travers des échantillons de grande taille. Ils sont « individuellement peu fiables » et souvent font des erreurs que les humains ne feraient jamais, comme classer une brosse à dents comme une batte de base-ball.

brosse-à-dent-batte-baseball
brosse-à-dent-batte-baseball

La limite que l'ensemble des données soit erronée a joué des tours à Microsoft et Twitter. J'avais écris un article sur Siècle Digital sur ce sujet.

Peut-on surmonter la limite du Deep Learning ?

Je t'invite à lire la suite sur mon LinkedIn.

Comment fonctionne le Deep Learning ?

Comment fonctionne le Deep Learning ?

Avant de lire cet article je te conseille de lire la première partie ici

Comment fonctionne le Deep Learning ?

Compte tenu de son importance, il est utile de comprendre les bases de fonctionnement du Deep Learning (DL). Le DL consiste à utiliser un «réseau neuronal artificiel » - une collection de «neurones» (calculatrices logicielles) reliés entre eux.

Tout d'abord, un neurone artificiel comporte une ou plusieurs entrées. Il effectue un calcul mathématique et le délivre, on appelle cela : une sortie. La sortie dépendra à la fois du « poids » de chaque entrée et de la configuration de la «fonction d'entrée-sortie» dans le neurone (Figure 5, ci - dessous). Nous représentons un neurone par une bulle grise avec la lettre "f". La fonction d'entrée-sortie peut varier. Donc un neurone peut être :

  • une unité linéaire, la sortie est proportionnelle à l'entrée pondérée totale;
  • une unité de seuil, la sortie est fixée à l'un des deux niveaux, si la puissance totale est supérieure à une valeur déterminée; ou
  • une unité sigmoïde, la sortie varie de façon continue, mais pas de façon linéaire comme les changements d'entrée.

Un réseau de neurones est crée lorsqu'ils sont connectés les uns aux autres; la sortie d'un neurone devient une entrée pour un autre (figure 6).


Pour comprendre, les réseaux de neurones sont organisés en plusieurs couches de neurones (d'où le terme d'apprentissage «profond»). La «couche d'entrée» reçoit des informations du réseau et traitera - par exemple, une série d'images. La «couche de sortie» fournit les résultats. Entre les couches d'entrée et de sortie sont des «couches cachées» où la plupart des activités se produisent.

En règle générale, les sorties de chaque neurone à un niveau plus bas du réseau de neurones sert comme l'une des entrées pour chacun des neurones de la couche suivante (figure 7).

Prenons l'exemple d'un algorithme de reconnaissance d'image. Le but est de reconnaître des visages humains en images. Lorsque les données sont introduites dans le réseau de neurones, les premières couches identifient les modèles de contraste local. C'est-à-dire les caractéristiques «bas niveau» tels que les bords.

Comme l'image traverse le réseau, progressivement les caractéristiques «de niveau supérieur» sont extraites - des bords à nez, de nez aux visages (figure 8).

Ainsi, lors de sa couche de sortie, en fonction de sa formation le réseau neuronal fournira une probabilité que l'image est du type spécifié (tasse : 97%; tasse à café 88%; drink 54%). On peut le voir sur le screenshot que j'ai pris avec mon mobile (clique sur l'image tu verras et regarde en bas).

deep learning_screenshot

Apprentissage du deep learning

En règle générale, les réseaux de neurones sont formés en les exposant à un grand nombre d'exemples. Les erreurs sont détectées et les poids des connexions entre les neurones sont accordés en temps réel par l'algorithme dans le but d'améliorer les résultats. En effet, le processus d'optimisation est largement répété, après quoi le système est déployé et les images non étiquetées sont évaluées.

Pour comprendre, les schémas précédents représentent un réseau neuronal simple mais leur structure peut varier et la plupart sont beaucoup plus complexes. En fait, les variations incluent les connexions entre les neurones sur la même couche; nombres différents de neurones par couche; et la connexion du neurone émet dans les niveaux précédents du réseau (réseaux neuronaux 'récursives').

Dès lors, la conception et l'amélioration d'un réseau de neurones nécessite beaucoup d'habileté. Ainsi, les étapes comprennent la structuration du réseau pour une application particulière. Aussi, ils fournissent un ensemble d'entrainement adéquate avec des données. Enfin, le réseau de neurone ajuste la structure du réseau en fonction des progrès, et en combinant des approches multiples.

Pourquoi est-IA importante ?

Premièrement, l'IA est importante car elle aborde des problèmes profondément difficiles. Toutefois les solutions à ces problèmes peut être appliquées à des secteurs importants pour le bien-être humain. Tels que la santé, l'éducation, le commerce, le transport, les services publics et le divertissement. Depuis les années 1950, la recherche en IA a mis l'accent sur cinq domaines de recherche :

  1. Raisonnement : la capacité de résoudre les problèmes par déduction logique
  2. Connaissance : la capacité de représenter la connaissance du monde (la compréhension qu'il y a certaines entités, des événements et des situations dans le monde; ces éléments ont des propriétés, et ces éléments peuvent être classés.)
  3. Planification : la capacité à définir et à atteindre l'objectif (il y a un état spécifique à venir du monde qui est souhaitable, et des séquences d'actions peut être entreprises)
  4. Communication : la capacité de comprendre le langage écrit et parlé.
  5. Perception : la capacité de déduire des choses sur le monde à partir d'images visuelles, sons et autres entrées sensorielles.

Elle est précieuse, car dans de nombreux contextes, les progrès en question offrent des capacités révolutionnaires, plutôt que de l'évolution.
Dans les prochaines années, les capacités des Machines Learning (ML) seront utilisées dans presque tous les secteurs dans une grande variété de processus. Considérant une fonction unique d'entreprise par exemple, les ressources humaines. Cela illustre la gamme de procédés pour lesquels la ML sera appliquée :

  • le recrutement peut être amélioré avec un ciblage amélioré, correspondance intelligente de l'emploi et de l'évaluation partiellement automatisé;
  • la gestion de la main-d'œuvre peut être améliorée par une planification prédictive des besoins en personnel et les absences probables;
  • l'apprentissage de la main-d'œuvre peut être plus efficace que le contenu mieux adapté à l'employé est recommandé; et
  • le taux de désabonnement des employés peut être réduit en prévoyant que les employés de valeur peuvent être à risque de quitter.

La machine et deep learning deviendront normalisés

Au fil du temps , nous attendons l'adoption de la ML à devenir normalisée. La ML deviendra une partie de boîte à outils standard de développeur, améliorant d'abord les processus existants, puis de les réinventer.

Les conséquences de second ordre de la Machine Learning dépassera son impact immédiat. Le Deep Learning a amélioré la vision par ordinateur, par exemple, au point que les véhicules autonomes (voitures et camions) sont viables. Mais quel sera leur impact ? Aujourd'hui, 90% des personnes et 80% du fret sont transportés par la route au Royaume-Uni. Si on prend uniquement le domaine des véhicules autonomes voici l'impact (chiffres du Royaume-Uni) :

  • la sécurité (90% des accidents sont causés par l'inattention du conducteur)
  • l'emploi (2,2 millions de britanniques travaillent dans le secteur du transport et de la logistique, recevant environ 57 milliards de livres sterling en salaires annuels)
  • assurance (une chute de 63% des primes d'assurance automobile au fil du temps)
  • l'économie du secteur (les consommateurs sont susceptibles d'utiliser des services de transport à la demande à la place de la propriété de la voiture);
  • le débit des véhicules; aménagement urbain; réglementation et plus.

Article suivant : Pourquoi l'IA arrive à son âge d'or
Source