05 CNNs Flashcards

1
Q

Faltung

A

Das “Convolution” in Convolutional NNs

In diesem Fall: diskrete Faltung

Bekannt aus der Bildverarbeitung.

  • Kantenfilter
  • Bildglättung
  • Bildschärfung
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Datenfluss im Netz

A

Daten werden in Form von Feature Maps von Layer zu Layer übertragen

  • Jeder Layer erhält als Eingabe r Feature Maps (mxm)
  • Im Input Layer gilt: Feature Maps = Eingabebild (RGB: mxmx3)
  • Alle Feature Maps zwischen zwei Layern entsprechen einem Tensor
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Pooling Layer

A

Zusammenfassung kleiner Bildbereiche

Max Pooling / Mean Pooling / Stochastic Pooling

Nutzen:

  • lokale Translationsinvariant
  • Invarianz gegen leichte Veränderungen und Verzerrungen
  • Datenreduktion
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Convolutional Layer

A

Anwendung von Faltungsoperationen auf die Eingabe

Faltung erfolgt auf beliebigen Schichten der Eingabe

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

LeNet

A

Entwickelt zur Handschrifterkennung

7 layer

  • 2xConvolution
  • 2xSubsamling(Pooling)
  • 3x fully connected NN
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Activation Layer

A

Nichtlineare Aktivierung
z.B. ReLU (nicht Sigmoid oder Tanh)

Einsatz: nach Convolutional Layer (teilw. als teil des conv-layer gesehen)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Hierarchische Features

A

bedingt durch die Architektur der CNNs

Feaure eines Layers basieren auf den Ausgaben der Features des vorherigen Layers

Eingabebild –> Low level Features –> Mid level features –> high level features –> klassifikator

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Labeling von daten

A

Effizient für Training:
One Hot Encoding - ein vektor pro feature

1000: Auto
0100: Fahrrad
0010: Ample

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Loss (Fehlerfunktion)

A

Misst die aktuelle Güte des Modelles

Der Loss über alle Daten entspricht dem Durchschnitt der Losse über die einzelnen Daten

L = 1/N Summe(L_i (f(x_i,W),y_i)

Wahl der Fehlerfunktion beeinflusst die Eigentschaften des Modells

  • Cross Entropy
  • SoftMax
  • Mean Squared Error (MSE)
  • Mean Absolute Error (MAE)
  • Mean Squared Logarithmic Error (MSLE)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Grandient Descent Varianten

A

Batch Gradient Descent:

  • Ein Update über den gesamten Trainingsdatensatz
  • Langsame Konvergenz bei großen Datensätzen

Stochastic Gradient Descent:

  • Ein Update pro Trainingsdatum
  • Sprunghaftes Lernen

Mini Batch Gradient Descent

  • Ein Update pro “Mini Batch”
  • KOmpromiss mit Stellgröße Mini Batch Size

Momentum SGD:
* Berücksichtigung des vorherigen Updates als Momentum

Nesterov:

  • Bewegung in die ungefähre Richtung
  • Dort Gradientenbestimmung
  • “Vorausschauen” möglich

AdaGRAD:

  • Erlaubt ein Anpassen der Lernrate basierend auf den Parametern
  • kein manuells Anpassen der Lernrate nötig
  • Aber: Lernrate wird mit fortschreitendem Training kleiner, immer!

AdaDelta:
* AdaGRAD ohne verschwindende Lernrate

Adaptive Movement Estimation (ADAM)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Fully Convolutional Networks (FCN)

A

Konvertierung der Fully Connected Schichten in Convolutional Schichten

Netze äquivalent bei gleicher Eingabegröße

Im Gegensatz zu Fully Connected CNNs Eingabe größe nicht fix. Größere Eingabebiilder möglich

Ausgabe eines FCN:

  • Eine Wahrscheinlichkeiskarte pro Klasse (statt wert)
  • Gibt die Wahrscheinlichkeit dafür an, dass ein Bereich/Pixel im Bild zur entsprechenden Klasse gehört
  • Größe eines Bereichs abhängig von der Netzarchitektur
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Upsampling Methoden

A

Nearest Neighbor:

  • Einfaches Ausfüllen der hinzugefügten Felder
  • –> “Unschärfe”

Bed of Nails:

  • Einfügen an vorgegenbenen Punkten
  • –> Ungenauigkeit im Netz

Max Unpooling:

  • Speichern der Location beim Pooling
  • Rekonstruktioin anhand dieser Locations
  • –> kein Zugewinn an Information

Tiling:

  • Lernen verschobener Sichten in zusätzlichen Filtern
  • –> Steigerung der Präzision
  • –> Aber: Steigerung der Parameteranzahl
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Objektdetektion klassisch

A

Auswahl von Regionen

Extraktion von Features

Klassifikation der Regionen durch einen Klassifikator

Möglichkeiten zu Regionsauswahl:

  • Sliding Window + Pyramid (mehrere millionen Regionen, je nach Bildgröße)
  • Interest Point Detektor (Meist mehrere 100 bis 1000 Regionen)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Objektdetektion mit CNNs

A

CNNs in klassische Pipeline:

  • sog. “two stage” Ansätze
  • Eine Netzausführung pro Region
  • Zeitintensiv
  • Ausführungszeit vorab nicht bekannt

Möglichkeiten zur Verbesserung

  • Bessere Regionsauswahl
  • Berechnen von Features über das gesamte Bild
  • Direkte Detektion im CNN

Fast R-CNN

  • Two-Stage Ansatz
  • Berechnung der Features vorab
  • Extraktion der Regionen aus den Feature Maps
  • Klassifikation in weiterem CNN

Faster R-CNN
* Region Proposal durch das CNN

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

One Stage - Bounding Box Regression

A

Bisher:

  • Ausgabe einer Wahrscheinlichkeit pro Klasse für jede Region / Pixel
  • Segmentierung anhand der Wahrscheinlichkeitskarten

Jetzt:

  • zusätzliches Vorhersagen einer Objekt-Bounding Box pro Region
  • Bounding Box ist klassenunabhängig
  • Anhand der extrahierten Features
  • Vorhergesagte Bounding Box im Field of View der entsprechenden Region
  • Overfeat, YOLO, SSD
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Datenepräsentation

A

Klassen:
* Analog zur Segmentierung: One Hot Encoding

Bounding Box:

  • Minimale 2D Box, die das Objekt umschließt
  • Mögliche Kodierungen
  • ** 2 Gegenüberliegende Eckpunkte
  • ** 1 Eckpunkt + Höhe + Breite
  • ** Mittenpunkt + Höhe + Breite

Anchor Box:

  • (durchschnittliche Objektgröße pro objektgröße, pro stelle. das netzt lernt dann wie weit so eine box abweichen kann)
  • Vereinfachung der Repräsentation im Trainingsprozess
  • Definition von 1-n Standard-Objektboxen (Berechnet anhand der Labels im Trainingsset)
  • Netzausgabe ist der Abstand zur Anchor Box
  • Mit n Anchor Boxes: n Bounding Box Schätzungen pro Region
17
Q

MultiTask Netzwerke

A

Berechnungen wie Feature Extraction teilen : Dann erst aufspalten in verschiedene Netze pro Aufgabe

CNN Encoder

  • Input: Bilddaten
  • Output: Encoded Features
  • -> Classification Decoder
  • Input: Encoded Features
  • Output: Classification of entire picture
  • -> Detection Decoder
  • Input: Encoded Features
  • Output: Bounding boxes with classifications
  • -> Segmentation Decoder
  • Input: Encoded Features
  • Output: Segmentation with classfication of each segment
18
Q

Generelle Architektur von MultiTask CNNs

A

Feature Extraction:

  • beinhaltet Features für alle Tasks
  • Allgemeine Netzarchitektur zur Extraktion von Features
  • Gemeinsame Verwendung der Features

Einzelne Heads:

  • Pro Task ein Head
  • Enthält wenige Task-spezifische Layer
  • Verantwortlich für das Ergebnis in diesem Task
19
Q

Multitask CNN - Training

A

Unabhängiges Training der Tasks

  • Nacheinander („Vergessen“ des im vorigen Training gelernten Tasks=
  • Abwechselnd (Evtl. Neutralisieren des Trainingsfortschrittes einzelner Tasks)

Gewichtung der Tasks

  • Statische Gewichtung
  • ** Meist instabil (Unterschiedliche Konvergenzgeschwindigkeit der Tasks)
  • ** Manuelles Tuning der Gewichte notwendig
  • Gewichtung durch Unsicherheiten

Gewichtung der Trainingsdaten

  • Focal Loss
  • Automated Focal Loss
20
Q

Unsicherheiten

A

Epistemische Unsicherheit

  • Unsicherheiten durch fehlende Daten
  • Daten reichen nicht aus, um aus ähnlich gut performenden Modellen das beste zu finden
  • Kann durch neue Daten verringert werden

Alatorische Unsicherheit

  • Unsicherheit durch verrauschte Daten
  • Kann NICHT durch neue Daten verringert werden
  • 2 Varianten:

Alatorisch Heteroskedastische Unsicherheit

  • Abhängig von den Eingabedaten
  • Konstant über verschiedene Aufgaben
  • Variiert über verschiedene Eingaben

Alatorisch Homoskedastische Unsicherheit

  • Abhängig von der Aufgabe
  • Konstank über verschiedene Eingaben
  • Variiert über verschiedene Aufgaben
21
Q

Focal Loss

A

Gewichtung des Einflusses einzelner Trainingsdaten auf den Loss
* je “einfacher” das Datum, desto geringer der Einfluss

Nachteil:

  • Neuer Hyperparameter gamma
  • Manuell pro Datensatz festgelegt
22
Q

Automated Focal Loss

A

Automatische Berechnung von gamma

Anpassung während des Trainings

  • Fokus zu Beginn auf “sehr schweren” Trainingsdaten
  • später Fokus breiter
23
Q

3D Objektdetektion

A

Ziel: Detektion der Position und Ausprägung von Objekten

Bisher: 2D Ojbketdetektion in Bildkoordinaten
* Nachteil: Keine eindeutige Zuordnung zu Position in Weltkoordinaten möglich

Jetzt: 3D Ojektdetektion in 3D Kamerakoordinaten
* Liefert Wissen über den genauen Standort eines Objektes

24
Q

3D Objektrepräsentation - Parameter

A

Bildkoordinaten der Region

Entfernung des Objektes zur Kamera

Orientierung

3D Ausdehnung

25
Q

3D Objektrepräsentation - Lernprozess

A

Interpretation der einzelnen Parameter als Tasks

Training analog zu MultiTask Netzen

Verwendung von Automated Focal Loss und Unsicherheiten

Anpassungen

  • Orientierung in sin() und cos()
  • Distanz auf [0,1] normiert