-
GEBIET DER TECHNIK
-
Die vorliegende Offenbarung betrifft das Durchführen eines gegnerischen Angriffs auf einen Klassifizierer eines neuronalen Netzes und insbesondere auf Bayes'scher Optimierung basierende abfrageeffiziente gegnerische Black-Box-Angriffe.
-
HINTERGRUND
-
Gegnerische Black-Box-Angriffe sind ein aktives Forschungsgebiet. Die nachfolgenden drei Referenzen beschreiben jeweils Ansätze zum Herstellen von gegnerischen Black-Box-Beispielen. Ein Ansatz unter Verwendung natürlicher Evolutionsstrategien findet sich in Ilyas, A., Engstrom, L., Athalye, A. & Lin, J. (2018, Juli). Black-box Adversarial Attacks with Limited Queries and Information, veröffentlicht in International Conference on Machine Learning. ar Xiv:1804.08598. Diese Referenz definiert drei realistische Bedrohungsmodelle, die viele Klassifizierer aus der realen Welt genauer charakterisieren: abfragebegrenzte Umgebung, Teilinformationsumgebung und Nur-Label-Umgebung. Die Referenz entwickelt neue Angriffe, die Klassifizierer unter diesen restriktiveren Bedrohungsmodellen täuschen, wo frühere Verfahren unpraktisch oder ineffektiv wären. Die Referenz demonstriert, dass unsere Verfahren gegen einen ImageNet-Klassifizierer unter unseren vorgeschlagenen Bedrohungsmodellen effektiv sind. Die Referenz demonstriert auch einen gezielten Black-Box-Angriff gegen einen kommerziellen Klassifizierer, der die Herausforderungen des eingeschränkten Abfragezugriffs, Teilinformationen und anderer praktischer Probleme überwindet, um die Google Cloud Vision API zu brechen.
-
Ein Ansatz, der den Gradienten mit Gradienten-Priors schätzt und dann einen Gradientenabstieg durchführt, findet sich in Ilyas, A., Engstrom, L. & Madry, A. (2018). Prior Convictions: Black-Box Adversarial Attacks with Bandits and Priors. arXiv preprint arXiv:1807.07978. Diese Referenz untersucht das Problem der Generierung von gegnerischen Beispielen in einer Black-Box-Umgebung, in der nur ein Loss-Oracle-Zugriff auf ein Modell verfügbar ist. Die Referenz führt ein Framework ein, das einen Großteil der bestehenden Arbeiten zu Black-Box-Angriffen konzeptionell vereinheitlicht und demonstriert, dass die derzeitigen Verfahren nach dem Stand der Technik im natürlichen Sinne optimal sind. Trotz dieser Optimalität zeigt die Referenz, wie Black-Box-Angriffe verbessert werden können, indem ein neues Element in das Problem gebracht wird: Gradienten-Priors. Die Referenz gibt einen auf Bandit-Optimierung basierenden Algorithmus an, der es ermöglicht, derartige Priors nahtlos zu integrieren, und identifiziert und bezieht explizit zwei Beispiele ein.
-
Ein Ansatz, der eine submodulare Optimierung verwendet, kann in Moon, S., An, G. & Song, H. O. (2019) gefunden werden. Parsimonious Black-Box Adversarial Attacks via Efficient Combinatorial Optimization. arXiv preprint arXiv:1905.06635. Die Referenz schlägt ein effizientes diskretes Surrogat für das Optimierungsproblem vor, das keine Schätzung des Gradienten erfordert und folglich frei von den zu tunenden Update-Hyperparametem erster Ordnung wird. Die Experimente mit Cifar-10 und ImageNet zeigen die Black-Box-Angriffsleistung mit einer signifikanten Reduzierung der erforderlichen Abfragen im Vergleich zu einer Reihe kürzlich vorgeschlagener Verfahren.
-
KURZFASSUNG
-
In einem oder mehreren veranschaulichenden Beispielen beinhaltet ein Verfahren zum Durchführen eines gegnerischen Angriffs auf einen Klassifizierer eines neuronalen Netzes das Konstruieren eines Datensatzes von Eingabe-Ausgabe-Paaren, wobei jedes Eingabeelement der Eingabe-Ausgabe-Paare zufällig aus einem Suchraum ausgewählt wird, wobei jedes Ausgabeelement der Eingabe-Ausgabe-Paare eine Vorhersageausgabe des Klassifizierers eines neuronalen Netzes für das entsprechende Eingabeelement anzeigt; Nutzen eines Gaußprozesses auf dem Datensatz von Eingabe-Ausgabe-Paaren, um eine Erfassungsfunktion zu optimieren, um ein bestes Störungseingabeelement aus dem Datensatz zu finden; Upsampeln des besten Störungseingabeelements, um ein upgesampeltes bestes Eingabeelement zu generieren; Hinzufügen des upgesampelten besten Eingabeelements zu einer ursprünglichen Eingabe, um eine Kandidateneingabe zu generieren; Abfragen des Klassifizierers eines neuronalen Netzes, um eine Klassifizierervorhersage für die Kandidateneingabe zu bestimmen; Berechnen eines Scores für die Klassifizierervorhersage; und Akzeptieren der Kandidateneingabe als einen erfolgreichen gegnerischen Angriff in Reaktion darauf, dass die Klassifizierervorhersage falsch ist.
-
Das Verfahren kann ferner das Zurückweisen der Kandidateneingabe in Reaktion darauf, dass die Klassifizierervorhersage korrekt ist, einschließen. Das Verfahren kann ferner in Reaktion auf das Zurückweisen der Kandidateneingabe das Hinzufügen der Kandidateneingabe und der Klassifiziererausgabe zum Datensatz und Fortsetzen der Iteration durch den Datensatz, um Kandidateneingaben zu generieren, bis eine vordefinierte Anzahl von Abfragen des Datensatzes verstrichen ist, einschließen.
-
Beim Verfahren kann der Klassifizierer eines neuronalen Netzes ein Bildklassifizierer sein, die ursprüngliche Eingabe kann eine Bildeingabe sein, die Störung kann eine Bildstörung sein, und die Kandidateneingabe kann eine pixelweise Summe der Bildeingabe und der Bildstörung sein, wobei jedes Pixel der Bildstörung kleiner als eine vordefinierte Größe ist.
-
Beim Verfahren kann das Störungseingabeelement eine kleinere Dimension als das Originalbild aufweisen. Beim Verfahren darf die vordefinierte Größe der Bildstörung nicht größer als ein bestimmter Wert entweder in einer L2-Norm oder in einer L ∞-Norm sein.
-
Beim Verfahren kann der Klassifizierer eines neuronalen Netzes ein Audioklassifizierer sein, die ursprüngliche Eingabe kann eine Audioeingabe sein, die Störung kann eine Audiostörung sein, die Kandidateneingabe kann eine Summe aus der Audioeingabe und der Audiostörung sein, und die Norm für den Klassifizierer kann die menschliche Hörwahrnehmung messen.
-
Beim Verfahren kann das Upsampling unter Verwendung eines Nächster-Nachbar-Upsamplings durchgeführt werden. Beim Verfahren kann der Klassifizierer Vorhersagen für jedes von einer Mehrzahl von möglichen Klassen-Labels für die Eingabe in den Klassifizierer ausgeben. Oder der Klassifizierer kann nur die wahrscheinlichste vorhergesagte Klasse der Mehrzahl möglicher Klassen-Labels für die Eingabe in den Klassifizierer ausgeben.
-
In einem oder mehreren veranschaulichenden Beispielen beinhaltet ein Rechensystem zum Durchführen eines gegnerischen Angriffs auf einen Klassifizierer eines neuronalen Netzes einen Speicher, der Anweisungen von Bayes'schen Optimierungs- und Dimensionalitätsreduktionsalgorithmen eines Softwareprogramms speichert; und einen Prozessor, der programmiert ist, um die Anweisungen auszuführen, um Operationen durchzuführen, einschließlich zum Konstruieren eines Datensatzes von Eingabe-Ausgabe-Paaren, wobei jedes Eingabeelement der Eingabe-Ausgabe-Paare zufällig aus einem Suchraum ausgewählt wird, wobei jedes Ausgabeelement der Eingabe-Ausgabe-Paare eine Vorhersageausgabe des Klassifizierers eines neuronalen Netzes für das entsprechende Eingabeelement anzeigt; Nutzen eines Gaußprozesses auf dem Datensatz von Eingabe-Ausgabe-Paaren, um eine Erfassungsfunktion zu optimieren, um ein bestes Störungseingabeelement aus dem Datensatz zu finden; Upsampeln des besten Störungseingabeelements, um ein upgesampeltes bestes Eingabeelement zu generieren; Hinzufügen des upgesampelten besten Eingabeelements zu einer ursprünglichen Eingabe, um eine Kandidateneingabe zu generieren; Abfragen des Klassifizierers eines neuronalen Netzes, um eine Klassifizierervorhersage für die Kandidateneingabe zu bestimmen; Berechnen eines Scores für die Klassifizierervorhersage; in Reaktion darauf, dass die Klassifizierervorhersage falsch ist, Akzeptieren der Kandidateneingabe als einen erfolgreichen gegnerischen Angriff; und in Reaktion darauf, dass die Klassifizierervorhersage korrekt ist, Zurückweisen der Kandidateneingabe, Hinzufügen der Kandidateneingabe und der Klassifiziererausgabe zum Datensatz; und Fortsetzen der Iteration durch den Datensatz, um Kandidateneingaben zu generieren, bis eine vordefinierte Anzahl von Abfragen des Datensatzes verstrichen ist.
-
Im System kann der Klassifizierer eines neuronalen Netzes ein Bildklassifizierer sein, die ursprüngliche Eingabe kann eine Bildeingabe sein, die Störung kann eine Bildstörung sein, und die Kandidateneingabe kann eine pixelweise Summe der Bildeingabe und der Bildstörung sein, wobei jedes Pixel der Bildstörung kleiner als eine vordefinierte Größe sein kann.
-
Im System kann das Störungseingabeelement eine kleinere Dimension als das Originalbild aufweisen. Im System darf die vordefinierte Größe der Bildstörung nicht größer als ein bestimmter Wert entweder in einer L2-Norm oder in einer L ∞-Norm sein.
-
Im System kann der Klassifizierer eines neuronalen Netzes ein Audioklassifizierer sein, die ursprüngliche Eingabe kann eine Audioeingabe sein, die Störung kann eine Audiostörung sein, die Kandidateneingabe kann eine Summe aus der Audioeingabe und der Audiostörung sein, und die Norm für den Klassifizierer kann die menschliche Hörwahrnehmung messen.
-
Im System kann das Upsampling unter Verwendung eines Nächster-Nachbar-Upsamplings durchgeführt werden. Im System kann der Klassifizierer Vorhersagen für jedes von einer Mehrzahl von möglichen Klassen-Labels für die Eingabe in den Klassifizierer ausgeben. Oder der Klassifizierer kann nur die wahrscheinlichste vorhergesagte Klasse der Mehrzahl möglicher Klassen-Labels für die Eingabe in den Klassifizierer ausgeben.
-
In einem oder mehreren veranschaulichenden Beispielen beinhaltet ein nicht-transitorisches computerlesbares Medium Anweisungen zum Durchführen eines gegnerischen Angriffs auf einen Klassifizierer eines neuronalen Netzes, die, wenn sie durch einen Prozessor ausgeführt werden, den Prozessor veranlassen zum Konstruieren eines Datensatzes von Eingabe-Ausgabe-Paaren, wobei jedes Eingabeelement der Eingabe-Ausgabe-Paare zufällig aus einem Suchraum ausgewählt wird, wobei jedes Ausgabeelement der Eingabe-Ausgabe-Paare eine Vorhersageausgabe des Klassifizierers eines neuronalen Netzes für das entsprechende Eingabeelement anzeigt; Nutzen eines Gaußprozesses auf dem Datensatz von Eingabe-Ausgabe-Paaren, um eine Erfassungsfunktion zu optimieren, um ein bestes Störungseingabeelement aus dem Datensatz zu finden; Upsampeln des besten Störungseingabeelements, um ein upgesampeltes bestes Eingabeelement zu generieren; Hinzufügen des upgesampelten besten Eingabeelements zu einer ursprünglichen Eingabe, um eine Kandidateneingabe zu generieren; Abfragen des Klassifizierers eines neuronalen Netzes, um eine Klassifizierervorhersage für die Kandidateneingabe zu bestimmen; Berechnen eines Scores für die Klassifizierervorhersage; in Reaktion darauf, dass die Klassifizierervorhersage falsch ist, Akzeptieren der Kandidateneingabe als einen erfolgreichen gegnerischen Angriff; und in Reaktion darauf, dass die Klassifizierervorhersage korrekt ist, Zurückweisen der Kandidateneingabe, Hinzufügen der Kandidateneingabe und der Klassifiziererausgabe zum Datensatz; und Fortsetzen der Iteration durch den Datensatz, um Kandidateneingaben zu generieren, bis eine vordefinierte Anzahl von Abfragen des Datensatzes verstrichen ist.
-
Für das Medium kann der Klassifizierer eines neuronalen Netzes ein Bildklassifizierer sein, die ursprüngliche Eingabe kann eine Bildeingabe sein, die Störung kann eine Bildstörung sein, und die Kandidateneingabe kann eine pixelweise Summe der Bildeingabe und der Bildstörung sein, wobei jedes Pixel der Bildstörung kleiner als eine vordefinierte Größe sein kann.
-
Für das Medium kann der Klassifizierer eines neuronalen Netzes ein Audioklassifizierer sein, die ursprüngliche Eingabe kann eine Audioeingabe sein, die Störung kann eine Audiostörung sein, die Kandidateneingabe kann eine Summe aus der Audioeingabe und der Audiostörung sein, und die Norm für den Klassifizierer kann die menschliche Hörwahrnehmung messen.
-
Figurenliste
-
- 1 ist ein Beispiel für ein Nächster-Nachbar-Upsampling;
- 2 ist ein beispielhaftes Datenflussdiagramm zum Durchführen von auf Bayes'scher Optimierung basierenden abfrageeffizienten gegnerischen Black-Box-Angriffen; und
- 3 ist eine schematische Darstellung einer Rechenplattform, die genutzt werden kann, um die auf Bayes'scher Optimierung basierenden abfrageeffizienten gegnerischen Black-Box-Angriffe zu implementieren.
-
DETAILLIERTE BESCHREIBUNG
-
Ausführungsformen der vorliegenden Offenbarung werden hierin beschrieben. Es ist jedoch zu verstehen, dass die offenbarten Ausführungsformen lediglich Beispiele sind und andere Ausführungsformen unterschiedliche und alternative Formen annehmen können. Die Figuren sind nicht notwendigerweise maßstabsgetreu; einige Merkmale könnten übertrieben oder minimiert sein, um Details von bestimmten Komponenten zu zeigen. Deshalb sind hierin offenbarte spezielle strukturelle und funktionelle Details nicht als einschränkend auszulegen, sondern lediglich als eine repräsentative Basis, um Fachleuten auf dem Gebiet den verschiedenartigen Einsatz der Ausführungsformen zu lehren. Wie Durchschnittsfachleute auf dem Gebiet verstehen werden, können verschiedene, unter Bezugnahme auf eine beliebige der Figuren veranschaulichte und beschriebene Merkmale mit in einer oder mehreren anderen Figuren veranschaulichten Merkmalen kombiniert werden, um Ausführungsformen zu erzeugen, die nicht explizit veranschaulicht oder beschrieben sind. Die Kombinationen von veranschaulichten Merkmalen stellen repräsentative Ausführungsformen für typische Anwendungen bereit. Verschiedene Kombinationen und Modifikationen der Merkmale, die mit den Lehren dieser Offenbarung übereinstimmen, könnten jedoch für bestimmte Anwendungen oder Implementierungen gewünscht sein.
-
Diese Offenbarung betrifft ein Verfahren zum gegnerischen Angriff auf einen Klassifizierer eines tiefen neuronalen Netzes. Das heißt, die Offenbarung betrifft ein Verfahren, das ein vorhandenes Bild nimmt und eine kleine Störung des Bilds findet, die für einen Menschen schwer oder unmöglich zu detektieren ist (d. h. das Grundwahrheits-Label bleibt gleich), aber das neuronale Netz veranlasst, das Bild falsch zu klassifizieren. Der Begriff „klein“ wird normalerweise formalisiert, indem verlangt wird, dass die Größe der Störung in einer Norm nicht größer als ein bestimmter Wert ∈ ist; L2-Norm und L∞-Norm sind üblich.
-
Gegnerische Angriffe fallen in eine von zwei Kategorien: White-Box-Angriffe, bei denen vollständige Kenntnisse des Gegners über die Architektur und die Parameter des neuronalen Netzes angenommen werden; und Black-Box-Angriffe, bei denen kein Zugriff auf derartige Informationen verfügbar ist. Diese Offenbarung betrifft insbesondere die Black-Box-Kategorie, die als wesentlich schwieriger angesehen wird.
-
In der Black-Box-Angriffsumgebung können Informationen über das Modell nur durch Abfragen erhalten werden, das heißt, indem dem Modell eine Eingabe gegeben und seine Vorhersage entweder als einzelne Vorhersage über eine Klasse oder als Wahrscheinlichkeitsverteilung über Klassen erhalten wird. Wenn durch Abfragen mehr Informationen über das Modell gewonnen werden, nimmt die Angriffsgenauigkeit im Allgemeinen zu; in einem realen Angriffsszenario ist es jedoch unrealistisch anzunehmen, dass ein Modell so oft abgefragt werden kann, wie man möchte. Daher wird bei der Bewertung von Black-Box-Angriffen häufig angenommen, dass es eine maximale Anzahl zulässiger Abfragen pro Angriff geben wird, das sogenannte Abfragebudget. Die Aufgabe besteht darin, die Angriffsgenauigkeit für ein gegebenes Abfragebudget zu maximieren. Es sei jedoch zu beachten, dass das Beschränken auf eine gegebene Anzahl von Abfragen eine Konvention ist, die in Experimenten verwendet wird, um die Erfolgsrate von Angriffen in einer Umgebung mit begrenzten Abfragen zu vergleichen, aber eine feste Grenze ist in der Praxis möglicherweise nicht unbedingt erforderlich: Man kann nach einer bestimmten Anzahl von Abfragen stoppen oder man kann (abgesehen von einer Einschränkung von außen) weiter abfragen, solange man dies wünscht.
-
Das Verfahren in dieser Offenbarung soll im Vergleich zu den oben erwähnten Verfahren eine viel höhere Angriffsgenauigkeit erreichen, insbesondere wenn das Abfragebudget sehr klein ist (unter 1000 oder sogar unter 100). Die offenbarten Ansätze können dementsprechend verwendet werden, um nach Schwachstellen für bereitstellbare Deep-Learning-Modelle zu suchen. Als eine andere Anwendung können die offenbarten Ansätze verwendet werden, um Daten für ein gegnerisches Training tiefer neuronaler Netze zu generieren, um die Robustheit des Modells zu verbessern. Somit stellen die hierin offenbarten Aspekte des Rechensystems, des computerlesbaren Mediums und des Verfahrens eine nicht abstrakte technologische Verbesserung gegenüber bekannten Ansätzen zum Identifizieren von Modellschwächen sowie zum Adressieren dieser Schwächen bereit.
-
Dazu werden zwei Haupttechniken verwendet: Bayes'sche Optimierung und Dimensionalitätsreduktion. Die Bayes'sche Optimierung ist ein gradientenfreies Optimierungsverfahren, das in Fällen verwendet wird, in denen die Anzahl der Abfragen an die Zielfunktion gering gehalten werden soll. Bei der Bayes'schen Optimierung gibt es eine Zielfunktion ƒ: ℝn → ℝ und den Wunsch, argmin ƒ(x) zu lösen. Dies erfolgt mithilfe eines Gaußprozesses, der x∈X eine Wahrscheinlichkeitsverteilung über Funktionen vom Suchraum X zu ℝ definiert, und einer Erfassungsfunktion A, die den potenziellen Nutzen des Hinzufügens eines Eingabe-Ausgabe-Paars (x, y) zum Datensatz misst.
-
Die Bayes'sche Optimierung beginnt mit einem Datensatz D = {(x1, y1), ..., (xd,yd)} und einem Gaußprozess GP mit D als Prior. Dann wird die Iteration wie folgt durchgeführt:
Für t = d + 1,...:
- 1)
- 2)
- 3)
- 4)
- 5) Gaußprozess GP mit dem neuen Datenpunkt aktualisieren
-
Dieser Prozess wird fortgesetzt, bis das Abfragebudget von ƒ erreicht ist, die Zeit abläuft oder der Funktionsminimierer x* adäquat wird.
-
Die Geschwindigkeit und Genauigkeit der Bayes'schen Optimierung hängt stark von der Dimension n von ƒ ab; sie wird normalerweise verwendet, wenn n ziemlich klein ist, oft weniger als 10. Die Dimensionalität von Eingaben für selbst kleine neuronale Netze erreicht jedoch häufig Zehn- oder Hunderttausende. Damit die Bayes'sche Optimierung nützlich ist, ist es daher wünschenswert, ein Verfahren zum Reduzieren der Dimension der Eingaben zu haben.
-
Diese Dimensionsreduktion kann mittels Kacheln der Störung durchgeführt werden. Beispielsweise angenommen, es wird versucht, eine Störung eines 6 × 6-Bilds zu finden. Falls jede Dimension unabhängig behandelt wird, handelt es sich um ein 36-dimensionales Optimierungsproblem; falls jedoch stattdessen ein 3x3-Bild gefunden wird (ein 9-dimensionales Problem), kann ein Nächster-Nachbar-Upsampling durchgeführt werden, um eine 6 × 6-Störung zu produzieren. 1 veranschaulicht ein Beispiel 100 für ein Nächster-Nachbar-Upsampling. Eine derartige Upsampling-Operation kann als eine Funktion U bezeichnet werden.
-
2 veranschaulicht ein beispielhaftes Datenflussdiagramm zum Durchführen von auf Bayes'scher Optimierung basierenden abfrageeffizienten gegnerischen Black-Box-Angriffen. Unter Bezugnahme auf
2 wird angenommen, dass N ein Bildklassifizierer für ein Klassifizierungsproblem der K-Klasse ist und (x, y) ein Bild-Label-Paar ist. Angenommen, ein Angriff x wird versucht. Die Ausgabe des neuronalen Netzes N(x) ist ein K-dimensionaler Vektor, und die vorhergesagte Klasse ist der Index des größten Werts von N(x), gegeben durch argmax N(x)
k. Es kann angenommen werden, dass x durch N korrekt klassifiziert ist, das heißt, es k=1,...,K wird angenommen, dass
-
Das Ziel ist es, eine Störung zu finden, die dazu führt, dass N x falsch klassifiziert, wobei jedes Pixel der Störung kleiner als ∈ ist und das Abfragebudget q beträgt. Insbesondere ist es erwünscht, eine Störung δ* eines kleineren Bilds zu finden, die upgesampelt und zu x hinzugefügt wird, um ein Kandidatenbild zu erstellen, wobei N dann das Kandidatenbild falsch klassifiziert. Mathematisch bedeutet dies, dass die Absicht besteht, ein δ zu finden, so dass | U(δ*) |∞ ≤ ∈ und y # argmaxN(x + U(δ*))k, wobei U eine Upsampling-Funktion ist (z.B. ist ein Beispiel davon oben k=1,...,K unter Bezugnahme auf 1 gezeigt).
-
Zu diesem Zweck wird eine Bayes'sche Optimierung mit einem Suchraum X = {δ : |δ|_∞ ≤ ∈} und einer Zielfunktion wie folgt durchgeführt:
-
In Bezug auf die Intuition, die dahinter steht, warum eine derartige Funktion verwendet wird, sei zu beachten, dass dies die Differenz zwischen dem Wert des wahren Labels y und dem höchsten anderen ist, oder 0, falls dieser Wert negativ ist. Falls ƒ(δ) = 0 für ein δ ist, dann ist x + U(δ) ein erfolgreicher gegnerischer Angriff auf N, da dies genau dann geschehen kann, wenn die Ausgabe des Netzes N(x + U(δ)) auf dem wahren Klassen-Label y kleiner als ein anderes Element der Ausgabe ist.
-
Zu Beginn wird ein Datensatz D = {(δ1,ℓ1), ..., (δd, ℓd)} gebildet, wobei jedes δi zufällig vom Inneren des Suchraums X ausgewählt ist und ℓi = ƒ(δi). Daraus wird ein Gaußprozess GP von D gebildet. Dann wird die Iteration wie folgt durchgeführt:
Für t = d + 1, ...,q:
- 1)
- 2)
- 3)
- 4) Andernfalls Datensatz und Gaußprozess aktualisieren:
- a. D ← D U (δt,ℓt) \\ Eingabe-Ausgabe-Paar zum Datensatz hinzufügen
- b. Gaußprozess mit (δt,ℓt) aktualisieren
-
Der Angriff war mit t Abfragen an das Modell erfolgreich, falls die Unterbrechung während Schritt 3 der Iteration t durchgeführt wird; andernfalls war der Angriff nicht erfolgreich.
-
Der obige Algorithmus kann auf nachfolgende Weise variiert werden. In einer Variation kann die anfängliche Auswahl des Datensatzes D zur Bildung eines Priors unter Verwendung einer beliebigen Verteilung (Gauß, uniforme usw.) oder sogar deterministisch (z.B. mit Sobol-Sequenzen) erfolgen.
-
Als eine andere Variation, obgleich die obige Beschreibung annimmt, dass x ein Bild ist und dass das Bild in der L∞-Norm begrenzt ist, kann dieses Verfahren in anderen Domänen gleich gut funktionieren, wenn eine geeignete Norm zum Messen der Störungsgröße und ein geeignetes Dimensionalitätsreduktionsschema gegeben sind. Beispielsweise kann der beschriebene Ansatz in einen Klassifizierer für Audio mit einer Norm übersetzt werden, die die menschliche Hörwahrnehmung misst.
-
Als weitere Variation erfolgt die Dimensionalitätsreduktion hier durch Durchführung einer Störung der Dimension, die kleiner als das Originalbild in der Bayes'schen Optimierungsschleife ist, und anschließendem Upsampling, um die tatsächlich betrachtete Störung zu erhalten. Das Upsampling kann unter Verwendung von Interpolationstechniken in einigen Variationen durchgeführt werden, von denen einige Beispiele lineare Interpolation, bilineare Interpolation, trilineare Interpolation, bikubische Interpolation usw. einschließen. Andere Techniken zum Reduzieren der Dimensionalität sind ebenfalls möglich, z.B. durch Trainieren eines Autoencoders, um eine niedrigdimensionale Repräsentation von Störungen zu produzieren.
-
Als noch weitere Variation nimmt insbesondere dieser Algorithmus an, dass der Klassifizierer N Vorhersagen für jeden möglichen Klassen-Label ausgibt. Dies wird als Soft-Label-Fall (z.B. Score-basiert) bezeichnet, im Gegensatz zum Hard-Label-Fall (z.B. entscheidungsbasiert), bei dem das Netz nur die vorhergesagte Klasse ausgibt (d. h. nur den Index der größten Klasse der Soft-Label-Ausgabe). Das Verfahren kann für den Hard-Label-Fall unter Verwendung der Zielfunktion ƒ(δ) = 1 angepasst werden, falls N die Klasse y vorhersagt, und andernfalls 0.
-
Die Bayes'schen Optimierungs- und Dimensionalitätsreduktionsalgorithmen und/oder -methoden einer oder mehrerer Ausführungsformen werden unter Verwendung einer Rechenplattform implementiert, wie in 3 gezeigt. Die Rechenplattform 300 kann einen Speicher 302, einen Prozessor 304 und eine nichtflüchtige Speichereinrichtung 306 einschließen. Der Prozessor 304 kann eine oder mehrere Vorrichtungen einschließen, die aus Hochleistungsrechner(HPC, High-Performance Computing)-Systemen ausgewählt sind, einschließlich Hochleistungskerne, Mikroprozessoren, Mikrocontroller, digitale Signalprozessoren, Mikrocomputer, zentrale Verarbeitungseinheiten, feldprogrammierbare Gate-Arrays, programmierbare Logikvorrichtungen, Zustandsmaschinen, Logikschaltungen, analoge Schaltungen, digitale Schaltungen oder beliebige andere Vorrichtungen, die (analoge oder digitale) Signale basierend auf computerausführbaren Anweisungen manipulieren, die sich im Speicher 302 befinden. Der Speicher 302 kann eine einzelne Speichervorrichtung oder eine Anzahl von Speichervorrichtungen einschließen, einschließlich Direktzugriffsspeicher (RAM, Random Access Memory), flüchtigen Speicher, nichtflüchtigen Speicher, statischen Direktzugriffsspeicher (SRAM, Static Random Access Memory), dynamischen Direktzugriffsspeicher (DRAM, Dynamic Random Access Memory), Flash-Speicher, Cache-Speicher oder eine beliebige andere Vorrichtung, die in der Lage ist, Informationen zu speichern, ohne jedoch darauf beschränkt zu sein. Die nichtflüchtige Speichereinrichtung 306 kann eine oder mehrere persistente Datenspeicherungsvorrichtungen, wie beispielsweise eine Festplatte, ein optisches Laufwerk, ein Bandlaufwerk, eine nichtflüchtige Solid-State-Vorrichtung, eine Cloud-Speicherung oder eine beliebige andere Vorrichtung, die in der Lage ist, Informationen persistent zu speichern, einschließen.
-
Der Prozessor 304 kann konfiguriert sein, um in den Speicher 302 einzulesen und computerausführbare Anweisungen auszuführen, die sich im Softwaremodul 308 der nichtflüchtigen Speichereinrichtung 306 befinden und Bayes'sche Optimierungs- und Dimensionalitätsreduktionsalgorithmen und/oder -methoden einer oder mehrerer Ausführungsformen verkörpern. Das Softwaremodul 308 kann Betriebssysteme und Anwendungen einschließen. Die Softwaremodule 308 können von Computerprogrammen kompiliert oder interpretiert werden, die unter Verwendung einer Vielzahl von Programmiersprachen und/oder Technologien erstellt werden, einschließlich, ohne darauf beschränkt werden, und entweder allein oder in Kombination, Java, C, C++, C#, Objective C, Fortran, Pascal, Java Script, Python, Perl und PL/SQL.
-
Bei der Ausführung durch den Prozessor 304 können die computerausführbaren Anweisungen des Softwaremoduls 308 dazu führen, dass die Rechenplattform 300 einen oder mehrere der hierin offenbarten Bayes'schen Optimierungs- und Dimensionalitätsreduktionsalgorithmen und/oder -methoden implementiert. Die nichtflüchtige Speichereinrichtung 306 kann auch Daten 310 einschließen, die die Funktionen, Merkmale und Prozesse der hierin beschriebenen einen oder mehreren Ausführungsformen unterstützen.
-
Der Programmcode, der die hierin beschriebenen Algorithmen und/oder Methoden verkörpert, kann einzeln oder kollektiv als ein Programmprodukt in einer Vielzahl verschiedener Formen verteilt werden. Der Programmcode kann unter Verwendung eines computerlesbaren Speicherungsmediums mit darauf befindlichen computerlesbaren Programmanweisungen verteilt werden, um einen Prozessor zu veranlassen, Aspekte einer oder mehrerer Ausführungsformen auszuführen. Computerlesbare Speicherungsmedien, die inherent nicht-transitorisch sind, können flüchtige und nichtflüchtige sowie entfernbare und nicht-entfernbare konkrete Medien einschließen, die in einem beliebigen Verfahren oder einer beliebigen Technologie zum Speichern von Informationen, wie beispielsweise computerlesbaren Anweisungen, Datenstrukturen, Programmmodulen oder anderen Daten, implementiert sind. Computerlesbare Speichermedien können ferner RAM, ROM, löschbaren programmierbaren Nur-Lese-Speicher (EPROM, Erasable Programmable Read-Only Memory), elektrisch löschbaren programmierbaren Nur-Lese-Speicher (EEPROM, Electrically Erasable Programmable Read-Only Memory), Flash-Speicher oder andere Solid-State-Speichertechnologie, tragbare Compact Disc Read-Only Memory (CD-ROM) oder andere optische Speichereinrichtung, Magnetkassetten, Magnetbänder, Magnetplattenspeichereinrichtung oder andere Magnetspeicherungsvorrichtungen oder ein beliebiges anderes Medium, das zum Speichern der gewünschten Informationen verwendet werden kann und das von einem Computer gelesen werden kann, einschließen. Computerlesbare Programmanweisungen können von einem computerlesbaren Speicherungsmedium oder über ein Netz auf einen externen Computer oder eine externe Speicherungsvorrichtung auf einen Computer, einen anderen Typ einer programmierbaren Datenverarbeitungsvorrichtung oder eine andere Vorrichtung heruntergeladen werden.
-
Computerlesbare Programmanweisungen, die in einem computerlesbaren Medium gespeichert sind, können verwendet werden, um einen Computer, andere Typen programmierbarer Datenverarbeitungsvorrichtungen oder andere Vorrichtungen anzuweisen, auf eine bestimmte Weise zu funktionieren, so dass die im computerlesbaren Medium gespeicherten Anweisungen einen Herstellungsartikel produzieren, einschließlich Anweisungen, die die in den Flussdiagrammen oder Darstellungen spezifizierten Funktionen, Handlungen und/oder Operationen implementieren. In bestimmten alternativen Ausführungsformen können die in den Flussdiagrammen und Darstellungen spezifizierten Funktionen, Handlungen und/oder Operationen in Übereinstimmung mit einer oder mehreren Ausführungsformen neu angeordnet, seriell verarbeitet und/oder gleichzeitig verarbeitet werden. Darüber hinaus kann jedes der Flussdiagramme und/oder Darstellungen mehr oder weniger Knoten oder Blöcke einschließen als diejenigen, die in Übereinstimmung mit einer oder mehreren Ausführungsformen veranschaulicht sind.
-
Obgleich oben beispielhafte Ausführungsformen beschrieben werden, ist nicht beabsichtigt, dass diese Ausführungsformen alle von den Ansprüchen umfassten möglichen Formen beschreiben sollen. Die in der Beschreibung verwendeten Worte sind beschreibende und nicht beschränkende Worte, und es versteht sich, dass verschiedene Änderungen vorgenommen werden können, ohne vom Wesen und Schutzbereich der Offenbarung abzuweichen. Wie zuvor beschrieben, können die Merkmale verschiedener Ausführungsformen zur Bildung weiterer Ausführungsformen der Erfindung, die nicht ausdrücklich beschrieben oder veranschaulicht sind, kombiniert werden. Obgleich verschiedene Ausführungsformen beschrieben worden sein könnten, die Vorteile bieten oder gegenüber anderen Ausführungsformen oder Implementierungen des Stands der Technik in Bezug auf eine oder mehrere erwünschte Eigenschaften bevorzugt sind, erkennen Durchschnittsfachleute auf dem Gebiet, dass auf eines oder mehrere Merkmale oder Eigenschaften verzichtet werden kann, um die erwünschten Gesamtsystemattribute zu erzielen, die von der speziellen Anwendung und Implementierung abhängen. Diese Attribute können Kosten, Festigkeit, Haltbarkeit, Lebenszykluskosten, Marktfähigkeit, Aussehen, Packung, Größe, Servicefreundlichkeit, Gewicht, Herstellbarkeit, Montagefreundlichkeit usw. umfassen, ohne jedoch darauf beschränkt zu sein. In dem Maße, in dem Ausführungsformen in Bezug auf eine oder mehrere Eigenschaften als weniger wünschenswert als andere Ausführungsformen oder Implementierungen des Stands der Technik beschrieben werden, liegen diese Ausführungsformen nicht außerhalb des Schutzbereichs der Offenbarung und können für bestimmte Anwendungen wünschenswert sein.