Comment un électricien a étudié les réseaux neuronaux et aperçu du cours gratuit « Udacity : Introduction à TensorFlow pour l'apprentissage en profondeur »

Toute ma vie consciente, j’ai été énergéticien (non, je ne parle pas ici d'une boisson aux propriétés douteuses).

Je n'ai jamais particulièrement été intéressé par le monde des technologies de l'information, et même, je serais à peine capable de multiplier des matrices sur un bout de papier. Et cela ne m'a jamais été nécessaire. Pour que vous compreniez un peu la spécificité de mon travail, je peux partager une histoire. Un jour, j'ai demandé à mes collègues de faire un travail sur Excel - la feuille de calcul, la moitié de la journée était déjà passée, je vais les voir, et ils sont assis à additionner des données sur une calculatrice, oui, oui, sur une simple calculatrice noire avec des boutons. Alors, de quelles réseaux neuronaux peut-on parler après ça ?... Donc, je n'avais jamais eu de réelles prédispositions à plonger dans le monde de l'IT. Mais, comme on dit, « bien là où nous ne sommes pas », mes amis m'ont repeté sans cesse tout sur la réalité augmentée, sur les réseaux neuronaux, sur les langages de programmation (principalement sur Python).

En théorie, cela paraissait assez simple, et j'ai décidé pourquoi ne pas maîtriser cet art magique pour l'appliquer dans mon domaine d'activité.

Dans cet article, je passerai sous silence mes tentatives d'apprendre les bases de Python et je partagerai avec vous mes impressions sur le cours gratuit de TensorFlow proposé par Udacity.

Comment un électricien a étudié les réseaux neuronaux et aperçu du cours gratuit « Udacity : Introduction à TensorFlow pour l'apprentissage en profondeur »

Introduction

Tout d'abord, il convient de noter qu'après 11 ans dans l'énergie, lorsque vous savez et pouvez tout faire, voire un peu plus (selon votre champ de responsabilités), apprendre des choses radicalement nouvelles - d'un côté, ça suscite un enthousiasme débordant, mais de l'autre, cela se traduit par une douleur physique des « rouages dans la tête ».

Je n'ai toujours pas pleinement compris tous les concepts de base de la programmation et de l'apprentissage automatique, donc je ne devrais pas être jugé trop sévèrement. J'espère que mon article sera intéressant et utile pour ceux qui, comme moi, sont éloignés du développement de logiciels.

Avant de passer à la revue du cours, je dirai qu'il faut au moins une connaissance minimale de Python pour l'étudier. On peut lire deux ou trois livres pour les nuls (j'ai même commencé à suivre un cours sur Stepic, mais je ne l'ai pas encore terminé).

Dans le cours sur TensorFlow, il n’y aura pas de constructions complexes, mais il sera nécessaire de comprendre pourquoi les bibliothèques sont importées, comment une fonction est définie et pourquoi quelque chose y est inséré.

Pourquoi TensorFlow et Udacity ?

L'objectif principal de ma formation était de reconnaître des photos d'éléments d'installations électriques à l'aide de réseaux neuronaux.

J'ai choisi TensorFlow parce que j'en avais entendu parler par mes amis. Et comme je l'ai compris, ce cours est assez populaire.

J'ai essayé de commencer par la tutoriel officiel .

Et je suis immédiatement confronté à deux problèmes.

  • Il y a beaucoup de matériel d'apprentissage et il est désordonné. Il m'a été très difficile de constituer au moins une image cohérente pour résoudre la tâche de reconnaissance d'images.
  • La plupart des articles dont j'avais besoin n'étaient pas traduits en russe. Il se trouve qu'en tant qu'enfant, j'apprenais l'allemand et maintenant, comme beaucoup d'enfants soviétiques, je ne sais 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 a donné à peu près le résultat que l'on voit sur l'image.

Comment un électricien a étudié les réseaux neuronaux et aperçu du cours gratuit « Udacity : Introduction à TensorFlow pour l'apprentissage en profondeur »

En fouillant davantage sur le site officiel, j'ai trouvé des recommandations pour suivre l'un des deux cours en ligne.

Comme je l'ai compris, le cours sur Coursera était payant, tandis que le cours Udacity : Introduction à TensorFlow pour l'apprentissage profond pouvait être suivi « gratuitement, c'est-à-dire sans frais ».

Le contenu du cours

Le cours se compose de 9 leçons.

La toute première section est d'introduction, où ils expliquent à quoi il est essentiellement destiné.

La leçon n° 2 a été ma préférée. Elle était suffisamment simple pour être comprise, tout en illustrant des merveilles scientifiques. En résumé, dans cette leçon, en plus des informations de base sur les réseaux neuronaux, les créateurs montrent comment utiliser un réseau neuronal à une couche pour résoudre la tâche de conversion de la température de Fahrenheit en Celsius.

C'est vraiment un exemple très illustratif. Je suis encore en train de réfléchir à comment concevoir et résoudre une tâche similaire, mais uniquement en électricité.

Malheureusement, je me suis bloqué par la suite, car apprendre des choses incompréhensibles dans une langue étrangère est assez difficile. Ce qui m'a sauvé, c'est que j'ai trouvé sur Habr la traduction de ce cours en russe.

La traduction a été réalisée avec soin, les notebooks Colab ont également été traduits, donc par la suite, je me suis référé à la fois à l'original et à la traduction.

La leçon n° 3 est en fait une réécriture du matériel du tutoriel officiel de TensorFlow. Dans cette leçon, nous apprenons à classer des images de vêtements à l'aide d'un réseau neuronal à plusieurs couches (ensemble de données Fashion MNIST).

Les leçons n° 4 à 7 sont également une adaptation du tutoriel. Cependant, comme elles sont bien organisées, il n'est pas nécessaire de comprendre soi-même la séquence d'apprentissage. Dans ces leçons, nous allons brièvement parler des réseaux neuronaux très précis, de la manière d'améliorer la précision de l'apprentissage et de conserver le modèle. En parallèle, nous allons résoudre la tâche de classification des chats et des chiens sur une image.

La leçon n° 8 constitue un cours distinct, avec un autre enseignant, et le contenu du cours est assez volumineux. Cette leçon est consacrée aux séries temporelles. Comme cela ne m'intéresse pas pour le moment, je l'ai survolée.

La leçon n° 9 conclut le tout, et elle invite à suivre un cours gratuit sur TensorFlow Lite.

Ce que j'ai aimé et ce que je n'ai pas aimé

Je commencerai par les points positifs :

  • Le cours est gratuit.
  • Le cours est sur TensorFlow 2. Certains manuels et certains cours en ligne que j'ai vus é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 dans les vidéos ne sont pas agaçants (bien que dans la version russe, ils ne lisent pas aussi dynamiquement que dans l'original).
  • Le cours ne prend pas beaucoup de temps.
  • Le cours ne plonge pas dans un sentiment de tristesse et de désespoir. Les tâches du cours sont simples et il y a toujours un indice sous la forme d'un Colab avec la solution correcte, si quelque chose n'est pas clair (et pour moi, une bonne moitié des problèmes était floue).
  • Il n'est pas nécessaire d'installer quoi que ce soit ; tous les travaux pratiques du cours peuvent être réalisés dans le navigateur.

Maintenant, les points négatifs :

  • Il n'y a pratiquement aucun matériel d'évaluation. Pas de tests, pas de problèmes, rien pour vérifier l'assimilation du cours.
  • Tous mes notebooks ne fonctionnaient pas comme prévu. Je pense qu'au troisième cours de la version originale en anglais, Colab a donné une erreur, et je ne savais pas quoi en faire.
  • Il est pratique de regarder uniquement sur un ordinateur. Peut-être que je ne me suis pas complètement familiarisé, mais je n'ai pas trouvé l'application Udacity sur mon smartphone. La version mobile du site n'est pas adaptable, c'est-à-dire que presque toute la zone de l'écran est occupée par le menu de navigation, et pour voir le contenu principal, il faut faire défiler vers la droite hors de la zone de visualisation. De plus, les vidéos ne peuvent pas être visionnées sur le téléphone. Sur un écran de plus de 6 pouces, on ne voit rien clairement.
  • Certain aspects of the course are explained multiple times, yet the truly essential topics regarding convolutional networks are not elaborated upon. I never grasped the overall purpose of some exercises (for instance, the utility of Max Pooling).

Résumé

You probably already guessed that no miracle happened. After completing this short course, it's impossible to genuinely understand how neural networks work.

Of course, I couldn't independently resolve my issue of classifying photos of switches and buttons in distribution devices afterward.

But overall, the course is useful. It demonstrates what can be accomplished with TensorFlow and the direction to take next.

I think I need to brush up on the basics of Python and read books in French on how neural networks work before diving into TensorFlow.

In conclusion, I want to thank my friends for encouraging me to write my first article on 'Habr' and for helping me format it.

P.S. I look forward to your comments and any constructive criticism.

Source : habr.com

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster