Entwickler Magazin 3.19

Machine Learning mit Python

Erhältlich ab: April 2019
Umfang: 100 Seiten
Autoren / Autorinnen:
Carsten Eilers, Bettina Finzel, Dr. Shirin Glander, Gunnar Hilling, Dr. Veikko Krypczyk, Christoph Menzel, Frank Müller, Ana-Maria Nichifor, Alexander Rudolph, Carsten Sandtner, René Schröder, Hans-Christian Sperker, Johannes Unterstein

78,00 140,20 

Abonnement Typ
Auswahl zurücksetzen

8,50 

Heft bestellen

Methoden

Kolumne A² – alles Agile
PRINCE2: Risiken managen

Nur was für Dampfplauderer?!
Soft Skills als Erfolgsfaktor für die Karriere

Titelthema

Machine Learning mit Python
Trainieren eines eigenen Bildklassifikationsmodells mit Keras und TensorFlow

Die Top-5-Python-Bibliotheken für Machine Learning
Infografik

Machine learning goes E-Mobility
Konzepte und Methoden zur Implementierung von Predictive-Analytics-Komponenten

Development

Kolumne: Die Golumne
Spaß mit Funktionen

Effizient parallel arbeiten
Nebenläufige Entwicklung ohne viele Threads mit Kotlin-Koroutinen

Ab in den Container!
Teil 2: Speicheroperationen und Back-ups

Classic Games Reloaded
Klettern, Springen, Laufen und Fallen – Spielspaß in zwei Dimensionen

Mobile

Mach die Flutter!

App-Entwicklung mit Googles Cross Platform Framework

Web

Im Zusammenhang von Anfang an!
Teil 5: Durchstarten – eine App mit dem JavaScript Framework Angular

Security

Schlimmer geht immer?
DDoS-Angriffe und wer davon profitiert

Vom maschinellen Sehen zum Verstehen

Liebe Leserinnen, liebe Leser,
sehr geehrte künstliche Intelligenzen,

kennen Sie die Memes mit den Katzen und den Croissants, die fast gleich aussehen – oder eine der vielen Varianten, bei denen es stattdessen um die Frage geht, ob ein Hund oder ein Bagel abgebildet ist? Spätestens auf den zweiten Blick lässt sich für das menschliche Auge meist eindeutig zuordnen, wo das Tier und wo das Gebäck abgebildet ist. Was nett anzusehen ist, stellt kein ernsthaftes Problem im Alltag dar: Eine Katze ist eine Katze.

Im Netz kursieren zahlreiche derartige Abbildungen, die jedoch eine grundlegende Hürde für die maschinelle Bilderkennung demonstrieren. Versucht man nämlich eine allgemeingültige Definition zu finden was eine Katze ist, ist das deutlich weniger trivial als es den Anschein hat: Eine Katze ist auch dann noch eine Katze und für den Menschen als solche erkennbar, wenn nicht alle vier Beine zu sehen sind, sie nur drei Beine hat, ihr der Schwanz fehlt oder das Fell abrasiert wurde. Ein untypisches Äußeres mag die Unterscheidung vom Croissant zwar im Einzelfall erschweren, macht die Zuordnung zur Tierart aber in der Regel der Fälle nicht unmöglich. Wir „wissen“, was eine Katze ist, ohne dass wir tatsächlich zu einer einfachen Definition kommen könnten, die jeden Fall abdeckt, der uns im Alltag begegnet. Das liegt an der Lern- und Abstraktionsfähigkeit des menschlichen Gehirns. Mit der Frage, was ein Ding in seinem Kern ausmacht, sodass wir es in vielen verschiedenen Ausprägungen als solches identifizieren können, befassen sich die Philosophen bereits seit der Antike.

Geht es nun aber darum, dass ein Computer lernt, genau dasselbe zu tun und eine Katze vom Croissant, einen Beagle vom Bagel und ein Haus vom Hausboot zu unterscheiden, wird genau das zur Hürde. Es reicht nicht aus, ein paar allgemeine Regeln zu definieren, um dem Computer die entsprechenden Erkennungsmechanismen beizubringen. Stattdessen greift man heute zum maschinellen Lernen, wenn man möchte, dass ein Computersystem eigenständig klassifizieren kann, was auf einem Bild zu sehen ist. Hier spricht man von künstlichen neuronalen Netzen, die auf eine bestimmte Fähigkeit trainiert werden. Wo vor einigen Jahren noch hoher Aufwand betrieben werden musste, um ein solches System zu entwickeln, kommt die Arbeit mit dem maschinellen Lernen heute im Mainstream der Programmierung an. Inzwischen bringt jedes Smartphone ein bisschen künstliche Intelligenz mit.

Python ist eine der wichtigsten Programmiersprachen auf diesem Gebiet. Mit einer Vielzahl von Tools und Frameworks sowie vortrainierten Algorithmen bietet das Ökosystem auch Einsteigern in diesem Gebiet zahlreiche Möglichkeiten. Die Bildklassifikation ist dabei natürlich nur ein Anwendungsfall unter vielen, aber ein spannendes Feld, auf dem sich in den letzten Jahren viel getan hat. An diesen Themenbereich führt Dr. Shirin Glander in ihrem Artikel auf Seite 14 dieser Ausgabe Schritt für Schritt heran. Mithilfe von TensorFlow und Keras, also einer Machine-Learning-Bibliothek mit Python, demonstriert sie, wie ein eigenes Bildklassifikationsmodell erstellt werden kann. Werden die entsprechenden Methoden eingesetzt, können neuronale Netze inzwischen erstaunlich genau klassifizieren, was auf einer Abbildung zu sehen ist. Und das große Ökosystem rund um Python und das maschinelle Lernen lädt zu einem eigenen Versuch ein. Einen Überblick über fünf interessante Bibliotheken gibt Ana-Maria Nichifor in der Infografik auf Seite 20. Vielleicht finden Sie darunter ja ein spannendes Tool, das Ihre eigenen Projekte ergänzen kann.

Ihre Ann-Cathrin Klose, Redakteurin Entwickler Magazin
Twitter: @entwickler


Weitere Ausgaben

X
- Gib Deinen Standort ein -
- or -