[PYTHON] Implementierung eines Faltungs-Neuronalen Netzwerks mit nur Numpy

Einführung

Um das Faltungs-Neuronale Netzwerk zu verstehen, habe ich den Algorithmus in Python nur mit Numpy implementiert, ohne mich beim Deep Learning auf die Bibliothek zu verlassen. In Zukunft möchte ich es verbessern, um mit der GPU kompatibel zu sein. Da nicht überprüft wurde, ob der inverse Fehler ordnungsgemäß weitergegeben wird, werden außerdem die noch in der Entwicklung befindlichen Fehler gebucht.

GitHub https://github.com/NaotoMasuzawa/Deep_Learning/tree/master/Python_CNN

Referenzierter Code und technisches Buch

Bei der Implementierung des Codes habe ich auf Yusuke Sugomoris GitHub und technische Bücher verwiesen. Ich bin sehr dankbar.

GitHub https://github.com/yusugomori Technisches Buch https://www.amazon.co.jp/Java-Learning-Essentials-Yusuke-Sugomori-ebook/dp/B01956B5RQ

Gliederung

Zusätzlich zum normalen Faltungs-Neuronalen Netzwerk ist in der verborgenen Schicht ein Ausfall implementiert, der wahrscheinlich einige der Neuronen auf Null reduziert. Zusätzlich wird ReLU als Aktivierungsfunktion verwendet.

Codestruktur und Anmerkung

Build.py Stellen Sie hier die Layerkonfiguration und die Parameter ein. Auch beim Ausführen von Code Sie sollten in der Lage sein, die Parameter hier festzulegen und mit python Build.py auszuführen.

Convolutional_Neural_Network.py Jede Klasse steigt hier abhängig von der Struktur der Schicht.

Conv_Pool_Layer.py Eine Faltschicht und eine Poolschicht sind implementiert. Für Satz wird oft für die Faltschicht verwendet, Da die Beziehung zwischen den Indizes kompliziert wird, habe ich jeden aussagekräftig gemacht. Daher ist die Breite eines Teils des Codes länger.

Hidden_Layer.py Aussetzer auf dem regulären mehrschichtigen Perzeptron, das in vollständig verbundenen Schichten verwendet wird Es ist implementiert.

Logistic_Regression.py Die logistische Regression ist implementiert.

utils.py Die Aktivierungsfunktion (ReLU) ist implementiert. Wenn Sie es mit anderen Aktivierungsfunktionen (wie der Sigmoid-Funktion) vergleichen möchten, schreiben Sie es hier.

Schließlich

Da dieser Code nicht für umfangreiche Verarbeitungen verwendet wird, kann er Fehler enthalten. In diesem Fall würde ich es begrüßen, wenn Sie es melden könnten.

Recommended Posts

Implementierung eines Faltungs-Neuronalen Netzwerks mit nur Numpy
Implementierung eines neuronalen Netzwerks (nur NumPy)
Implementierung von "verschwommenen" neuronalen Netzen mit Chainer
Einfache Implementierung eines neuronalen Netzwerks mit Chainer
Was ist das Convolutional Neural Network?
Rank Learning über ein neuronales Netzwerk (RankNet-Implementierung von Chainer)
Implementierung eines 3-Schicht-Neuronalen Netzwerks (kein Lernen)
Einfache Implementierung eines neuronalen Netzwerks mithilfe der Chainer-Datenaufbereitung
Einfache Implementierung eines neuronalen Netzwerks mithilfe der Beschreibung des Chainer-Modells
Verstehen Sie die Anzahl der Eingabe- / Ausgabeparameter des Faltungs-Neuronalen Netzes
Erstellen Sie mithilfe des TensorFlow-Faltungsnetzwerks einen Klassifikator mit einer Handschrifterkennungsrate von 99,2%
Erstellt ein Bildunterscheidungsmodell (cifar10) unter Verwendung eines Faltungs-Neuronalen Netzwerks
Einfache Implementierung eines neuronalen Netzwerks mit Chainer ~ Optimierungsalgorithmus einstellen ~
Verstärkungslernen 10 Versuchen Sie es mit einem trainierten neuronalen Netz.
Eine andere Stilkonvertierungsmethode unter Verwendung des Convolutional Neural Network
Visualisieren Sie die innere Schicht des neuronalen Netzwerks
Implementieren Sie das Convolutional Neural Network
Erfahrung mit faltbaren neuronalen Netzen
[Python] Implementierung von Clustering mit einem gemischten Gaußschen Modell
Modell unter Verwendung eines Faltungsnetzwerks in der Verarbeitung natürlicher Sprache
Die Geschichte eines neuronalen Netzwerks der Musikgeneration
Bayesianische Optimierungsimplementierung von Hyperparametern des neuronalen Netzwerks (Chainer + GPyOpt)
Grundlagen von PyTorch (2) - Wie erstelle ich ein neuronales Netzwerk?
Implementieren Sie ein dreischichtiges neuronales Netzwerk
Implementierung von TF-IDF mit Gensim
Implementierung eines neuronalen Netzwerks in Python
Ein Memorandum zur Verwendung von eigen3
Implementierung von VGG16 mit Keras, die ohne Verwendung eines trainierten Modells erstellt wurden
Versuchen Sie, ein neuronales Netzwerk in Python aufzubauen, ohne eine Bibliothek zu verwenden
Aufbau eines neuronalen Netzwerks, das XOR durch Z3 reproduziert
CNN Acceleration Series ~ FCNN: Einführung des Fourier Convolutional Neural Network ~
So zeichnen Sie einfach die Struktur eines neuronalen Netzwerks in Google Colaboratory mit "convnet-drawer"
Ich habe ein Convolutional Neural Network (CNN) mit einem TensorFlow-Tutorial zur Cloud9-Klassifizierung handgeschriebener Bilder ausprobiert.
Implementierung eines einfachen Partikelfilters
PRML Kapitel 5 Python-Implementierung für neuronale Netze
Ich habe versucht, ein zweischichtiges neuronales Netzwerk zu implementieren
So speichern Sie einen Teil eines langen Videos mit OpenCV
Einfache Theorie und Implementierung des neuronalen Netzes
Implementierung von Desktop-Benachrichtigungen mit Python
Berühren Sie das Objekt des neuronalen Netzes
Abrufen einer Kombination von Elementen mithilfe von itertools
Überlebensvorhersage unter Verwendung des titanischen neuronalen Netzes von Kaggle [80,8%]
Komponieren Sie mit einem neuronalen Netzwerk! Führen Sie Magenta aus
Hinweis zur Verwendung der Python-Eingabefunktion
Implementierung eines Dialogsystems mit Chainer [seq2seq]
Eindrücke von der Verwendung von Flask für einen Monat
[Python] Nur eine Liste der Ordner abrufen
[Chainer] Dokumentklassifizierung nach Faltungsnetzwerk
Python vs Ruby "Deep Learning von Grund auf neu" Kapitel 3 Implementierung eines dreischichtigen neuronalen Netzwerks
Speichern Sie das numpy-Array mithilfe des Wave-Moduls in einer WAV-Datei
[Deep Learning von Grund auf neu] Anfangswert des Gewichts des neuronalen Netzwerks unter Verwendung der Sigmoid-Funktion
Extrahieren Sie Elemente (mithilfe einer Liste von Indizes) wie NumPy aus einer Python-Liste / einem Python
Experimentieren Sie mit verschiedenen Optimierungsalgorithmen im neuronalen Netz
Überprüfung der Chargennormalisierung mit einem mehrschichtigen neuronalen Netz
Erkennung handgeschriebener Zahlen durch ein mehrschichtiges neuronales Netzwerk
[Deep Learning von Grund auf neu] Anfangsgewicht des neuronalen Netzwerks bei Verwendung der Relu-Funktion