[PYTHON] Ein Amateur stolperte in Deep Learning von Grund auf neu Hinweis: Kapitel 2

Einführung

Plötzlich begann ich zu studieren "Deep Learning von Grund auf - Theorie und Implementierung von Deep Learning, das mit Python gelernt wurde". Es ist ein Memo der Reise.

Die Ausführungsumgebung ist macOS Mojave + Anaconda 2019.10. Weitere Informationen finden Sie in Kapitel 1 dieses Memos.

(Zu anderen Kapiteln dieses Memos: Kapitel 1 / Kapitel 2 / Kapitel 3 ) / Kapitel 4 / Kapitel 5 / [Kapitel 6](https: / /qiita.com/segavvy/items/ca4ac4c9ee1a126bff41) / Kapitel 7 / Kapitel 8 / Zusammenfassung)

Kapitel 2 Perceptron

Dieses Kapitel beschreibt Perceptron.

2.1 Was ist Perceptron?

Ich hatte keine besonderen Stolpersteine, aber warum nenne ich sie Neuronen? Ich dachte, es wäre interessanter, ein bisschen mehr Hintergrund zu haben, also werde ich es ein wenig ergänzen, soweit ich verstehen kann.

1943 entwickelten der Neurophysiologe / Chirurg McCulloch und der Logikologe / Mathematiker Pitts gemeinsam ein Modell, mit dem Nervenzellen im Gehirn mit einem Computer realisiert werden können [^ 1]. Wenn Sie den Mechanismus des Gehirns untersuchen und ihn mit einem Computer verwalten, sollten Sie in der Lage sein, eine KI zu vervollständigen, die wie ein Mensch denken kann! Es ist so ein seltsamer Ansatz.

Im menschlichen Gehirn ist bekannt, dass mehrere Nervenzellen eng miteinander verbunden sind, um ein Netzwerk zu bilden. Diese einzelnen Nervenzellen werden auf Englisch Neuron genannt, und eines der Modelle, die versucht haben, diese Nervenzellen auf einem Computer zu realisieren, ist Perceptron (künstliches Neuron, einfaches Perceptron). Deshalb erscheint das Wort Neuron in der Beschreibung von Perceptron.

Eine Nervenzelle empfängt ein elektrisches Signal von einer anderen Nervenzelle, und wenn es einen bestimmten Betrag überschreitet, wird es für einen Moment zu einem Feuerzustand (angeregter Zustand) und überträgt es an eine andere Nervenzelle. Der Mechanismus von Perceptron drückt genau das aus. Die Eingangssignale $ x_1 $ und $ x_2 $ geben die Eingabe von anderen Nervenzellen an, die Gewichte $ w_1 $ und $ w_2 $ geben die Leichtigkeit der Übertragung des Feuerzustands von anderen Nervenzellen an und der Schwellenwert $ \ theta $ ist Es zeigt, wie viele Signale Ihre Nervenzellen benötigen, um zu feuern.

Darüber hinaus ist das neuronale Netzwerk, das im nächsten Kapitel erscheinen wird, ein Versuch, ein Netzwerk mehrerer Nervenzellen (Neuronen) auf einem Computer zu realisieren, um das menschliche Gehirn zu realisieren.

Der Ansatz, das menschliche Gehirn zu imitieren, ist interessant, nicht wahr? Da der Mechanismus des menschlichen Gehirns noch nicht geklärt ist, reproduzieren die Algorithmen in der Welt das menschliche Gehirn nicht genau, und KI-Forscher sollten auch das menschliche Gehirn originalgetreu reproduzieren. Ich scheine nicht besonders darüber zu sein.

2.2 Einfache Logikschaltung

Mit nur einem Neuron können Sie nicht viel anfangen, aber Sie können drei Arten von Berechnungen durchführen: AND, OR und NAND, indem Sie einfach die Parameter $ w_1 $, $ w_2 $ und $ \ theta $ ändern, ohne die Logik zu ändern. Ist interessant.

2.3 Implementierung von Perceptron

Das Auftreten des Bias $ b $ ist etwas verwirrend, aber es ist dasselbe wie $ \ theta $ in dem Sinne, dass es die Leichtigkeit des Feuers selbst zeigt. Fahren wir also fort, ohne zu viel nachzudenken, da der Ausdruck des Ausdrucks unterschiedlich ist. ..

2.4 Grenzen von Perceptron

Wie Sie im Buch sehen können, können XORs ◯ und △ nicht in einer geraden Linie realisiert werden, egal wie sehr Sie es versuchen. Dies ist die Grenze für Perceptron mit einem Neuron.

Darüber hinaus sollten die Wörter linear und nichtlinear mit dem Verständnis weiterentwickelt werden, dass sie wie im Buch durch gerade Linien geteilt werden können / können.

2.5 Mehrschichtiges Perceptron

Es stellt sich heraus, dass noch mehr Dinge getan werden können, so wie XOR mit mehreren Ebenen möglich war.

2.6 Vom NAND zum Computer

Ich habe die Geschichte nicht verstanden, dass ein Computer nur mit NAND hergestellt werden kann, aber das vorgestellte Buch "From NAND to Tetris" scheint sie zu lösen. Ich kann es mir momentan nicht leisten, aber ich würde es gerne lesen, wenn ich die Gelegenheit dazu bekomme.

2.7 Zusammenfassung

Ich bin auch nicht über Kapitel 2 gestolpert.

Das ist alles für dieses Kapitel. Wenn Sie Fehler haben, wäre ich Ihnen dankbar, wenn Sie darauf hinweisen könnten. (Zu anderen Kapiteln dieses Memos: Kapitel 1 / Kapitel 2 / Kapitel 3 ) / Kapitel 4 / Kapitel 5 / [Kapitel 6](https: / /qiita.com/segavvy/items/ca4ac4c9ee1a126bff41) / Kapitel 7 / Kapitel 8 / Zusammenfassung)

[^ 1]: [Wikipedia: Formal Neuron](https://ja.wikipedia.org/wiki/%E5%BD%A2%E5%BC%8F%E3%83%8B%E3%83%A5%E3 Von% 83% BC% E3% 83% AD% E3% 83% B3)

Recommended Posts

Ein Amateur stolperte in Deep Learning von Grund auf neu Hinweis: Kapitel 1
Ein Amateur stolperte in Deep Learning von Grund auf neu. Hinweis: Kapitel 7
Ein Amateur stolperte in Deep Learning von Grund auf neu Hinweis: Kapitel 5
Ein Amateur stolperte in Deep Learning von Grund auf neu Hinweis: Kapitel 4
Ein Amateur stolperte in Deep Learning von Grund auf neu Hinweis: Kapitel 2
Ein Amateur stolperte über Deep Learning ❷ von Grund auf neu Hinweis: Kapitel 5
Ein Amateur stolperte über Deep Learning ❷ von Grund auf neu Hinweis: Kapitel 2
Ein Amateur stolperte über Deep Learning ❷ von Grund auf neu Hinweis: Kapitel 4
[Lernnotiz] Deep Learning von Grund auf neu gemacht [Kapitel 7]
Deep Learning / Deep Learning von Grund auf neu Kapitel 6 Memo
[Lernnotiz] Deep Learning von Grund auf neu gemacht [Kapitel 5]
[Lernnotiz] Deep Learning von Grund auf neu gemacht [Kapitel 6]
"Deep Learning von Grund auf neu" mit Haskell (unvollendet)
Deep Learning / Deep Learning von Grund auf neu Kapitel 7 Memo
[Lernnotiz] Deep Learning von Grund auf neu gemacht [~ Kapitel 4]
Deep Learning von Grund auf neu
Deep Learning von Grund auf neu ① Kapitel 6 "Lerntechniken"
Deep Learning von Grund auf 1-3 Kapitel
Deep Learning / Deep Learning von Grund auf neu 2 Kapitel 4 Memo
Deep Learning / Deep Learning von Grund auf neu Kapitel 3 Memo
Deep Learning / Deep Learning von Null 2 Kapitel 5 Memo
Erstellen Sie mit Docker eine Umgebung für "Deep Learning von Grund auf neu"
Tiefes Lernen von Grund auf neu (Kostenberechnung)
Deep Learning / Deep Learning von Null 2 Kapitel 7 Memo
Deep Learning / Deep Learning von Null 2 Kapitel 8 Memo
Deep Learning / Deep Learning von Grund auf neu Kapitel 5 Memo
Deep Learning / Deep Learning von Grund auf neu Kapitel 4 Memo
Deep Learning / Deep Learning von Grund auf neu 2 Kapitel 3 Memo
Deep Learning Memo von Grund auf neu gemacht
Deep Learning / Deep Learning von Null 2 Kapitel 6 Memo
"Deep Learning from Grund" Memo zum Selbststudium (Nr. 14) Führen Sie das Programm in Kapitel 4 in Google Colaboratory aus
Warum ModuleNotFoundError: In "Deep Learning from Grund" wird kein Modul mit dem Namen "didaset.mnist" angezeigt.
Schreiben Sie Ihre Eindrücke von der Deep Learning 3 Framework Edition, die von Grund auf neu erstellt wurde
Tiefes Lernen von Grund auf neu (Vorwärtsausbreitung)
Tiefes Lernen / Tiefes Lernen von Grund auf 2-Versuchen Sie, GRU zu bewegen
[Windows 10] Aufbau einer "Deep Learning from Scratch" -Umgebung
Lernbericht über das Lesen von "Deep Learning von Grund auf neu"
[Deep Learning von Grund auf neu] Über die Optimierung von Hyperparametern
"Deep Learning from Grund" Memo zum Selbststudium (Teil 12) Deep Learning
Python vs Ruby "Deep Learning von Grund auf neu" Kapitel 2 Logikschaltung von Perceptron
Python vs Ruby "Deep Learning von Grund auf neu" Kapitel 4 Implementierung der Verlustfunktion
Selbststudien-Memo "Deep Learning from Grund" (unlesbares Glossar)
Ein Amateur versuchte Deep Learning mit Caffe (Einführung)
GitHub des guten Buches "Deep Learning von Grund auf neu"
Ein Amateur versuchte Deep Learning mit Caffe (Übung)
[Lernnotiz] Deep Learning von Grund auf ~ Implementierung von Dropout ~
Ein Amateur hat Deep Learning mit Caffe ausprobiert (Übersicht)
Python vs Ruby "Deep Learning von Grund auf neu" Zusammenfassung
"Deep Learning from Grund" Memo zum Selbststudium (10) MultiLayerNet-Klasse
"Deep Learning from Grund" Memo zum Selbststudium (Nr. 11) CNN
Python vs Ruby "Deep Learning von Grund auf neu" Kapitel 3 Implementierung eines dreischichtigen neuronalen Netzwerks
[Python] [Verarbeitung natürlicher Sprache] Ich habe Deep Learning ausprobiert (auf Japanisch von Grund auf neu erstellt)
Deep Learning von Grund auf neu Die Theorie und Implementierung des mit Python erlernten Deep Learning Kapitel 3
Lua-Version Deep Learning von Grund auf neu Teil 5.5 [Bereitstellung von pkl-Dateien in Lua Torch]
[Deep Learning von Grund auf neu] Ich habe die Affine-Ebene implementiert
Tiefes Lernen mit Python Kapitel 2 (Material für runde Vorlesung)
Ich habe versucht, Dropout zu erklären
Python vs Ruby "Deep Learning von Grund auf neu" Kapitel 3 Diagramm der Schrittfunktion, Sigmoidfunktion, ReLU-Funktion