Nachdem das OC|Expert Camp zum Thema Machine Learning in München ein voller Erfolg war (The Cattle Crew berichtete), kam der Entschluss auf, dieses Erfolgsmodell auch in andere Niederlassungen zu exportieren. So fand am 18. August der HackAirThon in unserer Essener Niederlassung statt. Organisiert wurde es von Pascal Stieber, Serdar Nurgün, Hannes Olivier, Tomasz Krajewski, Falk Ißmer und Thomas Temme. Dank dem guten Wetter störte es auch garnicht, dass es mit circa 40 Leuten recht voll war, da sich ein Großteil der Teilnehmer zum Coding nach draußen in den Innenhof zurückziehen konnte:

Bestes Wetter und gute Laune
Dank bestem Wetter wurde der HackAIRthon seinem Namen gerecht

Nach einem ausgiebigen gemeinsamen Frühstück und einer kurzen Einführung in Machine & Deep-Learning ging es auch schon mit dem Coding los. Genau wie beim Hackathon in München war die Challenge ein neuronales Netz zu entwickeln, welches mit möglichst hoher Genauigkeit Bilder von Hunden und Katzen unterscheiden kann. Diesmal kam anstelle von TensorFlow mit Python jedoch Deeplearning4j mit Java zum Einsatz. Deeplearning4j bietet eine sehr gute Anbindung an Frameworks wie Apache Spark, Kafka und Hadoop und bietet sich daher insbesondere für den Einsatz im Enterprise-Umfeld, auf Rechenclustern und der Cloud an. Da für rechenintensive Operationen per JNI Interfaces auf native Bibliotheken zurückgegriffen wird, gibt es keine Geschwindigkeitsnachteile gegenüber anderen Frameworks. So bietet Deeplearning4j die Möglichkeit beim Tranining auf Grafikkarten via NVIDIA CUDA zurückzugreifen.

Die erste Hürde für die Teilnehmer war die Vorverarbeitung der Daten. Bei der Arbeit mit großen Datensätzen muss man sich zunächst einmal Gedanken darum machen, wie man seine Daten in ein einheitliches Format bekommt, auf dem ein neuronales Netz trainiert werden kann. Dazu wurden zunächst einmal die Bilder entsprechend validiert und gefiltert. Im Anschluss musste der Datensatz in eine Trainings- und Testmenge unterteilt werden. Dank der DataVec ETL-Bibliothek von Deeplearning4j war die Vorverarbeitung jedoch kein großes Problem, sodass es schnell an den Kern der Sache gehen konnte:

Das vorgegebene neuronale Netz funktionierte zwar, lieferte jedoch nicht besonders tolle Ergebnisse und passt sich nach kurzem Training schon zu sehr an die Daten aus der Trainingsmenge an, sodass die Genauigkeit dieses Netz nicht wesentlich größer als 55 Prozent wurde. Also wurde fleißig recherchiert, welche Netzarchitekturen sich besonders für die Objekterkennung eignen. Diese lassen sich sehr einfach in Deeplearning4j via Builder-Pattern aufsetzen:

AlexNet in Deeplearning4j
Via Builder-Pattern lassen sich in Deeplearning4j Netzarchitekturen für eigene tiefe neuronale Netze sehr leicht definieren

Nachdem das neuronale Netz aufgesetzt wurde, muss man es für eine möglichst lange Zeit in Ruhe trainieren lassen. Dies war der perfekte Zeitpunkt um den Grill anzuwerfen und etwas zu Netzwerken.
Nachdem alle Steaks, Würstchen und Grillkäse verspeist war, ging es mit Spannung zurück an die Rechner: Was hat das eigene neuronale Netz in der Zwischenzeit gelernt und wie gut ist es geworden?
Zwei Teams schafften sogar in der sehr kurzen Zeit des Hackathons ein neuronales Netz aufzusetzen und zu trainieren, welches eine Genauigkeit von über 70 Prozent erreichte. Herzlichen Glückwunsch zu dieser Leistung!

Alle Teilnehmer konnten erste praktische Erfahrung in der Anwendung und im Aufsatz eines tiefen neuronalen Netzes in Deeplearning4j sammeln.
Besonderer Dank geht an dieser Stelle auch nochmal an Philipp Kohl der das Event Remote aus seinem Urlaub heraus gerettet hat, indem er morgens noch das WLAN für den Hackathon repariert hat.

Wer bisher keine Gelegenheit hatte an den OC|Expert Camps zum Machine Learning teilzunehmen, kann den Hackathon auch zuhause ausprobieren. Dazu einfach das nachfolgende Github Repo klonen und den Schritten in der Anleitung folgen:
Für Java mit Deeplearning4j: https://github.com/thtemme/Deeplearning4j-Hackathon
Für Python mit TensorFlow: https://github.com/pfehrmann/ML-Example-Steps

Das nächste OC|Expert Camp zum Thema Go Serverless mit AWS Lambda findet am 15. September am Münchner OC Standort statt.
Darauf folgt in Gummersbach das OC|Expert Camp am 18.10. an der TH Köln. Thema an diesem Abend wird die Elevator Saga sein. Eine Einladung dazu wird in Kürze veröffentlicht.
Das nächste Event in unserer Essener Niederlassung ist der Global Day of Code Retreat am 17. November.

Alle Beiträge von Thomas Temme

2 Kommentare

  1. pascalmhumbert Reply

    Sehr cool, dass ihr in Essen auch wieder viel Spaß hattet!

  2. Pingback: OC|Expert Camp Machine Learning auch in Essen ein voller Erfolg – WirelessX

Schreibe einen Kommentar