Interview mit Oliver Zeigermann zu Grundlagen und Anwendungsmöglichkeiten von ML

„Die Anwendungsmöglichkeiten von Machine Learning sind nur durch die Daten und unsere Phantasie beschränkt“

Ann-Cathrin Klose

© Shutterstock / Phonlamai Photo

Machine Learning, Deep Learning, verschiedene Arten von Networks, Tools und Frameworks: Die Welt des maschinellen Lernens ist groß und bietet inzwischen schon zahlreiche Optionen. Wir haben mit Oliver Zeigermann, Trainer auf dem ML Summit, über genau diese Vielfalt gesprochen.

JAXenter: Im Bereich des Machine Learning gibt es ja zahlreiche unterschiedliche Ansätze, die du in deinen Workshops vorstellen wirst. Einer davon ist das Supervised Machine Learning. Was ist das und worin unterscheidet es sich von anderen Ansätzen?

Oliver Zeigermann: Die Unterteilung in unterschiedliche Ansätze ist nur ein Anhaltspunkt und häufig kann man diese Ansätze nicht scharf trennen oder es gibt Anteile von unterschiedlichen Ansätzen im gleichen Zusammenhang. Es ist aber üblich, neben Supervised Machine Learning auch von Unsupervised Machine Learning und Reinforcement Learning zu sprechen. Beim Supervised Machine Learning lässt man die Maschine Zusammenhänge aus vorliegenden Datensätzen erlernen. Angenommen, wir haben Daten über Krankheitssymptome zusammen mit einer passenden Diagnose oder Behandlungsform. Mit diesen passenden Paaren könnte man Supervised Learning betreiben. Dies ist auch die in der Praxis am erfolgversprechendsten.

Beim Unsupervised Machine Learning hat man solch einen Zusammenhang zwischen Eingabedaten (Symptome) und Vorhersage (Diagnose) nicht. Man hat nur Datensätze, über die man sonst nichts Spezielles weiß. Man kann dennoch durch Clustering zumindest vollautomatisch Ähnlichkeiten zwischen diesen Datensätzen herausfinden und auch Datensätze identifizieren, die überhaupt nicht wie andere Aussehen. Diese könnten im besten Fall unsinnige Daten, im schlechtesten Fall Betrugsfälle darstellen. Datensätze, die in demselben Cluster landen, könnten dazu dienen, Empfehlungen für Behandlungen anhand von Ähnlichkeiten auszusprechen.

Im Bereich Reinforcement Learning lernt eine Maschine nur anhand eines vorgegebenen Ziels und möglicher Aktionen. Google AlphaGo Zero hat z. B. so das Go-Spielen erlernt und die weltbesten Go-Spieler geschlagen. Das Ziel ist dabei ein Sieg und die möglichen Aktionen ergeben sich aus den Regeln für Go.

JAXenter: Verschiedene Arten Neuronaler Netze kommen für verschiedene Anwendungsbereiche zum Einsatz. Welche Art von Neuronalem Netz setzt man für die Textklassifikation ein?

Oliver Zeigermann: Auch hier ist die Einteilung nicht ganz klar, aber man kann zwischen klassischen Neuronalen Netzwerken (NN), Netzwerken zur Verarbeitung von Bilddaten (CNN) und Netzwerken zur Verarbeitung von zeitlichen Verläufen und Sequenzen unterschieden (RNN).

Für Kategorien (z.B. unterschiedliche Konten) und fließende Werte (z.B. Geldbeträge) kommen klassische NNs zum Einsatz. Texte haben hingegeben die Natur einer Sequenz und werden daher häufig von RNNs klassifiziert oder übersetzt. So eine Klassifikation könnte zum Beispiel bei E-Mails hilfreich sein. Ist die E-Mail dringend? Ist der Kunde sauer? Man kann auch herausfinden, welcher Unternehmensbereich wohl für die Beantwortung zuständig sein wird.

Python Summit 2018
Oz Tiram

Advanced Flow Control in Python

mit Oz Tiram (derico – web development & consulting))

JAXenter: Mit einem Netzwerk alleine kommt man in den meisten Anwendungsfällen aber ja nicht weit. TensorFlow ist ein Tool, das inzwischen sehr bekannt ist. Wofür ist TensorFlow da, was macht man damit?

Oliver Zeigermann: TensorFlow kann aus einer Spezifikation für ein Netzwerk einen lauffähigen Service erzeugen. Dieser kann auf eigenen Servern oder in der Google ML Cloud ausgeführt werden. Neuronale Netzwerke brauchen insbesondere beim Training mit bekannten Datensätzen sehr viel Rechenleistung, die allerdings sehr gut parallelisierbar ist. TensorFlow kann dabei bestehende GPUs nutzen, die dafür besonders geeignet sind. TensorFlow kann ein trainiertes Modell auch auf einem Android oder iOS Gerät ausführen. Ebenso ist über tensorflow.js eine Ausführung im Browser möglich. Nur ein Machine-Learning-Modell, dass nicht auf einem Server läuft, sondern möglichst nahe am Benutzer, kann eine optimale Benutzerfreundlichkeit bieten. Der Mensch ist hier wie so oft das Maß der Dinge. Daher ist der Einsatz von TensorFlow direkt auf den Geräten der Benutzer besonders wichtig.

JAXenter: Gibt es ein oder zwei weitere Tools oder Frameworks, die du für den Einstieg in die Arbeit mit Deep Learning empfehlen kannst?

Durch die Verwendung von Keras werden einige Fehlerquellen ausgeschlossen und generell wird die Definition eines Netzwerks einfacher.

Oliver Zeigermann: Keras bietet eine Programmierschnittstelle, die für ein typisches Netzwerk nur noch die absolut notwendigen Konfigurationsparameter erfordert. Dahinter nimmt dann wie gewohnt TensorFlow seine Arbeit auf. Durch die Verwendung von Keras werden einige Fehlerquellen ausgeschlossen und generell wird die Definition eines Netzwerks einfacher. Wann man mehr Flexibilität braucht kann man diese immer noch punktuell durch TensorFlow erreichen und den Rest nach wie vor mit Keras machen. Dies ist möglich, weil Keras inzwischen ein integraler Bestandteil von TensorFlow geworden ist. Dies hat sich mit der aktuellen TensorFlow-Version 1.9 sogar noch verstärkt und auch die TensorFlow-Entwickler empfehlen nun die Verwendung von Keras.

JAXenter: Wie findet man den richtigen Anwendungszweck für Deep Learning im eigenen Projekt?

Oliver Zeigermann: Die Antwort auf die Frage liegt in den Daten, die einem zur Verfügung stehen oder die man beschaffen könnte. Ohne diese Daten geht in der Praxis gar nichts. Wenn man Daten hat, möchte man häufig eine Vorhersage treffen oder eine Bewertung vornehmen. Sieht diese Transaktion sonderbar aus? Welche Behandlungsform ist vielversprechend? Deep Learning nutzt man dann häufig zur Mustererkennung. Hat man z. B. viele Daten über Krankheitssymptome und die passende Behandlungsform, kann man ein solches System trainieren, die in den Daten enthaltenen Muster zu erlernen und zu verallgemeinern.

Manchmal fehlt die die passende Behandlungsform in den Trainingsdaten, dann kann man immer noch über Unsupervised Machine Learning Ähnlichkeiten zwischen Sätzen von Symptomen herstellen. Dies sind nur Beispiele. Die tatsächlichen Anwendungsmöglichkeiten sind nur durch die vorliegenden Daten und unsere Phantasie beschränkt. Die Bandbreite geht von der automatischen Erstellung von interessanten Molekülen über die Klassifikation von Texten zur Erkennung von Bilddaten. Ob und was man letztlich macht, hängt dabei auch immer vom erhofften und zu erwartenden Nutzen ab.

Vielen Dank für das Interview!

Oliver Zeigermann hat über Jahrzehnte in vielen unterschiedlichen Sprachen und mit vielen Technologien Software entwickelt. In den letzten Jahren ist er tief in die Analyse großer Datenmengen unter anderem auch mit Techniken des Machine Learning eingestiegen.
Geschrieben von
Ann-Cathrin Klose
Ann-Cathrin Klose
Ann-Cathrin Klose hat allgemeine Sprachwissenschaft, Geschichte und Philosophie an der Johannes Gutenberg-Universität Mainz studiert. Bereits seit Februar 2015 arbeitete sie als redaktionelle Assistentin bei Software & Support Media und ist seit Oktober 2017 Redakteurin. Zuvor war sie als freie Autorin tätig, ihre ersten redaktionellen Erfahrungen hat sie bei einer Tageszeitung gesammelt.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: