3
Die Magie des Autoencoders
Den Kern der Lösung bildet ein als Autoencoder bezeichnetes neuronales Netz, das mit einer großen Anzahl von Bildern trainiert wurde. Die Besonderheit dieser Methode besteht darin, dass für das Training des neuronales Netzes ausschließlich Aufnahmen einwandfreier Produkte verwendet werden, ohne jegliche Fehlerklasse. Mit diesem Ansatz kann das erstellte Modell schließlich jede Art von Abweichung vom normalen Produktaussehen erkennen, und zwar sowohl bereits aufgetretene als auch neue Defekte.
Ein Autoencoder, wie hier in Abbildung 1 schematisch dargestellt, ist eine besondere Variante eines künstlichen neuronalen Netzes, das in der Lage ist, durch Unsupervised Learning Codierungen zu erstellen: Der Autoencoder erhält einen Datenwert ohne Angabe von dessen Bedeutung und lernt dann selbstständig, welche Eigenschaften für den Datenwert typisch sind und welche nicht. Ein Autoencoder besteht aus einem Encoder und einem Decoder. Der Encoder erhält die Eingangsdaten und verwandelt diese in eine interne Darstellung. Der Decoder akzeptiert diese interne Darstellung und erstellt die Ausgangsdaten. Der Layer mit der internen Darstellung ist gewöhnlich kleiner als der Ein- und Ausgabe-Layer und wird als Bottleneck Layer bezeichnet.
Die Autoencoder sind darauf trainiert, Ausgabedaten zu generieren, die den Eingabedaten möglichst ähnlich sind. Das Ganze erinnert an einen Vorgang des Kopierens und Einfügens, allerdings mit einem kleinen Geheimnis dazwischen. Das Geheimnis der Autoencoder liegt in den Layern mit der internen Darstellung. Diese Layer bilden einen Engpass (Bottleneck) für die in den Trainingsdaten enthaltenen Informationen. Da die Bottleneck Layer in der Regel viel kleiner sind als die Eingabe-Layer, ist der Autoencoder-Code gezwungen, nur die grundlegenden Dateneigenschaften zu erfassen. Diese Eigenschaft kann zur Erkennung von Anomalien eingesetzt werden: Sobald eine Anomalie auftritt, kann diese vom automatischen Encoder nicht in effizienter Weise nachgebildet werden, weil sich während des Trainingsprozesses in dem neuronalen Netz keine Struktur gebildet hat, die diese Anomalie darstellen könnte. Wenn nun also die Ausgabedaten des Autoencoders mit seinen Eingabedaten verglichen werden, ergibt dies eine erhebliche Differenz und man kann davon ausgehen, dass eine Anomalie vorliegt.
Der Autoencoder führt eine automatische „Zuweisung“ der Defekte durch, sodass deren jeweilige Positionen auf die Art des Defekts hindeuten. Diese Abweichungen können nähere Informationen zur Art des Defekts liefern (beispielsweise „zerbrochen“ oder „eingedellt“).