Machine Learning. Je nachdem wie tief man in die Materie einsteigen will, muss man sich vorher mit Formen der Merkmalsextraktion sowie mit künstlichen neuronalen Netzen beschäftigen. Deep Learning bedeutet nämlich im Grunde folgendes:
- Ein mehrschichtiges künstliches neuronales Netz (multi layer)
- Jede Schicht (Layer) hat eine bestimmte Funktion & führt verschiedene Operationen aus
- Man entwirft verschiedene Architekturen dieser Netze – verschiedene Verschaltungen von Layern
- INPUT [32x32x3] Funktioniert im Grunde ähnlich wie eine Retina. Die Matrix in diesem Layer besteht aus den RGB-Bildpunkten (3) und entspricht der Größe des Bildes in diesem Beispiel: 32×32 Pixel. [caption id="attachment_4849" align="alignright" width="300"] Quelle: Wikipedia[/caption]
- CONV (Convolutional Layer) Dieser Layer berechnet Features für lokale Regionen im Input. Die meistgenutzte Funktion hier ist ein Skalarprodukt der Werte in den verschiedenen Regionen berechnet. Setzt man 12 verschiedene Filter ein, erhält man 12 Ergebnismatrizen. Dieser Dieser Layer produziert also eine Matrix mit den Dimensionen: [32x32x12].
- RELU (Rectified Linear Unit) In diesem Layer werden relativ simple Funktionen angewendet, ähnlich wie max(x, 0). Werte werden hier nicht verändert, dafür aber eventuell auf einen Threshold-Wert gesetzt. Wir erhalten also wieder eine Matrix mit den Dimensionen [32x32x12].
- POOL (Pooling) wird genutzt, um ein Downsampling auszuführen. Für POOL gibt es verschiedene Operationen, eine davon ist Max-Pooling- Dabei wird aus einer n x n Matrix der größte Wert gewählt. Beispielsweise mit dem Output [16x16x12]. Das entspricht einem Faktor von 0.5.
- FC (fully connected) In diesem Layer sind alle Neuronen einer Schicht miteinander verbunden. Hier passiert auch der meiste Lernaufwand. Für den Fall, dass ein Netz zwischen 10 Klassen entscheiden muss, wären die Dimensionen hier [1x1x10].