Wie ein Elektriker neuronale Netze erforschte und eine Übersicht über den kostenlosen Kurs „Udacity: Einführung in TensorFlow für Deep Learning“

Mein ganzes bewusstes Leben war ich im Energiebereich tätig (nein, es geht jetzt nicht um ein Getränk mit fragwürdigen Eigenschaften).

Ich habe mich nie wirklich für die Welt der Informationstechnologie interessiert, und selbst mit Matrizen konnte ich sie kaum auf einem Blatt Papier multiplizieren. Und ich brauchte das nie, um Ihnen ein wenig über die Spezifika meiner Arbeit zu erzählen, kann ich eine wunderbare Geschichte teilen. Irgendwann bat ich meine Kollegen, eine Arbeit in Excel zu erledigen – es war schon die Hälfte des Arbeitstags vergangen, ich ging zu ihnen und sie saßen da und summierten die Daten mit einem Taschenrechner, ja, ja, mit einem ganz normalen schwarzen Taschenrechner mit Tasten. Und von welchen neuronalen Netzen kann man da noch sprechen?.. Deshalb gab es bei mir nie besondere Anzeichen, in die Welt der IT einzutauchen. Aber, wie man so schön sagt: „Gut ist es da, wo wir nicht sind“, meine Freunde haben mir ununterbrochen von Augmented Reality, neuronalen Netzen und Programmiersprachen (hauptsächlich von Python) vorgeschwärmt.

In der Theorie schien es ganz einfach zu sein, und ich entschied, warum nicht diese magische Kunst zu erlernen, um sie in meinem Tätigkeitsfeld anzuwenden.

In diesem Artikel lasse ich meine Versuche aus, die Grundlagen von Python zu erlernen, und teile mit Ihnen meine Eindrücke von dem kostenlosen Kurs zu TensorFlow von Udacity.

Wie ein Elektriker neuronale Netze erforschte und eine Übersicht über den kostenlosen Kurs „Udacity: Einführung in TensorFlow für Deep Learning“

Einführung

Zunächst ist zu beachten, dass nach 11 Jahren im Energiebereich, wenn man alles weiß und kann und sogar ein wenig mehr (in seinem Zuständigkeitsbereich), das Erlernen radikal neuer Dinge – einerseits stürmischen Enthusiasmus auslöst, andererseits aber in physischem Schmerz der „Zahnräder im Kopf“ endet.

Ich habe bis heute nicht alle grundlegenden Konzepte der Programmierung und des maschinellen Lernens vollständig durchdrungen, daher sollte man mich nicht zu streng beurteilen. Ich hoffe, mein Artikel wird für Menschen wie mich, die mit Softwareentwicklung auf Kriegsfuß stehen, interessant und nützlich sein.

Bevor ich zur Kursübersicht übergehe, sei gesagt, dass für das Studium zumindest grundlegende Kenntnisse in Python erforderlich sind. Man kann ein paar Bücher für Einsteiger lesen (ich habe sogar angefangen, einen Kurs bei Stepic zu belegen, aber ich habe ihn noch nicht abgeschlossen).

Im TensorFlow-Kurs wird es keine komplexen Strukturen geben, aber es wird notwendig sein zu verstehen, wofür Bibliotheken importiert werden, wie eine Funktion definiert wird und warum etwas in sie eingesetzt wird.

Warum TensorFlow und Udacity?

Das Hauptziel meines Lernens war der Wunsch, Fotos von Elementen elektrischer Anlagen mithilfe neuronaler Netze zu erkennen.

Ich habe TensorFlow gewählt, weil ich von meinen Freunden davon gehört habe. Und wie ich verstanden habe, ist dieser Kurs recht beliebt.

Ich habe versucht, mit dem offiziellen Tutorial .

zu beginnen und bin gleich auf zwei Probleme gestoßen.

  • Es gibt viele Lernmaterialien, und sie sind durcheinander. Es war für mich sehr schwer, ein einigermaßen komplettes Bild zur Lösung der Aufgabe der Bilderkennung zu erstellen.
  • Die meisten für mich benötigten Artikel sind nicht ins Russische übersetzt. So kam es, dass ich in der Kindheit Deutsch gelernt habe und jetzt, wie viele sowjetische Kinder, weder Deutsch noch Englisch kann. Natürlich habe ich versucht, im Laufe meines Lebens Englisch zu lernen, aber es hat ungefähr so geklappt wie auf dem Bild.

Wie ein Elektriker neuronale Netze erforschte und eine Übersicht über den kostenlosen Kurs „Udacity: Einführung in TensorFlow für Deep Learning“

Nachdem ich auf der offiziellen Website weitergeforscht habe, fand ich die Empfehlung, einen von zwei Online-Kursen.

zu besuchen. Wie ich verstanden habe, war der Kurs bei Coursera kostenpflichtig, während der Kurs Udacity: Einführung in TensorFlow für Deep Learning angeboten wurde „kostenlos, also umsonst“.

Inhalt des Kurses

Der Kurs besteht aus 9 Lektionen.

Die erste Sektion ist eine Einführung, in der erklärt wird, wozu er grundsätzlich benötigt wird.

Lektion Nr. 2 war meine Lieblingslektion. Sie war einfach genug, um sie zu verstehen, und zeigte auch Wunder der Wissenschaft. Kurz gesagt, in dieser Lektion werden zusätzlich zu den grundlegenden Informationen über neuronale Netze gezeigt, wie man mit einem einfach geschichteten neuronalen Netzwerk die Aufgabe löst, die Temperatur von Fahrenheit in Celsius umzurechnen.

Das ist wirklich ein sehr anschauliches Beispiel. Ich sitze immer noch nachdenklich da und überlege, wie ich eine ähnliche Aufgabe für die Elektrotechnik erfinden und lösen kann.

Leider blieb ich danach stehen, denn es ist ziemlich schwierig, unbekannte Dinge in einer fremden Sprache zu lernen. Ich wurde gerettet, indem ich auf Habrahabr die Übersetzung dieses Kurses ins Russische.

fand. Die Übersetzung wurde qualitativ durchgeführt, die Colab-Notizen sind ebenfalls übersetzt, daher habe ich anschließend sowohl in das Original als auch in die Übersetzung geschaut.

Lektion Nr. 3 ist im Grunde eine Übertragung der Materialien des offiziellen TensorFlow-Tutorials. In dieser Lektion lernen wir mithilfe eines mehrschichtigen neuronalen Netzwerks, Bilder von Kleidung zu klassifizieren (Datensatz Fashion MNIST).

Die Lektionen von Nr. 4 bis Nr. 7 sind ebenfalls eine Umstellung des Tutorials. Da sie jedoch gut strukturiert sind, ist es nicht notwendig, die Reihenfolge des Lernens selbst zu in Frage zu stellen. In diesen Lektionen wird kurz über hochpräzise neuronale Netze, darüber, wie man die Genauigkeit des Trainings erhöht und das Modell speichert, gesprochen. Dabei werden wir parallel die Aufgabe zur Klassifikation von Katzen und Hunden auf dem Bild lösen.

Die Lektion Nr. 8 stellt einen ganz eigenen Kurs dar, es gibt einen anderen Dozenten und der Kurs ist ziemlich umfangreich. Die Lektion ist den Zeitreihen gewidmet. Da mich das im Moment nicht interessiert, habe ich sie nur überflogen.

Abgeschlossen wird alles mit Lektion Nr. 9, die zur Teilnahme an einem kostenlosen Kurs zu TensorFlow Lite einlädt.

Was mir gefallen hat und was nicht gefallen hat

Ich fange mit den Pluspunkten an:

  • Der Kurs ist kostenlos.
  • Der Kurs ist zu TensorFlow 2. Einige Bücher, die ich gesehen habe, und einige Kurse im Internet waren zu TensorFlow 1. Ich weiß nicht, ob es einen großen Unterschied gibt, aber es ist schön, die aktuelle Version zu lernen.
  • Die Dozenten im Video sind nicht nervig (obwohl sie in der russischen Version nicht so lebhaft lesen wie im Original).
  • Der Kurs nimmt nicht viel Zeit in Anspruch.
  • Der Kurs versetzt nicht in ein Gefühl von Traurigkeit und Ausweglosigkeit. Die Aufgaben im Kurs sind einfach und es gibt immer einen Hinweis in Form von Colab mit der richtigen Lösung, falls etwas unklar ist (und mir war gute Hälfte der Aufgaben unklar).
  • Es ist nichts nötig, um etwas zu installieren; alle Laborarbeiten des Kurses können im Browser durchgeführt werden.

Jetzt zu den Minuspunkten:

  • Es gibt praktisch keine Kontrollmaterialien. Weder Tests noch Aufgaben, nichts, um das Verständnis des Kurses irgendwie zu überprüfen.
  • Nicht alle meine Notebooks funktionierten richtig. Meiner Meinung nach gab es in der dritten Lektion des ursprünglichen Kurses auf Englisch einen Fehler in Colab, und ich wusste nicht, was ich damit machen sollte.
  • Es ist bequem, nur am Computer zu schauen. Vielleicht habe ich nicht alles ganz verstanden, aber ich habe die Udacity-App auf meinem Smartphone nicht gefunden. Die mobile Version der Website ist nicht anpassungsfähig, d.h. fast der gesamte Bildschirmbereich wird von dem Navigationsmenü eingenommen, aber um den Hauptinhalt zu sehen, muss man nach rechts scrollen, um ihn zu sehen. Auch das Video kann man auf dem Telefon nicht ansehen. Auf einem Bildschirm von etwas mehr als 6 Zoll kann man nichts richtig erkennen.
  • Einige Dinge im Kurs werden mehrfach erläutert, aber wirklich wichtige Dinge zu den eigentlichen verpackten Netzwerken werden nicht erklärt. Ich habe das globale Ziel eines Teils der Übungen nicht wirklich verstanden (zum Beispiel, wozu Max Pooling dient).

Zusammenfassung

Sie haben sicherlich schon erraten, dass kein Wunder geschehen ist. Nach dem Abschluss dieses kurzen Kurses kann man sich nicht wirklich damit auseinandersetzen, wie neuronale Netzwerke funktionieren.

Natürlich konnte ich nach diesem Kurs mein Problem mit der Klassifizierung von Bildern von Schaltern und Tasten in Verteilungsanlagen nicht selbst lösen.

Aber insgesamt ist der Kurs nützlich. Er zeigt, welche Dinge man mit TensorFlow machen kann und in welche Richtung man weitergehen sollte.

Ich denke, ich sollte zunächst die Grundlagen von Python lernen und Bücher auf Russisch darüber lesen, wie neuronale Netzwerke funktionieren, und dann erst mit TensorFlow beginnen.

Abschließend möchte ich meinen Freunden danken, dass sie mich dazu angeregt haben, den ersten Artikel auf „Habr“ zu schreiben und mir bei der Gestaltung geholfen haben.

P.S. Ich freue mich über Ihre Kommentare und jede konstruktive Kritik.

Quelle: habr.com

60GB SSD 8Gb DDR4