Machine Learning

28. Juni 2019

Machine Learning, als Teilgebiet der künstlichen Intelligenz, lehrt Algorithmen Daten zu interpretieren und für die automatisierte Entscheidungsfindung anzuwenden. In einem Blogbeitrag habe ich bereits Deep Learning beschrieben, welches wiederum ein Teilgebiet des Machine Learnings ist. Wenn Deep Learning ein Teil von Machine Learning ist – wie funktioniert Machine Learning und wie können wir die Begriffe unterscheiden? Dieser Fragestellung gehen wir in diesem Beitrag auf den Grund.

Machine Learning – Funktionsweise

Zuerst hilft es, einen generellen Überblick über das breite Feld des Machine Learning zu gewinnen, denn es gibt eine Vielzahl an maschinellen Lernverfahren: Entscheidungsbäume, Random Forest, Support Vector Machine (SVM), k-Nearest-Neighbor-Algorithmus (KNN), k-Means-Algorithmus, Gaussian Mixture Models (GMMs), Hidden Markov Models (HMM), Bayes-Klassifikator oder die Hauptkomponentenanalyse (PCA).

All diese Algorithmen können im Kern ähnlich implementiert werden: Zunächst wird ein Datensatz bereinigt und so aufbereitet, dass für die Prädiktion durch den Algorithmus wichtige Variablen bzw. Merkmale als sogenannte Inputdaten in den Machine-Learning-Algorithmus eingegeben werden. Der Algorithmus ist daraufhin in der Lage, ähnlich wie ein neuronales Netz, selbstständig zu lernen und verarbeitet jeden Eingabewert zu einem veränderten Ausgabewert im Sinne der jeweiligen Zielsetzung.

 

Feature Engineering oder Feature Extractor?

Beim Machine Learning werden die wichtigen Merkmale manuell von Menschen ausgesucht und teilweise zu neuen Merkmalswerten zusammengesetzt. Die Eingabewerte werden vor der Lernphase des Algorithmus händisch zusammengesetzt und nicht, wie etwa beim Deep Learning, während des Lernens aus den Rohdaten gezogen. Dieser manuelle Schritt des sogenannten „Feature Engineering“, also der Fokus auf die jeweiligen Features/Eigenschaften, ist daher sehr zeitintensiv.

Das Deep Learning ist dementsprechend besser geeignet, um aus Rohdaten sinnvolle Merkmale automatisch zu extrahieren. Ein solches neuronales Netz benötigt keine manuell von Menschen vorbereiteten Merkmale, sondern führt eine hierarchische Merkmalsextraktion durch: In den ersten Schichten lernt es einfache Merkmale und mit jeder weiteren Schicht werden die jeweiligen Merkmale komplexer.

Beispiel:
Möchte man den Gesundheitsverlauf von Menschen prognostizieren, könnte dies anhand des BMI (Body-Mass-Index) gelingen – wenn auch nicht vollkommen verlässlich: Das Gewicht und die Größe werden erfasst und daraus wird ein Quotient errechnet, der die beiden Merkmale in Verbindung bringt. Im Machine Learning müsste der Quotient als zusätzliches Merkmal zu Gewicht und Körpergröße in das Machine Learning Modell eingegeben werden. Neuronale Netze wie das Deep Learning benötigen diese händische Eingabe nicht. Hier werden nur Größe und Gewicht eingegeben und das Netz erkennt anhand möglichst umfangreicher Datensätze selbstständig, wie die beiden Faktoren in Relation zueinander stehen. Zudem lassen sich weitere Gesundheitsmerkmale hinzufügen, wie etwa die Fett- oder Muskelmasse, ohne in einem sehr aufwändigen Verfahren die Merkmale sinnhaft manuell zu kombinieren.

Coming up with features is difficult, time-consuming, requires expert knowledge. „Applied machine learning“ is basically feature engineering.

Andrew Ng, in: „Machine Learning and AI via Brain simulations“. Stanford University. Retrieved 2017-08-03.

Deep Learning vs. Machine Learning

Neben der Merkmalsextraktion gibt es einige weitere Unterschiede zwischen neuronalen Netzen und traditionellen Machine Learning Verfahren. Folgend wird auf Daten, Rechenleistung, Trainings- und Inferenzzeit und Transparenz eingegangen. 

Daten

Deep Learning funktioniert besonders gut für große, mehrdimensionale Daten. Je mehr Daten vorliegen, desto besser kann das neuronale Netzwerk generalisieren, d. h. Merkmale lernen, die für alle Beispiele einer Kategorie gelten, z. B. hat jeder Hund Ohren in einer bestimmten Kombination von Form und Textur. Je tiefer ein neuronales Netzwerk ist, also je mehr Schichten es hat, desto mehr Merkmale kann es aus großen Daten ziehen.

Machine Learning stößt bei sehr großen Daten an Grenzen und erreicht ab einem gewissen Punkt keine höhere Genauigkeit mehr.

Rechenleistung

Deep Learning erfordert aufgrund der größeren Eigenleistung für die großen, mehrdimensionalen Datenverarbeitungen jedoch auch deutlich mehr Rechenleistung. Hierfür reichen klassische Prozessoren (CPU) nicht mehr aus, sondern es müssen Grafikprozessoren (GPU) oder andere spezialisierte Prozessoren eingesetzt werden. Für Deep Learning wären das z.B. Tensor Processing Units (TPU). Diese Prozessoren haben eine viel höhere Menge an Kernen im Vergleich zu klassischen CPU.

Diese Voraussetzung an Rechenressourcen werden für Machine Learning nicht benötigt. Klassiche Lernverfahren können einfach auf der CPU trainiert werden und benötigen keine zusätzliche Hardware.

Trainings- und Inferenzzeit

Das Trainieren von Deep Learning Modellen benötigt je nach Komplexität und Größe des Datensatzes Verarbeitungszeiträume von Stunden bis hin zu Wochen und sogar Monaten. Diese Limitation hängt vor allem von der Rechenleistung ab. Genau wie bei der Rechenleistung ist die Trainingszeit abhängig von der Größe des neuronalen Netzes. Je mehr Parameter vorliegen, desto länger wird der Trainingsprozess. Für die Inferenz, also das Anwenden des trainierten Modells auf unbekannte Daten, dauert es ebenso länger, wenn große Daten durch tiefe neuronale Netze verarbeitet werden.

Besonders bei der Trainings- und Inferenzzeit hat Machine Learning die Nase vorn, weil es oftmals wesentlich schneller zu trainieren ist und auch schnellere Prädiktionen aufgrund von unbekannten Daten vollziehen kann. Ein Beispiel wäre die Berechnung von Werbeanzeigen für Facebook-Nutzer, was nahezu in Echtzeit für Millionen Nutzer zugleich passiert.

Transparenz

Deep Learning Modelle sind eine Black-Box. Es können ohne zusätzlichen Aufwand keine Rückschlüsse auf das Zustandekommen einer Prädiktion geschlossen werden, denn das neuronale Netz lernt durch die Daten während des Trainings, wie es Entscheidungen fällen soll. Deshalb wurden in sicherheitskritischen, regulierten Bereichen, wie z.B. dem Finanzsektor, in der Vergangenheit Machine Learning Algorithmen eingesetzt.

Das Black-Blox-Problem von Deep Learning ist hinreichend bekannt und es werden wöchentlich neue Ansätze zur Steigerung der Transparenz neuronaler Netze präsentiert.

Fazit

https://www.researchgate.net/profile/Uchenna_Odi2/publication/326834670/figure/fig8/AS:656388581756929@1533506641355/Difference-between-traditional-machine-learning-and-deep-learning-Alex-2017_W640.jpg

Deep Learning und Machine Learning haben jeweils eine individuelle Daseinsberechtigung. DL kommt vor allem bei großen, mehrdimensionalen Daten zum tragen, Machine Learning findet eher bei kleineren Datensätzen Einsatz, die zeitdringlich und ressourcenschonend verarbeitet werden müssen.

Als Ausblick ist noch anzumerken, dass erst vor Kurzem auf der ICLR (International Conference on Learning Represenations) in einem Paper ein neues Verfahren beschrieben wurde, mit dem neuronale Netzwerke die gleiche Genauigkeit bei deutlich geringeren Parametern erreichen. Hiernach lassen sich große Datenmengen mit weniger Rechenleistung und weniger Zeit erreichen.

Autor des Beitrags
Stefanos Tsoutis
Ignaris UG

Kopernikusstr. 14

30167 Hannover

Co-Founder | Data Analyst & Business Development