DE102022126665A1 - Ermöglichung der bedeutung von merkmalen mit hilfe von siamesischenautoencodern für eine effektive erkennung von bildveränderungen - Google Patents

Ermöglichung der bedeutung von merkmalen mit hilfe von siamesischenautoencodern für eine effektive erkennung von bildveränderungen Download PDF

Info

Publication number
DE102022126665A1
DE102022126665A1 DE102022126665.6A DE102022126665A DE102022126665A1 DE 102022126665 A1 DE102022126665 A1 DE 102022126665A1 DE 102022126665 A DE102022126665 A DE 102022126665A DE 102022126665 A1 DE102022126665 A1 DE 102022126665A1
Authority
DE
Germany
Prior art keywords
images
autoencoder
image
siamese
pair
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
DE102022126665.6A
Other languages
English (en)
Other versions
DE102022126665A9 (de
Inventor
Satish Kumar Mopur
Gunalan Perumal Vijayan
Shounak Bandopadhyay
Krishnaprasad Lingadahalli Shastry
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.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Enterprise Development LP
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 Hewlett Packard Enterprise Development LP filed Critical Hewlett Packard Enterprise Development LP
Publication of DE102022126665A1 publication Critical patent/DE102022126665A1/de
Publication of DE102022126665A9 publication Critical patent/DE102022126665A9/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/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • G06V10/763Non-hierarchical techniques, e.g. based on statistics of modelling distributions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • 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
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • 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
    • G06N3/0895Weakly supervised learning, e.g. semi-supervised or self-supervised learning
    • 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/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • 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/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • 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/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • 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/776Validation; Performance evaluation
    • 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/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • 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/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • Image Analysis (AREA)

Abstract

Es werden Systeme und Verfahren zur Implementierung eines Siamesischen Neuronalen Netzes unter Verwendung verbesserter neuronaler „Sub“-Netze und Verlustfunktionen bereitgestellt. Beispielsweise kann das System eine granulare Änderung in Bildern erkennen, indem es ein Siamesisches Neuronales Netz mit Faltungs-Autokodierern als Zwillingsunternetze verwendet (z. B. Siamesischer AutoKodierer oder „SAE“). In einigen Beispielen kann die Verlustfunktion eher eine adaptive Verlustfunktion für das SAE-Netz als eine kontrastive Verlustfunktion sein, was eine gleichmäßige Steuerung der Granularität der Änderungserkennung über die Bilder hinweg ermöglichen kann. In einigen Beispielen kann ein Bildtrennungsabstandswert berechnet werden, um den Wert der Veränderung zwischen den Bildpaaren zu bestimmen. Der Bildtrennungsabstandswert kann unter Verwendung eines euklidischen Abstands bestimmt werden, der mit einem latenten Raum eines Kodiererteils des Autokodierers der neuronalen Netze verbunden ist.

Description

  • Hintergrund
  • In Umgebungen mit künstlicher Intelligenz (KI) kann ein Datenexperte je nach Anwendungsfall Techniken des maschinellen Lernens (ML) wie Klassifizierung oder Regression einsetzen, um ML-Modelle zu erstellen und anzupassen. Die ML-Modelle werden mit etikettierten Daten trainiert und anschließend durch ein Validierungsverfahren auf ihre Leistung geprüft, um zu einem einigermaßen verallgemeinerten ML-Modell zu gelangen. Der Experte bewertet mehrere Modelle, verfeinert die ML-Modelle durch die Einstellung von Parametern und setzt ein endgültiges ML-Modell für die Durchführung von Analysen von Eingabedatenströmen in Produktionsumgebungen ein.
  • Edge Computing wird beispielsweise als verteilte, offene IT-Architektur mit dezentraler Verarbeitungsleistung genutzt, die beispielsweise mobile Datenverarbeitung und Internet of Things (loT)-Technologien ermöglicht. Mit der zunehmenden Verbreitung von Datenverarbeitungsgeräten am Rande des Netzes ist die Analyse der von diesen Geräten gesammelten Massendaten mit verschiedenen Methoden, einschließlich ML-Algorithmen, möglich. Da die Edge-Geräte nur über eine begrenzte Datenverarbeitungskapazität verfügen können, wird nur ein begrenzter Teil der Analyse der Massendaten auf den Edge-Systemen durchgeführt. Ein Großteil der Analyse der Massendaten wird auf Servern durchgeführt, die in der Regel über Cloud-Netzwerke verfügbar sind, da diese Server über immense Datenverarbeitungsmöglichkeiten verfügen. Daher werden bei den meisten Implementierungen, z. B. für loT-Technologien, die Trainingsumgebungen über Cloud-Netzwerke eingerichtet und die Edge-Systeme als Produktionsumgebungen verwendet.
  • Bei einigen Anwendungen kann die auf den Cloud-Servern durchgeführte Analyse der gesammelten Daten zum Trainieren der ML-Modelle verwendet werden. Verschiedene Algorithmen können das Funktionieren von Edge-Systemen verbessern, die durch bestimmte Parameter definiert sind. In realen Anwendungen kann jedoch das dynamische Verhalten der Systeme die Entscheidungsfindung der ML-Modelle beeinflussen. Dynamisches Verhalten kann verschiedene Ursachen haben, z. B. Ineffizienz der Sensoren, Denaturierung der Sensoren, vorübergehende Änderungen der gemessenen Parameter und Einführung neuer zu analysierender Parameter.
  • Die dynamischen Verhaltensweisen können sich in den Daten als Anomalien, Ausreißer oder Drifts zeigen. Eine Drift kann beispielsweise bei Eingabedatenströmen oder vorhergesagten Ausgabedaten auftreten, oder es kann eine Konzeptverschiebung in einer Beziehung zwischen Eingabedatenströmen und Ausgaben über einen bestimmten Zeitraum auftreten. „Drift“ kann sich auf die statistischen Eigenschaften einer Zielvariablen (die das ML-Modell vorherzusagen versucht) beziehen, die sich im Laufe der Zeit auf unvorhersehbare Weise ändern können. Die Veränderung im Laufe der Zeit kann dazu führen, dass die Vorhersagen mit der Zeit ungenauer werden. „Anomalien“ und „Ausreißer“ können sich auf Datenelemente beziehen, die erheblich von der Mehrheit der anderen Datenelemente abweichen. Diese Anomalien oder Ausreißer können aufgrund von Rauschen oder unerwarteten Datenpunkten auftreten, die das Vorhersageverhalten des Modells beeinflussen und eine genauere Untersuchung erforderlich machen.
  • Ausreißer in den Eingabedatenströmen und Drifts in den Datenströmen können das Vorhersageverhalten von ML-Modellen beeinträchtigen, die zuvor mit markierten Daten trainiert wurden.
  • Kurzbeschreibung der Zeichnungen
  • Die vorliegende Offenbarung wird in Übereinstimmung mit einem oder mehreren verschiedenen Beispielen unter Bezugnahme auf die folgenden Figuren im Detail beschrieben. Die Abbildungen dienen nur der Veranschaulichung und zeigen lediglich typische Beispiele.
    • 1 zeigt ein Netzwerkverbindungsdiagramm eines Systems zur Aktualisierung eines Modells für maschinelles Lernen (ML) zur Bildklassifizierung gemäß einem Beispiel der vorliegenden Offenbarung.
    • 2 zeigt ein Blockdiagramm, das verschiedene Komponenten einer Vorrichtung zum Hosten einer Produktionsumgebung für die Aktualisierung eines ML-Modells für die Bildklassifizierung gemäß einem Beispiel der vorliegenden Offenbarung darstellt.
    • 3A zeigt Cluster, die aus Rekonstruktionsfehlern, die einem ersten Stapel von Bildern entsprechen, in Übereinstimmung mit einem Beispiel der vorliegenden Offenlegung erstellt wurden.
    • 3B zeigt eine Beispieldarstellung von Clustern, die für den ersten Stapel von Bildern durch Affinitätsvermehrung unter Verwendung eines optimalen Präferenzwertes gemäß einem Beispiel der vorliegenden Offenbarung erstellt wurden.
    • 4A zeigt Cluster, die aus Rekonstruktionsfehlern eines zweiten Bildpaares/Bildstapels gemäß einem Beispiel der vorliegenden Offenlegung erstellt wurden.
    • 4B zeigt eine Beispieldarstellung von Clustern, die für das zweite Bildpaar/den zweiten Bildstapel durch Affinitätsvermehrung unter Verwendung eines optimalen Präferenzwertes gemäß einem Beispiel der vorliegenden Offenbarung erstellt wurden.
    • 5 zeigt ein Blockdiagramm eines Cloud-Servers zur Aktualisierung eines ML-Modells für die Bildklassifizierung gemäß einem Beispiel der vorliegenden Offenlegung.
    • 6 zeigt ein Verfahren zur Aktualisierung eines maschinellen Lernmodells gemäß einem Beispiel der vorliegenden Offenbarung.
    • 7 zeigt ein Verfahren zur Aktualisierung eines maschinellen Lernmodells gemäß einem Beispiel der vorliegenden Offenbarung.
    • 8 zeigt das Training eines maschinellen Lernmodells gemäß einem Beispiel der vorliegenden Offenbarung.
    • 9 zeigt verarbeitete Bilder gemäß einem Beispiel der vorliegenden Offenlegung.
    • 10 zeigt verarbeitete Bilder gemäß einem Beispiel der vorliegenden Offenbarung.
    • 11 zeigt eine Visualisierung der wichtigen Merkmale, die zur Verschlechterung beitragen, wobei das Originalbild und eine verschlechterte Beispielziffer gemäß einem Beispiel der vorliegenden Offenlegung genommen werden.
    • 12 zeigt ein Verfahren zur Implementierung eines Siam-AutoEncoders unter Verwendung verbesserter subneuronaler Netze und eines Verlustfunktionsmodells gemäß einem Beispiel der vorliegenden Offenbarung.
    • 13 ist ein Beispiel für eine Computerkomponente, die zur Implementierung verschiedener Merkmale der in der vorliegenden Offenbarung beschriebenen Beispiele verwendet werden kann.
    • 14 zeigt ein Blockdiagramm eines Beispiel-Computersystems, in dem verschiedene der hier beschriebenen Beispiele implementiert werden können.
  • Die Abbildungen sind nicht erschöpfend und beschränken die vorliegende Offenbarung nicht auf die genaue Form, die offengelegt wird.
  • Detaillierte Beschreibung
  • In Trainingsumgebungen, die z. B. auf Cloud-Servern gehostet werden, werden Techniken des maschinellen Lernens wie Klassifizierung oder Regression verwendet, um Modelle des maschinellen Lernens (ML) mit markierten Daten zu trainieren. Nach dem Training werden die ML-Modelle validiert, damit sie die erforderliche Leistung erbringen, und dann auf Geräten eingesetzt, die Produktionsumgebungen beherbergen (z. B. Edge-Geräte), um Ereignisse oder mit den Ereignissen verbundene Werte vorherzusagen. Die Vorhersagen können in Vorhersage- oder Entscheidungsfindungskontexten oder -anwendungen oder für andere Zwecke verwendet werden. ML-Modelle, die mit Techniken des maschinellen Lernens entwickelt wurden, werden in verschiedenen technologischen Bereichen eingesetzt, um Datenmuster aus Bildern oder Zeitreihendaten zu verstehen. So kann maschinelles Lernen die Bildverarbeitung für verschiedene Anwendungen im Gesundheitswesen ergänzen oder unterstützen, z. B. für die Einstufung von diabetischer Retinopathie, die Erkennung von Knochenbrüchen, Katarakten und Brusterkrankungen, um nur einige zu nennen.
  • Die Ähnlichkeitserkennung ist eine besondere Bildverarbeitungstechnik, mit der gemeinsame Teile von Bildern unter Verwendung einer oder mehrerer hierin beschriebener maschineller Lerntechniken identifiziert werden können, unter anderem durch einen Siamese AutoEncoder. Ein Siamese AutoEncoder ist ein Modell der künstlichen Intelligenz (AI) oder des maschinellen Lernens (ML) (austauschbar verwendet), das unter Verwendung einer neuronalen Netzwerkarchitektur implementiert wird, die aus zwei oder mehr identischen „Unter“-Neuronalnetzwerken besteht, wobei jedes Unter-Neuronalnetzwerk jeweils einen Merkmalsvektor auf den Eingabedaten erzeugen und die Vektoren vergleichen kann, um Ähnlichkeiten oder Unterschiede zwischen ihnen zu identifizieren. Beispielsweise kann jedes der identischen neuronalen Netze ein Convolutional Neural Network (CNN) als „sub“-Neuronalnetz verwenden. Jedes der neuronalen Netze kann eines von zwei Eingangsbildern nehmen und darauf trainiert werden, zwischen den beiden Eingangsbildern zu unterscheiden, indem es die Ähnlichkeit zwischen ihnen lernt. Sobald jedes neuronale Netz trainiert ist, kann das neuronale Netz klassifizieren, ob die beiden Bilder gleich oder verschieden sind. Dieser Ansatz ermöglicht die Klassifizierung, ob zwei Eingangsbilder ähnlich oder unähnlich sind, indem eine Ähnlichkeitsklassifizierung (z. B. als binäre Ausgabe) verwendet wird, und ist möglicherweise für die Erkennung granularer Veränderungen nicht geeignet.
  • Darüber hinaus kann während des Trainingsprozesses eine Verlustfunktionstechnik implementiert werden. Zum Beispiel kann ein kontrastiver Verlust mit einer Bildabstandsberechnung, wie dem euklidischen Abstand, implementiert werden. Wenn der kontrastive Verlust implementiert ist, können die neuronalen „Sub“-Netze einen Ähnlichkeitswert erzeugen, der für jede Bildklassifizierung zwischen null und eins liegt. Wenn der Ähnlichkeitswert nahe bei eins liegt, kann das neuronale Netz ähnliche Bilder identifizieren, während ein Ähnlichkeitswert nahe bei null unähnliche Bilder identifizieren kann. Die Ähnlichkeit kann z. B. durch den Vergleich des Ähnlichkeitswerts mit einem Schwellenwert bestimmt werden. Dieser Ansatz kann die Klassifizierung von zwei Eingangsbildern als ähnlich oder unähnlich unter Verwendung einer Ähnlichkeitswert-Klassifizierung ermöglichen, ist aber möglicherweise nicht effektiv bei der Bestimmung einer granularen Änderung eines Bildteils.
  • Beispiele für die Anwendung können einen Siamese AutoEncoder mit verbesserten neuronalen Teilnetzen und Verlustfunktionen implementieren. Beispielsweise kann das System eine granulare Veränderung in Bildern erkennen, indem es ein Siamesisches Neuronales Netz mit Convolutional Autoencodern als Zwillingsunternetze verwendet (z. B. Siamese AutoEncoder oder „SAE“). In einigen Beispielen kann die Verlustfunktion eine adaptive Verlustfunktion sein, die eine adaptive Randberechnung über einen regulären kontrastiven Verlust einschließt, was dazu beitragen kann, eine glatte Kontrolle der Granularität der Änderungserkennung über die Bilder hinweg zu ermöglichen. In einigen Beispielen kann ein Bildtrennungsabstandswert berechnet werden, um den Wert der Veränderung zwischen den Bildpaaren zu bestimmen. Der Bildtrennungsabstandswert kann unter Verwendung eines euklidischen Abstands bestimmt werden, der mit einem latenten Raum eines Kodiererteils des Autokodierers der neuronalen Netze verbunden ist.
  • In einigen Beispielen wird die kontrastive Verlustfunktion mit einer dynamisch berechneten adaptiven Marge über jede Epoche hinweg implementiert (z. B. eine Epoche, die einem Hyperparameter entspricht, der festlegt, wie oft das Lernmodell den gesamten Trainingsdatensatz verwendet), um granulare Veränderungen zu erkennen. Mit der Verlustfunktion kann eine Abstandsberechnung implementiert werden (z. B. unter Verwendung der Kosinusähnlichkeit mit einem euklidischen Abstand). Dies kann dazu beitragen, eine ungleichmäßige Verteilung von Vektorwerten in die Berechnung einzubeziehen, indem eine winkelbasierte Bewertung verwendet wird, um eine gleichmäßige Granularität der Erkennung von Veränderungen (oder Unähnlichkeiten) über Bilder hinweg im Vergleich zu einem Referenzbild zu ermöglichen.
  • Um eine Verschlechterung der ML-Modelle aufgrund der oben genannten Gründe zu verhindern, kann das System außerdem Datenabweichungen und Ausreißer erkennen, indem es Datenverarbeitungstechniken auf Bilder anwendet, die auf dem Gerät mit der Produktionsumgebung eingehen. Beispielsweise kann ein Deep-Learning-Netzwerk (z. B. ein Convolutional Neural Network oder CNN) zum Trainieren eines Modells für maschinelles Lernen (ML) mit Bildtrainingsdaten für die Klassifizierung verwendet werden. Außerdem wird ein Autoencoder auf einem Gerät trainiert, das eine Trainingsumgebung, z. B. einen Cloud-Server, hostet, und zwar unter Verwendung der Bildtrainingsdaten, die zum Trainieren des ML-Modells verwendet werden, ohne Anomalien. Der Autoencoder wird so lange trainiert, bis er in der Lage ist, die erwartete Ausgabe mit minimalen Verlusten, d. h. Rekonstruktionsfehlern, zu rekonstruieren. Die Autoencoder-Ausgabedaten, die nach dem Training innerhalb der Wasserzeichen stabilisierte Fehlerwerte (Verluste) enthalten, werden als Basisdaten bezeichnet und als Referenz verwendet. Die Basisdaten werden als Referenz für die Driftanalyse in einem Gerät verwendet, das eine Produktionsumgebung beherbergt, d. h. in Edge-Geräten. Die Basisdaten können auf der Grundlage der stabilisierten Fehlerwerte, die in der Produktionsumgebung erzeugt werden, kontinuierlich verfeinert werden.
  • Nach dem Training können der Autoencoder und das ML-Modell auf dem Gerät eingesetzt werden, auf dem sich die Produktionsumgebung befindet. Nach dem Einsatz kann der Autoencoder Bilder rekonstruieren, die von dem Gerät mit der Produktionsumgebung empfangen wurden. Das Bild kann von einem Bildaufnahmegerät, wie z. B. einem medizinischen Gerät, empfangen werden. Während des Betriebs des Autoencoders werden Datenverluste, die während der Rekonstruktion der Bilder auftreten, als Rekonstruktionsfehler aufgezeichnet. Die Rekonstruktionsfehler werden mit Zeitstempeln und eindeutigen Tags gespeichert, die den entsprechenden Bildern zugeordnet sind.
  • Die Datenpunkte, die die Rekonstruktionsfehler repräsentieren, können mittels Affinitätsfortpflanzung geclustert werden. Für die Clusterbildung können die Datenpunkte in Stapeln mit einer vordefinierten, einstellbaren Größe geliefert werden. Die Affinitätsfortpflanzung kann die Clusterung auf der Grundlage eines Präferenzwertes durchführen, der die Wahrscheinlichkeit angibt, dass ein Datenpunkt ein Cluster von Datenpunkten darstellt. Ein wichtiges Merkmal der aktuellen Offenlegung ist die dynamische Einstellung des Präferenzwerts durch Anwendung einer linearen Regression auf die Datenpunkte, so dass die Clustering-Operation effizient durchgeführt werden kann, um eine optimale Anzahl von Clustern zu erzeugen.
  • Nach der Bildung von Clustern der Datenpunkte mit Hilfe der Affinitätsfortpflanzung können Ausreißer auf der Grundlage eines oder mehrerer Faktoren bestimmt werden, z. B. des maximalen Abstands zu einem oder mehreren dicht besiedelten Clustern, der Anzahl der Werte der Datenpunkte und des Vergleichs der Werte mit vordefinierten Wasserzeichen in den Basisdaten. Darüber hinaus wird die Datendrift anhand von Änderungen der Dichte der Cluster über einen vordefinierten Zeitraum ermittelt. Die Veränderungen in der Dichte der Cluster werden durch Histogrammanalyse und/oder Autokorrelation über die Clusterdichten ermittelt.
  • Das ML-Modell, das auf dem Gerät eingesetzt wird, das die Produktionsumgebung hostet, klassifiziert die empfangenen Bilder in eine oder mehrere Kategorien. Daraufhin wird die Klassifizierungsausgabe des ML-Modells mit den Ausreißern und der Datendrift verknüpft, um ein Datenpaket zu bilden. Das Datenpaket wird an ein Gerät mit einer Trainingsumgebung übertragen, wo das Datenpaket für die Feinabstimmung des ML-Modells verwendet wird.
  • Technische Verbesserungen werden in der gesamten Offenlegung realisiert. So kann das vorgeschlagene System beispielsweise das maschinelle Lernen für die Bilderkennung verbessem, indem es einen Convolutional Autoencoder mit einer neuartigen Verlustfunktion und eine auf latentem Raum basierende Abstandsmessung verwendet. Das System kann granulare Veränderungen in Bildern und Anomalien feststellen und ermöglicht die kategorische Gruppierung ähnlicher Bilder.
  • Jeder Verweis auf eine spezifische Anwendung in der vorliegenden Offenlegung, wie z. B. die medizinische Anwendung, dient lediglich der einfacheren Erklärung und sollte nicht als einschränkender Faktor für die Anwendung der hier beschriebenen Methoden ausgelegt werden. Daher ist es für einen Fachmann ohne weiteres möglich, die in der vorliegenden Offenbarung enthaltenen Details für jede ähnliche Anwendung zu verwenden.
  • 1 zeigt ein Netzwerkverbindungsdiagramm 100 eines Systems zur Aktualisierung eines Modells für maschinelles Lernen (ML). Randgerät 102 ist so dargestellt, dass es mit den Bildquellen 104-1 bis 104-n (zusammen als Bildquelle 104 bezeichnet) verbunden ist. In einigen Beispielen bezeichnet das Randgerät 102 ein Gerät, das eine Produktionsumgebung hostet. Wie in 1 dargestellt, kann es sich bei der Bildquelle 104 beispielsweise um ein medizinisches Gerät wie einen Ultraschallscanner 104-1, einen Computertomographen (CT) 104-2 und ein tragbares Röntgengerät 104-3, ein tragbares Benutzergerät wie ein Smartphone 104-4, eine Digitalkamera 104-5 oder ein Datenspeichergerät wie ein Festplattenlaufwerk (HDD) 104-n handeln.
  • 2 zeigt ein anschauliches Beispiel für ein Randgerät 102. Beispielsweise kann die Kantenvorrichtung 102 ein ML-Modell 220 umfassen, das Daten (z. B. Bilder) empfängt, um sie durch das ML-Modell laufen zu lassen oder zu analysieren. Das ML-Modell 220 kann mit Bildern trainiert werden, die von der Bildquelle 104 oder anderen ähnlichen Bildern empfangen werden. Zum Trainieren des ML-Modells 220 können die Bilder über ein Kommunikationsnetz an den mit dem Edge-Gerät 102 verbundenen Cloud-Server 106 übertragen werden. Es ist zu verstehen, dass der Cloud-Server 106 in den folgenden Abschnitten der Beschreibung ein Gerät bezeichnet, das eine Trainingsumgebung hostet. Nachdem das ML-Modell 220 (das später unter Bezugnahme auf 2 und 5 erläutert wird) auf dem Cloud-Server 106 trainiert wurde, kann das ML-Modell 220 auf dem Edge-Gerät 102 eingesetzt werden, um neue Bilder zu verarbeiten, die von der Bildquelle 104 empfangen werden können.
  • Wenn die neuen Bilder im Vergleich zu den Bildern, die zum Trainieren des ML-Modells 220 verwendet wurden, unterschiedliche Informationen enthalten, können nach dem Einsatz des ML-Modells 220 auf dem Edge-Gerät 102 relevante Informationen extrahiert werden. In einem Aspekt kann die Randvorrichtung 102 die neuen Bilder von der Bildquelle 104 empfangen. Die Bilder können einem Autoencoder zur Rekonstruktion zugeführt werden. Datenverluste, die während der Rekonstruktion der Bilder auftreten, können als Rekonstruktionsfehler erfasst werden.
  • Die Datenpunkte, die den Rekonstruktionsfehlern entsprechen, können mit Hilfe einer geeigneten Clustertechnik, z. B. der Affinitätsausbreitung, geclustert werden. Die Cluster der Datenpunkte können zur Bestimmung von Ausreißern auf der Grundlage einer oder mehrerer Regeln verwendet werden. Darüber hinaus kann die Datendrift bestimmt werden, indem Änderungen in der Dichte der Cluster über einen vordefinierten Zeitraum ermittelt werden. Das ML-Modell 220 kann die neuen Bilder, die dem Edge-Gerät 102 zur Verfügung gestellt werden, klassifizieren. Die Klassifizierungsausgabe des ML-Modells 220 kann mit den Ausreißern und der Datendrift in Verbindung gebracht und an den Cloud-Server 106 weitergeleitet werden, um das ML-Modell 220 zu verfeinern/aktualisieren.
  • 2 zeigt ein Blockdiagramm, das verschiedene Komponenten des Randgeräts 102 gemäß einem Beispiel der vorliegenden Offenbarung darstellt. Die Randvorrichtung 102 kann eine Schnittstelle 202, einen Prozessor 204 und einen Speicher 206 umfassen. Der Speicher 206 kann verschiedene Einheiten umfassen, darunter einen Autoencoder 208, eine Einheit zur Erfassung von Rekonstruktionsfehlern 210, eine Clustereinheit 212, eine Einheit zur Erkennung von Ausreißern 214, eine Einheit zur Erkennung von Datendrift 216 und eine Klassifizierungseinheit 218. Diese im Speicher 206 konfigurierten Einheiten können lose gekoppelt sein, um eine Datenverarbeitungspipeline bereitzustellen. Die lose Kopplung der Einheiten bedeutet, dass das Funktionieren jeder Einheit unabhängig vom Funktionieren der übrigen Einheiten sein kann und dass die Neukonfiguration oder der Austausch einer Einheit keinen Einfluss auf die Verarbeitung oder das Ergebnis der übrigen Einheiten haben kann.
  • Zur Aktualisierung des ML-Modells 220, das auf dem Edge-Gerät 102 eingesetzt wird, können zunächst Bilder, die von einer oder mehreren Bildquellen 104 empfangen wurden, dem Autoencoder 208 zugeführt werden. Es ist zu beachten, dass der Autoencoder 208 auf dem Cloud-Server 106 trainiert werden kann, bevor er auf dem Edge-Gerät 102 implementiert wird. Einzelheiten zum Training des Autoencoders 208 werden in einem späteren Abschnitt unter Bezugnahme auf 5 beschrieben.
  • Autoencoder 208 kann zum Beispiel mit einem nicht überwachten künstlichen neuronalen Netz implementiert werden. Autoencoder 208 wird auf dem Cloud-Server 106 vortrainiert, um Bilddaten effizient zu komprimieren und zu kodieren und dann die Bilddaten aus ihrer komprimierten und kodierten Darstellung zu rekonstruieren. Die Bilddaten werden so rekonstruiert, dass sie den für den Autoencoder 208 bereitgestellten Bilddaten so nahe wie möglich kommen. Während des Prozesses der Komprimierung, Kodierung und Rekonstruktion lernt der Autoencoder 208, die Bilddaten in weniger Dimensionen zu komprimieren, wobei die kodierte Darstellung der Bilddaten in einem latenten Raum vorhanden ist.
  • Während der Autoencoder 208 die von einer oder mehreren Bildquellen 104 empfangenen Bilder rekonstruiert, erfasst die Rekonstruktionsfehler-Erfassungseinheit 210 Rekonstruktionsfehler, d. h. Verluste, die während der Rekonstruktion jedes der Bilder über einen bestimmten Zeitraum auftreten. Daher entspricht jeder Rekonstruktionsfehler einem Informationsverlust in einem rekonstruierten Bild im Vergleich zu einem entsprechenden Originalbild. Die Rekonstruktionsfehler können mit Zeitstempeln und/oder Tags gespeichert werden, die den entsprechenden Bildern zugeordnet sind.
  • Die Datenpunkte, die den Rekonstruktionsfehlern entsprechen, werden an die Clustering-Einheit 212 weitergeleitet, um sie mit einer geeigneten Clustering-Technik zu clustern. In einer bevorzugten Implementierung kann die Affinitätsfortpflanzung zum Clustern der Datenpunkte verwendet werden. Die Datenpunkte können in Stapeln einer vordefinierten, einstellbaren Größe für das Clustering bereitgestellt werden. Daher würde die Clustering-Technik Cluster aus den in Stapeln gelieferten Datenpunkten erzeugen. Ein besonderer Vorteil der Verwendung der Affinitätsvermehrung für die Clusterbildung besteht darin, dass die Anzahl der zu erstellenden Cluster nicht mehr festgelegt werden muss. Da die Anzahl der Cluster bei Vorhandensein von Ausreißern und Datendrift über die Chargen hinweg dynamisch sein kann, kann es sinnvoll sein, die Initialisierung der Anzahl der Cluster für die Affinitätsvermehrung zu belassen.
  • Die Affinitätsausbreitung beruht auf dem Prinzip der Bestimmung von Ähnlichkeiten zwischen Datenpunkten und der Erstellung von Clustern durch Maximierung der Gesamtähnlichkeit zwischen den Datenpunkten und ihren Exemplaren. Ein Exemplar kann einem Punkt entsprechen, der ein Cluster darstellt. Während der Clusterbildung können sich die Datenpunkte gegenseitig Nachrichten schicken, bis eine Konvergenz erreicht ist.
  • Beispielsweise kann die Verarbeitung von N Stichproben von Datenpunkten di und dk zur Erstellung eines Clusters (dargestellt als N x N-Matrix) die Bestimmung eines Ähnlichkeitswerts (gespeichert als Ähnlichkeitsmatrix S(i, j)) zwischen den Datenpunkten di und dk umfassen. Eine Diagonale von S, d.h. S(i, i), kann die Eingabepräferenz darstellen. Eine solche Eingabepräferenz, die im Folgenden als Präferenzwert bezeichnet wird, gibt an, wie wahrscheinlich es ist, dass ein Datenpunkt ein Exemplar wird. Der Präferenzwert steuert die Anzahl der Cluster, die durch Affinitätsvermehrung erzeugt werden, und kann daher initialisiert werden. Der Präferenzwert kann sorgfältig eingestellt werden, da die Einstellung des Präferenzwertes nahe an einem minimal möglichen Ähnlichkeitswert zur Erzeugung weniger Cluster führen kann, während die Einstellung des Präferenzwertes größer oder gleich einem maximal möglichen Ähnlichkeitswert zur Erzeugung zahlreicher Cluster führen kann.
  • In einem Beispiel wird ein optimaler Präferenzwert dynamisch durch Anwendung einer linearen Regression auf die Datenpunkte bestimmt. Während des Prozesses kann für jeden Stapel von Datenpunkten, die die Rekonstruktionsfehler repräsentieren, eine Tendenzanalyse durchgeführt werden, um den Präferenzwert dynamisch zu bestimmen. Eine große Steigung, die während des Trending ermittelt wird, kann auf eine große Streuung der Datenpunkte hinweisen, während eine kleine Steigung auf eine engere Gruppe von Datenpunkten mit geringerem Abstand zwischen ihnen hinweisen kann. Um ein Gleichgewicht zu erreichen, wird der optimale Präferenzwert aus der Ähnlichkeitsmatrix S dynamisch zwischen Null und einer minimalen Ähnlichkeit berechnet, was eine Reihe von Clustern auf der Grundlage des Abstands zwischen den Datenpunkten ergibt. Dies würde eine optimale Clusteranzahl mit einer angemessenen Datenpunktdichte gewährleisten.
  • Es wird nun detailliert beschrieben, wie der optimale Präferenzwert dynamisch ermittelt wird. Zunächst wird eine lineare Regression für eine Reihe von Datenpunkten durchgeführt und ein Parameter für die Anpassungsgüte (r_scor) bestimmt. Dieser Parameter gibt an, ob die durch lineare Regression untersuchten Datenpunkte eine hohe Affinität oder eine Streuung aufweisen. Eine gute Anpassung kann darauf hindeuten, dass die Datenpunkte in eine geringere Anzahl von Clustern eingeteilt werden können, und eine schlechte Anpassung kann darauf hindeuten, dass die Datenpunkte in eine größere Anzahl von Clustern eingeteilt werden können. Nacheinander werden die Steigung (m) und der Steigungswinkel (theta) einer Linie bestimmt, die die ML-Modelle anpasst. Anschließend werden ein Minimalwert und ein Medianwert aus der Ähnlichkeitsmenge/-matrix S extrahiert. Nach solchen Berechnungen kann der optimale Präferenzwert auf der Grundlage eines Vergleichs der Anpassungsgüte (r_scor) mit vordefinierten Schwellenwerten bestimmt werden. In einer Implementierung kann beispielsweise die Anpassungsgüte (r_scor) mit einem ersten Schwellenwert von 0,7 und einem zweiten Schwellenwert von 0,3 verglichen werden. Es versteht sich, dass die Schwellenwerte 0,7 und 0,3 praktische Beispiele sind und als Variablen für die Benutzereinstellung zur Steuerung der Granularität der Clusterdichte dienen. Mit anderen Worten, die Granularität der Veränderung kann vom Benutzer durch abstimmbare Merkmale gesteuert werden, die über eine Benutzeroberfläche bereitgestellt werden. In einem Fall, wenn die Anpassungsgüte (r_scor) größer als der erste Schwellenwert ist, d. h. r_scor > 0,7, kann der optimale Präferenzwert als Mindestwert + Theta * ((Medianwert - Mindestwert) / (90 Grad)) bestimmt werden. In einem anderen Fall, wenn die Anpassungsgüte (r_scor) kleiner oder gleich dem ersten Schwellenwert und größer oder gleich dem zweiten Schwellenwert ist, d.h. r_scor <=0,7 und r_scor >=0,3, kann der optimale Präferenzwert als der Medianwert festgelegt werden. In einem anderen Fall, wenn die Anpassungsgüte (r_scor) kleiner oder gleich dem zweiten Schwellenwert und größer als Null ist, d.h. r_scor <=0,3 und r_scor >0, kann der optimale Präferenzwert als die Hälfte des Medianwerts festgelegt werden. Auf diese Weise wird der optimale Präferenzwert dynamisch durch lineare Regression festgelegt, und die Clustering-Einheit 212 clustert die Datenpunkte effizient und genau durch Affinitätsfortpflanzung unter Verwendung des optimalen Präferenzwertes.
  • Die von der Clustering-Einheit 212 erstellten Cluster der Datenpunkte können an die Ausreißer-Erkennungseinheit 214 weitergeleitet werden. Die Ausreißer-Erkennungseinheit 214 bestimmt Ausreißer aus den Clustern, basierend auf einem oder mehreren Faktoren, einschließlich des maximalen Abstands von einem oder mehreren dicht besiedelten Clustern, der Anzahl der Werte der Datenpunkte und des Vergleichs der Werte mit Wasserzeichen, die in den Basisdaten vordefiniert sind. Die Basisdaten zeigen eine Ausgabe des auf dem Cloud-Server 106 erzeugten Autoencoders 208 an und umfassen stabilisierte Fehlerwerte (Verluste), die nach dem Training des Autoencoders 208 innerhalb einer oberen und einer unteren Wassermarke erhalten wurden. Wasserzeichen zeigen Referenzfehlerwerte an und können von einem Benutzer/Bediener angepasst werden.
  • 3A zeigt die Cluster 302 und 304, die aus Rekonstruktionsfehlern einer ersten Gruppe von Bildern erstellt wurden. Cluster 302 kann als ein dicht besiedelter Cluster mit mehreren Datenpunkten betrachtet werden. Cluster 304 könnte als Ausreißer-Cluster identifiziert werden, da er weit von dem dicht besiedelten Cluster 302 entfernt liegt. 3B zeigt eine Beispieldarstellung von Clustern, die durch Affinitätsausbreitung unter Verwendung des optimalen Präferenzwertes erstellt wurden. Die Datenpunkte in einem ersten Cluster sind mit dem Exemplar 306 verknüpft. In ähnlicher Weise ist in einem zweiten Cluster ein einzelner Datenpunkt mit dem Beispiel 308 verbunden.
  • In einem Beispiel erkennt die Datendrift-Erkennungseinheit 216 die Datendrift, indem sie die Dichte der Cluster in einem zeitlichen Verlauf bewertet. Eine Änderung der Dichte von Clustern in Bezug auf die Basisdaten über einen bestimmten Zeitraum ist ein Anzeichen für eine Datendrift, d. h. eine Abweichung im Datenmuster. Die Änderung der Dichte jedes Clusters wird mit Hilfe der Autokorrelation, z. B. der Pearson-Korrelation, bestimmt.
  • 4A zeigt die Cluster 402 und 404, die aus den Rekonstruktionsfehlern eines zweiten Bildpaares/Bildstapels erstellt wurden. Vergleicht man die Cluster 402 und 404 mit den Clustern 302 und 304, so lassen sich Änderungen in der Clusterdichte, die auf die Datendrift hinweisen, leicht erkennen. 4B zeigt ein Beispiel für die Darstellung von Clustern, die durch Affinitätsvermehrung unter Verwendung des optimalen Präferenzwertes erstellt wurden. Die Datenpunkte in einem ersten Cluster sind mit dem Exemplar 406 verknüpft. In ähnlicher Weise sind die Datenpunkte in einem zweiten Cluster mit dem Exemplar 408 verknüpft.
  • Es wird nun ein detaillierter Prozess zur Bestimmung der Datendrift beschrieben. Zumindest einige der im Folgenden erwähnten Schritte können für jeden der von der Clustering-Einheit 212 erstellten Cluster durchgeführt werden. Zunächst wird die Dichteverteilung der Datenpunkte innerhalb jedes Clusters mit Hilfe der Histogrammanalyse ermittelt. Die Ausgabe der Histogramm-Analyse für jeden der Cluster wird in einem Dichte-Set gespeichert. Daraufhin wird eine Autokorrelation über jeweils zwei Dichtesätze und die zeitlich erzeugten Basisdaten durchgeführt. Wenn bei der Durchführung der Autokorrelation die Histogrammwerte zweier Dichtesätze unterschiedlich sind, wird eine Imputation mit dem Wert „0“ in den Dichtesatz mit dem niedrigeren Wert eingefügt. Die durch die Autokorrelation erhaltenen Ergebnisse werden anhand der festgelegten Schwellenwerte analysiert, um die Datendrift zu bestimmen. Eine starke Korrelation, die größer als ein Schwellenwert ist, würde beispielsweise auf ein konsistentes Dichtemuster hinweisen. Eine schwache positive Korrelation, die unter dem Schwellenwert liegt, würde hingegen auf eine Veränderung des Dichtemusters hinweisen. Eine negative Korrelation würde auf ein Datenmuster hinweisen, das eine signifikante Drift im Dichtemuster aufweist. Schließlich kann eine Datendrift festgestellt werden, wenn die durch Autokorrelation erhaltene Ausgabe über einen vordefinierten Zeitraum monoton abnimmt.
  • In einem Beispiel werden die Bilder, die dem Autoencoder 208 zugeführt werden, auch dem ML-Modell 220 zugeführt. Das ML-Modell 220 klassifiziert die Bilder in eine oder mehrere Kategorien. Die vom ML-Modell 220 gelieferte Klassifizierungsausgabe wird an die Klassifizierungseinheit 218 weitergeleitet. Die Klassifizierungseinheit 218 verknüpft die vom ML-Modell 220 gelieferte Klassifizierungsausgabe mit den von der Ausreißer-Erkennungseinheit 214 erkannten Ausreißern und der von der Datendrift-Erkennungseinheit 216 erkannten Datenabweichung, um ein Datenpaket zu bilden. Das Datenpaket kann getrennte Informationen enthalten, die in mindestens drei Kategorien vorhanden sind, nämlich die Ausreißer/Anomalien, die Datendrift in klassifizierten Bildern und die Datendrift in nicht klassifizierten Bildern. Das Datenpaket kann an den Cloud-Server 106 übertragen werden, um zu bestimmen, ob das ML-Modell 220 aktualisiert werden soll, und um das ML-Modell 220 zu aktualisieren.
  • 5 zeigt ein Blockdiagramm des Cloud-Servers 106 zum Trainieren und Aktualisieren des ML-Modells 220 gemäß einem Beispiel der vorliegenden Offenbarung. Wie dargestellt, kann der Cloud-Server 106 eine Schnittstelle 502, Prozessor(en) 504 und einen Speicher 506 umfassen. Der Speicher 506 kann einen Datensatz 508 enthalten, der für das Training des ML-Modells 220 erforderlich ist, bevor es auf dem Edge-Gerät 102 eingesetzt wird. Der Datensatz 508 umfasst Trainingsdaten 510, Testdaten 512 und Validierungsdaten 514. Unter Verwendung all dieser Daten, d. h. der Trainingsdaten 510, der Testdaten 512 und der Validierungsdaten 514, wird das ML-Modell 220 in einer maschinellen Lernumgebung 516 trainiert.
  • Auf dem Cloud-Server 106 kann das ML-Modell 220 anhand der von der Bildquelle 104 empfangenen Bilder oder anderer ähnlicher Bilder trainiert werden. Wenn das ML-Modell 220 beispielsweise eine Lungenentzündung durch die Verarbeitung von Röntgenbildern des Brustbereichs von Patienten erkennen soll, wird das ML-Modell 220 anhand von Röntgenbildern von Patienten trainiert, von denen bekannt ist, dass sie an einer Lungenentzündung leiden. In einer Implementierung können Deep-Learning-Netzwerke, z. B. Convolutional Neural Networks (CNNs), für das Training des ML-Modells 220 verwendet werden. Nach dem Training kann das ML-Modell 220 auf dem Edge-Gerät 102 eingesetzt werden.
  • Nach dem Einsatz des ML-Modells 220 auf dem Edge-Gerät 102 wird das Datenpaket, wie oben beschrieben, auf dem Cloud-Server 106 empfangen. Das Datenpaket enthält die Klassifizierungsausgabe des ML-Modells 220 in Verbindung mit den Ausreißern und der Datendrift. Das Datenpaket wird verwendet, um die Trainingsdaten 510 zu ergänzen, mit denen das ML-Modell 220 während eines Feinabstimmungsprozesses aktualisiert werden kann. Das Datenpaket kann bewertet werden, um festzustellen, ob das Datenpaket wesentliche Informationen enthält, mit denen das ML-Modell 220 aktualisiert werden soll, oder ob das Datenpaket unwesentliche Informationen enthält, die verworfen werden sollen. Wenn beispielsweise einige Informationen in dem Datenpaket nur sporadisch vorhanden sind, könnten sie als Rauschen oder Fehler eines Sensors, der Bilder erfasst, identifiziert werden und können daher verworfen werden. Andererseits sind einige andere Informationen im Datenpaket prominent vorhanden, sie könnten als nützliche Informationen identifiziert werden, mit denen das ML-Modell 220 aktualisiert werden kann.
  • In einer Implementierung können die Gewichte des ML-Modells 220 auf der Grundlage der im Datenpaket enthaltenen Informationen angepasst werden, um das ML-Modell 220 zu aktualisieren. Nach der Aktualisierung kann die ML-Modellaktualisierung oder das aktualisierte ML-Modell zur Bereitstellung an das Randgerät 102 übertragen werden.
  • Der Speicher 506 enthält auch den Autoencoder 208, der anhand der Trainingsdaten 510 trainiert wird. Bevor er auf dem Edge-Gerät 102 eingesetzt wird, wird der Autoencoder 208 trainiert, bis er in der Lage ist, die erwartete Ausgabe (Bilder) mit minimalen Rekonstruktionsfehlern zu rekonstruieren. Die Rekonstruktionsfehler geben Verlustwerte an und werden als mittlerer quadratischer Fehler (MSE) für die vom Autoencoder 208 rekonstruierten Bilder bestimmt. Außerdem entsprechen die minimalen Rekonstruktionsfehler einem Wertebereich zwischen einer oberen und einer unteren Wassermarke, der auf der Grundlage der Rekonstruktionsqualität der Bilder einstellbar ist. Die Basisdaten werden als Referenz für die Identifizierung der Datendrift am Randgerät 102 verwendet. Sowohl der Autoencoder 208 als auch die Basisdaten werden auf dem Cloud-Server 106 aktualisiert, wobei das vom Randgerät 102 empfangene Datenpaket verwendet wird.
  • Dementsprechend bieten das oben beschriebene System und Verfahren die Bestimmung von Ausreißern und Datendrift am Rande des Systems unter Verwendung von Affinitätsclustering, das so konfiguriert ist, dass es die optimale Anzahl von Datenclustern bestimmt, die Klassifizierungsausgabe eines ML-Modells mit den Ausreißern und der Datendrift verknüpft und die zugehörigen Informationen an einen Cloud-Server übermittelt, um das ML-Modell zu aktualisieren. Die Übermittlung nur derzugehörigen Informationen an den Cloud-Server ermöglicht die Einsparung von Zeit, Bandbreite und Rechenleistung, die für die Aktualisierung von ML-Modellen erforderlich sind. Die ML-Modelle, die unter Verwendung der Datendrift und der Ausreißer, die mit der Klassifizierungsausgabe eines ML-Modells verbunden sind, aktualisiert werden, würden genaue Ausgaben vorhersagen, die für die Entscheidungsfindung bei einem Edge-Gerät verwendet werden könnten.
  • Es sind mehrere Methoden zur Aktualisierung von ML-Modellen vorgesehen, wie in 6 und 7 dargestellt. Zum Beispiel wird in 6 in Block 610 eine Vielzahl von Bildern an einen Autoencoder und ein ML-Modell geliefert. Sowohl der Autoencoder als auch das ML-Modell können auf ähnlichen Trainingsdaten über einen Server vortrainiert werden. Der Autoencoder kann über den Server vortrainiert werden, bis er in der Lage ist, Bilder mit Fehlerwerten zu rekonstruieren, die innerhalb vordefinierter einstellbarer Schwellenwerte liegen. Nach der Implementierung auf einem Edge-Gerät rekonstruiert der Autoencoder die Vielzahl von Bildern, und das ML-Modell klassifiziert die Vielzahl von Bildern in eine oder mehrere Kategorien.
  • In Block 620 können ein oder mehrere Rekonstruktionsfehler für die weitere Verarbeitung ermittelt werden. Die Rekonstruktionsfehler können während der Rekonstruktion der mehreren Bilder auftreten. Die Rekonstruktionsfehler können mit Zeitstempeln und Tags gespeichert werden, die den entsprechenden Bildern zugeordnet sind. Datenpunkte, die die Rekonstruktionsfehler repräsentieren, können in Stapeln mit einer vordefinierten, einstellbaren Größe für die Clusterbildung bereitgestellt werden.
  • In Block 630 kann ein Clustering-Prozess eingeleitet werden. Beispielsweise können die Datenpunkte mithilfe der Affinitätsfortpflanzung geclustert werden. Ein Präferenzwert, der von der Affinitätsausbreitung zur Bestimmung einer Ähnlichkeit zwischen den Datenpunkten verwendet wird, wird dynamisch durch Anwendung einer linearen Regression auf die Datenpunkte festgelegt. Der Präferenzwert zeigt an, wie wahrscheinlich es ist, dass ein Datenpunkt ein Cluster von Datenpunkten darstellt, und wird dynamisch eingestellt, indem die Werte der Rekonstruktionsfehler durch lineare Regression verändert werden. Der Präferenzwert wird dynamisch zwischen Null und einem minimalen Ähnlichkeitswert eingestellt, der aus der Ähnlichkeitsmatrix S ermittelt wird.
  • In einigen Beispielen können Ausreißer aus Clustern der Datenpunkte bestimmt werden. Beispielsweise können die Ausreißer auf der Grundlage eines oder mehrerer Faktoren bestimmt werden, einschließlich des maximalen Abstands von einem oder mehreren dicht besiedelten Clustern, der Anzahl der Werte der Datenpunkte und des Vergleichs der Werte mit vordefinierten Wasserzeichen in den Basisdaten. Die Basisdaten können einer Ausgabe des Autoencoders entsprechen, der auf einem Cloud-Server trainiert wurde, und umfassen stabilisierte Rekonstruktionsfehlerwerte.
  • In Block 640 kann das Vorhandensein einer Datendrift festgestellt werden. Das Vorhandensein einer Datendrift kann auf Änderungen der Dichte der Cluster über einen vordefinierten Zeitraum beruhen. Die Änderungen in den Dichten der Cluster können durch Histogrammanalyse und/oder Autokorrelation über die Clusterdichten bestimmt werden.
  • In Block 650 kann ein Datenpaket erstellt werden. Das Datenpaket kann die Klassifizierungsausgabe des ML-Modells, die Ausreißer und/oder die Datendrift enthalten. Das Datenpaket kann für die Feinabstimmung des ML-Modells verwendet werden.
  • 7 zeigt eine zusätzliche Methode zur Aktualisierung von ML-Modellen. In 7 wird beispielsweise ein Verfahren zur Erkennung von Veränderungen mit erhöhter Granularität unter Verwendung eines ML-Modells beschrieben. Beispielsweise kann das System eine Bewertung der Merkmalsbedeutung durch die granulare Änderungserkennung mit einer Anomalie- und/oder Qualitätsbewertung in den Bilddatensätzen einbeziehen. Anhand dieser Informationen kann das ML-Modell neu trainiert werden, um ein oder mehrere Schlüsselmerkmale in jedem Bild zu identifizieren. In einigen Beispielen kann das ML-Modell kontinuierlich neu trainiert werden.
  • Es können verschiedene ML-Modelle implementiert werden, einschließlich eines Siamesischen AutoEncoders, wie zuvor hier beschrieben, oder das System kann auf ein Convolutional Neural Network oder ein anderes ML-Modell verallgemeinert werden. Wenn ein Siamese AutoEncoder implementiert ist, kann der Siamese AutoEncoder einem künstlichen neuronalen Netzwerk entsprechen, das dieselben Gewichte verwendet, aber im Tandem an zwei verschiedenen Eingangsvektoren arbeitet, um vergleichbare Ausgangsvektoren zu berechnen. Häufig wird einer der Ausgangsvektoren vorberechnet und bildet so eine Basislinie, mit der der andere Ausgangsvektor verglichen wird.
  • In Block 710 kann das ML-Modell anhand ähnlicher, hier beschriebener Verfahren trainiert werden. Beispielsweise können dem ML-Modell Positiv- und Negativpaare von Bildern zum Training zur Verfügung gestellt werden. Das positive Paar kann ein Ankerbild und ein ähnliches Bild umfassen, und ein negatives Paar kann ein Ankerbild und ein anderes Bild umfassen.
  • Ein anschauliches Beispiel aus dem Gesundheitswesen: Die positiven Bildpaare können zur gleichen Klasse des Röntgenbilddatensatzes gehören (z. B. [Normal, Normal]), wobei „Normal“ das Ankerbild ist. Die negativen Bildpaare können zwei Bilder enthalten, die zu einer anderen Klasse gehören (z. B. [Normal, Pneumonie]).
  • Beim Training des ML-Modells können nach dem Zufallsprinzip Beispiele für positive und negative Paare ausgewählt werden. Diese Paare können als Trainingsdaten dienen, so dass das ML-Modell einen Ähnlichkeitswert für den gesamten Datensatz erlernt.
  • Ein anschaulicherTrainingsprozess unter Verwendung eines Siam-AutoEncoders ist in 8 dargestellt. In Block 810 kann das ML-Modell Positivpaare und Negativpaare von Bildern erhalten. Das positive Paar kann ein Ankerbild und ein ähnliches Bild umfassen, und ein negatives Paar kann ein Ankerbild und ein anderes Bild umfassen.
  • In Block 820 (dargestellt als erster neuronaler Netzwerkpfad Block 820A und zweiter neuronaler Netzwerkpfad Block 820B) können die Bildpaare getrennt und identischen neuronalen Netzwerken zugeführt werden. Beispielsweise können die beiden neuronalen Netzwerkpfade zwei identischen neuronalen Netzwerken (z. B. zwei CNNs usw.) entsprechen, wobei jedes neuronale Netzwerk eines von zwei Eingangsbildern erhalten kann. Die neuronalen Netze können zwischen den beiden Eingangsbildern unterscheiden, indem sie den Ähnlichkeitswert zwischen ihnen erlernen, mit dem Ziel zu klassifizieren, ob die beiden Bilder gleich oder verschieden sind.
  • In Block 830 (dargestellt als erster Pfad des neuronalen Netzes, Block 830A, und zweiter Pfad des neuronalen Netzes, Block 830B) kann jedes Bild einem Kodierer des Autoencoders oder eines anderen nicht überwachten neuronalen Netzes zugeführt werden. Im Kodierer kann der Prozess lernen, wie die Bilddaten zu komprimieren und zu kodieren sind, und die gelernten Gewichte auf die beiden Pfade aufteilen. Der Kodierer kann die Eingangsabmessungen reduzieren und die Eingangsbilddaten in eine kodierte Darstellung (z. B. Vektordaten) komprimieren.
  • In Block 840 (dargestellt als erster Neuralnetzpfad Block 840A und zweiter Neuralnetzpfad Block 840B) kann der latente Raum bestimmt werden. Typische Verfahren können beispielsweise einen euklidischen Abstand bestimmen, während dieses Verfahren den latenten Raum des Kodiererteils aus Block 830 bestimmen kann, um den Abstand zwischen den Bilddaten zu ermitteln. Der/die Wert(e) des latenten Raums kann/können in der adaptiven Randverlustfunktion später im Trainingsprozess (in Block 870) verwendet werden.
  • In Block 850 (dargestellt als erster neuronaler Netzwerkpfad Block 850A und zweiter neuronaler Netzwerkpfad Block 850B) kann jedes Bild einem Decoder des Autoencoders oder eines anderen unüberwachten neuronalen Netzwerks zugeführt werden. Im Kodierer kann der Prozess lernen, wie die Vektordaten aus der reduzierten kodierten Darstellung zurück zu einer Darstellung rekonstruiert werden können, die den ursprünglichen Eingangsbilddaten so nahe wie möglich kommt.
  • In Block 860 können die dekodierten Ausgangsbilder aus den Zwillings-Teilnetzen einer Zusammenführungsschicht zugeführt werden, die die Abstandsmetrik zwischen den dekodierten Ausgangsbildern unter Verwendung eines erweiterten Ähnlichkeitsabstands Ld berechnet. Ld ist definiert als euklidischer Abstand (z. B. zwischen den dekodierten Ausgangsbildern) multipliziert mit einer normalisierten (Cosinus-Ähnlichkeit von Enc_latent vector1 und Enc_latent_vector2)), wobei Enc_latent_vector1 und Enc_latent_vector2 den numerischen Daten des latenten Raums von jedem Kodierer der Zwillings-Autokodierernetzwerke entsprechen, wie in 830A und 830B dargestellt.
  • Im Block 870 (und im Block 720 von 7) kann eine Verlustfunktion in den Trainingsprozess implementiert werden. Es können verschiedene Verlustfunktionen implementiert werden. Eine typische Verlustfunktion kann z. B. eine kontrastive Verlustfunktion sein, die zwischen ähnlichen und unähnlichen Bildern unterscheidet, indem sie die beiden Eingangsbilder, die dem Netzwerk während des Trainings gegeben werden, kontrastiert. Das angestrebte Ziel ist es, während des Trainings einen kleinen Abstand für positive Bildpaare und einen größeren Abstand für negative Bildpaare zu erreichen.
  • Eine erste (kontrastive) Verlustfunktion kann wie folgt definiert werden: Verlust = Y *d2 + (1-Y) * Maximum (0, M - d)2 , wobei Y = 0 ist, wenn das Eingangsbild aus derselben Klasse stammt; Y = 1, wenn das Eingangsbild aus verschiedenen Klassen stammt; M ist ein Spielraum, der einen Radius definiert, so dass unähnliche Eingangspaare innerhalb dieses Spielraums nur zum Verlust beitragen; und d ist der euklidische Abstand zwischen den Ausgängen der Zwillingsnetzwerke. In einigen Beispielen ist die Marge M ein fester Wert > 0, der das ML-Modell als Klassifikator für ähnliche und unähnliche Bilder fungieren lässt.
  • Eine zweite (adaptive Margin-)Verlustfunktion kann wie folgt definiert werden: Für jede Epoche eines Trainingslaufs kann eine dynamisch berechnete Margin-Alternative Direction-Methode (AdM) über Epochen hinweg nach folgender Formel bestimmt werden: Verlust = Y *Ld2 + (1-Y) x max (0, AdM - Ld)2 , wobei AdM = M1 + ( M2 - e((M1-M2) × (alpha / epoch_count)) ). M1 und M2 sind die oberen und unteren Randwerte, z.B. 0,1 bis 1,0; epoch_count ist die Gesamtzahl der Epochen für den Trainingslauf; alpha ist ein einstellbarer Wert für die Granularität des Randes, der kleiner als die Epochenzahl ist und von einem Benutzer gesteuert werden kann (z.B., (z.B. über eine Benutzerschnittstelle); und, wie hierin beschrieben, ist Ld ein euklidischer Abstand * Normalisiert (Cosinusähnlichkeit (Enc_latent_vector1, Enc_latent_vector2)); und Enc_latent_vector1 und Enc_latent_vector2 sind die numerischen Daten des latenten Raums von jedem Encoder der Zwillings-Autoencoder-Netzwerke. In einigen Beispielen können die Cosinus-Ähnlichkeitsvergrößerungen kombiniert werden, um die Verlustberechnung robuster zu machen. Dies kann die Berücksichtigung einer ungleichmäßigen Verteilung von Vektorwerten durch eine winkelbasierte Bewertung zwischen den Vektoren beinhalten.
  • In einigen Beispielen kann die kontrastive Verlustfunktion für die adaptive Randberechnung pro Epoche(n) eine granulare Bildänderungserkennung ermöglichen. Beispielsweise kann diese kontrastive Verlustfunktion das gewünschte Ausmaß an Granularität durch Änderung des „Alpha“-Parameters in der Verlustfunktion abstimmen.
  • Das ML-Modell kann so lange trainiert werden, bis die erwartete Ausgabe mit Verlustfehlern innerhalb eines Schwellenwerts rekonstruiert ist. Es kann eine Basislinie abgeleitet werden, die das Ankerbild und den minimalen Verlustwertschwellenwert umfasst, der während der Inferenz verwendet wird.
  • In Block 730 kann das trainierte ML-Modell zusammen mit der Basislinie in der Inferenzumgebung eingesetzt werden. Das trainierte ML-Modell kann für die granulare Erkennung von Änderungen und/oder Anomalien verwendet werden.
  • Für die granulare Erkennung von Veränderungen kann das ML-Modell neue Bilder (die während des Trainings nicht verwendet wurden) erhalten, die zusammen mit dem Ankerbild als Paar an das ML-Modell übermittelt werden. Das ML-Modell gibt einen Ähnlichkeitswert zwischen 0 und 1 aus, wobei Werte gegen 0 für ein unähnliches Paar und gegen 1 für ein unähnliches Paar stehen. Die Bilder werden nun als Werte zwischen 0 und 1 eingestuft, die einen Feinabstimmungsgrad der Ähnlichkeit angeben, anstatt einer binären Ausgabe von ähnlich oder unähnlich. Die zugehörigen Unähnlichkeitswerte dieser anomalen Bilder können das Ausmaß der Veränderung in den Bildern anzeigen.
  • Diese Bilder können in einem visuell darstellbaren Format bereitgestellt werden, das die wichtigen Merkmale hervorhebt, die zu der Veränderung beitragen. Ein Beispiel für ein visuelles Darstellungsformat ist die Verwendung eines bestehenden Bildähnlichkeitsmaßes wie das Structural Similarity Index Measure (SSIM), das nur zur Veranschaulichung dient und nicht einschränkend sein soll.
  • Für die Bewertung von Anomalien kann der latente Raum des CAE aus dem Codierermodul auf den Datenstapeln extrahiert werden. Auf dem latenten Raum des Encoders kann eine Clustertechnik (z. B. Affinity Propagation) angewandt werden. Anomalien bei der Inferenz können zur Erzeugung eines separaten Clusters verwendet werden. Zu den Anomalien können z. B. Datenwerte mit geringer Dichte und großem Abstand zur Basislinie gehören.)
  • Wie bei der Erkennung granularer Veränderungen beschrieben, können die Bilder in einem visuell darstellbaren Format bereitgestellt werden, das die wichtigen Merkmale hervorhebt, die zu der Veränderung beitragen. Ein Beispiel für ein visuelles Darstellungsformat ist die Verwendung eines SSIM, das nur zur Veranschaulichung dient und nicht einschränkend sein soll.
  • In Block 740 werden in einer Inferenzphase Ähnlichkeiten oder Unterschiede zwischen den neu empfangenen Bildern bestimmt. Beispielsweise kann das System einen Siam-AutoEncoder implementieren, um eine quantitative Trennung zwischen den Bildpaaren zu bestimmen, die für die Bewertung von Anomalien geclustert werden können. In einigen Beispielen liefert der Siamese AutoEncoder eine geordnete Liste von Vorhersagewerten, die von sehr ähnlich (nahe bei 1,0) bis sehr unähnlich (nahe bei 0,0) reichen. Zusätzlich kann der Siamese AutoEncoder ein Trenddiagramm der Vorhersagewerte für einen Stapel von Bildern liefern, das dem Benutzer hilft, die Geschwindigkeit der Verschlechterung anhand der Steigung der Trendlinie zu beurteilen.
  • In Block 750 wird die Klassifizierung auf der Grundlage von Ähnlichkeiten oder Unterschieden bestimmt und die Klassifizierungsausgabe bereitgestellt. Beispielsweise kann das System ein Abstandsmaß verwenden, das einen euklidischen Abstand zwischen den Ausgängen der Decoder-Netzwerke in Kombination mit einem Cosinus-Abstand im latenten Raum des Encoder-Teils der Autoencoder-Netzwerke verwendet. Das Abstandsmaß kann eine bessere Verlustbewertung ermöglichen. In anderen Beispielen kann das System den höchsten Ähnlichkeitswert mit einer Klassifizierung einer medizinischen Erkrankung korrelieren und die Klassifizierung zusammen mit einem oder mehreren unterstützenden Bildern, die während der Inferenzphase empfangen wurden, an eine Benutzerschnittstelle weiterleiten.
  • In einigen Beispielen kann die Klassifizierungsausgabe mit Hilfe einer Bildverarbeitungstechnik erzeugt werden. So können beispielsweise ein oder mehrere Bilder mit Ähnlichkeiten oder Unterschieden dem Bildverarbeitungsverfahren zur Verfügung gestellt werden, um Bilder mit kastenförmiger Hervorhebung der Änderungen oder als Wärmekarten zu erzeugen.
  • Verschiedene Bildvergleiche und Bildverarbeitungstechniken werden in den und unter Verwendung der hier besprochenen ML-Modelle dargestellt. Beispielsweise veranschaulicht 9 die Verwendung einer kontrastiven Verlustfunktion mit einem Siamesischen Faltungsneuronalen Netz und 10 die adaptive Verlustfunktion mit einem Siamesischen AutoEncoder. Die hier beschriebenen Systeme und Verfahren können eine schrittweise Erkennung von Veränderungen durchführen, indem sie die in diesen Abbildungen gezeigten Bilder in eine Rangfolge bringen. Die Rangfolge kann auf einem Wahrscheinlichkeits- und/oder Vorhersagewert basieren, der die Bilder nicht auf eine Trennung beschränkt (z. B. unter Verwendung einer adaptiven Marge), und kann Merkmalsänderungen über sich allmählich ändernde Bilder hinweg hervorheben, indem Bildabstands-Trennungstechniken (z. B. Structural Similarity Index Measure oder „SSIM“) und eine erweiterte kontrastive Verlustfunktion mit einer dynamisch berechneten adaptiven Marge über die Bilder hinweg verwendet werden.
  • In den und sind jeweils fünfzehn Bilder der digitalen Zahl „5“ dargestellt, die allmähliche Verschlechterungsmerkmale aufweisen. Die fünfzehn Bilder werden als Eingabe für die hier beschriebenen Modelle zur Vorhersage und Messung der Ähnlichkeit mit einem Ankerbild bereitgestellt. Die Vorhersagen können als „Wahr“ für dieselbe Eingangs- und Ankerbildziffer oder als „Falsch“ (oder andere binäre Metriken) angegeben werden. In einigen Beispielen können die Vorhersagewerte zwischen 1,0 und 0,0 variieren, was den Konfidenzwert der Ähnlichkeit der Vorhersagen mit dem Ankerbild wiedergeben kann. Ein „hoher“ Konfidenzvorhersagewert kann mit „1,0“ korrespondieren oder anderweitig eine hohe Ähnlichkeit anzeigen, während ein „niedriger“ Konfidenzvorhersagewert mit „0,0“ korrespondieren oder anderweitig eine geringe Ähnlichkeit oder hohe Unähnlichkeit anzeigen kann.
  • 9 zeigt die Verwendung der bestehenden kontrastiven Verlustfunktionstechnik mit einem Siamesischen Faltungsneuronalen Netz (CNN). Von Bild eins bis Bild elf ist zu beobachten, dass die Vorhersagewerte annähernd gleich sind und bei 0,998 liegen, was auf ein hohes Vertrauen auch bei schlechteren Bildern hinweist. Signifikante plötzliche Änderungen können bei den Vorhersagewerten von Bild elf bis Bild fünfzehn beobachtet werden, die eine signifikante Verschlechterung aufweisen, wobei die Vorhersagewerte zwischen 0,974 und 0,0004 liegen.
  • 10 zeigt die Verwendung der SAE unter Verwendung der adaptiven Verlustfunktion. Von Bild eins bis Bild fünfzehn können die hier beschriebenen Techniken allmählich abnehmende Bilder mit granularen Vorhersagewerten erkennen. Zum Beispiel kann sich das Bild von Bild eins bis Bild fünfzehn weiter verschlechtern. Daher wird eine gleichmäßige und granulare Verschlechterung mit Vorhersagewerten von 0,995 bis 0,058 erkannt, wie dargestellt.
  • 11 zeigt eine Visualisierung der wichtigen Merkmale, die zur Verschlechterung beitragen, wobei das Originalbild und eine verschlechterte Beispielziffer gemäß einem Beispiel der vorliegenden Offenlegung genommen werden. In diesem Beispiel werden das Originalbild 1110, das verschlechterte Bild 1120 und das Bild 1130 mit hervorgehobenen Unterschieden dargestellt. Während die verglichenen Bilder zu Demonstrationszwecken bereitgestellt werden, kann das System auch andere Bildtypen empfangen (z. B. in Anwendungsfällen im Gesundheitswesen, in der intelligenten Fertigung usw.).
  • Ein Beispiel für die Erfindung kann ein Erzeugnis sein, bei dem auf einem maschinenlesbaren Medium (z. B. einem mikroelektronischen Speicher) Anweisungen gespeichert sind, die eine oder mehrere Datenverarbeitungskomponenten (hier allgemein als „Prozessor“ bezeichnet) programmieren, um die oben beschriebenen Operationen durchzuführen. In anderen Beispielen können einige dieser Operationen von speziellen Hardwarekomponenten durchgeführt werden, die fest verdrahtete Logik enthalten (z. B. spezielle digitale Filterblöcke und Zustandsmaschinen). Alternativ können diese Operationen von einer beliebigen Kombination aus programmierten Datenverarbeitungskomponenten und fest verdrahteten Schaltungskomponenten ausgeführt werden.
  • In der obigen Beschreibung werden zu Erklärungszwecken zahlreiche spezifische Details angeführt, um ein umfassendes Verständnis der vorliegenden Systeme und Verfahren zu ermöglichen. Es wird deutlich, dass die Systeme und Verfahren auch ohne diese spezifischen Details praktiziert werden können. Wenn in der Beschreibung auf „ein Beispiel“ oder ähnliche Formulierungen Bezug genommen wird, bedeutet dies, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Eigenschaft, die im Zusammenhang mit diesem Beispiel beschrieben wird, in der beschriebenen Form enthalten ist, in anderen Beispielen jedoch nicht enthalten sein muss.
  • Wie in der vorliegenden Beschreibung verwendet, bezieht sich der Begriff „maschinelles Lernen“ im weitesten Sinne auf eine Technik der künstlichen Intelligenz, bei der sich das Verhalten eines Computers auf der Grundlage empirischer Daten weiterentwickelt. In einigen Fällen können die empirischen Eingabedaten aus Datenbanken stammen und Muster oder Vorhersagen ergeben, von denen angenommen wird, dass sie Merkmale des Mechanismus sind, der die Daten erzeugt hat. Ein weiterer Schwerpunkt des maschinellen Lernens ist die Entwicklung von Algorithmen, die komplexe Muster erkennen und intelligente Entscheidungen auf der Grundlage von Eingabedaten treffen. Das maschinelle Lernen kann eine Reihe von Methoden und Techniken umfassen, wie z. B. überwachtes Lernen, unüberwachtes Lernen, Verstärkungslernen, multivariate Analyse, fallbasiertes Denken, Backpropagation und Transduktion.
  • In der obigen Beschreibung und den Abbildungen werden einige Beispiele und/oder Implementierungen von Systemen und/oder Verfahren zur Aktualisierung eines ML-Modells beschrieben. Der hier verwendete Begriff „Cloud-Server“ kann verwendet werden, um einen Dienst bereitzustellen, z. B. Datenverarbeitung, Datenkommunikation, Datenspeicherung oder jedes andere Produkt oder jede andere Aktivität, die auf dem Cloud-Server ausgeführt werden kann, oder einen Cloud-basierten Dienst. Wie hier verwendet, kann der Cloud-Server eine beliebige Kombination von physischen und virtuellen Ressourcen sein, die für Rechen- und/oder Speicherzwecke zusammengeführt werden. So kann der Cloud-Server beispielsweise eine beliebige Anzahl von einzelnen Ressourcen, Servern und Servergruppen umfassen, einschließlich virtueller Instanzen von Ressourcen, Servern und Servergruppen. Der Cloud-Server kann eine beliebige Anzahl von Clouds und/oder anderen Ressourcennetzen umfassen, auf die das Edge-Gerät zugreifen kann.
  • Ein Edge-Gerät kann einem Gerät entsprechen, das in der Lage ist, Bilder zu verarbeiten, die von Datenquellen wie Mobilgeräten, Desktops, Laptops, Tablets, Geräten des Internets der Dinge (loT), medizinischen Geräten, Robotern usw. stammen. Das Edge-Gerät kann Anwendungen ausführen, die Modelle der künstlichen Intelligenz/des maschinellen Lernens (ML) enthalten. In einigen Implementierungen kann das Edge-Gerät Bilder mithilfe eines trainierten ML-Modells verarbeiten, um Vorhersagedaten, Konfidenzwerte und/oder Leistungswerte zu erzeugen.
  • Die hier beschriebenen Implementierungen bieten ein System für die Verwaltung von ML-Modellen, die Bereitstellung von ML-Modellen, die Sammlung von ML-Modell-Feedback, die Nachschulung von ML-Modellen usw. zur Unterstützung von Anwendungen, die auf dem Edge-Gerät ausgeführt werden können. ML-Modelle können auf der Grundlage gemeinsamer Merkmale des Edge-Geräts und anderer Edge-Systeme und/oder des Cloud-Servers ausgewählt und eingesetzt werden. Vom Edge-Gerät empfangene Informationen können zur Aktualisierung/Umschulung von Instanzen von ML-Modellen verwendet werden, und die ML-Modelle können nachverfolgt, dokumentiert und gespeichert werden, so dass ML-Modelle speziell für ein einzelnes Edge-Gerät, eine Gruppe von Edge-Geräten usw. verwaltet und angepasst werden können. ML-Modelle werden kontinuierlich oder periodisch auf ihre Genauigkeit hin überwacht, auf der Grundlage von Informationen aktualisiert und auf verschiedenen Edge-Geräten eingesetzt.
  • Ein Computernetzwerk, das die Kommunikation zwischen dem Edge-Gerät und dem Cloud-Server ermöglicht, kann mit Hilfe von drahtgebundenen und/oder drahtlosen Kommunikationstechnologien implementiert werden. Das Computernetzwerk kann verschiedene Netzwerkkomponenten wie Switches, Provide-Edge-Router (PE), Customer-Edge-Router (CE), Zwischenrouter, Brücken, Computer, Server usw. umfassen. Die im Computernetzwerk vorhandenen Netzwerkgeräte können ein Interior Gateway Protocol (IGP) implementieren, einschließlich, aber nicht beschränkt auf Open Shortest Path First (OSPF), Routing Information Protocol (RIP), Intermediate System to Intermediate System (IS-IS) und Enhanced Interior Gateway Routing Protocol (EIGRP).
  • Eine Schnittstelle kann verwendet werden, um Eingaben zu machen oder Ausgaben vom System abzuholen. Die Schnittstelle kann als Befehlszeilenschnittstelle (CLI) oder als grafische Benutzeroberfläche (GUI) implementiert werden. Darüber hinaus können auch Anwendungsprogrammierschnittstellen (APIs) für die Ferninteraktion mit Edge-Geräten und Cloud-Servern verwendet werden.
  • Ein Prozessor kann einen oder mehrere Allzweckprozessoren (z. B. INTEL®- oder Advanced Micro Devices® (AMD)-Mikroprozessoren) und/oder einen oder mehrere Spezialprozessoren (z. B. digitale Signalprozessoren oder Xilinx® System On Chip (SOC) Field Programmable Gate Array (FPGA)-Prozessoren), einen Prozessor der MIPS/ARM-Klasse, einen Mikroprozessor, einen digitalen Signalprozessor, eine anwendungsspezifische integrierte Schaltung, einen Mikrocontroller, einen Zustandsautomaten oder eine beliebige Art von programmierbarem Logik-Array umfassen.
  • Ein Speicher kann unter anderem nichttransitorische, maschinenlesbare Speichervorrichtungen wie Festplatten, Magnetbänder, Disketten, optische Platten, Compact Disc Read-Only Memories (CD-ROMs) und magneto-optische Platten sowie Halbleiterspeicher wie ROMs umfassen, Random Access Memories (RAMs), Programmable Read-Only Memories (PROMs), Erasable PROMs (EPROMs), Electrically Erasable PROMs (EEPROMs), Flash-Speicher, magnetische oder optische Karten oder andere Arten von Medien/Maschinen-lesbaren Medien, die zur Speicherung elektronischer Anweisungen geeignet sind.
  • Es sei darauf hingewiesen, dass die hier verwendeten Begriffe „optimieren“, „optimal“ und dergleichen verwendet werden können, um die Leistung so effektiv oder perfekt wie möglich zu machen oder zu erreichen. Wie jedoch ein Fachmann, der dieses Dokument liest, erkennen wird, kann Perfektion nicht immer erreicht werden. Dementsprechend können diese Begriffe auch bedeuten, die Leistung so gut oder effektiv wie unter den gegebenen Umständen möglich oder praktikabel zu machen oder zu erreichen, oder die Leistung besser zu machen oder zu erreichen als die, die mit anderen Einstellungen oder Parametern erreicht werden kann.
  • 12 zeigt einen Beispielprozess, der von den hier besprochenen Computerkomponenten, einschließlich der in 13 dargestellten Computerkomponenten, implementiert werden kann. Wie in 13 dargestellt, kann die Computerkomponente 1300 einen Hardwareprozessor 1302 und ein maschinenlesbares Speichermedium 1304 zur Ausführung von Anweisungen zur Durchführung des in 12 dargestellten Prozesses umfassen.
  • Bei dem Hardware-Prozessor 1302 kann es sich um eine oder mehrere Zentraleinheiten (CPUs), halbleiterbasierte Mikroprozessoren und/oder andere Hardwarevorrichtungen handeln, die zum Abrufen und Ausführen von Anweisungen geeignet sind, die in einem maschinenlesbaren Speichermedium gespeichert sind. Der Hardware-Prozessor kann Anweisungen von verschiedenen Komponenten, wie z. B. den Komponenten 1310-1360, abrufen, dekodieren und ausführen, um Prozesse oder Vorgänge zur Bildänderungserkennung zu steuern. Alternativ oder zusätzlich zum Abrufen und Ausführen von Befehlen kann der Hardware-Prozessor 1302 einen oder mehrere elektronische Schaltkreise enthalten, die elektronische Komponenten zur Ausführung der Funktionalität eines oder mehrerer Befehle umfassen, wie z. B. ein Field Programmable Gate Array (FPGA), einen anwendungsspezifischen integrierten Schaltkreis (ASIC) oder andere elektronische Schaltkreise.
  • Bei dem maschinenlesbaren Speichermedium 1304 kann es sich um ein beliebiges elektronisches, magnetisches, optisches oder anderes physisches Speichergerät handeln, das ausführbare Anweisungen enthält oder speichert. So kann das maschinenlesbare Speichermedium 1304 beispielsweise ein Direktzugriffsspeicher (RAM), ein nichtflüchtiger Arbeitsspeicher (NVRAM), ein elektrisch löschbarer, programmierbarer Festspeicher (EEPROM), ein Speichergerät, eine optische Platte oder Ähnliches sein. In einigen Beispielen kann das maschinenlesbare Speichermedium 1304 ein nicht-transitorisches Speichermedium sein, wobei der Begriff „nicht-transitorisch“ nicht die transitorischen Übertragungssignale umfasst.
  • Der Hardware-Prozessor 1302 von 13 kann unter Verwendung der ML-Trainingskomponente 1310 den Befehl 1210 von 12 ausführen, um einen Siam-AutoEncoder auf einem oder mehreren Bildpaaren zu trainieren.
  • Der Hardware-Prozessor 1302 von 13 kann unter Verwendung der Datenkomponente 1320 den Befehl 1220 von 12 ausführen, um ein zweites Bildpaar zu empfangen.
  • Der Hardware-Prozessor 1302 von 13 kann unter Verwendung der Encoder/Decoder-Engine 1330 den Befehl 1230 von 12 ausführen, um jedes des zweiten Bildpaares an einen Encoder und Decoder des trainierten Siam-AutoEncoders zu liefern, um ein decodiertes zweites Bildpaar zu erzeugen.
  • Der Hardware-Prozessor 1302 von 13 kann unter Verwendung der Feinabstimmungskomponente 1340 den Befehl 1240 von 12 ausführen, um die Feinabstimmung einer Verlustfunktion mit dem dekodierten zweiten Bildpaar einzuleiten.
  • Der Hardware-Prozessor 1302 von 13 kann unter Verwendung der Ähnlichkeitswertkomponente 1350 den Befehl 1250 von 12 ausführen, um einen Ähnlichkeitswert zu bestimmen, der mit dem dekodierten zweiten Bildpaar verbunden ist.
  • Der Hardware-Prozessor 1302 von 13 kann unter Verwendung der Bildmerkmal-Ausgabekomponente 1360 den Befehl 1260 von 12 ausführen, um eine Ausgabe von Bildmerkmalen auf der Grundlage des Ähnlichkeitswerts zu erzeugen.
  • 14 zeigt ein Blockdiagramm eines Beispiel-Computersystems 1400, in dem verschiedene der hier beschriebenen Beispiele implementiert werden können. Das Computersystem 1400 umfasst einen Bus 1402 oder einen anderen Kommunikationsmechanismus zur Übermittlung von Informationen sowie einen oder mehrere Hardware-Prozessoren 1404, die mit dem Bus 1402 zur Verarbeitung von Informationen verbunden sind. Bei dem/den Hardware-Prozessor(en) 1404 kann es sich zum Beispiel um einen oder mehrere Allzweck-Mikroprozessoren handeln.
  • Das Computersystem 1400 umfasst auch einen Hauptspeicher 1406, wie z. B. einen Speicher mit wahlfreiem Zugriff (RAM), einen Cache und/oder andere dynamische Speichergeräte, die mit dem Bus 1402 verbunden sind, um Informationen und Anweisungen zu speichern, die vom Prozessor 1404 ausgeführt werden sollen. Der Hauptspeicher 1406 kann auch zum Speichern von temporären Variablen oder anderen Zwischeninformationen während der Ausführung von Befehlen verwendet werden, die vom Prozessor 1404 ausgeführt werden sollen. Wenn solche Befehle in Speichermedien gespeichert werden, auf die der Prozessor 1404 zugreifen kann, wird das Computersystem 1400 zu einer Spezialmaschine, die so angepasst ist, dass sie die in den Befehlen angegebenen Operationen ausführen kann.
  • Das Computersystem 1400 umfasst ferner einen Festwertspeicher (ROM) 1408 oder ein anderes statisches Speichergerät, das mit dem Bus 1402 verbunden ist, um statische Informationen und Anweisungen für den Prozessor 1404 zu speichern. Ein Speichergerät 1410, wie z. B. eine Magnetplatte, eine optische Platte oder ein USB-Stick (Flash-Laufwerk) usw., ist vorgesehen und mit dem Bus 1402 verbunden, um Informationen und Anweisungen zu speichern.
  • Das Computersystem 1400 kann über den Bus 1402 mit einer Anzeige 1412, z. B. einer Flüssigkristallanzeige (LCD) (oder einem Berührungsbildschirm), verbunden sein, um einem Computerbenutzer Informationen anzuzeigen. Ein Eingabegerät 1414, einschließlich alphanumerischer und anderer Tasten, ist mit dem Bus 1402 gekoppelt, um Informationen und Befehlsauswahlen an den Prozessor 1404 zu übermitteln. Eine andere Art von Benutzereingabegerät ist die Cursorsteuerung 1416, wie z. B. eine Maus, ein Trackball oder Cursor-Richtungstasten zur Übermittlung von Richtungsinformationen und Befehlsauswahlen an den Prozessor 1404 und zur Steuerung der Cursorbewegung auf der Anzeige 1412. In einigen Beispielen können die gleichen Richtungsinformationen und Befehlsauswahlen wie bei der Cursorsteuerung über den Empfang von Berührungen auf einem Touchscreen ohne Cursor implementiert werden.
  • Das Computersystem 1400 kann ein Benutzerschnittstellenmodul zur Implementierung einer grafischen Benutzeroberfläche enthalten, das in einem Massenspeichergerät als ausführbare Softwarecodes gespeichert werden kann, die von dem/den Computergerät(en) ausgeführt werden. Dieses und andere Module können beispielsweise Komponenten wie Softwarekomponenten, objektorientierte Softwarekomponenten, Klassenkomponenten und Aufgabenkomponenten, Prozesse, Funktionen, Attribute, Prozeduren, Unterprogramme, Segmente von Programmcode, Treiber, Firmware, Mikrocode, Schaltkreise, Daten, Datenbanken, Datenstrukturen, Tabellen, Arrays und Variablen umfassen.
  • Im Allgemeinen kann sich das Wort „Komponente“, „Engine“, „System“, „Datenbank“, „Datenspeicher“ und dergleichen, wie es hier verwendet wird, auf eine in Hardware oder Firmware verkörperte Logik oder auf eine Sammlung von Softwareanweisungen beziehen, die möglicherweise Ein- und Ausstiegspunkte haben und in einer Programmiersprache wie z. B. Java, C oder C++ geschrieben sind. Eine Softwarekomponente kann kompiliert und zu einem ausführbaren Programm verknüpft werden, in einer dynamischen Link-Bibliothek installiert werden oder in einer interpretierten Programmiersprache wie BASIC, Perl oder Python geschrieben sein. Es versteht sich von selbst, dass Softwarekomponenten von anderen Komponenten oder von sich selbst aus aufrufbar sein können und/oder als Reaktion auf erkannte Ereignisse oder Unterbrechungen aufgerufen werden können. Softwarekomponenten, die für die Ausführung auf Computergeräten konfiguriert sind, können auf einem computerlesbaren Medium, wie z. B. einer Compact Disc, einer digitalen Videodisc, einem Flash-Laufwerk, einer Magnetplatte oder einem anderen greifbaren Medium, oder als digitaler Download bereitgestellt werden (und können ursprünglich in einem komprimierten oder installierbaren Format gespeichert sein, das vor der Ausführung installiert, dekomprimiert oder entschlüsselt werden muss). Ein solcher Softwarecode kann teilweise oder vollständig in einem Speicher des ausführenden Computergeräts gespeichert werden, damit er von dem Computergerät ausgeführt werden kann. Softwareanweisungen können in Firmware, wie z. B. einem EPROM, eingebettet sein. Darüber hinaus können die Hardwarekomponenten aus verbundenen Logikeinheiten wie Gattern und Flipflops und/oder aus programmierbaren Einheiten wie programmierbaren Gatteranordnungen oder Prozessoren bestehen.
  • Das Computersystem 1400 kann die hier beschriebenen Techniken unter Verwendung von kundenspezifischer festverdrahteter Logik, einem oder mehreren ASICs oder FPGAs, Firmware und/oder Programmlogik implementieren, die in Kombination mit dem Computersystem das Computersystem 1400 zu einer Spezialmaschine macht oder programmiert. Einem Beispiel zufolge werden die hierin beschriebenen Techniken vom Computersystem 1400 als Reaktion auf den/die Prozessor(en) 1404 ausgeführt, der/die eine oder mehrere Sequenzen von einem oder mehreren im Hauptspeicher 1406 enthaltenen Befehlen ausführt/ausführen. Solche Anweisungen können in den Hauptspeicher 1406 von einem anderen Speichermedium, wie z. B. der Speichervorrichtung 1410, eingelesen werden. Die Ausführung der im Hauptspeicher 1406 enthaltenen Befehlssequenzen veranlasst den/die Prozessor(en) 1404, die hier beschriebenen Prozessschritte durchzuführen. In alternativen Beispielen können fest verdrahtete Schaltungen anstelle von oder in Kombination mit Softwareanweisungen verwendet werden.
  • Der Begriff „nichtflüchtige Medien“ und ähnliche Begriffe, wie sie hier verwendet werden, beziehen sich auf alle Medien, die Daten und/oder Befehle speichern, die den Betrieb einer Maschine in einer bestimmten Weise bewirken. Solche nichtflüchtigen Medien können nichtflüchtige Medien und/oder flüchtige Medien umfassen. Zu den nichtflüchtigen Medien gehören beispielsweise optische oder magnetische Festplatten, wie die Speichervorrichtung 1410. Zu den flüchtigen Medien gehören dynamische Speicher, wie der Hauptspeicher 1406. Zu den gängigen Formen nichtflüchtiger Medien gehören beispielsweise Disketten, flexible Platten, Festplatten, Solid-State-Laufwerke, Magnetbänder oder andere magnetische Datenspeichermedien, CD-ROMs, andere optische Datenspeichermedien, physische Medien mit Lochmustern, RAM, PROM und EPROM, FLASH-EPROM, NVRAM, andere Speicherchips oder -kassetten sowie deren vernetzte Versionen.
  • Nicht-transitorische Medien unterscheiden sich von Übertragungsmedien, können aber in Verbindung mit ihnen verwendet werden. Übertragungsmedien sind an der Übertragung von Informationen zwischen nicht-transitorischen Medien beteiligt. Zu den Übertragungsmedien gehören z. B. Koaxialkabel, Kupfer- und Glasfaserkabel, einschließlich der Drähte, aus denen der Bus 1402 besteht. Übertragungsmedien können auch in Form von Schall- oder Lichtwellen auftreten, wie sie bei der Datenkommunikation über Funk und Infrarot erzeugt werden.
  • Das Computersystem 1400 umfasst auch eine Kommunikationsschnittstelle 1418, die mit dem Bus 1402 verbunden ist. Die Kommunikationsschnittstelle 1418 stellt eine bidirektionale Datenkommunikationsverbindung zu einem oder mehreren Netzwerkverbindungen her, die mit einem oder mehreren lokalen Netzwerken verbunden sind. Bei der Kommunikationsschnittstelle 1418 kann es sich beispielsweise um eine ISDN-Karte (Integrated Services Digital Network), ein Kabelmodem, ein Satellitenmodem oder ein Modem handeln, um eine Datenkommunikationsverbindung zu einer entsprechenden Art von Telefonleitung herzustellen. Als weiteres Beispiel kann die Kommunikationsschnittstelle 1418 eine LAN-Karte sein, um eine Datenkommunikationsverbindung zu einem kompatiblen LAN (oder einer WAN-Komponente zur Kommunikation mit einem WAN) herzustellen. Es können auch drahtlose Verbindungen implementiert werden. In jeder dieser Implementierungen sendet und empfängt die Kommunikationsschnittstelle 1418 elektrische, elektromagnetische oder optische Signale, die digitale Datenströme übertragen, die verschiedene Arten von Informationen darstellen.
  • Eine Netzverbindung ermöglicht in der Regel die Datenkommunikation über ein oder mehrere Netze zu anderen Datengeräten. So kann eine Netzverbindung beispielsweise eine Verbindung über ein lokales Netz zu einem Host-Computer oder zu Datengeräten eines Internetdienstanbieters (ISP) herstellen. Der ISP wiederum bietet Datenkommunikationsdienste über das weltweite Paketdatenkommunikationsnetz an, das heute gemeinhin als „Internet“ bezeichnet wird. Sowohl das lokale Netz als auch das Internet verwenden elektrische, elektromagnetische oder optische Signale, die digitale Datenströme übertragen. Die Signale über die verschiedenen Netze und die Signale auf der Netzverbindung und über die Kommunikationsschnittstelle 1418, die die digitalen Daten zum und vom Computersystem 1400 übertragen, sind Beispiele für Übertragungsmedien.
  • Das Computersystem 1400 kann über das/die Netzwerk(e), die Netzwerkverbindung und die Kommunikationsschnittstelle 1418 Nachrichten senden und Daten, einschließlich Programmcode, empfangen. Im Internet-Beispiel könnte ein Server einen angeforderten Code für ein Anwendungsprogramm über das Internet, den ISP, das lokale Netzwerk und die Kommunikationsschnittstelle 1418 übertragen.
  • Der empfangene Code kann vom Prozessor 1404 bei seinem Empfang ausgeführt und/oder in der Speichervorrichtung 1410 oder einem anderen nichtflüchtigen Speicher zur späteren Ausführung gespeichert werden.
  • Jeder der in den vorangegangenen Abschnitten beschriebenen Prozesse, Methoden und Algorithmen kann in Code-Komponenten verkörpert und vollständig oder teilweise durch diese automatisiert werden, die von einem oder mehreren Computersystemen oder Computerprozessoren mit Computerhardware ausgeführt werden. Das eine oder die mehreren Computersysteme oder Computerprozessoren können auch so betrieben werden, dass sie die Ausführung der entsprechenden Vorgänge in einer „Cloud Computing“-Umgebung oder als „Software as a Service“ (SaaS) unterstützen. Die Prozesse und Algorithmen können teilweise oder vollständig in anwendungsspezifischen Schaltkreisen implementiert sein. Die verschiedenen oben beschriebenen Merkmale und Verfahren können unabhängig voneinander verwendet oder auf verschiedene Weise kombiniert werden. Verschiedene Kombinationen und Unterkombinationen sollen in den Anwendungsbereich dieser Offenbarung fallen, und bestimmte Verfahrens- oder Prozessblöcke können in einigen Implementierungen weggelassen werden. Die hier beschriebenen Methoden und Prozesse sind auch nicht auf eine bestimmte Reihenfolge beschränkt, und die damit verbundenen Blöcke oder Zustände können in anderen geeigneten Reihenfolgen, parallel oder auf andere Weise ausgeführt werden. Blöcke oder Zustände können zu den offengelegten Beispielen hinzugefügt oder daraus entfernt werden. Die Ausführung bestimmter Operationen oder Prozesse kann auf Computersysteme oder Computerprozessoren verteilt werden, die sich nicht nur in einer einzigen Maschine befinden, sondern über eine Reihe von Maschinen verteilt sind.
  • Wie hierin verwendet, kann eine Schaltung in jeder Form von Hardware, Software oder einer Kombination davon implementiert werden. Beispielsweise können ein oder mehrere Prozessoren, Controller, ASICs, PLAs, PALs, CPLDs, FPGAs, logische Komponenten, Software-Routinen oder andere Mechanismen implementiert werden, um eine Schaltung zu bilden. Bei der Implementierung können die verschiedenen hier beschriebenen Schaltungen als diskrete Schaltungen implementiert werden, oder die beschriebenen Funktionen und Merkmale können teilweise oder insgesamt auf eine oder mehrere Schaltungen aufgeteilt werden. Auch wenn verschiedene Merkmale oder Funktionselemente einzeln als separate Schaltungen beschrieben oder beansprucht werden, können diese Merkmale und Funktionen von einer oder mehreren gemeinsamen Schaltungen gemeinsam genutzt werden, und eine solche Beschreibung soll nicht voraussetzen oder implizieren, dass separate Schaltungen erforderlich sind, um diese Merkmale oder Funktionen zu implementieren. Wird eine Schaltung ganz oder teilweise durch Software implementiert, so kann diese Software so implementiert werden, dass sie mit einem Computer- oder Verarbeitungssystem arbeitet, das in der Lage ist, die in Bezug auf sie beschriebene Funktionalität auszuführen, wie z. B. das Computersystem 1400.
  • Wie hierin verwendet, kann der Begriff „oder“ sowohl im einschließenden als auch im ausschließenden Sinne verstanden werden. Darüber hinaus ist die Beschreibung von Ressourcen, Vorgängen oder Strukturen im Singular nicht so zu verstehen, dass der Plural ausgeschlossen wird. Bedingte Ausdrücke wie z. B. „kann“, „könnte“, „könnte“ oder „darf“ sollen im Allgemeinen vermitteln, dass bestimmte Beispiele bestimmte Merkmale, Elemente und/oder Schritte einschließen, während andere Beispiele diese nicht einschließen, es sei denn, es ist ausdrücklich etwas anderes angegeben oder im jeweiligen Kontext anders zu verstehen.
  • Die in diesem Dokument verwendeten Begriffe und Ausdrücke sowie deren Abwandlungen sind, sofern nicht ausdrücklich anders angegeben, nicht einschränkend, sondern offen zu verstehen. Adjektive wie „konventionell“, „traditionell“, „normal“, „Standard“, „bekannt“ und Begriffe mit ähnlicher Bedeutung sind nicht so zu verstehen, dass sie den beschriebenen Gegenstand auf einen bestimmten Zeitraum oder auf einen zu einem bestimmten Zeitpunkt verfügbaren Gegenstand beschränken, sondern sollten so verstanden werden, dass sie konventionelle, traditionelle, normale oder Standardtechnologien umfassen, die jetzt oder zu einem beliebigen Zeitpunkt in der Zukunft verfügbar oder bekannt sein können. Das Vorhandensein erweiternder Wörter und Ausdrücke wie „eine oder mehrere“, „mindestens“, „aber nicht beschränkt auf‟ oder ähnliche Ausdrücke in einigen Fällen ist nicht so zu verstehen, dass der engere Fall beabsichtigt oder erforderlich ist, wenn solche erweiternden Ausdrücke nicht vorhanden sind.

Claims (20)

  1. Ein Computergerät mit: einen Speicher; und einen oder mehrere Prozessoren, die so konfiguriert sind, dass sie im Speicher gespeicherte maschinenlesbare Anweisungen ausführen, um das Verfahren durchzuführen, das Folgendes umfasst: Trainieren eines Siamesischen AutoEncoders auf Bildpaaren, wobei das trainierte Siamesische Neuronale Netzwerk Ähnlichkeiten und Unähnlichkeiten in den Bildpaaren erkennt; Empfang eines zweiten Bildpaares; Bereitstellen jedes des zweiten Bildpaares für einen Kodierer und einen Dekodierer des trainierten Siam-AutoKodierers zur Erzeugung eines dekodierten zweiten Bildpaares; Initiieren einer Feinabstimmung einer Verlustfunktion mit dem dekodierten zweiten Bildpaar, wobei die Verlustfunktion eine adaptive Randverlustfunktion ist, die einen oberen Randwert und einen unteren Randwert enthält; Bestimmen eines Ähnlichkeitswertes, der mit dem dekodierten zweiten Bildpaar verbunden ist; und Erzeugen einer Ausgabe von Bildmerkmalen basierend auf dem Ähnlichkeitswert.
  2. Das Computergerät nach Anspruch 1, wobei die Verlustfunktion dem trainierten Siam-AutoEncoder zugeordnet ist.
  3. Das Computergerät nach Anspruch 1, wobei das Training des Siam'schen AutoEncoders auf den Bildpaaren eine Basislinie von Verlusten nach Stabilisierung des Siam'schen AutoEncoders ableitet.
  4. Das Computergerät nach Anspruch 1, das außerdem Folgendes umfasst: Übertragen des trainierten Siam'schen AutoEncoders an eine zweite Rechenvorrichtung, wobei das zweite Bildpaar von einer Schnittstelle der zweiten Rechenvorrichtung empfangen wird.
  5. Das Computergerät nach Anspruch 1, wobei der Kodierer ferner einen latenten Raum umfasst, und wobei das Verfahren ferner umfasst: Extraktion des latenten Raums des Encoders; Clustering des extrahierten latenten Raums; und Bestimmung einer Anomalie aus dem geclusterten latenten Raum.
  6. Das Computergerät nach Anspruch 5, wobei die Ausgabe der Bildmerkmale die ermittelte Anomalie aus dem geclusterten latenten Raum verwendet.
  7. Das Computergerät nach Anspruch 5, wobei das Training des Siam-AutoEncoders auf Bildpaaren eine Bildtrennungsabstandsberechnung verwendet.
  8. Das Computergerät nach Anspruch 1, wobei die Verlustfunktion, die während des Trainings des Siam'schen AutoEncoders auf Bildpaaren verwendet wird, dynamisch eine Margin-Alternativrichtungsmethode (AdM) über Epochen hinweg berechnet.
  9. Ein computer-implementiertes Verfahren, das Folgendes umfasst: Trainieren eines Siamesischen AutoEncoders auf Bildpaaren, wobei das trainierte Siamesische Neuronale Netzwerk Ähnlichkeiten und Unähnlichkeiten in den Bildpaaren erkennt; Empfang eines zweiten Bildpaares; Bereitstellen jedes des zweiten Bildpaares für einen Kodierer und einen Dekodierer des trainierten Siam-AutoKodierers zur Erzeugung eines dekodierten zweiten Bildpaares; Initiieren einer Feinabstimmung einer Verlustfunktion mit dem dekodierten zweiten Bildpaar, wobei die Verlustfunktion eine adaptive Randverlustfunktion ist, die einen oberen Randwert und einen unteren Randwert enthält; Bestimmen eines Ähnlichkeitswertes, der mit dem dekodierten zweiten Bildpaar verbunden ist; und Erzeugen einer Ausgabe von Bildmerkmalen basierend auf dem Ähnlichkeitswert.
  10. Computerimplementiertes Verfahren nach Anspruch 9, wobei die Verlustfunktion mit dem trainierten Siam-AutoEncoder verbunden ist.
  11. Computerimplementiertes Verfahren nach Anspruch 9, wobei das Training des Siam-AutoEncoders an den Bildpaaren eine Basislinie von Verlusten nach Stabilisierung des Siam-AutoEncoders ableitet.
  12. Das computerimplementierte Verfahren nach Anspruch 9 umfasst ferner: Übertragen des trainierten Siam'schen AutoEncoders an eine zweite Rechenvorrichtung, wobei das zweite Bildpaar von einer Schnittstelle der zweiten Rechenvorrichtung empfangen wird.
  13. Computerimplementiertes Verfahren nach Anspruch 9, wobei der Kodierer ferner einen latenten Raum umfasst, und wobei das Verfahren ferner umfasst: Extraktion des latenten Raums des Encoders; Clustering des extrahierten latenten Raums; und Bestimmung einer Anomalie aus dem geclusterten latenten Raum.
  14. Computerimplementiertes Verfahren nach Anspruch 13, wobei die Ausgabe der Bildmerkmale die ermittelte Anomalie aus dem geclusterten latenten Raum verwendet.
  15. Computerimplementiertes Verfahren nach Anspruch 13, bei dem das Training des Siam-AutoEncoders auf Bildpaaren eine Bildtrennungsabstandsberechnung verwendet.
  16. Computerimplementiertes Verfahren nach Anspruch 9, wobei die Verlustfunktion, die während des Trainings des Siam'schen AutoEncoders auf Bildpaaren verwendet wird, dynamisch eine marginale alternative Richtungsmethode (AdM) über Epochen hinweg berechnet.
  17. Ein computer-implementiertes Verfahren, das Folgendes umfasst: Trainieren eines Siamesischen AutoEncoders auf Bildpaaren, wobei das trainierte Siamesische Neuronale Netzwerk Ähnlichkeiten und Unähnlichkeiten in den Bildpaaren erkennt; Empfang eines zweiten Bildpaares; Bereitstellen jedes des zweiten Bildpaares für einen Kodierer und einen Dekodierer des trainierten Siam-AutoKodierers zur Erzeugung eines dekodierten zweiten Bildpaares; Initiieren einer Feinabstimmung einer Verlustfunktion mit dem dekodierten zweiten Bildpaar, wobei die Verlustfunktion eine adaptive Randverlustfunktion ist, die einen oberen Randwert und einen unteren Randwert enthält; Bestimmen eines Ähnlichkeitswertes, der mit dem dekodierten zweiten Bildpaar verbunden ist; und Erzeugen einer Ausgabe von Bildmerkmalen basierend auf dem Ähnlichkeitswert.
  18. Computerimplementiertes Verfahren nach Anspruch 9, wobei die Verlustfunktion mit dem trainierten Siam-AutoEncoder verbunden ist, der dynamisch eine marginale alternative Richtungsmethode (AdM) über Epochen hinweg berechnet.
  19. Computerimplementiertes Verfahren nach Anspruch 9, wobei das Training des Siam-AutoEncoders an den Bildpaaren eine Basislinie von Verlusten nach Stabilisierung des Siam-AutoEncoders ableitet.
  20. Das computerimplementierte Verfahren nach Anspruch 9 umfasst ferner: Übertragen des trainierten Siam'schen AutoEncoders an eine zweite Rechenvorrichtung, wobei das zweite Bildpaar von einer Schnittstelle der zweiten Rechenvorrichtung empfangen wird.
DE102022126665.6A 2022-03-29 2022-10-13 Ermöglichung der bedeutung von merkmalen mit hilfe von siamesischenautoencodern für eine effektive erkennung von bildveränderungen Pending DE102022126665A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/707,612 2022-03-29
US17/707,612 US20230316710A1 (en) 2022-03-29 2022-03-29 Enabling feature importance using siamese autoencoders for effective image change detection

Publications (2)

Publication Number Publication Date
DE102022126665A1 true DE102022126665A1 (de) 2023-10-05
DE102022126665A9 DE102022126665A9 (de) 2023-12-21

Family

ID=88019213

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022126665.6A Pending DE102022126665A1 (de) 2022-03-29 2022-10-13 Ermöglichung der bedeutung von merkmalen mit hilfe von siamesischenautoencodern für eine effektive erkennung von bildveränderungen

Country Status (3)

Country Link
US (1) US20230316710A1 (de)
CN (1) CN116934670A (de)
DE (1) DE102022126665A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117291844A (zh) * 2023-11-24 2023-12-26 长沙微妙医疗科技有限公司 一种医学图像去噪方法、系统、设备以及介质
CN117291914B (zh) * 2023-11-24 2024-02-09 南昌江铃华翔汽车零部件有限公司 汽车零部件缺陷检测方法、系统、计算机及存储介质

Also Published As

Publication number Publication date
US20230316710A1 (en) 2023-10-05
CN116934670A (zh) 2023-10-24
DE102022126665A9 (de) 2023-12-21

Similar Documents

Publication Publication Date Title
DE102022126665A1 (de) Ermöglichung der bedeutung von merkmalen mit hilfe von siamesischenautoencodern für eine effektive erkennung von bildveränderungen
DE202017007517U1 (de) Aggregatmerkmale für maschinelles Lernen
DE112020000537T5 (de) Verbesserung von fairness durch bestärkendes lernen
DE112019000739T5 (de) Zeitreihengewinnung zum analysieren und korrigieren eines systemstatus
DE112021006232T5 (de) Proaktive anomalieerkennung
DE112017008151T5 (de) Schaltungen geringer tiefe als quantenklassifikatoren
DE102021207269A1 (de) Verfahren und system zum erlernen von perturbationsmengen beim maschinenlernen
DE112022002858T5 (de) Bildbasierte anomalieerkennung basierend auf einer maschinellen lernanalyse eines objekts
Ameur et al. A comparative study of nature inspired optimization algorithms on multilevel thresholding image segmentation
DE112021005678T5 (de) Normieren von OCT-Bilddaten
DE102021213118A1 (de) Verfahren und ein system für black-box-universalangriffe mit geringer abfrage
DE112021003761T5 (de) Prädiktive modelle mit zerlegbaren hierarchischen ebenen, die konfiguriert werden, um interpretierbare resultate zu erzeugen
DE112021004174T5 (de) Föderiertes lernen zur anomalieerkennung
DE102023109072A1 (de) Datenaugmentierung für domänenverallgemeinerung
DE102023103798A1 (de) Automatische fehlervorhersage in rechenzentren
DE112022002157T5 (de) Dynamische microservice-interkommunikations-konfiguration
DE112015005501T5 (de) Alterungsprofilbildungsmaschine für physikalische Systeme
DE112021000251T5 (de) Verfahren zum auswählen von datensätzen zum aktualisieren eines moduls mit künstlicher intelligenz
DE102021210721A1 (de) Verfahren und system zum adversarischen training unter verwendung metagelernter initialisierung
DE112021006640T5 (de) Automatisiertes maschinelles mehrebenen- und mehrziel-lernen
DE112021001418T5 (de) System zur fehlerbehebung bei leistungsereignissen
DE102023113679A1 (de) Erkennung von anomalien und drifts in dezentralen lernumgebungen
DE102023114257A1 (de) Unsupervisierte Segmentierung eines univariaten Zeitreihendatensatzes unter Verwendung von Motifs und Shapelets
DE102023207515A1 (de) Systeme und Verfahren für expertengeführte Semiüberwachung mit Label-Propagation für maschinelle Lernmodelle
DE102022108622A1 (de) WAHRUNG DER PRIVATSPHÄRE UND DEZENTRALISIERTE ERKENNUNG VON GLOBALEN AUSREIßERN