Sie sind auf Seite 1von 51

1

2
3
4
Im Kontext dieser Vorlesung wird grundsätzlich davon ausgegangen, dass die
Abbildung/der Klassifikator automatisiert (d.h. mit einem Computer oder
Steuergerät) ausgewertet werden kann.

5
Die Problemstellung dieses Beispiels ist die Unterscheidung zwischen Bildern
von Messern, Gabeln und Löffeln anhand der Größen „Umfang“ und „Fläche“
(beide in Pixeln). Wie sich auf der nächsten Folien gleich zeigen wird, ist schon
diese für Menschen anhand der Bilder einfache Aufgabe sehr viel komplizierter,
wenn lediglich die beiden Größen zur Verfügung stehen.

6
Sind lediglich die Messwerte gegeben, so ist die Unterscheidung zwischen
Messern, Gabeln und Löffeln nicht mehr einfach möglich wie anhand der Bilder.
Gerade die Unterscheidung von Messern und Löffeln ist besonders schwierig, da
diese sich in Umfang sowie Fläche stark ähneln.

7
Die Lernstichprobe T wird auch als Datensatz bezeichnet. Die Qualität des
Datensatzes ist entscheidend, da der Lernalgorithmus nur die Daten des
Datensatzes zur Verfügung hat, um eine Approximation zu bestimmen. Sind
beispielsweise fehlerhafte Annotationen im Datensatz enthalten, werden z.B.
Bilder von Gabeln fälschlicherweise als Löffel annotiert, so hat dies auf die
Qualität des Lernalgorithmus einen negativen Einfluss.

8
Im gezeigten Beispiel besteht der Trainingsdatensatz aus N=10 Datenpunkten, die
aus der zugrundeliegenden Funktion sin(2𝜋𝑥) erzeugt wurden aber
rauschbehaftet sind. Ziel der Klassifikation als Funktionsapproximation ist nur
anhand der verfügbaren (Trainings-)Datenpunkte die datenerzeugene Funktion zu
bestimmen und damit auch auf bislang unbekannte Datenpunkte dieser Funktion
zu generalisieren.

Wählt man als Beispiel ein Polynom M-ten Grades, so lassen sich die
Polynomkoeffizienten 𝑤 bestimmen, welche optimal zu den vorhandenen
Trainingsdatenpunkten passen. Die Wahl von M stellt hierbei eine Modellwahl
dar.
Wie sich zeigt, näher sich die Ansatzfunktion zwischen M=0 und M=3 immer
besser an die datenerzeugende Funktion an, obwohl nicht alle Datenpunkte
perfekt auf der approximierten Funktion liegen. Wählt man hingegen M=9, so
liegen alle Datenpunkte perfekt auf der approximierten Funktion. Allerdings
werden neuerzeugte Datenpunkte der datenerzeugenden Funktion nur äußerst
schlecht von dem Polynom 9-ten Grades approximiert. Dieses unerwünschte
Verhalten bezeichnet man auch als Overfitting.

9
Im Beispiel ist zu sehen, dass das Overfitting bereits für M=8 beginnt, da der
Fehler auf dem Testdatensatz gegenüber dem Fehler bei M=7 leicht ansteigt.
Ebenfalls ist zu sehen, dass der Fehler ab M=3 nur leicht sinkt, d.h. M=3 liefert
eine vergleichbare Approximationsgüte zu höheren Polynomgraden und ist in der
Praxis daher meist zu bevorzugen.

10
11
Bemerkung zu den genannten Verfahren:

Bayes-Klassifikator: Idee ist, dass die Entscheidung getroffen wird, welche mit
der maximalen Wahrscheinlichkeit nach dem Bekanntwerden des Eingabevektors
der Eigenschaften (bspw. des Umfangs und der Fläche) korrekt ist. Dieses
Vorgehen basiert auf der Regel von Bayes und ist unter gewissen
Voraussetzungen, die in der Praxis allerdings selten gegeben sind,
warscheinlichkeitstheoretisch optimal.

SVM: Kernidee ist hier, die „Trennlinie“ zwischen den beiden Klassen so zu
wählen, dass der Abstand der Beispiele zur Trennlinie maximal wird, gemittelt
über alle Beispiele.

Neuronale Netze: Hier ist die Idee, die Funktionsweise des menschlichen
Gehirns nachzubilden, d.h. den Klassifikator als ein durch Synapsen verbundenes
Netz von Neuronen zu repräsentieren.

12
13
14
Das künstliche Neuron ist Hauptbestandteil der Zusammensetzung von
künstlichen neuronalen Netzen. Die mathematische Modellierung eines solchen
Neurons ist dabei durch den Aufbau und das verhalten eines biologischen
Neurons motiviert. Während ein biologisches Neuron eingehende
Aktionspotentiale von verknüpften Neuronen über sog. Dendrite sammelt und
aggregiert, wird im künstlichen Neuron die Netzeingabe aus der gewichteten
Linearkombination aller Aktivierungen verknüpfter Eingangsneurone gebildet.
Ähnlich wie das biologische Neuron „feuert“ ein künstliches Neuron erst, wenn
seine Aktivierung einen bestimmten Schwellwert überschreitet.

15
Künstliches Neuron

Die Netzeingabe ist gegeben durch die gewichtete Summe der


Eingangsaktivierungen

𝑛𝑒𝑡 = 𝑥𝑤

Die Ausgangsaktivierung ist dann wiederrum gegeben durch


𝑜 = 𝜑 𝑛𝑒𝑡 − 𝜃

Die Form der Aktivierungsfunktion stellt hierbei einen Designparameter bei dem
Entwurf eines neuronalen Netzes dar, wobei sich in erster Linie eine
Aktivierungsfunktion in der Praxis durchgesetzt hat (siehe nächste Folie).
Während des Trainings veränderbare Parameter stellen die gewichteten
Verbindungen 𝑤 bis 𝑤 sowie der Schwellwert 𝜃 dar. Zur Vereinfachten
Schreibweise wird häufig der Schwellwert 𝜃 mit in den Gewichtsvektor 𝒘
aufgenommen, indem der Eingangsvektor um ein Element mit dem Wert 1
erweitert wird.

16
Lineare Funktionen eignen sich nicht als Aktivierungsfunktionen, da deren
Komposition wiederrum eine einzige lineare Funktion umgewandelt werden kann
und somit für eine mehrschichtige Anordnung ungeeignet sind.

Ursprünglich wurde als Aktivierungsfunktion die Sigmoidfunktion verwendet, da


sie vor allem am besten zur biologischen Interpretation der Feuerungsrate eines
Neuron passt. Dabei „feuert“ ein Neuron überhaupt nicht (Frequenz = 0), mit
maximaler Frequenz (1) bzw. mit einer Frequenz dazwischen. Allerdings wird
diese Aktivierungsfunktion mittlerweile nicht mehr benutzt. Dies liegt in erster
Linie daran, dass die Sigmoidfunktion obwohl für -∞ als auch +∞ in die
Sättigung geht und deshalb Gradienten nahe 0 liefert. Dies führt wiederum dazu,
dass dieses Neuron die Fehlerrückführung über den Gradienten verhindert und
damit stoppt. Zum Anderen ist bei der Initialisierung darauf zu achten, dass
einzelne Neurone nicht schon von beginn an saturieren und damit das Lernen
verhindern.

Der Tangens hyperbolicus bietet gegenüber der Sigmoidfunktion den Vorteil um


Null zentriert zu sein und damit sowohl negative als auch positive Ausgabewerte
zulässt.

In den letzten Jahren hat sich dagegen in der Praxis der Einsatz von sogenannten
Rectified Linear Units in tiefen neuronalen Netzen durchgesetzt. Dies liegt zum

17
Einen an der einfacheren Berechnung der max-Funktion, als auch dem nicht sättigenden
Verhalten dieser Aktivierungsfunktion. So haben Experimente gezeigt, dass sich tiefe
neuronale Netze mit dieser Aktivierungsfunktion schneller trainieren lassen, als die vorher
genutzten Aktivierungsfunktionen.

17
Durch die Aneinanderreihung und Verkettung einzelner Neurone kann ein
künstliches neuronales Netz aufgebaut werden. Dies besteht i.d.R. aus einer
Eingangs- und einer Ausgangsschicht. Dazwischen liegen eine beliebige Anzahl
an versteckten Schichten, welche wiederrum jeweils eine beliebige Anzahl an
Neuronen enthalten können.

Vorwärtsgerichtete Netze
Zur Klassifikation kommen in erster Linie rein vorwärtsgerichtete (feedforward)
Netzwerke zum Einsatz. Deren Eigenschaft besteht darin, dass ein Neuron der
Schicht 𝑙 als Eingang nur Aktivierungen von Neuronen der vorherigen Schicht
𝑙 − 1 empfängt. Anders ausgedrückt: ein Neuron besitzt in Feedword-Netzen nur
gewichtete Verbindungen mir Neuronen aus der direkt davorliegenden Schicht.

Vollverbundene Netze
Als vollverbundenes (fully connected) Netz bezeichnet man ein
vorwärtsgerichtetes Netz, wenn jedes Neuron gewichtete Verbindungen (größer
0) mit allen Neuronen der vorherigen Schicht besitzt.

Rekurrentes Netz
Ein rekurrentes Netz zeichnet sich dadurch aus, dass – entgegen einem
vorwärtsgerichteten Netz – Neurone auch mit Neuronen aus der selben Schicht

18
und auch mit Neurone späterer Schichten verbunden sein kann. Solche Netzstrukturen
werden zur Verarbeitung von Sequenzen benutzt, wie z.b. der Spacherkennung und der
natürlichen Sprachverarbeitung (NLP; Natural Language Processing).

18
19
20
Die Änderung des Gewichts 𝑤 ist durch die partielle Ableitung der
Fehlerfunktion gegeben:
𝜕𝐸
Δ𝑤 = −𝜂 = 𝜂𝛿 𝑥
𝜕𝑤
Wobei 𝛿 dem Fehlersignal des Neurons 𝑗 entspricht und im Falle eines
Ausgabeneurons gegeben ist durch:
𝛿 = 𝜑′ 𝑛𝑒𝑡 𝑐 − 𝑜
Im Falle eines verdeckten Neurons kann das Fehlersignal durch die
nachfolgenden Neurone wie folgt berechnet werden:
𝛿 = 𝜑′ 𝑛𝑒𝑡 𝛿 𝑤

21
Ablauf:
1. Vorwärtsphase: Eingabemuster 𝒙 wird vorwärts durch das Netz propagiert
und alle Aktivierungen berechnet.
2. Fehlerbestimmung: Die Netzausgabe 𝑜 wird mit erwarteter Ausgabe (dem
Lehrersignal) 𝑐 verglichen. Der Fehlerterm des Netzes wird bestimmt.
3. Rückwärtsphase: Der Fehler wird nun rückwärts durch das Netz propagiert
und die einzelnen Gewichte entsprechend ihrem Einfluss auf den Fehler
adaptiert.

22
23
Unter dem Begriff der Bildklassifikation versteht man die Aufgabe einem
kompletten Bild eine einzelne Klasse zuzuweisen.

So wurden die ersten Verfahren verwendet um handgeschriebene Ziffern zu


erkennen (MNIST Datensatz). Der Datensatz enthält 28x28 Pixel große
Graustufenbilder, welche in die 10 Ziffernklassen von 0 bis 9 zu klassifizieren
sind.

In der ImageNet Large Scale Visual Recognition Challenge besteht die Aufgabe
dagegen darin, Bildern die Klasse des im Vordergrund gezeigten Objekts
zuzuordnen. Dabei wird in der Challenge der ImageNet Datensatz verwendet,
welche über 1000 unterschiedliche Objektklassen beinhaltet.

24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
Bei monokularen Bildern ist durch die Abbildungsgleichung (vgl. Kap. 3.1) der
Abstand der Objekte zur Kamera (und damit ihr Abstand zum eigenen Fahrzeug)
verloren gegangen und lässt sich ohne komplexe Verfahren wie die „Monocular
depth estimation“ nicht mehr wiederherstellen. Die 3D-Position detektierter
Objekte ist i.d.R. aber nötig, um fortschrittliche FAS (z.B. Bremsassistenten)
realisieren zu können.

48
49

Das könnte Ihnen auch gefallen