Contexte
J'adore étudier. La soif de connaissances m'a fait lire beaucoup de nouvelles et d'articles sur la pandémie. C'est alors que je suis tombé sur un article sur un groupe de chercheurs créant un nouveau système capable de distinguer la pneumonie du COVID-19 sur la base de l'analyse des rayons X.
L'article mentionne que le projet utilise «l'intelligence artificielle» et utilise des «réseaux neuronaux». Cela m'a immédiatement intéressé. Comment les humains ont-ils pu construire et entraîner une machine capable d'analyser les rayons X? Commençons par le fait que l'intelligence artificielle n'a même pas de formation médicale. Et il a atteint une précision de plus de 90%! C'est ainsi que mon voyage dans le terrier du lapin a commencé.
En bref, j'en ai discuté avec un ami et j'ai découvert l'existence de TensorFlow (et Keras). Et puis, tout en continuant à étudier divers matériaux sur ce sujet avec curiosité, je suis tombé sur un article dont l'auteur raconte comment il est devenu un développeur certifié TensorFlow.
Ici, je me suis lancé un défi en me demandant si je pouvais obtenir un tel certificat. Certes, je craignais de ne pas avoir assez de temps pour cela. Le fait est que j'allais aller travailler, et d'ailleurs, à peu près au même moment, mes études de maîtrise ont commencé. De plus, je ne connais rien à la programmation en Python. Est-ce que je pourrai atteindre mon objectif?
Dans mon diplôme de premier cycle, j'ai étudié les mathématiques appliquées pour résoudre des problèmes actuariels. Cela signifie que je connais assez bien les mathématiques et les statistiques supérieures, je sais ce que sont la régression et les séries chronologiques. Mais ma connaissance de Python était proche de zéro. La seule langue que je connaissais à l'époque était R. Alors que je trouve que R est une langue très polyvalente qui peut répondre aux besoins de ceux qui travaillent avec des données, cette langue n'était malheureusement pas adaptée pour passer l'examen de certification.
La certification dans TensorFlow serait une étape majeure de mon parcours en tant que scientifique des données autodidacte et scientifique de l'IA. Peut-être ai-je déjà assez parlé de moi. Il est temps de parler de TensorFlow.
Qu'est-ce que la plateforme TensorFlow et pourquoi l'apprendre?
En un mot, TensorFlow est une plate-forme d'apprentissage automatique largement utilisée.
Si nous parlons de TensorFlow plus en détail, il s'avère que nous avons devant nous un framework open source gratuit qui couvre tous les besoins de création de projets dans les domaines de la machine et du deep learning. Ce cadre vous permet de résoudre un large éventail de tâches - du prétraitement des données à la formation et au déploiement de modèles. TensorFlow était à l'origine destiné aux besoins internes de Google et a été développé par l'équipe Google Brain. Maintenant, ce cadre est utilisé littéralement partout.
Voyons maintenant pourquoi vous devriez apprendre TensorFlow. Le fait est que cette plate-forme est capable de résoudre de nombreux problèmes, et le fait qu'elle est beaucoup plus répandue que vous ne l'imaginez. Il est fort probable que vous utilisiez, sans même le savoir, des services créés avec TensorFlow.
Démonstration de réponse intelligente de Gmail ( source )
Avez-vous déjà utilisé la fonction de réponse intelligente de Gmail? Ce mécanisme est basé sur les capacités de l'intelligence artificielle. Il offre à l'utilisateur trois réponses possibles à un e-mail en fonction du contenu de l'e-mail. Le moteur Smart Reply est conçu à l'aide de TensorFlow.
Savez-vous ce qui anime le flux sur votre compte Twitter? Sur quoi repose le mécanisme OCR (Image to Text) dans WPS Office? Comment VSCO vous recommande-t-il les profils utilisateur lors de l'analyse de vos photos? Ce sont tous des exemples de la façon dont TensorFlow peut être utilisé.
Au moment de la rédaction de cet article, TensorFlow n'existait que depuis environ 4 ans. De plus, cette plateforme a été utilisée dans un grand nombre de projets que nous utilisons tous quotidiennement. Bien que cet article sur la reconnaissance des rayons X COVID-19 que j'ai mentionné plus tôt ne le dise pas explicitement, il est probable que les chercheurs qui l'ont écrit ont également utilisé TensorFlow.
À l'avenir, à mesure que les technologies d'apprentissage en profondeur et d'intelligence artificielle s'améliorent, nous pouvons nous attendre à l'émergence de plus de produits, de services et de recherche scientifique, dans lesquels TensorFlow est utilisé comme un sous-système implémentant des technologies d'apprentissage en profondeur.
Les praticiens de l'apprentissage automatique et de la science des données bénéficient de la familiarité avec cette plateforme. Et moi, poussé par cette pensée, je me suis intéressé à devenir moi-même un développeur TensorFlow certifié. Vous avez peut-être déjà eu des pensées similaires. Vous pensez peut-être à cela en lisant cet article. Vous pouvez avoir vos propres raisons d'apprendre TensorFlow. Dans tous les cas, si vous décidez de vous préparer à la certification, vous trouverez quelques détails à ce sujet dans la section suivante.
Détails sur la certification
Badge numérique TensorFlow ( source )
L'examen de certification TensorFlow est effectué à l'aide de Python. Cet examen utilise la bibliothèque TensorFlow Python et les API associées. Une tentative coûte 100 $. Si la première tentative échoue, vous pouvez payer le même montant et réussir le deuxième examen en 2 semaines. Des détails sur les frais d'examen et d'autres choses similaires peuvent être trouvés ici .
L'examen se compose de quatre parties principales: création et formation d'un réseau neuronal à l'aide de TensorFlow, reconnaissance d'image, traitement du langage naturel et utilisation de séries chronologiques. Lors de la réussite de l'examen, vous devez utiliser l'IDE PyCharm.
Après avoir consulté le manuel d'examen, j'ai commencé à planifier mes études. Tout d'abord, je devais comprendre la programmation Python, puis je devais maîtriser TensofFlow.
Premier mois d'étude
Peut-être que vous avez lu jusqu'à présent sans rien manquer, peut-être que vous venez de sauter ici. Dans tous les cas, permettez-moi de vous rappeler par où j'ai commencé. J'étais un étudiant moyen en mathématiques appliquées avec rien pour me tenir occupé et je n'avais aucune expérience de la programmation Python. Cet étudiant était soudainement désireux de devenir, en deux mois, un développeur certifié TensorFlow.
Ici, je commence une histoire sur comment et ce que j'ai étudié pendant ces deux mois.
Au cours du premier mois, j'apprenais Python. Comment ai-je réussi à apprendre à programmer dans cette langue si rapidement? Je suis allé à HackerRank en premieret a commencé à résoudre des problèmes en Python. Beaucoup de tâches. Chaque fois que je tombais sur quelque chose que je ne pouvais pas gérer seul, je commençais immédiatement à chercher les solutions des autres. Si un coup d'œil rapide sur la solution ne me permettait pas de résoudre le problème, je procédais à une analyse approfondie des idées des autres, en essayant de comprendre l'essence de la solution et de mettre en évidence ce qui me serait utile.
Je fais ça depuis deux semaines. Après cela, j'ai pu résoudre la plupart des problèmes, même les plus difficiles, sans chercher nulle part.
Qu'ai-je fait pendant les deux semaines restantes? J'ai regardé des didacticiels Python gratuits sur YouTube. Oui, exactement. Gratuit. Cours. Sur Youtube.
Bien sûr, si vous avez la possibilité de vous inscrire à un vrai cours Python où le matériel est bien structuré, vous devriez certainement le faire. Les trois cours vidéo auxquels je vais créer un lien ci-dessous, je me suis choisi moi-même, dans le but d'apprendre Python plus rapidement.
Ces vidéos ne sont pas particulièrement appréciées du fait qu'elles sont "gratuites" et que quiconque les regarde ne recevra aucun certificat de formation. En fait, voici les formations qui me paraissent tout à fait valables:
- Python for Beginners. Python. , , (, , ), . , . , Python .
- Python for Data Science Full Course. Python- -. . Keras TensorFlow. , , , .
- Analyse de données avec Python . Avant de créer des modèles et de les entraîner, vous devez préparer les données, les soumettre à un prétraitement. Pour une raison quelconque, cela est souvent oublié. Ce cours est principalement consacré à des questions telles que la collecte de données, leur chargement dans un programme, le nettoyage, la visualisation. Un tel travail avec les données vous permet de mieux les comprendre, cela est bénéfique pour tout travail ultérieur avec elles.
Bien que je prévois de m'inscrire à un cours Python régulier, ces trois vidéos m'ont donné tout ce dont j'avais besoin. Si vous regardez également de tels cours, essayez de prendre des notes pendant que vous les regardez, écrivez le code vous-même et essayez ce qu'ils vous disent.
Deuxième mois d'études
J'ai passé mon deuxième mois d'étude sur le DeepLearning.AI TensorFlow Developer Professional Certificate , qui se trouve sur Coursera. Les cours de cette spécialisation sont dispensés par Lawrence Maroney, intelligence artificielle chez Google, et Andrew Ng, fondateur de deeplearning.ai .
La spécialisation comprend quatre cours. Chacun d'eux correspond à l'un des sujets d'examen susmentionnés. Un cours dure quatre semaines, mais j'ai étudié le matériel hebdomadaire en une journée, car à cette époque c'était ma profession la plus importante.
Après avoir terminé chaque cours, j'ai pris un jour de congé. Ce jour-là, j'ai expérimenté le code et lentement exploré des idées liées au cours.
En fin de compte, il m'a fallu cinq jours pour terminer chaque cours. Il a fallu quatre jours pour revoir le matériel du cours, et un autre jour j'ai passé à me reposer et à revoir ce que j'avais appris. En conséquence, j'ai pu terminer toute la spécialisation en 20 jours.
Chaque cours comprenait des tâches de programmation. J'ai pris ces missions au sérieux. Souvent, par exemple, j'ai passé de nombreuses heures à expérimenter les hyperparamètres d'un réseau de neurones (lorsque vous commencerez à apprendre, vous saurez ce que c'est) afin d'en tirer les meilleurs résultats. En faisant ce genre de chose, vous pouvez acquérir une sorte de compréhension instinctive de la façon dont, par essais et erreurs, créer des modèles de réseaux neuronaux.
Parfois, dans le matériel des leçons, il y avait des liens vers des ensembles de données, des articles et d'autres documents supplémentaires. Bien que vous n'ayez pas eu besoin d'apprendre tout cela pour terminer le cours, par curiosité, j'ai travaillé sur plusieurs de ces ressources. Le cours était principalement axé sur la pratique. Mais ils recevaient généralement des liens vers les vidéos d'Andrew Eun, dans lesquelles il révélait plus clairement, avec une explication de la théorie, certaines choses.
Matériaux alternatifs
Vous n'êtes pas obligé d'étudier comme je l'ai fait pour obtenir la certification. Par exemple, au lieu de compléter une spécialisation payante sur Coursera, vous pouvez recourir à d'autres matériaux:
- Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow. , , , . 10-16 , .
- YouTube, TensorFlow. , . , , . Coursera, , . , , , . Keras TensorFlow.
Après avoir terminé tous les cours que j'avais choisis sur Coursera, je me suis donné quatre jours pour revoir ce que j'avais appris et relire le manuel d'examen. J'ai commencé à passer l'examen le 25e jour du deuxième mois de préparation.
Le jour décisif est venu. Et au fait, voici une feuille de triche avec des réponses au premier lot de questions (si quelqu'un ne comprend pas - je plaisante). Pour des raisons évidentes, je ne peux pas entrer dans les détails de l'examen, mais ci-dessous j'ai donné quelques-unes de mes observations et conseils concernant la préparation et la réussite de l'examen.
- , — IDE. , IDE PyCharm. IDE, , , , . PyCharm, , .
- . , ( , ). , , . .
- . . , . , , ( , , IDE ).
- . , , . , . — , .
- Les modèles peuvent être formés à l'aide de ressources provenant de plates-formes externes telles que Google Colab et AWS. Avant de commencer l'examen, apprenez à enregistrer les modèles sur lesquels vous avez travaillé sur des plates-formes externes et à les charger dans PyCharm. Les modèles doivent être enregistrés au format .h5.
Si vous vous êtes bien préparé à l'examen et que vous maîtrisez tout ce qui est inclus dans le plan d'examen, vous devriez le réussir. Je peux affirmer avec confiance que le manuel contient des recommandations judicieuses. Vous pouvez tester votre préparation à l'examen en évaluant vos connaissances sur les sujets qui y sont mentionnés.
J'ai passé l'examen en utilisant mon ordinateur portable, qui est alimenté par un processeur AMD et ne possède pas de carte graphique séparée. Dans le même temps, j'avais besoin de recourir à la puissance de Google Colab une seule fois, résolvant un problème qui utilisait un grand ensemble de données. Vous, afin de comprendre si votre ordinateur est adapté à l'examen, pouvez résoudre plusieurs problèmes pratiques sur celui-ci. Je pense qu'il vaut mieux s'inquiéter non pas de l'ordinateur, mais de la vitesse et de la stabilité de la connexion Internet, car vous devez décharger des modèles pour réussir l'examen.
Résultats d'examen
Après avoir terminé l'examen, j'ai immédiatement reçu un e-mail m'informant que j'avais réussi l'examen. Un certificat numérique officiel confirmant la réussite de l'examen sera envoyé dans les 2 semaines. Il peut être joint à votre profil LinkedIn.
Le certificat n'est valable que trois ans. Cela signifie qu'en 2023, je devrai repasser l'examen. Je ne peux que deviner comment TensorFlow et l'ensemble de l'industrie du deep learning vont se développer d'ici là. Et j'espère que réussir l'examen sera plus facile pour moi que maintenant.
Résultats et plans pour l'avenir
Ce n’est bien sûr pas la fin. Ce n'est que le début. Ma première étape importante dans l'apprentissage de la technologie IA a été ma certification TensorFlow, et cela m'a énormément inspiré. Ce certificat est devenu ma porte d'entrée dans le monde de la science des données. C'est un peu étrange, car généralement, lorsqu'il s'agit d'aspirants scientifiques des données, l'apprentissage en profondeur est comme la cerise sur le gâteau.
Je suis heureux d'avoir pu obtenir un certificat et d'avoir pu écrire cet article quelques jours avant de commencer à travailler et à étudier. Pendant deux mois de préparation, je me suis consacré entièrement à mon nouveau passe-temps. Les technologies d'intelligence artificielle nous offrent des possibilités apparemment infinies pour résoudre de vrais problèmes.
Je tiens à souligner que je ne pense pas que mon approche de l'auto-apprentissage soit la meilleure. Vous pouvez toujours y travailler et y travailler. Pour ceux qui ne sont pas limités dans le temps, cela ne vaut peut-être pas la peine de se précipiter comme je l'étais. Et dans le processus d'étude, il serait bon pour eux de créer leurs propres projets. Je crois que cette approche d'apprentissage est meilleure que la mienne. Maintenant, même si je suis un développeur TensorFlow certifié, je dois encore créer mon propre projet et le mettre sur GitHub. C'est ce que je vais faire après avoir publié cet article. Cela me permettra d'améliorer mes connaissances et mes compétences.
Je suis convaincu que le monde de l'intelligence artificielle et tout ce qui y est lié est un phénomène en pleine croissance, plein d'innovations, de découvertes, de percées scientifiques. C'est la pointe de la technologie moderne. Il y a beaucoup de choses ici que les gens doivent encore apprendre et explorer. Si vous le souhaitez, vous pouvez également faire partie de ce monde. Je voulais. Et, ennuyé pendant la quarantaine, il a commencé son voyage.
Envisagez-vous de devenir un développeur TensorFlow certifié?