Abspielen

Maschinelles Lernen macht Autos smarter

Innovative Funktionen werden über Software realisiert, in der oftmals Software-Artefakte implementiert wurden, die mittels maschinellem Lernen erstellt wurden. In unserem Video erfahren Sie, wie sie maschinelles Lernen zuverlässig und sicher in Ihre Produktentwicklung integrieren können.

Zurück zu Automotive SPICE

Auf einen Blick

Die umfangreichen Informationen zum Machine Learning Engineering können Sie in unserem kostenlosen Whitepaper herunterladen. 

Die Stärke des maschinellen Lernens ist die schnelle Mustererkennung. In der Automobilelektronik ist diese Fähigkeit ein großer Vorteil. Anwendungen, Funktionssoftware oder auch Sensoren und Aktoren profitieren davon, dass maschinelle Lernmodelle Muster schneller erkennen als Menschen. Maschinelles Lernen ist, vereinfacht gesagt, eine Form der künstlichen Intelligenz, die dazu dient, Geräte intelligenter zu machen. Wir brauchen diese Fähigkeiten für fortschrittliche Fahrerassistenzsysteme oder autonomes Fahren, aber es wird auch in anderen Systemen eingesetzt, z. B. für Vorhersagen über Verschleiß.

Automotive SPICE for Machine Learning Engineering, der Standard für maschinelles Lernen zeigt, wie man ML-basierte Anwendungen zuverlässig und sicher bei der Entwicklung von Automobilelektronik einsetzen kann. Dieser Standard ergänzt und vertieft die Anwendung von Automotive SPICE. Er bietet somit einen Ansatz zur Unterstützung der Qualitätsentwicklung und damit eine zuverlässige Basis für Funktionale Sicherheit, SOTIF und Cybersecurity. 

Wir sind für Sie da.

Benötigen Sie Unterstützung für Ihr Projekt? Wir sind Ihre Ansprechpartner rund um Managementberatung und Verbesserungsprogramme in der Elektronikentwicklung.

Steffen Herrmann und das Sales-Team

Machine Learning Engineering im Überblick

ML für Einsteiger: Wie unterscheiden sich künstliche Intelligenz, maschinelles Lernen, neuronale Netze und Deep Learning voneinander?

In der Literatur finden Sie viele verschiedene Erklärungen und Kategorisierungen von künstlicher Intelligenz (KI). Wir verwenden in diesem Zusammenhang die folgende, die sich auf bestehende Anwendungen bezieht.

Künstliche Intelligenz ist der Oberbegriff. Die derzeit heiß diskutierten Chatbots gehören in diese Kategorie. Im Zentrum steht dabei ein sogenanntes Basismodell. Dabei handelt es sich um ein vortrainiertes Sprachmodell. Dieses große neuronale Netzwerk wurde auf riesigen Mengen von Textdaten trainiert, typischerweise mit unüberwachten Lerntechniken. Auf der Grundlage dieses Datenkorpus kann ein Chatbot Antworten auf Fragen generieren, die ihm von einem Menschen gestellt werden. KI verwendet zu diesem Zweck statische Wahrscheinlichkeiten.

Im mittleren Kreis sind wir bereits beim maschinellen Lernen (ML) angelangt. ML ist eine Teilmenge der künstlichen Intelligenz. Auch hier werden Algorithmen auf der Grundlage der bereitgestellten Daten erstellt. Diese werden eingesetzt, um eine Maschine, d.h. Anwendungssoftware oder Komponenten, leistungsfähiger zu machen. In der Automobilelektronik sorgt das maschinelle Lernen beispielsweise für die Fähigkeit, Verkehrszeichen zu erkennen und zu interpretieren.

Der innere Ring - Deep Learning (DL) - ist eine Teilmenge des maschinellen Lernens. Hier ist der Algorithmus komplexer und es werden sogenannte neuronale Netze verwendet, die die Struktur der Neuronen im Gehirn simulieren.

Am Anfang steht ein Problem, das wir mit maschinellem Lernen lösen wollen. Es sollte ein Problem sein, bei dem Muster verwendet werden können. Für dieses Problem sammeln wir repräsentative Daten. Die Entwickler oder, wenn es komplexer ist, die Organisation müssen eine große Menge an Beispieldaten sammeln, zum Beispiel Verkehrsschilder. Jetzt kommt der Algorithmus ins Spiel: Er überträgt die gegebenen, unstrukturierten Informationen aus einem Datensatz in ein standardisiertes Format.

Aus der Perspektive des maschinellen Lernens ist es wichtig zu verstehen, dass kein Mensch dieses Software-Artefakt selbst programmiert. Der Algorithmus optimiert und verfeinert sich selbst durch den Trainingsprozess. Durch diesen Prozess versucht er, sich dem Verhalten von Beispielen anzunähern und aus ihnen sinnvolle Muster zu lernen. Es gibt jedoch nicht nur einen Algorithmus, sondern unzählige Möglichkeiten, das Ziel zu erreichen. Die Ingenieurin für maschinelles Lernen wählt den am besten geeigneten Kandidaten für die weitere Verwendung aus.

Im Wesentlichen destilliert der Algorithmus selbständig Anweisungen aus dem Datensatz. Deshalb nennt man es auch maschinelles Lernen: Der Algorithmus lernt selbst, wie er die gegebenen Daten in Informationen strukturieren kann. Damit das Training zum gewünschten Ergebnis führt, wird dem Algorithmus mitgeteilt, wie er die Umgebung aus technischer Sicht zu interpretieren hat. In unserem Beispiel, der Verkehrszeichenerkennung, kann er Muster erkennen, indem er die Farbverteilung analysiert und die wahrscheinlichsten Verkehrszeichennamen zuordnet.

Dieses Training ist ein iterativer Prozess. Ingenieure für maschinelles Lernen überprüfen den Algorithmus regelmäßig: Kann er die Trainingsdaten bereits so strukturieren, dass er sie den Namen der Verkehrsschilder zuordnen kann? Dann wird der Algorithmus mit zusätzlichem Trainingsmaterial verfeinert.  Dies geschieht so lange, bis das Endergebnis ein robustes Modell ist. Die Ingenieure setzen den Algorithmus den Daten aus und überprüfen die Ergebnisse. Dies ist ein F&E-Ansatz mit Versuch-und-Irrtum-Zyklen.

Das Modell ist ein Artefakt, das alle Informationen enthält. Dieses Modell kann dann in die Anwendungssoftware implementiert werden. Das Modell enthält zum Beispiel einen Entscheidungsbaum, der uns sagt, wie die Bildfarben mit den verschiedenen Verkehrszeichen verknüpft sind.

Das Modell wird anhand eines unabhängigen Datensatzes verifiziert, um sicherzustellen, dass Sie das Modell nicht anhand der Daten, sondern anhand der möglichen Situationen in der tatsächlichen Umgebung trainieren.

Da die Software nicht von einem Menschen geschrieben wurde, bildet sie eine Blackbox: Der Algorithmus liefert ein Ergebnis, das Modell. Die Struktur dieses Modells ist jedoch nicht mit vertretbarem Aufwand zu verstehen. Wir stehen also vor der Herausforderung, zuverlässige Software für ein sicherheitskritisches System schreiben zu müssen - und wissen nicht, wie es funktioniert. Aus Sicht der Qualitätssicherung ist das inakzeptabel.

Mit dem Einzug von Modellen des maschinellen Lernens in die Fahrzeugsoftware und in das Backend stehen wir vor einer neuen Herausforderung in Bezug auf die Qualität, aber sicherlich auch in Bezug auf die funktionale Sicherheit und die Cybersicherheit. Der Grund liegt im Entwicklungsansatz des maschinellen Lernens.

Die herkömmlichen Prozesse, die von Standards wie Automotive SPICE bereitgestellt werden, funktionieren nicht in Verbindung mit maschinellem Lernen. Bei der konventionellen Entwicklung beschreiben Sie die Anforderungen: Was soll die Software leisten. Dann entwerfen Sie die Architektur - eine Lösung, wie Sie Ihre Software organisieren würden, um diese Funktionen bereitzustellen. Schließlich definieren Sie für jede Einheit die Details, die in den Code implementiert werden müssen. Entlang dieser Detailstufen führen Sie eine Reihe von Tests durch. Beim maschinellen Lernen gibt es keine solchen formalisierten Tests. Sobald der Entwickler mit dem Ergebnis zufrieden ist, das die vordefinierten Kriterien erfüllt, wird der Algorithmus getestet und freigegeben. Die Verifizierung und das Testen des maschinellen Lernens basiert daher hauptsächlich auf der Kennzeichnung der Daten, dem Training, dem Anti-Bias und der Sicherstellung, dass die KPIs erfüllt werden.

Aus Sicht der Qualitätssicherung benötigen wir einen zuverlässigen und systematischen Ansatz. Wir gehen diese Frage an, indem wir uns den Trainings-, Verifikations- und Testprozess wie die Schalen einer Zwiebel vorstellen. Diese Zwiebel veranschaulicht die festgelegte Reihenfolge sowie die Abhängigkeiten.

Im Herzen dieser Zwiebel sehen wir den Algorithmus. Dieser wurde von der Ingenieurin für maschinelles Lernen für die gewünschte Funktionalität konfiguriert. Diese Anpassung kann z. B. die Anzahl der neuronalen Verbindungen, der sogenannten Knoten, steuern. Wenn eine Aktualisierung des Algorithmus erforderlich ist, muss er neu trainiert und überprüft werden. Zusammen bilden die beiden Schalen das trainierte Modell. Die Prüfung des Modells erfolgt dann auf diesen beiden Schalen.

Da das Modell auf Trainingsdaten basiert, ist die Datenqualität natürlich ein zentrales Thema. Im Diagramm sehen wir, dass es einen separaten Prozess gibt, der sich mit den Daten befasst. Wie die Technik des maschinellen Lernens in der Praxis funktioniert, können wir anhand des neuen Standards für maschinelles Lernen sehen.

Prozesse für Software-Artefakte, die durch maschinelles Lernen erstellt werden, sind Software-Prozesse. Daher basiert der ASPICE-Standard auf den Software-Engineering-Prozessen. Im Anforderungsprozess SWE.1 werden die Anforderungen an die zu erstellende Software formuliert, wie dies bei jeder Software für die Automobilelektronik der Fall ist. Dazu werden die relevanten Systemanforderungen in eine Gruppe von Software-Anforderungen transformiert - einige davon betreffen dann Software-Artefakte, die mit maschinellem Lernen erstellt werden sollen. Welche das sind, regelt die Software-Architektur, SWE.2.

Und damit kommen wir zum maschinellen Lernen. Da die Softwareartefakte von einem Algorithmus erzeugt werden sollen, benötigen wir spezielle Verfahren, die den klassischen Softwarefeinentwurf ersetzen.

Oben links auf dem imaginären V befindet sich der Anforderungsanalyse-Prozess  für maschinelles Lernen (MLE.1). Aufgabe dieses Prozesses ist es, aus den Software-Anforderungen spezielle Anforderungen an das maschinelle Lernen zu ermitteln.

An diesen Prozess schließt sich die Architektur für maschinelles Lernen an (MLE.2). In diesem Prozess geht es um die ML-Architektur, die das Training und die Erstellung des Algorithmus unterstützt, aber auch um andere Software, die möglicherweise erforderlich ist, wie zum Beispiel Pre- und Post-Processing-Software.

Und damit kommen wir zur rechten Seite des V-Modells, zum eigentlichen Training des Algorithmus. Es ist von entscheidender Bedeutung, dass das Modell nicht nur leistungsfähig ist, sondern vor allem die festgelegten Anforderungen erfüllt. Wie erwähnt, ist das Training ein systematischer Ansatz auf Trial-and-Error-Basis (MLE.3).

Beim Testen muss dann sichergestellt werden, dass sowohl das trainierte ML-Modell als auch das schließlich implementierte ML-Modell die Vorgaben der Anforderungen an das maschinelle Lernen erfüllen. Wir unterscheiden hier zwischen dem trainierten Modell, das verifiziert wurde, und dem implementierten Modell, das in der eigentlichen Software des Systems verwendet werden kann (MLE.4).

Beim Software-Integrationstest (SWE.5) werden dann alle Artefakte integriert und gemeinsam getestet. Hier kommen alle Artefakte zusammen, unabhängig davon, ob sie auf herkömmliche Weise kodiert oder mit einem maschinellen Lernansatz trainiert wurden.

Die Frage nach der Datenqualität ist damit aber noch nicht beantwortet. Dies ist der Zweck des neuen Unterstützungsprozesses SUP.11. Beim ML-Datenmanagement geht es darum, die für das maschinelle Lernen relevanten Daten gemäß den ML-Datenanforderungen zu definieren und ihre Integrität sicherzustellen.

Wir haben dies nur in einem unterstützenden Prozess behandelt. Das Datenmanagement ist jedoch eine sehr komplexe Aufgabe, die oft von großen Gruppen innerhalb einer Organisation bearbeitet wird. Daher gibt es eine eigene Arbeitsgruppe, die ein eigenes Prozessbewertungsmodell "Datenmanagement" entwickelt hat.

Automotive SPICE v4.0 - Was umfasst die neue Version?

Seit Ende 2023 ist Version v4.0 von Automotive SPICE® veröffentlicht. Wir zeigen Ihnen, welche Änderungen dies für die Prozesse in Ihrem Entwicklungsteam bedeutet!

Schlüsselerkenntnisse

Mit der Version 4.0 von Automotive SPICE wird das maschinelle Lernen Teil dieses Vorgehensmodell. In Verbindung mit der konventionell entwickelten Software kann die Entwicklung von maschinellem Lernen nun unter Qualitätsgesichtspunkten betrachtet werden. Dies wird eine gute Grundlage für funktionale Sicherheit und Cybersecurity sein.

Wir unterstützen Sie dabei,

  • die Schlüsselprozesse Ihrer Entwicklungseinheit mit Automotive SPICE® auf die erforderliche Reife zu bringen.
  • bestehende Arbeitsabläufe und Vorgehensweisen systematisch zu verbessern.
  • den Stand Ihrer Prozessverbesserungen per Assessment oder Gap-Analyse zu bewerten.
  • die Anforderungen von Automotive SPICE® im Einklang mit Security, Funktionaler Sicherheit und agilen Methoden zu erfüllen.
  • Ihre Mitarbeiterinnen und Mitarbeiter intensiv zu schulen und zu Assessoren auszubilden.

Download Whitepaper