Einstieg in Deep Learning – Artikelserie

Deep Learning gilt als ein Teilgebiet des maschinellen Lernens (Machine Learning), welches wiederum ein Teilgebiet der künstlichen Intelligenz (Artificial Intelligence) ist. Machine Learning umfasst alle (teilweise äußerst unterschiedliche) Methoden der Klassifikation oder Regression, die die Maschine über ein vom Menschen begleitetes Training selbst erlernt. Darüber hinaus umfasst Machine Learning auch unüberwachte Methoden zum Data Mining in besonders großen und vielfältigen Datenmengen.

Deep Learning ist eine Unterform des maschinellen Lernens und macht im Grunde nichts anderes: Es geht um antrainierte Klassifikation oder Regression. Seltener werden Deep Learning Algorithmen auch als unüberwachter Lernenmechanismus verwendet, zum Lernen von Rauschen zur Erkennung von Mustern (Data Mining). Deep Learning bezeichnet den Einsatz von künstlichen neuronalen Netzen, die gegenüber anderen Verfahren des maschinellen Lernens häufig überlegen sind und diesen gegenüber auch andere Vor- und Nachteile besitzen.

Im Rahmen dieser Artikelserie erscheinen im Laufe der kommenden Monate folgende Artikel:

  1. Machine Learning vs Deep Learning – Wo liegt der Unterschied?
  2. Funktionsweise künstlicher neuronaler Netze
  3. Training eines Neurons mit dem Gradientenverfahren
  4. Fehler-Rückführung mit der Backpropagation
  5. Künstliches neuronales Netz in Python (erscheint demnächst)
  6. Künstliches neuronales Netz mit dem TensorFlow-Framework (erscheint demnächst)

Buchempfehlungen

Seit 2016 arbeite ich mich in Deep Learning ein und biete auch Seminare und Workshops zu Machine Learning und Deep Learning an, dafür habe ich eine ausführliche Einarbeitung und ein immer wieder neu auflebendes Literaturstudium hinter mir. Unter Anderen habe ich folgende Bücher für mein Selbststudium verwendet und nutze ich auch Auszugsweise für meine Lehre:


Praxiseinstieg Machine Learning mit Scikit-Learn und TensorFlow: Konzepte, Tools und Techniken für intelligente Systeme (Animals)

Neuronale Netze selbst programmieren: Ein verständlicher Einstieg mit Python

Praxiseinstieg Deep Learning: Mit Python, Caffe, TensorFlow und Spark eigene Deep-Learning-Anwendungen erstellen

Machine Learning mit Python und Scikit-Learn und TensorFlow: Das umfassende Praxis-Handbuch für Data Science, Predictive Analytics und Deep Learning (mitp Professional)

 

Benjamin Aunkofer

Benjamin Aunkofer ist Lead Data Scientist bei DATANOMIQ und Hochschul-Dozent für Data Science und Data Strategy. Darüber hinaus arbeitet er als Interim Head of Business Intelligence und gibt Seminare/Workshops zu den Themen BI, Data Science und Machine Learning für Unternehmen.

2 replies
  1. Avatar
    Rene Andrae says:

    “Deep Learning bezeichnet den Einsatz von künstlichen neuronalen Netzen, die gegenüber anderen Verfahren des maschinellen Lernens häufig überlegen sind …”

    Diese Aussage mag die subjektive Erfahrung des Autors widerspiegeln, ist jedoch objektiv gewagt und nicht untermauerbar.

    Tatsache ist, dass die im Deep Learning verwendeten Neuronalen Netze zu “sehr tiefgehender Abstraktion” faehig sind, wie andernorts in diesem Blog treffend formuliert. Das ist jedoch mitnichten als Vorteil anzusehen. Vielmehr leiden Neuronale Netze unter ihrer allzu hohen Flexibilitaet und tendieren in vielen praktischen Anwendungen zum Overfitting, d.h. sie sind zu flexibel und fangen deshalb an, auch das Rauschen der Daten mit zu fitten (was in diesem Blog bisher gar nicht thematisiert wurde). Natuerlich gibt es fuer Neuronale Netze genauso ad-hoc Methoden, die das Risiko von Overfitting reduzieren, wie es sie fuer alle anderen Machine Learning Methoden auch gibt (z.B. cross validation). Jedoch wurden in zahllosen Methodenvergleichen beobachtet, dass Neuronale Netze ganz besonders anfaellig fuer dieses Problem sind (im Vergleich zu anderen ML Methoden). Zudem haben dieselben zahllosen Methodenvergleiche gezeigt, dass Neuronale Netze keinesfalls generell besser abschneiden als andere ML Methoden (SVM, Random Forest, etc). Auch in meinen mittlerweile 10 Berufsjahren haben Neuronale Netze bzw Deep Learning eher unterdurchschnittlich abgeschnitten, sodass ich stets bei anderen (wechselnden) Methoden landete.

    Um meine Kritik abzurunden verweise ich schlussendlich noch darauf, dass “Deep Learning” momentan ein absoluter Hype ist und oft als Buzzword benutzt wird (wenn auch nicht in diesem Blog). Interessanterweise ist es nicht der erste Hype rund um Neuronale Netze, sondern mittlerweile schon der Dritte! Der erste Hype begann Anfang der 90er kurz nach der Entdeckung von Backpropagation. Dann kam Anfang der 2000er ein zweiter Hype. Und nun mit “Deep Learning” der dritte Hype mit einem Etikettenwechsel. Die ersten beiden Hypes endeten, weil letztlich genug Nutzer genug vom Overfitting hatten und zu weniger riskanten ML Methoden wechselten. Da die Ursachen des Overfittings im neuen Deep Learning nicht fundamental addressiert wurden (im Gegenteil sind die Neuronalen Netze nun noch komplizierter) wird auch dieser dritte Hype aller Voraussicht nach frueher oder spaeter aus demselben Grund abflauen. Nicht umsonst hat der AI-Professor Ali Rahimi die These aufgestellt, dass Deep Learning “Alchemie” sei. Ein konstruktiver Standpunkt, der die momentane Praxis im Hype deutlich kritisiert, jedoch durchaus die Moeglichkeit offen laesst, dass aus Deep Learning doch noch etwas werden koennte (aehnlich wie die Chemie aus der Alchemie hervor ging).

    Meine persoenliche Erfahrung ist, dass Neuronale Netze bzw Deep Learning durchaus ihren Platz im Werkzeugkoffer des Datenanalysten haben. Zusammen mit vielen anderen Methoden. Und genau wie der Handwerker auch waehlt der Datenanalyst dann halt zu jeder Aufgabe das passende Werkzeug aus. Manchmal ist das Deep Learning, in der Regel aber nicht.

    Reply
    • Benjamin Aunkofer
      Benjamin Aunkofer says:

      Hallo Herr Andrae,

      vielen Dank für Ihren Kommentar! Finde ich gut, dass Sie dazu Stellung beziehen. Zumindest im bereich Bild- und Texterkennung scheinen tiefe neuronale Netze die besten Ergebnisse zu liefern, für Forecasting-Projekte im Finanzbereich liefern bei meinen Teams auch Random Forests and Boosting-Verfahren (auf Basis von Entscheidungsbäumen) bessere Ergebnisse.

      Ich stimme Ihnen daher zu, wenn Sie meine Aussage dahingehend korrigieren, dass Deep Learning nicht immer die besten Ergebnisse in allen Szenarien bietet.

      Und wissenschaftlich analysiert habe ich es auch nicht, es ist tatsächlich nur eine persönliche Einschätzung.

      Viele Grüße,

      Benjamin Aunkofer

      Reply

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *

7825 Views