Tag: Stanford University

5 coole Anwendungen f├╝r Deep Learning

Viele halten es f├╝r einen Hype, aber es gibt auch Anwendungen, in denen Deep Learning uns schon ernsthaft helfen kann. Egal ob im Bereich Computer Vision, Natural Language Processing oder Creation, Deep Learning Anwendungen werden in den n├Ąchsten Jahren immer h├Ąufiger auftreten. Hier ein paar Anwendungen, die aktuell schon m├Âglich sind.

1. Bring deinem Auto bei, wie ein Mensch zu lenken

Es ist kein Problem mehr, ein eigenes Auto dazu zu bringen, zu lenken wie ein Mensch. Das einzige, was man dazu braucht, ist etwas Technik, ein Auto, ein paar Kameras und dieses Paper als Bauanleitung. Damit kann jeder ein selbstfahrendes Auto nachbauen. Das ganze l├Ąuft mit Torch 7. Eine gute Simulationsumgebung hierf├╝r ist dann wohl Grand Theft Auto.

2. Bau dir ein intelligentes Tagging-System f├╝r deine Bilder

Resultate von Projekt deepimagesent. Credits: Stanford.edu

Resultate von Projekt deepimagesent. Credits: Stanford.edu

Bilder zu beschreiben, haben Deep Learning Netze ebenfalls gelernt. Besonders spannend wird es, wenn man eine gro├če Bildersammlung hat und nun herausfinden will, was in diesen Bildern enthalten ist. Dazu bieten sich verschiedene Programme u.a. NeuralTalk von Andrej Karpathy an. Wie das Ganze funktioniert, lernt man hier┬á(sogar mit passender Demo).

 

3. Male wie ein richtiger Künstler

neural-doodle

Beispiel von Neural Doodle. Credits: alexjc

Neural Doodle hei├čt das Tool. Man┬ákann mit den, f├╝r eine Landschaftszeichnung ├╝blichen, Farben ein Bild malen. Danach transformiert ein Netz das simple Bild in ein Kunstwerk. Dabei nutzt das Netz die Farbkombinationen als Annotation und versucht aus diesen Annotationen das urspr├╝ngliche Kunstwerk wieder herzustellen. Dabei kann man zwischen verschiedenen Stilen w├Ąhlen. Es h├Ąngt ganz davon ab, was man dem Netzwerk zeigt.

 

4. Entwickle deinen eigenen Font

Eigene Fonts entwickeln mit deep-fonts. Credits: erikbern

Eigene Fonts entwickeln mit deep-fonts. Credits: erikbern

Jeder Designer hat schonmal eine Schrift ben├Âtigt, die genau nach seinen W├╝nschen aussieht. Wie w├Ąre es mit einer grafischen Oberfl├Ąche, auf der man verschiedene Regler nach links und rechts schieben kann. Was man erh├Ąlt sind verschiedene Fonts, die das Neuronale Netz passend zu den┬áEingaben anpasst.

50.000 Schriftarten hat der Autor von deep-fonts benutzt, um das Netzwerk zu trainieren. Hier erh├Ąlt man den Code und das trainierte Netz f├╝r die eigenen Spielereien.

5. H├Âre und komponiere klassische Musik

Neuronale Netze komponieren sogar Musik. Sie klingt bereits so, als w├╝rde jemand am Klavier sitzen und nur pers├Ânlich f├╝r uns spielen. Damit k├Ânnen in der Zukunft auch professionelle Komponisten und Interpreten ihre Musik von einer KI ├╝berarbeiten lassen oder sogar einem Mastering unterziehen. Das ist besonders spannend f├╝r Musiker, die noch kein Plattenlabel haben und trotzdem ein Platte in ordentlicher Qualit├Ąt produzieren wollen. Vielleicht ist das sogar noch eine Marktl├╝cke. ­čśë Nachfolgend k├Ânnt ihr h├Âren, wie das klingen kann. Mehr Infos dazu findet ihr hier.

5 weitere Anwendungen f├╝r Deep Learning lest ihr in unserem zweiten Teil der Serie.

 

Zooids – Open Source Hardware – Schwarmintelligenz zum Lernen

Quelle: ShapeLab

Quelle: ShapeLab

Ihr seid von Schwarmintelligenz fasziniert und bastelt gern mit Hardware herum, dann ist Zooid genau das richtige f├╝r euch. ShapeLab, Stanford University und weitere Partner haben die Zooid-Plattform n├Ąmlich Open Source gemacht. Damit k├Ânnt ihr kleine Roboter ansteuern, programmieren und euer gew├╝nschtes Verhalten damit umsetzen. Neben der Hardware-Plattform gibt es nat├╝rlich auch einiges an Software, die quelloffen ist. Auf Github bekommt man die SwarmUI dazu. Dar├╝ber programmiert man die┬áPfadplannung, das Ziel, die Orientierung und Farbe der Zooids.

Ein kleines Demo-Video gibt es hier. Viel Spa├č beim Basteln!

 




Deep Learning – So gelingt der Einstieg!

Deep Learning ist in vielen Bereichen der KI-Forschung und der praktischen wirtschaftlichen Anwendungen von maschinellem Lernen ┬ázum State-of-the-Art geworden – vor allem bei Aufgaben mit┬áBildern und Texten. Es klingt wie ein komplett neues und aufregendes Verfahren, entpuppt sich aber als┬áein Zusammensetzen von bereits vorhandenen Komponenten des Machine Learning. Je nachdem wie tief man in die Materie einsteigen will, muss man sich vorher mit Formen der Merkmalsextraktion sowie mit k├╝nstlichen neuronalen Netzen besch├Ąftigen. Deep Learning bedeutet n├Ąmlich im Grunde folgendes:

  • Ein mehrschichtiges k├╝nstliches neuronales Netz (multi layer)
  • Jede Schicht (Layer) hat eine bestimmte Funktion & f├╝hrt verschiedene Operationen aus
  • Man entwirft verschiedene Architekturen dieser Netze – verschiedene Verschaltungen von Layern





Diese Layer haben verschiedene Funktionen. Die meistbenutzten Konzepte werden nachfolgend dargestellt:

  • INPUT [32x32x3] Funktioniert im Grunde ├Ąhnlich┬áwie eine Retina. Die Matrix in diesem Layer besteht aus den RGB-Bildpunkten (3) und entspricht der Gr├Â├če des Bildes in diesem Beispiel: 32×32 Pixel.

    Quelle: Wikipedia

    Quelle: Wikipedia

  • CONV (Convolutional Layer) Dieser Layer berechnet Features f├╝r lokale Regionen im Input. Die meistgenutzte Funktion hier ist ein Skalarprodukt der Werte in den verschiedenen Regionen berechnet. Setzt man 12 verschiedene Filter ein, erh├Ąlt man 12 Ergebnismatrizen. Dieser Dieser Layer produziert also eine Matrix mit den Dimensionen: [32x32x12].
  • RELU (Rectified Linear Unit) In diesem Layer werden relativ simple Funktionen angewendet, ├Ąhnlich wie max(x, 0). Werte werden hier nicht ver├Ąndert, daf├╝r aber eventuell auf einen Threshold-Wert gesetzt. Wir erhalten also wieder eine Matrix mit den Dimensionen┬á[32x32x12].
  • POOL (Pooling) wird genutzt, um ein Downsampling auszuf├╝hren. F├╝r POOL gibt es verschiedene Operationen, eine davon ist┬áMax-Pooling- Dabei wird aus einer n x n Matrix der gr├Â├čte Wert gew├Ąhlt. Beispielsweise mit dem Output [16x16x12]. Das entspricht einem Faktor von 0.5.
  • FC (fully connected) In diesem Layer sind alle Neuronen einer Schicht miteinander verbunden. Hier passiert auch┬áder meiste Lernaufwand. F├╝r den Fall, dass ein Netz zwischen 10 Klassen entscheiden muss, w├Ąren die Dimensionen hier [1x1x10].

Eine Beispiel-Architektur w├Ąre eine serielle Verschaltung folgender Layer:┬á┬á[INPUT – CONV – RELU – POOL – FC]. Hier werden zuerst verschiedene gefaltete Features aus dem Bild extrahiert. Danach wird ein bestimmtes Muster aus den extrahierten Features herausgeschnitten (entschieden nach Thresholds). Mit diesen Features wird nur ein Downsampling durchgef├╝hrt. Nach dem Downsampling der gefilterten und gefalteten Features wird nun der Layer angesprochen, der aus den Repr├Ąsentationen die verschiedenen Klassen entscheidet. Im Vergleich zu einem Ein-Layer-Netzwerk (auch shallow genannt) wird hier viel mehr Aufwand betrieben, um Features zu extrahieren.

Mehr ├╝ber die┬áVergangenheit von Deep Learning und der Sch├Ânheit von lernenden Maschinen, erf├Ąhrt man in Ben Vigoras Talk mit dem Titel “When Machines Have Ideas”. Er redet dar├╝ber, was lernen wirklich bedeutet und was das Interessante┬áan lernenden Maschinen ist.

Hugo Larochelle redet in “The Deep End of Deep Learning” ├╝ber den langen Weg, den Deep Learning gehen musste, bis es zum Buzzword wurde. Sehr interessant ist dabei auch, dass es diverse Ans├Ątze zum Thema Deep Learning schon viel eher gab.

Um die 2 vorherigen Videos abzurunden, sollte man sich diesen Talk von Andrej Karpathy ansehen. Er ist Teil des Labs der Stanford University und war ma├čgeblich an der Weiterentwicklung des initialen Begriffs Deep Learning beteiligt.

Nach diesen Ausführungen zum Thema Deep Learning hat man eine Intuition für das aktuell am meisten gehypte Thema der KI-Forschung bekommen. Falls ihr euch fragt, wie es nun weiter geht oder gar Lust habt, ein Projekt mit Deep Learning Frameworks umzusetzen, dann werdet ihr hier fündig: