Transferlernen

Abgeschlossen

Das Erlernen neuer Fertigkeiten ist oft leichter, wenn Sie bereits über Kenntnisse in Bezug auf eine ähnliche, übertragbare Fertigkeit verfügen. Beispielsweise ist es wahrscheinlich einfacher, jemandem beizubringen, wie man einen Bus fährt, wenn dieser bereits Auto fahren kann. Der Fahrer kann auf den bereits im Auto erlernten Fahrfertigkeiten aufbauen und diese auf das Fahren eines Busses anwenden.

Dieses Prinzip kann mit einer Technik namens Lerntransfer auch auf das Trainieren von Deep-Learning-Modellen angewendet werden.

Funktionsweise von Lerntransfer

Ein Convolutional Neural Network (CNN) für Bildklassifizierung besteht in der Regel aus mehreren Schichten, die Merkmale extrahieren, und einer letzten, vollständig verbundenen Schicht, in der Bilder dann basierend auf diesen Merkmalen klassifiziert werden.

A CNN consisting of a set of feature extraction layers and a fully-connected prediction layer

Konzeptionell besteht dieses neuronale Netz aus zwei verschiedenen Gruppen von Schichten:

  1. Einer Gruppe von Schichten aus dem Basismodell, die die Merkmalsextraktion durchführen
  2. Einer vollständig verbundenen Schicht, die die extrahierten Merkmale für die Vorhersage von Klassen verwendet

Die Merkmalsextraktionsschichten wenden Faltungsfilter und Pooling an, um Kanten, Ecken und andere Muster in den Bildern hervorzuheben, die zur Unterscheidung verwendet werden können. Theoretisch sollte dies für alle Gruppen von Bildern funktionieren, bei denen die Dimensionen denen der Eingabeschicht des Netzes entsprechen. Die Vorhersageschicht ordnet die Merkmale einer Gruppe von Ausgaben zu, die Wahrscheinlichkeiten für alle Klassenlabels darstellen, die Sie für die Klassifizierung der Bilder verwenden möchten.

Durch die Aufteilung des Netzes in diese beiden Arten von Schichten können Sie die Merkmalsextraktionsschichten aus einem bereits trainierten Modell verwenden und eine oder mehrere Schichten anfügen, die die extrahierten Merkmale für die Vorhersage der richtigen Klassenlabels für Ihre Bilder nutzen. Diese Vorgehensweise ermöglicht es Ihnen, die vortrainierten Gewichte für die Merkmalsextraktionsschichten beizubehalten. Dies bedeutet, dass Sie nur die hinzugefügten Vorhersageschichten trainieren müssen.

Es gibt viele bewährte Architekturen für Convolutional Neural Networks für Bildklassifizierung, die Sie als Basismodell für den Lerntransfer verwenden können, sodass Sie auf der Arbeit von anderen aufbauen und leicht ein effektives Bildklassifizierungsmodell entwickeln können.