Vous entendez parler du deep learning, mais vous n’en avez pas encore compris la profondeur ? Cette vidéo est faite pour vous !

Fidèle à mon habitude, voici la liste des choses essentielles, mais pourtant éliminées par manque de place et pour rester accessible au plus grand nombre.

L’apprentissage non-supervisé

Ma vidéo laisse penser que l’apprentissage automatique se limite aux cas où l’on cherche à prédire une sortie (Y) en fonction d’une ou plusieurs entrées (X). C’est ce qu’on appelle en termes techniques de l’apprentissage « supervisé »; où une des variables joue un rôle privilégié, puisqu’on cherche à la prédire.

Il existe en réalité un autre grand domaine, l’apprentissage « non-supervisé », où d’une certaine manière toutes les variables sont mises sur un pied d’égalité au départ, et où la question n’est pas « peut-on prédire Y à partir de X ? », mais plutôt « que peut-on dire d’intelligent sur la manière dont les variables sont distribuées ? »

Prenons un exemple simple, imaginons que je vous représente le diamètre et la hauteur d’une série d’arbres, et que j’observe la chose suivante.

arbres non supervisé

Avec votre puissant cerveau d’être humain, vous remarquez un truc : non pas que l’une des variables dépende de l’autre, mais que la manière dont elles sont distribuées n’est pas « quelconque ». On n’a pas affaire à un bête nuage de point gaussien, mais à des données dans lesquelles on devine une structure sous-jacente. Les algorithmes qui s’efforcent de capturer ce genre de relations sont ceux d’apprentissage « non-supervisé ».

En termes formels, l’apprentissage non-supervisé cherche à dire des choses intelligentes sur p(X), la densité de probabilité des variables X; tandis que l’apprentissage supervisé cherche à dire des choses intelligentes sur p(Y|X), la probabilité de « Y sachant X ». En poussant un peu, on peut voir l’apprentissage supervisé comme un cas particulier de l’apprentissage non-supervisé.

Pour les puristes : j’ai fait aussi l’impasse sur l’apprentissage par renforcement (utilisé notamment dans le cas de la mise au point de l’algorithme AlphaGo).

Réseaux de neurones vs SVM

Autre grosse injustice de ma vidéo : je fais comme si l’apprentissage supervisé se limitait aux réseaux de neurones. Ça n’est évidemment pas le cas ! En particulier avant l’avènement des réseaux profonds, les algorithmes qui régnaient en maîtres étaient plutôt les « Support Vector Machine » (SVM). Contrairement à ce que je laisse sous-entendre, les meilleurs algorithmes de reconnaissance d’image d’avant le deep learning ne se basaient pas sur des réseaux peu profonds, mais plutôt sur des SVM (précédés comme je le dis dans la vidéo par des algorithmes de construction de caractéristiques du type SIFT).

J’ai été assez silencieux sur l’architecture particulière des réseaux profonds qui « marchent » en reconnaissance d’image. Il s’agit de ce qu’on appelle les réseaux convolutionnels, dont Yann Le Cun est le pionnier. Ces réseaux agissent à chaque « couche » en effectuant une opération de convolution de l’image avec un filtre donné, et les éléments de matrice du filtre sont justement les poids du réseau, qu’on ajuste au cours de l’apprentissage. Suivant ces poids, ce filtre peut agir en faisant ressortir certaines caractéristiques locales de l’image (bords, arêtes, zones uniformes, etc.) et en jouant sur les poids, on modifie la nature de ce que le filtre est capable de détecter. C’est en enchainant des opérations de ce genre qu’on peut avoir des successions de convolutions qui font ressortir des caractéristiques de plus en plus abstraites, génériques (et donc « de haut niveau ») de l’image.

Comme vous l’aurez compris, ma fascination est totale pour les modèles génératifs. Deux exemples de plus que je n’ai pas eu le temps et la place de caser. Quand on fait tourner le modèle génératif des chambres à coucher, on peut le « bidouiller » de sorte qu’il oublie le concept de fenêtre, et il va se mettre à produire des pièces sans fenêtres !

bedrooms_window_drop_test
Dernier exemple ultra-récent : la colorisation automatique d’images. L’algorithme cherche à partir d’une photo noir et blanc à deviner quelles peuvent être les couleurs d’origine de l’image. Je dois dire que le résultat est assez bluffant.

Capture d’écran 2016-04-07 à 21.36.14

Références

Russakovsky, Olga, et al. « Imagenet large scale visual recognition challenge. » International Journal of Computer Vision 115.3 (2015): 211-252. http://arxiv.org/pdf/1409.0575

Radford, Alec, Luke Metz, and Soumith Chintala. « Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks. » arXiv preprint arXiv:1511.06434 (2015). http://arxiv.org/pdf/1511.06434

Zeiler, Matthew D., and Rob Fergus. « Visualizing and understanding convolutional networks. » Computer vision–ECCV 2014. Springer International Publishing, 2014. 818-833. http://arxiv.org/pdf/1311.2901

Richard Zhang, Phillip Isola, Alexei A. Efros Colorful Image Colorization http://arxiv.org/abs/1603.08511

Les personnages de manga : https://github.com/mattya/chainer-DCGAN

46 Comments

  1. Bonjour,

    Excellent billet, accompagné d’explications très accessibles.
    Vivement le prochain !
    🙂

    Amicalement
    Gus

  2. Je suis fasciné moi aussi ! C’est monstrueux ce qu’ils arrivent à faire maintenant !
    Superbe vidéo et article comme d’habitude.

    Il y a une typo : « En termes formels, l’apprentissage non-supervisé cherche à dire des choses intelligentes sur p(X), la densité de probabilité des variables X; tandis que l’apprentissage non-supervisé cherche à dire des choses intelligentes sur p(Y|X), la probabilité de « Y sachant X ». » Le mot « non-supervisé » apparaît deux foix. J’imagine que le premier est le vrai non-supervisé.

    Je rajouterais alors toutefois que ce qui est vraiment intéressant, et c’est ce qu’illustent les dessins à la fin, c’est surtout p(X|Z), où Z est un sous-ensemble (aléatoire) de variables de X déjà observées (typiquement, l’image sans couleur). C’est surtout le cas en speech recognition, où Z va être les phrases précédentes qui permettent de situer le contexte…

      • Votre vidéo est concise, très didactique, bravo.
        Andrew Ng, le fondateur du projet Google Brain, déclare à propos du ‘deep learning’ : « Ce qui est remarquable, c’est que le système a découvert le concept de ‘chat’ lui-même. Personne ne lui a jamais dit que c’était un ‘chat’… ».
        La question est d’une très grande d’importance car la notion de concept, en tant que représentation d’un ensemble d’objets ayant des caractères communs conduisant à une action déterminée, est essentielle à la compréhension de la puissance opérative du processus de cognition que possèdent les structures vivantes. Cognition qui leur permet d’assurer leur pérennité, donc leur état de vie, face aux contraintes infiniment variables de leur environnement.
        L’analyse fonctionnelle d’un robot qui serait autonome, artificiellement vivant, et à ce titre capable de s’adapter aux contraintes infiniment variables de l’environnement à l’instar des êtres vivants, montre que les concepts, en tant que processus opératifs, fondent formellement son autonomie.
        Dire que le système ‘deep learning’ a auto-découvert le concept de ‘chat’ par le seul fait que le neurone Nc a été activé lors de la présentation d’un chat à la rétine du système, n’est cependant pas logiquement fondé.
        La notion même de concept implique que le neurone Nc qui a été activé parmi T neurones soit à l’origine d’une action spécifique comme de mettre en marche un dispositif mécanique adéquat qui fournit du lait au chat. Alors que l’activation du neurone Nt parmi T neurones correspondant à la présentation d’un tigre devrait conduire, par exemple, à l’activation d’un dispositif approprié donnant de la viande au tigre. Or il s’avère que le neurone Nc est formellement indiscernable – cf. le ‘principe d’indiscernabilité’ * – des autres neurones T comme le neurone Nt. Seul un technicien, une structure vivante, est capable d’effectuer, pour son plaisir, cette action discriminante qui consiste à associer à la vision qu’il a du chat alors disposé devant la rétine du système ‘deep learning’, l’activation du dispositif qui donne du lait à ce chat.
        Avec l’opération ‘chat’, le système ‘deep learning’ n’a fait que spontanément s’ordonner en fonction des règles de construction du système imposées par un technicien, à l’image de la formation d’un cristal, une structure elle aussi ordonnée, mais qui résulte quant à elle des interactions physico-chimiques obligées entre les éléments. Le système ‘deep learning’ ne s’est nullement auto-organisé, état qui impliquerait la création de concepts en tant que sources d’actions. Le ‘deep learning’ n’opère qu’une projection en aveugle de l’espace des données, de grandes dimensions, dans un espace de représentation (sortie) de dimensions réduites, qui conserve au mieux la structure topologique des données.
        Bien que très efficient, le traitement de l’information effectué par le système ‘deep learning’ n’est donc pas une explication pertinente à la capacité opérative du processus de cognition qui justifie l’existence même des êtres vivants.
        * http://www.philothema.com/deep-learning_autonomie.pdf

  3. Merci pour cette vidéo tres instructive, je sais maintenant comment sont colorisées les archives de la premiere guerre mondiale et les gens qui ajoutent la couleur aux dessins animés ou aux BDs vont -ils se retrouver au chômage? Ou le sont-ils déjà?

    • Je ne pense pas car ces techniques sont très récentes (depuis 2012 grosso modo). Les articles présentés sont des « proof of concept » très impressionantes mais on est encore à la sortie du labo. Les applications commerciales ne sont pas encore tout à fait prêtes en particulier car on obtient de très beau succès mais aussi de gros plantages.

    • David Reply

      Je pense qu’ils ont encore un peu de temps, l’article dont j’ai extrait la photo a été publié il y a quelques jours seulement. C’est donc de la recherche « toute fraiche » !

  4. Pingback: Le deep learning | OTenKipass | Scoop.it

  5. Super vidéo encore une fois. Étant étudiant en statistiques et en informatique décisionnelle, je suis sensibilisé aux thématiques du machine learning et du deep learning. Je trouve que tu as formidablement bien vulgarisé l’ensemble. Personnellement je peine à expliquer à ma famille ce que je fais ! Chapeau.

  6. Encore une fois, un sujet et un article passionnant !! J’ignorais tout cela et j’en suis bluffé !

  7. Des années que j’entends parler de machine learning, que je vois passer des articles sur le sujet, je n’avais encore rien vu d’aussi clair, un grand bravo !

  8. Pingback: Le deep learning | C@fé des Sciences | ...

  9. Pingback: Histoire de l'informatique | Pearltrees

  10. Je n’ai lu que le billet pour le moment mais je peux apporter une petite précision sur l’ancienne génération d’algo de classif supervisée en reconnaissance visuelle. En fait, le SIFT n’est que la couche la plus basse et décrit une image par un « sac de mots visuels ». En particulier, le nombre de vecteurs SIFT est variable selon l’image et ne permet donc pas d’alimenter directement un SVM. Il « faut » pour cela passer par une étape de codage (relative à un dictionnaire obtenu par apprentissage non supervisé en général — Kmeans) puis d’agrégation (pooling) qui aboutissent à une description de l’image dans un espace vectoriel de dimension fixe (celle du dictionnaire) permettant l’apprentissage par SVM [Csurska et al, ECCV 2004].

    Un raffinement qui vous plaira si vous aimez les modèles génératifs est la description par noyau de Fisher (Fisher vectors) proposée par F. Perronnin ([Perronnin et Dance, CVPR 2007]… [Jégou et al. PAMI 2012]). Associé à un SVM, cette description permet de mélanger approche générative et discriminative. L’idée est de décrire une image par son gradient vis-à-vis de la log-vraisemblance induite par le dictionnaire (modélisé par une mixture de gaussienne), c’est-à-dire en termes plus clair par sa variation vis-à-vis du « monde moyen des images ».

    • David Reply

      Merci pour les précisions !
      Non je ne connaissais pas les modèles génératifs par noyau de Fischer, je vais aller jeter un oeil à ça !

  11. Pingback: Le deep learning | Digital Analytics | Scoop.it

  12. @ David

    Je pense que la complexité sera la limite de l’intelligence artificielle qu’elle est efficace domaine par domaine, mais pas en mode pluridisciplinaire. Le deep learning est une analyse détaillée de données numérisées avec un fort taux de prédictibilité, mais non sans erreurs (sèche-cheveux, dromadaire). Par exemple, si nous donnions à un deep learning le contrôle de la circulation routière, des petits malins s’amuseraient à l’induire en erreur ; alors, sa réaction serait une réaction indésirable comparable à une peur immodérée chez l’homme.

    Pourtant, cela n’enlève rien à la qualité et à l’efficacité de l’intelligence artificielle, mais n’y voyons pas un équivalent à l’homme ou, encore, un remplaçant. D’abord, nous ne combattons pas dans la même catégorie puisque, nous, nous sommes vivants ; alors, qu’elles (les futures machines intelligentes) sont animées c’est-à-dire qu’elles sont la voile et nous, le vent.

    ————————————-

    Comme à mon habitude, j’ai une autre de mes bêtises à vous proposer et à proposer à vos lecteurs.

    http://chaman.fr.over-blog.net/2016/04/la-masse-d-un-photon-est-elle-nulle.html

    Bien à tous…

  13. Salut !

    J’aimerais savoir si tu as de la littérature scientifique à conseiller à propos des réseaux de neurones : ouvrages de référence, des articles type review, etc. J’imagine qu’il en existe un très grand nombre sur les internets, mais si tu en as à conseiller, je suis preneur 🙂

  14. Dommage que tu n’ai abordé l’apprentissage par renforcement. J’aurai apprécié avoir ton point de vue là dessus!

  15. Pingback: Le deep learning | Digital.Toulouse - Le num&ea...

  16. Pingback: Robotique et Intelligence artificielle | Pearltrees

  17. Pingback: Intelligence artificielle - NBIC et big data | Pearltrees

  18. Pingback: Christel Coeur (christelcoeur) | Pearltrees

  19. Pingback: Le deep learning | Intelligence Artificielle et Transhumanisme

  20. DEEP LEARNING : est-ce que vous avez au moins essayé le « DIT-PEU leurre-nie-in-gueux » ?
    C’est seul-luit (out cells…) qui se figure que la conscience n’est pas créatrice en continu de la naissance à la mort, et qui se la joue ‘athée’ pur et dur…! Mais celui-là ne dure pas !

    Il ne croit pas à l’intrication quantique de ses atomes d’avec ce qu’il choisit ! D’où le matérialisme extrémiste actuel et ceux à « cale-hache-nie-coche » (cris-peu-taie) en « plein » désert…, et jantes passent… (« ânes-analyses d’h’ii-mages » en prime).

    Dans un quartier totalement inconnu d’une grande ville, vous dites que vous êtes guidé de l’intérieur pour rejoindre des axes connus et vous le serrez à chaque carrefour, autant que vous maintiendrez cette force précise intérieure sans en douter !

    De même en vous disant en sécurité totale sur votre route, sans anticiper de « risques d’accidents ». Si je ne l’avais pas fait sur route de montagne avant de franchir quelques tournants sans visibilité, je ne serais pas là pour en témoigner, mais au fond d’un Ra-vain…!§!

    Le véhicule à conduite intérieure auto-NOMME n’est pas que la Citroën toute noire de mon enfance (si-trop-en / haine…), ni la croyance qu’un mariage avec force klaxons vous sauvera de vos dénigrements « innocents » de vous-même ?

  21. Pingback: IA & Bots | Pearltrees

  22. Pingback: Morgane… de toi? – Le Syndrome de Peter Parker

  23. Pingback: Deep Learning, késako ? – Binary Brain

  24. Pingback: L’intelligence artificielle peut-elle être créative ? – Binary Brain

  25. Pingback: Le deep learning | Digital Attitude | Scoop.it

  26. Pingback: Le deep learning – Pascal Wisniewski Digital Attitude

  27. Merci pour votre article qui m’a permis de mieux comprendre l’IA pour mon futur mémoire 🙂 !

    Continuez comme ça, c’est très intéressant!

  28. J’ai fait aussi avec les attentats : tous se réclament du Coran. Et un autre aussi : pas d’islam (ou résiduel pour le Brésil), pas d’attentats : Corée, Japon, Pérou, Uruguay. Je fais comme l’apprentissage profon, je généralise et ça marche…

  29. Qu’est-il possible d’apprendre avec seulement des exemples positifs et pas d’exemple négatif ? J’imagine que le système qui reconnait les chats a appris à les reconnaître sur la base de nombreuses photos contenant des chats et de nombreuses photos sans chat. Mais y a t-il des systèmes qui seraient capables, après qu’on leur ai soumis des milliers de photos contenant des chats, de dire lorsqu’on leur soumet une première fois une photo sans chat : « Il y a quelque chose d’inhabituel sur cette photo » ? Ou à l’inverse, la première fois qu’on leur soumet une photo contenant un chat, de découvrir qu’il y a un truc nouveau, encore jamais vu, sur cette photo ? Un peu comme un humain qui voit un chat pour la première fois.

  30. A reblogué ceci sur Lab & Fabet a ajouté:
    Machine Learning, Deep learning une excellente présentation des concepts et de leurs utilisations.

  31. Pingback: deep learning: ce qu'une machine ne pourra pas apprendre -

  32. Excellent:
    Cela laisse penser que la conduite automatique des véhicules, ce n’est pas pour demain.
    La reconnaissance ne sera jamais fiable à 100% et le camion qui coupe la route pourrait ne pas être reconnu par le système, ce qui est arrivé semble t il à une Tesla
    Par contre ce sera sans doute très efficace concernant les prédictions de toutes sortes (élection,…)

  33. Pingback: Alix Devynck (alixdevynck) | Pearltrees

  34. pascesoirjelis Reply

    Merci David pour ces explications très claires. Vous êtes un très bon pédagogue!
    Je me suis permise de relier votre vidéo à un de mes articles dans mon blog littéraire PasCeSoirJeLis. Le sujet s’y prêtait (roman « origines » de Dan Brown dans lequel un des personnages est une IA qui passe allègrement le test de Turing).
    Vote vidéo va passionner tous les fans de science et de science-fiction comme moi.
    Merci!
    Sophie

  35. Pingback: Corentin HALL (hall_groupec) | Pearltrees

  36. Pingback: Intelligence artificielle | Pearltrees

  37. Pingback: IA | Pearltrees

Write A Comment

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.