Grin logo
de en es fr
Shop
GRIN Website
Publicación mundial de textos académicos
Go to shop › Informática - Inteligencia artificial

Modellierung, Implementierung und Strukturvergleich eigener neuronaler Netze zur Handschrifterkennung und Vergleich mit modernen Bibliotheken

Neuronale Netze selbst gemacht!

Título: Modellierung, Implementierung und Strukturvergleich eigener neuronaler Netze zur Handschrifterkennung und Vergleich mit modernen Bibliotheken

Trabajo de Investigación (Colegio) , 2019 , 31 Páginas , Calificación: 0,7

Autor:in: Anonym (Autor)

Informática - Inteligencia artificial
Extracto de texto & Detalles   Leer eBook
Resumen Extracto de texto Detalles

Künstliche Intelligenz und neuronale Netze sind Teil eines der interessantesten Themengebiete der modernen Informatik. Jene sind allerdings recht komplex und vor allem im Detail nicht sehr leicht verständlich. In dieser Facharbeit werden künstliche neuronale Netze von Grund auf modelliert und in Python implementiert. Mit diesem Bottom-Up-Ansatz soll das Konzept und die konkrete Funktionsweise jener Strukturen verständlich werden.

Hierbei wird das Konzept eines künstlichen neuronalen Netzwerks erklärt. Zuerst werden die mathematischen Grundlagen erarbeitet und optimiert. Danach werden Feedforward-Netzwerke in Python selbstständig Schritt für Schritt implementiert und mithilfe des Backpropagation-Algorithmus auf 60000 Abbildungen handschriftlich gezeichneter Ziffern trainiert. Es werden hierbei verschiedene Netzwerkstrukturen analysiert. Mit der Bibliothek TensorFlow werden ebenfalls ähnliche Netze erstellt und mit der eigenen Implementierung verglichen.

Diverse Probleme wie Overfitting und Underfitting werden erläutert und diskutiert.Mithilfe eines Programmes wird die Klassifizierung eigener Zeichnungen ermöglicht und demonstriert. Es wird festgestellt, dass es für jedes Problem eine optimale Netzstruktur geben muss, und dass ein komplexeres Netz nicht zwingend mit einer höheren Genauigkeit verbunden sein muss. Die eigene Implementierung unterscheidet sich von der modernen Bibliothek hauptsächlich im Kriterium Geschwindigkeit (Zeitkosten).

Extracto


Inhaltsverzeichnis

1 Motivation und Schwerpunkt

1.1 Motivation

1.2 Schwerpunkt und Ergebnis

2 Theoretischer Teil

2.1 Was ist ein neuronales Netz?

2.1.1 Neuronen

2.2 Künstliche neuronale Netze

2.2.1 Künstliche Neuronen

2.2.2 Neuronenschichten

2.2.3 Feedforward

2.2.4 Backpropagation

2.2.5 Vorstellung der Bibliothek TensorFlow

2.3 Anwendungsbeispiel Handschrifterkennung

2.4 Erwartungen

3 Praktischer Teil

3.1 Implementierung

3.1.1 Grundlegende Klassenstrukturen

3.1.2 Feedforward-Algorithmus

3.1.3 Backpropagation-Algorithmus

3.2 Analyse

3.2.1 Verschiedene Netzstrukturen

3.3 Verarbeitung selbstständig erstellter Daten (/Zeichnungen)

4 Ergebnisse

4.1 Rechnereigenschaften

4.2 Genauigkeitsverlauf

4.3 Vergleich mit TensorFlow

5 Diskussion

5.1 Differenzen zwischen den Strukturen

5.2 Differenzen zwischen eigenem Netz und TensorFlow-Netz

5.3 Fazit

6 Ausblick

Zielsetzung und Themen

Das Hauptziel dieser Arbeit ist die eigenständige Modellierung und Implementierung eines künstlichen neuronalen Netzwerks (knN) zur Klassifikation handschriftlich gezeichneter Ziffern. Die Forschungsfrage untersucht dabei sowohl die theoretischen Grundlagen als auch die praktische Leistungsfähigkeit verschiedener Netzstrukturen im Vergleich zu einer etablierten Bibliothek wie TensorFlow unter Berücksichtigung von Genauigkeit und Zeitaufwand.

  • Konzept und Funktionsweise künstlicher neuronaler Netze
  • Implementierung von Feedforward- und Backpropagation-Algorithmen in Python
  • Vergleich verschiedener Netzarchitekturen hinsichtlich Lernraten und Genauigkeit
  • Benchmarking der eigenen Implementierung gegenüber TensorFlow
  • Praktische Erprobung des Netzes mittels einer grafischen Benutzeroberfläche zur Ziffernerkennung

Auszug aus dem Buch

2.2.1 Künstliche Neuronen

Künstliche Neuronen sollen ähnlich funktionieren wie ihre biologischen Vorbilder. Die Aufnahme von Impulsen/Signalen wird durch Verbindungen mithilfe von Synapsen realisiert. Eine Synapse verbindet hierbei genau zwei Neuronen miteinander. Jedes Neuron erhält also über Synapsen Werte von anderen Neuronen übergeben. Diese Werte können im reellen, binären oder bipolaren Bereich liegen. Die Synapsen besitzen hierbei ein Gewicht, welches die übertragenen Werte erniedrigt oder erhöht. Die Gewichte können im selben Definitionsbereich liegen, in der Regel werden aber reelle Zahlen aus dem Intervall [-1;1] verwendet. Um zu verhindern, dass Neuronen mit dem Wert 0 passiv werden, erhält jedes Neuron ein sogenanntes Bias, welches zum gewichteten Wert addiert wird. Auch hierfür wird meist eine reelle Zahl aus dem Intervall [-1;1] gewählt. Der Wert, den ein Neuron nach Verarbeitung der Inputs besitzt, wird Aktivierung genannt. Jene wird berechnet, indem der gewichtete Wert durch eine Aktivierungsfunktion Φ verarbeitet wird.

Zusammenfassung der Kapitel

1 Motivation und Schwerpunkt: Einführung in das Themengebiet des Machine Learnings und Darlegung der Zielsetzung, ein eigenes neuronales Netz zur Handschrifterkennung zu implementieren.

2 Theoretischer Teil: Vermittlung der wissenschaftlichen Grundlagen zu neuronalen Netzen, einschließlich der Funktionsweise von Neuronen, Schichten, sowie den Algorithmen Feedforward und Backpropagation.

3 Praktischer Teil: Detaillierte Beschreibung der eigenen Implementierung der Klassenstrukturen, Algorithmen und der methodischen Analyse verschiedener Netzkonfigurationen.

4 Ergebnisse: Präsentation der erzielten Genauigkeitswerte und Vergleich der Leistung zwischen dem selbst entwickelten Netz und der TensorFlow-Bibliothek.

5 Diskussion: Analyse der Unterschiede in den Netzstrukturen, der Einfluss von Lernraten sowie die Auswertung der Effizienz-Differenzen im Vergleich zu TensorFlow.

6 Ausblick: Reflexion der Ergebnisse und Diskussion potenzieller Erweiterungen durch modernere Netzarchitekturen wie rekurrente oder gefaltete Netze.

Schlüsselwörter

Künstliche neuronale Netze, knN, Handschrifterkennung, Feedforward, Backpropagation, Machine Learning, TensorFlow, Python, Gradientverfahren, Netzstruktur, Aktivierungsfunktion, Klassifikation, MNIST, Datensätze, Genauigkeit.

Häufig gestellte Fragen

Worum geht es in dieser Arbeit grundsätzlich?

Die Arbeit befasst sich mit der Entwicklung und Analyse künstlicher neuronaler Netze zur Klassifizierung handschriftlicher Ziffern sowie dem Vergleich einer Eigenimplementierung mit modernen Industriestandards.

Welche zentralen Themenfelder werden behandelt?

Die zentralen Felder umfassen die theoretische Architektur neuronaler Netze, die mathematische Umsetzung von Lernalgorithmen, die programmtechnische Realisierung in Python und die empirische Evaluierung der Performance.

Was ist das primäre Ziel oder die Forschungsfrage?

Das Hauptziel ist es, ein funktionsfähiges knN selbst zu programmieren, dessen Genauigkeit zu optimieren und herauszufinden, wie sich verschiedene Netzwerkstrukturen und Lernraten auf die Klassifikationsleistung auswirken.

Welche wissenschaftliche Methode wurde verwendet?

Es wurde ein empirisch-analytischer Ansatz gewählt, bei dem verschiedene Netzarchitekturen auf dem MNIST-Datensatz trainiert, ihre Genauigkeit gemessen und ihre Effizienz (Zeitkosten) quantitativ ausgewertet wurde.

Was wird im Hauptteil behandelt?

Der Hauptteil deckt die technische Implementierung, die mathematische Herleitung der Gradientenberechnung für die Backpropagation sowie die systematische Analyse verschiedener Schichtenkonfigurationen ab.

Welche Schlüsselwörter charakterisieren die Arbeit?

Wichtige Begriffe sind Machine Learning, Feedforward, Backpropagation, TensorFlow, MNIST, neuronale Netze, Lernrate und Klassifikationsgenauigkeit.

Wie groß war die erreichte Genauigkeit des eigenen Netzes?

Das eigene Netz erreichte nach dem Training mit 60.000 Bildern eine Klassifikationsgenauigkeit von ca. 95,16 % bei unbekannten Datensätzen.

Warum unterscheidet sich die Geschwindigkeit der eigenen Lösung von TensorFlow?

Der Geschwindigkeitsunterschied ist maßgeblich auf die Art der Implementierung zurückzuführen, da TensorFlow auf hochoptimierte Funktionen und native Bibliotheken zugreift, die weitaus effizienter arbeiten als eine grundlegende Python-Schleifen-Implementierung.

Final del extracto de 31 páginas  - subir

Detalles

Título
Modellierung, Implementierung und Strukturvergleich eigener neuronaler Netze zur Handschrifterkennung und Vergleich mit modernen Bibliotheken
Subtítulo
Neuronale Netze selbst gemacht!
Calificación
0,7
Autor
Anonym (Autor)
Año de publicación
2019
Páginas
31
No. de catálogo
V900934
ISBN (Ebook)
9783346219688
Idioma
Alemán
Etiqueta
Künstliche Intelligenz Neuronale Netze Data Science Machine Learning Python KI Artificial Intelligence Neural Networks TensorFlow MNIST selbst gemacht preisgekrönt ausgezeichnet Facharbeit Fachpreis
Seguridad del producto
GRIN Publishing Ltd.
Citar trabajo
Anonym (Autor), 2019, Modellierung, Implementierung und Strukturvergleich eigener neuronaler Netze zur Handschrifterkennung und Vergleich mit modernen Bibliotheken, Múnich, GRIN Verlag, https://www.grin.com/document/900934
Leer eBook
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
Extracto de  31  Páginas
Grin logo
  • Grin.com
  • Envío
  • Contacto
  • Privacidad
  • Aviso legal
  • Imprint