Im Rahmen dieser Studienarbeit werden die Grundlagen von künstlichen neuronalen Netzen ausführlich von geschichtlicher Entwicklung über Aufbau bis hin zu Anwendungsgebieten erläutert, ehe am Beispiel von Pokerkarten ein solches Netz in Python beschrieben wird.
In der heutigen Zeit sind verschiedene Formen künstlicher Intelligenz (KI) fest im Alltag verankert – von Sprachassistenten auf dem Smartphone über kooperative Roboter bis hin zu Technologien bezüglich des autonomen Fahrens greifen alle auf die künstliche Intelligenz zurück. Neben diesen Einsatzmöglichkeiten existieren noch unzählige weitere, wie beispielsweise Diagnosen im medizinischen Bereich oder die Erforschung des menschlichen Gehirns.
Während in der „klassischen“ Programmierung von Software stets Regeln für alle verschiedenen Eintrittsfälle aufgestellt werden müssen, bieten künstliche neuronale Netze die Möglichkeit, sich durch Training mit großen Datensätzen selbst anzupassen und sind am Ende in der Lage Muster zu erkennen, Klassifizierungen vorzunehmen und vieles mehr. Hierzu sind herkömmlich entwickelte Programme nicht in der Lage, neuronale Netze aufgrund der Lernfähigkeit jedoch mit einem gewissen Fehlergrad schon. Trotz einer Anlehnung an biologische neuronale Netze, unterscheiden sich deren künstlich entwickelte Abbilder recht deutlich von der Vorlage.
Inhaltsverzeichnis
Inhaltsverzeichnis
Abkürzungsverzeichnis
Abbildungsverzeichnis
1 Einleitung
2 Theoretische Grundlagen
2.1 Begriffseinordnung
2.1.1 Künstliche Intelligenz
2.1.2 Machine Learning
2.1.3 Deep Learning
2.2 Künstliche Neuronale Netze
2.2.1 Historische Entwicklung
2.2.2 Aufbau
2.2.3 Funktionen
2.2.4 Lernmechanismus
2.2.5 Anwendungsgebiete
2.2.6 Beispiel Mustererkennung
3 Einsatz von neuronalen Netzen beim Poker
3.1 Regeln Poker (Texas Hold’em)
3.2 Entwicklung neuronales Netz zur Einordnung der Hände
3.2.1 Grundlagen
3.2.2 Aufbau neuronales Netz
3.2.3 Training neuronales Netz
3.2.4 Testdurchlauf
3.3 Regeln bei bekannten Online-Anbietern
4 Fazit
Literaturverzeichnis
Anhang
A1: Skript zu neuronalen Netzen
Abkürzungsverzeichnis
Abbildung in dieser Leseprobe nicht enthalten
Abbildungsverzeichnis
Abbildung 1: Übersicht zu Methoden und Anwendungsgebieten künstlicher Intelligenz
Abbildung 2: Unterscheidung zwischen klassischen und adaptiven Maschinen
Abbildung 3: Beispielhafter Aufbau eines neuronalen Netzes
Abbildung 4: Neuronales Netz mit 2 Schichten (Eingabe- und Ausgabeschicht, feed forward)
Abbildung 5: Neuronales Netz mit 3 Schichten (Eingabe-, Ausgabe- und eine Zwischenschicht, feed-forward)
Abbildung 6: Neuronales Netz mit 3 Schichten, feed-forward mit 2 lateralen Verbindungen in der Zwischenschicht
Abbildung 7: Neuronales Netz mit 3 Schichten, feed-forward mit short cuts
Abbildung 8: Neuronales Netz mit 3 Schichten, feed-back
Abbildung 9: Schematische Darstellung der Zustandsunterscheidung AND/OR mit Hilfe von künstlichen Neuronen
Abbildung 10: Signum-Funktion
Abbildung 11: Durch obere und untere Schranke begrenzte lineare Funktion
Abbildung 12: Verlauf einer logistischen Funktion
Abbildung 13: Verlauf des Tangens-Hyperbolicus
Abbildung 14: JAVA-Beispielcode für lineare Aktivierungsfunktion
Abbildung 15: Ablauf der Entwicklung eines neuronalen Netzes inklusive Lernverfahren
Abbildung 16: Codebeispiel zur iterativen Annäherung an das Abbruchkriterium
Abbildung 17: Beispiel zur einfachen Mustererkennung eines dreilagigen Netzes...
Abbildung 18: Offizielle Reihenfolge der Poker-Hände beim Texas Hold'em
Abbildung 19: Codebeispiel für das Ziehen von 5 Karten aus 52
Abbildung 20: Import der benötigten Keras-Funktionen
Abbildung 21: Codebeispiel zu Aufbau des neuronalen Netzes
Abbildung 22: Outputwerte für die verschiedenen Hände
Abbildung 23: Codebeispiel Import der Trainingsdaten
Abbildung 24: Beispiel für die Trainingsdaten
Abbildung 25: Codebeispiel Anpassung der Daten zur Eingabe in neuronales Netz
Abbildung 26: Codebeispiel Formatanpassung der Outputvariablen Y
Abbildung 27: Codebeispiel Trainingsstart
Abbildung 28: Lernverlauf des neuronalen Netzes
Abbildung 29: Auswertung zur Treffergenauigkeit des Netzes in Bezug auf die Hände
1 Einleitung
In der heutigen Zeit sind verschiedene Formen künstlicher Intelligenz (KI) fest im Alltag verankert - von Sprachassistenten auf dem Smartphone über kooperative Roboter bis hin zu Technologien bezüglich des autonomen Fahrens greifen alle auf die künstliche Intelligenz zurück.1 Neben diesen Einsatzmöglichkeiten existieren noch unzählige weitere, wie beispielsweise Diagnosen im medizinischen Bereich oder die Erforschung des menschlichen Gehirns.2
Während in der „klassischen" Programmierung von Software stets Regeln für alle verschiedenen Eintrittsfälle aufgestellt werden müssen, bieten künstliche neuronale Netze die Möglichkeit, sich durch Training mit großen Datensätzen selbst anzupassen und sind am Ende in der Lage Muster zu erkennen, Klassifizierungen vorzunehmen und vieles mehr. Hierzu sind herkömmlich entwickelte Programme nicht in der Lage, neuronale Netze aufgrund der Lernfähigkeit jedoch mit einem gewissen Fehlergrad schon. Trotz einer Anlehnung an biologische neuronale Netze, unterscheiden sich deren künstlich entwickelte Abbilder recht deutlich von der Vorlage. Der kanadische Softwareentwickler Geoff Hinton bringt dies in seinem Interview mit dem Spiegel treffend auf den Punkt.
„Die Evolution basiert [...] auf blindem Herumprobieren. Künstliche neuronale Netzwerke dagegen basieren auf Mathematik, sie sind streng logisch aufgebaut."3
Im Rahmen dieser Studienarbeit werden ausführlich die Grundlagen von künstlichen neuronalen Netzen von geschichtlicher Entwicklung über Aufbau bis hin zu Anwendungsgebieten erläutert, ehe am Beispiel von Pokerkarten ein solches Netz in Python beschrieben wird.
2 Theoretische Grundlagen
Neuronale Netze sind im Themengebiet der künstlichen Intelligenz verankert. Die Anwendung ebendieser Netze stellt wiederum eine Methode des maschinellen Lernens - häufig auch mit dem englischen Fachbegriff „Machine Learning" bezeichnet - dar. Neuronale Netze sind prädestiniert für das Lernen von Modellen aus großen Datenmengen, welches im Fachjargon als „Deep Learning"4 bezeichnet wird.
2.1 Begriffseinordnung
Zur genaueren Abgrenzung bzw. Einordnung des Begriffs der Neuronalen Netze werden in den folgenden Kapiteln übergeordnete Themenbereiche näher beschrieben und charakterisiert.
2.1.1 Künstliche Intelligenz
Unter dem Begriff der künstlichen Intelligenz (auch: „Artificial Intelligence"/AI) versteht man im Allgemeinen eine Vielzahl verschiedener Methoden und Anwendungsgebieten (Siehe Abbildung 1) mit denen sich Funktionen des menschlichen Gehirns nachstellen lassen können5, damit in der Folge Aufgaben gelöst werden können, die mit einem gewissen Grad an Intelligenz bewältigt werden müssen.6 Übergeordnetes Ziel der starken künstlichen Intelligenz ist die bestmögliche Nachstellung menschlicher Denkmuster sowie anschließender Handlungsweisen7, wobei keine Entscheidungsbeeinflussung durch Gefühle zugelassen wird.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 1: Übersicht zu Methoden und Anwendungsgebieten künstlicher Intelligenz1
Abbildung 1 gibt einen Überblick über verschiedene Methoden, die im Rahmen von künstlicher Intelligenz zum Einsatz kommen und stellt darüber hinaus die Verknüpfungen zu wichtigen Funktionen künstlicher Intelligenz her. Zusätzlich sind interdisziplinäre Verknüpfungen durch gestrichelte Linien dargestellt.8 9
Die zentralen Funktionen der künstlichen Intelligenz stellen die Fähigkeit, aus Mustern oder Datensätzen zu lernen, sowie die Möglichkeit zur Wissensrepräsentation und der Folgerung zur Nutzung dieser Repräsentation dar.10
Als maschinelles Lernen (auch: Machine Learning) wird der Vorgang bezeichnet, wenn der Lernprozess, der üblicherweise nur Lebewesen zugeschrieben wird und darauf basiert, dass auf Basis von externen Stimuli Rückschlüsse für künftiges Handeln gezogen werden, in ähnlichem Maße von Maschinen übernommen wird.11 Bei der Erkennung von Regeln und Gesetzmäßigkeiten lehnen sich Entwickler häufig an Vorgänge des menschlichen oder tierischen Lernens an. Es besteht aber auch die Möglichkeit, dass bewusst von „klassischen" Lernvorgängen abgewichen wird.12
Dadurch lassen sich in der Folge adaptive Maschinen von den sogenannten klassischen Maschinen unterscheiden. Während bei klassischen Maschinen der Input zu einem festdefinierten Maschinenoutput führt, passen adaptive Maschinen den eigenen Output durch eine Feedbackschleife an (siehe Abbildung 2).13
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 2: Unterscheidung zwischen klassischen und adaptiven Maschinen1
Die beschriebene Fähigkeit zur Selbstanpassung des Systems ist gerade bei autonomen Systemen unverzichtbar, um im Lauf der Zeit das Verhalten im Einsatz durch (Lern-)erfahrungen zu optimieren und zusätzliche Fähigkeiten für neue Aufgabenstellungen zu erlangen.14 15
Bei Machine Learning kann im groben zwischen drei unterschiedlichen Ansätzen unterschieden werden.16
a. Überwachtes Lernen (Supervised Learning)
b. Unüberwachtes Lernen (Unsupervised Learning)
c. Verstärkungslernen (Reinforcement Learning)
Im Fall des Supervised Learnings werden der adaptiven Maschine klare Vorgaben bzw. Grenzen gesetzt. Mathematisch kommen Regressionsverfahren oder Klassifizierungssysteme zum Einsatz, um in der Folge beispielsweise Voraussagen über die künftige Entwicklung von Aktienkursen geben zu können. Es ist jedoch wichtig zu betonen, dass beim Supervised Learning recht simple Modelle zum Einsatz kommen, die häufig auf Basis von recht kleinen Datenmengen Voraussagen etc. treffen.17
Beim Unsupervised Learning werden den Algorithmen weniger Grenzen gesetzt. Auf diese Weise ist die Maschine in diesem Fall in der Lage, beispielsweise aus großen Datenmengen an verschiedenen Symbolen in unterschiedlichen Farben Gruppierungen hinsichtlich Form und Farbe des entsprechenden Objekts vorzunehmen. Auch in der Erkennung von Songs anhand der Melodie, des Textes usw. wird Unsupervised Learning eingesetzt, da häufig zusätzlich zum eigentlichen Song Störgeräusche auftreten können, die den Abgleich mit der Originaldatei erschweren. Es ist festzuhalten, dass beim unüberwachten Lernen die Daten nicht exakt mit den Originaldaten übereinstimmen müssen. Systemisch muss im Voraus festgelegt sein, wie stark Objekte mit den ursprünglich erfassten Objekten übereinstimmen muss. Somit können auf der einen Seite auch nicht exakt gleich Objekte einander zugeordnet werden, auf der anderen Seite existiert auch ein gewisser Spielraum für Fehleranfälligkeit.18
Der fortschrittlichste Bereich des Machine Learnings ist das Reinforcement Learning, bei dem - ähnlich wie beim Unsupervised Learning - große, neuartige Datenmengen analysiert werden können. Zusätzlich ist in die Algorithmen eine Feedbackschleife integriert, die dafür sorgt, dass beispielsweise bei richtiger Zuordnung positives Feedback gegeben wird. Auf diese Weise verbessert sich der Algorithmus im Lauf der Zeit selbst und reduziert so die Fehlerwahrscheinlichkeit, die im Fall des Unsupervised Learning fix vorgegeben ist.19
Als Deep Learning wird eine Methode des maschinellen Lernens bezeichnet, bei der große Datensätze („Big Data") mit Hilfe von neuronalen Netzen verarbeitet werden und somit als Grundlage für diverse Outputs der Maschine dienen können. Die Methode beruht darauf, dass Computer komplexe Probleme lösen können, indem auf einfachere Gesetzmäßigkeiten zurückgegriffen wird. Durch Kombination dieser simplen Konzepte wird eine iterative Annäherung an das zu lösende Hauptproblem vorgenom- men.20
Durch Kombination und stufenweisen Aufbau entstehen im Hintergrund vielschichtige Diagramme, die zwischen Input und Output eine praktisch unbegrenzte Anzahl an Zwischenstufen (auch: Hidden Layers) enthalten können. In den meisten Fällen gilt, dass mit steigender Komplexität des Sachverhalts auch mit einer entsprechend steigenden Anzahl an Zwischenstufen einhergehen, da mehr Verknüpfungen zur Lösung benötigt werden als bei einfachen Zusammenhängen. Wie viele Hidden Layers genau im Hintergrund entstehen ist stark davon abhängig, wie das entsprechende Neuronale Netz zur Lösung aufgebaut ist.21
Zum Einsatz kommt Deep Learning vor allem dann, wenn sich Aufgaben, die von Lebewesen meist intuitiv bewältigt werden können, nicht direkt durch mathematische Formeln lösen lassen. Dies ist beispielsweise der Fall, wenn eine Software zur Spracherkennung oder zur Erkennung der Handschrift entwickelt werden soll.
2.2 Künstliche Neuronale Netze
Künstliche Neuronale Netze sind „Vertreter der subsymbolischen Methoden der künstlichen Intelligenz"22, die sich aus einer großen Anzahl an signalverarbeitenden Bausteinen (Neuronen) zusammensetzen und Informationen über gewichtete Verbindungen verschicken bzw. verarbeiten. Mit Hilfe von künstlichen neuronalen Netzen sollen natürliche Vorbilder nachgeahmt werden, um eine bestmögliche Wahrnehmung, Lernfähigkeit und entsprechende Anpassung zu erzielen.23
2.2.1 Historische Entwicklung
Neuronale Netze werden seit den 1940er-Jahren verwendet, wurden seitdem weiterentwickelt und an neue Anforderungen angepasst. McCulloch und Pitts beschreiben 1943 die Möglichkeit, kleine, bausteinartige Strukturen so zu verbinden, dass sich in Anlehnung an biologische neuronale Netze beliebige Funktionen berechnen lassen.24
Auf der Basis der zehn Theoreme von McCulloch und Pitts formulierte Hebb 1949 die bis heute grundlegende Lernregel für neuronale Netze, indem Beobachtungen im Zusammenhang mit biologischen neuronalen Netzen in eine mathematische Formel übersetzt wurden.25 Diese Lernregel beschreibt, dass sich die Veränderung des Gewichts von Neuron i zu Neuron j (Aa>^) als Produkt einer konstant wählbaren Lernrate (ij) und der Aktivierung der beiden verbundenen Neuronen i (at) und j (aj) ergibt.
Abbildung in dieser Leseprobe nicht enthalten
So wird derselbe Prozess, der sich bei einer mehrfachen Aktivierung bestimmter Neuronenverbindungen bei Lebewesen mit einer Erhöhung der Synapsenstärke einhergeht, mathematisch abgebildet (siehe Formel 1).26
Mit Beginn der 1950er-Jahre wurden die von McCulloch, Pitts und Hebb erarbeiteten theoretischen Grundlagen zum ersten Mal auf tatsächliche Anwendungen in Maschinen übertragen.
Durch stark erhöhte Forschung im Bereich der künstlichen Intelligenz ab der Jahrtausendwende gewannen auch Neuronale Netze in der Informationstechnologie wieder stark an Bedeutung und sind für den Aufbau von Spracherkennungsassistenten (z. B. Siri von Apple) und Bilderkennungssoftware (z. B. Tempolimiterkennung in Autos) unerlässlich geworden.
2.2.2 Aufbau
Neuronale Netze sind grundsätzlich als Black Box-Modell aufgebaut. Als Black Box werden nach Thommen Modelle bezeichnet, bei denen sich die Eingaben (Inputs) und Ausgaben (Outputs) messen lassen, aber dazwischen liegende, ablaufende Prozesse sich nicht genau erfassen lassen.27
Bei künstlichen neuronalen Netzen kommt dies zustande, da die Neuronen auf verschiedene Ebenen (siehe Abbildung 4) verteilt werden, wobei Neuronen je nach Ebene unterschiedliche Aufgaben erfüllen.28
a. Eingabeschicht (Input-Layer)
b. Verdeckte Schicht (Hidden Layer)
c. Ausgabeschicht (Output-Layer)
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 3: Beispielhafter Aufbau eines neuronalen Netzes1
Neben den Grundbausteinen, den Neuronen existieren als weitere Grundelemente verschiedene Gewichtungen, die in einer Gewichtungsmatrix W = (w£j-) gespeichert werden. Anhand dieser kann in der Regel die topologische Struktur des Netzes abgelesen werden, weil die Gewichtsmatrix die Verknüpfungen unter den Neuronen und deren Stärke (Gewichtung) verkörpert. Erst durch die (verschiedenen) Gewichtungen zwischen den einzelnen Neuronen können sich die künstlichen neuronalen Netze als dynamisches System selbst adaptieren. Dies ist vergleichbar mit der veränderbaren Leitfähigkeit von biologischen Synapsen.29 30
Theoretisch ist es möglich, dass jedes Neuron mit beliebig vielen anderen Neuronen verbunden ist. Diese „chaotischen" Strukturen sind bei Lebewesen weiter verbreitet - im Fall von künstlichen neuronalen Netzen führen freie Anordnungen wegen Rückkopplungen zu komplexen Dynamiken und konvergieren nur selten. Aus diesem Grund werden die einzelnen Bausteine in einem neuronalen Netz, in verschiedenen Klassen zusammengefasst, um eine Schichtenstruktur zu erhalten.31
Neben dem Aufbau in spezifischen Schichtenstrukturen werden künstliche neuronale Netze durch gerichtete Verbindungen charakterisiert. Diese beschreiben, in welcher Richtung Neuronen untereinander verbunden sind. Grundsätzlich wird zwischen drei verschiedenen Verbindungsarten zwischen Neuronen unterschieden.
Als feed-forward-Strukturen werden Verbindungen bezeichnet, die die entsprechend des natürlichen Informationsflusses von Eingabeschicht in Richtung des Ausgabeschicht ausgerichtet sind. Dem gegenüber stehen die rekurrenten Verbindungen, die in entgegengesetzter Richtung verlaufen und eine Anpassung der Ausgabewerte vorangegangener Schichten zur Folge haben können. Zusätzlich zu Verbindungen zwischen verschiedenen strukturellen Schichten sind auch Verbindungen innerhalb einer bestimmten Schicht möglich. Diese werden als laterale Verbindungen bezeichnet.32 33
Abbildung 5 bis Abbildung 9 zeigen verschiedene Kombinationen an gerichteten Verbindungen in einfachen neuronalen Netzen inklusive der entsprechenden Gewichtungsmatrix auf. Hinsichtlich den abgebildeten Gewichtungsmatrizen ist wichtig zu erwähnen, dass jegliche Gewichtung ^ 0 zur Vereinfachung entsprechend als 1 dargestellt wird.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 4: Neuronales Netz mit 2 Schichten (Eingabe- und Ausgabeschicht, feed forward)2
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 5: Neuronales Netz mit 3 Schichten (Eingabe-, Ausgabe- und eine Zwischenschicht, feed-forward)1
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 6: Neuronales Netz mit 3 Schichten, feed-forward mit 2 lateralen Verbindungen in der Zwischenschicht2
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 7: Neuronales Netz mit 3 Schichten, feed-forward mit short cuts
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 8: Neuronales Netz mit 3 Schichten, feed-back2
2.2.3 Funktionen
2.2.3.1 Grundlagen
Neuronale Netze lassen sich in Computern als Netz aus künstlichen Neuronen realisieren. Im einfachsten Fall nach McCulloch und Pitts stellen diese eine Funktion f :Rn ^ {0,1} dar. Ein reeller Vektor x wird auf eine binäre Ausgabe abgebildet, die der Aktivierung des Neurons entspricht. Erreicht die Summe der Elemente von x einen34 35 Schwellwert 0, wird eine 1 ausgegeben, ansonsten eine 0. Die Ausgabe eines Neurons mit Schwellwert 0 und Eingabevektor x lässt sich also wie folgt charakterisieren.1
Abbildung in dieser Leseprobe nicht enthalten
Auf diese Weise lassen sich mit dem Neuronenmodell bereits einfache logische Operationen lösen. Ein Beispiel hierfür stellt die Unterscheidung zwischen den beiden Zuständen AND und OR dar. Bei der AND Funktion müssen die Aktivierungen den Schwellwert 0 = 2 überschreiten, damit das Neuron aktiviert wird. Es wird also nur eine 1 ausgeben, wenn xt = x2 = 1 gilt. Bei der OR Funktion hingegen liegt der Schwellwert bei 0 = 1. Dies bedeutet im Umkehrschluss, dass es bereits ausreicht, wenn nur eine der beiden Eingaben eine 1 ist.2
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 9: Schematische Darstellung der Zustandsunterscheidung AND/OR mit Hilfe von künstlichen Neuronen3
Diese Art von künstlichen Neuronen, die auch McCulloch-Pitts-Zellen genannt werden, bringen einen entscheidenden Nachteil mit sich - die auch als Kanten bezeichneten Verbindungen zwischen den Neuronen kommen ausschließlich ungewichtet vor. Die fehlende Gewichtung ist dadurch auszumachen, dass als Ausgabe entweder die Werte 0 oder 1 möglich sind. Eine Lernfähigkeit dieser Netze ist jedoch nur gegeben,36 37 38 wenn die Möglichkeit zur Veränderung der Netztopologie besteht. Dies setzt wiederum komplexe Algorithmen voraus und lässt sich wesentlich schwerer automatisieren.39
Ein Modell mit gewichteten Kanten umgeht diese Schwierigkeit. Der Schwellwert 0 muss ebenso durch den Lernalgorithmus anpassbar gemacht werden. So geht er nun als Kante grundsätzlichen Aktivierung 1 und einer Gewichtung von -0 in das künstliche Neuron ein. Zur Weitergabe von Aktivierungen müssen nun nicht mehr die Schwellenwerte an sich überschritten werden. Es gilt mit w£ als Kantengewicht folgende Beziehung.
Abbildung in dieser Leseprobe nicht enthalten
2.2.3.2 Kernfunktionen
Damit ein neuronales Netz den Input in entsprechenden Output transformieren kann, sind in der Regel drei hintereinanderliegende Funktionen auszuführen.
a. Propagierungsfunktion
b. Aktivierungsfunktion
c. Outputfunktion
Schmidt/Klüver/Klüver fassen den Ablauf von Propagierungsfunktion über Aktivierungsfunktion zur Outputfunktion treffend zusammen.
„Die Propagierungsfunktion fasst durch eine gewichtete Summe die Eingaben aus allen auf ein betreffendes Neuron j wirkenden anderen Neuronen zusammen zu der Netzeingabe netj.
[...]
1 Vgl. Hecker, D. u.a. (2017), S. 27
2 Vgl. Stöckl, R. (2018), S. 1
3 Schmundt, H. (2016), https://www.spiegel.de (Stand: 08.06.2021 um 11:02 Uhr)
4 Vgl. Hecker, D. u.a. (2017), S. 26
5 Vgl. Wahlster, W. (2017), S. 410
6 Vgl. Siepermann, M.; Lackes, R. (2018), https://wirtschaftslexikon.gabler.de
7 Vgl. Nilsson, N. J. (2010), S. 388 f.
8 Siepermann, M.; Lackes, R. (2018), https://wirtschaftslexikon.gabler.de
9 Vgl. Siepermann, M.; Lackes, R. (2018), https://wirtschaftslexikon.gabler.de
10 Vgl. Siepermann, M.; Lackes, R. (2018), https://wirtschaftslexikon.gabler.de
11 Vgl. Bonaccorso, G. (2017), S. 9
12 Vgl. Bendel, O. (2021), https://wirtschaftslexikon.gabler.de (Stand: 12.05.2021 um 14:47 Uhr)
13 Vgl. Bonaccorso, G. (2017), S. 6 ff.
14 Bonaccorso, G. (2017), S. 7 f.
15 Vgl. Wahlster, W. (2017), S. 410
16 Vgl. Bonaccorso, G. (2017), S. 10 ff.
17 Vgl. Bonaccorso, G. (2017), S. 10 ff.
18 Vgl. Bonaccorso, G. (2017), S. 12 ff.
19 Vgl. Bonaccorso, G. (2017), S. 14 f.
20 Vgl. Bendel, O. (2021), https://wirtschaftslexikon.gabler.de (Stand: 12.05.2021 um 14:47 Uhr)
21 Vgl. Deng, L.; Yu, D. (2014), S. 200 ff.
22 Lackes, R.; Siepermann, M. (2018), https://wirtschaftslexikon.gabler.de (Stand: 16.05.2021 um 17:15 Uhr)
23 Vgl. Dörn, S. (o. J.), https://sebastiandoern.de#:~:text=Neuronale%20Netze.%20Neuronale%20Netze%20sind%20infor mationsverarbeitende%20Systeme%2C%20die,aus%20einem%20neuronalen%20Netz%20mit%2 0etwa%20100%20 (Stand: 21.05.2021 um 09:34 Uhr)
24 Vgl. McCulloch, W. S.; Pitts, W. (1943), S. 129
25 Hebb, D. O. (2005)
26 Vgl. Dörn, S. (2018), S. 91
27 Vgl. Thommen, J.-P. (2018), https://wirtschaftslexikon.gabler.de (Stand: 26.05.2021 um 09:12 Uhr)
28 Berger, C. (2018), https://www.cfbtranslations.com (Stand: 31.05.2021 um 12:22 Uhr)
29 Berger, C. (2018), https://www.cfbtranslations.com (Stand: 31.05.2021 um 12:22 Uhr)
30 Vgl. Schmidt, J.; Klüver, C.; Klüver, J. (2010), S. 141
31 Vgl. Schmidt, J.; Klüver, C.; Klüver, J. (2010), S. 143
32 Vgl. Schmidt, J.; Klüver, C.; Klüver, J. (2010), S. 144
33 Schmidt, J.; Klüver, C.; Klüver, J. (2010), S. 144
34 Schmidt, J.; Klüver, C.; Klüver, J. (2010), S. 145
35 Schmidt, J.; Klüver, C.; Klüver, J. (2010), S. 145
36 Vgl. Rojas, R. (2013), S. 31
37 Vgl. Rojas, R. (2013), S. 34
38 Rojas, R. (2013), S. 34
39 Vgl. Rojas, R. (2013), S. 51
- Quote paper
- Finn Floruß (Author), 2021, Neuronale Netze. Geschichtliche Entwicklung, Aufbau und Anwendungsgebiete, Munich, GRIN Verlag, https://www.grin.com/document/1043437
-
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X.