Convolutional Neural Networks (CNNs) eignen sich besonders gut für die Klassifikation von Bildern durch überwachtes Lernen. Mit minimaler Vorprozessierung können diese auch auf einem eher kleinen Trainingsdatensatz gute Ergebnisse liefern.
Als Beispiel nehmen wir schlecht aufgelöste Bilder von deutschen Verkehersschildern für Geschwindigkeitsbeschränkungen. Wir werden dabei über die unterschiedlichen Bestandteile eines solchen Netzes sprechen und wie, wo und warum diese eingesetzt werden. Als Werkzeuge kommen im Kern TensorFlow mit Keras als Frontend zum Einsatz.
Als letzten Schritt werden wir mit dem Flask-Framework eine REST-Schnittstelle erstellen, mit der man unseren Klassifikations-Service auch von außen absprechen und damit in eine Enterprise-Anwendung integrieren kann.
Agenda
ab 08.00: Registrierung und Begrüßungskaffee
09.00: Beginn
- Jupyter Notebooks mit Azure Notebooks
- Grundlagen Maschine Learning
10.30 - 10.45: Kaffeepause
- Einführung in Neuronale Netzwerke und CNNs
- Vorstellung unseres Fallbeispiels
- Arten von Schichten in CNNs
12.00 - 13.00: Mittagspause
- Aufbau unserer Netzarchitektur
- Training, Validation
15.00 - 15.15: Kaffeepause
- Installation und Betrieb der trainierten Modelle
- Betrieb mit GPU
- Fortgeschrittene Themen, Ausblick
ca. 16.30 Uhr: Ende
Technische Anforderungen
Da die Installation aller notwendigen Pakete komplex sein kann, nutzen
wir für diesen Workshop die Azure Notebooks, die keinerlei lokale
Installation erfordern und nur einen Browser zur Steuerung benötigen.
Azure Notebooks sind kostenlos.
Einrichtung:
* Zur Bibliothek gehen:
https://notebooks.azure.com/djcordhose/libraries/data2day2017
* Auf das Notebook 'workshop.ipynb' klicken, um es im Preview-Modus zu öffnen.
* Oben auf der Seite auf 'Clone' klicken, um eine eigene Kopie für den
Workshop zu erzeugen.
* Dadurch gelangst Du zur Microsoft-Login-Seite, wo du Dich entweder
mit einem bestehenden Microsoft Login anmeldest oder einen neuen
Account anlegst. Dies ist einfach und kostenlos.
* Danach wirst Du auf Deine Kopie des Notebooks zurückgeleitet.
* Wenn Du oben links das Jupyter Logo siehst und in einzelne Zellen
zum bearbeiten klicken kannst, hat die Installation geklappt
* Damit sind die Vorbereitungen komplett!
Vorkenntnisse
Grundkenntnisse im Bereich Machine Learning, etwas Python.
Um uns die aufwendige lokale Installation zu sparen, nutzen wir den Notebook Service von Azure. Dort habe ich bereits ein Notebook vorbereitet, das alle notwendigen Abhängigkeiten in einem auf Azure gehosteten Juypter Notebook installiert. Das ist kostenlos und ohne jegliche Verpflichtung, erfordert lediglich eine kurze Anmeldung bei der Azure Cloud, die wir zusammen im Workshop machen werden.
Lernziele
Die Teilnehmer verstehen, wie Bilderkennung als Supervised Learning umgesetzt werden kann. Dazu entsteht eine komplette, funktionierende Anwendung, d.h., auch die tatsächliche Umsetzung wird gezeigt.
//
Oliver Zeigermann
@DJCordhose
ist Entwickler, Architekt, Berater und Coach. Oliver hat über Jahrzehnte in vielen unterschiedlichen Sprachen und mit vielen Technologien Software entwickelt. In den letzten Jahren ist er tiefer in die Analyse großer Datenmengen mit Machine Learning eingestiegen. Dabei interessiert er sich vor allem für Datenvisualisierung und Deep Learning.