DE102021115299A1 - Verfahren und vorrichtung zum kontinuierlichen few-shot-lernen ohne vergessen - Google Patents

Verfahren und vorrichtung zum kontinuierlichen few-shot-lernen ohne vergessen Download PDF

Info

Publication number
DE102021115299A1
DE102021115299A1 DE102021115299.2A DE102021115299A DE102021115299A1 DE 102021115299 A1 DE102021115299 A1 DE 102021115299A1 DE 102021115299 A DE102021115299 A DE 102021115299A DE 102021115299 A1 DE102021115299 A1 DE 102021115299A1
Authority
DE
Germany
Prior art keywords
new
classes
base
task
classification weights
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102021115299.2A
Other languages
English (en)
Inventor
Mostafa El-Khamy
Yoo Jin Choi
Jungwon Lee
Sijia Wang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102021115299A1 publication Critical patent/DE102021115299A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/778Active pattern-learning, e.g. online learning of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2431Multiple classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Abstract

Es werden Verfahren und Vorrichtungen zum kontinuierlichen Few-Shot-Lernen bereitgestellt. Ein Modell für eine Basisaufgabe wird mit Basis-Klassifikationsgewichten für Basisklassen der Basisaufgabe erzeugt. Eine Reihe von neuen Aufgaben wird sequentiell empfangen. Beim Empfangen jeder neuen Aufgabe in der Reihe der neuen Aufgaben wird das Modell mit neuen Klassifikationsgewichten für neue Klassen der jeweiligen neuen Aufgabe aktualisiert. Die neuen Klassifikationsgewichte werden durch einen Gewichtsgenerator basierend auf einem oder mehreren der Basis-Klassifikationsgewichte und, wenn eine oder mehrere andere neue Aufgaben in der Reihe vorher empfangen wurden, einem oder mehreren anderen neuen Klassifikationsgewichten für neue Klassen der einen oder mehreren anderen neuen Aufgaben erzeugt. Zusätzlich wird für jede neue Aufgabe ein erster Satz von Mustern der jeweiligen neuen Aufgabe unter Verwendung des aktualisierten Modells in die neuen Klassen klassifiziert.

Description

  • PRIORITÄT
  • Diese Anmeldung basiert auf einer am 27. August 2020 beim United States Patent and Trademark Office (USPTO) eingereichten und mit der Seriennummer 63/071,067 versehenen vorläufigen US-Patentanmeldung und beansprucht deren Priorität gemäß 35 U.S.C. §119(e), deren Inhalt hierin durch Verweis aufgenommen ist
  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung bezieht sich allgemein auf maschinelle Lernverfahren und insbesondere auf ein Verfahren und eine Vorrichtung zum kontinuierlichen Few-Shot-Lernen.
  • HINTERGRUND
  • Auf dem Gebiet des maschinellen Lernens kann es schwierig sein, genügend Daten zu sammeln, um die Genauigkeit der Modelle zu erhöhen. In Szenarien mit begrenzter Datenmenge wurden Few-Shot-Lernalgorithmen eingesetzt, um Muster in Daten zu entdecken und Schlussfolgerungen zu ziehen. Diese Technik wird häufig im Bereich der Computer Vision eingesetzt, wo Fotos kategorisiert oder klassifiziert werden.
  • Bei einer Few-Shot-Lernaufgabe, bei der N die Anzahl von Klassen und K die Anzahl von Mustern (oder Bildern) in jeder Klasse ist, wird ein kleiner Trainingssatz D bereitgestellt. Die Größe eines Trainingssatzes ist |D|=N·K.
  • Ein Basistrainingssatz D0 kann verwendet werden, um übertragbares Wissen für verbessertes Few-Shot-Lemen zu lernen. Der Basistrainingssatz Do enthält eine große Anzahl von gekennzeichneten Mustern aus einer großen Anzahl von Klassen. Die Klassen im Basistrainingssatz D0 sind jedoch nicht identisch mit den Klassen im Trainingssatz D. Dementsprechend wird beim traditionellen Few-Shot-Lernen ein Modell mit einer kleinen Menge an Trainingsdaten oder Mustern trainiert, ohne die Basisklassen zu verwenden.
  • Eine Episode bezieht sich auf ein Trainings- und Testpaar einer Few-Shot-Lernaufgabe. 1 ist ein Diagramm, das ein episodisches Few-Shot-Lernverfahren veranschaulicht. Eine erste Trainingsaufgabe 102, eine zweite Trainingsaufgabe 104 und eine erste Testaufgabe 106 enthalten jeweils einen jeweiligen Unterstützungssatz 108, 110 und 112, die drei Klassen (N=3) und zwei Muster (Bilder) pro Klasse (K=2) haben. Die erste Trainingsaufgabe 102, die zweite Trainingsaufgabe 104 und die erste Testaufgabe 106 enthalten jeweils auch einen jeweiligen Abfragesatz 114, 116 und 118, der drei Muster (Bilder) hat. Die Klassen unterscheiden sich in jeder der ersten Trainingsaufgabe, der zweiten Trainingsaufgabe und der ersten Testaufgabe.
  • Sowohl metrikbasierte als auch gradientenbasierte Trainingsalgorithmen wurden auf der Grundlage des episodischen Lernsystems entwickelt. So kann z.B. der Selbstüberwachungsverlust zu einem Trainingsvorgang für den Merkmalsextraktor hinzugefügt werden, um ein robustes semantisches Merkmalslemen zu ermöglichen und die Few-Shot-Klassifikation zu verbessern. Zusätzlich kann ein Wasserstein-basiertes Verfahren hinzugefügt werden, um die Verteilung der Merkmale besser an die der betrachteten Klassen anzupassen. Wie oben beschrieben, werden jedoch beim traditionellen Few-Shot-Lernen die im Training verwendeten Basisklassen nicht berücksichtigt.
  • Few-Shot-Lernen ohne Vergessen von Basisklassen, wurde entwickelt, um neue Klassen zu klassifizieren, wenn nur ein paar gekennzeichnete Muster für die neuen Klassen bereitgestellt werden, während gleichzeitig die Fähigkeit erhalten bleibt, Basisklassen zu klassifizieren, auf denen das Merkmalseinbettungsnetzwerk trainiert wird. Beispielsweise werden das Merkmalseinbettungsnetzwerk und die Klassifikationsgewichte für Basisklassen durch reguläres überwachtes Lernen vortrainiert und anschließend festgelegt.
  • 2 ist ein Diagramm, das Few-Shot-Lernen ohne Vergessen von Basisklassen veranschaulicht, wobei der Schwerpunkt auf der Generierung der Klassifikationsgewichte für neue Klassen liegt. Ein Muster oder Testbild 202 wird einem Merkmalsextraktor 204 bereitgestellt, der die Merkmale des Musters an einen Klassifikator 206 ausgibt. Der Klassifikator 206 erhält Basis-Klassifikationsgewichte 208 aus Trainingsdaten für Basisklassen 210. Ein Few-Shot-Klassifikationsgewichtsgenerator 212 erzeugt neue Klassifikationsgewichte 214 für die begrenzten Trainingsdaten einer neuen Kategorie 216 und stellt die neuen Klassifikationsgewichte 214 dem Klassifikator 206 bereit.
  • Genauer gesagt, in Bezug auf den Few-Shot-Klassifikationsgewichtsgenerator 212 berechnet ein Verfahren zum Einprägen von Gewichten Prototypen neuer Klassen aus einem vorab trainierten Merkmalseinbettungsnetzwerk und verwendet sie als Klassifikationsgewichte für neue Klassen. Außerdem wird die Erzeugung von Klassifikationsgewichten 214 für neue Klassen durch einen Gewichtsgenerator erlernt, der neue Klassenprototypen 216 und die Klassifikationsgewichte 208 für Basisklassen als Eingaben nimmt, wobei ein aufmerksamkeitsbasierter Mechanismus verwendet wird, um die Beziehung zwischen Basisklassen und neuen Klassen bei der Erzeugung neuer Klassifikationsgewichte 214 auszunutzen.
  • Basierend auf den Basis-Klassifikationsgewichten 208 und den neuen Klassifikationsgewichten 214 gibt der Klassifikator eine Wahrscheinlichkeit von Basis- und neuen Klassen für das Muster 202 aus.
  • Ferner können die neuen Klassifikationsgewichte durch einen gradientenbasierten Optimierungsprozess trainiert werden, der den Kreuzentropieverlust von einigen gekennzeichneten Mustern der neuen Klassen verwendet, bis sie konvergieren. Da der Verlust für das Training der neuen Klassifikationsgewichte nur mit den Mustern der neuen Klassen berechnet wird, kann ein Vergessensproblem für Basisklassen auftreten. Um dies zu verhindern, wird ein aufmerksamkeitsbasiertes Regularisierungsverfahren angewendet. Der Regularisierungsverlust wird durch ein Aufmerksamkeits-Attraktor-Netzwerk bereitgestellt. Das Aufmerksamkeits-Attraktor-Netzwerk generiert Attraktor-Vektoren unter Verwendung der Basis-Klassifikationsgewichte, und der Regularisierungsverlust wird basierend auf den Mahalanobis-Distanzen zwischen den neuen Klassifikationsgewichten und den Attraktor-Vektoren berechnet.
  • KURZFASSUNG
  • Gemäß einer Ausführungsform wird ein Verfahren zum kontinuierlichen Few-Shot-Lernen bereitgestellt. Ein Modell für eine Basisaufgabe wird mit Basis-Klassifikationsgewichten für Basisklassen der Basisaufgabe erzeugt. Eine Reihe von neuen Aufgaben wird sequentiell empfangen. Beim Empfangen jeder neuen Aufgabe in der Reihe von neuen Aufgaben wird das Modell durch einen Gewichtsgenerator mit neuen Klassifikationsgewichten für neue Klassen der jeweiligen neuen Aufgabe aktualisiert. Die neuen Klassifikationsgewichte werden basierend auf einem oder mehreren der Basis-Klassifikationsgewichte und, wenn eine oder mehrere andere neue Aufgaben in der Reihe vorher empfangen werden, einem oder mehreren anderen neuen Klassifikationsgewichten für neue Klassen der einen oder mehreren anderen neuen Aufgaben erzeugt. Zusätzlich wird für jede neue Aufgabe ein erster Satz von Mustern der jeweiligen neuen Aufgabe unter Verwendung des aktualisierten Modells in die neuen Klassen klassifiziert.
  • Gemäß einer Ausführungsform wird ein UE bereitgestellt, das einen Prozessor und ein nicht-transitorisches, computerlesbares Speichermedium enthält, das Befehle speichert. Bei Ausführung veranlassen die Befehle den Prozessor, ein Modell für eine Basisaufgabe mit Basis-Klassifikationsgewichten für Basisklassen der Basisaufgabe zu erzeugen und eine Reihe von neuen Tasks sequentiell zu empfangen. Die Befehle veranlassen den Prozessor außerdem, beim Empfangen jeder neuen Aufgabe in der Reihe neuer Aufgaben das Modell mit neuen Klassifikationsgewichten für die neuen Klassen der jeweiligen neuen Aufgabe zu aktualisieren. Die neuen Klassifikationsgewichte werden durch einen Gewichtsgenerator basierend auf einem oder mehreren der Basis-Klassifikationsgewichte und, wenn eine oder mehrere andere neue Aufgaben in der Reihe vorher empfangen werden, einem oder mehreren anderen neuen Klassifikationsgewichten für neue Klassen der einen oder mehreren anderen neuen Aufgaben erzeugt. Die Befehle veranlassen den Prozessor ferner, beim Empfangen jeder neuen Aufgabe einen ersten Satz von Mustern der jeweiligen neuen Aufgabe unter Verwendung des aktualisierten Modells in die neuen Klassen zu klassifizieren.
  • Figurenliste
  • Die obigen und andere Aspekte, Merkmale und Vorteile bestimmter Ausführungsformen der vorliegenden Offenbarung werden aus der folgenden detaillierten Beschreibung in Verbindung mit den beiliegenden Zeichnungen deutlicher, in denen:
    • 1 ein Diagramm ist, das episodisches Few-Shot-Lernen veranschaulicht;
    • 2 ein Diagramm ist, das Few-Shot-Lernen ohne Vergessen von Basisklassen veranschaulicht;
    • 3 ein Diagramm ist, das ein Beispiel für kontinuierliches Few-Shot-Lernen in drei Stufen gemäß einer Ausführungsform veranschaulicht;
    • 4 ein Flussdiagramm ist, das ein Verfahren zum kontinuierlichen Few-Shot-Lernen gemäß einer Ausführungsform veranschaulicht; und
    • 5 ein Blockdiagramm einer elektronischen Vorrichtung in einer Netzwerkumgebung gemäß einer Ausführungsform ist.
  • DETAILLIERTE BESCHREIBUNG
  • Nachfolgend werden Ausführungsformen der vorliegenden Offenbarung unter Bezugnahme auf die beiliegenden Zeichnungen im Detail beschrieben. Es ist zu beachten, dass gleiche Elemente durch die gleichen Bezugszeichen bezeichnet werden, obwohl sie in verschiedenen Zeichnungen dargestellt sind. In der folgenden Beschreibung werden spezifische Details wie detaillierte Konfigurationen und Komponenten lediglich bereitgestellt, um das Gesamtverständnis der Ausführungsformen der vorliegenden Offenbarung zu unterstützen. Daher sollte es für den Fachmann offensichtlich sein, dass verschiedene Änderungen und Modifikationen an den hier beschriebenen Ausführungsformen vorgenommen werden können, ohne dass der Umfang der vorliegenden Offenbarung verlassen wird. Darüber hinaus werden Beschreibungen bekannter Funktionen und Konstruktionen aus Gründen der Klarheit und Prägnanz weggelassen. Die im Folgenden beschriebenen Begriffe sind Begriffe, die in Anbetracht der Funktionen in der vorliegenden Offenbarung definiert werden und gemäß den Benutzern, den Absichten der Benutzer oder den Gepflogenheiten unterschiedlich sein können. Daher sollten die Definitionen der Begriffe basierend auf dem Inhalt der vorliegenden Spezifikation bestimmt werden.
  • Die vorliegende Offenbarung kann verschiedene Modifikationen und verschiedene Ausführungsformen haben, von denen die Ausführungsformen im Folgenden mit Bezug auf die beiliegenden Zeichnungen im Detail beschrieben werden. Es sollte jedoch verstanden werden, dass die vorliegende Offenbarung nicht auf die Ausführungsformen beschränkt ist, sondern alle Modifikationen, Äquivalente und Alternativen im Rahmen der vorliegenden Offenbarung enthält.
  • Obwohl die Begriffe, die eine Ordnungszahl enthalten, wie z.B. erste, zweite usw., zur Beschreibung verschiedener Elemente verwendet werden können, sind die Strukturelemente durch die Begriffe nicht eingeschränkt. Die Begriffe werden nur verwendet, um ein Element von einem anderen Element zu unterscheiden. Ohne den Rahmen der vorliegenden Offenbarung zu sprengen, kann beispielsweise ein erstes Strukturelement als zweites Strukturelement bezeichnet werden. In ähnlicher Weise kann das zweite Strukturelement auch als erstes Strukturelement bezeichnet werden. Wie hier verwendet, enthält der Begriff „und/oder“ alle Kombinationen von einem oder mehreren zugehörigen Elementen.
  • Die hier verwendeten Begriffe werden lediglich zur Beschreibung verschiedener Ausführungsformen der vorliegenden Offenbarung verwendet, sollen aber die vorliegende Offenbarung nicht einschränken. Singularformen sollen Pluralformen enthalten, sofern der Kontext nicht eindeutig etwas anderes angibt. In der vorliegenden Offenbarung sind die Begriffe „enthalten“ oder „haben“ so zu verstehen, dass sie das Vorhandensein eines Merkmals, einer Anzahl, eines Schritts, eines Betriebs, eines Strukturelements, von Teilen oder einer Kombination davon angeben und das Vorhandensein oder die Wahrscheinlichkeit des Hinzufügens eines oder mehrerer anderer Merkmale, Zahlen, Schritte, Betriebe, Strukturelemente, Teile oder Kombinationen davon nicht ausschließen.
  • Sofern nicht anders definiert, haben alle hier verwendeten Begriffe die gleiche Bedeutung, wie sie von einem Fachmann auf dem Gebiet, zu dem die vorliegende Offenbarung gehört, verstanden wird. Begriffe, wie sie in einem allgemein gebräuchlichen Wörterbuch definiert sind, sind so auszulegen, dass sie dieselbe Bedeutung haben wie die kontextuellen Bedeutungen auf dem betreffenden Gebiet der Technik, und sie sind nicht so auszulegen, dass sie eine ideale oder übermäßig formale Bedeutung haben, es sei denn, sie sind in der vorliegenden Offenbarung eindeutig definiert.
  • Die elektronische Vorrichtung gemäß einer Ausführungsform kann eine von verschiedenen Arten von elektronischen Vorrichtungen sein. Die elektronischen Vorrichtungen können z.B. eine tragbare Kommunikationsvorrichtung (z.B. ein Smartphone), einen Computer, eine tragbare Multimedia-Vorrichtung, eine tragbare medizinische Vorrichtung, eine Kamera, eine tragbare Vorrichtung oder eine Haushaltsvorrichtung enthalten. Gemäß einer Ausführungsform der Offenbarung ist eine elektronische Vorrichtung nicht auf die oben beschriebenen beschränkt.
  • Die in der vorliegenden Offenbarung verwendeten Begriffe sollen die vorliegende Offenbarung nicht einschränken, sondern verschiedene Änderungen, Äquivalente oder Ersetzungen für eine entsprechende Ausführungsform enthalten. In Bezug auf die Beschreibungen der beiliegenden Zeichnungen können ähnliche Bezugszeichen verwendet werden, um auf ähnliche oder verwandte Elemente zu verweisen. Die Singularform eines Substantivs, das einem Gegenstand entspricht, kann eines oder mehrere der Dinge enthalten, es sei denn, der jeweilige Kontext gibt eindeutig etwas anderes an. Wie hier verwendet, kann jeder der Ausdrücke wie „A oder B“, „mindestens eines von A und B“, „mindestens eines von A oder B“, „A, B oder C“, „mindestens eines von A, B und C“ und „mindestens eines von A, B oder C“ alle möglichen Kombinationen der in einem entsprechenden der Ausdrücke aufgezählten Elemente enthalten. Wie hier verwendet, können Begriffe wie „1.“, „2.“, „erste“ und „zweite“ verwendet werden, um eine entsprechende Komponente von einer anderen Komponente zu unterscheiden, sind aber nicht dazu gedacht, die Komponenten in anderen Aspekten (z.B. Wichtigkeit oder Reihenfolge) zu begrenzen. Wenn ein Element (z.B. ein erstes Element) mit oder ohne den Begriff „operativ“ oder „kommunikativ“ als „gekoppelt mit“, „gekoppelt an“, „verbunden mit“ oder „verbunden mit“ einem anderen Element (z.B. einem zweiten Element) bezeichnet wird, soll damit angegeben werden, dass das Element mit dem anderen Element direkt (z.B. verkabelt), drahtlos oder über ein drittes Element gekoppelt sein kann.
  • Wie hier verwendet, kann der Begriff „Modul“ eine in Hardware, Software oder Firmware implementierte Einheit enthalten und kann austauschbar mit anderen Begriffen verwendet werden, wie z.B. „Logik“, „Logikblock“, „Teil“ und „Schaltung“. Ein Modul kann eine einzelne integrale Komponente oder eine minimale Einheit oder ein Teil davon sein, die bzw. der geeignet ist, eine oder mehrere Funktionen auszuführen. Gemäß einer Ausführungsform kann ein Modul z.B. in Form einer anwendungsspezifischen integrierten Schaltung (ASIC) implementiert sein.
  • Ausführungsformen der Offenbarung stellen einen Rahmen für kontinuierliches Few-Shot-Lernen bereit. Ein solches Framework kann in vielen Anwendungen verwendet werden, um schrittweise neue Aufgaben zu lernen (z.B. neue Klassen, neue Objekte usw.), ohne die älteren Aufgaben zu vergessen, die bereits gelernt wurden.
  • Ein Modell für eine Basisaufgabe (mit Basisklassen) wird vortrainiert. Das Modell für neue Aufgaben (mit neuen Klassen) wird dann aktualisiert. Für die neuen Aufgaben wird angenommen, dass nur einige wenige Muster (z.B. 1 Muster oder 5 Muster) für jede neue Klasse bereitgestellt werden, wie beim traditionellen Few-Shot-Lernen. Eine Basisaufgabe To wird mit einem Basistrainingssatz D0 bereitgestellt. Eine Reihe von N-fachen K-Shot-Lernaufgaben Ti werden sequenziell gelernt, gegebene Trainingssätze Di für i = 1,2, ....
  • Die Anzahl der Few-Shot-Lernaufgaben ist unbestimmt. Der Trainingssatz Di stammt aus einem Satz von Klassen Ci, die so beschaffen ist, dass Ci ∩ Cj = ϕ, ∀i ≠ j.
  • Für jede Aufgabe Ti wird ein Modell nur mit dem aktuellen Trainingssatz Di aktualisiert. Daten aus vergangenen Aufgaben können nicht erneut verwendet werden. Beim Testen wird das trainierte Modell jedoch auf allen vorherigen Klassen ausgewertet (d. h., C0 ∪ C1 ∪ ... ∪ Ci).
  • Kontinuierliches Few-Shot-Lernen hat einen praktischeren Nutzen als traditionelles Few-Shot-Lernen, da sich das Modell an alle gelernten Klassen erinnert, wenn nach und nach Trainingsdaten eintreffen.
  • Eine detailliertere Beschreibung der oben beschriebenen kontinuierlichen Few-Shot-Lernschritte wird im Folgenden gegeben.
  • Zunächst werden ein Merkmalsextraktor Fθ und ein Satz von Klassifikationsgewichtsvektoren W 0 = [ w c ] c C 0
    Figure DE102021115299A1_0001
    vortrainiert. Unter der Annahme einer linearen Klassifikation nach der Merkmalsextraktion wird die Inferenz- (oder Test-) Ausgabe y für die Eingabe x durch Gleichung (1) unten gegeben: y ^ = argmax c C 0 { w c T F θ ( x ) }
    Figure DE102021115299A1_0002
  • Nach dem Lernen der Aufgabe Ti wird die Inferenz wie in Gleichung (2) unten beschrieben durchgeführt: y ^ = argmax c C 0 C 1 C i { w c T F θ ( x ) }
    Figure DE102021115299A1_0003
  • Alle gelernten Klassen sind von Interesse, und ein Satz von Klassifikationsgewichtsvektoren Wi = [wc]c∈c0 für die neuen Klassen Ci der Aufgabe Ti werden benötigt, bei W0, W1,..., Wi-1.
  • Um den Satz von Klassifikationsgewichtsvektoren Wi für die neuen Klassen Ci zu erhalten, verwendet ein Gewichtsgenerator den Few-Shot-Trainingssatz Di und die Klassifikationsgewichte für die vorher gelernten Klassen (d. h., W0, W1, ..., Wi-1). Genauer gesagt, wobei gϕ den Gewichtsgenerator bezeichnet, und unter Verwendung der Merkmalsextraktor-Ausgabe des Few-Shot-Trainingssatzes Di wird Wi in Gleichung (3) unten angegeben: W i = g ϕ ( F θ ( D i ) , W 0 , W 1 , , W i 1 )
    Figure DE102021115299A1_0004
  • Beim kontinuierlichen Few-Shot-Lernen verwendet der Gewichtsgenerator also alle vorher gelernten Klassifikationsgewichte als Eingabe, während eine Reihe von Few-Shot-Lernaufgaben nach und nach gelernt wird, um die Klassifikationsgewichte für die neue Klasse zu erzeugen, anstatt nur die Gewichte der Basisklasse zu verwenden, wie beim Few-Shot-Lernen ohne Vergessen der Basisklassen.
  • Mit zunehmender Anzahl der gelernten Few-Shot-Aufgaben steigt auch die Anzahl der Klassifikationsgewichte, die dem oben beschriebenen Gewichtsgenerator bereitgestellt werden. Dementsprechend sind zwei Verfahren zum Trainieren des Gewichtsgenerators vorgesehen.
  • In einem ersten Verfahren wird der Gewichtsgenerator für eine zufällige Anzahl von neuen Basisklassen optimiert. Zunächst werden „gefälschte“ bzw. künstliche Few-Shot-Lernaufgaben aus Do konstruiert. Konkret wird die Anzahl der neuen Basisklassen Ĉ0 zufällig ausgewählt ( d . h ., N 0 min | C ^ 0 | | C 0 | ) .
    Figure DE102021115299A1_0005
    „Neue“ Basisklassen Ĉ0 und „gefälschte“ neue Klassen Ĉ1 werden zufällig aus den Basisklassen ausgewählt C0 (d. h., C0 ∩ Ĉ1 = ϕ, |Ĉ1| = N). K Muster werden zufällig für jede Klasse von C1 ausgewählt und in Ŝ1 abgelegt. Die K Muster werden dem Gewichtsgenerator zugeführt. Einige Muster werden zufällig für jede Klasse von Ĉ0 und Ĉ1 ausgewählt und in D̂0 und D̂1 abgelegt. Die zufällig ausgewählten Muster werden zur Berechnung der Kreuzentropie verwendet.
  • Die Optimierung wird gemäß Gleichung (4) unten durchgeführt: min W 0 , ϕ E [ E x , y D ^ 0 D ^ 1 [ Kreuzentropie ( y , softmax ( [ W ^ 0, g ϕ ( S ^ 1 , W ^ 0 ) ] T F θ ( x ) ) ) ] ]
    Figure DE102021115299A1_0006
    wobei Ŵ0 die Klassifikationsgewichtsvektoren in Wo sind, die Ĉ0 entsprechen.
  • In einer anderen Ausführungsform werden mehrere Gewichtsgeneratoren für eine zufällige Anzahl von „neuen“ Basisklassen trainiert. Unter der Annahme, dass die Anzahl der Basisklassen zu einem festen endlichen Bereich gehört (z.B. 50 bis 100), wird für jede zufällige Anzahl von Basisklassen ein separater Gewichtsgenerator trainiert. Die Gewichte mehrerer Gewichtsgeneratoren werden gemittelt, um einen fusionierten Gewichtsgenerator zu erhalten.
  • Wenn die Anzahl der Few-Shot-Lernaufgaben, die nach dem Basismodell hinzugefügt werden, beliebig ist und nicht vorher festgelegt wird, ist es schwierig, den Gewichtsgenerator für eine beliebige Anzahl von Few-Shot-Lernaufgaben zu optimieren. Bei einem zweiten Verfahren zum Trainieren des Gewichtsgenerators wird die Anzahl der Few-Shot-Lernaufgaben begrenzt (z.B. drei) und der Gewichtsgenerator wird so trainiert, dass der Klassifikationsfehler über die feste Anzahl von Few-Shot-Lernaufgaben minimiert wird.
  • 3 ist ein Diagramm, das ein Beispiel für kontinuierliches Few-Shot-Lernen in drei Stufen gemäß einer Ausführungsform zeigt. In einer ersten Stufe wird ein Modell für die Basisklassen trainiert. Unter Verwendung der Basisklassengewichte 302 und eines ersten Satzes neuer Klassenmuster 304 erzeugt ein Gewichtsgenerator 306 einen ersten Satz neuer Klassifikationsgewichte 308 für die erste Few-Shot-Aufgabe. In einer zweiten Phase werden die Klassifikationsgewichte für die Basisklassen 302 und der erzeugte erste Satz von Klassifikationsgewichten 308 vom Gewichtsgenerator 306 in Kombination mit einem zweiten Satz neuer Klassenmuster 310 verwendet, um einen zweiten Satz von Klassifikationsgewichten 312 für die zweite Few-Shot-Lernaufgabe zu erzeugen. In einer dritten Phase werden die Klassifikationsgewichte für die Basisklassen 302, der erzeugte erste Satz von Klassifikationsgewichten 308 und der erzeugte zweite Satz von Klassifikationsgewichten 312 durch den Gewichtsgenerator 306 in Kombination mit einem dritten Satz von neuen Klassenmustern 314 verwendet, um einen dritten Satz von Klassifikationsgewichten 316 für die dritte Few-Shot-Lernaufgabe zu erzeugen.
  • Dieses kontinuierliche Few-Shot-Lernen wird eine feste Anzahl von Malen durchgeführt. In jeder Stufe wird der Verlust, der zum Trainieren des Gewichtsgenerators verwendet wird, als der Kreuzentropieverlust für Basisklassen und gelernte neue Klassen definiert. Der durchschnittliche Klassifikationsverlust für alle Stufen wird bestimmt und der Gewichtsgenerator wird so optimiert, dass der durchschnittliche Verlust minimiert wird.
  • Konkret wird im Hinblick auf die Optimierung eines Gewichtsgenerators für eine feste Anzahl von Few-Shot-Lernaufgaben zunächst eine Anzahl k von „gefälschten“ Few-Shot-Lernaufgaben aus Do konstruiert. Genauer gesagt, „neue“ Basisklassen Ĉ0 und k Sätze von „gefälschten neuen Klassen Ĉ1, Ĉ2, ... Ĉk werden zufällig aus den Basisklassen C0 ausgewählt, wie in Gleichung (5) unten angegeben: | C ^ i | = N ,1 i k , | C ^ 0 | = | C 0 | k N , C 0 = U i = 0 k C ^ i , C ^ i C ^ j = ϕ , i j
    Figure DE102021115299A1_0007
  • K Muster werden zufällig für jede Klasse von Ĉi ausgewählt und werden jeweils in Ŝi für 1 ≤ i ≤ k abgelegt. Die zufällig ausgewählten K Muster werden dem Gewichtsgenerator zugeführt. Einige Muster für jede Klasse werden zufällig ausgewählt aus Ĉi und werden in D̂i für 0 ≤ i ≤ k abgelegt. Diese zufällig ausgewählten Muster werden zur Berechnung der Kreuzentropie verwendet.
  • Die Optimierung wird gemäß Gleichung (6) unten durchgeführt: min W 0 , ϕ i = 1 k E [ E x , y D ^ 0 D ^ 1 D ^ i [ Kreuzentropie ( y , softmax ( [ W ^ 0, W ^ 1 , , W ^ i ] T F θ ( x ) ) ) ] ]
    Figure DE102021115299A1_0008
    wobei Wi = gϕ (Si, W0, W1,..., Wi-1) und Ŵ0 die Klassifikationsgewichtsvektoren in Wo sind, die Ĉ0 entsprechen.
  • Eine erste Architektur für einen Gewichtsgenerator beinhaltet einen Bi-Attention-Gewichtsgenerator. D i c
    Figure DE102021115299A1_0009
    wird als die Daten der Klasse c in Di festgelegt. Wenn W 0 i 1 =
    Figure DE102021115299A1_0010
    [ W 0 , W 1 , , W i 1 ]
    Figure DE102021115299A1_0011
    wird das Klassifikationsgewicht wc der Klasse c, das durch den Bi-Attention-Gewichtsgenerator erhalten wird, in Gleichung (7) unten angegeben: w c = m e a n x D i c ( W V W 0 i 1 Att ( W Q F θ ( x ) , W K W 0 i 1 ) T )
    Figure DE102021115299A1_0012
    wobei WQ, WK, und WV lineare Transformationsgewichte für Abfrage, Schlüssel und Wert des Bi-Attention-Moduls sind, und Att ( A , B ) = softmax ( A T B d ) .
    Figure DE102021115299A1_0013
  • Eine zweite Architektur für einen Gewichtsgenerator hat einen Self-Attention-Gewichtsgenerator, bei dem W a l l [ W 0 i 1 , mean x D i C 1 ( F θ ( x ) ) , , mean x D i c N ( F θ ( x ) ) ]
    Figure DE102021115299A1_0014
    für c1, ..., cN ∈ Ci. Das Klassifikationsgewicht, das durch den Self-Attention-Gewichtsgenerator erzeugt wird, ist in Gleichung (8) unten angegeben: W a l l W V W a l l Att ( W Q W a l l , W K W a l l ) T
    Figure DE102021115299A1_0015
    wobei NB die Anzahl der Basisklassen ist und Xn kennzeichnet die n-te Spalte von X.
  • Der Self-Attention-Gewichtsgenerator unterscheidet sich vom Bi-Attention-Gewichtsgenerator dadurch, dass die Gewichte der Basisklasse im Self-Attention-Gewichtsgenerator aktualisiert werden.
  • Die vorgeschlagenen Modifikationen des Gewichtsgenerators können für das Aufmerksamkeits-Attraktor-Netzwerk angewendet werden, mit einer Ausgabe, die zur Regularisierung der Gewichte verwendet wird (anstatt die Gewichte zu generieren).
  • Die Bi-Attention- und Self-Attention-Gewichtsgeneratoren können so modifiziert werden, dass sie einen Multi-Head-Bi-Attention-Gewichtsgenerator bzw. einen Multi-Head-Self-Attention-Gewichtsgenerator bilden.
  • Bezugnehmend auf 4, veranschaulicht ein Flussdiagramm ein Verfahren zum kontinuierlichen Few-Shot-Lernen gemäß einer Ausführungsform. Ein Modell für eine Basisaufgabe wird vorab trainiert mit Basis-Klassifikationsgewichten für Basisklassen der Basisaufgabe, bei 402. Das Modell enthält einen Merkmalsextraktor. Neue Basisklassen und gefälschte neue Klassen werden aus den Basisklassen ausgewählt (404). Ein durchschnittlicher Kreuzentropieverlust wird bestimmt, indem zufällig ausgewählte Muster aus jeder der Klassen verwendet werden, um einen Gewichtsgenerator zu optimieren (406). Der Gewichtsgenerator wird bei 408 optimiert, wobei eine zufällige Anzahl von neuen Basisklassen und eine gefälschte neue Aufgabe der gefälschten neuen Klassen verwendet wird, oder eine feste Anzahl von gefälschten neuen Aufgaben der gefälschten neuen Klassen verwendet wird.
  • Eine neue Aufgabe aus einer Reihe von neuen Aufgaben wird empfangen (410). Merkmale werden aus einem Satz von Mustern der neuen Aufgabe bei 412 extrahiert. Der Satz von Mustern wird in neue Klassen vorklassifiziert, die sich von den Basisklassen unterscheiden.
  • Neue Klassifikationsgewichte für die neuen Klassen werden bei 414 generiert. Die neuen Klassifikationsgewichte können z.B. durch den Gewichtsgenerator erzeugt werden, der die extrahierten Merkmale, die Basis-Klassifikationsgewichte und ein oder mehrere andere neue Klassifikationsgewichte verwendet. Die ein oder mehreren anderen neuen Klassifikationsgewichte sind für neue Klassen von einer oder mehreren anderen neuen Aufgaben in der Reihe, die vorher empfangen wurden. Eine Anzahl von der einen oder mehreren anderen neuen Aufgaben kann kleiner oder gleich drei sein.
  • Als weiteres Beispiel können die neuen Klassifikationsgewichte durch den Gewichtsgenerator erzeugt werden, indem die extrahierten Merkmale und Klassifikationsgewichte von Klassen verwendet werden, die aus den Basisklassen und den neuen Klassen der einen oder mehreren anderen neuen Aufgaben in der Reihe, die vorher empfangen wurden, ausgewählt wurden. Für jede neue Aufgabe kann eine zufällige Anzahl von Klassen für die Klassifikationsgewichte bei der Erzeugung der neuen Klassifikationsgewichte ausgewählt werden.
  • Das Modell wird mit den neuen Klassifikationsgewichten für die neuen Klassen der neuen Aufgabe aktualisiert (416).
  • Ein Satz unklassifizierter Muster der neuen Aufgabe wird unter Verwendung des aktualisierten Modells in die neuen Klassen klassifiziert (418). Bei 420 wird bestimmt, ob eine andere neue Aufgabe in der Reihe der neuen Aufgaben empfangen werden soll. Wenn eine andere neue Aufgabe empfangen werden soll, kehrt die Methodik zu 410 zurück. Wenn keine andere neue Aufgabe empfangen werden soll, wird die Methodik bei 422 beendet.
  • 5 ist ein Blockdiagramm einer elektronischen Vorrichtung in einer Netzwerkumgebung, gemäß einer Ausführungsform. Gemäß 5 kann eine elektronische Vorrichtung 501 in einer Netzwerkumgebung 500 mit einer elektronischen Vorrichtung 502 über ein erstes Netzwerk 598 (z.B. ein drahtloses Kommunikationsnetzwerk mit kurzer Reichweite) oder mit einer elektronischen Vorrichtung 504 oder einem Server 508 über ein zweites Netzwerk 599 (z.B. ein drahtloses Kommunikationsnetzwerk mit langer Reichweite) kommunizieren. Die elektronische Vorrichtung 501 kann mit der elektronischen Vorrichtung 504 über den Server 508 kommunizieren. Die elektronische Vorrichtung 501 kann einen Prozessor 520, einen Speicher 530, eine Eingabevorrichtung 550, eine Tonausgabevorrichtung 555, eine Anzeigevorrichtung 560, ein Audiomodul 570, ein Sensormodul 576, eine Schnittstelle 577, ein Haptikmodul 579, ein Kameramodul 580, ein Energiemanagementmodul 588, eine Batterie 589, ein Kommunikationsmodul 590, ein Teilnehmeridentifikationsmodul (SIM) 596 oder ein Antennenmodul 597 enthalten. In einer Ausführungsform kann mindestens eine der Komponenten (z.B. die Anzeigevorrichtung 560 oder das Kameramodul 580) in der elektronischen Vorrichtung 501 weggelassen werden, oder es können eine oder mehrere andere Komponenten zu der elektronischen Vorrichtung 501 hinzugefügt werden. Einige der Komponenten können als eine einzige integrierte Schaltung (IC) implementiert sein. Beispielsweise kann das Sensormodul 576 (z.B. ein Fingerabdrucksensor, ein Iris-Sensor oder ein Beleuchtungssensor) in die Anzeigevorrichtung 560 (z.B. eine Anzeige) eingebettet sein.
  • Der Prozessor 520 kann z.B. Software (z.B. ein Programm 540) ausführen, um mindestens eine andere Komponente (z.B. eine Hardware- oder eine Softwarekomponente) der elektronischen Vorrichtung 501 zu steuern, die mit dem Prozessor 520 gekoppelt ist, und kann verschiedene Datenverarbeitungen oder Berechnungen ausführen. Zumindest als Teil der Datenverarbeitung oder Berechnungen kann der Prozessor 520 einen Befehl oder Daten, die von einer anderen Komponente (z.B. dem Sensormodul 576 oder dem Kommunikationsmodul 590) empfangen wurden, in den flüchtigen Speicher 532 laden, den Befehl oder die im flüchtigen Speicher 532 gespeicherten Daten verarbeiten und die resultierenden Daten im nichtflüchtigen Speicher 534 speichern. Der Prozessor 520 kann einen Hauptprozessor 521 (z.B. eine zentrale Verarbeitungseinheit (CPU) oder einen Anwendungsprozessor (AP)) und einen Hilfsprozessor 523 (z.B. eine Grafikverarbeitungseinheit (GPU), einen Bildsignalprozessor (ISP), einen Sensor-Hub-Prozessor oder einen Kommunikationsprozessor (CP)) enthalten, der unabhängig vom Hauptprozessor 521 oder in Verbindung mit diesem betrieben werden kann. Zusätzlich oder alternativ kann der Hilfsprozessor 523 so ausgebildet sein, dass er weniger Energie verbraucht als der Hauptprozessor 521 oder eine bestimmte Funktion ausführt. Der Hilfsprozessor 523 kann getrennt vom Hauptprozessor 521 oder als Teil davon implementiert werden.
  • Der Hilfsprozessor 523 kann anstelle des Hauptprozessors 521 mindestens einige der Funktionen oder Zustände steuern, die sich auf mindestens eine Komponente (z.B. die Anzeigevorrichtung 560, das Sensormodul 576 oder das Kommunikationsmodul 590) unter den Komponenten der elektronischen Vorrichtung 501 beziehen, während sich der Hauptprozessor 521 in einem inaktiven Zustand (z.B. Ruhezustand) befindet, oder zusammen mit dem Hauptprozessor 521, während sich der Hauptprozessor 521 in einem aktiven Zustand befindet (z.B. Ausführen einer Anwendung). Der Hilfsprozessor 523 (z.B. ein Bildsignalprozessor oder ein Kommunikationsprozessor) kann als Teil einer anderen Komponente (z.B. des Kameramoduls 580 oder des Kommunikationsmoduls 590) implementiert sein, die funktional mit dem Hilfsprozessor 523 verbunden ist.
  • Der Speicher 530 kann verschiedene Daten speichern, die durch mindestens eine Komponente (z.B. den Prozessor 520 oder das Sensormodul 576) der elektronischen Vorrichtung 501 verwendet werden. Die verschiedenen Daten können z.B. Software (z.B. das Programm 540) und Eingabedaten oder Ausgabedaten für einen damit verbundenen Befehl enthalten. Der Speicher 530 kann den flüchtigen Speicher 532 oder den nichtflüchtigen Speicher 534 enthalten.
  • Das Programm 540 kann in dem Speicher 530 als Software gespeichert sein und kann z.B. ein Betriebssystem (OS) 542, eine Middleware 544 oder eine Anwendung 546 enthalten.
  • Die Eingabevorrichtung 550 kann einen Befehl oder Daten empfangen, die von einer anderen Komponente (z.B. dem Prozessor 520) der elektronischen Vorrichtung 501 verwendet werden sollen, und zwar von außen (z.B. von einem Benutzer) der elektronischen Vorrichtung 501. Die Eingabevorrichtung 550 kann z.B. ein Mikrofon, eine Maus oder eine Tastatur enthalten.
  • Die Tonausgabevorrichtung 555 kann Tonsignale an die Außenseite der elektronischen Vorrichtung 501 ausgeben. Die Ausgabevorrichtung 555 kann z.B. einen Lautsprecher oder einen Empfänger enthalten. Der Lautsprecher kann für allgemeine Zwecke verwendet werden, z.B. zum Abspielen von Multimedia-Inhalten oder zum Aufnehmen, und der Empfänger kann zum Empfangen eines eingehenden Anrufs verwendet werden. Der Empfänger kann getrennt vom Lautsprecher oder als Teil des Lautsprechers implementiert sein.
  • Die Anzeigevorrichtung 560 kann Informationen für die Außenseite (z.B. einen Benutzer) der elektronischen Vorrichtung 501 visuell bereitstellen. Die Anzeigevorrichtung 560 kann z.B. eine Anzeige, eine Hologrammvorrichtung oder einen Projektor und eine Schaltung zur Steuerung enthalten, die der Anzeige, der Hologrammvorrichtung oder dem Projektor entspricht. Die Anzeigevorrichtung 560 kann eine Berührungsschaltung enthalten, die geeignet ist, eine Berührung zu detektieren, oder eine Sensorschaltung (z.B. einen Drucksensor), die geeignet ist, die Intensität der Kraft zu messen, die durch die Berührung entsteht.
  • Das Audiomodul 570 kann einen Ton in ein elektrisches Signal umwandeln und umgekehrt. Das Audiomodul 570 kann den Ton über die Eingabevorrichtung 550 erhalten oder den Ton über die Tonausgabevorrichtung 555 oder einen Kopfhörer einer externen elektronischen Vorrichtung 502 direkt (z.B. verkabelt) oder drahtlos gekoppelt mit der elektronischen Vorrichtung 501 ausgeben.
  • Das Sensormodul 576 kann einen Betriebszustand (z.B. Strom oder Temperatur) der elektronischen Vorrichtung 501 oder einen Umgebungszustand (z.B. einen Zustand eines Benutzers) außerhalb der elektronischen Vorrichtung 501 detektieren und dann ein elektrisches Signal oder einen Datenwert erzeugen, der dem detektierten Zustand entspricht. Das Sensormodul 576 kann z.B. einen Gestensensor, einen Gyrosensor, einen Luftdrucksensor, einen Magnetsensor, einen Beschleunigungssensor, einen Griffsensor, einen Näherungssensor, einen Farbsensor, einen Infrarot (IR)-Sensor, einen biometrischen Sensor, einen Temperatursensor, einen Feuchtigkeitssensor oder einen Beleuchtungssensor enthalten.
  • Die Schnittstelle 577 kann ein oder mehrere spezifizierte Protokolle unterstützen, die für die direkte (z.B. drahtgebundene) oder drahtlose Kopplung der elektronischen Vorrichtung 501 mit der externen elektronischen Vorrichtung 502 verwendet werden. Die Schnittstelle 577 kann z.B. eine High-Definition-Multimedia-Schnittstelle (HDMI), eine USB-Schnittstelle (Universal Serial Bus), eine SD-Kartenschnittstelle (Secure Digital) oder eine Audioschnittstelle enthalten.
  • Ein Verbindungsanschluss 578 kann einen Stecker enthalten, über den die elektronische Vorrichtung 501 physisch mit der externen elektronischen Vorrichtung 502 verbunden werden kann. Der Verbindungsanschluss 578 kann z.B. einen HDMI-Anschluss, einen USB-Anschluss, einen SD-Kartenanschluss oder einen Audioanschluss (z.B. einen Kopfhöreranschluss) enthalten.
  • Das Haptikmodul 579 kann ein elektrisches Signal in einen mechanischen Reiz (z.B. eine Vibration oder eine Bewegung) oder einen elektrischen Reiz umwandeln, der von einem Benutzer durch taktile Empfindung oder kinästhetische Empfindung erkannt werden kann. Das Haptikmodul 579 kann z.B. einen Motor, ein piezoelektrisches Element oder einen elektrischen Stimulator enthalten.
  • Das Kameramodul 580 kann ein Standbild oder bewegte Bilder aufnehmen. Das Kameramodul 580 kann ein oder mehrere Objektive, Bildsensoren, Bildsignalprozessoren oder Blitze enthalten.
  • Das Energiemanagementmodul 588 kann die Energieversorgung der elektronischen Vorrichtung 501 verwalten. Das Energiemanagementmodul 588 kann z.B. als Teil einer integrierten Schaltung für das Energiemanagement (PMIC) implementiert sein.
  • Die Batterie 589 kann mindestens eine Komponente der elektronischen Vorrichtung 501 mit Strom versorgen. Die Batterie 589 kann z.B. eine nicht wieder aufladbare Primärzelle, eine wieder aufladbare Sekundärzelle oder eine Brennstoffzelle enthalten.
  • Das Kommunikationsmodul 590 kann das Einrichten eines direkten (z.B. drahtgebundenen) Kommunikationskanals oder eines drahtlosen Kommunikationskanals zwischen der elektronischen Vorrichtung 501 und der externen elektronischen Vorrichtung (z.B. der elektronischen Vorrichtung 502, der elektronischen Vorrichtung 504 oder dem Server 508) und das Ausführen der Kommunikation über den eingerichteten Kommunikationskanal unterstützen. Das Kommunikationsmodul 590 kann einen oder mehrere Kommunikationsprozessoren enthalten, die unabhängig vom Prozessor 520 (z.B. dem AP) arbeiten können und eine direkte (z.B. drahtgebundene) Kommunikation oder eine drahtlose Kommunikation unterstützen. Das Kommunikationsmodul 590 kann ein drahtloses Kommunikationsmodul 592 (z.B. ein Mobilfunk-Kommunikationsmodul, ein drahtloses Kurzstrecken-Kommunikationsmodul oder ein Globales Satellitennavigationssystem (GNSS)-Kommunikationsmodul) oder ein drahtgebundenes Kommunikationsmodul 594 (z.B. ein LAN-Kommunikationsmodul oder ein Power Line Communication (PLC)-Modul) enthalten. Ein entsprechendes dieser Kommunikationsmodule kann mit der externen elektronischen Vorrichtung über das erste Netzwerk 598 (z.B. ein Kurzstrecken-Kommunikationsnetzwerk, wie Bluetooth™, Wireless-Fidelity (Wi-Fi) Direct oder ein Standard der Infrared Data Association (IrDA)) oder das zweite Netzwerk 599 (z.B. ein Langstrecken-Kommunikationsnetzwerk, wie ein Mobilfunknetzwerk, das Internet oder ein Computernetzwerk (z.B. LAN oder Wide Area Network (WAN)) kommunizieren. Diese verschiedenen Arten von Kommunikationsmodulen können als eine einzige Komponente (z.B. ein einzelner IC) oder als mehrere Komponenten (z.B. mehrere ICs), die voneinander getrennt sind, implementiert werden. Das drahtlose Kommunikationsmodul 592 kann die elektronische Vorrichtung 501 in einem Kommunikationsnetzwerk, wie z.B. dem ersten Netzwerk 598 oder dem zweiten Netzwerk 599, identifizieren und authentifizieren, indem es die im Teilnehmeridentifikationsmodul 596 gespeicherten Teilnehmerinformationen (z.B. die internationale Mobilfunkteilnehmerkennung (IMSI)) verwendet.
  • Das Antennenmodul 597 kann ein Signal oder Strom an die Außenseite (z.B. die externe elektronische Vorrichtung) der elektronischen Vorrichtung 501 senden oder von dieser empfangen. Das Antennenmodul 597 kann eine oder mehrere Antennen enthalten, und davon kann mindestens eine Antenne, die für ein im Kommunikationsnetzwerk verwendetes Kommunikationsschema, wie das erste Netzwerk 598 oder das zweite Netzwerk 599, geeignet ist, z.B. durch das Kommunikationsmodul 590 (z.B. das drahtlose Kommunikationsmodul 592) ausgewählt werden. Das Signal oder die Leistung kann dann zwischen dem Kommunikationsmodul 590 und der externen elektronischen Vorrichtung über die ausgewählte mindestens eine Antenne gesendet oder empfangen werden.
  • Mindestens einige der oben beschriebenen Komponenten können miteinander gekoppelt sein und Signale (z.B. Befehle oder Daten) zwischen ihnen über ein interperipheres Kommunikationsschema (z.B. einen Bus, eine Allzweck-Eingabe und -Ausgabe (GPIO), eine serielle periphere Schnittstelle (SPI) oder eine Schnittstelle für mobile Industrieprozessoren (MIPI)) übertragen.
  • Befehle oder Daten können zwischen der elektronischen Vorrichtung 501 und der externen elektronischen Vorrichtung 504 über den Server 508 gesendet oder empfangen werden, der mit dem zweiten Netzwerk 599 verbunden ist. Jede der elektronischen Vorrichtungen 502 und 504 kann eine Vorrichtung desselben Typs oder eines anderen Typs als die elektronische Vorrichtung 501 sein. Alle oder einige der an der elektronischen Vorrichtung 501 auszuführenden Betriebe können an einer oder mehreren der externen elektronischen Vorrichtungen 502, 504 oder 508 ausgeführt werden. Wenn die elektronische Vorrichtung 501 beispielsweise eine Funktion oder einen Dienst automatisch oder als Antwort auf eine Anfrage eines Benutzers oder einer anderen Vorrichtung ausführen soll, kann die elektronische Vorrichtung 501 anstelle oder zusätzlich zur Ausführung der Funktion oder des Dienstes die eine oder mehrere externe elektronische Vorrichtungen auffordern, zumindest einen Teil der Funktion oder des Dienstes auszuführen. Die eine oder mehreren externen elektronischen Vorrichtungen, die die Anforderung empfangen, können die zumindest teilweise angeforderte Funktion oder den angeforderten Dienst oder eine zusätzliche Funktion oder einen zusätzlichen Dienst, die mit der Anforderung zusammenhängen, ausführen und ein Ergebnis der Ausführung an die elektronische Vorrichtung 501 übertragen. Die elektronische Vorrichtung 501 kann das Ergebnis, mit oder ohne weitere Verarbeitung des Ergebnisses, als zumindest einen Teil einer Antwort auf die Anforderung bereitstellen. Zu diesem Zweck kann z.B. eine Cloud-Computing-, eine verteilte Computing- oder eine Client-Server-Computing-Technologie verwendet werden.
  • Eine Ausführungsform kann als Software (z.B. das Programm 540) implementiert werden, die einen oder mehrere Befehle enthält, die in einem Speichermedium (z.B. interner Speicher 536 oder externer Speicher 538) gespeichert sind, das von einer Maschine (z.B. der elektronischen Vorrichtung 501) gelesen werden kann. Beispielsweise kann ein Prozessor der elektronischen Vorrichtung 501 mindestens einen der einen oder mehreren Befehle, die im Speichermedium gespeichert sind, aufrufen und ausführen, mit oder ohne Verwendung einer oder mehrerer anderer Komponenten unter der Steuerung des Prozessors. So kann eine Maschine betrieben werden, um mindestens eine Funktion gemäß dem mindestens einen aufgerufenen Befehl auszuführen. Der eine oder die mehreren Befehle können einen durch einen Compiler erzeugten Code oder einen durch einen Interpreter ausführbaren Code enthalten. Ein maschinenlesbares Speichermedium kann in Form eines nicht-transitorischen Speichermediums bereitgestellt werden. Der Begriff „nichttransitorisch“ gibt an, dass das Speichermedium eine greifbare Vorrichtung ist und kein Signal (z.B. eine elektromagnetische Welle) enthält, aber dieser Begriff unterscheidet nicht zwischen dem Fall, dass Daten semi-permanent im Speichermedium gespeichert sind, und dem Fall, dass die Daten temporär im Speichermedium gespeichert sind.
  • Gemäß einer Ausführungsform kann ein Verfahren der Offenbarung in einem Computerprogrammprodukt enthalten sein und bereitgestellt werden. Das Computerprogrammprodukt kann als Produkt zwischen einem Verkäufer und einem Käufer gehandelt werden. Das Computerprogrammprodukt kann in Form eines maschinenlesbaren Speichermediums (z.B. eines Compact-Disc-Festwertspeichers (CD-ROM)) verteilt werden, oder es kann online über einen Anwendungsspeicher (z.B. Play Store™) oder direkt zwischen zwei Vorrichtungen (z.B. Smartphones) verteilt (z.B. herunter- oder hochgeladen) werden. Bei der Online-Verteilung kann zumindest ein Teil des Computerprogrammprodukts temporär erzeugt oder zumindest temporär im maschinenlesbaren Speichermedium gespeichert werden, z.B. im Speicher des Servers des Herstellers, einem Server des Application Stores oder einem Relay-Server.
  • Gemäß einer Ausführungsform kann jede Komponente (z.B. ein Modul oder ein Programm) der oben beschriebenen Komponenten eine einzelne Entität oder mehrere Entitäten enthalten. Eine oder mehrere der oben beschriebenen Komponenten können weggelassen werden, oder eine oder mehrere andere Komponenten können hinzugefügt werden. Alternativ oder zusätzlich kann eine Vielzahl von Komponenten (z.B. Module oder Programme) in eine einzige Komponente integriert werden. In diesem Fall kann die integrierte Komponente weiterhin eine oder mehrere Funktionen jeder der Vielzahl von Komponenten in der gleichen oder ähnlichen Weise ausführen, wie sie durch eine entsprechende der Vielzahl von Komponenten vor der Integration ausgeführt wurden. Operationen, die durch das Modul, das Programm oder eine andere Komponente ausgeführt werden, können sequentiell, parallel, wiederholt oder heuristisch ausgeführt werden, oder eine oder mehrere der Operationen können in einer anderen Reihenfolge ausgeführt oder weggelassen werden, oder eine oder mehrere andere Operationen können hinzugefügt werden.
  • Obwohl bestimmte Ausführungsformen der vorliegenden Offenbarung in der detaillierten Beschreibung der vorliegenden Offenbarung beschrieben wurden, kann die vorliegende Offenbarung in verschiedenen Formen modifiziert werden, ohne vom Umfang der vorliegenden Offenbarung abzuweichen. Daher soll der Umfang der vorliegenden Offenbarung nicht allein auf der Grundlage der beschriebenen Ausführungsformen bestimmt werden, sondern vielmehr basierend auf den beiliegenden Ansprüchen und deren Entsprechungen.
  • 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
    • US 63/071067 [0001]

Claims (20)

  1. Verfahren zum kontinuierlichen Few-Shot-Lemen, das folgendes aufweist: Erzeugen eines Modells für eine Basisaufgabe mit Basis-Klassifikationsgewichten für Basisklassen der Basisaufgabe; sequentielles Empfangen einer Reihe von neuen Aufgaben; und beim Empfangen jeder neuen Aufgabe in der Reihe von neuen Aufgaben: Aktualisieren des Modells mit neuen Klassifikationsgewichten für neue Klassen der jeweiligen neuen Aufgabe, wobei die neuen Klassifikationsgewichte durch einen Gewichtsgenerator basierend auf einem oder mehreren der Basis-Klassifikationsgewichte und, wenn eine oder mehrere andere neue Aufgaben in der Reihe vorher empfangen werden, einem oder mehreren anderen neuen Klassifikationsgewichten für neue Klassen der einen oder mehreren anderen neuen Aufgaben erzeugt werden; und Klassifizieren eines ersten Satzes von Mustern der jeweiligen neuen Aufgabe in die neuen Klassen unter Verwendung des aktualisierten Modells.
  2. Verfahren nach Anspruch 1, ferner aufweisend Trainieren des Gewichtsgenerators unter Verwendung einer zufälligen Anzahl der Basisklassen und einer gefälschten neuen Aufgabe von gefälschten neuen Klassen, die aus den Basisklassen ausgewählt sind, oder unter Verwendung einer festen Anzahl von gefälschten neuen Aufgaben der gefälschten neuen Klassen, die aus den Basisklassen ausgewählt sind.
  3. Verfahren nach Anspruch 2, wobei das Trainieren des Gewichtsgenerators das Bestimmen eines durchschnittlichen Kreuzentropieverlustes unter Verwendung von zufällig ausgewählten Mustern aus den zum Trainieren des Gewichtsgenerators verwendeten Klassen aufweist.
  4. Verfahren nach Anspruch 1, wobei das Modell einen Merkmalsextraktor aufweist.
  5. Verfahren nach Anspruch 1, wobei jede neue Aufgabe ferner einen zweiten Satz von Mustern aufweist, die in neue Klassen klassifiziert werden.
  6. Verfahren nach Anspruch 5, wobei das Aktualisieren des Modells folgendes aufweist: Extrahieren von Merkmalen aus dem zweiten Satz von Mustern der jeweiligen neuen Aufgabe; und Erzeugen der neuen Klassifikationsgewichte durch den Gewichtsgenerator unter Verwendung der extrahierten Merkmale, der Basis-Klassifikationsgewichte und der anderen neuen Klassifikationsgewichte.
  7. Verfahren nach Anspruch 6, wobei eine Anzahl der einen oder mehreren anderen neuen Aufgaben kleiner oder gleich drei ist.
  8. Verfahren nach Anspruch 5, wobei das Aktualisieren des Modells folgendes aufweist: Extrahieren von Merkmalen aus dem zweiten Satz von Mustern der jeweiligen neuen Aufgabe; und Erzeugen der neuen Klassifikationsgewichte durch den Gewichtsgenerator unter Verwendung der extrahierten Merkmale und der Klassifikationsgewichte von Klassen, die aus den Basisklassen und den neuen Klassen der einen oder mehreren anderen neuen Aufgaben ausgewählt sind.
  9. Verfahren nach Anspruch 8, wobei für jede neue Aufgabe eine zufällige Anzahl von Klassen für die Klassifikationsgewichte ausgewählt wird, die verwendet werden, um die neuen Klassifikationsgewichte zu erzeugen.
  10. Verfahren nach Anspruch 1, wobei der Gewichtsgenerator ein Bi-Attention Gewichtsgenerator oder ein Self-Attention Gewichtsgenerator ist.
  11. Benutzerendgerät (UE), das aufweist: einen Prozessor; und ein nicht-transitorisches computerlesbares Speichermedium, das Befehle speichert, die, wenn sie ausgeführt werden, den Prozessor veranlassen zum: Erzeugen eines Modells für eine Basisaufgabe mit Basis-Klassifikationsgewichten für Basisklassen der Basisaufgabe; sequentielles Empfangen einer Reihe von neuen Aufgaben; und beim Empfangen jeder neuen Aufgabe in der Reihe von neuen Aufgaben: Aktualisieren des Modells mit neuen Klassifikationsgewichten für neue Klassen der jeweiligen neuen Aufgabe, wobei die neuen Klassifikationsgewichte durch einen Gewichtsgenerator basierend auf einem oder mehreren der Basis-Klassifikationsgewichte und, wenn eine oder mehrere andere neue Aufgaben in der Reihe vorher empfangen werden, einem oder mehreren anderen neuen Klassifikationsgewichten für neue Klassen der einen oder mehreren anderen neuen Aufgaben erzeugt werden; und Klassifizieren eines ersten Satzes von Mustern der jeweiligen neuen Aufgabe in die neuen Klassen unter Verwendung des aktualisierten Modells.
  12. UE nach Anspruch 11, wobei der Prozessor ferner konfiguriert ist, den Gewichtsgenerator unter Verwendung einer zufälligen Anzahl von Basisklassen und einer gefälschten neuen Aufgabe von gefälschten neuen Klassen, die aus den Basisklassen ausgewählt sind, oder unter Verwendung einer festen Anzahl von gefälschten neuen Aufgaben von gefälschten neuen Klassen, die aus den Basisklassen ausgewählt sind, zu trainieren.
  13. UE nach Anspruch 12, wobei der Prozessor beim Trainieren des Gewichtsgenerators ferner konfiguriert ist, einen durchschnittlichen Kreuzentropieverlust unter Verwendung zufällig ausgewählter Muster von Klassen zu bestimmen, die zum Trainieren des Gewichtsgenerators verwendet werden.
  14. UE nach Anspruch 11, wobei das Modell einen Merkmalsextraktor aufweist.
  15. UE nach Anspruch 11, wobei jede empfangene neue Aufgabe ferner einen zweiten Satz von Mustern aufweist, die in neue Klassen klassifiziert werden.
  16. UE nach Anspruch 15, wobei der Prozessor beim Aktualisieren des Modells ferner konfiguriert ist zum: Extrahieren von Merkmalen aus dem zweiten Satz von Mustern der jeweiligen neuen Aufgabe; und Erzeugen der neuen Klassifikationsgewichte durch den Gewichtsgenerator unter Verwendung der extrahierten Merkmale, der Basis-Klassifikationsgewichte und der anderen neuen Klassifikationsgewichte.
  17. UE nach Anspruch 16, wobei eine Anzahl der einen oder mehreren anderen neuen Aufgaben kleiner oder gleich drei ist.
  18. UE nach Anspruch 15, wobei der Prozessor beim Aktualisieren des Modells ferner konfiguriert ist zum: Extrahieren von Merkmalen aus dem zweiten Satz von Mustern der jeweiligen neuen Aufgabe; und Erzeugen der neuen Klassifikationsgewichte durch den Gewichtsgenerator unter Verwendung der extrahierten Merkmale und der Klassifikationsgewichte von Klassen, die aus den Basisklassen und den neuen Klassen der einen oder mehreren anderen neuen Aufgaben ausgewählt sind.
  19. UE nach Anspruch 18, wobei für jede neue Aufgabe eine zufällige Anzahl von Klassen für die Klassifikationsgewichte ausgewählt wird, die verwendet werden, um die neuen Klassifikationsgewichte zu erzeugen.
  20. UE nach Anspruch 11, wobei der Gewichtsgenerator ein Bi-Attention-Gewichtsgenerator oder ein Self-Attention-Gewichtsgenerator ist.
DE102021115299.2A 2020-08-27 2021-06-14 Verfahren und vorrichtung zum kontinuierlichen few-shot-lernen ohne vergessen Pending DE102021115299A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202063071067P 2020-08-27 2020-08-27
US63/071,067 2020-08-27
US17/156,126 2021-01-22
US17/156,126 US20220067582A1 (en) 2020-08-27 2021-01-22 Method and apparatus for continual few-shot learning without forgetting

Publications (1)

Publication Number Publication Date
DE102021115299A1 true DE102021115299A1 (de) 2022-03-03

Family

ID=80221584

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021115299.2A Pending DE102021115299A1 (de) 2020-08-27 2021-06-14 Verfahren und vorrichtung zum kontinuierlichen few-shot-lernen ohne vergessen

Country Status (5)

Country Link
US (1) US20220067582A1 (de)
KR (1) KR20220027760A (de)
CN (1) CN114118196A (de)
DE (1) DE102021115299A1 (de)
TW (1) TW202209196A (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2024000676A (ja) * 2022-06-21 2024-01-09 株式会社Jvcケンウッド 機械学習装置、機械学習方法、および機械学習プログラム
JP2024017751A (ja) * 2022-07-28 2024-02-08 株式会社Jvcケンウッド 機械学習装置、機械学習方法、および機械学習プログラム
CN115688779B (zh) * 2022-10-11 2023-05-09 杭州瑞成信息技术股份有限公司 一种基于自监督深度学习的地址识别方法
CN115410051B (zh) * 2022-11-02 2023-01-24 华中科技大学 一种再可塑性启发的连续图像分类方法与系统

Also Published As

Publication number Publication date
KR20220027760A (ko) 2022-03-08
CN114118196A (zh) 2022-03-01
TW202209196A (zh) 2022-03-01
US20220067582A1 (en) 2022-03-03

Similar Documents

Publication Publication Date Title
DE102021115299A1 (de) Verfahren und vorrichtung zum kontinuierlichen few-shot-lernen ohne vergessen
DE102018128581A1 (de) Erkennung und klassifikfation von schadsoftware unter verwendung eines künstlichen neuronalen netzes
DE112017004397T5 (de) System und Verfahren zur Einstufung von hybriden Spracherkennungsergebnissen mit neuronalen Netzwerken
DE112016006360T5 (de) Verbessern eines lernens einer abstandsmetrik mit einem n-paar-verlust
DE102019135474A1 (de) Zuordnung und quantifizierung des einflusses von features neuronaler netze für explainable artificial intelligence
DE102021117005A1 (de) Verfahren und Einrichtung für föderales Lernen
CN110598603A (zh) 人脸识别模型获取方法、装置、设备和介质
DE102017009505A1 (de) Erzeugen einer kompakten Videomerkmaldarstellung in einer digitalen Medienumgebung
DE102019102866A1 (de) Identifizierung eines Herstellungsteils unter Verwendung von Computervision und Maschinenlernen
DE102022106057A1 (de) Authentifikatorintegriertes generatives adversariales netzwerk (gan) zur sicheren deepfake-erzeugung
CN112215171A (zh) 目标检测方法、装置、设备及计算机可读存储介质
CN117079299B (zh) 数据处理方法、装置、电子设备及存储介质
KR20210029110A (ko) 딥러닝 기반 소수 샷 이미지 분류 장치 및 방법
Zhang et al. Model selection for generalized zero-shot learning
DE102021124228A1 (de) Verfahren und vorrichtung zur detailgradzuordnungsschätzung auf mehrrahmenbasis und zur adaptiven mehrrahmen-entrauschung
DE112019006666T5 (de) Bestimmung von Bereichen von Interesse für fotografische Funktionen
DE102021115437A1 (de) 24 bis 30ghz breitband-cmos-leistungsverstärker mit abschaltmodus-hoch-impedanz
DE102020119183A1 (de) System und Verfahren zum Identifizieren und Dekodieren von Reed-Muller-Codes in Polarcodes
DE102022114631A1 (de) System und Verfahren für unüberwachtes Lernen von Segmentierungsaufgaben
DE112019006531T5 (de) Verfahren zum bereitstellen von einkaufsinformationen für einzelne produkte und elektronische vorrichtung, die dasselbe durchführt
Sravya et al. A smart aid for visually challenged in face detection and recognition
CN114462546A (zh) 一种基于多模型融合的特征蒸馏方法、系统、设备和介质
DE102020135017A1 (de) Verfahren und vorrichtung für datenlose netzquantisierung und komprimierung mit adversativer wissensdestillation
DE102021113535A9 (de) Senderstrahlformung an der Basisstation mit Teilkanalinformationen und UE-Rückmeldung
CN112348060A (zh) 分类向量生成方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
R012 Request for examination validly filed