Comment l'ingénieur en énergie a étudié les réseaux de neurones et la révision du cours gratuit "Udacity: Intro to TensorFlow for Deep Learning"

Toute ma vie consciente, j'étais ingénieur en électricité (non, maintenant nous ne parlons pas d'une boisson aux propriétés douteuses).

Je n'ai jamais vraiment été intéressé par le monde des technologies de l'information, et même il est peu probable que je puisse multiplier les matrices sur un morceau de papier. Oui, et je n'en ai jamais eu besoin, pour que vous compreniez un peu les spécificités de mon travail, je peux partager une merveilleuse histoire. J'ai demandé une fois à mes collègues de travailler dans une feuille de calcul Excel, une demi-journée s'est écoulée, je m'approche d'eux et ils s'assoient et résument les données sur une calculatrice, oui, sur une calculatrice noire ordinaire avec des boutons. Eh bien, quel type de réseaux de neurones peut être discuté après cela? .. Par conséquent, je n'ai jamais eu de conditions préalables particulières pour l'immersion dans le monde informatique. Mais, comme ils disent «eh bien, où nous ne sommes pas», mes amis ont bourdonné mes oreilles sur la réalité augmentée, sur les réseaux de neurones, sur les langages de programmation (principalement sur Python).

En termes, cela avait l'air très simple, et j'ai décidé pourquoi ne pas maîtriser cet art magique afin de l'appliquer dans mon domaine d'activité.

Dans cet article, j'oublierai mes tentatives pour apprendre les bases de Python et partager avec vous mon impression du cours gratuit TensorFlow de Udacity.



introduction


Pour commencer, il convient de noter qu'après 11 ans dans le secteur de l'énergie, quand vous savez et pouvez tout faire et même un peu plus (en termes de responsabilités), apprendre des choses radicalement nouvelles - d'une part, provoque un enthousiasme intense, mais d'autre part - se transforme en douleur physique " des engrenages dans la tête. "

Je ne comprends toujours pas tous les concepts de base de la programmation et de l'apprentissage automatique, donc je ne devrais pas être strictement jugé. J'espère que mon article sera intéressant et utile à des gens comme moi - loin du développement logiciel.

Avant de passer à l'examen du cours, je dirai qu'il faudra au moins une connaissance minimale de Python pour l'étudier. Vous pouvez lire quelques livres pour les nuls (j'ai encore commencé à suivre un cours sur Stepic, mais je ne l'ai pas encore maîtrisé).

Il n'y aura pas de constructions complexes dans le cours TensorFlow lui-même, mais il faudra comprendre pourquoi les bibliothèques sont importées, comment une fonction est définie et pourquoi quelque chose y est substitué.

Pourquoi TensorFlow et Udacity?


Le but principal de ma formation était le désir de reconnaître des photographies d'éléments d'installations électriques utilisant des réseaux de neurones.

J'ai choisi TensorFlow parce que j'en ai entendu parler par mes amis. Et si je comprends bien, ce cours est assez populaire.

J'ai essayé de commencer à apprendre du tutoriel officiel .

Et puis j'ai rencontré deux problèmes.

  • Il y a beaucoup de matériel de formation et ils sont en désaccord. Il m'a été très difficile de me faire une idée au moins plus ou moins complète de la résolution du problème de la reconnaissance d'image.
  • La plupart des articles dont j'ai besoin ne sont pas traduits en russe. Il m’est arrivé que dans mon enfance j’ai étudié l’allemand et maintenant, comme beaucoup d’enfants soviétiques, je ne connais ni l’allemand ni l’anglais. Bien sûr, tout au long de ma vie consciente, j'ai essayé d'apprendre l'anglais, mais cela s'est avéré à peu près comme sur la photo.



Ayant encore fouillé sur un site officiel, j'ai trouvé des recommandations pour suivre l' un des deux cours en ligne .

Si je comprends bien, le cours à Courcera était payé, et le cours Udacity: Intro to TensorFlow for Deep Learning pouvait être suivi "gratuitement, c'est-à-dire pour rien".

Le contenu des cours


Le cours se compose de 9 leçons.

La toute première section est une introduction, ils vous expliqueront pourquoi elle est nécessaire en principe.

La leçon numéro 2 était ma préférée. Il était assez simple pour être compris et démontrait également les merveilles de la science. En bref, dans cette leçon, en plus des informations de base sur les réseaux de neurones, les créateurs montrent comment résoudre le problème de la conversion de la température de degrés Fahrenheit en degrés Celsius en utilisant un réseau de neurones monocouche.

C'est vraiment un très bon exemple. Je réfléchis toujours à la manière de trouver et de résoudre un problème similaire, mais uniquement pour les électriciens.

Malheureusement, j'ai calé plus loin, car il est assez difficile d'apprendre des choses étranges dans une langue inconnue. Cela m'a sauvé que j'ai trouvé sur Habré une traduction de ce cours en russe .

La traduction a été faite avec une haute qualité, les cahiers Colab ont également été traduits, donc plus tard j'ai jeté un œil à la fois à l'original et à la traduction.

La leçon numéro 3 est, en fait, la disposition des matériaux du tutoriel officiel TensorFlow. Dans cette leçon, nous apprenons à classer des images de vêtements à l'aide du réseau neuronal multicouche (ensemble de données Fashion MNIST).

Les leçons du numéro 4 au numéro 7 constituent également une disposition du didacticiel. Mais étant donné qu'ils sont correctement organisés, il n'est pas nécessaire de comprendre la séquence d'étude vous-même. Dans ces leçons, nous parlerons brièvement des réseaux neuronaux ultraprécis, comment améliorer la précision de l'entraînement et enregistrer le modèle. Dans le même temps, nous allons résoudre simultanément le problème de la classification des chats et des chiens dans l'image.

La leçon numéro 8 est généralement un cours séparé, il y a un autre enseignant et le cours lui-même est assez volumineux. La leçon porte sur les séries chronologiques. Comme cela ne m'intéresse pas encore, je l'ai parcouru en diagonale.

Complète la leçon numéro 9, qui est une invitation à suivre un cours gratuit sur TensorFlow lite.

Ce que j'ai aimé et pas aimé


Je vais commencer par les pros:

  • Cours - gratuit
  • Le cours est sur TensorFlow 2. Certains manuels que j'ai vus et certains cours sur Internet étaient sur TensorFlow 1. Je ne sais pas s'il y a une grande différence, mais c'est agréable d'apprendre la version actuelle.
  • Les enseignants de la vidéo ne sont pas ennuyeux (bien que dans la version russe, ils ne lisent pas aussi gaiement que dans l'original)
  • Le cours ne prend pas beaucoup de temps
  • Le cours ne conduit pas à un sentiment de mélancolie et de désespoir. Les tâches du cours sont simples et il y a toujours un indice sous la forme de Colab avec la bonne solution, si quelque chose n'est pas clair (et une bonne moitié des tâches n'étaient pas claires pour moi)
  • Pas besoin d'installer quoi que ce soit, tous les travaux de laboratoire du cours peuvent être effectués dans le navigateur

Maintenant les inconvénients:

  • Il n'y a pratiquement aucun matériel de contrôle. Pas de tests, pas de tâches, rien pour au moins en quelque sorte vérifier le cours
  • Tous les cahiers n'ont pas fonctionné pour moi comme ils le devraient. À mon avis, dans la troisième leçon du cours d'anglais original, Colab a fait une erreur et je ne savais pas quoi en faire.
  • . , Udacity . , , , . . 6
  • , , . (, Max Pooling).


Vous avez sûrement déjà deviné que le miracle ne s'était pas produit. Et après avoir terminé ce court cours, il est impossible de vraiment comprendre comment fonctionnent les réseaux de neurones.

Bien sûr, je n'ai pas pu résoudre mon problème après cela avec la classification des photos des disjoncteurs et des boutons dans les tableaux.

Mais dans l'ensemble, le cours est utile. Il montre ce que l'on peut faire avec TensorFlow et dans quelle direction aller.

Je pense que pour commencer, j'ai besoin d'apprendre les bases de Python et de lire des livres en russe sur le fonctionnement des réseaux de neurones, puis de prendre TensorFlow.

En conclusion, je tiens à remercier mes amis de m'avoir poussé à écrire le premier article sur «Habr» et d'avoir aidé à l'arranger.

PS Je serai heureux de vos commentaires et de toute critique constructive.

All Articles