|Neuronale Netze

|Neuronale

 Netze

Für die Objekterfassung nutzen wir bei trafficcounter.de ein künstliches neuronales Netz. Dieses Netz ist dem biologischen neuronalen Netz sehr ähnlich, da versucht wird, die Funktionsweise nachzubilden. Im Folgenden wird auf das biologische sowie das künstliche neuronale Netz eingegangen.

Biologische neuronale Netze

Biologische neuronale Netze

Biologische neuronale Netze, wie die des menschlichen Gehirns, ermöglichen es, aufgenommene Informationen zu verarbeiten. Die Informationsverarbeitung wird von ca. 87 Milliarden Neuronen (Nervenzellen) übernommen, was die Komplexität dieses Vorgangs verdeutlicht. Nervenzellen erhalten ihre Informationen von anderen Nervenzellen über Dendriten. Anschließend werden diese Informationen im Nukleus der Nervenzelle verarbeitet und über das Axon an weitere Nervenzellen weitergeleitet.

Der Lernvorgang entsteht über die Entwicklung neuer Verbindungen, also Verzweigungen zwischen den Nervenzellen.

Künstliche neuronale Netze (KNN)

Künstliche neuronale Netze (KNN)

KNN´s wurden von biologischen neuronalen Netzen inspiriert und danach modelliert. Dabei muss man zwischen künstlicher Intelligenz und neuronalen Netzen unterscheiden. Künstliche Intelligenz wird bei Problemstellungen verwendet, welche sich mathematisch beschreiben und berechnen lassen. Neuronale Netze kommen zum Einsatz, wenn es um Aufgaben geht, welche sich nicht durch mathematische Formeln lösen lassen, wie z.B. die Gesichtserkennung oder die Erkennung von Fahrzeugarten. Für diese Art von Aufgabe muss der Computer in der Lage sein, aus Erfahrungen zu lernen und Zusammenhänge zu erkennen. Zur Bildverarbeitung sind komplexe Muster notwendig, mit denen aus den vorliegenden Rohdaten Informationen extrahiert werden können. Das Lernen, Auswerten und Implementieren dieser zugrundeliegenden Muster ist für Menschen zu komplex. Deshalb wird häufig die Technik des maschinellen Lernens eingesetzt, bei dem der Computer mithilfe eines selbstadaptiven Algorithmus ” lernt“. Dieser trainiert in der Regel ein dem menschlichen Gehirn nachempfundenes künstliches neuronales Netz (KNN).

Aufbau des künstlichen neuronales Netzes

Aufbau des künstlichen neuronales Netzes

Eingaben und Gewichtungen 

Bei den Eingaben (Inputs) handelt es sich z.B. um ein Videoframe. Für die Verarbeitung der Eingaben sind die Neuronen verantwortlich. Wie in der Formel zu erkennen ist, werden die Inputs mit den Gewichtungen multipliziert und anschließend summiert. Diese Summe wird auch Netzwert genannt. 

Eingaben und Gewichtungen 

Bei den Eingaben (Inputs) handelt es sich z.B. um ein Videoframe. Für die Verarbeitung der Eingaben sind die Neuronen verantwortlich. Wie in der Formel zu erkennen ist, werden die Inputs mit den Gewichtungen multipliziert und anschließend summiert. Diese Summe wird auch Netzwert genannt. 

Aktivierungsfunktion

Die Aktivierungsfunktion verbindet die Eingabe und Ausgabe des Neurons. Das Netz kann Grenzwerte einer Entscheidung erlernen. 

Um komplexe Entscheidungen erlernen zu können, muss das Netz nicht lineare Funktionen durchführen können. Das bedeutet, um so komplexer die Verarbeitung des Inputs bis zur Ausgabe erfolgen soll, desto nicht linearer muss das Netz sein. Geeignet ist hierfür die Sigmoidfunktion.  

Aktivierungsfunktion

Die Aktivierungsfunktion verbindet die Eingabe und Ausgabe des Neurons. Das Netz kann Grenzwerte einer Entscheidung erlernen. 

Um komplexe Entscheidungen erlernen zu können, muss das Netz nicht lineare Funktionen durchführen können. Das bedeutet, um so komplexer die Verarbeitung des Inputs bis zur Ausgabe erfolgen soll, desto nicht linearer muss das Netz sein. Geeignet ist hierfür die Sigmoidfunktion.  

trafficcounter

Schichten des Netzwerkes  

Schichten des Netzwerkes  

Fasst man einzelne Neuronen zusammen, erhält man ein neuronales Netzwerk. Bei diesem Netzwerk werden die Ergebnisse immer weiter in eine Richtung gegeben, weswegen diese Art von Netz auch Feed Forward genannt wird. 

Neuronale Netze bestehen aus mehreren Schichten (Layer).

Die Anzahl der Hidden Layer ist dabei variabel und macht das Netzwerk intelligenter. Durch diese Layer können Mustererkennungen immer abstrakter gemacht werden, was auch deep learning genannt wird.

Die Anzahl der Ausgaben steht für die Neuronenanzahl

Architekturen der neuronalen Netze

Architekturen der neuronalen Netze

Für neuronale Netze gibt es mehrere Arten von Architekturen. 

Bei trafficcounter.de nutzen wir das Convolutional Neural Network (CNN), welches aus mehreren hintereinander angeordneten Schichten besteht. Es handelt sich ebenfalls um ein Feed Forward Netzwerk. Jede Schicht führt dabei eine mathematische Operation aus. Die verdeckten Schichten bestehen hauptsächlich aus den sogenannten Convolution- und Pooling-Layern. 

Convolution-Layer: In diesem Layer findet die sogenannte Faltung (engl. Convolution) statt. Diese ist in der Lage, Merkmale wie beispielsweise Objektkanten oder bestimmte Eigenschaften von Objekten, z. B. kreisrunde Reifen von Pkw zu erkennen. 

Pooling-Layer: Bei diesem Zwischenschritt werden redundante Informationen aus den Merkmalsmatrizen zwischen den Convolution-Schichten verworfen, damit ihre Größe reduziert wird. Mit der Zeit sind viele verschiedene Arten des Poolings entstanden. Am häufigsten wird das Max-Pooling mit einer 2×2 großen Filtermatrix und einer Schrittweite von 2 in CNNs implementiert. 

Dieses Convolutional Neural Network ist besonders gut für die Verarbeitung von Bildern geeignet.