-
Die vorliegende Erfindung betrifft das Training von Generatoren, mit denen realistische Bilder erzeugt werden können, die ihrerseits beispielsweise als Trainingsbilder für Bildklassifikatoren verwendet werden können.
-
Stand der Technik
-
Viele Systeme zum zumindest teilweise automatisierten Führen von Fahrzeugen verwenden Bilder, die im Umfeld des Fahrzeugs aufgenommen wurde, als wichtigste Informationsquelle. Die Bilder werden üblicherweise von einem Bildklassifikator auf das Vorhandensein bestimmter verkehrsrelevanter Objekte untersucht. Anhand des Ergebnisses dieser Untersuchung wird das Verhalten des Fahrzeugs in der nächsten Zukunft geplant.
-
Bildklassifikatoren werden meist mit Machine Learning-Modellen realisiert, die eine große Kraft zur Verallgemeinerung haben. Nach einem Training mit endlich vielen Trainingssituationen können solche Bildklassifikatoren nicht nur diese Trainingssituationen, sondern auch eine Vielzahl bislang ungesehener Situationen zutreffend auswerten. So wird etwa ein neu eingeführtes Automodell immer noch als Auto erkannt.
-
Trainingsbilder für Bildklassifikatoren sind eine knappe und teure Ressource, da sie auf langen Testfahrten „eingefahren“ werden und in der Regel manuell mit dem Soll-Inhalt, den der Bildklassifikator darin erkennen soll, „gelabelt“ werden müssen. Dabei müssen die Trainingsbilder in Bezug beispielsweise auf Jahreszeiten, Wetterbedingungen und Typen von Verkehrssituationen die Bedingungen, denen das Fahrzeug voraussichtlich begegnen wird, in hinreichender Breite abdecken.
-
Um den Bedarf an manuellem „Labeln“ zu verringern, offenbart die
DE 10 2018 204 494 B3 ein Verfahren zur Erzeugung synthetischer Radarsignale.
-
Offenbarung der Erfindung
-
Im Rahmen der Erfindung wurde ein Verfahren zum Trainieren eines Generators für Bilder entwickelt. Hierbei kann es sich insbesondere um Bilder handeln, die im Kontext einer vorgegebenen Anwendung realistisch sind. „Realistisch“ kann in diesem Zusammenhang insbesondere beispielsweise bedeuten, dass die vom Generator erzeugten Bilder in der gleichen Weise verwendet werden können wie mit einem oder mehreren Sensoren erfasste Bilder.
-
Das Verfahren beginnt damit, dass ein erstes neuronales Netzwerk als Generator bereitgestellt wird. Dieses neuronale Netzwerk ist dazu ausgebildet, einen Eingabe-Vektor auf ein Bild abzubilden, und umfasst zu diesem Zweck eine Mehrzahl von Faltungsschichten. Hierbei ist mindestens eine Faltungsschicht dazu ausgebildet, die ihr zugeführte Eingabe durch Anwenden mehrerer Filterkerne in Merkmalskarten von Aktivierungen dieser Filterkerne umzuwandeln. Es können also beispielsweise während der Verarbeitung Repräsentationen entstehen, die zu vielen Filterkernen jeweils eine Merkmalskarte umfassen. Diese Repräsentationen können dann beispielsweise durch die Anwendung eines oder mehrerer weiter Filterkerne in einer oder mehreren weiteren Faltungsschichten zum letztendlich erzeugten Bild verdichtet werden.
-
Es werden Eingabe-Vektoren bereitgestellt und vom Generator auf Bilder abgebildet. Die Eingabe-Vektoren können beispielsweise Zahlenwerte beinhalten, die aus einer oder mehreren Zufallsverteilungen gezogen wurden.
-
Die vom Generator erzeugten Bilder werden nach einem vorgegebenen Gütemaß bewertet. Der Wert dieses Gütemaßes kann sich insbesondere beispielsweise danach richten, wie gut sich die vom Generator erzeugten Bilder für den vorgesehenen Verwendungszweck eignen. Dies wiederum kann beispielsweise davon abhängen, inwieweit die Verteilung der vom Generator erzeugten Bilder eine durch bereits vorhandene sensorisch aufgenommene Bilder charakterisierte Verteilung nachbildet.
-
Parameter, die das Verhalten des Generators charakterisieren, werden optimiert mit dem Ziel, bei fortgesetzter Verarbeitung von Eingabe-Vektoren durch den Generator die mit dem Gütemaß erhaltene Bewertung zu verbessern. Diese Parameter können beispielsweise Gewichte umfassen, mit denen Eingaben, die einem Neuron oder einer anderen Verarbeitungseinheit in dem neuronalen Netzwerk zugeführt werden, zu einer Aktivierung dieses Neurons oder dieser anderen Verarbeitungseinheit summiert werden. Für diese Optimierung kann jedes geeignete Optimierungsverfahren genutzt werden, wie beispielsweise ein Gradientenabstiegsverfahren.
-
Während der Verarbeitung mindestens eines Eingabe-Vektors zu der Bewertung durch das Gütemaß werden mindestens ein erster Filterkern und ein zweiter Filterkern ausgewählt, die an der Verarbeitung beteiligt sind und jeweils auf die gleiche Eingabe angewendet werden. Dies kann insbesondere beispielsweise bedeuten, dass diese beiden Filterkerne zur gleichen Faltungsschicht gehören. Dass die Filterkerne an der Verarbeitung beteiligt sind, ist nicht gleichbedeutend damit, dass die Filterkerne Teil des Generators sind. Vielmehr kann beispielsweise auch die Bewertung der vom Generator erzeugten Bilder mit dem Gütemaß beinhalten, dass diese Bilder mit weiteren Filterkernen verarbeitet werden.
-
Es können insbesondere beispielsweise mehrere Paare von Filterkernen in der gleichen Faltungsschicht ausgewählt werden. Es können insbesondere beispielsweise auch in mehreren Faltungsschichten jeweils Filterkerne ausgewählt werden.
-
Mindestens eine erste Aktivierung des ersten ausgewählten Filterkerns wird erniedrigt. Im Gegenzug wird mindestens eine Aktivierung des zweiten Filterkerns erhöht.
-
Es wurde erkannt, dass auf diese Weise die Variabilität der vom Generator erzeugten Bilder deutlich verbessert werden kann. Speziell wird das Entstehen von strengen Antikorrelationen dergestalt, dass ein bestimmter Filterkern immer genau dann hohe Werte ausgibt, wenn ein bestimmter anderer Filterkern niedrige Werte ausgibt, unterdrückt. Wenn nun der Generator beispielsweise darauf trainiert wird, dass die Verteilung der vom Generator erzeugten Bilder eine durch bereits vorhandene Trainingsbilder charakterisierte Verteilung nachbildet, dann gibt genau dieses Unterdrücken von Antikorrelationen dem Generator die Freiheit, die erzeugten Bilder mit neuen Kombinationen der Merkmale aus den Trainingsbildern anzureichern.
-
Wenn beispielsweise die Trainingsbilder Porträtfotos einer Vielzahl von Personen zeigen, so können diese Trainingsbilder etwa weibliche Gesichter in Kombination mit Halsketten und männliche Gesichter in Kombination mit Bärten zeigen. Weibliche Gesichter in Kombination mit Bärten werden hingegen in den Trainingsbildern nicht zu finden sein. Das übliche Training von Generatoren kann genau diese Feststellung richtigerweise erfassen und in einer Antikorrelation der Merkmale „weibliches Gesicht“ und „Bart“ festhalten. Wenn nun aber beispielsweise eine hohe Aktivierung des für das Merkmal „Halskette“ zuständigen Filterkerns abgesenkt und im Gegenzug eine niedrige Aktivierung des für das Merkmal „Bart“ zuständigen Filterkerns erhöht wird, kann ein Bild eines weiblichen Gesichts mit Bart erzeugt werden.
-
Wenn der Generator verwendet wird, um Bilder von Verkehrssituationen zu erzeugen, können beispielsweise bestimmte Situationen in den verwendeten Trainingsbildern allein deshalb nicht in Kombination mit Schnee auftauchen, weil Schnee insgesamt selten vorkommt. Hieraus kann der Generator fälschlicherweise schließen, dass es einen kausalen Zusammenhang zwischen Schnee und dem Nichtvorkommen bestimmter Situationen gibt. Gemäß dem hier beschriebenen Verfahren kann nun beispielsweise eine hohe Aktivierung eines für das Merkmal „Sommerwetter“ zuständigen Filterkerns abgesenkt und im Gegenzug eine niedrige Aktivierung eines für das Merkmal „Schnee“ zuständigen Filterkerns erhöht werden, um eine Repräsentation, aus der sonst ein Bild mit der gewünschten Situation bei Sommerwetter erzeugt worden wäre, in eine Repräsentation umzuwandeln, aus der ein Bild mit dieser Situation bei Schnee erzeugt wird. Gerade Trainingsbilder von „corner cases“, wie beispielsweise Beinahe-Unfällen, sind häufig nur in begrenzter Zahl und mit einer begrenzten Zahl von Begleitumständen (etwa Wetterbedingungen) verfügbar.
-
In einer besonders vorteilhaften Ausgestaltung werden Aktivierungen des ersten Filterkerns, die oberhalb eines ersten vorgegebenen Schwellwerts liegen, erhöht, und im Gegenzug Aktivierungen des zweiten Filterkerns, die unterhalb eines zweiten, niedrigeren vorgegebenen Schwellwerts liegen, erniedrigt. Auf diese Weise können insbesondere auch Merkmale, die sich in mehreren, aber nicht in allen Aktivierungen eines bestimmten Filterkerns manifestieren, erfasst und im Ganzen aus dem zu erzeugenden Bild entfernt bzw. zu dem zu erzeugenden Bild hinzugefügt werden. Wird nur ein Teil der Aktivierungen erfasst, die sich auf ein bestimmtes Merkmal beziehen, wird dieses Merkmal möglicherweise unvollständig entfernt bzw. hinzugefügt. So kann beispielsweise von einem zu entfernenden Fußgänger noch ein Schatten im Bild verbleiben, oder einem eingefügten Fußgänger fehlen einzelne Gliedmaßen oder der Kopf. Derartige Fehler führen dazu, dass das erzeugte Bild im Kontext der jeweiligen Anwendung weniger realistisch erscheint.
-
Die Schwellwerte können beispielsweise nach einem vorgegebenen Kriterium anhand einer Statistik der Aktivierungen in der mindestens einen Faltungsschicht festgelegt werden. Diese Statistik kann beispielsweise anhand eines Kalibrierungsdatensatzes ermittelt werden. Beispielsweise kann das 90. Perzentile der Aktivierungen in der Faltungsschicht als Schwelle für eine besonders hohe Aktivierung festgelegt werden. Beispielsweise kann das 10. Perzentile der Aktivierungen in der Faltungsschicht als Schwelle für eine besonders niedrige Aktivierung festgelegt werden.
-
Beispielsweise können die Aktivierungen des ersten Filterkerns, die oberhalb des ersten vorgegebenen Schwellwerts liegen, auf den zweiten vorgegebenen Schwellwert erniedrigt werden. Im Gegenzug können dann die Aktivierungen des zweiten Filterkerns, die unterhalb des zweiten vorgegebenen Schwellwerts liegen, auf den ersten vorgegebenen Schwellwert erhöht werden. Dies wirkt im zu erzeugenden Bild wie ein „Ausschalten“ des Merkmals, für das der erste Filterkern zuständig ist, bei gleichzeitigem „Einschalten“ des Merkmals, für das der zweite Filterkern zuständig ist. Jedoch wird anders als beim Setzen der Aktivierungen auf den minimal bzw. maximal möglichen Wert eine Tendenz unterdrückt, zusätzliche Information zu der Merkmalskarte hinzuzufügen, die sich im vom Generator erzeugten Bild als Artefakt manifestieren könnte.
-
In einer weiteren besonders vorteilhaften Ausgestaltung werden Aktivierungen des ersten Filterkerns mit hierzu korrespondierenden Aktivierungen des zweiten Filterkerns vertauscht. Hiermit können auch Merkmale, die in den Aktivierungen keine völlig scharfen Konturen, sondern eher weiche Kanten haben, weitestgehend artefaktfrei aus dem zu erzeugenden Bild entfernt, bzw. in dieses Bild eingefügt, werden.
-
Der erste Filterkern und der zweite Filterkern können insbesondere beispielsweise zufällig aus denjenigen Filterkernen ausgewählt werden, die auf ein und dieselbe Eingabe wirken und somit beispielsweise der gleichen Faltungsschicht angehören. Dann erzeugt der Generator zunächst neue Kombinationen von Merkmalen völlig unvoreingenommen, ohne Ansehung der semantischen Bedeutung von Merkmalen, für die bestimmte Filterkerne zuständig sind. Keine Kombination wird von vornherein ausgeschlossen. Erst die Bewertung mit dem Gütemaß trennt realistische neue Kombinationen, wie etwa den Austausch eines männlichen Gesichts gegen ein weibliches Gesicht bei einem Fußgänger, von unrealistischen neuen Kombinationen, wie beispielsweise dem Austausch eines menschlichen Kopfes gegen einen Pferdekopf. Wie später noch erläutert wird, können die vom Generator erzeugten Bilder insbesondere beispielsweise durch das Gütemaß umso besser bewertet werden, je schlechter die Klassifikationsgenauigkeit eines Diskriminators ist, der darauf trainiert ist oder wird, die vom Generator erzeugten Bilder als „Fälschungen“ zu identifizieren. Im Diskriminator kann dann ebenfalls mindestens eine Aktivierung mindestens eines ersten Filterkerns erniedrigt und im Gegenzug mindestens eine Aktivierung eines zweiten Filterkerns erhöht werden, damit die vom Generator erzeugten Bilder dem Diskriminator nicht sofort als „Fälschungen“ auffallen. Stattdessen erhalten diese „Fälschungen“ dann, wenn sie qualitativ gut gemacht sind, eine „faire Chance“, vom Diskriminator unbemerkt zu bleiben.
-
In einer weiteren vorteilhaften Ausgestaltung wird während der Verarbeitung eines jeden Eingabe-Vektors anhand mindestens eines aus einer Zufallsverteilung gezogenen Werts entschieden, ob während der Verarbeitung dieses konkreten Eingabe-Vektors eine Aktivierung eines ersten Filterkerns erniedrigt und eine Aktivierung eines zweiten Filterkerns erhöht wird. Das Abändern bzw. von Austauschen von Aktivierungen in Merkmalskarten induziert dann keinen „Bias“ im Generator, weil sich der Generator nicht darauf „verlassen“ kann, dass diese Veränderungen in jedem Fall stattfinden.
-
In einer weiteren vorteilhaften Ausgestaltung werden eine oder mehrere Merkmalskarten durch ein trainiertes Machine Learning-Modell auf eine Angabe derjenigen Aktivierungen abgebildet, die zu erniedrigen bzw. zu erhöhen sind. Ein solches Modell kann beispielsweise lernen, in welchen zusammenhängenden Aktivierungen sich bestimmte Merkmale manifestieren. So kann beispielsweise ein und derselbe Filterkern für mehrere unterschiedliche Merkmale zuständig sein, deren Vorhandensein sich jeweils in unterschiedlichen räumlichen Aktivierungsmustern auf seiner Merkmalskarte manifestiert.
-
In einer weiteren besonders vorteilhaften Ausgestaltung werden Trainingsbilder aus einer vorgegebenen Verteilung von Bildern, die durch die Verteilung der vom Generator erzeugten Bilder nachgebildet werden soll, bereitgestellt. Weiterhin wird ein trainierbarer Diskriminator bereitgestellt, der dazu ausgebildet ist, ein eingegebenes Bild dahingehend zu klassifizieren, ob dieses Bild zu der vorgegebenen Verteilung gehört oder aber ein vom Generator erzeugtes Bild ist.
-
Die vom Generator erzeugten Bilder werden mit den Trainingsbildern in einem Pool zusammengeführt. Aus diesem Pool gezogene Bilder werden vom Diskriminator als vom Generator erzeugt oder aber als zur vorgegebenen Verteilung gehörend klassifiziert. Parameter, die das Verhalten des Diskriminators charakterisieren, werden optimiert mit dem Ziel, die Klassifikationsgenauigkeit des Diskriminators zu verbessern. Im Gegenzug werden die vom Generator erzeugten Bilder durch das Gütemaß umso besser bewertet, je schlechter die Klassifikationsgenauigkeit des Diskriminators für diese Bilder ist. Das Gütemaß wiederum ist das Feedback für das Training des Generators.
-
Dabei können das Training des Generators einerseits und das Training des Diskriminators andererseits insbesondere gleichzeitig oder im Wechsel erfolgen. Der Generator und der Diskriminator bilden dann ein Generative Adversarial Network, GAN. Ein wesentlicher Vorteil eines GAN liegt darin, dass ein Gütemaß für das Training des Generators nicht mehr explizit formuliert werden muss, sondern in besonders einsichtiger Weise durch das Vorlegen der Trainingsbilder festgelegt werden kann.
-
Vorteilhaft wird ein Diskriminator gewählt, der ein zweites neuronales Netzwerk mit einer Mehrzahl von Faltungsschichten umfasst. Dabei ist mindestens eine dieser Faltungsschichten dazu ausgebildet, die ihr zugeführte Eingabe durch Anwenden mehrerer Filterkerne in Merkmalskarten von Aktivierungen dieser Filterkerne umzuwandeln. Dann können alternativ oder auch in Kombination zum zuvor beschriebenen Abändern von Aktivierungen in Merkmalskarten des Generators eine oder mehrere Merkmalskarten des Diskriminators in der gleichen Weise abgeändert werden. Eine Abänderung von Merkmalskarten des Diskriminators ergänzt die Abänderung von Merkmalskarten des Generators dahingehend, dass völlig neue Merkmalskombinationen, die aus den Trainingsbildern nicht bekannt sind, nicht sofort als vom Generator erzeugt erkannt werden. Wenn etwa in dem eingangs erwähnten Beispiel der Generator in dem Bild eines weiblichen Porträts eine Halskette gegen einen Bart austauscht, könnte es dem Diskriminator sofort auffallen, dass der komplette Bestand an Trainingsbildern kein einziges Bild eines weiblichen Gesichts mit Bart enthält. Wenn nun aber beispielsweise im Diskriminator während der Verarbeitung der Bart gegen die Halskette „zurückgetauscht“ wird, erscheint dem Diskriminator das vom Generator erzeugte Bild wie das Bild eines weiblichen Gesichts mit Halskette. Dies „kennt“ der Diskriminator als zu der Verteilung gehörend, der auch die Trainingsbilder angehören. Somit erhalten vom Generator qualitativ gut gemachte „Fälschungen“ eine „faire Chance“, vom Diskriminator unbemerkt zu bleiben.
-
Somit werden in einer weiteren besonders vorteilhaften Ausgestaltung während des Klassifizierens mindestens eines aus dem Pool P gezogenen Bildes durch den Diskriminator mindestens ein erster Filterkern und ein zweiter Filterkern ausgewählt werden, die an diesem Klassifizieren beteiligt sind und jeweils auf die gleiche Eingabe angewendet werden. Mindestens eine Aktivierung des ersten Filterkerns wird erniedrigt, und im Gegenzug wird mindestens eine Aktivierung des zweiten Filterkerns erhöht.
-
In einer weiteren vorteilhaften Ausgestaltung wird während der Verarbeitung mindestens eines Eingabe-Vektors zu der Bewertung durch das Gütemaß mindestens eine zufällig ausgewählte Aktivierung eines an dieser Verarbeitung beteiligten Filterkerns auf Null gesetzt. Dieser „Dropout“ führt ebenfalls dazu, dass der Generator, und ggfs. der Diskriminator, sich nicht auf das ständige Vorhandensein von Korrelationen oder Antikorrelationen zwischen den Aktivierungen unterschiedlicher Filterkerne „verlassen“ können. Somit fördert ein „Dropout“ im Generator das Entstehen neuer Merkmalskombinationen in den vom Generator erzeugten Bildern. Ein „Dropout“ im Diskriminator vermindert hingegen das „Entdeckungsrisiko“, wenn derartige neue Kreationen vom Diskriminator klassifiziert werden.
-
Wie zuvor erläutert, ist ein wichtiger Anwendungszweck des Generators die Erzeugung von Trainingsbildern für Bildklassifikatoren. Die Erfindung bezieht sich daher auch auf ein weiteres Verfahren, bei dem ein Generator wie zuvor beschrieben trainiert wird und die mit diesem trainierten Generator aus Eingabe-Vektoren erzeugten Bilder als Trainingsbilder verwendet werden. Unter Heranziehung dieser Trainingsbilder wird ein Bildklassifikator trainiert. Hierbei bedeutet „unter Heranziehung“ insbesondere, dass der Bildklassifikator zusätzlich auch mit anderen als vom Generator erzeugen Bildern trainiert werden kann. Häufig werden Generatoren verwendet, um einen bereits vorhandenen, mehr oder weniger großen Vorrat an sensorisch erfassten Trainingsbildern zu ergänzen. Hierbei kann dann der Generator insbesondere beispielsweise Zusatzinformationen zu bestimmten Eigenschaften erhalten, die die von ihm erzeugten Bilder aufweisen sollen. Mit anderen Worten, der Generator wird auf diese Zusatzinformationen „konditioniert“.
-
Besonders vorteilhaft werden Bilder, die mit mindestens einem Sensor aufgenommen wurden, von dem trainierten Bildklassifikator auf einen oder mehrere Klassifikations-Scores bezüglich einer oder mehrerer Klassen einer vorgegebenen Klassifikation abgebildet. Aus diesen Klassifikations-Scores wird ein Ansteuersignal gebildet. Mit diesem Ansteuersignal wird ein Fahrzeug, ein System für die Qualitätskontrolle von Produkten, ein System für die Überwachung von Bereichen, und/oder ein System für die medizinische Bildgebung, angesteuert.
-
Indem der in das Training des Bildklassifikators eingeflossene Vorrat an Trainingsbildern um die vom Generator erzeugten Bilder erweitert wird, wird das Ergebnis dieses Trainings verbessert. Speziell kann der Bildklassifikator so trainiert werden, dass er besser auch auf im Training ungesehene Situationen generalisiert. Das heißt, die Klassifikationsgenauigkeit des Bildklassifikators insbesondere in Bezug auf im Training ungesehene Situationen sowie Kombinationen von Merkmalen wird erhöht. Hiermit wird auch die Wahrscheinlichkeit erhöht, dass die von dem jeweiligen technischen System auf das Ansteuersignal hin ausgeführte Aktion der durch die sensorisch erfassten Bilder charakterisierten Situation, wie beispielsweise einer Verkehrssituation oder der Prüfung eines konkreten Produkts bei der Qualitätskontrolle, angemessen ist.
-
Beispielsweise kann ein Bildklassifikator für Verkehrssituationen, für dessen Training es nur tagsüber aufgenommene Trainingsbilder mit bestimmten Unfallsituationen gibt, darauf trainiert werden, diese Unfallsituationen auch in nachts aufgenommenen Bildern gut zu erkennen.
-
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 dazu veranlassen, eines der 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.
-
Figurenliste
-
Es zeigt:
- 1 Ausführungsbeispiel des Verfahrens 100 zum Trainieren eines Generators 1;
- 2 Ausführungsbeispiel des Verfahrens 200 mit vollständiger Wirkkette bis zur Ansteuerung technischer Systeme 71-74;
- 3 Veranschaulichung der Wirkung eines Tausches von Aktivierungen zwischen Filterkernen 11a und 11b auf das vom Generator 1 erzeugte Bild 3.
-
1 ist ein schematisches Ablaufdiagramm eines Ausführungsbeispiels des Verfahrens 100 zum Trainieren des Generators 1.
-
In Schritt 110 wird ein neuronales Netzwerk mit mehreren Faltungsschichten 11, die wiederum jeweils mehrere Filterkerne 11a-11c aufweisen, als Generator 1 bereitgestellt. Eingabe-Vektoren 2, die beispielsweise aus einer Zufallsverteilung gezogen werden können, werden in Schritt 120 auf Bilder 3 abgebildet.
-
Hierbei wird in Block 120a zunächst anhand mindestens eines aus einer Zufallsverteilung gezogenen Werts entschieden, ob während der Verarbeitung des konkreten Eingabe-Vektors 2 Aktivierungen von Filterkernen 11a-11c künstlich verändert werden (Wahrheitswert 1) oder ob der Generator 1 den Eingabe-Vektor 2 einfach entsprechend seines derzeitigen Trainingsstandes in ein Bild 3 umwandeln soll (Wahrheitswert 0).
-
Wenn Veränderungen vorgenommen werden sollen, so werden zunächst in Schritt 121 zwei Filterkerne 11a-11c aus der gleichen Faltungsschicht 11 ausgewählt. Diese Auswahl kann insbesondere beispielsweise gemäß Block 125 zufällig erfolgen. Sodann wird in Schritt 122 mindestens eine Aktivierung des ersten Filterkerns 11a-11c erniedrigt und im Gegenzug mindestens eine Aktivierung des zweiten Filterkerns 11a-11c erhöht.
-
Hierbei können insbesondere beispielsweise gemäß Block 123 Aktivierungen des ersten Filterkerns 11a-11c, die oberhalb eines ersten vorgegebenen Schwellwerts liegen, erhöht werden und im Gegenzug Aktivierungen des zweiten Filterkerns 11a-11c, die unterhalb eines zweiten, niedrigeren vorgegebenen Schwellwerts liegen, erniedrigt werden.
-
Gemäß Block 123a können beispielsweise der erste vorgegebene Schwellwert, und/oder der zweite vorgegebene Schwellwert, nach einem vorgegebenen Kriterium anhand einer Statistik der Aktivierungen in der mindestens einen Faltungsschicht festgelegt werden, etwa nach Perzentilen.
-
Gemäß Block 123b können die Aktivierungen des ersten Filterkerns 11a-11c, die oberhalb des ersten vorgegebenen Schwellwerts liegen, auf den zweiten vorgegebenen Schwellwert erniedrigt werden und im Gegenzug die Aktivierungen des zweiten Filterkerns 11a-11c, die unterhalb des zweiten vorgegebenen Schwellwerts liegen, auf den ersten vorgegebenen Schwellwert erhöht werden.
-
Gemäß Block 124 können Aktivierungen des ersten Filterkerns 11a-11c mit hierzu korrespondierenden Aktivierungen des zweiten Filterkerns 11a-11c vertauscht werden.
-
Gebiete, in denen bestimmte Filterkerne hohe oder niedrige Aktivierungen aufweisen, können beispielsweise durch eine Relevanzbewertung in Bezug auf eine nachgeschaltete Auswertung (etwa Klassifikation) der Bilder ermittelt werden. Mit derartigen Relevanzbewertungen können beispielsweise Gradienten des Auswertungsergebnisses (etwa der Klassifikations-Scores) nach den Aktivierungen der Filterkerne berechnet werden, und es kann ermittelt werden, in welchen Bereichen der Filterkerne diese Gradienten besonders groß sind.
-
Es können aber auch beispielsweise gemäß Block 126 eine oder mehrere Merkmalskarten durch ein trainiertes Machine Learning-Modell auf eine Angabe derjenigen Aktivierungen abgebildet werden, die zu erniedrigen bzw. zu erhöhen sind.
-
In Schritt 130 werden die vom Generator 1 erzeugten Bilder 3 nach einem vorgegebenen Gütemaß 4 bewertet. In Schritt 140 werden Parameter 1a, die das Verhalten des Generators 1 charakterisieren, optimiert mit dem Ziel, bei fortgesetzter Verarbeitung von Eingabe-Vektoren 2 durch den Generator 1 die mit dem Gütemaß 4 erhaltene Bewertung 4a zu verbessern. Der fertig trainierte Zustand der Parameter 1a ist mit dem Bezugszeichen 1a* bezeichnet. In diesem Zustand bildet der Generator 1 Eingabe-Vektoren 2 bestmöglich auf die gemäß dem vorgegebenen Gütemaß 4 gewünschten Bilder 3 ab.
-
In dem in 1 gezeigten Beispiel wird das Gütemaß 4 nicht explizit formuliert, sondern ist Teil eines adversariellen Trainings im Tandem mit einem Diskriminator 6, der in Schritt 112 bereitgestellt wird. Dieser Diskriminator 6 kann gemäß Block 112a insbesondere ein zweites neuronales Netzwerk mit einer Mehrzahl von Faltungsschichten 61 umfassen, die ihrerseits jeweils mehrere Filterkerne 61a-61c enthalten. Das adversarielle Training verwendet Trainingsbilder 5a aus einer vorgegebenen Verteilung 5, die in Schritt 111 bereitgestellt werden. Ziel des Trainings ist, dass der Generator 1 Bilder 3 erzeugt, die ebenfalls der vorgegebenen Verteilung 5 angehören.
-
Zu diesem Zweck werden die vom Generator 1 erzeugten Bilder 3 in Schritt 150 mit den Trainingsbildern 5a in einem Pool P zusammengeführt. In Schritt 160 werden aus dem Pool P gezogene Bilder 7 vom Diskriminator 6 als vom Generator 1 erzeugt oder aber als zur vorgegebenen Verteilung 5 gehörend klassifiziert. In Schritt 170 werden Parameter 6a, die das Verhalten des Diskriminators 6 charakterisieren, optimiert mit dem Ziel, die Klassifikationsgenauigkeit A des Diskriminators 6 zu verbessern. Zugleich dient diese Klassifikationsgenauigkeit A gemäß Block 131 auch als Feedback für das Gütemaß 4: Die vom Generator 1 erzeugten Bilder 3 werden durch das Gütemaß 4 umso besser bewertet, je schlechter die Klassifikationsgenauigkeit A des Diskriminators 6 für diese Bilder 3 ist.
-
Aktivierungen der Filterkerne 61a-61c des Diskriminators 6 können in genau der gleichen Weise abgeändert werden wie Aktivierungen der Filterkerne 11a-11c des Generators 1.
-
Insbesondere können beispielsweise gemäß Block 161 während des Klassifizierens mindestens eines Bildes 7 durch den Diskriminator 6 mindestens ein erster Filterkern 61a-61c und ein zweiter Filterkern 61a-61c des Diskriminators 6 ausgewählt werden, die an diesem Klassifizieren beteiligt sind und jeweils auf die gleiche Eingabe angewendet werden. Gemäß Block 162 kann dann mindestens eine Aktivierung des ersten Filterkerns 61a-61c erniedrigt und im Gegenzug mindestens eine Aktivierung des zweiten Filterkerns 61a-61c erhöht werden. Wie zuvor erläutert, verschafft dies „Fälschungen“, die vom Generator 1 qualitativ gut gemacht wurden, eine „faire Chance“, nicht von vornherein als „Fälschungen“ erkannt zu werden.
-
Der fertig trainierte Zustand der Parameter 6a des Diskriminators 6 ist mit dem Bezugszeichen 6a* bezeichnet. Wie durch die gestrichelte Verbindung zu Schritt 120 angedeutet ist, können der Generator 1 und der Diskriminator 6 gleichzeitig oder im Wechsel trainiert werden, bis ein Gleichgewicht der Trainingszustände erzielt ist. Anschließend wird nur noch der Generator 1 benötigt. Der Diskriminator 6 hat seinen Dienst getan und wird nicht mehr benötigt.
-
2 ist ein schematisches Ablaufdiagramm eines Ausführungsbeispiels des Verfahrens 200 mit der vollständigen Wirkkette bis zur Ansteuerung technischer Systeme 71-74.
-
In Schritt 210 wird ein Generator 1 mit dem zuvor beschriebenen Verfahren 100 trainiert. In Schritt 220 werden mit dem trainierten Generator 1 aus Eingabe-Vektoren 2 Bilder 3 erzeugt. Unter Heranziehung dieser Bilder 3 als Trainingsbilder wird in Schritt 230 ein Bildklassifikator trainiert.
-
Bilder 8, die mit mindestens einem Sensor aufgenommen wurden, werden in Schritt 240 von dem trainierten Bildklassifikator 20 auf einen oder mehrere Klassifikations-Scores 21 bezüglich einer oder mehrerer Klassen einer vorgegebenen Klassifikation abgebildet. Aus den Klassifikations-Scores 21 wird in Schritt 250 ein Ansteuersignal 250a gebildet. In Schritt 260 wird ein Fahrzeug 71, ein System 72 für die Qualitätskontrolle von Produkten, ein System 73 für die Überwachung von Bereichen, und/oder ein System 74 für die medizinische Bildgebung, mit dem Ansteuersignal 250a angesteuert.
-
3 veranschaulicht an einem vereinfachten Beispiel die Wirkung eines Tausches von Aktivierungen zwischen Filterkernen 11a und 11b auf das vom Generator 1 erzeugte Bild 3. Ein bestimmter Satz Aktivierungen von Filterkernen 11a-11c führt bei weiterer Verarbeitung im Generator 1 auf das Bild 3. Dieses Bild 3 zeigt ein Porträt einer Frau mit einem Gesicht 30, einem Hals 31 und einer Schulterpartie 32. Am Hals 31 ist eine Halskette 33 befestigt.
-
Werden die Aktivierungen des Filterkerns 11a mit den Aktivierungen des Filterkerns 11b vertauscht, ergibt die weitere Verarbeitung im Generator 1 hingegen das Bild 3'. Hier ist die Halskette 33 verschwunden. Stattdessen ist im Gesicht 30 ein Bart 34 zu sehen.
-
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
-
- DE 102018204494 B3 [0005]