Wie ein Energieingenieur neuronale Netze untersuchte und eine Rezension des kostenlosen Kurses „Udacity: Einführung in TensorFlow für Deep Learning“

Mein ganzes Erwachsenenleben lang war ich ein Energy-Drink (nein, jetzt reden wir nicht von einem Getränk mit zweifelhaften Eigenschaften).

Ich habe mich nie besonders für die Welt der Informationstechnologie interessiert und kann kaum Matrizen auf einem Blatt Papier multiplizieren. Und das habe ich nie gebraucht, damit Sie die Besonderheiten meiner Arbeit ein wenig verstehen, kann ich Ihnen eine wundervolle Geschichte erzählen. Ich habe einmal meine Kollegen gebeten, die Arbeit in einer Excel-Tabelle zu erledigen, der halbe Arbeitstag war vergangen, ich ging zu ihnen und sie saßen und summierten die Daten auf einem Taschenrechner, ja, auf einem gewöhnlichen schwarzen Taschenrechner mit Tasten. Nun, über welche Art von neuronalen Netzen können wir danach sprechen? ... Daher hatte ich nie besondere Voraussetzungen, um in die Welt der IT einzutauchen. Aber wie sie sagen: „Es ist gut, wo wir nicht sind“, schwirren mir meine Freunde über Augmented Reality, über neuronale Netze, über Programmiersprachen (hauptsächlich über Python) mit.

In Worten sah es sehr einfach aus und ich beschloss, warum ich diese magische Kunst nicht beherrschen sollte, um sie in meinem Tätigkeitsbereich anzuwenden.

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

Wie ein Energieingenieur neuronale Netze untersuchte und eine Rezension des kostenlosen Kurses „Udacity: Einführung in TensorFlow für Deep Learning“

Einführung

Zunächst ist es erwähnenswert, dass nach 11 Jahren in der Energiebranche, wenn man alles weiß und kann und sogar noch ein bisschen mehr (je nach Verantwortungsbereich), das Erlernen radikal neuer Dinge einerseits große Begeisterung auslöst, aber auf der anderen Seite verwandelt es sich in körperlichen Schmerz, der sich in meinem Kopf festsetzt.

Ich verstehe immer noch nicht alle grundlegenden Konzepte der Programmierung und des maschinellen Lernens, daher sollten Sie mich nicht zu hart verurteilen. Ich hoffe, dass mein Artikel für Leute wie mich interessant und nützlich sein wird, die weit von der Softwareentwicklung entfernt sind.

Bevor ich zur Kursübersicht übergehe, möchte ich sagen, dass Sie zum Studium mindestens minimale Python-Kenntnisse benötigen. Sie können ein paar Bücher für Dummies lesen (ich habe auch angefangen, einen Stepic-Kurs zu belegen, beherrsche ihn aber noch nicht ganz).

Der TensorFlow-Kurs selbst wird keine komplexen Konstrukte enthalten, aber es wird notwendig sein zu verstehen, warum Bibliotheken importiert werden, wie eine Funktion definiert wird und warum etwas darin ersetzt wird.

Warum TensorFlow und Udacity?

Das Hauptziel meiner Ausbildung war der Wunsch, Fotos von Elektroinstallationselementen mithilfe neuronaler Netze zu erkennen.

Ich habe mich für TensorFlow entschieden, weil ich von meinen Freunden davon gehört habe. Und so wie ich es verstehe, ist dieser Kurs sehr beliebt.

Ich habe versucht, vom Beamten zu lernen Lernprogramm .

Und dann stieß ich auf zwei Probleme.

  • Es gibt viele Lehrmaterialien und es gibt sie in verschiedenen Varianten. Es war für mich sehr schwierig, zumindest ein einigermaßen vollständiges Bild der Lösung des Bilderkennungsproblems zu zeichnen.
  • Die meisten Artikel, die ich benötige, wurden nicht ins Russische übersetzt. Zufällig habe ich als Kind Deutsch gelernt und kann jetzt, wie viele sowjetische Kinder, weder Deutsch noch Englisch. Natürlich habe ich mein ganzes Erwachsenenleben lang versucht, Englisch zu beherrschen, aber es stellte sich heraus, dass es ungefähr so ​​war wie auf dem Bild.

Wie ein Energieingenieur neuronale Netze untersuchte und eine Rezension des kostenlosen Kurses „Udacity: Einführung in TensorFlow für Deep Learning“

Nachdem ich mich auf der offiziellen Website umgesehen hatte, fand ich Empfehlungen zum Durchgehen einer von zwei Online-Kursen.

Soweit ich weiß, wurde der Kurs auf Coursera bezahlt, und zwar der Kurs Udacity: Einführung in TensorFlow für Deep Learning es war möglich, „kostenlos, also umsonst“ zu passieren.

Kursinhalt

Der Kurs besteht aus 9 Lektionen.

Der allererste Abschnitt ist eine Einführung, in der erklärt wird, warum dies grundsätzlich erforderlich ist.

Lektion Nr. 2 erwies sich als meine Lieblingslektion. Es war leicht zu verstehen und demonstrierte auch die Wunder der Wissenschaft. Kurz gesagt, in dieser Lektion zeigen die Ersteller zusätzlich zu grundlegenden Informationen über neuronale Netze, wie man mit einem einschichtigen neuronalen Netz das Problem der Temperaturumrechnung von Fahrenheit in Celsius löst.

Das ist in der Tat ein sehr klares Beispiel. Ich sitze immer noch hier und denke darüber nach, wie ich ein ähnliches Problem finden und lösen könnte, aber nur für Elektriker.

Leider bin ich weiter ins Stocken geraten, weil es ziemlich schwierig ist, unverständliche Dinge in einer unbekannten Sprache zu lernen. Was mich gerettet hat, war das, was ich auf Habré gefunden habe Übersetzung dieses Kurses ins Russische.

Die Übersetzung erfolgte in hoher Qualität, die Colab-Notizbücher wurden ebenfalls übersetzt, sodass ich mir dann sowohl das Original als auch die Übersetzung angeschaut habe.

Lektion Nr. 3 ist tatsächlich eine Adaption von Materialien aus dem offiziellen TensorFlow-Tutorial. In diesem Tutorial verwenden wir ein mehrschichtiges neuronales Netzwerk, um zu lernen, wie Bilder von Kleidung klassifiziert werden (Mode-MNIST-Datensatz).

Auch die Lektionen Nr. 4 bis Nr. 7 sind eine Adaption des Tutorials. Aufgrund der korrekten Anordnung ist es jedoch nicht erforderlich, den Lernablauf selbst zu verstehen. In diesen Lektionen erfahren wir kurz etwas über ultrapräzise neuronale Netze, wie wir die Genauigkeit des Trainings erhöhen und das Modell speichern können. Gleichzeitig lösen wir gleichzeitig das Problem der Klassifizierung von Katzen und Hunden im Bild.

Lektion Nr. 8 ist ein komplett separater Kurs, es gibt einen anderen Lehrer und der Kurs selbst ist recht umfangreich. In der Lektion geht es um Zeitreihen. Da es mich noch nicht interessiert, habe ich es schräg gescannt.

Dies endet mit Lektion Nr. 9, bei der es sich um eine Einladung zur Teilnahme an einem kostenlosen Kurs zu TensorFlow Lite handelt.

Was Ihnen gefallen hat und was nicht

Ich fange mit den Profis an:

  • Der Kurs ist kostenlos
  • Der Kurs basiert auf TensorFlow 2. Einige Lehrbücher, die ich gesehen habe, und einige Kurse im Internet basierten auf TensorFlow 1. Ich weiß nicht, ob es einen großen Unterschied gibt, aber es ist schön, die aktuelle Version zu lernen.
  • Die Lehrer im Video sind nicht nervig (obwohl sie in der russischen Fassung nicht so fröhlich vorlesen wie im Original)
  • Der Kurs nimmt nicht viel Zeit in Anspruch
  • Der Kurs macht Sie nicht traurig oder hoffnungslos. Die Aufgaben im Kurs sind einfach und es gibt immer einen Hinweis in Form von Colab mit der richtigen Lösung, wenn etwas nicht klar ist (und gut die Hälfte der Aufgaben war mir nicht klar)
  • Es ist keine Installation erforderlich, alle Laborarbeiten des Kurses können im Browser erledigt werden

Nun die Nachteile:

  • Es gibt praktisch keine Kontrollmaterialien. Keine Tests, keine Aufgaben, nichts, um die Beherrschung des Kurses irgendwie zu überprüfen
  • Nicht alle meine Notizblöcke funktionierten so, wie sie sollten. Ich glaube, in der dritten Lektion des ursprünglichen Englischkurses hat Colab einen Fehler ausgegeben und ich wusste nicht, was ich damit anfangen sollte
  • Praktisch, um es nur auf einem Computer anzusehen. Vielleicht habe ich es nicht ganz verstanden, aber ich konnte die Udacity-App auf meinem Smartphone nicht finden. Und die mobile Version der Website ist nicht responsiv, das heißt, fast der gesamte Bildschirmbereich wird vom Navigationsmenü eingenommen, aber um den Hauptinhalt zu sehen, müssen Sie nach rechts über den Anzeigebereich hinaus scrollen. Außerdem kann das Video nicht auf dem Telefon angesehen werden. Auf einem knapp über 6 Zoll großen Bildschirm sieht man eigentlich nichts.
  • Einige Dinge im Kurs werden mehrmals durchgekaut, aber gleichzeitig werden die wirklich notwendigen Dinge auf den Faltungsnetzwerken selbst im Kurs nicht durchgekaut. Ich habe den Gesamtzweck einiger Übungen immer noch nicht verstanden (z. B. wofür Max Pooling gedacht ist).

Zusammenfassung

Sicherlich haben Sie bereits vermutet, dass das Wunder nicht geschehen ist. Und nach Abschluss dieses kurzen Kurses ist es unmöglich, wirklich zu verstehen, wie neuronale Netze funktionieren.

Danach konnte ich mein Problem mit der Klassifizierung von Fotos von Schaltern und Tastern in Schaltanlagen natürlich nicht mehr alleine lösen.

Aber insgesamt ist der Kurs nützlich. Es zeigt, was mit TensorFlow alles möglich ist und welche Richtung als nächstes einzuschlagen ist.

Ich denke, ich muss zuerst die Grundlagen von Python lernen und Bücher auf Russisch über die Funktionsweise neuronaler Netze lesen und mich dann mit TensorFlow befassen.

Abschließend möchte ich mich bei meinen Freunden dafür bedanken, dass sie mich dazu gedrängt haben, den ersten Artikel über Habr zu schreiben, und mir bei der Formatierung geholfen haben.

PS: Ich freue mich über Ihre Kommentare und jede konstruktive Kritik.

Source: habr.com

Kommentar hinzufügen