Systemdesign / Fachinterview embedded-KI

Von der Anwendung, über Algorithmen auf die Hardware

12. April 2019, 10:29 Uhr | Dr. Constantin Tomaras, Ressortredakteur für Systemdesign, DESIGN&ELEKTRONIK
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 3

Validierung & Verifikation

D&E: Praxis-nahes maschinelles Lernen parametriert einen Algorithmus gemäß einer Anwendung, die Parameterzahl passt dabei oft zumindest in eine menschenlesbare Liste. Weshalb fällt der Validierungsaufwand dennoch höher aus, als in der klassischen Programmierung?

FS: Algorithmen, die für KI-Anwendungen eine Rolle spielen, adaptieren sich allesamt zur Laufzeit und passen sich den entsprechenden Umgebungen an. Somit wird das Verhalten der Algorithmen durch die Parameter und auch durch die Trainingsdaten bestimmt und quasi auch parametriert. Dies stellt sich in der Praxis oft insofern als aufwändiger heraus, da für die Evaluierung und Validierung entsprechende Datensätze erzeugt und bereitgestellt werden müssen. Auch die Auswahl, welche Datensätze für die Evaluierung herangezogen werden, hat großen Einfluss auf die Evaluierung- und Validierungsergebnisse.

Ein weiterer Grund für den höheren Aufwand sehen wir darin, dass die Algorithmen so ausgewählt und parametriert werden müssen, dass diese sehr gut verallgemeinern und nicht übertrainiert sind. Ein unter „Laborbedingungen“ bis zum letzten optimierter Algorithmus schneidet in der späteren Anwendung typischerweise viel schlechter ab und produziert mehr Falschmeldungen. Der Grund hierfür ist: in der eigentlichen Anwendung „sehen“ die Daten meist anders aus, als jene mit denen die Algorithmen evaluiert wurden und auch das Verhalten einer Maschine oder Anlage aus datentechnischer Sicht ist schwierig unter allen Umgebungsbedingungen vorherzusagen.

Insbesondere komplexe Algorithmen und Modelle – wie Neuronale Netze oder Random Forests – tendieren durch ihre Mächtigkeit sehr leicht dazu, die Daten einfach auswendig zu lernen. Dadurch können bei neuen Umgebungsbedingungen oder Situationen nur sehr schlecht zuverlässige Vorhersagen gemacht und Zustände robust erkannt werden. Einige Algorithmen bieten über implizite Möglichkeiten einen Trade-off zwischen Genauigkeit auf den Trainingsdaten und Performanz in der Verallgemeinerung einzustellen. Beispiel hierfür wären Regularisierungsparameter bei den Neuronalen Netzen oder Tiefenparameter bei Random Forests.

Ein weiterer Ansatz zur Validierung ist die sogenannte Kreuzvalidierung. Dabei werden typischerweise die Datensätze in Trainings-, Validierungs- und Testdaten unterteilt. Die Trainings- und Validierungsdaten werden dabei für die Parameteroptimierung in der Trainingsphase herangezogen – genauer auf dem Trainingsdatensatz wird der Algorithmus mit bestimmten Parametern trainiert und schließlich auf dem Validierungsdatensatz evaluiert. Die Testdaten werden nicht für die Optimierung der Algorithmen herangezogen, sondern kommen erst bei einer abschließenden Evaluierung zum Einsatz.

Die Validierung von neuronalen Netzen ist üblicherweise NP-vollständig und damit mit enormem Rechenaufwand verbunden. All das macht es natürlich äußerst aufwändig, die entwickelten Algorithmen genau zu evaluieren und zu validieren.

D&E: Genauer: ein vollständiger Verhaltenscheck sollte sich ebenso auf wenige formale Prüfsätze herunterbrechen lassen?

FS: Wir sehen da erst einmal keinen Unterschied. In der klassischen Entwicklung von Algorithmen, Software und Hardware oder allgemein Systemen werden genaue Anforderungen definiert, die mit entsprechenden Prüfkriterien überprüft werden können. Gegen diese Kriterien kann ein System jeglicher Art, unabhängig vom eingesetzten Verfahren, überprüft werden. Hier spielt es keine Rolle, ob ein KI Algorithmus oder ein anderes Verfahren das Ergebnis produziert. Auch diese müssen gewisse Genauigkeiten bei der extrahierten Information, wie beispielsweise der Vorhersage von Schäden oder Erkennung von Zuständen, erfüllen.


D&E: Die Verifikation, also das Identifizieren von Schwachstellen, hat sicherlich ganz andere Herausforderung als die klassische Programmierung: oft sehen Entwickler ein KI-Modul als völlige Black Box an. Können KI-Module dazu, zumindest im Verhalten verstanden werden?

FS: Da haben Sie völlig Recht. Die Verifikation von KI-Methoden kann, je nach verwendetem Algorithmus, äußerst anspruchsvoll bis hin zu unmöglich sein. Nehmen Sie beispielsweise die Klassifzierung von Straßenschildern mittels eines Neuronalen Netzes. Bis dato ist es nicht möglich, genau zu erklären bzw. welche Schwachstellen in der Netztopologie dazu führen, dass beispielsweise bestimmte Schilder in sehr spezifischen Situation komplett falsch klassifiziert werden.

Also, die Fragestellung: Wie muss das Neuronale Netz geändert werden, damit diese sogenannten „blinden Flecke“ für die entsprechende Situation vermieden wird.
 
Allerdings gibt es auch Algorithmen bzw. Methoden, um für bestimmte Anwendungen zumindest zu berechnen, welche Merkmale die KI-Methoden in den Sensordaten als relevant erachten. Dies kann genutzt werden, um das Verhalten der KI-Methoden in bestimmten Situationen zu verstehen.
Beispiel: Im einfachsten Fall können die Gewichte bei einer linearen Regression darauf hindeuten, welche Merkmale für die jeweilige Anwendung relevant sind.


  1. Von der Anwendung, über Algorithmen auf die Hardware
  2. Reaktionsfähigkeit & Hardware-Auswahl
  3. Implementierung
  4. Validierung & Verifikation
  5. System-Optimierung
  6. Hardware-Plattform | EV-COG-AD4050LZ / EV-GEAR-MEMS1Z
  7. Embedded-KI als Fortschritt

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu Analog Devices GmbH

Weitere Artikel zu Künstliche Intelligenz (KI)

Weitere Artikel zu Industrie-Computer / Embedded PC