-
Die vorliegende Erfindung betrifft das Training von Klassifikatornetzwerken, die beispielsweise Bilddaten oder andere physikalische Messdaten auf einen für die jeweilige Anwendung relevanten Klassifikations-Score abbilden.
-
Stand der Technik
-
Bei der Serienfertigung von Produkten ist es in der Regel erforderlich, die Qualität der Fertigung laufend zu überprüfen. Dabei wird angestrebt, Qualitätsprobleme möglichst schnell zu erkennen, um die Ursache baldmöglichst beheben zu können und nicht zu viele Einheiten des jeweiligen Produkts als Ausschuss zu verlieren.
-
Die optische Kontrolle der Geometrie und/oder Oberfläche eines Produkts ist schnell und zerstörungsfrei. Die
WO 2018/197 074 A1 offenbart eine Prüfvorrichtung, in der ein Objekt einer Vielzahl von Beleuchtungssituationen ausgesetzt werden kann, wobei in jeder dieser Beleuchtungssituationen mit einer Kamera Bilder des Objekts aufgezeichnet werden. Aus diesen Bildern wird die Topographie des Objekts ausgewertet.
-
Bilder des Produkts können auch unmittelbar mit einem Bildklassifikator auf der Basis künstlicher neuronaler Netzwerke einer von mehreren Klassen einer vorgegebenen Klassifikation zugeordnet werden. Auf dieser Basis kann das Produkt einer von mehreren vorgegebenen Qualitätsklassen zugeordnet werden. Im einfachsten Fall ist diese Klassifikation binär („OK“/„nicht OK“).
-
Beim zumindest teilweise automatisierten Führen von Fahrzeugen werden ebenfalls trainierbare Bildklassifikatoren eingesetzt, um Verkehrssituationen zu bewerten oder zumindest auf ihren Gehalt an Objekten zu untersuchen.
-
Offenbarung der Erfindung
-
Im Rahmen der Erfindung wurde ein Verfahren zum Trainieren eines Klassifikatornetzwerks entwickelt. Dieses Klassifikatornetzwerk ist dazu ausgebildet, Eingabedaten auf einen Klassifikations-Score abzubilden, der die Zugehörigkeit dieser Eingabedaten zu einer oder mehreren Klassen einer vorgegebenen Klassifikation angibt. Das Klassifikatornetzwerk weist eine oder mehrere Faltungsschichten aufweist, die jeweils aus ihren Eingaben durch Anwendung eines oder mehrerer Filterkerne eine oder mehrere Merkmalskarten erzeugen. Zusätzlich kann das Klassifikatornetzwerk beispielsweise noch Pooling-Schichten umfassen, die zwischen den Faltungsschichten angeordnet sind und auf die Merkmalskarten wirken. Das Klassifikatornetzwerk ist dazu ausgebildet, eine Mehrzahl von Merkmalskarten zu dem Klassifikations-Score zusammenzuführen. Hierfür kann beispielsweise eine vollvernetzte Schicht genutzt werden, der alle von der in der Verarbeitungsreihenfolge letzten Faltungsschicht in dem Klassifikatornetzwerk als Eingaben zugeführt werden.
-
Für das Training werden Lern-Eingabedaten sowie zugehörige Lern-Klassifikations-Scores als „ground truth“ bereitgestellt. Die Lern-Eingabedaten werden dem Klassifikatornetzwerk zugeführt und auf Klassifikations-Scores abgebildet.
-
Dabei ist das Verhalten des Klassifikatornetzwerks zum einen charakterisiert durch Faltungsparameter φj, von denen die Verarbeitung von Eingaben zu Merkmalskarten abhängt.
-
Zum anderen ist das Verhalten des Klassifikatornetzwerks auch charakterisiert durch Kartenparameter wj, die in dem Klassifikatornetzwerk zu einer Vorschrift verarbeitet werden, inwieweit Merkmalskarten bei der weiteren Verarbeitung im Klassifikatornetzwerk berücksichtigt werden. Diese Merkmalskarten werden also, nachdem sie von einer Faltungsschicht erzeugt wurden, nach Maßgabe des oder der jeweiligen Kartenparameter wj verändert und/oder ganz oder teilweise unterdrückt, bevor sie von der nächsten Faltungsschicht als Eingaben verarbeitet oder auf den letztendlichen Klassifikations-Score abgebildet werden.
-
Daneben kann das Verhalten des Klassifikatornetzwerks noch durch weitere Parameter charakterisiert sein. Derartige Parameter können sich beispielsweise auf eine den Faltungsschichten nachgeschaltete Klassifikatorschicht, wie etwa eine vollvernetzte Schicht, beziehen. Die Klassifikatorschicht führt die Merkmalskarten zu dem Klassifikations-Score zusammen.
-
Anhand einer vorgegebenen Kostenfunktion wird bewertet, inwieweit diese Klassifikations-Scores im Einklang mit den jeweiligen Lern-Klassifikations-Scores stehen. Mindestens die Faltungsparameter φj und die Kartenparameter wj werden gemeinsam optimiert mit dem Ziel, dass bei einer weiteren Verarbeitung von Lern-Eingabedaten durch das Klassifikatornetzwerk die Bewertung durch die Kostenfunktion voraussichtlich verbessert wird. Sofern das Verhalten des Klassifikatornetzwerks noch durch weitere Parameter charakterisiert ist, können auch diese mittrainiert werden.
-
Es wurde erkannt, dass Klassifikatornetzwerke zwar während des Trainings eine Architektur mit einer vergleichsweise großen Anzahl Merkmalskarten benötigen, jedoch nach Abschluss dieses Trainings der weitaus größte Anteil dieser Merkmalskarten verzichtbar ist. So können beispielswiese in fertig trainierten Klassifikatornetzwerken bis in der Größenordnung 90-95 % der Merkmalskarten weggelassen werden, ohne dass die Klassifikationsgenauigkeit merklich leidet.
-
Wenn nun gleich das Training darauf angelegt wird, dass ein großer Anteil der Merkmalskarten für die weitere Verarbeitung unberücksichtigt bleibt, dann kann das von dem Klassifikatornetzwerk gelernte Modell von vornherein deutlich vereinfacht werden. Insbesondere werden die Entscheidungsgrenzen zwischen verschiedenen Klassen der Klassifikation deutlich vereinfacht. In der Folge ist das Modell deutlich verständlicher und besser erklärbar.
-
Anhand eines wichtigen Anwendungsfalls von Klassifikatornetzwerken, nämlich der Qualitätskontrolle von gefertigten Produkten, lässt sich dies veranschaulichen. Wenn ein menschlicher Experte gefragt wird, warum er denn ein bestimmtes Exemplar des Produkts als „nicht OK“ eingestuft hat, und dieser Experte mit dem Finger auf einen gut sichtbaren Mangel oder Schaden zeigt, wird man ihm eher Glauben schenken als wenn er sieben verschiedene Gründe präsentiert, die er angeblich sorgfältig gegeneinander abgewogen hat.
-
Weiterhin kann sich das Modell auch noch während des Trainings darauf einstellen, dass bestimmte Merkmalskarten unberücksichtigt bleiben. Bei einer gleichen Anzahl weggelassener Merkmalskarten lässt sich also im Endergebnis eine höhere Klassifikationsgenauigkeit erzielen, wenn die Merkmalskarten bereits während des Trainings weggelassen werden, als wenn die Merkmalskarten erst nach dem Training nachträglich deaktiviert bzw. entfernt werden.
-
Das durch das Weglassen von Merkmalskarten „verschlankte“ Klassifikatornetzwerk kann auf kleiner dimensionierter Hardware eingesetzt werden als das ursprüngliche Klassifikatornetzwerk. Dies ist besonders vorteilhaft für mobile Anwendungen, die beispielsweise auf Smartphones oder auf Steuergeräten für Fahrzeuge laufen sollen. Bei dieser mobilen Anwendung sind die zur Verfügung stehenden Hardware- und Energieressourcen begrenzt.
-
Die Verarbeitung der Eingaben in mindestens einer Faltungsschicht kann beispielswiese beinhalten, dass ein oder mehrere Filterkerne nach Maßgabe der Faltungsparameter φj auf die Eingabe der Faltungsschicht angewendet werden und zum hierbei erhaltenen Ergebnis ein vorgegebener Bias addiert wird. Auf das Ergebnis dieser Addition wird dann eine vorgegebene Nichtlinearität angewendet, wie beispielsweise die „Rectifying Linear Unit“, ReLU. Der Bias und die Nichtlinearität können dann während des Trainings festgehalten werden, während die Faltungsparameter φj trainiert werden.
-
In einer besonders vorteilhaften Ausgestaltung wird aus mindestens einem Kartenparameter w
j mindestens einer Merkmalskarte ein Faktor p
j gebildet, mit dem die Werte dieser Merkmalskarte vor der weiteren Verarbeitung dieser Merkmalskarte in dem Klassifikatornetzwerk multipliziert werden. Dieser Faktor kann dann beispielsweise zwischen 0 (Merkmalskarte vollständig deaktiviert) und 1 (Merkmalskarte vollständig berücksichtigt) liegen. Wenn beispielsweise C die Anwendung eines Filterkerns, g die Nichtlinearität und b den Bias symbolisiert, kann die aus der j-ten Merkmalskarte gebildete Ausgabe O
j, die in dem Klassifikatornetzwerk weiter verarbeitet wird, beispielsweise geschrieben werden als
-
Um das Klassifikatornetzwerk zu vereinfachen, ist es erwünscht, dass die Faktoren pj jeweils entweder den Wert 0 oder den Wert 1 annehmen. Jedoch würde es die Optimierung verkomplizieren, die pj von vornherein auf die Werte 0 und 1 zu diskretisieren, da dann insbesondere keine Gradienten der Kostenfunktion nach den pj mehr existieren.
-
Daher wird der Faktor p
j in einer weiteren besonders vorteilhaften Ausgestaltung durch Anwenden einer Sigmoid-Funktion σ mit Wertebereich [0, 1] mindestens auf den Kartenparameter w
j gebildet. Diese Sigmoid-Funktion σ ist auch bekannt als „logistische Funktion“ und kann geschrieben werden als
-
Diese Funktion geht für negative x schnell in eine Sättigung bei 0. Für positive x geht σ(x) schnell in eine Sättigung bei 1. Dazwischen ist σ(x) überall differenzierbar. Wenn also die für das Training verwendete Kostenfunktion an irgendeiner Stelle von der nach Maßgabe der Kartenparameter wj geänderten Ausgabe Oj einer Faltungsschicht abhängt und der Faktor pj über eine Sigmoid-Funktion σ vom Kartenparameter wj abhängt, dann wird die Kostenfunktion letztlich differenzierbar vom Kartenparameter wj abhängen. Es existiert also ein Gradient der Kostenfunktion nach wj, der jeweils zur Berechnung des nächsten Schritts für wj in der Optimierung verwendet werden kann.
-
An Stelle einer Sigmoid-Funktion σ kann auch jede andere differenzierbare Funktion verwendet werden, die ihren Definitionsbereich auf einen Wertebereich zwischen 0 und 1 komprimiert.
-
In einer weiteren besonders vorteilhaften Ausgestaltung wird die Sigmoid-Funktion σ auf eine Summe aus dem Kartenparameter w
j und einem aus einer Zufallsverteilung gezogenen Rausch-Sample η angewendet. Die aus der j-ten Merkmalskarte erzeugte Ausgabe O
j lässt sich dann beispielsweise schreiben als
-
Die Zufallsverteilung, aus der das Rausch-Sample η gezogen wird, kann insbesondere beispielsweise eine Gauß-Verteilung mit Mittelwert 0 und einer vorgegebenen Standardabweichung sein. Das Rausch-Sample η hat die Wirkung, dass ein Wert von σ(wj), der auf der Flanke zwischen der Sättigung bei 0 und der Sättigung bei 1 liegt, mit hoher Wahrscheinlichkeit entweder in Richtung der Sättigung bei 0 oder in Richtung der Sättigung bei 1 getrieben wird. Damit werden die Werte von σ(wj + η) de facto auf die Werte 0 und 1 diskretisiert, ohne dass hierfür die Differenzierbarkeit nach wj aufgegeben werden muss.
-
Wie zuvor erläutert, wird angestrebt, dass möglichst wenige Merkmalskarten berücksichtigt werden, damit das gelernte Modell vereinfacht und somit besser erklärbar wird. Wenn die Kartenparameter w
j gleichberechtigt mit den Faltungsparametern φ
j in die Kostenfunktion eingehen, kann beispielsweise das Reduzieren der Energie aller Filter einer Faltungsschicht den gleichen Effekt auf den Wert der Kostenfunktion haben wie das erwünschte Weglassen einzelner Filter. Um diesem Effekt entgegenzuwirken, umfasst die Kostenfunktion in einer weiteren besonders vorteilhaften Ausgestaltung einen zusätzlichen Term, der von einer über Faktoren für mehrere Merkmalskarten gebildeten Norm abhängt. Ein solcher Beitrag L
P zur Kostenfunktion kann beispielsweise die Form
haben, wobei die äußere Summe über alle Faltungsschichten i und die innere Summe über alle Merkmalskarten j in der jeweiligen Faltungsschicht i läuft.
-
Unabhängig von dem Trainingserfolg, der in Bezug auf die eigentliche Klassifikationsaufgabe erzielt wird, ist die Vereinfachung des gelernten Modells ein Ziel, das für sich genommen schon ein verlängertes Training rechtfertigt. Daher wird in einer weiteren besonders vorteilhaften Ausgestaltung das Training fortgesetzt,
- • bis die durchschnittliche Entropie über alle Faktoren gegen ein Minimum konvergiert, und/oder
- • bis der durchschnittliche Gradient, um den die Kartenparameter in einem Trainingsschritt geändert werden, kleiner als eine vorgegebene Norm ist, und/oder
- • bis eine vorgegebene Anzahl von Trainingsepochen abgeschlossen ist.
-
Eine Trainingsepoche ist ein Durchlauf des Trainings, bei dem alle Lern-Eingabedaten und zugehörigen Lern-Klassifikations-Scores einmal verwendet werden.
-
In einer weiteren besonders vorteilhaften Ausgestaltung werden die Faktoren pj nach Abschluss des Trainings auf die Werte 0 und 1 quantisiert. Insbesondere wenn diese Faktoren mit einer Sigmoid-Funktion σ gebildet werden, wird beim Training schon eine Quantisierung auf näherungsweise 0 einerseits und näherungsweise 1 andererseits gelernt. Es entsteht dann in Bezug auf die Klassifikationsgenauigkeit kein großer Fehler mehr, wenn die pj auf genau 0 und genau 1 quantisiert werden. Jedoch ermöglicht diese Quantisierung, bei der Implementierung des Klassifikatornetzwerks auf Hardware die mit Faktoren von pj=0 versehenen Merkmalskarten, und damit auch die für die Erzeugung dieser Merkmalskarten zuständigen Filterkerne, vollständig wegzulassen. Dadurch wird das Klassifikatornetzwerk auch auf kleiner dimensionierter Hardware implementierbar.
-
In einer weiteren besonders vorteilhaften Ausgestaltung ist das Klassifikatornetzwerk dazu ausgebildet, Bilddaten als Eingabedaten entgegenzunehmen und auf einen Klassifikations-Score dahingehend abzubilden, welche Objekte und/oder Situationen in diesen Bilddaten enthalten sind.
-
Der Begriff „Bilddaten“ umfasst neben statischen Bildern und Frames (Einzelbildern) aus Filmen oder Bildsequenzen insbesondere auch derartige Filme und Bildsequenzen. Dem kompletten Film, bzw. der kompletten Bildsequenz, wohnt eine zusätzliche Information hinsichtlich der dynamischen Veränderung der Bildinhalte inne. Diese dynamische Qualität fehlt den Einzelbildern. Dass diese dynamische Qualität wichtig ist, ist konsistent damit, dass der Mensch bewegte oder blinkende Bildinhalte gegenüber statischen Bildinhalten bevorzugt wahrnimmt.
-
Bilddaten können insbesondere beispielsweise Kamerabilder, Videobilder, Radarbilder, Ultraschallbilder oder LIDAR-Bilder repräsentieren.
-
Gerade Bilddaten als Eingabedaten sind vergleichsweise komplex, so dass es nicht unmittelbar einsichtig ist, worauf ein Bildklassifikator seine Entscheidung stützt. Wenn alle verfügbaren Merkmalskarten einer großen Netzwerkarchitektur verwendet werden, ist der erhaltene Klassifikations-Score prinzipiell vom gesamten Bild abhängig. Es ist dann nicht auszuschließen, dass beispielsweise bei der Beurteilung einer Verkehrssituation anhand von Bilddaten markante Merkmale in einem für die Bewältigung der Fahraufgabe nicht relevanten Bereich mit in den Klassifikations-Score eingehen. Wenn nun nur einige wenige Merkmalskarten überhaupt noch zur Bildung des Klassifikations-Scores herangezogen werden, kann für diese Merkmalskarten geprüft werden, ob sie sich auf für die jeweilige Anwendung relevante Bildinhalte beziehen: Obwohl die meisten Merkmalskarten gegenüber dem ursprünglich eingegebenen Bild in ihrer Dimensionalität deutlich reduziert sind, gibt es immer noch eine räumliche Korrespondenz dahingehend, dass etwa die rechte obere Ecke der Merkmalskarte durch Informationen in der rechten oberen Ecke des Bildes verursacht worden ist.
-
Das Trainingsverfahren lässt sich beispielsweise verwenden, um ein Klassifikatornetzwerk zu trainieren, das die Qualität eines Produkts anhand von Bilddaten oder anderen Messdaten beurteilt. Die Erfindung bezieht sich daher auch auf ein Verfahren, bei dem nach dem Training mit dem Trainingsverfahren dem Klassifikatornetzwerk Messdaten, die durch physikalische Beobachtung mindestens eines Produkts aufgenommen wurden, als Eingabedaten zugeführt werden. Aus dem dann vom Klassifikatornetzwerk gelieferten Klassifikations-Score wird ein Ansteuersignal für eine Vorrichtung zur Qualitätskontrolle von Produkten gebildet. Die Vorrichtung wird mit diesem Ansteuersignal angesteuert.
-
Ebenso lässt sich das Trainingsverfahren beispielsweise verwenden, um ein Klassifikatornetzwerk zu trainieren, das Verkehrssituationen beurteilt. Die Erfindung bezieht sich daher auch auf ein Verfahren, bei dem nach dem Training mit dem Trainingsverfahren dem Klassifikatornetzwerk Messdaten, die mit mindestens einem von einem Fahrzeug mitgeführten Sensor aufgenommen wurden, als Eingabedaten zugeführt werden. Aus dem dann vom Klassifikatornetzwerk gelieferten Klassifikations-Score wird ein Ansteuersignal für das Fahrzeug gebildet. Das Fahrzeug wird mit diesem Ansteuersignal angesteuert.
-
Durch das Vereinfachen des Klassifikatornetzwerks noch während des Trainings ist es dann in beiden Anwendungen deutlich besser nachvollziehbar, warum das Klassifikatornetzwerk die Entscheidung für ein bestimmtes Ansteuersignal getroffen hat. Dies kann beispielsweise genutzt werden, um die Entscheidung mit Hilfe beliebiger Zusatzinformationen zu plausibilisieren.
-
Die Verfahren können insbesondere ganz oder teilweise computerimplementiert sein. Daher bezieht sich die Erfindung auch auf ein Computerprogramm mit maschinenlesbaren Anweisungen, die, wenn sie auf einem oder mehreren Computern ausgeführt werden, den oder die Computer zu der zuvor beschrieben Vorrichtung aufwerten, und/oder dazu veranlassen, eines der zuvor beschriebenen Verfahren auszuführen. In diesem Sinne sind auch Steuergeräte für Fahrzeuge und Embedded-Systeme für technische Geräte, die ebenfalls in der Lage sind, maschinenlesbare Anweisungen auszuführen, als Computer anzusehen.
-
Ebenso bezieht sich die Erfindung auch auf einen maschinenlesbaren Datenträger und/oder auf ein Downloadprodukt mit dem Computerprogramm. Ein Downloadprodukt ist ein über ein Datennetzwerk übertragbares, d.h. von einem Benutzer des Datennetzwerks downloadbares, digitales Produkt, das beispielsweise in einem Online-Shop zum sofortigen Download feilgeboten werden kann.
-
Weiterhin kann ein Computer mit dem Computerprogramm, mit dem maschinenlesbaren Datenträger bzw. mit dem Downloadprodukt ausgerüstet sein.
-
Weitere, die Erfindung verbessernde Maßnahmen werden nachstehend gemeinsam mit der Beschreibung der bevorzugten Ausführungsbeispiele der Erfindung anhand von Figuren näher dargestellt.
-
Ausführungsbeispiele
-
Es zeigt:
- 1 Ausführungsbeispiel des Trainingsverfahrens 100;
- 2 Beispielhafte Verarbeitung eines Bildes eines Produkts 2 als Eingabedaten 11 mit dem trainierten Klassifikatornetzwerk 11;
- 3 Ausführungsbeispiel des Verfahrens 200 zum Ansteuern einer Vorrichtung 40 zur Qualitätskontrolle von Produkten 2;
- 4 Ausführungsbeispiel des Verfahrens 300 zum Ansteuern eines Fahrzeugs 50.
-
1 ist ein schematisches Ablaufdiagramm eines Ausführungsbeispiels des Verfahrens 100 zum Trainieren eines Klassifikatornetzwerks 1.
-
In Schritt 110 werden Lern-Eingabedaten 11a und zugehörige Lern-Klassifikations-Scores 16a bereitgestellt. In Schritt 120 werden Lern-Eingabedaten dem Klassifikatornetzwerk 1 zugeführt und auf Klassifikations-Scores 16 abgebildet. Diese Klassifikations-Scores 16 beinhalten eine Zuordnung der Lern-Eingabedaten 11a zu einer oder mehreren Klassen 3a-3c einer vorgegebenen Klassifikation 3.
-
Anhand einer vorgegebenen Kostenfunktion wird in Schritt 130 bewertet, inwieweit diese Klassifikations-Scores 16 im Einklang mit den jeweiligen Lern-Klassifikations-Scores 16a stehen. Es entsteht eine Bewertung 130a.
-
Dabei ist das Verhalten des Klassifikatornetzwerks 1 mindestens durch das Zusammenspiel aus Faltungsparametern φj einerseits und Kartenparametern wj andererseits charakterisiert. Die Faltungsparameter φj legen fest, wie Eingaben von Faltungsschichten 12, 13, 14 des Klassifikatornetzwerks 1 zu Merkmalskarten 12a-12c; 13a-13c; 14a-14c verarbeitet werden. Die Kartenparameter wj werden in dem Klassifikatornetzwerk 1 zu einer Vorschrift verarbeitet, inwieweit Merkmalskarten 12a-12c; 13a-13c; 14a-14c bei der weiteren Verarbeitung im Klassifikatornetzwerk 1 berücksichtigt werden. Dies ist in 2 näher erläutert.
-
In Schritt 140 werden mindestens die Faltungsparameter φj und die Kartenparameter wj gemeinsam optimiert mit dem Ziel, dass bei einer weiteren Verarbeitung von Lern-Eingabedaten 11a durch das Klassifikatornetzwerk 1 die Bewertung 130a durch die Kostenfunktion 17 voraussichtlich verbessert wird. Der fertig trainierte Zustand der Faltungsparameter φj ist mit dem Bezugszeichen (φj* bezeichnet. Der fertig trainierte Zustand der Kartenparameter wj ist mit dem Bezugszeichen wj* bezeichnet.
-
Gemäß Block 121 können in mindestens einer Faltungsschicht 12, 13, 14 ein oder mehrere Filterkerne nach Maßgabe der Faltungsparameter φj auf die Eingabe der Faltungsschicht 12, 13, 14 angewendet werden. Gemäß Block 122 kann dann zum hierbei erhaltenen Ergebnis ein vorgegebener Bias addiert werden. Gemäß Block 123 kann anschließend eine vorgegebene Nichtlinearität auf das hierbei erhaltene Ergebnis angewendet werden.
-
Gemäß Block 124 kann aus mindestens einem Kartenparameter wj mindestens einer Merkmalskarte 12a-12c; 13a-13c; 14a-14c ein Faktor pj gebildet werden, mit dem die Werte dieser Merkmalskarte 12a-12c; 13a-13c; 14a-14c vor der weiteren Verarbeitung dieser Merkmalskarte 12a-12c; 13a-13c; 14a-14c in dem Klassifikatornetzwerk 1 multipliziert werden. Diese Faktoren pj können nach Abschluss des Trainings in Schritt 150 insbesondere beispielsweise auf 0 und 1 quantisiert werden.
-
Der Faktor pj kann gemäß Block 124a insbesondere beispielsweise durch Anwenden einer Sigmoid-Funktion σ mit Wertebereich [0, 1] mindestens auf den Kartenparameter wj gebildet werden. Hierbei kann insbesondere beispielsweise gemäß Block 124b die Sigmoid-Funktion σ auf eine Summe aus dem Kartenparameter wj und einem aus einer Zufallsverteilung gezogenen Rausch-Sample η angewendet werden.
-
Gemäß Block 125 kann die Kostenfunktion 17 einen zusätzlichen Term umfassen, der von einer über Faktoren pj für mehrere Merkmalskarten 12a-12c; 13a-13c; 14a-14c gebildeten Norm abhängt.
-
Gemäß Block 126 kann das Training fortgesetzt werden,
- • bis die durchschnittliche Entropie über alle Faktoren pj gegen ein Minimum konvergiert, und/oder
- • bis der durchschnittliche Gradient, um den die Kartenparameter wj in einem Trainingsschritt geändert werden, kleiner als eine vorgegebene Norm ist, und/oder
- • bis eine vorgegebene Anzahl von Trainingsepochen abgeschlossen ist.
-
2 illustriert die beispielhafte Verarbeitung eines Bildes 11 eines Produkts 2, hier einer Schraubenmutter, als Eingabedaten durch ein mit dem zuvor beschriebenen Verfahren 100 trainiertes Klassifikatornetzwerk 1. In dem Bild 11 ist die Schraubenmutter 2, die einen Riss 21 aufweist, vor einem verrauschten Hintergrund zu sehen.
-
In dem in 2 gezeigten Beispiel umfasst das Klassifikatornetzwerk drei Faltungsschichten 12, 13 und 14 sowie eine vollvernetzte Schicht 15. Jede der Faltungsschichten 12, 13, 14 erzeugt aus ihrer jeweiligen Eingabe Merkmalskarten 12a-12c; 13a-13c; 14a-14c, die wiederum als Eingaben in die jeweils nachfolgende Schicht 13; 14; 15 geführt sind.
-
Dabei ist durch die trainierten Faltungsparameter (pj* festgelegt, wie die Faltung in den Faltungsschichten 12, 13, 14 jeweils abläuft. Durch die trainierten Kartenparameter wj* ist festgelegt, welche Merkmalskarten 12a-12c; 13a-13c; 14a-14c weiter verarbeitet werden und welche Merkmalskarten 12a-12c; 13a-13c; 14a-14c im Folgenden unberücksichtigt bleiben. Durch die trainierten Klassifikationsparameter Ψ* ist festgelegt, wie aus den zuletzt erzeugten Merkmalskarten 14a-14c der Klassifikations-Score 16 gebildet wird.
-
In dem in 2 gezeigten Beispiel ist durch das Training der Kartenparameter wj* festgelegt, dass nur die Merkmalskarten 12b, 13a, 13b und 14b jeweils im Klassifikatornetzwerk 1 weiter verarbeitet werden. Die Merkmalskarten 12a, 12c, 13c, 14a und 14c werden jeweils nicht berücksichtigt, so dass auf ihre Erzeugung in den jeweiligen Faltungsschichten 12, 13, 14 von vornherein verzichtet werden kann. Es können also die für die Erzeugung dieser Merkmalskarten 12a, 12c, 13c, 14a und 14c jeweils erforderlichen Filterkerne bei der Implementierung des Klassifikatornetzwerks eingespart werden.
-
Merkmalskarten 12a-12c, 13a-13c, 14a-14c korrespondieren zu bestimmten Typen von Merkmalen im Bild 11, auf die die jeweiligen Filterkerne sensitiv sind. Dass bestimmte Merkmalskarten 12a, 12c, 13c, 14a und 14c unberücksichtigt bleiben können, liefert somit auch die Information, dass bestimmte Typen von Merkmalen für die Zuordnung des Bildes 11 zu einer oder mehreren Klassen 3a-3c nicht relevant sind.
-
Für Merkmalskarten 12b, 13a, 13b und 14b, die berücksichtigt werden, kann optional näher untersucht werden, auf welche Merkmale im Bild 11 diese Merkmalskarten 12b, 13a, 13b und 14b im Einzelnen achten. Hierzu kann beispielsweise das Bild 11 mit einem Gradientenabstiegsverfahren oder einem beliebigen anderen Optimierungsverfahren dahingehend optimiert werden, dass die Merkmalsaktivierungen in den berücksichtigten Merkmalskarten 12b, 13a, 13b und 14b maximiert werden. Indem nur noch deutlich weniger Merkmalskarten 12b, 13a, 13b und 14b überhaupt berücksichtigt werden, wird diese Art der Analyse deutlich erleichtert.
-
3 ist ein schematisches Ablaufdiagramm eines Ausführungsbeispiels des Verfahrens 200 zum Ansteuern einer Vorrichtung zur Qualitätskontrolle von Produkten 2. In Schritt 210 wird ein Klassifikatornetzwerk 1 mit dem zuvor beschriebenen Verfahren 100 trainiert. In Schritt 220 werden dem Klassifikatornetzwerk 1 Messdaten, die durch physikalische Beobachtung mindestens eines Produkts 2 aufgenommen wurden, als Eingabedaten 11 zugeführt. In Schritt 230 wird aus dem vom Klassifikatornetzwerk 1 gelieferten Klassifikations-Score 16 ein Ansteuersignal 230a für eine Vorrichtung 40 zur Qualitätskontrolle von Produkten 2 gebildet. In Schritt 240 wird die Vorrichtung 40 mit diesem Ansteuersignal 230a angesteuert.
-
4 ist ein schematisches Ablaufdiagramm eines Ausführungsbeispiels des Verfahrens 300 zum Ansteuern eines Fahrzeugs 50. In Schritt 310 wird ein Klassifikatornetzwerk 1 mit dem zuvor beschriebenen Verfahren 100 trainiert. In Schritt 320 werden dem Klassifikatornetzwerk 1 Messdaten, die mit mindestens einem von einem Fahrzeug 50 mitgeführten Sensor 51 aufgenommen wurden, als Eingabedaten 11 zugeführt. In Schritt 330 wird aus dem vom Klassifikatornetzwerk 1 gelieferten Klassifikations-Score 16ein Ansteuersignal 330a für das Fahrzeug 50 gebildet. In Schritt 340 wird das Fahrzeug 40 mit diesem Ansteuersignal 330a angesteuert.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-