Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR TRAINING AN ARTIFICIAL NEURAL NETWORK
Document Type and Number:
WIPO Patent Application WO/2024/023091
Kind Code:
A1
Abstract:
The invention relates to a method for training an artificial neural network, wherein the method (1) comprises the following steps: providing training data for training the artificial neural network (2); and training the artificial neural network based on the training data and information about an output of the artificial neural network processing process (3).

Inventors:
GONZALEZ MELENDEZ ERICK GIOVANNI (DE)
Application Number:
PCT/EP2023/070579
Publication Date:
February 01, 2024
Filing Date:
July 25, 2023
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BOSCH GMBH ROBERT (DE)
International Classes:
G06N3/084; G05B13/02; G06N3/09
Foreign References:
US20210207306A12021-07-08
DE102019217300A12021-05-12
Other References:
AKESSON ET AL: "A neural network model predictive controller", JOURNAL OF PROCESS CONTROL, OXFORD, GB, vol. 16, no. 9, 1 October 2006 (2006-10-01), pages 937 - 946, XP005637007, ISSN: 0959-1524, DOI: 10.1016/J.JPROCONT.2006.06.001
Download PDF:
Claims:
Ansprüche

1 . Verfahren zum Trainieren eines künstlichen neuronalen Netzes, wobei das Verfahren (1) folgende Schritte aufweist:

Bereitstellen von Trainingsdaten zum Trainieren des künstlichen neuronalen Netzes (2); und

Trainieren des künstlichen neuronalen Netzes basierend auf den Trainingsdaten und Informationen über einen Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozess (3).

2. Verfahren nach Anspruch 1 , wobei der Schritt des Trainierens des künstlichen neuronalen Netzes (3) folgende Schritte aufweist:

Bestimmen einer Kostenfunktion basierend auf den Trainingsdaten und den Informationen über den Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozess; und

Trainieren des künstlichen neuronalen Netzes basierend auf der bestimmten Kostenfunktion (4).

3. Verfahren nach Anspruch 2, wobei der Schritt des Bestimmens der Kostenfunktion basierend auf den Trainingsdaten und den Informationen über den Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozess folgende Schritte aufweist:

Während des Trainierens des künstlichen neuronalen Netzes, Erzeugen von Ausgaben des künstlichen neuronalen Netzes (5); Basierend auf den erzeugten Ausgaben des künstlichen neuronalen Netzes, jeweils Erzeugen von Ausgaben des Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozesses (6);

Für alle erzeugten Ausgaben des Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozesses, jeweils Überprüfen ob die entsprechende Ausgabe innerhalb eines durch den Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozesses erwarteten Bereiches liegt (7); Jeweils Gewichten der erzeugten Ausgaben des künstlichen neuronalen Netzes basierend darauf, ob die basierend auf der entsprechenden Ausgabe des künstlichen neuronalen Netzes erzeugte Ausgabe des Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozesses innerhalb des durch den Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozesses erwarteten Bereiches liegt; und

Bestimmen der Kostenfunktion basierend auf den Trainingsdaten und den gewichteten Ausgaben des künstlichen neuronalen Netzes. Verfahren nach einem der Ansprüche 1 bis 3, wobei die Trainingsdaten Sensordaten aufweisen. Verfahren zum Überprüfen von durch ein Fertigungsverfahren gefertigten Produkten basierend auf einem künstlichen neuronalen Netz, wobei das Verfahren folgende Schritte aufweist:

Bereitstellens eines künstlichen neuronalen Netzes zum Überprüfen der gefertigten Produkte, wobei das künstliche neuronale Netz durch ein Verfahren zum Trainieren eines künstlichen neuronalen Netzes nach einem der Ansprüche 1 bis 4 trainiert wurde; und Überprüfen der gefertigten Produkte basierend auf dem bereitgestellten künstlichen neuronalen Netz. System zum Trainieren eines künstlichen neuronalen Netzes, wobei das System (10) eine Bereitstellungseinheit (11), welche ausgebildet ist, Trainingsdaten zum Trainieren des künstlichen neuronalen Netzes bereitzustellen, und eine Trainingseinheit (12), welche ausgebildet ist, das künstliche neuronale Netz basierend auf den Trainingsdaten und Informationen über einen Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozess zu trainieren, aufweist. System nach Anspruch 6, wobei die Trainingseinheit (12) eine Bestimmungseinheit (13), welche ausgebildet ist, eine Kostenfunktion basierend auf den Trainingsdaten und den Informationen über den Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozess zu bestimmen, aufweist, und wobei die Trainingseinheit (12) ausgebildet ist, das künstliche neuronale Netz basierend auf der bestimmten Kostenfunktion zu trainieren. System nach Anspruch 7, wobei die Bestimmungseinheit (13) eine erste Erzeugungseinheit (14), welche ausgebildet ist, während des Trainierens des künstlichen neuronalen Netzes Ausgaben des künstlichen neuronalen Netzes zu erzeugen, eine zweite Erzeugungseinheit (15), welche ausgebildet ist, basierend auf den erzeugten Ausgaben des künstlichen neuronalen Netzes jeweils Ausgaben des Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozesses zu erzeugen, eine Überprüfungseinheit (16), welche ausgebildet ist, für alle erzeugten Ausgaben des Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozesses jeweils zu überprüfen, ob die entsprechende Ausgabe innerhalb eines durch den Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozesses erwarteten Bereiches liegt, und eine Gewichtungseinheit (17), welche ausgebildet ist, die erzeugten Ausgaben des künstlichen neuronalen Netzes jeweils basierend darauf, ob die basierend auf der entsprechenden Ausgabe des künstlichen neuronalen Netzes erzeugte Ausgabe des Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozesses innerhalb des durch den Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozesses erwarteten Bereiches liegt, zu gewichten, aufweist, und wobei die Bestimmungseinheit (13) ausgebildet ist, die Kostenfunktion basierend auf den Trainingsdaten und den gewichteten Ausgaben zu bestimmen. System nach einem der Ansprüche 6 bis 8, wobei die Trainingsdaten Sensordaten aufweisen. System zum Überprüfen von durch ein Fertigungsverfahren gefertigten Produkten basierend auf einem künstlichen neuronalen Netz, wobei das System eine Bereitstellungseinheit, welche ausgebildet ist, ein künstliches neuronales Netz zum Überprüfen der gefertigten Produkte bereitzustellen, wobei das künstliche neuronale Netz durch ein obenstehend beschriebenes System zum Trainieren eines künstlichen neuronalen Netzes trainiert wurde, und eine Überprüfungseinheit, welche ausgebildet ist, die gefertigten Produkte basierend auf dem bereitgestellten künstlichen neuronalen Netz zu überprüfen, aufweist Computerprogramm mit Programmcode, um ein Verfahren zum Trainieren eines künstlichen neuronalen Netzes nach einem der

Ansprüche 1 bis 4 auszuführen, wenn das Computerprogramm auf einem Computer ausgeführt wird. Computerlesbarer Datenträger mit Programmcode eines Computerprogramms, um ein Verfahren zum Trainieren eines künstlichen neuronalen Netzes nach einem der Ansprüche 1 bis 4 auszuführen, wenn das Computerprogramm auf einem Computer ausgeführt wird.

Description:
Beschreibung

Titel

Verfahren zum Trainieren eines künstlichen neuronalen Netzes

Die Erfindung betrifft ein Verfahren zu Trainieren eines künstlichen neuronalen Netzes, mit welchem ein künstliches neuronales Netz trainiert werden kann, dass an einen nachfolgenden beziehungsweise nachgeordneten, Ausgaben des neuronalen Netzes verarbeitenden Prozess angepasst ist und gleichzeitig vergleichsweise wenig Ressourcen benötigt.

Algorithmen des maschinellen Lernens basieren darauf, dass Verfahren der Statistik verwendet werden, um eine Datenverarbeitungsanlage derart zu trainieren, dass diese eine bestimmte Aufgabe ausführen kann, ohne dass diese ursprünglich explizit hierzu programmiert wurde. Das Ziel des maschinellen Lernens besteht dabei darin, Algorithmen zu konstruieren, die aus Daten lernen und Vorhersagen treffen können. Diese Algorithmen erstellen mathematische Modelle, mit denen beispielsweise Daten klassifiziert werden können.

Ein Beispiel derartiger Algorithmen des maschinellen Lernens sind dabei künstliche neuronale Netze. Künstliche neuronale Netze orientieren sich an biologischen Neuronen und erlauben es, ein unbekanntes Systemverhalten aus vorhandenen Trainingsdaten anzulernen und anschließend das angelernte Systemverhalten auch auf unbekannte Eingangsgrößen anzuwenden. Dabei besteht das neuronale Netz aus Schichten mit idealisierten Neuronen, welche gemäß einer Topologie des Netzes in unterschiedlicher Weise miteinander verbunden sind. Die erste Schicht, welche auch als Eingangsschicht bezeichnet wird, erfasst und überträgt dabei Eingangswerte, wobei die Anzahl der Neuronen in der Eingangsschicht der Anzahl an Eingangssignalen, welche verarbeitet werden sollen, entspricht. Die letzte Schicht wird auch als Ausgangsschicht bezeichnet und weist genauso viele Neuronen auf, wie Ausgaben beziehungsweise Ausgabewerte bereitgestellt werden sollen. Zwischen der Eingangsschicht und der Ausgangsschicht befindet sich zudem wenigstens eine Zwischenschicht, welche oftmals auch als verborgene Schicht bezeichnet wird, wobei die Anzahl der Zwischenschichten und die Anzahl der Neuronen in diesen Schichten für gewöhnlich abhängig von der konkreten Aufgabe, welche durch das neuronale Netz gelöst werden soll, ist

Derartige künstliche neuronale Netze werden dabei häufig basierend auf Kostenfunktionen trainiert Unter Kostenfunktion beziehungsweise Loss wird dabei ein Verlust beziehungsweise ein Fehler zwischen ermittelten Ausgabewerten des künstlichen neuronalen Netzes und Referenzwerten beziehungsweise gelabelten Vergleichswerten, beispielsweise entsprechenden tatsächlichen Gegebenheiten beziehungsweise tatsächlich gemessenen Daten verstanden. Als nachteilig erweist sich dabei jedoch, dass trainierte künstliche neuronale Netze für gewöhnlich nicht an Anforderungen nachfolgender Prozesse, welche Ausgaben des entsprechend trainierten künstlichen neuronalen Netzes verarbeiten, angepasst sind. Gleichzeitig besteht, insbesondere basierend auf vergleichsweise geringen in der entsprechenden Anwendung zur Verfügung stehenden Ressourcen, beispielsweise Speicher- und/oder Prozessorkapazitäten, häufig Bedarf an möglichst kleinen künstlichen neuronalen Netzen, welche beispielsweise möglichst wenig Zwischenschichten aufweisen. Folglich besteht Bedarf an verbesserten Verfahren zum Trainieren eines künstlichen neuronalen Netzes, mit welchen ein künstliches neuronales Netz trainiert werden kann, das an einen nachfolgenden, Ausgaben des neuronalen Netzes verarbeitenden Prozess angepasst beziehungsweise auf diesen abgestimmt ist und gleichzeitig vergleichsweise wenig Ressourcen benötigt.

Aus der Druckschrift DE 10 2019 217300 A1 ist ein Verfahren zum Trainieren eines künstlichen neuronalen Netzes in Abhängigkeit von einer Verlustfunktion bekannt, wobei das künstliche neuronale Netz derart eingerichtet ist, in Abhängigkeit einer Eingabe eine Vorhersage und eine der Vorhersage zugeordnete Unsicherheit zu ermitteln, wobei die Verlustfunktion die ermittelte Unsicherheit berücksichtigt, wobei die ermittelte Unsicherheit eine begrenzte Unsicherheit ist. Der Erfindung liegt somit die Aufgabe zugrunde, ein verbessertes Verfahren zum Trainieren eines künstlichen neuronalen Netzes anzugeben, mit welchen ein künstliches neuronales Netz trainiert werden kann, dass an einen nachfolgenden, Ausgaben des neuronalen Netzes verarbeitenden Prozess angepasst beziehungsweise auf diesen abgestimmt ist und gleichzeitig vergleichsweise wenig Ressourcen benötigt.

Die Aufgabe wird gelöst durch ein Verfahren zum Trainieren eines künstlichen neuronalen Netzes gemäß den Merkmalen des Patentanspruchs 1.

Die Aufgabe wird zudem auch gelöst durch ein System zum Trainieren eines künstlichen neuronalen Netzes gemäß den Merkmalen des Patentanspruchs 6.

Offenbarung der Erfindung

Gemäß einer Ausführungsform der Erfindung wird diese Aufgabe gelöst durch ein Verfahren zum Trainieren eines künstlichen neuronalen Netzes, wobei das Verfahren ein Bereitstellen von Trainingsdaten zum Trainieren des künstlichen neuronalen Netzes und ein Trainieren des künstlichen neuronalen Netzes basierend auf den Trainingsdaten und Informationen über einen Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozess aufweist

Unter Informationen über den Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozessen wird dabei ein den Prozess beschreibendes Modell beziehungsweise werden den Prozess kennzeichnende Daten verstanden.

Dadurch, dass die Informationen über den Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozess direkt beim Training des künstlichen neuronalen Netzes berücksichtigt werden, kann das künstliche neuronale Netz in kurzer Zeit derart trainiert werden, für den Ausgaben des neuronalen Netzes verarbeitenden Prozess optimale Werte und insbesondere durch diesen Prozess weiterverarbeitbare Werte auszugeben. Dies resultiert wiederum darin, dass vergleichsweise kleine, bezüglich dem nachfolgenden Prozess optimierte künstliche neuronale Netze trainiert werden können und insbesondere künstliche neuronal Netze, welche auf entsprechenden, vergleichsweise wenig Ressourcen aufweisenden Anwendungen, beispielsweise Steuergeräten von Kraftfahrzeugen, ausgeführt werden können.

Insgesamt wird somit ein verbessertes Verfahren zum Trainieren eines künstlichen neuronalen Netzes angegeben, mit welchen ein künstliches neuronales Netz trainiert werden kann, das an einen nachfolgenden, Ausgaben des neuronalen Netzes verarbeitenden Prozess angepasst beziehungsweise auf diesen abgestimmt ist und gleichzeitig vergleichsweise wenig Ressourcen benötigt.

Dabei kann der Schritt des Trainierens des künstlichen neuronalen Netzes ein Bestimmen einer Kostenfunktion basierend auf den Trainingsdaten und den Informationen über den Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozess, und ein Trainieren des künstlichen neuronalen Netzes basierend auf der bestimmten Kostenfunktion aufweisen. Dass die Informationen über den Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozess dabei direkt in die Bestimmung einer Kostenfunktion zum Trainieren des neuronalen Netzes miteinfließen, hat den Vorteil, dass keine aufwendigen und ressourcenintensiven Anpassungen oder Funktionen vonnöten sind, um die Informationen über den Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozess beim Trainieren des künstlichen neuronalen Netzes zu berücksichtigen.

In einer Ausführungsform weist das Bestimmen der Kostenfunktion basierend auf den Trainingsdaten und den Informationen über den Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozess dabei ein Erzeugen von Ausgaben des künstliche neuronale Netz während des Trainierens des künstlichen neuronalen Netzes, ein jeweiliges Erzeugen von Ausgaben des Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozess basierend auf den erzeugten Ausgaben des künstlichen neuronalen Netzes, für alle Ausgaben des Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozesse jeweils ein Überprüfen ob die entsprechende Ausgabe innerhalb eines durch den die Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozesses erwarteten Bereiches liegt, ein jeweiliges Gewichten der erzeugten Ausgaben des künstlichen neuronalen Netzes basierend darauf, ob die basierend auf der entsprechenden Ausgabe des künstlichen neuronalen Netzes erzeugte Ausgabe des Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozesses innerhalb des durch den Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozesses erwarteten Bereiches liegt, und ein Bestimmen der Kostenfunktion basierend auf den Trainingsdaten und den gewichteten Ausgaben auf.

Unter einem durch den Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozesses erwarteten Bereich wird weiter ein Bereich verstanden, in welchem für den Ausgaben des neuronalen Netzes verarbeitenden Prozess optimale Werte und/oder durch diesen Prozess in der Vergangenheit weiterverarbeitete Werte liegen.

Unter Gewichtung wird weiter die Bewertung einzelner Einflussgrößen eines mathematischen Modells beispielsweise hinsichtlich ihrer Wichtigkeit und Zuverlässigkeit verstanden. Beispielsweise können die erzeugten Ausgaben dabei derart gewichtet werden, dass die erzeugten Ausgaben, welche nicht innerhalb des durch den Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozesses erwarteten Bereich liegen, beim Trainieren des künstlichen neuronalen Netzes stärker berücksichtigt werden.

Dass Ausgaben des künstlichen neuronalen Netzes erzeugt werden, bedeutet dabei, dass in den Trainingsdaten enthaltene Eingabedaten durch das entsprechend trainierte neuronale Netz in Ausgabedaten beziehungsweise Ausgaben des neuronalen Netzes abgebildet werden.

Dass Ausgaben des Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozesses erzeugt werden, bedeutet weiter, dass Ausgaben des künstlichen neuronalen Netzes durch den Prozess in Ausgabedaten beziehungsweise Ausgaben des Prozesses abgebildet werden.

Dass die Kostenfunktion basierend auf den Trainingsdaten und den gewichteten Ausgaben bestimmt wird, bedeutet ferner, dass Fehler durch jeweiliges Vergleichen der Ausgaben des künstlichen neuronalen Netzes mit in den Trainingsdaten enthaltenen Vergleichsdaten beziehungsweise erwarteten Werten erkannt werden, wobei die Kostenfunktion basierend auf den erkannten Fehlern bestimmt wird, und wobei die erkannten Fehler jeweils basierend auf der den entsprechenden Ausgaben zugeordneten Gewichtung beim Bestimmen der Kostenfunktion berücksichtigt werden.

Somit kann die Kostenfunktion auf einfache Art und Weise bestimmt werden, ohne dass aufwendige und ressourcenintensive Verfahren beziehungsweise Anpassungen vonnöten wären.

Die Trainingsdaten können ferner Sensordaten aufweisen, insbesondere Sensordaten, welche die Merkmale eines zu überprüfenden, durch ein Fertigungsverfahren gefertigten Produkts und dessen Komponenten betreffen, beispielsweise Spannungen, Ströme und Innenwiderstände.

Ein Sensor, welcher auch als (Mess-)Fühler bezeichnet wird, ist ein technisches Bauteil, das bestimmte physikalische oder chemische Eigenschaften und/oder die stoffliche Beschaffenheit seiner Umgebung qualitativ oder als Messgröße quantitativ erfassen kann.

Somit können auf einfache Art und Weise Gegebenheiten außerhalb der eigentlichen Datenverarbeitungsanlage, auf welcher das künstliche neuronale Netz trainiert wird, erfasst und beim Trainieren des künstlichen neuronalen Netzes berücksichtigt werden.

Mit einer weiteren Ausführungsform der Erfindung wird weiter auch ein Verfahren zum Überprüfen von durch ein Fertigungsverfahren gefertigten Produktes basierend auf einem künstlichen neuronalen Netz angegeben, wobei das Verfahren ein Bereitstellen eines künstlichen neuronalen Netzes zum Überprüfen der gefertigten Produkte, wobei das künstliche neuronale Netz durch ein obenstehend beschriebenes Verfahren zum Trainieren eines künstlichen neuronalen Netzes trainiert wurde, und ein Überprüfen der gefertigten Produkte basierend auf dem bereitgestellten künstlichen neuronalen Netz aufweist. Somit wird ein Verfahren zum Überprüfen von durch ein Fertigungsverfahren gefertigten Produkten angegeben, welches auf einem durch ein verbessertes Verfahren zum Trainieren eines künstlichen neuronalen Netzes, mit welchen ein künstliches neuronales Netz trainiert werden kann, das an einen nachfolgenden, Ausgaben des neuronalen Netzes verarbeitenden Prozess angepasst beziehungsweise auf diesen abgestimmt ist und gleichzeitig vergleichsweise wenig Ressourcen benötigt, trainierten künstlichen neuronalen Netz basiert Dadurch, dass die Informationen über den Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozess direkt beim Training des künstlichen neuronalen Netzes berücksichtigt werden, kann das künstliche neuronale Netz in kurzer Zeit derart trainiert werden, für den Ausgaben des neuronalen Netzes verarbeitenden Prozess optimale Werte und insbesondere durch diesen Prozess weiterverarbeitbare Werte auszugeben. Dies resultiert wiederum darin, dass vergleichsweise kleine, bezüglich dem nachfolgenden Prozess optimierte künstliche neuronale Netze trainiert werden können und insbesondere künstliche neuronal Netze, welche auf entsprechenden, vergleichsweise wenig Ressourcen aufweisenden Anwendungen, beispielsweise Steuergeräten von Kraftfahrzeugen, ausgeführt werden können.

Mit einer weiteren Ausführungsform der Erfindung wird weiter auch ein System zum Trainieren eines künstlichen neuronalen Netzes angegeben, wobei das System eine Bereitstellungseinheit, welche ausgebildet ist, Trainingsdaten zum Trainieren des künstlichen neuronalen Netzes bereitzustellen, und eine Trainingseinheit, welche ausgebildet ist, das künstliche neuronale Netz basierend auf den Trainingsdaten und Informationen über einen Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozess zu trainieren, aufweist.

Somit wird ein verbessertes Steuergerät zum Trainieren eines künstlichen neuronalen Netzes angegeben, mit welchen ein künstliches neuronales Netz trainiert werden kann, das an einen nachfolgenden, Ausgaben des neuronalen Netzes verarbeitenden Prozess angepasst beziehungsweise auf diesen abgestimmt ist und gleichzeitig vergleichsweise wenig Ressourcen benötigt. Dadurch, dass die Informationen über den Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozess direkt beim Training des künstlichen neuronalen Netzes berücksichtigt werden, kann das künstliche neuronale Netz in kurzer Zeit derart trainiert werden, für den Ausgaben des neuronalen Netzes verarbeitenden Prozess optimale Werte und insbesondere durch diesen Prozess weiterverarbeitbare Werte auszugeben. Dies resultiert wiederum darin, dass vergleichsweise kleine, bezüglich dem nachfolgenden Prozess optimierte künstliche neuronale Netze trainiert werden können und insbesondere künstliche neuronal Netze, welche auf entsprechenden, vergleichsweise wenig Ressourcen aufweisenden Anwendungen, beispielsweise Steuergeräten von Kraftfahrzeugen, ausgeführt werden können.

Dabei kann die Trainingseinheit eine Bestimmungseinheit, welche ausgebildet ist, eine Kostenfunktion basierend auf den Trainingsdaten und den Informationen über den Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozess zu bestimmen, aufweisen, wobei die Trainingseinheit ausgebildet ist, das künstliche neuronale Netz basierend auf der Kostenfunktion zu trainieren. Dass die Informationen über den Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozess dabei direkt in die Bestimmung einer Kostenfunktion zum Trainieren des neuronalen Netzes miteinfließen, hat den Vorteil, dass keine aufwendigen und ressourcenintensiven Anpassungen oder Funktionen vonnöten sind, um die Informationen über den Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozess beim Trainieren des künstlichen neuronalen Netzes zu berücksichtigen.

In einer Ausführungsform weist die Bestimmungseinheit dabei eine erste Erzeugungseinheit, welche ausgebildet ist, während des Trainierens des künstlichen neuronalen Netzes Ausgaben des künstlichen neuronalen Netzes zu erzeugen, eine zweite Erzeugungseinheit, welche ausgebildet ist, basierend auf den Ausgaben des künstlichen neuronalen Netzes jeweils Ausgaben des Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozesses zu erzeugen, eine Überprüfungseinheit, welche ausgebildet ist, für alle erzeugten Ausgaben des Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozesses jeweils zu überprüfen, ob die entsprechende Ausgabe innerhalb eines durch den Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozess erwarteten Bereiches liegt, und eine Gewichtungseinheit, welche ausgebildet ist, die erzeugten Ausgaben des künstlichen neuronalen Netzes jeweils basierend darauf, ob die basierend auf der entsprechenden Ausgabe des künstlichen neuronalen Netzes erzeugte Ausgabe des Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozesses innerhalb des durch den Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozesses erwarteten Bereiches liegt, zu gewichten, auf, wobei die Bestimmungseinheit ausgebildet ist, die Kostenfunktion basierend auf den Trainingsdaten und den gewichteten Ausgaben zu erzeugen. Somit kann die Kostenfunktion auf einfache Art und Weise bestimmt werden, ohne dass aufwendige und ressourcenintensive Verfahren beziehungsweise Anpassungen vonnöten wären.

Die Trainingsdaten können ferner wiederum Sensordaten aufweisen, insbesondere Sensordaten, welche die Merkmale eines zu überprüfenden, durch ein Fertigungsverfahren gefertigten Produkts und dessen Komponenten betreffen, beispielsweise Spannungen, Ströme und Innenwiderstände. Somit können auf einfache Art und Weise Gegebenheiten außerhalb der eigentlichen Datenverarbeitungsanlage, auf welcher das künstliche neuronale Netz trainiert wird, erfasst und beim Trainieren des künstlichen neuronalen Netzes berücksichtigt werden.

Mit einer weiteren Ausführungsform der Erfindung wird zudem auch ein System zum Überprüfen von durch ein Fertigungsverfahren gefertigten Produkten basierend auf einem künstlichen neuronalen Netz angegeben, wobei das System eine Bereitstellungseinheit, welche ausgebildet ist, ein künstliches neuronales Netz zum Überprüfen der gefertigten Produkte bereitzustellen, wobei das künstliche neuronale Netz durch ein obenstehend beschriebenes System zum Trainieren eines künstlichen neuronalen Netzes trainiert wurde, und eine Überprüfungseinheit, welche ausgebildet ist, die gefertigten Produkte basierend auf dem bereitgestellten künstlichen neuronalen Netz zu überprüfen, aufweist.

Somit wird ein Steuergerät zum Überprüfen eines durch ein Fertigungsverfahren gefertigten Produktes angegeben, welches auf einem durch ein verbessertes Steuergerät zum Trainieren eines künstlichen neuronalen Netzes, mit welchen ein künstliches neuronales Netz trainiert werden kann, das an einen nachfolgenden, Ausgaben des neuronalen Netzes verarbeitenden Prozess angepasst beziehungsweise auf diesen abgestimmt ist und gleichzeitig vergleichsweise wenig Ressourcen benötigt, trainierten künstlichen neuronalen Netz basiert Dadurch, dass die Informationen über den Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozess direkt beim Training des künstlichen neuronalen Netzes berücksichtigt werden, kann das künstliche neuronale Netz in kurzer Zeit derart trainiert werden, für den Ausgaben des neuronalen Netzes verarbeitenden Prozess optimale Werte und insbesondere durch diesen Prozess weiterverarbeitbare Werte auszugeben. Dies resultiert wiederum darin, dass vergleichsweise kleine, bezüglich dem nachfolgenden Prozess optimierte künstliche neuronale Netze trainiert werden können und insbesondere künstliche neuronal Netze, welche auf entsprechenden, vergleichsweise wenig Ressourcen aufweisenden Anwendungen, beispielsweise Steuergeräten von Kraftfahrzeugen, ausgeführt werden können.

Mit einer weiteren Ausführungsform der Erfindung wird außerdem auch ein Computerprogramm mit Programmcode, um ein obenstehend beschriebenes Verfahren zum Trainieren eines künstlichen neuronalen Netzes auszuführen, wenn das Computerprogramm auf einem Computer ausgeführt wird, angegeben.

Mit einer weiteren Ausführungsform der Erfindung wird ferner auch ein computerlesbarer Datenträger mit Programmcode eines Computerprogramms, um ein obenstehend beschriebenes Verfahren zum Trainieren eines künstlichen neuronalen Netzes auszuführen, wenn das Computerprogramm auf einem Computer ausgeführt wird, angegeben.

Das Computerprogramm und der computerlesbare Datenträger haben dabei jeweils den Vorteil, dass diese jeweils ausgebildet sind, ein verbessertes Verfahren zum Trainieren eines künstlichen neuronalen Netzes, mit welchen ein künstliches neuronales Netz trainiert werden kann, das an einen nachfolgenden, Ausgaben des neuronalen Netzes verarbeitenden Prozess angepasst beziehungsweise auf diesen abgestimmt ist und gleichzeitig vergleichsweise wenig Ressourcen benötigt, auszuführen. Dadurch, dass die Informationen über den Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozess direkt beim Training des künstlichen neuronalen Netzes berücksichtigt werden, kann das künstliche neuronale Netz in kurzer Zeit derart trainiert werden, für den Ausgaben des neuronalen Netzes verarbeitenden Prozess optimale Werte und insbesondere durch diesen Prozess weiterverarbeitbare Werte auszugeben. Dies resultiert wiederum darin, dass vergleichsweise kleine, bezüglich dem nachfolgenden Prozess optimierte künstliche neuronale Netze trainiert werden können und insbesondere künstliche neuronal Netze, welche auf entsprechenden, vergleichsweise wenig Ressourcen aufweisenden Anwendungen, beispielsweise Steuergeräten von Kraftfahrzeugen, ausgeführt werden können.

Zusammenfassend ist festzustellen, dass mit der vorliegenden Erfindung ein Verfahren zu Trainieren eines künstlichen neuronalen Netzes angegeben wird, mit welchem ein künstliches neuronales Netz trainiert werden kann, dass an einen nachfolgenden beziehungsweise nachgeordneten, Ausgaben des neuronalen Netzes verarbeitenden Prozess angepasst ist und gleichzeitig vergleichsweise wenig Ressourcen benötigt.

Weitere mögliche Ausgestaltungen, Weiterbildungen und Implementierungen der Erfindung umfassen auch nicht explizit genannte Kombinationen von zuvor oder im Folgenden bezüglich der Ausführungsbeispiele beschriebenen Merkmalen der Erfindung.

Kurze Beschreibung der Zeichnungen

Die beiliegenden Zeichnungen sollen ein weiteres Verständnis der Ausführungsformen der Erfindung vermitteln. Sie veranschaulichen Ausführungsformen und dienen im Zusammenhang mit der Beschreibung der Erklärung von Prinzipien und Konzepten der Erfindung ein Verfahren zu Trainieren eines künstlichen neuronalen Netzes angegeben wird, mit welchem ein künstliches neuronales Netz trainiert werden kann, dass an einen nachfolgenden, Ausgaben des neuronalen Netzes verarbeitenden Prozess angepasst ist und gleichzeitig vergleichsweise wenig Ressourcen benötigt.

Andere Ausführungsformen und viele der genannten Vorteile ergeben sich im Hinblick auf die Zeichnungen. Die dargestellten Elemente der Zeichnungen sind nicht notwendigerweise maßstabsgetreu zueinander gezeigt.

Es zeigen: Fig. 1 ein Flussdiagramm eines Verfahrens zum Trainieren eines künstlichen neuronalen Netzes gemäß Ausführungsformen der Erfindung; und

Fig. 2 ein schematisches Blockschaltbild eines Systems zum Trainieren eines künstlichen neuronalen Netzes gemäß Ausführungsformen der Erfindung.

In den Figuren der Zeichnungen bezeichnen gleiche Bezugszeichen gleiche oder funktionsgleiche Elemente, Bauteile oder Komponenten, soweit nichts Gegenteiliges angegeben ist.

Fig. 1 zeigt ein Flussdiagramm eines Verfahrens zum Trainieren eines künstlichen neuronalen Netzes 1 gemäß Ausführungsformen der Erfindung.

Beispielsweise in der Halbleiterfertigung werden im Rahmen der Qualitätssicherung nach einer Vielzahl von Fertigungsschritten Überprüfungen an den gefertigten Halbleiterchips durchgeführt, beispielsweise um die Temperaurbeständigkeit der einzelnen Halbleiter zu überprüfen. Insbesondere soll dabei das Verhalten der gefertigten Halbleiterchips sowohl bei hohen als auch bei tiefen Temperaturen überprüft werden. Da Halbleiter für gewöhnlich ihren Innenwiderstand bei Temperaturänderungen ändern, sollte anschließend jeweils auch noch eine entsprechende Drift-Spannung bestimmt werden.

Zum Überprüfen der Temperaturbeständigkeit derartiger Halbleiterchips werden dabei häufig künstliche neuronale Netze eingesetzt, welche basierend auf Deep- Learning Verfahren trainiert wurden. Insbesondere werden derartige künstliche neuronale Netze dabei häufig basierend auf Kostenfunktionen trainiert. Als nachteilig erweist sich dabei jedoch, dass trainierte künstliche neuronale Netze für gewöhnlich nicht an Anforderungen nachfolgender Prozesse, welche Ausgaben des entsprechend trainierten künstlichen neuronalen Netzes verarbeiten, beispielsweise eine anschließende Bestimmung eines Korrekturparameters der in einem Halbleiterchip gespeichert wird und für die Berechnung einer Chip-internen Korrektur von von dem entsprechenden Halbleiterchip gemessenen elektrischen Werten benutzt wird, angepasst sind. Gleichzeitig besteht, insbesondere basierend auf vergleichsweise geringen in der entsprechenden Anwendung zur Verfügung stehenden Ressourcen, beispielsweise Speicher- und/oder Prozessorkapazitäten, häufig Bedarf an möglichst kleinen künstlichen neuronalen Netzen, welche beispielsweise möglichst wenig Zwischenschichten aufweisen. Folglich besteht Bedarf an verbesserten Verfahren zum Trainieren eines künstlichen neuronalen Netzes, mit welchen ein künstliches neuronales Netz trainiert werden kann, das an einen nachfolgenden, Ausgaben des neuronalen Netzes verarbeitenden Prozess angepasst beziehungsweise auf diesen abgestimmt ist und gleichzeitig vergleichsweise wenig Ressourcen benötigt.

Fig. 1 zeigt dabei ein Verfahren 1 , welches einen Schritt 2 eines Bereitstellens von Trainingsdaten zum Trainieren des künstlichen neuronalen Netzes und einen Schritt 3 eines Trainierens des künstlichen neuronalen Netzes basierend auf den Trainingsdaten und Informationen über einen Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozess aufweist.

Dadurch, dass die Informationen über den Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozess direkt beim Training des künstlichen neuronalen Netzes berücksichtigt werden, kann das künstliche neuronale Netz in kurzer Zeit derart trainiert werden, für den Ausgaben des neuronalen Netzes verarbeitenden Prozess optimale Werte und insbesondere durch diesen Prozess weiterverarbeitbare Werte auszugeben. Dies resultiert wiederum darin, dass vergleichsweise kleine, bezüglich dem nachfolgenden Prozess optimierte künstliche neuronale Netze trainiert werden können und insbesondere künstliche neuronal Netze, welche auf entsprechenden, vergleichsweise wenig Ressourcen aufweisenden Anwendungen, beispielsweise Steuergeräten von Kraftfahrzeugen, ausgeführt werden können.

Insgesamt wird somit ein verbessertes Verfahren zum Trainieren eines künstlichen neuronalen Netzes 1 angegeben, mit welchen ein künstliches neuronales Netz trainiert werden kann, das an einen nachfolgenden, Ausgaben des neuronalen Netzes verarbeitenden Prozess angepasst beziehungsweise auf diesen abgestimmt ist und gleichzeitig vergleichsweise wenig Ressourcen benötigt. Insbesondere zeigt Fig. 1 ein Verfahren 1 , bei dem durch nachfolgenden Prozess vorgegebene Nebenbedingungen beim Trainieren des künstlichen neuronalen Netzes berücksichtigt werden.

Gemäß den Ausführungsformen der Fig. 1 weist der Schritt 3 des Trainierens des künstlichen neuronalen Netzes dabei einen Schritt eines Bestimmens einer Kostenfunktion basierend auf den Trainingsdaten und den Informationen über den Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozess, und einen Schritt 4 eines Trainierens des künstlichen neuronalen Netzes basierend auf der bestimmten Kostenfunktion auf.

Wie Fig. 1 zeigt, weist der Schritt des Bestimmens der Kostenfunktion gemäß den Ausführungsformen der Fig. 1 dabei einen Schritt 5 eines Erzeugens von Ausgaben des künstlichen neuronalen Netzes während des Trainierens des künstlichen neuronalen Netzes, einen Schritt 6 eines jeweiligen Erzeugens von Ausgaben des Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozesses basierend auf den erzeugten Ausgaben des künstlichen neuronalen Netzes, einen Schritt 7 eines, für alle erzeugten Ausgaben des Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozesses, jeweiligen Überprüfens ob die entsprechende Ausgabe innerhalb eines durch den die Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozess erwarteten Bereiches liegt, einen Schritt 8 eines jeweiligen Gewichtens der erzeugten Ausgaben des künstlichen neuronalen Netzes basierend darauf, ob die basierend auf der entsprechenden Ausgabe des künstlichen neuronalen Netzes erzeugte Ausgabe des Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozesses innerhalb des durch den Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozesses erwarteten Bereiches liegt, und einen Schritt 9 eines Bestimmens der Kostenfunktion basierend auf den Trainingsdaten, das heißt ob die erzeugten Ausgaben des künstlichen neuronalen Netzes jeweils erwarteten Werten entsprechen, und den gewichteten Ausgaben auf.

Das Verfahren gemäß den Ausführungsformen der Fig. 1 erlaubt dem künstlichen neuronalen Netz somit Ausgaben zu erlernen, welche nicht zwingend erwarteten Ausgaben de künstlichen neuronalen Netzes entsprechen, welche jedoch entsprechende Vorgaben eines Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozesses erfüllen.

Gemäß den Ausführungsformen der Fig 1 werden dabei Ausgaben des künstlichen neuronalen Netzes jeweils mit einem Gewicht, das einen Wert größer gleich Null jedoch kleiner als Eins aufweist, und bevorzugt mit einem Gewicht, das einen Wert Null aufweist, versehen, falls die basierend auf der entsprechenden Ausgabe des künstlichen neuronalen Netzes erzeugte Ausgabe des Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozesses innerhalb des durch den Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozesses erwarteten Bereiches liegt Gemäß den Ausführungsformen der Fig. 1 werden ferner Ausgaben des künstlichen neuronalen Netzes jeweils mit einem Gewicht, das einen Wert kleiner gleich Eins jedoch größer als Null aufweist, und bevorzugt mit einem Gewicht, das einen Wert Eins aufweist, versehen, falls die basierend auf der entsprechenden Ausgabe des künstlichen neuronalen Netzes erzeugte Ausgabe des Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozesses nicht innerhalb des durch den Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozesses erwarteten Bereiches liegt. Hierdurch können Fehler von nicht prozesskonforme Werte beim Trainieren des künstlichen neuronalen Netzes und insbesondere bei der Bestimmung der Kostenfunktion mit einfließen, wohingegen Fehler von prozesskonformen Werte ignoriert werden.

Die Kostenfunktion kann dabei anschließend beispielsweise durch jeweiliges Bilden der absoluten oder der quadratischen Fehler zwischen den bei der Bestimmung der Kostenfunktion berücksichtigten, erzeugten Ausgaben des künstlichen neuronalen Netzes und dem entsprechenden erwarteten Wert bestimmt werden.

Gemäß den Ausführungsformen der Fig. 1 weisen die Trainingsdaten ferner Sensordaten auf, insbesondere Sensordaten, welche die Merkmale eines zu überprüfenden, durch ein Fertigungsverfahren gefertigten Produkts und dessen Komponenten betreffen, beispielsweise Spannungen, Ströme und Innenwiderstände. Das entsprechend trainierte künstliche neuronale Netz kann dabei basierend auf entsprechenden, gelabelten Trainingsdaten beispielsweise derart trainiert werden, um anschließend im Rahmen der Qualitätssicherung bei der Fertigung von Halbleitern zur Überprüfung der Temperaturbeständigkeit der gefertigten Halbleiterchips herangezogen zu werden, wobei anschließend jeweils noch ein Korrekturparameter, welcher in einem Halbleiterchip gespeichert und für die Berechnung einer Chip-internen Korrektur von von dem entsprechenden Halbleiterchip gemessenen elektrischen Werten benutzt wird, basierend auf durch das entsprechende künstliche neuronale Netz erzeugten Werten ermittelt werden kann.

Basierend auf der Überprüfung können dabei ferner gefertigte Halbleiterchips, welche Vorgaben hinsichtlich der Temperaturbeständigkeit nicht erfüllen, insbesondere automatisch aussortiert beziehungsweise verworfen werden. Die nicht aussortierten Halbleiterchips können anschließend ferner beispielsweise die Grundlage eines Steuergerätes einer Bremssteuerung eines Kraftfahrzeuges bilden.

Ferner kann das künstliche neuronale Netz aber auch trainiert werden, ein steuerbares System beziehungsweise ein Robotiksystem zu steuern, wobei ein Ausgaben des künstlichen neuronalen Netzes verarbeitender Prozess nachgeschaltet ist.

Fig. 2 zeigt ein schematisches Blockschaltbild eines Systems zum Trainieren eines künstlichen neuronalen Netzes 10 gemäß Ausführungsformen der Erfindung.

Wie Fig. 2 zeigt, weist das System 10 dabei eine Bereitstellungseinheit 11 , welche ausgebildet ist, Trainingsdaten zum Trainieren des künstlichen neuronalen Netzes bereitzustellen, und eine Trainingseinheit 12, welche ausgebildet ist, das künstliche neuronale Netz basierend auf den Trainingsdaten und Informationen über einen Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozess zu trainieren, auf. Bei der Bereitstellungseinheit kann es sich dabei insbesondere um einen Empfänger, welcher ausgebildet ist, entsprechende Daten, insbesondere Sensordaten zu empfangen, handeln. Die Trainingseinheit kann beispielsweise basierend auf einem in einem Speicher hinterlegten und durch einen Prozessor ausführbaren Code realisiert werden.

Gemäß den Ausführungsformen der Fig. 2 weist die Trainingseinheit weiter eine Bestimmungseinheit 13 auf, welche ausgebildet ist, eine Kostenfunktion basierend auf den Trainingsdaten und den Informationen über den Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozess zu bestimmen, wobei die Trainingseinheit 12 ausgebildet ist, das künstliche neuronale Netz basierend auf der Kostenfunktion zu trainieren.

Die Bestimmungseinheit kann dabei insbesondere wiederum basierend auf einem in einem Speicher hinterlegten und durch einen Prozessor ausführbaren Code realisiert werden.

Wie Fig. 2 zeigt, weist die Bestimmungseinheit 13 dabei eine erste Erzeugungseinheit 14, welche ausgebildet ist, während des Trainierens des künstlichen neuronalen Netzes Ausgaben durch das künstliche neuronale Netz zu erzeugen, eine zweite Erzeugungseinheit 15, welche ausgebildet ist, basierend auf den erzeugten Ausgaben des künstlichen neuronalen Netzes jeweils Ausgaben des Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozesses zu erzeugen, eine Überprüfungseinheit 16, welche ausgebildet ist, für alle erzeugten Ausgaben des Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozesses jeweils zu überprüfen, ob die entsprechende Ausgabe innerhalb eines durch den Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozesses erwarteten Bereiches liegt, und eine Gewichtungseinheit 17, welche ausgebildet ist, die erzeugten Ausgaben des künstlichen neuronalen Netzes jeweils basierend darauf, ob die basierend auf der entsprechenden Ausgabe des künstlichen neuronalen Netzes erzeugte Ausgabe des Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozesses innerhalb des durch den Ausgaben des künstlichen neuronalen Netzes verarbeitenden Prozesses erwarteten Bereiches liegt, zu gewichten, aufweist, wobei die Bestimmungseinheit 13 ausgebildet ist, die Kostenfunktion basierend auf den Trainingsdaten und den gewichteten Ausgaben zu erzeugen.

Gemäß den Ausführungsformen der Fig. 2 weisen die Trainingsdaten wiederum Sensordaten auf, insbesondere Sensordaten, welche die Merkmale eines zu überprüfenden, durch ein Fertigungsverfahren gefertigten Produkts und dessen Komponenten betreffen, beispielsweise Spannungen, Ströme und Innenwiderstände.

Ferner kann das entsprechend trainierte künstliche neuronale Netz dabei beispielsweise wiederum derart trainiert werden, um anschließend im Rahmen der Qualitätssicherung bei der Fertigung von Halbleitern zur Überprüfung der Temperaturbeständigkeit der gefertigten Halbleiterchips herangezogen werden, wobei anschließend jeweils noch ein Korrekturparameter, welcher in einem Halbleiterchip gespeichert und für die Berechnung einer Chip-internen Korrektur von von dem entsprechenden Halbleiterchip gemessenen elektrischen Werten benutzt wird, basierend auf durch das entsprechende künstliche neuronale Netz erzeugten Werten ermittelt werden kann, oder aber auch derart trainiert werden, ein steuerbares System beziehungsweise ein Robotiksystem zu steuern, wobei ein Ausgaben des künstlichen neuronalen Netzes verarbeitender Prozess nachgeschaltet ist.

Zudem ist das System zum Trainieren eines künstlichen neuronalen Netzes 10 ausgebildet, ein obenstehend beschriebenes Verfahren zum Trainieren eines künstlichen neuronalen Netzes auszuführen.