Rezension (2/2): deeplearning.ai

Früher habe ich über eine Serie von Kursen deeplearning.ai geschrieben. Damals waren nur 4 von 5 Kursen verfügbar. Im Ende Januar wurde der letzte Kurs veröffentlicht und in Oster hatte ich endlich die Zeit, den Kurs zu machen. In diesem Eintrag möchte ich meine Meinung zum Kurse und der ganzen Serie äußern.

Meine Zertifikate

Kurze Wiederholung

"deeplearning.ai" ist eine Serie von 5 Online-Kurse. Das Thema ist neuronale Netze (a.k.a. deep learning). Der Dozent Andrew Ng ist bekannt als Mitgründer von Coursera.

Die Serie besteht aus den folgenden 5 Kursen:

  1. Neural Networks and Deep Learning
  2. Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization
  3. Structuring Machine Learning Projects
  4. Convolutional Neural Networks
  5. Sequence Models

Über die Kurse 1-4 habe ich schon geschrieben. Sie kann ich mit anderen Wörtern folgend darstellen.

  1. Touchstone für die Serie
  2. technische Details (Optimierung-Algorithmen, usw.)
  3. Probleme, vor denen man in einem Deep-Learning Projekt stehen kann.
  4. Bilderkennung

5. Kurs: Sequence Models

Es geht um eine Reihe von etwas. Typische Beispiele sind: Sprache und Texte. Also typische Anwendungen:

  • Spracherkennung
  • Maschinelle Ãœbersetzung
  • Sentiment-Analyse (Bewertung/Klassifikation eines Texts)

Es ist bekannt, dass Google Ãœbersetzer ein neuronales Netz ist. Wie in Googles Blog genannt wird, ist das Modell genauer "Reccurent Neural Network" (RNN).

Also das Thema des Kurses ist RNN.

In der ersten Woche lernt man die Grundlage von RNN (einschließlich LSTM und GRU.) In den 2. und 3. Wochen lernt man die mit Anwendungen relevanten Themen: Einbettung von Wörtern, wie man ein bessere Übersetzung auswählen kann, usw.

Ich finde das Thema sehr interessant, aber die Programmierung-Aufgaben interessierten mich nicht. Eine bekannte Anwendung eines neuronalen Netz ist "Generator" von etwas (Text, Bild, Video, Musik, usw.). Ich mag solche nicht, weil man nur etwas Ähnliches durch das Modell bekommen kann. Was erzeugt wird, ist einfach eine Überlappung von verschiedenen Stempel. Man kann das Modell nicht richtig bewerten, man kann nur sagen, dass das Ergebnis gut oder schlecht ist. Es gibt zwei solche Aufgaben.

Darüber hinaus muss man in einer davon die vorbereiteten "originalen" Funktionen benutzen.

We provide you with the following functions:

def rnn_forward(X, Y, a_prev, parameters):

...

def rnn_backward(X, Y, parameters, cache):

...

def update_parameters(parameters, gradients, learning_rate):

(Der Teil von "..." ist ausgelassen.)

Ich bin überzeugt davon, dass solche Aufgabe gar nicht nutzlos ist. Warum muss man lernen, wie man die temporären Funktionen verwenden. Wir hätten ruhig mit Keras-API ein einfaches Modell erstellen sollen, oder?

Die Videos sind sehr gut, trotzdem verstehe ich das Ziel der ersten Videos der zweiten Woche nicht. Vielleicht muss ich noch mal irgendwie wiederholen.

Pros und Cons von der Serie

Pros

  • Man kann mehr oder weniger die Theorie und die Algorithmen lernen.
  • Die Themen sind relativ neu. Viele Beispiele kann man kennenlernen.
  • Die Struktur der Serie und der Kurse ist meiner Meinung nach sehr effektive. Die Grundlage von Deep Learning kann man schnell lernen.
  • Der dritte Kurs ist sehr praktisch und wertvoll.

Cons

  • Die Qualität der Programmieraufgaben ist nicht gut. Das Design von Funktionen sind manchmal sehr komisch. In den Aufgaben benutzen wir oft eine Variable cache, die den Zustand von "weights" enthält. Aber die Struktur der Variable ist so instabil, dass ich verärgert war. (Die Variable ist manchmal tuple, manchmal dict.)
  • Die Themen der Programmieraufgaben sind manchmal nicht interessant.
  • Keras wird nicht gut erklärt. Statt "originalen" Funktionen hätten wir die API von Keras ausführlich lernen sollen.

Fazit

Videos sind empfehlenswert, Programmieraufgaben sind OK. Also wenn Sie sich für die Theorie von deep learning interessiert, ist die Serie empfehlenswert. Aber wenn Sie nur Keras-API (oder TensorFlow) ausführlich lernen wollten, ist die Serie für dich einfach Zeitverschwendung.

Kleiner Tipp: Nach dem Ende der Session (des Kurses) darf man keine Programmieraufgabe (Jupyter Notebook) sehen, obwohl man die Serie noch abonniert. Vielleicht ist es besser, die Notebook-Datei herunterzuladen.

Share this page on        
Categories: #rezension  #data-mining