-
Die Erfindung betrifft ein Verfahren zum Trainieren eines Klassifizierers, ein Verfahren zur Verwendung dieses Klassifizierers, ein Computerprogramm und ein maschinenlesbares Speichermedium, ein Steuersystem und ein Trainingssystem.
-
Stand der Technik
-
Die folgenden Dokumente offenbaren einen kontrastiven Verlust für das Training von Maschinenlernsystemen:
- • Hadsell, R., Chopra, S., LeCun, Y.: Dimensionality reduction by learning an invariant mapping. 2006 IEEE Computer Society Conference on Computer Visionand Pattern Recognition (CVPR'06) 2, 1735-1742 (2006)
- • Chen, T., Kornblith, S., Norouzi, M., Hinton, G.E.: A simple framework for contrastive learning of visual representations. ArXivabs/2002.05709 (2020)
- • Khosla, P., Teterwak, P., Wang, C., Sarna, A., Tian, Y., Isola, P., Maschinot, A., Liu, C., Krishnan, D.: Supervised contrastive learning. arXiv preprint arXiv:2004.11362 (2020)
- • Tian, Y., Wang, Y., Krishnan, D., Tenenbaum, J., Isola, P.: Rethinking few-shot image classification: a good embedding is all you need? In: ECCV (2020)
-
Vorteile der Erfindung
-
Insbesondere in einem Open-World-Kontext (wie z. B. beim automatisierten Fahren) ist es unmöglich, einen Klassifizierer für alle Kontexte zu trainieren. Es ist daher wichtig, einen Klassifizierer zu trainieren, der robust und in Bezug auf den Kontext (oder die Domäne) unveränderlich ist.
-
Das Verfahren mit Merkmalen des unabhängigen Anspruchs 1 hat den Vorteil, dass ein Klassifizierer, insbesondere ein Bild- oder Audioklassifizierer, viel besser auf eine neue Domäne oder einen neuen Kontext übertragen werden kann und daher genauer ist.
-
Weitere Verbesserungen sind in den abhängigen Ansprüchen dargestellt.
-
Offenlegung der Erfindung
-
Maschinenlerntechniken wie z. B. Deep Learning erreichen eine hohe Genauigkeit bei Aufgaben wie z. B. Bildverarbeitung. Ihre Genauigkeit ist jedoch möglicherweise nicht so gut, wenn sie einem Domänenwechsel ausgesetzt sind, d. h. sobald sie in einer Domäne verwendet werden, die sich von ihrer Trainingsdomäne unterscheidet.
-
Beispielsweise kann ein Verkehrszeichenerkennungsmodell, das mit Verkehrszeichen aus einem ersten Satz von Verkehrszeichen trainiert wurde, z. B. Verkehrszeichen in Deutschland erkennen, aber in Ländern mit Verkehrszeichen aus einem zweiten Satz von Verkehrszeichen schlecht abschneiden, z. B. wegen unterschiedlicher Standards für Verkehrszeichen.
-
Das Verfahren mit den Merkmalen des unabhängigen Anspruchs 1 ermöglicht ein domänenübergreifendes Transferlernen basierend auf Vorwissen (z. B. über die Domäne oder den Kontext), das als „zusätzliche Informationen“ bereitgestellt werden kann.
-
Ein Wissensgraph dient als Medium zum Kodieren dieses Vorwissens, der dann über Einbettungsverfahren in eine dichte Vektordarstellung umgewandelt wird.
-
Da Wissensgraphen von menschlichen Experten manuell kuratiert werden, erklärbar sind und mit Maschinenlernverfahren und Sprachinformationen angereichert werden können, eignen sie sich besonders gut, um Vorwissen einzuschließen.
-
Infolgedessen wird ein auf dem Wissensgraphen aufliegender domäneninvarianter Raum gebildet, unabhängig von Datenverteilungen, die aus Beobachtungen gesammelt wurden.
-
Durch Verwendung einer kontrastiven Verlustfunktion (d. h. Trainingszielfunktion) ist es möglich, das Maschinenlernsystem zu leiten, sodass es seinen Dateneinbettungsraum entsprechend dem domäneninvarianten Raum anpasst.
-
Dadurch kann das neuronale Netzwerk Trainingsdaten aus verschiedenen Zieldomänen einbeziehen, die bereits im Wissensgraph dargestellt sind.
-
Ausführungsformen der Erfindung werden unter Bezugnahme auf die folgenden Figuren im Detail erörtert. Die Figuren zeigen:
-
Ausführungsformen der Erfindung werden unter Bezugnahme auf die folgenden Figuren im Detail erörtert. Die Figuren zeigen:
- 1 ein Steuersystem, das einen Klassifizierer umfasst, der einen Aktor in seiner Umgebung steuert;
- 2 das Steuersystem, das einen zumindest teilweise autonomen Roboter steuert;
- 3 das Steuersystem, das eine Fertigungsmaschine steuert;
- 4 das Steuersystem, das einen automatisierten persönlichen Assistenten steuert;
- 5 das Steuersystem, das ein Zutrittskontrollsystem steuert;
- 6 das Steuersystem, das ein Überwachungssystem steuert;
- 7 das Steuersystem, das ein Bildgebungssystem steuert;
- 8 das Steuersystem, das ein medizinisches Analysesystem steuert;
- 9 eine beispielhafte Struktur des Klassifizierers;
- 10 ein Trainingssystem zum Trainieren des Klassifizierers;
- 11 eine Veranschaulichung eines Wissensgraphen;
- 12 ein Flussdiagramm eines Trainingsverfahrens, das von dem Trainingssystem durchgeführt wird.
-
Beschreibung der Ausführungsformen
-
In 1 ist eine Ausführungsform eines Aktors (10) in seiner Umgebung (20) gezeigt. Der Aktor (10) interagiert mit einem Steuersystem (40). Der Aktor (10) und seine Umgebung (20) werden gemeinsam als Aktorsystem bezeichnet. Zu vorzugsweise gleichmäßig verteilten Zeitpunkten erfasst ein Sensor (30) einen Zustand des Aktorsystems. Der Sensor (30) kann verschiedene Sensoren umfassen. Vorzugsweise ist der Sensor (30) ein optischer Sensor, der Bilder der Umgebung (20) aufnimmt. Ein Ausgangssignal (S) des Sensors (30) (oder, falls der Sensor (30) eine Vielzahl von Sensoren umfasst, ein Ausgangssignal (S) für jeden der Sensoren), das den erfassten Zustand kodiert, wird an das Steuersystem (40) übertragen.
-
Dadurch empfängt das Steuersystem (40) einen Fluss von Sensorsignalen (S). Es berechnet dann eine Reihe von Steuersignalen (A) in Abhängigkeit von dem Fluss von Sensorsignalen (S), die dann an den Aktor (10) übertragen werden.
-
Das Steuersystem (40) empfängt den Fluss von Sensorsignalen (S) des Sensors (30) in einer optionalen Empfangseinheit (50). Die Empfangseinheit (50) wandelt die Sensorsignale (S) in Eingangssignale (x) um. Alternativ kann, falls keine Empfangseinheit (50) vorhanden ist, jedes Sensorsignal (S) direkt als Eingangssignal (x) verwendet werden. Das Eingangssignal (x) kann beispielsweise als Ausschnitt aus dem Sensorsignal (S) angegeben werden. Alternativ kann das Sensorsignal (S) verarbeitet werden, um das Eingangssignal (x) zu ergeben. Anders ausgedrückt: Das Eingangssignal (x) wird in Übereinstimmung mit dem Sensorsignal (S) bereitgestellt.
-
Das Eingangssignal (x) wird dann an einen Klassifizierer (60) weitergeleitet.
-
Der Klassifizierer (60) wird durch die Parameter (ϕ) parametrisiert, die in einem Parameterspeicher (St1) gespeichert und von diesem bereitgestellt werden.
-
Der Klassifizierer (60) bestimmt ein Ausgangssignal (y) aus den Eingangssignalen (x). Das Ausgangssignal (y) umfasst Informationen, die dem Eingangssignal (x) ein oder mehrere Labels zuweisen. Das Ausgangssignal (y) wird an eine optionale Umwandlungseinheit (80) übertragen, die das Ausgangssignal (y) in die Steuersignale (A) umwandelt. Die Steuersignale (A) werden dann an den Aktor (10) übertragen, um den Aktor (10) entsprechend zu steuern. Alternativ kann das Ausgangssignal (y) direkt als Steuersignal (A) verwendet werden.
-
Der Aktor (10) empfängt die Steuersignale (A), wird entsprechend gesteuert und führt eine dem Steuersignal (A) entsprechende Aktion aus. Der Aktor (10) kann eine Steuerlogik umfassen, die das Steuersignal (A) in ein weiteres Steuersignal umwandelt, das dann zur Steuerung des Aktors (10) verwendet wird.
-
In weiteren Ausführungsformen kann das Steuersystem (40) den Sensor (30) umfassen. In noch weiteren Ausführungsformen kann das Steuersystem (40) alternativ oder zusätzlich einen Aktor (10) umfassen.
-
In sogar noch weiteren Ausführungsformen ist es vorstellbar, dass das Steuersystem (40) anstelle oder zusätzlich zu dem Aktor (10) eine Anzeigevorrichtung (10a) steuert.
-
Außerdem kann das Steuersystem (40) mindestens einen Prozessor (45) und mindestens ein maschinenlesbares Speichermedium (46) umfassen, auf dem Anweisungen gespeichert sind, die bei ihrer Ausführung das Steuersystem (40) veranlassen, ein Verfahren gemäß einem Aspekt der Erfindung durchzuführen.
-
2 zeigt eine Ausführungsform, in der das Steuersystem (40) verwendet wird, um einen zumindest teilweise autonomen Roboter, z. B. ein zumindest teilweise autonomes Fahrzeug (100), zu steuern.
-
Der Sensor (30) kann einen oder mehrere Videosensoren und/oder einen oder mehrere Radarsensoren und/oder einen oder mehrere Ultraschallsensoren und/oder einen oder mehrere LiDAR-Sensoren und/oder einen oder mehrere Wärmebildsensoren umfassen. Einige oder alle dieser Sensoren sind vorzugsweise, aber nicht unbedingt in das Fahrzeug (100) integriert. Das Eingangssignal (x) kann daher als Eingangsbild und der Klassifizierer (60) als Bildklassifizierer verstanden werden. Es versteht sich, dass der Begriff „Bildklassifizierer“ einen Bilddetektor (als eine Klassifizierung, ob ein Objekt vorhanden ist oder nicht) und ein System umfassen kann, das eine semantische Segmentierung festlegt (als flächenbezogene, z. B. pixelweise Klassifizierung).
-
Der Bildklassifizierer (60) kann konfiguriert sein, um Objekte in der Nähe des zumindest teilweise autonomen Roboters basierend auf dem Eingabebild (x) zu erkennen. Das Ausgangssignal (y) kann eine Information umfassen, die charakterisiert, wo sich Objekte in der Nähe des zumindest teilweise autonomen Roboters befinden. Das Steuersignal (A) kann dann gemäß dieser Information bestimmt werden, um beispielsweise Kollisionen mit den erkannten Objekten zu vermeiden.
-
Der Aktor (10), der vorzugsweise in das Fahrzeug (100) integriert ist, kann durch eine Bremse, ein Antriebssystem, einen Motor, einen Antriebsstrang oder eine Lenkung des Fahrzeugs (100) gegeben sein. Das Steuersignal (A) kann so bestimmt werden, dass der Aktor (10) so gesteuert wird, dass das Fahrzeug (100) Kollisionen mit den erkannten Objekten vermeidet. Die erkannten Objekte können auch gemäß dem klassifiziert werden, was der Klassifizierer (60) für am wahrscheinlichsten hält, z. B. Fußgänger oder Bäume, und das Steuersignal (A) kann in Abhängigkeit von der Klassifizierung bestimmt werden.
-
Alternativ oder zusätzlich kann das Steuersignal (A) auch verwendet werden, um die Anzeigevorrichtung (10a) zu steuern, z. B. um die vom Bildklassifizierer (60) erkannten Objekte anzuzeigen. Es ist auch vorstellbar, dass das Steuersignal (A) die Anzeigevorrichtung (10a) so steuern kann, dass sie ein Warnsignal erzeugt, wenn das Fahrzeug (100) kurz davorsteht, mit mindestens einem der erkannten Objekte zu kollidieren. Das Warnsignal kann ein Warnton und/oder ein haptisches Signal sein, z. B. eine Vibration eines Lenkrads des Fahrzeugs.
-
In weiteren Ausführungsformen kann der Sensor (30) einen Audiosensor umfassen, das Eingangssignal (x) kann als Eingangstonsignal und der Klassifizierer (60) als Tonklassifizierer (oder Audioklassifizierer) verstanden werden, was besonders nützlich sein kann, um z. B. einen Krankenwagen oder ein Polizeifahrzeug zu erkennen.
-
In weiteren Ausführungsformen kann der zumindest teilweise autonome Roboter von einem anderen mobilen Roboter (nicht gezeigt) gegeben sein, der sich beispielsweise durch Fliegen, Schwimmen, Tauchen oder Gehen bewegen kann. Der mobile Roboter kann unter anderem ein zumindest teilweise autonomer Rasenmäher oder ein zumindest teilweise autonomer Reinigungsroboter sein. In allen vorstehenden Ausführungsformen kann das Steuersignal (A) so bestimmt werden, dass die Antriebseinheit und/oder die Lenkung und/oder Bremse des mobilen Roboters so gesteuert wird, dass der mobile Roboter Kollisionen mit den identifizierten Objekten vermeiden kann.
-
In einer weiteren Ausführungsform kann der zumindest teilweise autonome Roboter durch einen Gartenroboter (nicht gezeigt) gegeben sein, der den Sensor (30), vorzugsweise einen optischen Sensor, verwendet, um einen Zustand von Pflanzen in der Umgebung (20) zu bestimmen. Der Aktor (10) kann eine Düse zum Sprühen von Flüssigkeiten und/oder eine Schneidvorrichtung, z. B. eine Klinge, steuern. Abhängig von einer identifizierten Art und/oder einem identifizierten Zustand der Pflanzen kann ein Steuersignal (A) bestimmt werden, um den Aktor (10) zu veranlassen, die Pflanzen mit einer geeigneten Menge geeigneter Flüssigkeiten zu besprühen und/oder die Pflanzen zu schneiden.
-
In noch weiteren Ausführungsformen kann der zumindest teilweise autonome Roboter durch ein Haushaltsgerät (nicht gezeigt) gegeben sein, wie z. B. eine Waschmaschine, ein Herd, ein Ofen, eine Mikrowelle oder ein Geschirrspüler. Der Sensor (30), z. B. ein optischer Sensor, kann einen Zustand eines Objekts erfassen, für das eine Verarbeitung durch das Haushaltsgerät vorgesehen ist. Beispielsweise kann im Fall, dass das Haushaltsgerät eine Waschmaschine ist, der Sensor (30) einen Zustand der Wäsche in der Waschmaschine erkennen. Das Steuersignal (A) kann dann in Abhängigkeit von einem erkannten Material der Wäsche bestimmt werden.
-
In 3 wird eine Ausführungsform gezeigt, in der das Steuersystem (40) verwendet wird, um eine Fertigungsmaschine (11) zu steuern, z. B. ein Stanzmesser, ein Schneidwerkzeug, einen Tieflochbohrer oder eine Greifeinrichtung eines Fertigungssystems (200), z. B. als Teil einer Fertigungslinie. Die Fertigungsmaschine kann eine Transportvorrichtung umfassen, z. B. ein Förderband oder eine Montagelinie, die ein hergestelltes Produkt (12) bewegt. Das Steuersystem (40) steuert einen Aktor (10), der wiederum die Fertigungsmaschine (11) steuert.
-
Der Sensor (30) kann durch einen optischen Sensor gegeben sein, der die Eigenschaften von z. B. einem hergestellten Produkt (12) erfasst. Der Klassifizierer (60) kann daher als Bildklassifizierer verstanden werden.
-
Der Bildklassifizierer (60) kann eine Position des hergestellten Produkts (12) in Bezug auf die Transportvorrichtung bestimmen. Der Aktor (10) kann dann in Abhängigkeit von der bestimmten Position des hergestellten Produkts (12) für einen nachfolgenden Fertigungsschritt des hergestellten Produkts (12) gesteuert werden. Beispielsweise kann der Aktor (10) gesteuert werden, um das hergestellte Produkt an einer bestimmten Stelle des hergestellten Produkts selbst zu schneiden. Alternativ ist es vorstellbar, dass der Bildklassifizierer (60) klassifiziert, ob das hergestellte Produkt fehlerhaft ist oder einen Defekt aufweist. Der Aktor (10) kann dann so gesteuert werden, dass das hergestellte Produkt von der Transportvorrichtung entfernt wird.
-
In 4 ist eine Ausführungsform gezeigt, in der das Steuersystem (40) zum Steuern eines automatisierten persönlichen Assistenten (250) verwendet wird. Der Sensor (30) kann ein optischer Sensor sein, z. B. zum Empfangen von Videobildern von Gesten eines Benutzers (249). Alternativ kann der Sensor (30) auch ein Audiosensor sein, z. B. zum Empfangen eines Sprachbefehls des Benutzers (249).
-
Das Steuersystem (40) bestimmt dann die Steuersignale (A) zum Steuern des automatisierten persönlichen Assistenten (250). Die Steuersignale (A) werden in Übereinstimmung mit dem Sensorsignal (S) des Sensors (30) bestimmt. Das Sensorsignal (S) wird an das Steuersystem (40) übertragen. Beispielsweise kann der Klassifizierer (60) konfiguriert sein, um z. B. einen Algorithmus zur Gestenerkennung auszuführen, um eine vom Benutzer (249) gemachte Geste zu identifizieren. Das Steuersystem (40) kann dann ein Steuersignal (A) zur Übertragung an den automatisierten persönlichen Assistenten (250) bestimmen. Es überträgt dann das Steuersignal (A) an den automatisierten persönlichen Assistenten (250).
-
Beispielsweise kann das Steuersignal (A) gemäß der identifizierten Benutzergeste bestimmt werden, die von dem Klassifizierer (60) erkannt wird. Es kann eine Information umfassen, die den automatisierten persönlichen Assistenten (250) veranlasst, Informationen aus einer Datenbank abzurufen und diese abgerufenen Informationen in einer Form auszugeben, die für den Empfang durch den Benutzer (249) geeignet ist.
-
In weiteren Ausführungsformen ist es vorstellbar, dass anstelle des automatisierten persönlichen Assistenten (250) das Steuersystem (40) ein Haushaltsgerät (nicht gezeigt) steuert, das in Übereinstimmung mit der identifizierten Benutzergeste gesteuert wird. Das Haushaltsgerät kann eine Waschmaschine, ein Herd, ein Ofen, eine Mikrowelle oder ein Geschirrspüler sein.
-
In 5 ist eine Ausführungsform gezeigt, in der das Steuersystem (40) ein Zutrittskontrollsystem (300) steuert. Das Zutrittskontrollsystem (300) kann so ausgelegt sein, dass es den Zutritt physisch steuert. Es kann beispielsweise eine Tür (401) umfassen. Der Sensor (30) kann konfiguriert sein, um eine Szene zu erkennen, die für die Entscheidung relevant ist, ob der Zutritt gewährt werden soll oder nicht. Es kann beispielsweise ein optischer Sensor zum Bereitstellen von Bild- oder Videodaten sein, z. B. zum Erkennen des Gesichts einer Person. Der Klassifizierer (60) kann daher als Bildklassifizierer verstanden werden.
-
Der Bildklassifizierer (60) kann konfiguriert sein, um eine Identität der Person zu klassifizieren, z. B. durch Abgleichen des erkannten Gesichts der Person mit anderen Gesichtern bekannter Personen, die in einer Datenbank gespeichert sind, wodurch eine Identität der Person bestimmt wird. Das Steuersignal (A) kann dann in Abhängigkeit von der Klassifizierung des Bildklassifizierers (60) bestimmt werden, z. B. gemäß der bestimmten Identität. Der Aktor (10) kann ein Schloss sein, das die Tür abhängig vom Steuersignal (A) öffnet oder schließt. Alternativ kann das Zutrittskontrollsystem (300) ein nicht physisches logisches Zutrittskontrollsystem sein. In diesem Fall kann das Steuersignal verwendet werden, um die Anzeigevorrichtung (10a) zu steuern, um Informationen über die Identität der Person anzuzeigen und/oder ob der Person Zutritt gewährt werden soll.
-
In weiteren Ausführungsformen kann der Klassifizierer (60) als Audioklassifizierer verstanden werden oder einen solchen umfassen, der beispielsweise konfiguriert sein kann, um eine Person aufgrund eines empfangenen Sprachaudiosignals zu identifizieren.
-
In 6 ist eine Ausführungsform gezeigt, in der das Steuersystem (40) ein Überwachungssystem (400) steuert. Diese Ausführungsform ist weitgehend identisch mit der in 5 gezeigten Ausführungsform. Daher werden nur die abweichenden Aspekte im Detail beschrieben. Der Sensor (30) ist konfiguriert, um eine Szene zu erkennen, die überwacht wird. Das Steuersystem (40) steuert nicht unbedingt einen Aktor (10), sondern kann alternativ eine Anzeigevorrichtung (10a) steuern. Beispielsweise kann der Bildklassifizierer (60) eine Klassifizierung einer Szene bestimmen, z. B. ob die von einem optischen Sensor (30) erkannte Szene normal ist oder ob die Szene eine Anomalie aufweist Das Steuersignal (A), das an die Anzeigevorrichtung (10a) übertragen wird, kann dann beispielsweise so konfiguriert werden, dass die Anzeigevorrichtung (10a) den angezeigten Inhalt abhängig von der bestimmten Klassifizierung anpasst, z. B. um ein Objekt hervorzuheben, das vom Bildklassifizierer (60) als anomal angesehen wird.
-
In 7 ist eine Ausführungsform eines medizinischen Bildgebungssystems (500) gezeigt, das von dem Steuersystem (40) gesteuert wird. Das Bildgebungssystem kann beispielsweise ein MRT-Gerät, ein Röntgenbildgebungsgerät oder ein Ultraschallbildgebungsgerät sein. Der Sensor (30) kann beispielsweise ein Bildsensor sein, der mindestens ein Bild eines Patienten aufnimmt, das z. B. verschiedene Arten von Körpergewebe des Patienten anzeigt.
-
Der Klassifizierer (60) kann dann eine Klassifizierung von mindestens einem Teil des erkannten Bilds bestimmen. Der mindestens Teil des Bilds wird somit als Eingabebild (x) für den Klassifizierer (60) verwendet. Der Klassifizierer (60) kann daher als Bildklassifizierer verstanden werden.
-
Das Steuersignal (A) kann dann gemäß der Klassifizierung ausgewählt werden, wodurch eine Anzeigevorrichtung (10a) gesteuert wird. Beispielsweise kann der Bildklassifizierer (60) konfiguriert werden, um verschiedene Gewebetypen in dem erkannten Bild zu erkennen, z. B. durch Klassifizieren des in dem Bild angezeigten Gewebes entweder als bösartiges oder gutartiges Gewebe. Dies kann mittels einer semantischen Segmentierung des Eingabebildes (x) durch den Bildklassifizierer (60) erfolgen. Das Steuersignal (A) kann dann bestimmt werden, um die Anzeigevorrichtung (10a) zu veranlassen, unterschiedliche Gewebe anzuzeigen, z. B. durch Anzeigen des Eingabebilds (x) und Einfärben der verschiedenen Bereiche mit identischen Gewebetypen in derselben Farbe.
-
In weiteren Ausführungsformen (nicht gezeigt) kann das Bildgebungssystem (500) für nichtmedizinische Zwecke verwendet werden, z. B. um Materialeigenschaften eines Werkstücks zu bestimmen. In diesen Ausführungsformen kann der Bildklassifizierer (60) konfiguriert sein, um ein Eingabebild (x) von mindestens einem Teil des Werkstücks zu empfangen und eine semantische Segmentierung des Eingabebildes (x) durchzuführen, wodurch die Materialeigenschaften des Werkstücks klassifiziert werden. Das Steuersignal (A) kann dann bestimmt werden, um die Anzeigevorrichtung (10a) zu veranlassen, das Eingabebild (x) sowie Informationen über die erkannten Materialeigenschaften anzuzeigen.
-
In 8 ist eine Ausführungsform eines medizinischen Analysesystems (600) gezeigt, das von dem Steuersystem (40) gesteuert wird. Das medizinische Analysesystem (600) wird mit einem Mikroarray (601) bereitgestellt, wobei das Mikroarray mehrere Testfelder (602, auch als Spots bezeichnet) umfasst, auf die eine medizinische Probe aufgetragen wurde. Die medizinische Probe kann beispielsweise eine menschliche Probe oder eine tierische Probe sein, die z. B. aus einem Abstrich erhalten wurde.
-
Das Mikroarray (601) kann ein DNA-Mikroarray oder ein Protein-Mikroarray sein.
-
Der Sensor (30) ist konfiguriert, um das Mikroarray (601) zu erfassen. Der Sensor (30) ist vorzugsweise ein optischer Sensor, wie etwa ein Videosensor. Der Klassifizierer (60) kann daher als Bildklassifizierer verstanden werden.
-
Der Bildklassifizierer (60) ist konfiguriert, um ein Ergebnis der Probe basierend auf einem Eingabebild (x) des vom Sensor (30) bereitgestellten Mikroarrays zu klassifizieren. Insbesondere kann der Bildklassifizierer (60) konfiguriert sein, um zu bestimmen, ob das Mikroarray (601) das Vorhandensein eines Virus in der Probe anzeigt.
-
Das Steuersignal (A) kann dann so gewählt werden, dass die Anzeigevorrichtung (10a) das Ergebnis der Klassifizierung zeigt.
-
In 9 sind Ausführungsformen des Klassifizierers (60) gezeigt. Er umfasst einen Einbettungsteil (61) und einen Klassifizierungsteil (62). Der Einbettungsteil (61) ist konfiguriert, um das Eingangssignal (x) zu empfangen und eine Einbettung (h) zu bestimmen. Der Klassifizierungsteil empfängt die Einbettung (h) und bestimmt eine Klassifizierung als Ausgangssignal (y).
-
In einigen Ausführungsformen ist der Klassifizierungsteil (62) ein linearer Klassifizierer. Beispielsweise kann in einigen Ausführungsformen der Klassifizierer (60) ein neuronales Netzwerk umfassen, und der Klassifizierungsteil (62) kann z. B durch eine vollständig verbundene Schicht gefolgt von einer argmax-Schicht angegeben sein. In einigen Ausführungsformen kann der Klassifizierer (60) ein faltendes neuronales Netzwerk umfassen, und der Einbettungsteil (61) kann mehrere Faltungsschichten umfassen.
-
10 zeigt Ausführungsformen eines Trainingssystems (140) zum Trainieren des Klassifizierers (60) des Steuersystems (40) mittels eines Trainingsdatensatzes (T). Der Trainingsdatensatz (T) umfasst eine Vielzahl von Eingangssignalen (xi), die zum Trainieren des Klassifizierers (60) verwendet werden, wobei der Trainingsdatensatz (T) ferner für jedes Eingangssignal (xi) ein gewünschtes Ausgangssignal (yi) umfasst, das dem Eingangssignal (xj) entspricht und eine Klassifizierung des Eingangssignals (xi) charakterisiert.
-
Für das Training greift eine Trainingsdateneinheit (150) auf eine computerimplementierte Datenbank (St2) zu, wobei die Datenbank (St2) den Trainingsdatensatz (T) bereitstellt. Die Trainingsdateneinheit (150) bestimmt aus dem Trainingsdatensatz (T) vorzugsweise zufällig mindestens ein Eingangssignal (xi) und das gewünschte Ausgangssignal (ỹĩ), das dem Eingangssignal (xi) entspricht, und überträgt das Eingangssignal (xi) an den Klassifizierer (60). Der Klassifizierer bestimmt ein Ausgangssignal (yi) basierend auf dem Eingangssignal (xi).
-
Das gewünschte Ausgangssignal (ỹi) und das bestimmte Ausgangssignal (yii ) werden an eine Modifikationseinheit (180) übertragen.
-
Basierend auf dem gewünschten Ausgangssignal (ỹi) und dem bestimmten Ausgangssignal (yi) bestimmt die Modifikationseinheit (180) dann neue Parameter (Φ') für den Klassifizierer (60). Zu diesem Zweck vergleicht die Modifikationseinheit (180) das gewünschte Ausgangssignal (ỹi und das bestimmte Ausgangssignal (yi) unter Verwendung einer Trainingszielfunktion, die auch als Verlustfunktion bekannt ist. Die Verlustfunktion bestimmt einen ersten Verlustwert, der charakterisiert, wie weit ein bestimmtes Ausgangssignal (yi) von dem gewünschten Ausgangssignal (ỹi) abweicht. In der gegebenen Ausführungsform wird eine negative Log-Likelihood-Funktion als die Verlustfunktion verwendet. In alternativen Ausführungsformen sind auch andere Verlustfunktionen vorstellbar.
-
Weiterhin ist vorstellbar, dass das bestimmte Ausgangssignal (yi) und das gewünschte Ausgangssignal (ỹij) jeweils eine Vielzahl von Untersignalen umfassen, beispielsweise in Form von Tensoren, wobei ein Untersignal des gewünschten Ausgangssignals (ỹi) einem Untersignal des bestimmten Ausgangssignals (yi) entspricht. Es ist beispielsweise vorstellbar, dass der Klassifizierer (60) für die Objekterkennung konfiguriert ist und ein erstes Untersignal eine Wahrscheinlichkeit des Auftretens eines Objekts in Bezug auf einen Teil des Eingangssignals (xi) charakterisiert und ein zweites Untersignal die genaue Position des Objekts charakterisiert. Wenn das bestimmte Ausgangssignal (yi) und das gewünschte Ausgangssignal (ỹi) eine Vielzahl entsprechender Untersignale umfassen, wird vorzugsweise ein zweiter Verlustwert für jedes entsprechende Untersignal mittels einer geeigneten Verlustfunktion bestimmt und die bestimmten zweiten Verlustwerte werden auf geeignete Weise kombiniert, um den ersten Verlustwert zu bilden, beispielsweise mittels einer gewichteten Summe.
-
Die Modifikationseinheit (180) bestimmt die neuen Parameter (Φ') basierend auf dem ersten Verlustwert. In der gegebenen Ausführungsform erfolgt dies unter Verwendung von einem Gradientenabstiegverfahrens, vorzugsweise eines stochastischen Gradientenabstiegs, von Adam oder von AdamW.
-
In anderen bevorzugten Ausführungsformen wird das beschriebene Training iterativ für eine vordefinierte Anzahl von Iterationsschritten wiederholt oder iterativ wiederholt, bis der erste Verlustwert unter einen vordefinierten Schwellenwert fällt. Alternativ oder zusätzlich ist es auch vorstellbar, dass das Training beendet wird, wenn ein durchschnittlicher erster Verlustwert in Bezug auf einen Test- oder Validierungsdatensatz unter einen vordefinierten Schwellenwert fällt. In mindestens einer der Iterationen werden die neuen Parameter (Φ'), die in einer vorhergehenden Iteration bestimmt wurden, als Parameter (Φ) des Klassifizierers (60) verwendet.
-
Das Trainingssystem (140) ist ferner konfiguriert, um eine Wissensgraph-Einbettung (Knowledge Graph Embedding, KGE) bereitzustellen, die beispielsweise auch in der Datenbank (St2) gespeichert und für die Modifikationseinheit (180) bereitgestellt werden kann.
-
Es ist im Stand der Technik bekannt, dass Wissensgraph-Einbettungen die Informationen aus der Graphstruktur des Wissensgraphen als dichte Vektordarstellung darstellen, in der Entitäten des Wissensgraphen und ihre Beziehungen über ihre (Un)Ähnlichkeiten zugeordnet werden. Wenn also eine Entität eine enge Verbindung zu anderen Entitäten im Diagramm hat, werden diese eng verbundenen Entitäten im Vektorraum nahe beieinander dargestellt.
-
Für jede Klasse c kann ein Wissensgraph-Einbettungsvektor hKG = KGE(c) bestimmt werden, z. B. durch die Modifikationseinheit (180). Die Einbettung (h), die durch den Einbettungsteil (61) des Klassifizierers (60) erhalten wird, wird für ein optionales Projektionsnetzwerk (P) bereitgestellt, das konfiguriert sein kann, um die Einbettung (h) einem Projektionsvektor z = P(h) zuzuordnen, der der Dimensionalität des Einbettungsvektors des Wissensgraphen hKG entspricht. Das Projektionsnetzwerk (P) kann beispielsweise durch ein mehrschichtiges Perzeptron gegeben sein, beispielsweise mit einer einzelnen versteckten Schicht.
-
Weiterhin kann das Trainingssystem (140) mindestens einen Prozessor (145) und mindestens ein maschinenlesbares Speichermedium (146) umfassen, das Anweisungen enthält, die bei Ausführung durch den Prozessor (145) das Trainingssystem (140) veranlassen, ein Trainingsverfahren gemäß einem der Aspekte der Erfindung auszuführen.
-
In 11 ist ein Teil eines Wissensgraphen (KG) für die Domäne der Verkehrszeichen veranschaulicht, wenn der Klassifizierer (60) ein Bildklassifizierer für die Verkehrszeichenerkennung ist. Der Wissensgraph (KG) enthält alle Klassen des Trainingsdatensatzes (T) und ist in eine zugrunde liegende Domänenontologie integriert. Die Domänenontologie umfasst die Entitäten (901, 902, 903, 904 und 908) und die Beziehungen (905, 906, 907 und 909) zwischen diesen Entitäten. Beispielsweise können die Entitäten als „Verkehrszeichen“ (901), „Form mit Zeichen“ (902), „Symbol“ (903), „Form“ (904) oder „Verkehrszeichenmerkmal“ (908) gegeben sein. Die Beziehungen können als „hat Form“ (905), „hat Symbol“ (906), „hat Form mit Zeichen“ (907) oder „ist Unterklasse von“ (909) gegeben sein. Jede Klasse (c) kann dann durch eine Entität im Wissensgraphen (KG) dargestellt werden.
-
In 11 wird ein Flussdiagramm gezeigt, das Ausführungsformen zum Ausführen des Trainings des Klassifizierers (60) veranschaulicht.
-
Zunächst (1000) wird eine Wissensgraph-Einbettung (KGE) des Wissensgraphen (KG) bereitgestellt.
-
Dann (1100) wird in einer Quell-Vortrainingsphase ein erster Trainingssatz (auch Quelltrainingssatz genannt) bereitgestellt. Die Parameter (Φ), die dem Einbettungsteil (61) zugeordnet sind, werden dann durch Kontrastierung der Eingangssignale (x) mit ihren Labels hKG = KGE(ỹi) aktualisiert, die im Wissensgraph-Einbettungsraum kodiert sind.
-
Insbesondere kann eine kontrastive Verlustfunktion LKG für eine kontrastive Prognoseaufgabe definiert werden. Ganz allgemein zielt die kontrastive Prognoseaufgabe bei einem gegebenen Satz von Eingangssignalen {xn}, die ein positives Paar von Beispielen xα und xp, die kontrastive Prognoseaufgabe einschließen, darauf ab, xp in (xn)n≠a für ein gegebenes xα zu identifizieren.
-
Innerhalb eines Mini-Batches von 2N Trainingsabtastwerten wird α ∈ {1...2N} als der Ankerindex eines Klassen-Labels ausgewählt. Ein Eingangssignal (xp), das derselben Klasse entspricht, d. h. dieselbe gewünschte Klassifizierung (ỹp) aufweist wie das Eingangssignal (xa), das einem Ankerindex entspricht, wird mit einem Positiv-Index p bezeichnet. Ebenso werden Eingangssignale (xn) aus einer anderen Klasse mit einem Negativ-Index n bezeichnet.
-
Die kontrastive Verlustfunktion kann dann gegeben sein durch
mit
wobei z
i = P(E(x
l)), und
1
n≠a ∈{0, 1} eine Indikatorfunktion ist, die 1 zurückgibt, wenn n # a als wahr bewertet wird, und τ > 0 ein vordefinierter Parameter ist. h
KG,a · z
p berechnet ein inneres Produkt zwischen den normalisierten Vektoren h
KG,α und z
v als einem Ähnlichkeits-Score. Für jeden Ankerindex a können viele Positive und Negative vorhanden sein, und der Nenner besitzt eine Gesamtzahl von 2N - 1 Termen, die Terme mit Positiv-Index und Terme mit Negativ-Index enthalten. Beim Training können für jedes ‚a‘ Parameter des Einbettungsteils (61) abgestimmt werden, um den Zähler des Logarithmusarguments zu maximieren, während sein Nenner gleichzeitig minimiert wird. N
ya ist die Gesamtanzahl von Abtastwerten in dem Mini-Batch, der dasselbe Label ỹ
a aufweist wie der Anker a. Dieser Verlust ist somit fähig, eine beliebige Anzahl von Positiven handzuhaben, die zur selben Klasse gehören. Während des Trainings in diesem Schritt, z. B. bei der Optimierung dieser Verlustfunktion
lernt der Einbettungsteil (61) die Projektion (z) und die Einbettungen h der Eingangssignale des Positiv-Index x
p, um das entsprechende Klassen-Label in der Wissensgraph-Einbettung h
KG zuzuordnen und verlagert gleichzeitig die Einbettung der Eingangssignale des Negativ-Index x
n auf die nicht-benachbarten Darstellungen.
-
Der auf diese Weise erhaltene Klassifizierer (60), insbesondere der Klassifizierer (60) mit dem auf diese Weise erhaltenen Einbettungsteil (61), wird als durch die Quelle trainierter Klassifizierer bezeichnet.
-
Nach dieser Quelldomänen-Vortrainingsphase wird in einer optionalen Zieldomänen-Vortrainingsphase (1200) in dieser Phase ein zweiter Trainingssatz bereitgestellt, der auch als Zieltrainingssatz bezeichnet wird. Um den durch die Quelle trainierten Klassifizierer an diesen zusätzlichen Zieltrainingssatz anzupassen, kann in einigen Ausführungsformen vorstellbar sein, eine zweite kontrastive Vortrainingsphase unter Verwendung desselben domäneninvarianten Raums aus dem ersten Vortraining (1100) auf die Quelldomäne anzuwenden.
-
Da die eingestellten Klassen des Zieltrainings in der Wissensgraph-Einbettung (KGE) dargestellt sind, wurde der Klassifizierer (60) bereits während der Quell-Vortrainingsphase (1100) auch ohne Daten aus der Zieldomäne angepasst. Daher können in dieser zweiten Vortrainingsphase (1200) Dateninformationen aus der Zieldomäne die Einbettung anreichern, ohne die in der Quelldomäne erlernten Strukturen zu beeinträchtigen.
-
Es lässt sich nachvollziehen, dass der erforderliche Trainingsaufwand in dieser Zieldomänen-Vortrainingsphase (1200) gering ist, da die Ausnutzung der durch die Wissensgraph-Einbettung (KGE) erfassten Struktur den durch die Quelle trainierten Klassifizierer durch diesen Ansatz des Transferlernens leicht anpassbar macht.
-
Es lässt sich ferner nachvollziehen, dass aufgrund der Ausnutzung der Struktur der durch die Quelle trainierte Klassifizierer während der Zieldomänen-Vortrainingsphase (1200) nicht unter einem Phänomen leidet, das auf dem Fachgebiet als „katastrophales Vergessen“ bekannt ist, d. h. das Gelernte aus früheren Trainingssätzen kann während des Trainings mit einem neuen Trainingssatz verloren gehen.
-
Der auf diese Weise erhaltene Klassifizierer (60), insbesondere der Klassifizierer (60) mit dem auf diese Weise erhaltenen Einbettungsteil (61), wird als durch das Ziel trainierter Klassifizierer bezeichnet.
-
Als nächstes kann in einer optionalen Klassifizierungsteil-Trainingsphase (1300) der Klassifizierungsteil (62) des Klassifizierers (60) trainiert werden. Falls das Zieldomänen-Vortraining (1200) durchgeführt wurde, kann dieses Training mit Daten sowohl aus der Quelldomäne als auch aus der Zieldomäne durchgeführt werden. Falls das Zieldomänen-Vortraining (1200) weggelassen wurde, kann das Training nur mit den Daten aus der Quelldomäne durchgeführt werden.
-
In weiteren Ausführungsformen kann vorgesehen sein, den Klassifizierer (60) auf einer Vielzahl von Zieldomänen zu trainieren, indem Schritt (1200) für jede gewünschte Zieldomäne wiederholt wird.
-
Beispielsweise können die Parameter des Klassifizierungsteils (62) zufällig eingeleitet und mit herkömmlichen Verfahren trainiert werden, wie z. B. ein Kreuzentropieverlust. Vorzugsweise bleiben die Parameter des Einbettungsteils (61) unverändert.
-
In einem optionalen Schritt (1400) kann der trainierte Klassifizierer (60) dann für Ableitungen verwendet werden, wie in den Ausführungsformen veranschaulicht, die den 1 bis 8 entsprechen. Dies schließt die Ausführungen zum Verfahren ab.
-
Unter dem Begriff „Computer“ können alle Vorrichtungen zur Verarbeitung vordefinierter Berechnungsregeln verstanden werden. Diese Berechnungsregeln können in Form von Software, Hardware oder einer Mischung aus Software und Hardware vorliegen.