Hauptnavigation

Fachprojekt: Data-Mining und Datenanalyse

Veranstaltung Termin Ort Slides
Einführung 12.10.2017 OH 12 - R. 4013 Slides1
Deep Learning 19.10.2017 OH 12 - R.4013 Slides2 (Bis einschließlich Folie 42) ACHTUNG: Folie 21 und 24 geändert!
Deep Learning / Convolution 27.10.2017 OH 12 - R.4013 Slides2 (Ab Folie 42) Slides3
FPGAs 02.11.2017 OH 12 - R.4013 Slides4
Rechnereinführung 09.11.2017 OH 12 - R.4012 -

Cats vs Dogs

Für das Fachprojekt werden die CatsVsDogs Bilddaten auf den Laborrechnern zur Verfügung gestellt. Wer sich die Daten schonmal vorab ansehen möchte kann diese hier herunterladen: https://www.kaggle.com/c/dogs-vs-cats
Alternativ bietet Kaggle an die Daten mit Python oder R (inkl. Anbindung an Deep Learning Frameworks) auf deren Servern zu untersuchen bzw. dort direkt Modelle zu trainieren. Dies eignet sich sehr gut für ein exploratives Vorgehen. Details gibt es hier: https://www.kaggle.com/c/dogs-vs-cats-redux-kernels-edition

Datensätze

DeepLearning auf FPGAs

Mit der zunehmenden Integration informationsverarbeitender Systeme wie Smartphones oder eingebettete Systeme in alle Bereiche des Lebens sind selbstfahrende Autos, Film- und Einkaufsvorschläge, sowieo automatisierte Haussteuerungen keine Seltenheit mehr. Um die dabei erhobenen Unmengen an Daten sinnvoll nutzen zu können, müssen geeignete Analyseverfahren benutzt werden, die entsprechendes Wissen extrahieren. Neuronale Netze haben im Kontext des DeepLearning in den letzten Jahren ausergewöhnliche Ergebnisse erzielt und bilden aktuell einen der wichtigsten Teilbereiche der Künstlichen Intelligenz. DeepLearning bezeichnet hier die Anwendung von Neuronalen Netzen zur Extraktion und Generierung von wichtigen Merkmalen der Daten und gleichzeitig die Anwendung dieser Merkmale für eine Vorhersage. Um mit den Unmengen an Daten zu skalieren wird immer öfter zu Spezialhardware in Form von speziellen CPUs, GPGPUs bzw. FPGAs gegriffen, um so eine schnelle und energiesparende Anwendung von Neuronalen Netzen zu ermöglichen. Field Programmable Gate Arrays (FPGAs) sind programmierbare Schaltkreise, deren Logik mittels einer Hardwarebeschreibungssprache umgesetzt wird. FPGAs führen lediglich den programmierten Schaltkreis aus, wodurch Abstraktionen wie ein Betriebssystem, Threads oder die sequentielle Ausführung von Code wegfallen. Zusätzlich sind FPGAs rekonfigurierbar, sodass sich ihre Logik zu einem späteren Zeitpunkt ändern lässt, wodurch sich FPGAs sehr gut für die Umsetzung und Evaluation von Neuronalen Netzen eignen.

Information

Studierende, welche dieses Fachprojekt erfolgreich abgeschlossen haben,

  • kennen die Grundbegriffe des Maschinellen Lernens, insbesondere von Neuronalen Netzen bzw. DeepLearning
  • kennen sich mit den grundlegenden Eigenschaften und der Programmierung von FPGAs aus
  • und können Analyseergebnisse evaluieren und präsentieren.

Das Fachprojekt beginnt mit einer Vorlesungsphase in der grundlegende Konzepte der Datenanalyse mit Schwerpunkt auf Neuronalen Netzen und DeepLearning vorgestellt werden. Des Weiteren werden auf die speziellen Eigenschaften von FPGAs eingegangen, sowie deren Programmierung mittels Hardwarebeschreibungssprachen vorgestellt. Im zweiten Teil der Veranstaltung setzen die Studenten eigene Methoden aus dem Bereich des DeepLearning um und wenden diese auf gegebene Datensätze an. Die Implementierung für das FPGA erfolgt mittel High-Level Synthese Tools und wird direkt auf dem FPGA getestet. Die Ergebnisse werden evauliert und in einem kurzem Vortrag der gesamten Gruppe vorgestellt.