Überblick Ansätze des Deep Learning

Aus Winfwiki

Wechseln zu: Navigation, Suche

Fallstudienarbeit

Hochschule: Hochschule für Oekonomie & Management
Standort: Essen
Studiengang: Bachelor Wirtschaftsinformatik
Veranstaltung: Fallstudie / Wissenschaftliches Arbeiten
Betreuer: Prof._Dr._Uwe_Kern
Typ: Fallstudienarbeit
Themengebiet: Machine Learning
Autor(en): Nico Strelow, Kevin Branscheidt, Tim Oliver Theelen, Erion Cekrezi
Studienzeitmodell: Abendstudium
Semesterbezeichnung: SS16
Studiensemester: 2
Bearbeitungsstatus: Bearbeitung abgeschlossen
Prüfungstermin: 14.6.2016
Abgabetermin: 5.6.2016


Inhaltsverzeichnis


1 Einleitung

Die wissenschaftliche Arbeit behandelt Überblicksansätze von Deep Learning.

1.1 Einführung in die Thematik

In dem heutigen Zeitalter der Technik, wollen die Menschen selbstlernende Maschinen oder beispielsweise selbstfahrende Autos haben. In der Informatik werden diese Themen allgemein als künstliche Intelligenz bezeichnet. Künstliche Intelligenz ist in meheren Bereichen unterteilt. Diese Intelligenz kann in der Computertechnik als maschinelles Lernen dargestellt werden. Wie der Name bereits vermuten lässt, wird beim maschinellen Lernen durch zum Beispiel einen Algorithmus automatisiert gelernt. Eine wichtige Methode von Maschine Learning ist das Thema Deep Learning. Diese Methode gibt es schon etwas länger, konnte bisher aber nicht richtig umgesetzt werden. Dafür sind große Mengen von Daten und sehr hohe Rechenleitung von nöten. In den Zeiten von Big Data ist dies heute kein Problem mehr. Deep Learning ist momentan noch in der Entwicklung, wird aber schon in der ein oder anderen Anwendung verwendet. Ein gutes Beispiel dafür ist die Spracherkennung von Apple, Siri. Es gibt mehrere Ansätze von Deep Learning die in der folgenden wissenschaftlichen Arbeit explizit erläutert werden.

1.2 Zielsetzung der Arbeit

Das Thema Deep Learning wird schon seit einigen Jahren erforscht und bekommt derzeit einen großen Schwung. Cortana, Siri, Skype: Fast jeder nutzt heute Software, die auf Deep Learning basiert. Ziel dieser Arbeit ist es einen Einblick des Deep Learnings zu geben und die Ansätze/Methoden darzustellen.

1.3 Methodischer Aufbau der Arbeit

In unserer Arbeit beschäftigen wir uns zuerst einmal mit den Grundlagen des Maschine Learnings, sowie den Grundlagen des Deep Learnings. Im Anschluss daran werden wir die Formen, indem Deep Learning erscheint erläutern und anhand von Beispielen aufzeigen. Nachdem die Grundlagen, sowie die Anwendungsbeispiele erläutert sind, begeben wir uns zum Hauptthema unserer Arbeit: die Ansätze des Deep Learnings. Die verschiedenen Arten des Deep Learnings werden anschließend anhand von Kriterien miteinander verglichen und deren Vor- und Nachteile aufgezeigt. Zum Schluß erfolgt die Schlussbetrachtung des Themas, sowie ein Ausblick in die Zukunft.

2 Grundlagen

In den folgenden Abschnitten werden die wichtigsten Grundlagen der Künstlichen Intelligenz, Maschine Learning, Deep Learning und der künstlichen neuronalen Netzen erläutert. Diese Grundlagen sind wichtig, für das weitere Verständnis der wissenschaftlichen Arbeit.

2.1 Künstliche Intelligenz

In Anlehnung an: Wikipedia - Turing Test Abbildung 1: Turing-Test
In Anlehnung an: Wikipedia - Turing Test
Abbildung 1: Turing-Test

Für die künstliche Intelligenz, im Folgenden KI genannt, gibt keine einheitliche Definition in der Literatur. Die KI ist ein Teilgebiet der Informatik. Eine mögliche Definition wäre: >>KI beschäftigt sich mit Methoden, die es einem Computer ermöglicht, solche Aufgaben zu lösen, die, wenn diese vom Menschen gelöst werden, Intelligenz erfordern.<< [1]

Eine der ersten Arbeiten, die sich mit KI beschäftigt, ist "Computing machinery and intelligence" von dem englischen Mathematiker Alan Turing, 1950. In dieser Arbeit stellt Alan Turing die Frage, ob Maschinen je in der Lage sein werden zu denken. Dabei geht er im Speziellen nicht darauf ein, worum es sich bei Intelligenz handelt, sondern stellt einen empirischen Test, den Turing-Test, vor.[1]


 Der Test läuft nach folgendem Konzept ab:
Eine Person(C) steht in Verbindung mit einem Computer(A) und einer anderen Person(B). Damit die Person(C) nicht sofort erkennt, mit wem sie gerade kommuniziert, wird die Verbindung über ein Computer Terminal aufgenommen. Person(C)hat nun die Aufgabe herauszufinden, welcher der beiden Kommunikationspartner der Mensch und welcher der Computer ist. Am Ende des Tests muss Person(C) auf Grund der geführten Dialoge(Chat) entscheiden, welcher der beiden Partner der Computer war. Kann Person(C) keine Entscheidung treffen, oder entscheidet sie sich falsch, so ist der Computer nach dem Turing-Test intelligent.[1]


2.2 Maschine Learning

Übersetzt bedeutet "Maschine Learning" "Maschinelles Lernen". Aus dieser Übersetzung kann die Bedeutung von Maschine Learning hergeleitet werden: Also bezeichnet Maschine Learning nichts anderes als eine Fähigkeit von Maschinen, selbstständig zu lernen.

Für Maschine Learning gibt es in der Literatur viele mögliche Definitionen. Eine der vielen Definition wäre: >>Anwendung und Erforschung von Verfahren, durch die Computersysteme befähigt werden, selbstständig Wissen aufzunehmen und zu erweitern, um ein gegebenes Problem besser lösen zu können als vorher (Learning)<<.[1] Anhand dieser Definition bedeutet Maschine Learning also, dass Computersysteme durch das Anwenden von bestimmten Verfahren, Wissen generieren können, und mithilfe dieses Wissens Probleme besser lösen als zuvor.

2.2.1 Lernen

Lernen, oder auch Intelligenz, deckt ein sehr großes Spektrum an Verfahren ab. Doch was bedeutet lernen genau? Lernen ist >>das Aneignen von Wissen und Kenntnisssen bzw. das Einprägen in das Gedächtnis. Das L. beinhaltet v. a. auch den Vorgang im Laufe der Zeit durch Erfahrung, Einsichten o. Ä- zu Einstellungen und Verhaltensweisen zu gelangen, die von Bewusstsein und Bewusstheit bestimmt sind.<<[2][3] Das ist ein der vielen möglichen Definition von lernen. Bislang wurde der Begriff nur bei Menschen und Tieren verwendet, die durch ein Studium oder durch die Hundeschule Wissen und Fähigkeiten erlangen. Bei Maschinen ist es anders: Sie bekommen durch Algorithmen die Möglichkeit, Wissen "anzueignen" und im Anschluss an den Erkenntnissen des gewonnenen Wissens Dinge besser zu machen. Sie erkennen dann bestimmte Dinge wieder, können Diagnosen erstellten, einen Verlauf Planen und Prozesse verbessern. Durch diese Möglichkeiten eignen sich Maschinen, die lernen können, perfekt für Bildverarbeitung,Textverarbeitung und Sprachverarbeitung. [3]

2.2.2 Algorithmus

Ein Algorithmus ist: "Eine präzise, d.h. in einer festgelegten Sprache abgefasste, endliche Beschreibung eines allgemeinen Verfahrens unter Verwendung elementarer Verarbeitungsschritte zur Lösung einer gegebenen Aufgabe." [4] Somit können Algorithmen als Programm implementiert werden. Bei der Problemlösung von Algorithmen werden bestimmte Eingaben zu bestimmten Ausgaben umgeformt. [5] Beim Maschine Learning spielen Algorithmen eine Zentrale Rolle, den ohne sie ist es nicht möglich, selbständig Entscheidungen zu treffen.

2.3 Deep Learning

In diesem Abschnitt werden die Grundlagen des Deep Learning behandelt. Der Fokus liegt darin, was Deep Learning auszeichnet, wie man es definieren kann, welchen Nutzen die Ansätze von Deep Learning bieten und was es nicht ist.

2.3.1 Teilbereich von Machine Learning

Eine einheitliche und wissenschaftlich anerkannte Definition für Deep Learning gibt es noch nicht. In dieser wissenschaftlichen Arbeit wird die folgende Erklärung als Basis für Deep Learning genommen:

 Deep Learning ist ein Teilbereich des Machine Learning, nicht zuletzt inspiriert von der Funktionsweise des Gehirns,
 basierend auf neurale Netze, mit dem Ziel, aus vorhandenen Informationen zu lernen und das Erlernte mit neuen Inhalten zu
 verknüpfen, um daraus erneut zu lernen, bis die Maschine schließlich, darauf basierend, Prognosen und Entscheidungen
 treffen kann. Diese Entscheidungen werden kontinuierlich hinterfragt, daraufhin bestätigt oder geändert. Dies alles passiert
 ohne das Zutun von Menschen oder fest definierten Regeln.

Eine Herausforderung im Bereich des Machine Learnings ist die Skalierung von Lernalgorithmen, um aus sehr großen Datenbeständen Muster zu erkennen und daraus Modelle abzubilden. [6] Dieses Problem kann mit dem Deep Learning Algorithmus gelöst werden. [7]

In Anlehnung an Mainzer (2016) Abbildung 2: Mehrschichtenmodell zur Gesichtserkennung (deep learning )
In Anlehnung an Mainzer (2016)
Abbildung 2: Mehrschichtenmodell zur Gesichtserkennung (deep learning )

Deep Learning basiert auf mehrschichtige neurale Netze und erlangt dadurch schrittweise ein tiefer gehendes Verständnis über eine Information, ein Bild oder anderen Elementen, indem es erst einzelne Bausteine, dann Cluster erkennt, diese miteinander logisch verbindet, um dann das Ganze zu erkennen. [8] Dieses Vorgehen wird auch vom menschlichen Auge verwendet, um Objekte identifizieren und klassifizieren zu können. [9]


In Anlehnung an: Böttcher (2016) Abbildung 3: Deep Learning in exemplarischen Schritten
In Anlehnung an: Böttcher (2016)
Abbildung 3: Deep Learning in exemplarischen Schritten

2.3.2 Konzept

Das folgende Bild zeigt ein mehrschichtiges Deep Learning Netz:

In Anlehnung: an KDnuggets (2016) Abbildung 4: Deep Learning Neural Network
In Anlehnung: an KDnuggets (2016)
Abbildung 4: Deep Learning Neural Network

Bei Deep Learning geht es grundsätzlich darum, dass Maschinen lernen, zu lernen. Wortwörtlich übersetzt könnte man „Deep Learning“ mit „Vertieftes Lernen“ übersetzen. Demnach liegt das Ziel nahe, dass eine Maschine oder eine Software selbstständig lernen und denken kann. Unter Lernen versteht man im Allgemeinen, das Rückschließen auf Informationen, nachdem man ein bestimmtes Verhalten beobachtet hat. Daraus erschließen sich Erfahrungswerte, die wiederum mit weiteren Informationen in einen Kontext verknüpft werden und das weitere Verhalten beobachtet wird, um weitere Rückschlüsse zu ziehen. [10]

Deep Learning adaptiert diesen Ansatz, indem es versucht, aus gegebenen Informationen Muster zu erkennen, diese zu klassifizieren und Entscheidungen zu treffen, welche Bedeutung diese Information in dem jetzigen Kontext hat. Dabei wird versucht, ähnlich wie das menschliche Gehirn, daraus Rückschlüsse zu ziehen und diese Informationen bei Prognosen und zukünftigen Entscheidungen zu berücksichtigen. Im Gegensatz zu Menschen, wird jede Information und jede Entscheidung beim Deep Learning hinterfragt. Bestätigt sich die Annahme, bekommt diese Informationsverknüpfung eine gewichtigere Bedeutung. Wird die Information revidiert, bekommt es eine neue leichtgewichtige, unbedeutendere, Verknüpfung.

Dieses Konzept entstammt dem Bereich Convolutional Neural Networks (CNN), was im Abschnitt 2.4 näher betrachtet wird. Vereinfacht gesagt nutzt Deep Learning mehrschichtige Informationsverarbeitung und -Verknüpfung. Auf der einen Seite hat man einen einen Informationsinput. Auf der anderen einen Output. Was letztendlich am Output herauskommt entscheidet die sogenannten „Mittelschicht“, die wiederum aus n-stufigen Schichten bestehen kann. Die eingegebene Information kann demnach in mehreren Stufen analysiert, verarbeitet und in einem Kontext gebracht werden, bis es letztendlich den Output definiert.


2.3.3 Abgrenzung zu Machine Learning

Um „Deep Learning“ besser zu verstehen, ist es entscheidend, zu hinterfragen, was „Deep Learning“ nicht bedeutet.

Beim maschinellen Lernen gibt es z.B. den Ansatz, das man eine Maschine mit vielen Informationen füttert. Daraufhin trainiert man die Maschine. Dazu nimmt man ca. 80% der vorhandenen Informationen und und definiert feste Regeln, auf welche Parameter man Wert legt und welche Schlüsse die Maschine ziehen soll. Durch Unmengen von Informationen und intensives Trainieren erhofft man sich bessere Prognosen und Analysen, was man auch unter Predictive Analytics versteht. Daraufhin testet man die trainierte Maschine mit den restlichen 20% der Daten und justiert die Regeln ggf.

Zur besseren Verdeutlichung dient folgendes Beispiel:

Ein Unternehmen möchte proaktiv Ihre Kundenbeziehungen verbessern, mit dem Ziel, die Kündigungsrate um 25% zu senken. Es gibt unterschiedliche Ansätze, dieses Ziel zu erreichen. Zum einen könnte die Geschäftsführung entscheiden, die Kunden mehr zu besuchen, den Dialog zu verstärken, oder neue Dienstleistungen anzubieten. Diese Maßnahmen mögen einleuchtend klingen, basieren jedoch zum jetzigen Zeitpunkt nur auf Vermutungen, Erfahrungswerte und Bauchgefühle.

Ein anderer Weg wäre, die Historie der Kundenaktivitäten zu analysieren, um herauszufinden, warum die Kunden in den letzten Jahren gekündigt haben. Und genau hier setzt maschinelles Lernen an. Das Unternehmen sammelt alle Daten, die ihrer Meinung nach, wichtig für die Maschine sein könnten. Das könnten Daten aus dem unternehmensinternen CRM-System sein, oder Daten externer Systeme, wie z.B. Bonitätsauskünfte. Daraufhin markiert das Unternehmen alle Kunden, die in der Vergangenheit gekündigt haben. Danach entscheidet das Unternehmen, welche Parameter wichtig für die Analyse sind. Das könnte z.B. die Vertragslaufzeit, ein möglicher Kündigungsgrund, der Kundenbetreuer, die Häufigkeit der Kontaktaufnahme etc. sein. Auf Basis der Informationen und der vordefinierten Parameter analysiert die Maschine die Daten und erkennt mögliche Muster und Zusammenhänge zwischen dem Kunden, dem Kündigungszeitpunkt und den vorher definierten Parametern. Auf dieser Basis erstellt die Maschine Prognosen, welche Kunden in Zukunft mit welcher Wahrscheinlichkeit kündigen werden und nennt zudem die möglichen Kündigungsgründe. Das Unternehmen kann justierend eingreifen, indem es die Prognosen bestätigt oder revidiert, was dazu führt, dass die Maschine die Daten neu analysiert und veränderte Prognosen abgibt.

Dieses maschinelle Lernen ist eine Vorstufe des Deep Learning. Es ist nicht gleichzusetzen mit Deep Learning. Deep Learning geht noch einen Schritt weiter in Richtung selbstständiges Lernen und weg von dem Eingreifen des Unternehmens. Es muss isoliert betrachtet werden. Sobald man in das Denkmuster, in die Arbeitsweise, der Maschine eingreift, dann spricht man nicht mehr von Deep Learning.

Bleiben wir bei dem oben genannten Beispiel. Dieses Mal betrachten wir es aus dem Blickwinkel von Deep Learning:

Das gleiche Unternehmen möchte die Kündigungsrate senken. Es setzt eine Maschine / eine Software ein, die alle Aktivitäten rund um das Kundenbeziehungsmanagement (CRM) aufzeichnet und gleichzeitig analysiert. Am Anfang hat es noch wenige Daten. Die Analysen bzw. die Vorhersagen sind dementsprechend dürftig. Mit der Zeit häufen sich die Informationen. Die Maschine beginnt zu „lernen“, dass ein Kunde lange bei dem Unternehmen bleibt, weil der Berater häufiger mit dem Kunden telefoniert, oder ihn häufiger besucht. Darauf hin lernt das System, dass die Probleme des Kunden zeitnah von den Mitarbeitern behandelt werden. Anscheinend hängt dies alles mit der Kundenzufriedenheit zusammen. Die Maschine lernt weiter, wie der Kunde behandelt wird, in welcher Abständen er kontaktiert wird, was besprochen wurde, und welche Probleme der Kunde hat. Das alles funktioniert nur, weil das Unternehmen der Maschine alle Daten zur Verfügung stellt. Welche Schlüsse die Maschine daraus zieht, weiß niemand so genau. Es gibt keine fest definierten Regeln, keine Informationsleitplanken. Der Mensch filtert keine Informationen und es greift auch nicht die Denk- und Entscheidungsmuster ein. Mit der Zeit und mit zunehmenden Informationen lernt die Maschine und ist in der Lage, bessere Prognosen abzugeben. Dabei geht es nicht um richtig oder falsch. Eine heutige Prognose kann morgen schon falsch bzw. überholt sein, da mit jeder weiteren Information die Maschine vorhandene Informationen neu bewertet neue Entscheidungen trifft. Das ist der große Vorteil von Deep Learning. Der Nachteil ist, dass Deep Learning im Grund eine „Black Box“ ist, da wir per Definition nicht eingreifen dürfen und somit auch nicht ersichtlich ist, nach welchen Prinzipien die Maschine handelt.

Der große Unterschied zwischen den beiden Beispielsvarianten liegt darin, dass beim herkömmlichen maschinellen Lernen der Mensch in den Analyse- und Entscheidungsprozess eingreift, während er beim Deep Learning nur die Informationen zur Verfügung stellt und alle Aktivitäten aufzeichnen lässt. Die Analyse, Prognose und Entscheidungen überlässt der Mensch der Maschine.

Das ist Deep Learning. Deep Learning ist sozusagen das „Loslassen“ des Menschen. Der Mensch hat keine Kontrolle und keinen Einfluss auf das Resultat. Wenn man z.B. fragt, nach welcher Formel oder nach welchen Muster die Deep Learning Maschine eine Entscheidung getroffen hat, wäre die einzig logische Antwort: „Wir wissen es nicht genau!“.

Was für die Maschine heute die richtige Formel sein kann, könnte es morgen oder nächste Woche überholt sein. Dementsprechend ist Deep Learning auch gleichzusetzen mit dem Prozess „Informationen sammeln -> Lernen -> Hinterfragen -> Überarbeiten -> Informationen sammeln …“.

2.3.4 Nutzen und Anwendungsbeispiele

Deep Learning kann in unterschiedlichen Anwendungsfällen verwendet werden:

  • Erkennen von alleinstehenden Gegenständen in Bildern und Videos

Durch Deep Learning Algorithmen ist es möglich, dass eine Maschine Gegenstände klassifiziert und diese auch erkennt, wenn das gleiche Objekt etwas anders aussieht. Beispiel: Das Deep Learning Programm hat gelernt, wie ein in Deutschland fahrender Bus aussieht, bzw. welche Merkmale einen Bus auszeichnet. Wenn es jedoch Bilder von Bussen sieht, die in Amerika fahren, erkennt es diese Trotzdem als Busse, da die wesentlichen Merkmale eines Busses zutreffen.

  • Erkennen von Gegenständen, die z.B. durch andere Gegenstände bis zu einem gewissen Grad verdeckt sind

Durch Deep Learning ist es möglich, dass Gegenstände erkannt werden, obwohl eine gewisse Fläche des gesuchten Gegenstandes verdeckt ist. Das Deep Learning Programm kennt ein Stop Schild. Eine Kamera filmt jedoch ein Stoppschild, dass von einem Baum fast überdeckt wird. Das Programm erkennt jedoch die wesentlichen Merkmale, wie Farbe, Form und Schriftzeichen und erkennt darin ein Stop-Schild.

  • Spracherkennung

Durch Deep Learning ist es möglich mit Maschinen per Sprache zu kommunizieren. Dabei lernen die Maschinen neue Wörter und Wortwendungen kennen und erweitern eigenständig ihr Sprachrepertoire. Als Beispiel kann Apple´s Siri genommen werden

  • Übersetzung von gesprochenen Texten

Durch Deep Learning ist es möglich, gesprochene Sprache in Text umzuwandeln. Auch exotische Sprachen, wie z.B. Chinesisch können unterstützt werden. Deep Learning Spracherkennungslogartihmen erkennen bei solchen Sprachen unterschiedliche Tonlagen, was meistens unterschiedlich übersetzt werden muss.

  • Erweiterte künstliche Intelligenz in Computerspielen

Die "künstliche Intelligenz" vieler PC- und Konsolenspiele bestand früher darin, dass die Programmierer ein Set an Regeln vorher definierten und das Objekt im Zufallsverfahren entscheidet, welche der vorher definierten Aktionen ausgelöst werden soll. Durch Deep Learning kann ein Computerobjekt aus dem Verhalten des Spielers lernen und eigenständige Routinen berechnen. Somit wird der Computergegner unberechenbarer.

  • Predictive Analytics (Vorhersagen mit Wahrscheinlichkeiten)

Durch Deep Learning ist es z.B. möglich Kundendaten aus einem CRM System kontinuierlich zu analysieren, um daraus bestimmte Vorhersagen über zukünftiges Kundenverhalten treffen zu können.

2.4 Künstliches neuronales Netz

Künstliche neurale Netze sind ein verbund von vielen kleinen künstlichen Neuronen und gehört in die Kategorie der künstlichen Intelligenz. Dies basiert auf die biologisch neuronalen Netze. Neuronale Netze sind Mathematische Modelle, die sich an dem menschlichen Gehirn orientieren. [11]

2.4.1 Biologischer Hintergrund

In Anlehnung an: Frenkel (2012) Abbildung 5: Aufbau eines neuronalen Netzes
In Anlehnung an: Frenkel (2012)
Abbildung 5: Aufbau eines neuronalen Netzes

Das menschliche Gehirn verfügt über mehr als 10 Milliarden Neuronen und Nervenzellen. [12]Ein Neuron besteht im wesentlichen aus einem Zellkörper, Dendriten und aus einem Axon.
Über die Dendriten werden Reize aufgenommen und an den Zellkörper bzw. an den Axonhügel weitergegeben. Dieser ist für die Funktion des Neuron zuständig. Er verarbeitet die unterschiedlichen Reize, indem die Reize aufaddiert werden. Je kürzer ein Dendrit, desto stärker ist der Reiz. Durch die Weiterleitung der Reize baut sich ein Erregungspotential am Axonhügel auf. Übersteigen die aufaddierten Reize den Schwellwert von dem Erregungspotential, wird ein Aktionspotential ausgelöst. Es wird auch von "Zelle feuert" gesprochen. Wenn die "Zelle feuert", dann werden die Reize an dem Axon an die Synapsen weitergeleitet. Die Synapsen sind mit anderen Neuronen verbunden. Ein Neuron ist ca. mit 2000 anderen Neuronen direkt verbunden.[12] Die Reize werden immer nur in eine Richtung verarbeitet. Dieses Verfahren wird auch "Sender/Empfänger"-Prinzip genannt. Das ganze Verfahren wird umgangssprachlich auch als "denken" bezeichnet. [13]

2.4.2 Aufbau künstliches Neuron

In Anlehnung an Reif (2000) Abbildung 6: Künstliches Neuron
In Anlehnung an Reif (2000)
Abbildung 6: Künstliches Neuron

Künstliche Neuronen sind den Neuronen des menschlichen Gehirns nachempfunden. Sie verfügen über n Eingänge, worüber die Reize aufgenommen werden können. In der Abbildung 4 wird eine Summenfunktion und Aktivierungsfunktion dargestellt. Diese beiden Funktionen stellen den Zellkörper und den Axpnhügel da. Der Ausgang gibt die verarbeiteten Reize an andere künstliche Neuronen weiter bzw. aus. Sie können nach dem alles oder nichts Prinzip (1 oder 0) arbeiten oder sie arbeiten je nach Eingabe, die Abhängig von Schwellwerten sind. Die Schwellwerte liegen je nach Aktivierungsfunktion zwischen 0 und 1 oder -1 und +1. [13]

Die Eingänge eines künstlichen Neurons sind die Dendriten von einem biologischen Neuronen. Jeder Eingang hat eine eigene Gewichtung. Der Eingangswert wird mit der Gewichtung multipiziert. Wenn alle Eingangswerte mit deren Gewichtung multipliziert wurden, dann werden alle Werte in einer Summenfunktion zusammenaddiert. Diese Summenfunktion ist ein elementarer Bestandteil eines künstlichen Neuronens. Die Summe der Funktion wird an die Aktivierungsfunktion übergeben. Mit der Aktivierungsfunktion wird entschieden, welcher Wert bei der Ausgabe ausgegeben bzw. dargestellt wird. [13] [11]

 Summenfunktion: net = xi * wi
 [11]
 Hier steht i für die Anzahlen von Eingängen bzw. Gewichtungen.
Beispiel: net = x1 * w1 + x2 * w2

2.4.3 Aktivierungsfunktionen

Um eine Ausgabe von einem künstlichen Neuronen zu generieren, bedarf es einer Aktivierungsfunktion. Sie empfängt die Summenfunktion, also die Eingangswerte in Abhängigkeit von den Gewichtungen. Der Aktivierungswert kann beliebig sein. Wie bereits erläutert sind Standard Werte -1 und +1.[11] Die wichtigsten drei Aktivierungsfunktionen sind die Sprungfunktion, die Linearefunktion und die Sigmondfunktion. Die Sprungfunktion auch Schwellwertfunktion genannt, generiert eine 1, wenn das Ergebnis der Summenfunktion größer gleich 0 ist und wenn das Ergebnis kleiner 0 ist, wird eine 0 ausgegeben. Dadurch kann ein Neuron mit der Schwellwertfunktion nur etwas zu dem Netz dabei tragen, wenn das Neuron eine 1 ausgibt. Bei der Linearefunktion steigt die Ausgabe in Abhängikeit der Eingabewerte, linear an. Die Sigmondfunktion ist die realistischste Funktion von den drei genannten. Sie ist eine sehr nützliche nichtlineare Funktion. [14] [15] [11]


Auf den nachfolgenden Abbildungen sind die drei genannten Funktionen, Sigmoid-, Sprung-, und Linarefunktion, in einem Koordinatensystem dargestellt. Die X-Achse stellt die aufaddierten und gewichteten Eingabewerte, die durch die Summenfunktion zu standen kommen, dar. Auf der Y-Achse kann der ermittelte Ausgabewert abgelesen werden.

Formel: f(net) = 1/(1+e-net) Hierbei steht e für die eulersche Zahl.[16]
In Anlehnung an: Kristian (2011) Abbildung 7: Sigmoidfunktion
In Anlehnung an: Kristian (2011)
Abbildung 7: Sigmoidfunktion
Formel: f(net) = {0: net < 0, 1: net >= 0} [16]
In Anlehnung an: Kristian (2011) Abbildung 8: Sprungfunktion/Schwellwertfunktion
In Anlehnung an: Kristian (2011)
Abbildung 8: Sprungfunktion/Schwellwertfunktion
Formel: f(net) = net [16]
In Anlehnung an: Kristian (2011) Abbildung 9: Linearefunktion
In Anlehnung an: Kristian (2011)
Abbildung 9: Linearefunktion

2.4.4 Aufbau künstliches Neuronales Netz

In Anlehnung an  Reif (2000) Abbildung 10: künstliche Neuronales Netz
In Anlehnung an Reif (2000)
Abbildung 10: künstliche Neuronales Netz

Ein künstliches Neuronales Netz besteht aus mehreren künstlichen Neuronen, die mittels einer Verbindung verbunden sind. In der Regel gibt es drei Schichten in einem Netz. Eine Eingangsschicht, eine verdeckte Schicht und eine Ausgangsschicht. Die Eingangsschicht ist für die Datenaufnahme zuständig. Die Daten können aus verschiedenen Quellen stammen, z.B. aus anderen Programmen. Die Ausgangsschicht stellt die errechneten Informationen zur Verfügung.
Zu der verdeckte Schicht gehören alle Neuronen, die zwischen der Eingangsschicht und der Ausgangsschicht liegen. Die verdeckte Schicht wird so genannt, da diese nicht mit der äußeren Welt im direkten Kontakt steht. Die verdeckte Schicht kann auch aus mehreren Schichten bestehen. Diese Netze werden als mehrschichte neuronale Netze bezeichnet. Abbildung 8 zeigt ein drei schichtiges neuronales Netz. [11]

3 Übersicht

In dem Kapitel Übersicht, werden die Bild-, Text-, und Sprachverarbeitung von Deep Learning verdeutlicht. Anschließend werden einge Anwendungsbeispiele von Deep Learning aufgezeigt und zu letzt wird noch die Historie dargestellt.

3.1 Formen

3.1.1 Bildverarbeitung

Bilderkennung oder Gesichtserkennung ist auf dem Vormarsch. Für die Gesichtserkennung ist es nötig, wichtige Merkmale aus den Eingangswerte zu extrahieren, damit diese genutzt werden können. Es gibt bereits diverse Gesichtserkennungsmethoden.

3.1.1.1 Template Matching

Die am häufigsten eingesetzte Methode heißt Template Matching. Hierbei wird das Gesicht mit einem Template verglichen. Ein Template ist ein vordefiniertes Gesicht, mit den wichtigesten Merkmalen eines Gesichts z.B. Augen, Nase und Mund. Dabei muss das Template qualitativ sehr hochwertig sein, damit diverse Gesichter verglichen werden können. Damit ein Gesicht erkannt wird, muss es mit vielen Gesichtern aus einer Datenbank abgeglichen werden. Dabei entsteht ein Vektor. Dieser enthält Merkmale die dem Gesicht ähnlich sind. Dieses Verfahren ist jedoch sehr Rechenaufwendig. [17]

3.1.1.2 Geometrische Merkmale

Die Methode extrahiert die Positionen der wichtigsten Merkmale eines Gesichtes in einem Vektor. Diese Merkmale sind die Nase, der Mund und die Augen. Die Abstände zwischen den verschiedenen Merkmalen wird ebenfalls berechnet und in einem Vektor gespeichert. [17]

3.1.1.3 Fourier Transformation

Die Idee hinter Fourier Transformation ist das Eingangsbild und das Vergleichbild in Frequenzen umzuwandeln. Durch die die Frequenzbereiche können die Bilder leichter verglichen werden. [17]

3.1.1.4 Elastische Graphen

Die Methode setzt Gitternetze auf dem Gesicht auf. Dieses Gitternetz wird Labeled Graph genannt. Mit Hilfe des Gitternetztes und deren Knoten berechnet ein Algorithmus die wichtigen Merkmale eines Gesichts. Bei einem neuen Gesicht, dass mit dem vorhandenen verglichen werden soll, wird das Gitternetz des vorhandenen Gesichtes aufgelegt. Dieses Gitter wird so angepasst, dass es dem vorhandenen ähnlich sieht. Passt dieses Gitter, dann gibt es eine Übereinstimmung. [17]

3.1.2 Textverarbeitung

Es gibt viele Gebiete, in dem Algorithmen für die Texterkennung eingesetzt werden. Im folgenden werden zwei verschiedene weisen vorgestellt.

3.1.2.1 Texterkennung

Unter Texterkennung, im englischen Optical Character Recognition (OCR), versteht man das automatische erkenne von Zeichen von einem Computer. Mithilfe von Algorithmen erkennt er gedruckte Zeichen. Dabei wird ein gedruckter bzw. geschriebener Text optisch abgetastet. Umgangssprachlich kann man sagen, das der Computer die visuellen Texte abschreiben kann. Die Technologie wird Hauptsächlich in der Dokumentenerkunnung, Formularauswertung und bei Archivsystemen eingesetzt. Um diese Technologie einzusetzen, benötigt man allerdings nicht nur einen Scanner, sondern auch die richtige Software die den erkannten Text in Doc,HTML, PDF, oder TXT konvertieren kann. Im anschluss daran kann dann mit dem erkannten Text gearbeitet werden.[18]

3.1.2.2 Text Mining

Texte mithilfe eines Computers zu analysieren ist bis heute eine harte Herausforderung, aber nicht unmögliche Aufgaben für Algorithmen. Um Texte softwaretechnisch zu analysieren stellt das eine anspruchsvolle Aufgabe für die kombination aus linguistischen und statischen Methoden dar. Text Mining ist ein weitgehend automatischer Prozess, um aus Texten bestimmte Information und Wissen zu gewinnen. "Hierzu bedientes sich Techniken, die u.a. in den Forschungsgebieten Natural Language Processing(NLP), Information Retrieval, Information Extraction und KI entwickelt wurden." Text Mining wird als eine spezielle Ausprägung des Data Minings betrachtet. Doch eines der wichtigsten unterschieden zwischen diesen beiden Informationsgewinnungsmethoden ist in der Datenbasis. Im Text Mining werden die werte als eine unstrukturierte Analysebasis verstanden, während beim Data Mining die erste Normal der Terminologie von relationellen Datenbanken vorliegt. Das bedeutet das die einzelnen werte atomar sind. Dennoch kann man beim Text Mining die werte des Textes nicht gänzlich als unstrukturierte Analysebasis verstehen, Denn auch diese Werte unterliegen bereits einer gewissen Grammatik. Des weiteren ist der Text durch Überschriften und Absätze strukturiert. [19]

3.1.3 Sprachverarbeitung

Die Sprachverarbeitung kann in zwei Arten aufgeteilt werden:

  • Sprecherunabhängige Spracherkennung
  • Sprecherabhängige Spracherkennung

Bei der sprecherunabhängige Spracherkennung kann der Benutzer ohne eine vorherige Trainingsphase mit der Spracherkennung starten. Anders ist es bei der Sprecherabhängige Spracherkennung. Hierbei muss das System vor der ersten Verwendung auf die vom Benutzer eigenen Besonderheiten der Aussprache trainiert werden.

Ein größeres Problem stellen die Homophone in der Sprache dar. Homophone sind Wörter, die eine unterschiedliche Bedeutung haben, jedoch gleich ausgesprochen werden. [20]
Ein Beispiel für Homophone sind die Wörter "Hai" und "Hi". Beide Wörter werden identisch ausgesprochen und haben unterschiedliche Bedeutungen.

3.2 Anwendungsbeispiele

Deep Learning wird in Zukunft, laut Forschern, in vielen Bereichen eingesetzt werden. Die Unternehmen Google und Apple nutzten bereits die Vorteile von Deep Learning in den Smartphonen Betriebssystemen Android und iOS. Die Spracherkennung wurde damit umgesetzt. Facebook nutzt das Verfahren für Gesichtserkennung auf hochgeladenen Fotos von Freunden. Aber auch in anderen Sparten, wie zum Beispiel Werbung, Finanzen oder Medizin findet Deep Learning Anhänger. Ein Start-up Unternehmen möchte mit Deep Learning Kurs Abstürze von Währungen vorhersagen. Ein anderer Teilnehmer möchte Versicherungsbetrug rechtzeitig erkennen. [21]
Der Forscher Andrew Ng, der an der Stanford University doziert und Chefwissenschaftlicher bei der chinesischen Internet-Firma Daidu ist, hat ein Verfahren für die Vorhersage eines Festplattenausfalls entwickelt. In der Medizin soll Deep Learning für die Vorhersage von Krankheitsverläufen genutzt werden, zum Beispiel bei Krebserkrankungen. Dieses Verfahren würde die Medizin revolutionieren. In der Medikamentenentwicklung könnte Deep Learning die besten Wirkstoffe für ein bestimmtes Medikament vorhersagen. [21]

In Anlehnung an Deutscher GO-Bund e.V. Abbildung 11: Spielfeld GO
In Anlehnung an Deutscher GO-Bund e.V.
Abbildung 11: Spielfeld GO

Der Durchbruch der künstlichen Intelligenz bzw. künstliche neuronale Netze gelang der Tochter Firma von Google, DeepMind im Jahr 2016. Hier wurde ein menschlicher GO Spieler, der Koreaner Lee Sedol, von dem Programm AlphaGO besiegt. Auf einem GO Spielfeld wird mit schwarzen und weißen Spielsteinen gespielt. Die Spielsteine werden auf die Schnittpunkte des Spielfeldes gesetzt. Dies erfolt abwechselnt, wobei die Farbe schwarz beginnt. Der Spieler, der die meisten Gebiete mit seiner Farbe gesetzt hat, gewinnt das Match.[22] Der Koreaner Lee Sedol wird als Weltbester GO Spieler angesehen. Das Match wurde auf einem Spielfeld 19x19 ausgetragen. In diesem Spielfeld sind maximal 2,08168199382×10170 gültige Spielpositionen möglich. Ursprünglich hatten die Programmierer von AlphaGO dem Programm Millionen von möglichen Zügen mitgegeben. Jetzt lernt das Programm von Spiel zu Spiel immer mehr. Das Programm berechnet alle möglichen Wege, die zu einem späteren Sieg des Matches führen können. Hierbei wurden Tiefe neuronale Netze verwendet. [23] [24]


Ein künstliches neuronales Netz ist für einen normalen Anwender nicht sehr leicht zu verstehen. Um dies transparenter zu gestalten, hat Google eine "Spielwiese" für neuronale Netze auf einer Webseite zur Verfügung gestellt. Mit dieser Webseite (http://playground.tensorflow.org) können leicht mehrschichtige neuronale Netze zusammen gebaut werden. Dabei kann das Verhalten zur Laufzeit, also vor, während und nach der Berechnung, beobachtet werden. [25]


Der Mitarbeiter Tobias Weyand und seine Kollegen von der Firma Google forschen zur Zeit an ein Deep Learning System, dass nur an Hand von den Pixeln auf einem Bild den Ort bestimmen kann, wo das Bild entstanden ist. Bei ersten Tests liegt der Computer weit vor dem Menschen. Tobias Weyand und seine Kollegen nutzen dieses Verfahren auch für Bilder von Lebensmitteln, Tieren und Wohnräumen. Hierbei wird aber noch eine zusätzliche Technik eingesetzt, da es von so welchen Fotos keinerlei Hinweise auf Herkunft bzw. Standort gibt. Dafür wird die Erde in einem Netz mit 26.000 Quadraten aufgeteilt. Die Quadraten richten sich nach der Anzahl geschossener Bilder in Städten bzw. bewohnte Fläche. In großen Städten sind mehrere und in kleineren dementsprechend weniger. Für die Bilder wurde eine Datenbank mit 126 Millionen Datensätzen genutzt. 91 Millionen Bilder waren nötig damit ein neuronales Netz die Lokalisierung eines Bildes erlernen konnte. Die Erfolge waren bemerkenswert. Weitere Tests folgten mit weiteren 2,3 Mollionen Geobildern von der Plattform Flickr. Die Ergebnisse waren 3,6 Prozent straßengenau, 10,1 Prozent stadtgenau, 28,4 Prozent Landgenau und 48,0 Prozent den Kontinentgenaue Lokalisierung eines Bildes. Bei einem Experiment zwischen Mensch und Maschine hat die Maschine 28 von 50 Runden gewonnen. Die Entwicklung von Google hat mehrere Bilder in der Datenbank, als ein Mensch je bereisen könnte. Tobias Weyand und seine Kollegen gingen bei dem Match noch einen Schritt weiter und ließen ihre Entwicklung Innenbilder lokalisieren. [26]

3.3 Historie

1940

  • 1943 versuchten sich die ersten Pioniere McCulloch-Pitts, Rosenblatt, Steinbuch, Hopfield, Kohonen und andere an der Herausforderung maschinelles Lernen und neurale Netze. Sie glaubten, dass man die Struktur des Gehirns mit den Neuronen als neuronale Netze adaptieren könnte, mit dem Ziel, eine einfache Methode zu entwickeln, um Maschinen das Denken beizubringen. [27]

1950

  • 1950 versuchte Alan Turing durch einen Test herauszufinden, ob Maschinen in der Lage wären, zu denken. In dem bekannten Test „Imitation Game“ saß auf der einen Seite ein Mensch und ein Computer, darauf wartend, von einer dritten Person irgendetwas gefragt zu werden. Auf der anderen Seite saß ein Mensch, der einen Computer bediente. Sie kommunizierten nur über einen Computer miteinander und konnten sich nicht gegenseitig sehen oder hören. Der Fragesteller tippte seine Frage über eine Tastatur ein. Auf der anderen Seite konnte der Mensch und die andere Maschine diese Frage lesen. Die Frage wurde von beiden beantwortet. Der Fragesteller bekam die Antwort und las diese auf seinem Bildschirm. Nun musste sich der Fragesteller entscheiden, welche der beiden Antworten von einem Menschen kamen. Entschied sich der Fragesteller für die Antwort der Maschine, war für Turing bewiesen, dass Maschinen denken können.[28]
  • Zudem suchten in den 1950er Jahren KI-Forscher neue Lösungswege, damit Computer unterschiedliche Objekte eigenständig identifizieren können. Sie waren überzeugt davon, dass computergestützte Systeme bald besser denken können, als der Mensch.
    Recht schnell stießen sie jedoch auf das Problem der unzureichenden Rechenkapazitäten. Dieses Vorgehen war mit den damaligen Mitteln zu rechen- und Zeitintensiv. Ausserdem waren die mathematischen Gleichungen noch zu ungenau für die Lösung dieses Problem.[29]

1960

  • In den 1960er Jahren fanden die Forscher Hubel und Wiesel heraus, dass es im Gehirn einfache und komplexe Zellen gibt und erforschten so die Architektur des Gehirnkortex. [30] Das heutige Konzept der neuralen Netze basiert auf die wissenschaftlichen Entdeckungen der beiden Wissenschaftler.
  • In den frühen 1960er Jahren veröffentlichte der Pionier Ray Solomonoff seine Ausarbeitungen zur algorithmischen und prognostischen Wahrscheinlichkeitsberechnungen. Diese Gedanken bildeten später die Grundlagen für KI-Berechnungen und Predictive Analytics.[31]

1970

  • 1974 beschrieb der Harvard Professor Paul Werbos einen Lösungsansatz, wie man künstliche neurale Netze trainieren kann.
    Er war der Meinung, dass Backpropagation das beste Mittel sei, um künstliche neurale Netze zu trainieren.[32]

1980

  • 1980 entwickelte Kunihiko Fukushima das künstliche neuronale Netz Neucognitron.[33]
  • 1989 präsentierte Yann LeCun, der heutige Leiter der Facebookabteilung F&E für KI, eine Applikation, dass auf ein Backpropagation Netzwerk basiert, mit dem Ziel, handschriftliche Zeichen zu erkennen und zu klassifizieren.[34]

1990

  • Nach diesem Erfolg war es sehr ruhig um das Thema Machine- und Deep Learning, da man fehlende Hardware-Ressourcen akzeptieren musste. Die bis dahin gefundenen Lösungsansätze für Deep Learning benötigten für die Algorithmenberechnungen eine Unmenge an Hardware-Ressourcen, die in den 1980er und 1990er Jahren nicht zur Verfügung standen.

2000

  • Ab dem Jahr 2000 unternahmen Yann LeCun and Geoffrey Hinton noch einen Versuch, diese Konzepte zu etablieren, da zu dieser Computer rechenintensiver und kostengünstiger waren.
  • Ab dem Jahre 2005 fanden die GPU’s größere Beliebtheit, da sie über stärkere Rechenkapazitäten verfügten und in der Anschaffung nicht mehr so kostspielig waren.
  • 2009 präsentierte Professor Geoffrey Hinton eine Applikation zur Spracherkennung, basierend auf neurale Netze, die die Hardwareleistung von GPU´s nutzte.
    Das Ergebnis war eine 10-20 mal schnellere Bearbeitung der Algorithmen.[35]

2010

  • 2011 gewinnt IBM´s Maschine Watson zum ersten Mal „Jeopardy“.[36]
  • 2012 wagt Google ein Experiment, indem eine ML (Machine Learning) Maschine, die Kraft von 16.000 Computer Prozessoren nutzt, um Videoinhalte aus YouTube zu analysieren. Dabei untersuchte die Maschinen tausende von Videos mit Menschen und Katzen und konnte im Anschluss Gesichter von Menschen und Katzen richtig erkennen und zuordnen.[37]
  • 2013 bauten japanische Forscher Roboter, die Baseball spielten und das Konzept der neuronalen Netze nutzten, mit dem Ziel, dass die Roboter während des Spiels eigene Entscheidungen treffen.[38]
  • 2014 kauft Google das Unternehmen Deep Mind für ca. 400 Mio. Dollar, nicht zuletzt wegen den wenigen dort arbeitenden hochqualifizierten Ingenieure für Deep Learning.[39]
  • Im gleichen Jahr (2014) wurde das Projekt MindMeld ins Leben gerufen. Mit dieser neuartigen Software ist es möglich, sprachgesteuert durch Inhalte zu navigieren.[40]
  • 2014 wird auch der Skype Translator veröffentlicht, der die Deep Learning Konzepte nutzt, um die automatische Spracherkennung zu verbessern.[40]
  • Auch Baidu’s Deep Speech wurde im Jahr 2014 veröffentlicht, mit dem Ziel einer verbesserten automatischen Spracherkennung, insbesondere bei der Spracherlernung.[41]

4 Ansätze

In diesem Kapitel werden die derzeitigen Ansätze von Deep Learning erklärt und miteinander verglichen.

4.1 Überwacht

In Anlehnung an: Kristian (2011) Abbildung 12: Flußdiagramm überwachtes Lernen
In Anlehnung an: Kristian (2011)
Abbildung 12: Flußdiagramm überwachtes Lernen

Ziel des überwachten Lernens (supervised learning) ist es, anhand von klassifizierbaren Beispielen zu lernen. Dem Lernenden werden dabei Eingaben x1,x2,x3,...,xn, sowie zu erwartende Ausgaben y1,y2,y3,...,yn aus einem Themengebiet zur Verfügung gestellt, zwischen welchen Assoziationen hergestellt werden sollen. Es wird davon ausgegangen, dass die Objekte aus einer gemeinsamen Umgebung (Universum) wie zum Beispiel Pflanzen, Tiere, Bauernhof stammen. Nachdem der Lernende eine Reihe von klassifizierten Beispielen gesehen hat, soll er in der Lage sein, selbstständig Hypothesen über die ihm weiterhin vorgelegten Beispiele aufzustellen und sich dem Zielkonzept dabei möglichst gut zu nähern. Nach einigen Beispielen soll der Algorithmus im Anschluss an die Lernphase ebenfalls in der Lage sein, selbstständig Hypothesen über vorgelegte Beispiele zu aufzustellen. Das überwachte Lernen eignet sich daher gut, um Handschrifterkennung von Algorithmen zu verbessern. Während bei maschinell gefertigten Druckbuchstaben nur die Schriftart und die Groß- und Kleinschreibung erlernt werden muss, folgt die Handschrift eines Menschen zwar auch den selben Grundsätzen, ist in der Ausführung jedoch sehr individuell. [42]

Beispiel: Nachdem der Lernende eine Reihe von klassifizierten Beispielbildern wie "Hund", "Katze" und "Maus" gesehen hat, soll er in der Lage sein, unklassifizierte Beispiele (Universum = Tiere) möglichst richtig zu klassifizieren.

In Abbildung 12 ist das überwachte Lernen in einem Flussdiagramm dargestellt. Als erstes werden alle Trainingsmuster nach der Reihe abgearbeitet. Nach jedem Trainingsmuster wird die Gewichtung basierend auf das ausgewählte Lernverfahren angepasst. Wurden alle Trainingsmuster durchlaufen, wird geprüft, ob das bis jetzt die beste Fehlerrate war. Ist das der Fall, wird die Gewichtung als bester Satz gespeichert. War es bis jetzt nicht die beste Fehlerrate, wird der Rundenzähler um eins erhöht. Diese Schritte werden solange durchgeführt, bis hundert Runden erreicht sind.

4.1.1 Rekurrentes neuronales Netz

In Anlehnung an: Kristian (2011) Abbildung 13: Übersicht der Netze der rekurrenten neuronalen Netzen
In Anlehnung an: Kristian (2011)
Abbildung 13: Übersicht der Netze der rekurrenten neuronalen Netzen

Rekurrente Netze (Neuronale Netze mit Rückkopplung) sind dadurch gekennzeichnet, dass Rückkopplungen von Neuronen einer Schicht zu anderen Neuronen derselben oder einer vorangegangenen Schicht existieren. Erst bei einer großen Anzahl von Neuronen treten die besonderen Eigenschaften von rekurrenten neuronalen Netzen auf. Angewandt wird ein neuronales Netz mit Rückkopplung zum Beispiel wenn eine Prognose für die Zukunft bestimmt werden soll. [15] [43]

4.1.1.1 Direkte Rückkopplung

Bei der direkten Rückkopplung (engl. direct feedback) existieren Verbindungen vom Output zum Input des selben Neurons zurück. Das bedeutet, dass der Output der Einheit zu einem Input der gleichen Einheit wird. Diese Verbindungen bewirken oft, dass Neuronen die Grenzzustände ihrer Aktivierungen annehmen, weil sie sich selbst verstärken oder hemmen können.[15]

4.1.1.2 Indirekte Rückkopplung

Bei der indirekten Rückkopplung (engl. indirect feedback) wird der Ausgang des Neurons als Eingang eines Neurons in der vorhergehenden Schicht des neuronalen Netzes zurückgesandt. Diese Art der Rückkopplung ist nötig, wenn eine Aufmerksamkeitssteuerung auf bestimmte Bereiche von Eingabeneuronen oder auf bestimmte Eingabemerkmale durch das Netz erreicht werden soll. Netze mit Rückkopplungen innerhalb derselben Schicht werden oft für Aufgaben eingesetzt, bei denen nur ein Neuron in einer Gruppe von Neuronen aktiv werden soll. Jedes Neuron erhält dann hemmende Verbindungen zu anderen Neuronen und oft noch eine direkte Rückkopplung von sich selbst. Das Neuron mit der stärksten Aktivierung hemmt dann die anderen Neuronen.[15]

4.1.1.3 Seitliche Rückkopplung

Bei der seitlichen Rückkopplung (engl. lateral feedback) erfolgt die Rückmeldung der Informationen einer Unit an Neuronen, die sich in derselben Schicht befinden. Ein Beispiel für solche seitlichen Rückkopplungen sind die Horizontalzellen im menschlichen Auge. [15]

4.1.1.4 Vollständige Verbindung

Bei vollvernetzten Schichten (Hopfield-Netze) ist jedes Neuronen mit jedem anderen Neuronen des neuronalen Netzes, ausgenommen sich selbst, verbunden.[15]

4.1.1.5 Attraktorennetze

Attraktorennetze stellen unter anderem ein Anwendungsgebiet von rekurrenten Netzen dar. Attraktorennetze besitzen einen Input und arbeiten in Zyklen, bis ein stabiler Output/Zustand entstanden ist. Die Netze bestehen aus einer bestimmten Anzahl dieser stabilen Zustände(Attraktoren). Im Laufe mehrerer Zyklen, bewegt sich der Output in die Richtung eines Zustandes(Attraktor). Welcher Attraktor am "Ende" erreicht wird, hängt davon ab, in welches "Einzugsgebiet" der einzelnen Attraktoren der Input fällt.[43]

Je weiter der Input von einem "Einzugsgebiet" entfernt ist, desto mehr Zyklen sind notwendig bis ein Attraktor erreicht ist. Fällt der Input genau auf die Grenze zwischen zwei "Einzugsgebieten" und es kann dadurch keine eindeutige Zuordnung vorgenommen werden, kann beispielsweise durch Hinzunahme eines Zufallsalgorithmus die Zuordnung stattfinden.[43]

4.1.2 Konvolutional neuronales Netz

Convolutional Neural Network (CNN) ist ein Deep Learning Ansatz, was besonders für die Bilderkennung und Sprachanalyse verwendet wird. Es ist ein mehrschichtiges neuronales Netz. Jedes der Schichten beinhaltet voneinander unabhängige Neuronen. Jedes Neuron einer Schicht bekommt Signale / Infomrationen aus der vorhergehenden Schicht.[44]

In Anlehnung an: Yan (2014) Abbildung 14: The conceptual example of the CNN
In Anlehnung an: Yan (2014)
Abbildung 14: The conceptual example of the CNN
4.1.2.1 Schichten

Ein Konvolutionales Netz besteht aus zwei abwechselnden Schichten.

  • Konvolutionsschicht
  • Sample Schicht (Subsampling)

Das CNN besteht aus Knoten, die in Schichten angeordnet sind. Sobald sich diese Schichten mehrmals wiederholen, spricht man von "Deep Convolutional Neural Networks" (DCNN). Die Schichten werden durch gewichtete Verbindungen bzw. Kanten verbunden. Jede Verbindung hat somit einen Quell- und Zielknoten. Jede trainierbare Schicht (eine verdeckte Schicht oder eine Ausgabeschicht) hat mindestens ein Verbindungsbündel. [45] [46]

4.1.2.2 Allgemeine Anforderungen

Folgende Anforderungen können an CNN gestellt werden:

  • Es müssen genau eine Ausgabeschicht, mindestens eine Eingabeschicht und null oder mehr verdeckte Schichten vorhanden sein.
  • Jede Schicht verfügt über eine feste Anzahl von Knoten, die konzeptionell in einem rechteckigen Array beliebiger Dimensionen angeordnet sind.
  • Eingabeschichten sind keine trainierten Parameter zugeordnet; sie stellen den Eintrittspunkt von Instanzdaten in das Netzwerk dar.
  • Trainierbaren Schichten (verdeckten Schichten und Ausgabeschichten) sind trainierte Parameter zugeordnet, die als Gewichtungen und Biase bezeichnet werden.
  • Die Quell- und Zielknoten müssen sich in verschiedenen Schichten befinden.
  • Verbindungen müssen azyklisch sein, anders ausgedrückt, sie dürfen keine Kette von Verbindungen bilden, die zurück zum ursprünglichen Quellknoten führen.
  • Die Ausgabeschicht darf keine Quellschicht eines Verbindungsbündels sein.[45]

4.1.3 Backpropagation

Backpropagation, auch Fehlerrückführung genannt, ist eine Methode um künstliche neuronale Netze ein zulernen. Die Eingabewerte sind vorher bereits für die Neuronen bekannt. Nachdem die Eingangswerte das Neuronale Netz durchlaufen haben, wird die Ist-Ausgabe mit der Soll-Ausgabe verglichen. Die Differenz der Ist-Ausgabe und der Soll-Ausgabe wird als Delta Fehler angesehen. Die Fehlerhaften Werte werden von der Ausgabe zurück zu der Eingabe geleitet und es werden die Gewichtungen neu berechnet. So wird sich an die Soll-Ausgabe herangetastet. Dies wird solange durchgeführt, bis die Ist-Ausgabe der Soll-Ausgabe entspricht oder nur noch ein sehr geringes Delta aufweist. [47] [16]

4.1.3.1 Forwardpropagation
In Anlehnung an: Goecke(1998)  Abbildung 15: Beispiel Forwardpropagation
In Anlehnung an: Goecke(1998)
Abbildung 15: Beispiel Forwardpropagation

Bei der Forwardpropagation werden alle Gewichtungen eines künstlichen Neuronen zufällig vergeben. Die Werte liegen zwischen -1 und +1. Als Eingabewerte werden in diesem Beispiel binäre Zahlen, 0 oder 1, verwendet. Dann erfolgt eine Summenbildung durch die Summenfunktion. Anschließend erfolgt die Ausgabe durch die Aktivierungsfunktion. Hierbei handelt es sich um die Simodfunktion. Bei diesem Prozess werden die Eingabewerte und Ausgabewerte an das nächste Neuron durch propagiert. Mit Hilfe von einem Beispiel "Lernen der AND-Funktion" wird der Prozess eindeutig. In der Abbildung 15 werden zwei binäre Zahlen dem Neuronalen Netz zu Verfügung gestellt, 0 und 1. Bei einer AND-Funktion mit 2 bit gibt es 22 Möglichkeiten. Die Gewichtigungen sind ebenfalls aus der Abbildung 15 ersichtlich. Wie unter Punkt 2.4.2 und 2.4.3 erläutert, werden die Werte der Abbildung ist die Funktionen eingesetzt. [16]
Beispielrechnung:

Neuron Summenfunktion Aktivierungsfunktion
1 net1=0,50*0 + 0,50*1 Y1=1/(1+e(-0,50))
net1=0,50 Y1=0,6225
2 net2=0,40*0 + 0,40*1 Y2=1/(1+e(-0,40))
net2=0,40 Y2=0,5987
3 netEndergebnis=0,70*0,6225 + 0,45*0,5987 YEndergebnis=1/(1+e(-0,7052))
netEndergebnis=0,7052 YEndergebnis=0,6693


Das Ergebnis von YEndergebnis ist nicht gleich der Soll-Ausgabe, 0. [47]

4.1.3.2 Backwardpropagation

Bei der Backwardpropagation beginnt der eigentlich Lernprozess. Die Ist-Ausgabe der Fowardpropagation wird betrachtet und mit der Soll-Ausgabe verglichen. Die Gewichtungen, die die Ist-Ausgabe zu groß errechneten, diese Gewichtungen werden etwas verkleinert. Die Gewichtungen, die die Ist-Ausgabe zu klein errechneten, werden etwas vergrößert. Das Beispiel von Punkt 4.1.3.1 wird hier vorgeführt. Die nachfolgenden Funktionen sind für die Berechnung relevant:[48]
Ausgabefehler: YSoll - YIst [48] [47]
FehlervektorAusgabeschicht: D = (YSoll - YIst) * F'(net) [48] [47]
Die Ableitung von F'(net) ist in diesem Fall von der Simodfunktion. F'(net) = F(net)*(1-F(net)) [48] [47]
Quadratische Fehlersumme E: E = (YSoll - YIst)2 [48] [47]
Änderung der Gewichtsmatrix: Wneu = Walt + L * D * X [48] [47]
Bei der Änderung der Gewichtsmatrix steht die Variable L für Lernrate und das X ist der Wert des zuvor errechneten Neuronen aus der Aktivierungsfunktion.[48] Ein typischer Wert für die Lernrate ist 0,1. Die Werte sollten zwischen 0,01 und 0,5 liegen, um das beste Ergebnis zu erreichen. [49] Nach dieser Prozedur wird erneut die Forwardpropagation mit den neuen Gewichtungen durchgeführt. Diese Schleife wird solange aufrecht erhalten, bis der errechnete Quadratische Fehler einen bestimmten Wert unterschritten hat. [48]

Beispielrechnung:

 L = 0,25
YSoll - YIst = 0 - 0,6693 = -0,6693
F'(net) = F(net)*(1-F(net))
F'(net) = 0,6693 * (1 - 0,6693)
F'(net) = 0,2213
D = (YSoll - YIst) * F'(net)
D = -0,6693 * 0,2213
D = -0,1481
Wneu = Walt + L * D * X
In Anlehnung an: Goecke(1998)  Abbildung 16: Beispiel Backwardpropagation
In Anlehnung an: Goecke(1998)
Abbildung 16: Beispiel Backwardpropagation
Gewichtung Berechnung
0,70 Wneu = 0,70 + 0,25 * (-0,1481) * 0,6225
Wneu = 0,6770
0,45 Wneu = 0,45 + 0,25 * (-0,1481) * 0,5987
Wneu = 0,4278
0,50 Wneu = 0,50 + 0,25 * (-0,1481) * 0
Wneu = 0,50
0,50 Wneu = 0,50 + 0,25 * (-0,1481) * 1
Wneu = 0,4630
0,40 Wneu = 0,40 + 0,25 * (-0,1481) * 0
Wneu = 0,40
0,40 Wneu = 0,40 + 0,25 * (-0,1481) * 1
Wneu = 0,3630

Das Ergebnis der Rechnung kann auch der Abbildung 16 entnommen werden.

4.2 Unüberwacht

In Anlehnung an: Kristian (2011) Abbildung 17: Flußdiagramm unüberwachtes Lernen
In Anlehnung an: Kristian (2011)
Abbildung 17: Flußdiagramm unüberwachtes Lernen

Im Gegensatz zum überwachten Lernen, werden beim unüberwachten Lernen (unsupervised learning) keine bereits klassifizierte Ausgaben (y1,y2,y3,...,yn) bereitgestellt. Stattdessen wird es dem Algorithmus selbst überlassen Muster zu erkennen und diese zu klassifizieren. Bei allen Eingabedaten wird nach den gefundenen Mustern und Klassifizierungen gesucht, bzw. die bereits bestehenden Muster und Klassifizierungen erweitert. [42]

Beispiel: Mitte der achtziger Jahre gab die US-Arme ein System zur Auswertung von Luftaufnahmen in Auftrag. Das Ziel war es, festzustellen, ob auf einer Aufnahme Militärfahrzeuge zu sehen sind oder nicht. Als Trainingsdaten dienten unklassifizierte Aufnahmen, die auf einem Truppenübungsplatz einmal ohne Fahrzeuge und einmal mit Fahrzeugen gemacht wurden. Bei vielen Tests funktionierte das System einwandfrei. Doch bei einem Test versagte das System völlig. Der Grund dafür war, dass die Aufnahmen ohne Fahrzeuge an einem bedeckten Tag aufgenommen und die anderen Aufnahmen an einem sonnigen Tag. Das System hat gelernt, zwischen einem bedeckten Tag uns einem sonnigen Tag zu unterscheiden. [42]

In Abbildung 17 wird das unüberwachte Lernen in einem Flussdiagramm dargestellt. Im ersten Schritt werden alle Trainingsmuster durchlaufen. Nach jedem Trainingsmuster wird die Gewichtung anhand einer vorher festgelegten Lernregel angepasst. Wurden alle Trainingsmuster bearbeitet, wird die Rundenzahl um eins erhöht. Nach hundert Runden ist das Training beendet.

4.2.1 Deep Autoencoder

In Anlehnung an: Demberg (2014/2015) Abbildung 18: Autoencoder Netz
In Anlehnung an: Demberg (2014/2015)
Abbildung 18: Autoencoder Netz

Ein Autocoder ist eine bestimmte Form eines neuronales Netzes, dass drei oder mehrere Schichten enthält. Die Eingangsschicht und Ausgangsschicht sind standardmäßg dabei. Zwischen diesen beiden Schichten befindet sich immer die verdeckte Schicht. Dies kann eine oder mehrere Schichten sein. Bei mehreren Schichten wird der Prozess Deep Autoencorder genannt. Die Hauptaufgabe von Autoencoder ist es komprimierte Darstellungen zu entdecken bzw. diese zu Entrauschen. Das wäre beispielsweise bei der Bilderkennung ein dargestelltes verpixeltes Bild, das nicht sofort erkennbar ist, was sich auf dem Bild befindet.[50]

Der Autocoder besteht aus zwei Teilen, dem Encoder und Decoder. Der Encoder ist während der Trainingsphase und der Entwicklungsphase aktiv. Wobei der Decoder nur während der Trainingsphase aktiv ist.

Für das Komprimieren gibt es ein Flaschenhals in dem neuronale Netz, wie in Abbildung 18 zu erkennen. Dieser Flaschenhals komprimiert die Eingangswerte enorm. Die Ausgabeschicht orientiert sich immer an der Eingangsschicht. [50]

Bei tieferen Schichten ist der gerade genannte Prozess nicht ganz so trivial. Hierbei wird jede verdeckte Schicht solange Trainiert, bis dort die Werte gleich der Eingangsschicht sind. Dann gibt diese verdeckte Schicht die Werte an die nächste verdeckte Schicht weiter. Die zweite verdeckte Schicht lernt ebenfalls so lange, bis die Werte mit der vorherigen Schichtüb ereinstimmt. [50]

4.2.2 Survey Propagation

Der Survey-Propagation-Algorithmus [51] beruht auf Ideen aus der statistischen Physik.

Der Algorithmus führt einen stochastischen Nachrichtenaustauschprozess durch: Kanten schicken ”Warnungen“ an Knoten, welche Farben die Knoten wählen bzw. besser nicht wählen sollen, damit die beiden Knoten der Kante verschiedene Farben erhalten. [52]

Der Algorithmus versucht, die Wahrscheinlichkeitsverteilung der Warnungen zu berechnen, legt dann die Farben derjenigen Knoten fest, die besonders ”deutliche“ Warnungen erhalten, und wiederholt, bis alle Knoten gefärbt sind. Obwohl dieser Ansatz in Experimenten bemerkenswert erfolgreich und effizient ist [51], ist eine exakte mathematische Analyse bisher nicht gelungen.

4.2.3 Deep Belief Network

In Anlehnung an: Hinton(2006) Abbildung 19: Deep Belief Network
In Anlehnung an: Hinton(2006)
Abbildung 19: Deep Belief Network

Das Deep Belief Network, im folgenden DBN genannt, besteht aus mehreren Schichten und zählt zu den künstlichen neuronalen Netzen. Jede Schicht besteht aus einer Restricted Boltzmann Machine. Das Ziel einer Restricted Boltzmann Maschine besteht darin, einen Eingabevektor mit einer möglichst großen Wahrscheinlichkeit zu generieren.[53][53] Das DBN wird als Vorbereiter für ein Deep Neural Network,im nachfolgenden DNN genannt, verwendet. Hierbei wird das gelernte durch DBN als initial wissen bei einem DNN verwendet. Durch diskriminative Algorithmen, wie Back-Propagation, wird dieses Wissen verfeinert. Dieses verfeinern der Daten ist wichtig, falls wenig Daten zu Verfügung stehen. [54]

4.2.4 BayesNP

Wenn eine Maschine aus Erfahrungen lernen soll, kann sie auf bedingte Wahrscheinlichkeiten zurückgreifen, um eine bessere Prognose über zukünftige Handlungen abgeben zu können. [8]

Ein Bayesianisches Netz besteht aus Knoten für Ereignisvariablen, deren Verbindungen (Kanten) durch bedingte Wahrscheinlichkeiten gewichtet sind. Daraus lassen sich die Wahrscheinlichkeiten von Ereignissen unter der Bedingung anderer Ereignisse ausrechnen. Bayesianische Netzwerke erlauben effektive Voraussage‐ und Entscheidungsmodelle. [8]

4.2.5 Hierarchischer Temporalspeicher

>>Hierarchical Temporal Memory (hierarchischer temporaler Speicher, engl. Abkürzung HTM) ist eine Technologie aus dem Bereich des maschinellen Lernens, welche versucht, die strukturellen und algorithmischen Eigenschaften des Neokortex zu erfassen.<< Der Neokortex ist der teil des Gehirns bei Säugetieren, der für das Hören, Sehen, Tassten, Bewegen, Sprechen und Planen verantwortlich ist. Leider können alle diese Fähigkeiten nicht durch neuronale Algorithmen umgesetzt werden.>>Der Neokortex besteht aus einem bemerkenswert einheitlichen Muster neuronaler Verschaltungen. Die biologischen Anhaltspunkte lassen vermuten, dass der Neokortex eine allgemeine Menge von Algorithmen umsetzt, um viele unterschiedliche kognitive Funktionen zu erfüllen.<< HTM bietet den theoretischen Rahmen, um den Neocortex mit seinen vielen Fähigkeiten zu verstehen. beim programmieren von HTMs läuft es anders ab, als bei normalen Computern. HTMs werden mittels Sensoren trainiert. Die Fähigkeiten von HTMs werden durch das System, mit welchem sie im Kontakt sind, bestimmt. >>Wie der Name vorgibt, sind HTMs grundsätzlich speicherbasierte Systeme. HTM Netze werden mit vielen zeitvarianten Daten trainiert und stützen sich auf das Speichern einer großen Anzahl von Mustern und Sequenzen.<< [55]

4.3 Vergleich

Kriterien Überwachte Netze
Rekurrentes neuronales Netz Konvolutional neuronales Netz Backpropagation
Kernkonzept Rückkoppelung Extraktion und Klassifizierung von Informationen aus Daten und Objekten Bei der Backpropagation wird sich schrittweise, durch Fehlerrückführung, an den Ausgabewert herangetastet. Dieser Wert ist bereits vorher bekannt.
verborgene Schicht Kann es geben Mindestens eine Schicht. Häufig mehrere verborgene Schichten Es muss mindestens eine verborgene Schicht geben.
Vorteile Entdecken zeitlich codierter Informationen Analyse von komplexen Daten Bei kleinen neuronalen Netzen wird ein sehr schneller Ergebnis erzielt.
Nachteile "Überlauf" der Aktivität Sehr hardwarelastig. Nicht zu empfehlen bei einfach zu strukturierten Daten. Bei vielen verborgenen Schichten kann die Prozedur sehr zeitintensiv und Rechenlastig sein.


Kriterien Unüberwachte Netze
Deep Autoencoder Survey Propagation Deep Belief Network BayesNP Hierarchischer Temporalspeicher
Kernkonzept Es werden Eingangswerte komprimiert, für die bessere Darstellung der Ergebnisse. Stochastischen Nachrichtenaustauschprozess Es wird eine Restricted Boltzmann Machine verwendet Gerichteter azyklischer Graph Kognitive Gehirnfunktion werden nachempfunden.
verborgene Schicht Es muss mindestens eine verborgene Schicht geben. Es muss mindestens eine verborgene Schicht geben. Kann es geben. Kann es geben. Kann es geben.
Vorteile Diese Technik ist sehr schnell und oft sehr genau. Empfehlenswert bei der statistischen Physik Durch verfeinertes Wissen kann mit wenig Daten gearbeitet werden. Besonders gut in der Wahrscheinlichkeitsverteilung Kann vielseitig angewendet werden.
Nachteile Nur eingeschränkte Anwendungsgebiete. Sehr kleiner Anwendungsbereich Wird nur als Vorbereiter verwendet. Sehr eingegrenzter Einsatzbereich Kann nicht alle Kognitiven Funktion nachbilden.


5 Schlussbetrachtung

5.1 Zusammenfassung

In Anlehnung an: NVIDIA (2016) Abblidung 20: Anzahl der Unternehmen, die Deep Learning nutzen
In Anlehnung an: NVIDIA (2016)
Abblidung 20: Anzahl der Unternehmen, die Deep Learning nutzen

Mit Deep Learning lernen Maschinen selbstständig zu lernen. Deep Learning hilft Computern dabei, aus einer Unmengen an Daten sinnvolle Verknüpfungen herzuleiten und aus unstrukturierten Daten einen Sinn zu erkennen. Hierbei werden mathematische Algorithmen mit eine Menge an Daten und starker Hardware kombiniert, um an qualifizierte Informationen zu kommen. Mit diesem Verfahren kann automatisiert Informationen aus digitalen Daten extrahiert, klassifiziert und analysiert werden.

Obwohl Deep Learning schon mehrere Jahre existiert, kommt der Trend erst in den letzten zwei bis drei Jahren richtig in Schwung. Der Grund dafür war unter anderem bessere Hardware-Ressourcen, ausgefeiltere Algorithmen und optimierte neurale Netze. Dabei ist Deep Learning kein neuer Ansatz, sondern eine Entwicklung des älteren Ansatzes der künstlichen neuronalen Netze. [56]

Deep Learning kann schon heute für unterschiedliche Anwendungsszenarien angewendet werden:

  • Automatische Spracherkennung
  • Anaylyse von Texten
  • Bilderkennung
  • Objekterkennung in einem Umfeld
  • Berechnung von Vorhersagen

Es bietet ein großes Potenzial unter anderem für die Automotive-, Medizin- und Dienstleistungsbranche. Auch die Wirtschaft profitiert von Deep Learning. Immer mehr Unternehmen nutzen Deep Learning und Hardware von nVidia, um große Datenmengen zu analysieren.

>>Noch nie haben wir gesehen, dass Technologien aus dem Bereich Machine Learning oder Künstliche Intelligenz eine so schnelle Auswirkung auf die Wirtschaft hatten. Es ist sehr beeindruckend." So Kai Yu, der Leiter des Institute of Deep Learning von Baidu<< [57]

Deep Learning ist mittlerweile ausgereift, dass führende Unternehmen, wie z.B. Microsoft, Ihre Engines interessierten Entwicklern und Unternehmen zur Verfügung stellen. [58]

Die größte Stärke von Deep Learning ist, dass es selbstständig lernen kann und auf neue Informationen und Situationen proaktiv reagieren kann, ohne dass ein Mensch eingreifen muss. Das wiederum führt dazu, dass Unternehmen neue Produktmöglichkeiten generieren können, was zu verbesserten Lösungen führt, wodurch der Kunde einen höheren Nutzen hat.

5.2 Ausblick

Computer entfernt sich immer mehr vom Modell der mathematisch perfekt steifen Maschine, die allenfalls kleine Abweichungen zeigt, die schon im Vorfeld mit linearen Gleichungen modelliert und ausgeglichen werden können. Hier sollen neurale Netze, die für den jeweiligen Roboter trainiert werden, an die Stelle der vorgefertigten Gleichungssysteme treten. Mit Deep Learning sind noch keine autonom lernenden Roboter möglich, aber ein Haushaltsroboter, der Treppen wischen und Geschirr stapeln kann, ist inzwischen machbar. [59]

Eine andere Möglichkeit Deep Learning einzusetzen wäre: Es könnten Smart Glasses mit Chips ausgestattet werden, die es ermöglichen, mit Hilfe der eingebauten Kamera jederzeit Menschen unbemerkt aufzuzeichnen und gleichzeitig zu identifizieren. Dafür könnte das aufgenommene Bild zum Beispiel mit Facebook abgeglichen werden. Doch es gibt auch Gesetze, die eingehalten werden müssen. Eine große Herausforderung für den Umgang mit den Möglichkeiten der neuen Technik, vor allem in Hinsicht auf das Persönlichkeitsrecht. [60]

Ein anderes Bespiel könnte sein, dass die Produkte im Supermarkt keinen Barcode mehr benötigen. Alles was in den Einkaufswagen gelegt wird, wird durch eine Kamera erfasst und automatisch auf der digitalen Einkaufliste durchgestrichen.[60]

Deep Learning ist auf dem Weg, erwachsen zu werden.

6 Anhang

6.1 Fußnoten

  1. 1,0 1,1 1,2 1,3 Vgl. Springer (o. J.)
  2. Vgl. LexiROM (1999)
  3. 3,0 3,1 Vgl. Nilsson(o. J.)
  4. Vgl. T.H. Cormen (2001)
  5. Vgl. Charles E. Leiserson (o. J.)
  6. Vgl. Dalessandro (2013)
  7. Vgl. Wan (2013)
  8. 8,0 8,1 8,2 Vgl. Mainzer(o. J.)
  9. Vgl. Jones (2014)a
  10. Vgl. Gudjons (o. J.)
  11. 11,0 11,1 11,2 11,3 11,4 11,5 Vgl. Ruttloff (o. J.)
  12. 12,0 12,1 Vgl. Frölich (2005)
  13. 13,0 13,1 13,2 Vgl. Frenkel (2012)a
  14. Vgl. Frenkel (2012)b
  15. 15,0 15,1 15,2 15,3 15,4 15,5 Vgl. Kristian (2011)
  16. 16,0 16,1 16,2 16,3 16,4 Vgl. Reif (2000)
  17. 17,0 17,1 17,2 17,3 Vgl. Koleski (2002)
  18. Vgl. Urban(2012)
  19. Vgl. Hippner(2006)
  20. Vgl. Malaka (2009)
  21. 21,0 21,1 Vgl. Knight (2015)a
  22. Vgl. Deutscher GO-Bund e.V. (o. J.)
  23. Vgl. Bögeholz (2016)
  24. Vgl. Költzsch (2016)
  25. Vgl. Bager (2016)
  26. Vgl. TR Online (2016)
  27. Vgl. Hilberg (2014)
  28. Vgl. Luger (2016)
  29. Vgl. Perlovsky (o. J.)
  30. Vgl. Dr. Ramanathan (o. J.)
  31. Vgl. Dowe (o. J.)
  32. Vgl. Awad (2015) S. 138
  33. Vgl. Awad (2015) S. 2
  34. Vgl. Boser (1989)
  35. Vgl. LeCun (2015)
  36. Vgl. Markoff (2011)
  37. Vgl. Clark (2012)
  38. Vgl. Hernandez (2013)
  39. Vgl. Gibbs (2014)
  40. 40,0 40,1 Vgl. Pavlus (2015)
  41. Vgl. Knight (2015)b
  42. 42,0 42,1 42,2 Vgl. Fischer (1999)
  43. 43,0 43,1 43,2 Vgl. Rey (2010)
  44. Vgl. Yan (2014)
  45. 45,0 45,1 Vgl. Takaki (2016)
  46. Vgl. Stanford University (o. J.)
  47. 47,0 47,1 47,2 47,3 47,4 47,5 47,6 Vgl. Goecke (1998)
  48. 48,0 48,1 48,2 48,3 48,4 48,5 48,6 48,7 Vgl. Fischer (o. J.)
  49. Vgl. Die Informatikerseite (o.J.)
  50. 50,0 50,1 50,2 Vgl. Nasr(o. J.)
  51. 51,0 51,1 Vgl. Braunstein (2005)
  52. Vgl. Coja-Oghlan (2006)
  53. 53,0 53,1 Vgl. G. E. Hinton
  54. Vgl. Larochelle
  55. Vgl. Numenta (2010)
  56. Vgl. Jones (2014)b
  57. Vgl. Dettmers(2014)
  58. Vgl. Marwan (2016)
  59. Vgl. Wunderlich-Pfeiffer (2016)
  60. 60,0 60,1 Vgl. Koller (2015)

6.2 Literatur- und Quellenverzeichnis

Awad (2015) Awad, Mariette; Khanna, Rahul: Efficient Learning Machines, 2015, Introducting und S. 138

(15.05.2016, 18:50)

Bager (2016) Bager, Jo: Google-Mitarbeiter veröffentlichen Neuronales-Netz-Spielplatz, 16.04.2016 13:28 Uhr,
http://www.heise.de/newsticker/meldung/Google-Mitarbeiter-veroeffentlichen-Neuronales-Netz-Spielplatz-3176144.html

(12.05.2016, 11:50)

Bögeholz (2016) Bögeholz, Harald: Mysteriöse Tiefe - Wie Google-KI den Menschen im Go schlagen will, 04.03.2016,
http://www.heise.de/ct/ausgabe/2016-6-Wie-Google-KI-den-Menschen-im-Go-schlagen-will-3118899.html

(11.05.2016, 10:45)

Boser (1989) B. Boser, Y. LeCun, J.S. Denker, D.Henderson, R.E. Howard, W. Wubbard, L.D. Jackel: Backpropagation Applied to Handwritten Zip Code Recognition, Neural Computation MIT, 1989,
http://yann.lecun.com/exdb/publis/pdf/lecun-89e.pdf

(15.05.2016, 11:30)

Böttcher (2016) Böttcher, Björn: Machine Learning in der medizinischen Forschung, 2016,
https://www.crisp-research.com/machine-learning-der-medizinischen-forschung/

(17.05.2016, 14:30)

Braunstein (2005) A. Braunstein, M. M´ezard, M. Weigt, R. Zecchina: Constraint satisfaction by survey propagation in: A. Percus, G. Istrate, C. Moore (Hrsg.): Computational Complexity and Statistical Physics, 2005,
Oxford University Press

(11.05.2016, 11:45)

Clark (2012) Clark, Liat: Google's artificial brain learns to find cat videos, 26.06.2012,
http://www.wired.com/2012/06/google-x-neural-network/

(14.05.2016, 19:00)

Coja-Oghlan (2006) Coja-Oghlan, Amin; Behrisch, Michael: Informatik, Zufällige Graphen, 2006, S.67

(13.05.2016, 19:00)

Dalessandro (2013) Dalessandro, B.: “Bring the noise: Embracing randomness is the key to scaling up machine learning algorithms.” Big Data vol. 1 no. 2, 2013, S.110 bis 112

(20.05.2016, 16:30)

Demberg (2014/2015) Demberg, Vera: Einführung in die Computerlinguistik, 2014/2015,
http://www.coli.uni-saarland.de/courses/I2CL-14/material/folien/CL14Folien10-NeuronaleNetze.pdf, S.18

(26.05.2016, 16:40)

Dettmers(2014) Dettmers: Deep Learning: Algorithmen, die wie Menschen denken (18.05.2016, 23:45)
Dowe(o. J.) Dowe: Introduction to Ray Solomonoff 85th Memorial Conference, o. J.

(30.04.2016)

Die Informatikerseite (o. J.) o. V.: Backpropagation of Error, o. J.,
http://www.informatikseite.de/neuro/node24.php

(31.05.2016, 16:30)

Fischer (1999) Vieweg&Teubner, Fischer, Paul: Algorithmisches Lernen, S.3 bis 5
Fischer (o. J.) Fischer, Thomas; Timper, Volker; Gutsmiedl Robert: Neuronale Netze - Mustererkennung mit einem Neuronalen Netz, o. J.,
http://rfhs8012.fh-regensburg.de/~saj39122/tigufi/Backprop.htm

(20.05.2016, 11:00)

Frenkel (2012)a Frenkel, Marcus: Künstliche neuronale Netze: Intelligenz im Computer – Teil 1, 15.03.2012,
http://scienceblogs.de/von_bits_und_bytes/2012/03/15/kunstliche-neuronale-netze/

(03.05.2016, 20:10)

Frenkel (2012)b Frenkel, Marcus: Künstliche neuronale Netze: Intelligenz im Computer – Teil 2, 24.03.2012,
http://scienceblogs.de/von_bits_und_bytes/2012/03/24/kunstliche-neuronale-netze-intelligenz-im-computer-teil-2/

(11.05.2016, 10:30)

Frölich (2005) Frölich, Oliver: "Einführung in die AI: Einführung in Neuronale Netze, 14.10.2005,
http://www.dbai.tuwien.ac.at/education/AIKonzepte/Folien/NeuronaleNetze.pdf, S.7 f.

(16.05.2016, 15:50)

G. E. Hinton (2010) G. E. Hinton: A Practical Guide to Training Restricted Boltzmann Machines,
https://www.cs.toronto.edu/~hinton/absps/guideTR.pdf

(24.05.2016, 9:30)

G. E. Hinton (2009) G. E. Hinton: Deep belief networks,
http://www.scholarpedia.org/article/Deep_belief_networks

(24.05.2016, 9:35)

Gibbs (2014) Gibbs, Samuel: Artificial intelligence, Google buys UK artificial intelligence startup Deepmind for £400m, 27.01.2014,
http://www.theguardian.com/technology/2014/jan/27/google-acquires-uk-artificial-intelligence-startup-deepmind

(17.05.2016, 18:00)

Gudjons(o. J.) Gudjons, Pädagogisches Grundwissen, S. 220 (12.05.2016, 11:34)
Goecke (1998) Goecke, Nils: Neuronale Netze und ihre Emulation auf dem Vektor-Prozessor Board CNAPS, 20.11.1998,
http://www.weblearn.hs-bremen.de/risse/RST/WS98/backprop/NN_bp.htm#Backpropagation

(14.05.2016, 16:30)

Hernandez (2013) Hernandez, Daniela: Scientists build baseball-playing rebot with 100.000-Neuron fake brain, 26.04.2013,
http://www.wired.com/2013/04/robot-baseball/

(14.05.2016, 19:15)

Hilberg (2014) Hilberg, Wolfgang: „Künstliches Gehirn“ als Nachfolger des Computers, 2014,
Zeitschrift e & i Elektrotechnik und Informationstechnik Ausgabe 2/2014

(13.05.2016, 18:45)

Informatik Spektrum (2016) Informatik Spektrum: Data Mining, 20.06.2006,
http://eds.a.ebscohost.com/conn/node4201/858828/download.springer.com/static/pdf/60/art%53A10.1007%252Fs00287-006-0091y.pdforiginUrl=http%3A%2F%2Flink.springer.com%2Farticle%2F10.1007%2Fs00287-006-0091y&token2=exp=1464439787~acl=%2Fstatic%2Fpdf%2F60%2Fart%25253A10.1007%25252Fs00287-006-0091y.pdf%3ForiginUrl%3Dhttp%253A%252F%252Flink.springer.com%252Farticle%252F10.1007%252Fs00287-0060091-y*~hmac=1c748ffb6f7746fd303932daf92e5ca9723e33e8de756eb209377c2954ff2a14

(28.05.2016, 14:45)

Jones (2014)a Jones, Nicola: The learning machines, 2014,
Nature 502:S.146 bis 148

(13.05.2016, 18:45)

Jones (2014)b Jones, Nicola: Wie Maschinen lernen lernen, 2014,
http://www.spektrum.de/news/maschinenlernen-deep-learning-macht-kuenstliche-intelligenz-praxistauglich-spektrum-de/1220451

(14.05.2016, 18:45)

Kdnuggets (o. J.) o. V.: Data Mining, Analytics, Big Data, and Data Science, 2016,
http://www.kdnuggets.com/wp-content/uploads/neural-networks-layers.jpg

(04.06.2016, 18:55)

Knight (2015)a Knight, Will: Deep Learning erobert immer mehr Branchen, 22.06.2015,
http://www.heise.de/tr/artikel/Deep-Learning-erobert-immer-mehr-Branchen-2718141.html

(09.05.2016, 14:45)

Knight (2015)b Knight, Will: Baidu’s Deep-Learning System Rivals People at Speech Recognition, 16.12.2015,
http://www.technologyreview.com/s/544651/baidus-deep-learning-system-rivals-people-at-speech-recognition/

(15.05.2016, 17:15)

Koleski (2002) Koleski, Aleksander: Praktische Anwendbarkeit künstlicher neuronaler Netze für die Gesichtserkennung in der biometrischen Authentikation, Dezember 2002,
http://agn-www.informatik.uni-hamburg.de/papers/doc/studarb_a_koleski.pdf, S.34 bis 36

(26.05.2016, 17:20)

Koller (2015) Koller, Christian: Künstliche Intelligenz auf dem Vormarsch - dank Deep Learning, 02.06.2015,
http://blog.vodafone.de/ueber-uns/kuenstliche-intelligenz-auf-dem-vormarsch-dank-deep-learning

(28.05.2016, 12:30)

Költzsch (2016) Költzsch, Tobias: Künstliche Intelligenz- Alpha Go gewinnt auch drittes Spiel gegen Lee Sedol, 12.03.2016,
http://www.golem.de/news/kuenstliche-intelligenz-go-ki-alpha-go-gewinnt-auch-drittes-spiel-gegen-lee-sedol-1603-119704.html

(11.05.2016, 12:50)

Kristian (2011) Kristian, Alex: Künstliche neuronale Netze in C#, 23.07.2011,
http://www.codeplanet.eu/tutorials/csharp/70-kuenstliche-neuronale-netze-in-csharp.html#Das_kuenstliche_Neuron

(12.05.2016, 11:30)

Luger (2016) Luger, George F.; Chakrabarti, Chayan: From Alan Turing to modern AI: practical solutions and an implicit epistemic stance, 01.02.2016,
Zeitschrift:AI & SOCIETY

(28.05.2016, 13:30)

LuCan (2015) LeCun, Yann; Bengio, Yoshua; Hinton, Geoffrey: Deep learning Review, 28.05.2015,
www.cs.toronto.edu/~hinton/absps/NatureDeepReview.pdf

(24.05.2016, 14:30)

Mainzer (o. J.) Mainzer, Klaus: Künstliche Intelligenz – Wann übernehmen die Maschinen?, 7. Neuronale Netze simulieren Gehirne

(05.05.2016, 15:53)

Malaka (2009) Malaka, Rainer; Butz, Andreas; Hußmann, Heinrich: Medieninformatik: Eine Einführung. Pearson Studium München 2009, S.263
Markoff (2011) Markoff, John: Computer Wins on ‘Jeopardy!’: Trivial, It’s Not, 16.02.2011,
http://www.nytimes.com/2011/02/17/science/17jeopardy-watson.html?pagewanted=all&_r=0

(17.05.2016, 19:00)

Marwan(2016) Marwan: Microsoft stellt Deep-Learning-Toolkit CNTK bei Github zur Verfügung, http://www.itespresso.de/2016/01/26/microsoft-stellt-deep-learning-toolkit-cntk-bei-github-zur-verfuegung/ (06.05.2016, 12:12)
Mitchell (1997) Mitchell, Tom M.: Machine Learning, 01.03.1997,
http://personal.disco.unimib.it/Vanneschi/McGrawHill_-_Machine_Learning_-Tom_Mitchell.pdf

(19.05.2016, 11:40)

Nasr (o. J.) Nasr, Khaled: Deep Autoencoders, o. J.,
http://www.shogun-toolbox.org/static/notebook/current/autoencoders.html

(26.05.2016, 16:00)

Numenta (2010) Numenta: Hierachische Temporaltspeicher und HTM-basierte kortikale Lernalgorithmen,
http://numenta.org/resources/HTM_CorticalLearningAlgorithms_de.pdf

(26.05.2016, 16:15)

NVIDIA (2016) o. V.: Die Kraft von Deep Learning, 2016,
http://www.nvidia.de/object/deep-learning-de.html

(29.05.2016, 17:25)

Pavlus (2015) Pavlus, John: Something Lost in Skype Translation, 15.01.2015,
https://www.technologyreview.com/s/534101/something-lost-in-skype-translation/

(24.05.2016, 17:00)

Perlovsky (o. J.) Perlovsky: Emotional Cognitive Neural Algorithms with Engineering Applications, o. J., S. 15

(15.05.2016, 14:32)

Ramanathan(o. J.) Ramanathan: Hierarchical Network Models for Memory and Learning, 2012,Deep hierarchical networks(30.05.2016, 17:05)
Reif (2000) Reif, Gerald: Neuronale Netze, 01.02.2000,
http://www.iicm.tugraz.at/greif/node10.html

(18.05.2016, 15:00)

Rey (2010) Hogrefe, vorm. Verlag Hans Huber; Günter Daniel Rey/Karl F. Wender - Neuronale Netze: Eine Einführung in die Grundlagen, Anwendungen und Datenauswertung(2010), S.17 ff

(14.05.2016, 18:30)

Ruttloff (o. J.) Ruttloff, Stephan: Neuronale Netze, o.v.,
https://www-user.tu-chemnitz.de/~rutst/neuronale_netze.pdf

(12.05.2016, 18:40)

Springer - Algorithmus o.V.: Gabler Wirtschaftslexikon, Stichwort: Algorithmus, online im Internet:
http://wirtschaftslexikon.gabler.de/Archiv/57779/algorithmus-v9.html
Springer - Künstliche Intelligenz o.V.: Gabler Wirtschaftslexikon, Stichwort: Künstliche Intelligenz (KI),
35/Archiv/74650/kuenstliche-intelligenz-ki-v12.html

(07.05.2016, 13:30)

Springer - maschinelles Lernen o.V.: Gabler Wirtschaftslexikon, Stichwort: maschinelles Lernen,
35/Archiv/77372/maschinelles-lernen-v8.html

(17.05.2016, 10:05)

Stanford University (o. J.) o. V.: Convolutional Neural Network, o. J.,
http://ufldl.stanford.edu/tutorial/supervised/ConvolutionalNeuralNetwork/

(11.05.2016, 10:30)

Takaki (2016) Takaki, Jeannine: Erläuterungen zur Spezifikationssprache Net# für neuronale Netzwerke für Azure Machine Learning, 09.02.2016,
https://azure.microsoft.com/de-de/documentation/articles/machine-learning-azure-ml-netsharp-reference-guide/

(12.05.2016, 18:30)

TR Online (2016) o. V.: Neuronales Netz mit "übermenschlichen" Fähigkeiten, 26.02.2016 ,
http://www.heise.de/tr/artikel/Neuronales-Netz-mit-uebermenschlichen-Faehigkeiten-3117954.html

(28.05.2016, 13:50)

Urban and Vogel (2012) Urband und Vogel: OCR — Optical Character Recognition,
http://eds.a.ebscohost.com/conn/node4102/306004/download.springer.com/static/pdf/27/art%253A10.1007%252Fs15002-012-0032-x.pdf?originUrl=http%3A%2F%2Flink.springer.com%2Farticle%2F10.1007%2Fs15002-012-0032-x&token2=exp=1464438559~acl=%2Fstatic%2Fpdf%2F27%2Fart%25253A10.1007%25252Fs15002-012-0032-x.pdf%3ForiginUrl%3Dhttp%253A%252F%252Flink.springer.com%252Farticle%252F10.1007%252Fs15002-012-0032-x*~hmac=1302f273088296025b4f6e6031d232ac522ab1911ba08cc62efc2fee6d45b5ad

(28.05.2015, 14:20)

Wan (2013) L. Wan, M. Zeiler, S. Zhang, Y. L. Cun, and R. Fergus: “Regularization of neural networks using dropconnect.” In Proceedings of the International Conference on Machine Learning, 2013,
S.1058 bis 1066

(13.05.2016, 18:30)

Wunderlich-Pfeiffer (2016) Wunderlich-Pfeiffer, Frank: Deep Learning - Roboter sollen Menschen helfen, aber nicht verletzen, 14.4.2016 09:56,

http://www.golem.de/news/deep-learning-roboter-sollen-menschen-helfen-aber-nicht-verletzen-1604-120299.html
(02.06.2016, 14:30)

Yan (2014) Yan, Chenjing; Lang, Congyan; Wang, Tao; Du, Xuetao; Zhang, Chen : Advances in Multimedia Information Processing – PCM 2014, Age Estimation Based on Convolutional Neural Network, 2014, S.214

(18.05.2016, 19:30)

6.3 Abbildungsverzeichnis

1. Turing Test
2. Mehrschichtenmodell zur Gesichtserkennung (deep learning )
3. Deep Learning in exemplarischen Schritten
4. Deep Learning Neural Network
5. Aufbau eines neuronalen Netzes
6. Künstliches Neuron
7. Sigmoidfunktion
8. Sprungfunktion/Schwellwertfunktion
9. Linearefunktion
10. künstliche Neuronales Netz
11. Spielfeld GO
12. Flußdiagramm überwachtes Lernen
13. Übersicht der Netze der rekurrenten neuronalen Netzen
14. The conceptual example of the CNN
15. Beispiel Forwardpropagation
16. Beispiel Backwardpropagation
17. Flußdiagramm unüberwachtes Lernen
18. Autoencoder Netz
19. Deep Belief Network
20. Anzahl der Unternehmen, die Deep Learning nutzen

6.4 Abkürzungsverzeichnis

AbkürzungBedeutung
CNNConvolutional Neural Network
CRMCustomer-Relationship-Management
DBNDeep Belief Network
DCNNDeep Convolutional Neural Networks
DNNDeep Neural Network
HTMHierarchical Temporal Memory
KIKünstliche Intelligenz
NLPNatural Language Processing
OCROptical Character Recognition
Persönliche Werkzeuge