Services
Mit unseren Services ebnen wir Ihnen den Weg in die digitale Zukunft.
Digital Engineering
Wir realisieren digitale Lösungen, mit denen Sie zum Vorreiter in Ihrem Markt werden.
Intelligent Enterprise
Wir beschleunigen Ihre Transformation zu einem intelligenten Unternehmen.
Experience und Design
Für wirkungsvolle Produkte und Services, die Ihre Kunden lieben.
Events & Webinar
Unsere Eventserien
Featured Event
22 - 24 Jan
Booth #SA31 | ExCel, London
Unser jüngster Vortrag
By Kanchan Ray, Dr. Sudipta Seal
60 mins
Über
Nagarro
Wir sind nicht nur exzellenter
Anbieter digitaler
Lösungen sondern gleichzeitig auch
großartiger Arbeitgeber. Erfahren Sie mehr!
Investor
Relations
Informationen zu Finanzdaten
und Unternehmensführung sowie
Berichte, Ankündigungen
und Events für Investoren.
News &
Presse
Was wir tun und worüber
man spricht.
Nachhaltigkeit
Wir achten auf unsere Umwelt.
Erfahren Sie mehr über unsere Initiativen.
Fluidic Enterprise
Über Agilität hinaus: die Verschmelzung von Technologie und menschlichem Scharfsinn.
Wir sind für Sie da
Willkommen in unserer digitalen Welt.
Vielen Dank für Ihr Interesse. Wie können wir helfen?
 
 
Autor
Andrea Kling
Andrea Kling

evolutionKI und Machine Learning revolutionieren unsere Welt: Längst haben personalisierte Kaufempfehlungen, Natural Language Processing und Gesichtserkennung Einzug in unser tägliches Leben gehalten. In anderen Bereichen steht die Nutzung von Künstlicher Intelligenz und Machine Learning noch am Anfang. Klar ist: auch wir Testverantwortlichen werden uns damit auseinandersetzen müssen, was Softwarequalität in diesem Zusammenhang bedeutet.

Als Einstieg in das Thema Qualitätsbewertung für Machine Learning, habe ich daher hier einen kurzen Überblick über die wichtigsten Qualitätskriterien zusammengetragen.

Die Theorien und Mathematischen Grundlagen hinter maschinellem Lernen sind natürlich weitaus umfassender, als sich hier berücksichtigen lässt. Auch finden derzeit viele spannende Entwicklungen statt. Um den Einstieg überschaubar zu halten, beziehe ich mich hier auf das Deep Learning, soweit eine Einschränkung notwendig ist.

 

Was bedeutet überhaupt Machine Learning?

Stark vereinfacht sind typische Problemstellungen, die sich mittels Machine Learning (insbesondere mit Deep Learning) lösen lassen:

  • Erkennen von Mustern in Datenreihen und Vorhersage nächster Werte (z.B. Ableitung von Kaufempfehlungen aus der Einkaufshistorie)
  • Clustern von Datenmengen und Zuordnen zu Kategorien (z.B. bei Bild- bzw. Gesichtserkennung)
  • Erkennung von Abweichungen vom Normalverhalten (z.B. Erkennung von Störeinflüssen im Betrieb)

Für all diese Anwendungen gilt, dass auf Basis einer Menge von Eingabedaten ein Modell trainiert und konfiguriert wird. Mit diesem Modell wird dann die Wahrscheinlichkeit für verschiedene mögliche Ergebnisse ermittelt. Das wahrscheinliche Ergebnis stimmt folglich nicht in jedem Fall mit dem tatsächlich korrekten Ergebnis überein.

Blog_image_2

 

Qualitätskriterien für Machine Learning

Aus den genannten Eigenschaften ergeben sich Qualitätskriterien, die je nach System unterschiedliche Bedeutung haben können:

 

1. Accuracy

Wichtigste Eigenschaft eines Machine Learning Algorithmus ist die Treffgenauigkeit der Kategoriezuordnung bzw. Vorhersage. Die erreichbare Genauigkeit hängt hierbei vom konkreten Problem, vom verwendeten Modell sowie Art und Anzahl der Eingangsdaten ab.

Selbstverständlich ist das Ziel, die höchstmögliche Genauigkeit zu erreichen. Es kann aber sinnvoll sein, eine notwendige Mindestgenauigkeit zu definieren, die erreicht werden muss.

Nehmen wir zum Beispiel ein System zur Erkennung von Betrugsversuchen: Lehnt das System gültige Eingaben als Betrugsversuch ab (False Positive) so kann es schon bei wenigen Fehleinschätzungen zu schlechtem Kundenfeedback kommen.

Falsche Kaufempfehlungen einer Software, die beim Online-Shopping unterstützt, haben hingegen weit weniger Auswirkung.

 

2. Robustness

Ein wichtiger Einflussfaktor für die Ergebnisqualität ist die Robustheit gegenüber unterschiedlichen Eingaben. Hierbei gilt es insbesondere 2 gegensätzliche Probleme zu vermeiden: Bias und Overfitting.

  • Bias liegt vor, wenn Eingaben bevorzugt zu einer Ergebniskategorie zugeordnet werden und hierbei zusätzliche Informationen aus den Eingaben unberücksichtigt bleiben. Man spricht auch von Unteranpassung. In den letzten Jahren gab es einige prominente Beispiele dazu.
  • Overfitting (Overfitting, auch Overtraining) liegt vor, wenn irrelevante oder wenig relevante Eigenschaften in den Entscheidungsprozess einbezogen und übermäßig gewichtet werden. Problem: Bei prognostizierten Werten ergibt sich eine hohe Abweichung von den tatsächlichen Werten, wenn nicht alle erwarteten Eigenschaften übereinstimmen.

Blog_image

Abhängig vom zu lösenden Problem ist die Anforderung an Robustheit gegenüber Rauschen (Noise, irrelevanter Information) und die tatsächliche Varianz in den Eingabedaten sehr unterschiedlich. Aufgrund des bias-variance-tradeoffs lässt sich aber nicht beides gleichzeitig maximieren. Wissen über die möglichen Eingaben und konkrete Qualitätsziele sind daher unerlässlich.

 

3. Lerneffizienz / Anpassung

Wie viele Lernzyklen / Eingabedaten benötigt das System um akkurate Zuordnungen bzw. Vorhersagen zu erreichen? Auch dies ist ein Qualitätskriterium für Machine Learning. Mit jeder neuen Eingabe d.h. mit jedem Lernzyklus korrigiert das System die Gewichtung der Einflussfaktoren. Je nach Modell und Algorithmus erreicht es damit schneller oder langsamer eine optimale Genauigkeit.

Welche Anforderungen an die Lerngeschwindigkeit bestehen, hängt oft damit zusammen, wie viele Daten (labeled und unlabeled) für das Training zur Verfügung stehen. Im Allgemeinen heißt es: auch langsamer lernende Systeme erreichen eine hohe Genauigkeit, wenn sie nur genügend Trainingsdaten zur Verfügung haben. Für bestimmte häufige Probleme, z.B. Bilderkennung, gibt es sogar schon vor-trainierte Modelle.

 

4. Performance

Letztendlich spielt auch die Performance des Systems eine Rolle, d.h. welche Anforderungen werden an Speicher und Rechenleistung gestellt werden, um Preprocessing, Training aber auch die eigentliche Problemlösung in akzeptabler Zeit abzuschließen.

 

Fazit

All das zeigt: es kommen spannende Zeiten auf uns Tester zu. Qualitätskriterien zu definieren und zu kennen ist ein wichtiger Schritt. Sie tatsächlich zu überprüfen, wird eine ganz neue Herausforderung.

Tags

Artificial Intelligence, Software Testing, Accelerated Quality and Test Engineering, Qualitätssicherung, Künstliche Intelligenz

Autor
Andrea Kling
Andrea Kling
Tags

Artificial Intelligence, Software Testing, Accelerated Quality and Test Engineering, Qualitätssicherung, Künstliche Intelligenz