Machine Learning aus der «Steckdose»
Seit mehreren Jahrzehnten spricht man an Universitäten weltweit von Algorithmen für maschinelles Lernen. Aber was ist Machine Learning überhaupt?
Schon seit mehreren Jahrzehnten spricht man an Universitäten weltweit von Algorithmen für maschinelles Lernen. Es gibt sogar seit Jahren Doktor-Titel in diesem Bereich. Bis anhin waren die meisten Ansätze auf dem Papier schön anzusehen, in der Praxis jedoch nicht existent.
Warum brauchen wir Machine Learning eigentlich?
Damit ein Computer Aufgaben erfüllen kann, braucht er Programme. Programme basieren auf fixen Regeln, die definieren, was beim Eintreffen von bestimmten Gegebenheiten geschehen soll, und reagieren darauf mit einem vordefinierten Ablauf.
Ein Computer arbeitet mit klaren Anweisungen, entweder mit 1 oder 0, dazwischen gibt es keine Variation.
Hier kommt das Machine Learning ins Spiel. Komplexere Aufgaben wie z.B. das Erkennen und Übersetzen einer Sprache oder das Erkennen von Bildern folgt keinen fixen Regeln. Für diese Aufgabenstellung reicht somit das Programmieren nicht aus. Es ist Computern jedoch möglich, sich diese Fähigkeiten mit Hilfe eines Lernprozesses anzueignen – wie beim Menschen. Wenn ein Mensch auf die Welt kommt, beherrscht er nicht automatisch das Sprechen oder das Erkennen von Gegenständen. Ein Auto z.B. erkennen wir erst, nachdem wir mehrere Autos oder Bilder von Autos gesehen haben und uns jemand mitteilt, dass es sich dabei um ein Auto handelt.
Wie lernt eine Maschine?
Eine Maschine lernt genauso wie ein Mensch. Im Beispiel des Autos speisen wir der Maschine Tausende von Auto-Bildern ein und sagen ihr: «Das ist ein Auto!» Über je mehr Ausgangsbilder der Computer verfügt, desto höher ist die Wahrscheinlichkeit, dass er beim Betrachten eines weiteren Autos selbstständig erkennt, dass es sich beim Objekt auf dem Bild um ein Auto handelt.
Was kann man mit so einer Maschine machen? Ein Beispiel
Die Firma Artfinder schlägt seinen Kunden Kunst anhand von dessen Vorlieben vor. Um dies zu bewerkstelligen, hat die Firma kein riesiges Rechenzentrum, sondern benutzt Dienste der Amazon Web Services (AWS) Cloud. Ein Künstler kann beim Hochladen der Bilder bestimmte Schlagwörter dazu einreichen. Anhand der letzten Käufe, der zuletzt besuchten Kunstwerke etc. werden dem Kunden dann Vorschläge für weitere Kunstwerke angezeigt. Das Ganze geht jedoch weiter: Dank AWS-Rekognition wird auch geschaut, ob sich auf dem Bild z.B. ein Auto befindet. Falls der Künstler dies nicht in den Schlagworten vermerkt hat, würde es trotzdem bei Suchanfragen zu Autos erscheinen.
Vorteile von Frameworks und Cloud-Lösungen
Klar könnte ich all diese Fähigkeiten selbst entwickeln und meiner Maschine alles beibringen, jedoch brauche ich dazu eine riesige Schar an Spezialisten und sehr viel Entwicklungszeit und entsprechend viel Geld. Das würde sich in einer sehr langen «Time-To-Market» niederschlagen.
Die Cloud-Lösungen und Frameworks ermöglichen es Entwicklern, über einfache Schnittstellen auf die Technologie zuzugreifen. Einfache Daten können bei Cloud-Anbietern sogar im Web-Browser zusammengestellt werden. Im Fall von Artfinder hatte das Team eine Demoversion der Applikation mit den fertigen AWS-Produkten innert vier Stunden erstellt. Die fertige Lösung war innert einer Woche realisiert. Weiter verfügen sie über eine flexible Rechenleistung, die genau dann vorhanden ist, wenn sie auch gebraucht wird. Und das Erlernen der Eigenschaften wird von AWS durchgeführt.
Warum dauerte es so lange?
Dass es so lange gedauert hat, bis Machine Learning eingesetzt wurde, liegt meiner Ansicht nach in erster Linie daran, dass die Standardisierung fehlte. Jedes Projekt war eine komplexe Maschinerie von Software und Geräteparks, die sich im Alltagsgebrauch nie bewähren konnte. Die Komplexität der Installation, der Konfiguration und des Betriebs war schlicht und einfach zu gross.
Diese Komplexität wird heute durch fixfertige Frameworks reduziert und somit vereinfacht an den Mann oder die Frau gebracht.
Ein weiterer Faktor war die Anforderung an die Hardware. Die Masse an Rechenleistung und Speicher, der zur Verfügung gestellt werden musste, schreckte schnell ab. Dieses Problem wurde in den letzten Jahren durch spezialisierte Angebote von z.B. Grafikkarten-Herstellern gelöst. Cloud-Provider entwickeln mittlerweile ihre eigenen Field Programmable Gate Arrays (FPGA) und produzieren diese mit Hilfe von Partner.
Wie fange ich an?
Generell ist zu empfehlen, ein Team mit der Erarbeitung des Themas zu beauftragen und klare Ziele zu definieren. Zuerst sollte man das Framework eruieren. Hierbei sollte man auf die im eigenen Unternehmen eingesetzten Technologien achten. Welche Arten von Datenbanksystemen und Speicher die einzelnen Frameworks unterstützen, ist dabei sehr wichtig. Daten sind ja die Quelle all unserer Bemühungen. Diese können auch Bilder oder Tonaufnahmen beinhalten.
Wenn man mit einem Cloud-Provider arbeiten möchte, empfehle ich, vorgängig abzuklären, ob das Framework unterstützt ist.
Hier eine kleine Übersicht einiger Frameworks:
Name | Apache Singa | Apache Spark MLlib | Caffee | Microsoft Cognitive Toolkit | MXnet | TensorFlow |
Plattform | Windows, Linux, MacOS | Windows, Linux, MacOS | Windows, Linux | Windows, Linux | Windows, Linux, MacOs | Windows, Linux, MacOs |
Cloud | AWS | Amazon EC2 | AWS | Azure | AWS, Azure | Google Cloud |
Zusammenfassung
Die Durchbrüche in der Technologie, vor allem bei Grafikkarten und FPGAs, ermöglichen einen effizienteren Einsatz von Machine Learning. Die Frameworks vereinfachen die Verwendung für Entwickler enorm. Man muss heute nicht mehr ein Mathematik-Studium oder einen Doktor-Titel in Data Science besitzen, um Machine Learning einzusetzen. Dies trägt dazu bei, dass sich das Thema schneller verbreitet und neben der Forschung auch in der Arbeitswelt Anklang findet.
Der Einfluss in der Industrie wird aus meiner Sicht immens sein. Nehmen wir z.B. Bosch. Bosch hat sich entschieden, eine eigene IT-Infrastruktur für Machine Learning aufzubauen. Seit 2017 bietet Bosch diese Dienste auch für Externe an. Ein weiterer geplanter Service ist die Suche nach freien Parkplätzen anhand von Sensordaten aus Fahrzeugen.
Die Transformation von weiteren Industriebetrieben hin zu IT-Betrieben wird wahrscheinlich nicht mehr lange auf sich warten lassen.
Digicomp Kurse zu Machine LearningIm Rahmen des Microsoft Professional Programms «Data Science» werden Sie auch zum Machine-Learning-Spezialist. Die beiden folgenden Kurspakete beschäftigen sich eingehend mit dem Thema Machine Learning:
|
Im Rahmen des Microsoft Professional Programms «Data Science» werden Sie auch zum Machine-Learning-Spezialist. Die beiden folgenden Kurspakete beschäftigen sich eingehend mit dem Thema Machine Learning:
- Principles of Machine Learning: In diesem Kurs lernen Sie die Eigenschaften von Machine Learning kennen und werden dabei die wichtigsten Modelle vertieft behandeln.
- Applied Machine Learning: Dieser Kurs behandelt weiterführende Konzepte aus dem Grundkurs «Principles of Machine Learning». Auf diese Weise festigen Sie Ihre neu erlernten Grundkenntnisse im Bereich Machine Learning.