L'apprentissage automatique est la chose la plus en vogue dans l'informatique en ce moment. Il est facile de comprendre pourquoi avec la technologie utilisée partout, des voitures autonomes aux forces de l'ordre, en passant par les prévisions boursières.
TensorFlow est le projet de Google basé sur l'apprentissage automatique et les réseaux de neurones. Découvrons ce que c'est, ses utilisations et comment apprendre à l'utiliser.
Il est impossible d'expliquer pleinement ce qu'est TensorFlow sans d'abord comprendre ce qu'est l'apprentissage automatique. L'apprentissage automatique et les réseaux de neurones affectent déjà nos vies de bien plus de façons que vous ne le pensez.
Dans sa forme la plus simple, l'apprentissage automatique consiste à apprendre aux ordinateurs à analyser des données et à prendre des décisions éclairées à leur sujet, sans être directement programmés pour le faire. Pour y parvenir, nous entraînons des réseaux de neurones pour effectuer des tâches spécifiques.
TensorFlow est la bibliothèque de réseaux neuronaux open source de Google, développée par l'équipe Google Brain pour un large éventail d'utilisations. En substance, TensorFlow supprime le besoin de créer un réseau de neurones à partir de zéro. Au lieu de cela, vous pouvez entraîner TensorFlow avec votre ensemble de données et utiliser les résultats comme vous le souhaitez.
Jusqu'ici, si abstrait. Que pouvez-vous faire avec un réseau de neurones ? Il s'avère que presque n'importe quoi !
De nombreux didacticiels d'apprentissage automatique pour débutants utilisent la classification d'images comme premier exemple de projet pour faciliter la compréhension. En introduisant des images de référence dans un réseau de neurones, il peut apprendre à prédire si une image contient des objets similaires.
Pour voir ce processus en action, jetez un œil au classificateur Dark Vador de 5 minutes de Siraj Raval.
Ce type de filtrage de données assisté par ordinateur est incroyablement puissant, non seulement pour localiser les Dark Vadors sauvages. TensorFlow est déjà utilisé dans l'analyse d'images biomédicales.
Presque tous les domaines qui reposent sur l'analyse de grandes quantités de données d'images peuvent bénéficier de cette technologie. Comme présenté dans la vidéo d'introduction officielle de TensorFlow, il est utilisé pour rationaliser les efforts de conservation du dugong, qui est presque éteint.
En plus de la classification des images, TensorFlow peut être utilisé pour modifier les images de manière dynamique. Deep Photo Style Transfer a été créé par un groupe de l'Université Cornell. Le projet prend une image d'entrée et une image de style avant d'appliquer ce style à l'image d'origine - avec des résultats époustouflants.
Les exemples utilisent un mélange de superpositions d'images automatisées et manuelles, donc si vous voulez mettre la main dessus, cela peut valoir la peine de perfectionner vos compétences Photoshop avant de plonger dans la bibliothèque.
Nous ne sommes pas étrangers à l'utilisation d'ordinateurs pour créer de belles œuvres d'art. L'idée d'ordinateurs faisant preuve de créativité d'une manière que nous trouvons reconnaissable est depuis longtemps un rêve de science-fiction. Avec les bibliothèques de réseaux de neurones comme TensorFlow, cela se rapproche plus que jamais.
Magenta utilise TensorFlow pour créer des outils pour les musiciens. Grâce à l'apprentissage en profondeur, Magenta étend les outils à la disposition des musiciens pour ouvrir de nouveaux types de mélange de sons, et même des appels et réponses d'improvisation assistés par machine.
Magenta est également utilisable en tant que séquenceur intelligent à part entière. La possibilité d'utiliser des bibliothèques externes est l'une des nombreuses fonctionnalités fantastiques de CodePen. Tero Parviainen a utilisé la bibliothèque magenta.js pour créer son magnifique stylo Latent Cycles.
En plaçant des boucles improvisées générées par un réseau de neurones les unes à côté des autres, Latent Cycles permet à quiconque de créer des sons uniques et magnifiques sans connaissances musicales préalables.
L'apprentissage automatique est un sujet incroyablement dense. Une bonne compréhension des statistiques, des mathématiques, de la programmation et de la science générale des données est essentielle à la compréhension. Cela dit, TensorFlow facilite l'acquisition d'une expérience pratique, même en tant que débutant. Le didacticiel officiel de TensorFlow adopte une approche étape par étape pour la configuration et l'utilisation.
La plupart des projets TensorFlow utilisent le langage de programmation Python. Si vous êtes nouveau dans le langage, il existe une multitude d'excellents endroits pour apprendre Python. Si vous êtes déjà plus familier avec JavaScript, TensorFlow propose des didacticiels vidéo couvrant la bibliothèque TensorFlow.js.
Ces didacticiels, ainsi que le cours gratuit d'apprentissage automatique de Google, constituent une ressource inestimable des fournisseurs de la bibliothèque.
Pour une introduction rapide et informative à TensorFlow et aux classificateurs d'images, Siraj Raval propose une introduction informative (et riche en mèmes) de 5 minutes.
C'est l'une des nombreuses vidéos de la chaîne YouTube de Siraj sur le sujet de l'apprentissage automatique. Entre des vidéos super rapides comme celle-ci et de longs flux en direct adoptant une approche étape par étape, c'est un endroit idéal pour apprendre TensorFlow et l'apprentissage automatique en Python.
En se concentrant sur JavaScript et Tensorflow.js, le train de codage propose une autre approche à grande échelle :
L'animateur Daniel Shiffman couvre divers cas d'utilisation de TensorFlow, et sa série sur l'apprentissage automatique dans son ensemble est l'un des meilleurs cours disponibles gratuitement sur le sujet.
Ce projet utilise la reconnaissance d'objets en direct pour contrôler un trieur automatique de déchets. Le matériel semble être une alternative au Raspberry Pi, bien qu'en théorie n'importe quel microcontrôleur puisse être utilisé. Le vrai travail est fait en utilisant un mélange d'OpenCV et de TensorFlow.
Le projet de la vidéo n'a pas de tutoriel joint. L'excellent article OpenCV et TensorFlow de Dat Tran utilise les mêmes bibliothèques, expliquant clairement chaque élément. En tant qu'idée simple à petite échelle qui utilise la bibliothèque TensorFlow, un projet de cette envergure est le moyen idéal pour commencer.
TensorFlow est un outil incroyablement puissant de la société sans doute la plus importante d'Internet. La décision de le rendre open source était un gros problème, car cela nous ouvre à tous.
Cela dit, le machine learning est un sujet incroyablement dense. Il vaut la peine de consacrer du temps aux cours en ligne de machine learning pour tirer le meilleur parti de TensorFlow.