Le domaine de l'intelligence artificielle est en pleine croissance. Entre les voitures autonomes qui ont déjà roulé des millions de kilomètres, IBM Watson qui produit de meilleurs diagnostics que des armées de médecins, ou le robot Alpha Go de l'équipe Deepmind de Google qui bat le champion du monde de Go, il n'y a plus de doute sur l'explosion de ce nouveau domaine.
Mais plus le domaine de l'IA progresse, plus les problèmes qu'on cherche à résoudre sont compliqués. Seul le Deep Learning peut résoudre des problèmes aussi complexes, ce qui explique pourquoi on le retrouve au cœur des recherches en intelligence artificielle.
--- Pourquoi Deep Learning de A à Z ? ---
Il y a cinq raisons qui font que le cours Deep Learning de A à Z est différent et sort du lot en comparaison des autres cours qu'on peut trouver ici et là :
1. STRUCTURE ROBUSTE
La chose la plus importante sur laquelle nous nous sommes concentrés est de donner au cours une structure robuste. Le Deep Learning est un domaine très large et complexe, ce qui le rend difficile à approcher.
C'est pourquoi nous avons regroupés les leçons en deux grosses parties, représentant les deux branches fondamentales du Deep Learning : Le Deep Learning supervisé et le Deep Learning non supervisé. Ensuite, chaque partie est divisée en trois algorithmes distincts. Nous avons déterminé qu'il s'agissait de la meilleure structure pour apprendre le Deep Learning.
2. LEÇONS INTUITIVES
La plupart des cours et livres commencent directement par la théorie, puis des maths, puis du code... Sauf qu'ils oublient d'expliquer ce qui est peut-être le plus important : pourquoi vous faites ce que vous faites. Pas dans Deep Learning de A à Z. On se focalise d'abord sur l'intuition des concepts derrières les algorithmes.
Grâce à ces leçons intuitives, vous arriverez beaucoup plus facilement à comprendre les techniques. Par la suite, lorsque vous passerez aux leçons plus orientées pratique avec du code, vous visualiserez aisément chaque étape des algorithmes et surtout pourquoi vous devez exécuter chaque étape.
3. PROJETS PASSIONNANTS
N'en avez-vous pas marre de retrouver tout le temps les mêmes jeux de données constamment dans tous les cours ?
Ça en devient lassant.
C'est pourquoi dans ce cours nous avons choisi d'utiliser des jeux de données réels et de résoudre de vrais problèmes réels. (Pas comme les données de fleurs d'iris ou le super classique exemple de classification de chiffre comme on voit partout). Dans ce cours, on va résoudre six problèmes :
*Les auto-encodeurs sont une technique de Deep Learning très récente qui n'existait pas il y a quelques années encore. Cette méthode n'est jamais expliquée suffisamment en détail.
4. EXERCICES DE CODE
Dans Deep Learning de A à Z, on code avec vous. Chaque leçon pratique démarre avec une page blanche, et ensemble on progresse ligne par ligne afin que vous puissiez suivre et comprendre chaque étape du code.
De plus, le code est structuré de telle manière que vous pouvez facilement le télécharger et l'appliquer directement sur vos propres projets. Nous vous expliquons comment vous pouvez changer le code pour l'adapter à VOS données, ou comment optimiser les algorithmes pour vos besoins afin que vous obteniez les résultats que vous recherchez.
Ce cours a donc une application directe pour votre carrière professionnelle.
5. SOUTIEN DIRECT
Avez-vous déjà suivi un cours ou lu un livre où vous avez des tonnes de questions... qui restent sans réponse ?
Eh bien ce n'est pas le cas de cours. Nous nous engageons à faire de ce cours le meilleur cours de Deep Learning sur la planète. Avec cet engagement vient la responsabilité d'être là constamment pour vous quand vous avez besoin d'aide.
Comme nous avons aussi une vie et des clients, une équipe de Data Scientists professionels est là pour vous aider. Posez une question, et vous obtiendrez une réponse dans les 48 heures maximum, peu importe la complexité de votre problème.
Nous sommes là pour assurer votre succès et votre réussite.
--- Les outils ---
Tensorflow et PyTorch sont les outils open-source les plus utilisés en Deep Learning. Dans ce cours, vous apprendrez à utiliser les deux !
Tensorflow a été développé par Google et est utilisé par exemple dans leur système de reconnaissance vocale, dans Google Photos, Gmail, Google Search, et dans pas mal d'autres applications. De nombreuses entreprises utilisent Tensorflow, comme AirBnB, Airbus, eBay, Intel, Uber, et des centaines d'autres.
PyTorch est tout aussi puissant et a été développé par des chercheurs chez Nvidia et dans les universités de Stanford, Oxford, et ParisTech. Des entreprises comme Twitter, Saleforce ou Facebook utilisent PyTorch.
Alors, lequel est meilleur et pourquoi ?
Dans ce cours, vous apprendrez justement à utiliser les deux et donc dans quelles situations Tensorflow ou PyTorch est plus adapté. Au fur et à mesure des leçons, nous allons comparer les deux et vous donnez des astuces et idées pour retenir quand les utiliser.
Ces outils sont encore très récents et ont été créé il y a tout juste deux ans. C'est de ça dont on parle quand on vous dit que ce cours utilise les outils de Deep Learning les plus à la pointe de la technologie !
--- Encore plus d'outils ---
Theano est un autre outil open-source pour le Deep Learning. Il est similar à Tensorflow dans son usage, mais nous en parlerons tout de même.
Keras est une librairie qui permet d'implémenter les modèles de Deep Learning. Elle regroupe à la fois Theano et Tensorflow et permet en juste quelques lignes de code de créer des modèles puissants et complexes de Deep Learning. C'est ce qui vous permettra d'avoir une vision globale de ce que vous créez. Le code que vous produirez sera clair et structuré grâce à cette librairie, ce qui vous permettra d'avoir une bonne intuition et une excellente compréhension de ce que vous faites.
--- Plus plus plus d'outils ! ---
Scikit-learn est la librairie de Machine Learning par excellence. On l'utilisera :
Évidemment, n'oublions pas de nommer Python, qui est l'outil sur lequel ce cours est basé. Chaque section vous donnera des heures et des heures de pratique dans ce langage.
De plus, ce cours utilise Numpy pour réaliser les calculs mathématiques et manipuler des tableaux multidimensionnels, ainsi que Matplotlib pour tracer des graphes et visualiser nos résultats, puis Pandas pour importer et manipuler les jeux de données de manière efficace.
--- À qui s'adresse ce cours ? ---
Comme vous avez pu le remarquer, il y a de nombreux outils dans le monde du Deep Learning. Dans ce cours, nous avons tenu à vous montrer les plus importants de manière progressive de telle manière à ce que vos connaissances en Deep Learning soient à la pointe à la fin du cours.
Si vous êtes complètement débutant en Deep Learning, alors vous trouverez ce cours particulièrement utile. Deep Learning de A à Z est stucturé de telle manière que vous ne vous retrouverez pas coincé par du code non nécessaire ou des complexités mathématiques absurdes. L'idée est de commencer à appliquer les techniques de Deep Learning au plus vite dans le cours et d'apprendre rapidement à partir de zéro. Chaque leçon vous rendra peu à peu plus confiant dans vos capacités.
Si vous avez déjà une expérience en Deep Learning, alors vous trouverez dans ce cours des rappels inspirants et très orientés pratique. Grâce à Deep Learning de A à Z, vous maîtriserez les algorithmes de pointe (dont certains n'existaient même pas encore il y a deux ans) et acquérerez une expérience pratique sur des challenges issus du monde réel. Les applications vous donneront de l'inspiration pour explorer plus avant vos compétences en Deep Learning.
--- Études de cas du monde réel ---
Maîtriser les techniques de Deep Learning ne consiste pas juste en connaître l'intuition et les outils. Il s'agit aussi d'être capable d'appliquer ce que vous apprenez sur des situations réels afin d'en sortir des résultats mesurables et utiles. C'est pourquoi ce cours vous guidera au travers de six challenges passionnants :
#1 Prédiction du départ d'un client
Dans cette partie, nous vous présenterons des données provenant de la base de données d'une banque souhaitant prédire si un client lui restera fidèle dans les six prochains mois ou non. Les données consistent en un identifiant, le score de crédit, le sexe, l'âge, si le client a une carte de crédit, etc. Pendant six mois, la banque a accumulé des données sur ces clients.
À présent, votre objectif est de créer un réseau de neurones artificiel qui peut prédire, grâce aux données démographiques, géographiques et transactionnelles fournies, si un client quittera la banque ou non. Dans ce problème, votre employeur vous a aussi demandé d'établir un classement entre les clients pour savoir lesquels ont la plus grande probabilité de partir. Pour répondre à ce problème, vous utiliserez un modèle de Deep Learning qui est basé sur une approche probabilistique.
Si vous arrivez au bout de ce projet, vous permettrez à la banque d'adapter directement ses offres pour les clients qui risquent de partir. Grâce à votre modèle de Deep Learning, la banque pourra donc réduire ses départs de clients.
#2 Reconnaissance d'image
Dans cette partie, vous créerez un réseau de neurones à convolution qui est capable de détecter des objets dans une image. Nous utiliserons un modèle de Deep Learning capable de reconnaître un chat d'un chien. Au-delà de cette problématique, ce modèle sera capable de se généraliser et de détecter n'importe quel objet (nous vous montrerons comment) simplement en changeant les images qu'on lui donne en entrée.
Par exemple, vous pourrez ré-utiliser le modèle sur un ensemble d'images de cerveau pour détecter si l'image contient une tumeur ou non. Mais si vous préférez rester sur les petits chats et les petits chiens, alors vous pourrez vous amuser à prendre une photo de votre petit animal préféré et votre modèle arrivera à prédire s'il s'agit d'un chien ou d'un chat. Nous l'avons nous-mêmes testé !
#3 Prédiction du prix d'une action
Dans cette partie, vous créerez l'un des modèles de Deep Learning les plus puissants. En fait, il s'agit du modèle le plus proche de l'intelligence artificielle. Pourquoi ? Parce que ce modèle a une mémoire à long terme, exactement comme nous les êtres humains.
Cette branche du Deep Learning comprend les réseaux de neurones récurrents. Les RNNs classiques ont une mémoire à court terme et n'ont jamais été très populaires à cause de ça. Mais récemment des améliorations dans les réseaux de neurones récurrents ont donné naissance aux LSTMs (RNNs à large mémoire court-terme) qui ont complètement changé la donne.
Ainsi, vous apprendrez à implémenter ce modèle très puissant au travers d'un challenge consistant à prédire le prix réel de l'action Google. Des chercheurs de l'université de Stanford ont travaillé sur ce challenge aussi et nous essaierons de faire aussi bien qu'eux.
#4 Détection de fraude
Une étude récente de Markets & Markets a estimé que le marché de détection et prévention de la fraude atteindrai 33,19 milliards de $ en 2021. C'est une industrie énorme et la demande en compétences avancées de Deep Learning ne peut que continuer à croître.
Le challenge sera de détecter les cas de fraudes dans les demandes de cartes de crédit. Vous créerez un modèle de Deep Learning pour une banque à partir d'un jeu de données contenant des informations sur les clients demandant une carte de crédit spéciale.
Ces donnéens client vous permettront de détecter une fraude potentielle dans les demandes. À la fin du challenge, vous serez capable de sortir une liste explicite de clients qui ont potentiellement triché en remplissant leurs formulaires de demande.
#5 & 6 Systèmes de recommandation
Entre les suggestions de produits Amazon et les recommandations de films de Netflix, on voit de plus en plus de systèmes de recommandation fleurir un peu partout. Les spécialistes qui les créent font partie des Data Scientists les mieux payés de la planète.
Nous travaillerons sur un jeu de données qui a exactement les mêmes caractéristiques que les données Netflix : une tonne de films, des milliers d'utilisateurs, et les notes qu'ils donnent sur les films qu'ils ont regardés. Les notes vont de 1 à 5, exactement comme dans la compétition Netflix, ce qui rend le système de recommandation plus complexe que de simplement dire si l'utilisateur a "aimé" ou "pas aimé" le film.
Votre système de recommandation sera capable de prédire les notes des films que les utilisateurs n'ont pas encore regardé. En classant les prédictions de 5 à 1, votre modèle de Deep Learning pourra ensuite recommender les films que chaque utilisateur sera le plus susceptible d'aimer. Créer un tel système de recommandation est un énorme challenge alors on le fera en deux essais, c'est-à-dire qu'on testera deux types de modèles de Deep Learning.
Le premier modèle consiste en une machine de Boltzmann profonde et sera abordé dans le chapitre 5. En second modèle, on utilisera les auto-encodeurs. Les deux sont simples à comprendre, ce qui ne déduit rien de leur capacité.
Ensuite vous pourrez directement appliquer votre système sur vous-même ou vos amis. La liste de films sera suffisamment complète pour que vous notiez les films que vous avez regardés, et il ne restera qu'à faire tourner le modèle pour savoir quel film regarder ! Votre système de recommandation sera la solution aux soirées où n'arrive pas à se décider à quoi regarder, et il continuera d'apprendre si vous lui dites si la recommandation lui a plu.
--- En résumé ---
Ce cours est rempli de leçons intuitives et d'exercices pratiques pour s'exercer en situation réelle.
Nous avons voulu rendre ce cours le meilleur possible et nous sommes particulièrement enthousiastes à l'idée de le partager avec vous et vous voir progresser dans ce merveilleux monde du Deep Learning.
Kirill, Hadelin & Charles