Hybrid-Klassifizierung: Was tun, wenn Machine Learning an seine Grenzen stösst
Insights
Geht es um Daten, ist der Begriff Machine Learning meist nicht weit weg, und in der Tat hat sich Machine Learning in vielen unserer Projekte als sehr nützlich erwiesen. Allerdings stossen wir auch gelegentlich an die Grenzen dieser Methode, beispielsweise in Fällen, in denen gewisse Datensätze selten oder schwer zu erheben sind oder die nötige Rechenleistung nicht zur Verfügung gestellt werden kann, was gerade im embedded Bereich durchaus vorkommt. Ein möglicher Ansatz besteht in der Kombination von unterschiedlichen Klassifikations-Modellen (wir nennen das jetzt mal Hybrid Klassifizierung), die ich anhand eines konstruierten aber umgesetzten Beispiels vorstellen möchte.
Für eine mögliche Automatisierung des Systems soll anhand der Bilder einer Kamera erkannt werden, ob ein Roboterarm ein Werkzeug im Greifer hat oder nicht. Um die Erkennung in allen möglichen Fällen verlässlich und korrekt hinzubekommen benötigt ein Machine-Learning-Modell, das die Klassifizierung zwischen ‘kein Werkzeug im Greifarm’ und ‘Werkzeug vorhanden’ durchführen kann, sehr viele Bilder (Trainingsdaten).

Als Modell könnte man beispielsweise ein künstliches neuronales Netzwerk verwenden. Angenommen der Klassifzierungsalgorithmus soll auf einem embedded System mit begrenzter Rechenleistung laufen, könnte so aber die Klassifizieurng nicht ausreichend schnell sein. Klassische Bildverarbeitung wie Template Matching hingegen bietet hier Chancen – kann aber nicht alle Bilder klassifizieren. Ich entscheide mich deshalb für eine Kombination dieser beiden Methoden: Zuerst klassische Bildverarbeitung, die die Mehrheit der Bilder in vernünftiger Zeit klassifiziert, und als zweiten Schritt ein neuronales Netzwerk, das die Bilder zuordnet, die im ersten Schritt nicht klassifiziert werden konnten.

In meinem Beispiel führte dies zu einer korrekten Klassifizierung von 99.9% der Bilder. Gleichzeitig lag damit die durchschnittliche Erkennungszeit zwischen 2 und 3 Sekunden. Ob das ausreichend ist, muss selbstverständlich für jede konkrete Anwendung neu definiert werden.
Dieses Beispiel zeigt, wie klassische Datenverarbeitungsmethoden gemeinsam mit maschinellem Lernen eingesetzt werden können. Komplexe neuronale Netzwerke können sehr vieles lernen, brauchen aber andererseits sehr viele, mit der Klassifizierung annotierte Daten. Mit Template Matching gelingt es, Informationen, die über das Problem bekannt sind, ins Modell einzubauen, und zwar bei geringerem Leistungsaufwand – was je nach Anwendung entscheidend sein kann. Ganz nach dem Motto: «Das Beste aus zwei Welten!»