


Ein kostengünstiger Algorithmus verbessert die Robustheit der visuellen Klassifizierung erheblich! Chinesisches Team der Universität Sydney veröffentlicht neue EdgeNet-Methode
Zeigte eine hervorragende Genauigkeit in tiefen neuronalen Netzen (DNNs). Allerdings sind sie anfällig für zusätzlichen Lärm, also gegnerische Angriffe. Frühere Untersuchungen gingen davon aus, dass diese Schwachstelle auf die übermäßige Abhängigkeit hochpräziser DNNs von unbedeutenden und uneingeschränkten Merkmalen wie Textur und Hintergrund zurückzuführen sein könnte. Neue Untersuchungen zeigen jedoch, dass diese Schwachstelle nichts mit den spezifischen Eigenschaften hochpräziser DNNs zu tun hat, die irrelevanten Faktoren wie Gewichtung und Kontext übermäßig vertrauen.
Auf der jüngsten akademischen Konferenz AAAI 2024 enthüllten Forscher der Universität Sydney, dass „aus Bildern extrahierte Kanteninformationen hochrelevante und robuste Merkmale in Bezug auf Form und Hintergrund liefern können“.
Link zum Papier: https://ojs.aaai.org/index.php/AAAI/article/view/28110
Diese Funktionen helfen dem vorab trainierten tiefen Netzwerk, seine gegnerische Robustheit zu verbessern. , ohne die Genauigkeit bei klaren Bildern zu beeinträchtigen.
Forscher schlagen ein leichtes und anpassungsfähiges EdgeNet vor, das nahtlos in bestehende vorab trainierte tiefe Netzwerke integriert werden kann, einschließlich Vision Transformers (ViTs), der neuesten Generation fortschrittlicher Modelle für die visuelle Klassifizierungsfamilie.
EdgeNet ist eine Kantenextraktionstechnik, die Kanten verarbeitet, die aus sauberen natürlichen Bildern oder verrauschten gegnerischen Bildern extrahiert wurden, und in die mittlere Schicht eines vorab trainierten und eingefrorenen Backbone-Tiefennetzwerks eingefügt werden kann. Dieses tiefe Netzwerk verfügt über hervorragende Backbone-Robustheitsfunktionen und kann Funktionen mit umfangreichen semantischen Informationen extrahieren. Durch die Einbindung von EdgeNet in ein solches Netzwerk kann man die Vorteile seines hochwertigen Backbone-Deep-Netzwerks nutzen
Es ist zu beachten, dass dieser Ansatz nur minimale zusätzliche Kosten mit sich bringt: Die Verwendung herkömmlicher Kantenerkennungsalgorithmen wie der im Artikel erwähnte Die Kosten für den Erwerb dieser Kanten (Canny Edge Detector) sind im Vergleich zu den Kosten für die Inferenz für tiefe Netzwerke winzig, während die Kosten für das Training von EdgeNet mit den Kosten für die Feinabstimmung des Backbone-Netzwerks mithilfe von Techniken wie Adaptern vergleichbar sind.
EdgeNet-Architektur
Um Kanteninformationen in Bildern in das vorab trainierte Backbone-Netzwerk einzufügen, stellt der Autor ein Seitenzweignetzwerk namens EdgeNet vor. Dieses leichte Plug-and-Play-Sicherheitennetzwerk kann nahtlos in bestehende vorab trainierte tiefe Netzwerke integriert werden, einschließlich hochmoderner Modelle wie ViTs.
Anhand der aus dem Eingabebild extrahierten Kanteninformationen kann EdgeNet+ eine Reihe robuster Funktionen generieren. Dieser Prozess erzeugt ein robustes Merkmal, das selektiv in das vorab trainierte tiefe Backbone-Netzwerk eingefügt werden kann, um es in den Zwischenschichten des tiefen Netzwerks einzufrieren.
Durch die Integration dieser robusten Funktionen kann die Fähigkeit des Netzwerks, sich gegen gegnerische Störungen zu verteidigen, verbessert werden. Da das Backbone-Netzwerk eingefroren ist und die Injektion neuer Funktionen selektiv erfolgt, kann gleichzeitig die Genauigkeit des vorab trainierten Netzwerks bei der Identifizierung ungestörter klarer Bilder aufrechterhalten werden.
Wie in der Abbildung gezeigt, fügt der Autor basierend auf den ursprünglichen Bausteinen in einem bestimmten Intervall N neue EdgeNet-Bausteine
ein. Die Ausgabe der neuen Zwischenschicht kann durch die folgende Formel dargestellt werden:
EdgeNet-Bausteine
Um eine selektive Merkmalsextraktion und selektive Merkmalinjektion zu erreichen, nehmen diese EdgeNet-Bausteine eine „Sandwich“-Struktur an: Jede Nullfaltung ( Nullfaltung) wird vor und nach dem Block hinzugefügt, um die Eingabe und Ausgabe zu steuern. Zwischen diesen beiden Nullfaltungen befindet sich ein ViT-Block mit zufälliger Initialisierung und derselben Architektur wie das Backbone-Netzwerk
Bei Null-Input fungiert als Filter, um für das Optimierungsziel relevante Informationen zu extrahieren; bei Null-Output fungiert es als Filter, um die Informationen zu bestimmen, die in das Backbone integriert werden sollen. Darüber hinaus wird durch die Nullinitialisierung sichergestellt, dass der Informationsfluss innerhalb des Backbones unbeeinträchtigt bleibt. Dadurch wird die anschließende Feinabstimmung von EdgeNet effizienter.
Trainingsziel
Während des Trainings von EdgeNet ist das vorab trainierte ViT-Backbone-Netzwerk mit Ausnahme des Klassifizierungskopfes eingefroren und wird nicht aktualisiert. Das Optimierungsziel konzentriert sich nur auf das für Edge-Features eingeführte EdgeNet-Netzwerk und die Klassifizierungsköpfe innerhalb des Backbone-Netzwerks. Hier verwendet der Autor ein sehr vereinfachtes gemeinsames Optimierungsziel, um die Effizienz des Trainings sicherzustellen:
In Formel 9 ist α das Gewicht der Genauigkeitsverlustfunktion und β das Gewicht der Robustheitsverlustfunktion. Durch Anpassen der Größe von α und β kann die Ausgewogenheit der EdgeNet-Trainingsziele fein abgestimmt werden, um die Robustheit zu verbessern, ohne die Genauigkeit wesentlich zu verlieren.
Experimentelle Ergebnisse
Die Autoren testeten die Robustheit von zwei Hauptkategorien im ImageNet-Datensatz.
Die erste Kategorie ist die Robustheit gegenüber gegnerischen Angriffen, einschließlich White-Box-Angriffen und Black-Box-Angriffen;
Die zweite Kategorie ist die Robustheit gegenüber einigen häufigen Störungen, einschließlich der natürlichen Störungen in ImageNet-A Natural Adversarial Beispiele, Daten außerhalb der Verteilung in ImageNet-R und häufige Beschädigungen in ImageNet-C.
Der Autor visualisierte auch die unter verschiedenen Störungen extrahierten Kanteninformationen.
Netzwerkskalen- und Leistungstests
Im experimentellen Teil testete der Autor zunächst die Klassifizierungsleistung und den Rechenaufwand von EdgeNet in verschiedenen Maßstäben (Tabelle 1). Nach umfassender Betrachtung der Klassifizierungsleistung und des Rechenaufwands stellten sie fest, dass die Konfiguration von #Intervals = 3 die optimale Einstellung war.
In dieser Konfiguration erreicht EdgeNet im Vergleich zu Basismodellen erhebliche Genauigkeits- und Robustheitsverbesserungen. Es erreicht einen ausgewogenen Kompromiss zwischen Klassifizierungsleistung, Rechenanforderungen und Robustheit.
Diese Konfiguration erzielt erhebliche Fortschritte bei der Klarheit, Genauigkeit und Robustheit und behält gleichzeitig eine angemessene Recheneffizienz bei.
Vergleich von Genauigkeit und Robustheit
Die Autoren verglichen ihr vorgeschlagenes EdgeNet mit 5 verschiedenen Kategorien von SOTA-Methoden (Tabelle 2). Zu diesen Methoden gehören CNNs, die auf natürlichen Bildern trainiert wurden, robuste CNNs, auf natürlichen Bildern trainierte ViTs, robuste ViTs und robuste, fein abgestimmte ViTs.
Zu den berücksichtigten Metriken gehören die Genauigkeit bei gegnerischen Angriffen (FGSM und PGD), die Genauigkeit bei ImageNet-A und die Genauigkeit bei ImageNet-R.
Zusätzlich wird auch der mittlere Fehler (mCE) von ImageNet-C gemeldet, wobei niedrigere Werte auf eine bessere Leistung hinweisen. Experimentelle Ergebnisse zeigen, dass EdgeNet angesichts von FGSM- und PGD-Angriffen eine überlegene Leistung zeigt und gleichzeitig mit früheren SOTA-Methoden für den sauberen ImageNet-1K-Datensatz und seine Varianten gleichwertig ist.
Darüber hinaus führte der Autor auch Black-Box-Angriffsexperimente durch (Tabelle 3). Experimentelle Ergebnisse zeigen, dass EdgeNet auch Black-Box-Angriffen sehr effektiv widerstehen kann.
Fazit
In dieser Arbeit schlug der Autor eine neue Methode namens EdgeNet vor, die die Robustheit tiefer neuronaler Netze (insbesondere ViTs) verbessern kann, indem sie Kanteninformationen nutzt, die aus Sexbildern extrahiert werden.
Dies ist ein leichtes Modul, das nahtlos in bestehende Netzwerke integriert werden kann und die Widerstandsfähigkeit gegen Gegner effektiv verbessern kann. Experimente haben gezeigt, dass EdgeNet effizient ist – es bringt nur minimalen zusätzlichen Rechenaufwand mit sich.
Darüber hinaus verfügt EdgeNet über eine breite Anwendbarkeit auf verschiedene robuste Benchmarks. Dies macht es zu einer bemerkenswerten Entwicklung auf diesem Gebiet.
Darüber hinaus bestätigen experimentelle Ergebnisse, dass EdgeNet gegnerischen Angriffen wirksam widerstehen und die Genauigkeit sauberer Bilder aufrechterhalten kann, was das Potenzial von Kanteninformationen als robustes und relevantes Merkmal bei visuellen Klassifizierungsaufgaben unterstreicht.
Es ist erwähnenswert, dass die Robustheit von EdgeNet nicht auf gegnerische Angriffe beschränkt ist, sondern auch Angriffe abdeckt, die natürliche gegnerische Beispiele (ImageNet-A), Daten außerhalb der Verteilung (ImageNet-R) und allgemeine Zerstörung (ImageNet-C) umfassen .
Diese umfassendere Anwendung unterstreicht die Vielseitigkeit von EdgeNet und zeigt sein Potenzial als umfassende Lösung für die vielfältigen Herausforderungen bei visuellen Klassifizierungsaufgaben.
Das obige ist der detaillierte Inhalt vonEin kostengünstiger Algorithmus verbessert die Robustheit der visuellen Klassifizierung erheblich! Chinesisches Team der Universität Sydney veröffentlicht neue EdgeNet-Methode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Das Char -Array speichert Zeichensequenzen in der C -Sprache und wird als char Array_name [Größe] deklariert. Das Zugriffselement wird durch den Einweisoperator weitergeleitet, und das Element endet mit dem Null -Terminator '\ 0', der den Endpunkt der Zeichenfolge darstellt. Die C -Sprache bietet eine Vielzahl von String -Manipulationsfunktionen wie Strlen (), Strcpy (), Strcat () und strcmp ().

Eine Strategie zur Vermeidung von Fehlern, die in C -Switch -Anweisungen standardmäßig verursacht wurden: Verwenden Sie die Umgebungen anstelle von Konstanten, wodurch der Wert der Fallerklärung auf ein gültiges Mitglied des Enum beschränkt wird. Verwenden Sie in der letzten Fallanweisung Falsch, um das Programm weiterhin den folgenden Code auszuführen. Fügen Sie für Switch -Anweisungen ohne Falle immer eine Standardanweisung für die Fehlerbehandlung hinzu oder geben Sie das Standardverhalten an.

Es gibt keine integrierte Summenfunktion in der C-Sprache, daher muss sie selbst geschrieben werden. Die Summe kann erreicht werden, indem das Array durchquert und Elemente akkumulieren: Schleifenversion: Die Summe wird für die Schleifen- und Arraylänge berechnet. Zeigerversion: Verwenden Sie Zeiger, um auf Array-Elemente zu verweisen, und eine effiziente Summierung wird durch Selbststillstandszeiger erzielt. Dynamisch Array -Array -Version zuweisen: Zuordnen Sie Arrays dynamisch und verwalten Sie selbst den Speicher selbst, um sicherzustellen, dass der zugewiesene Speicher befreit wird, um Speicherlecks zu verhindern.

In der C -Sprache können Sie verwenden !! x, aber es verwendet nur zwei boolesche Conversions, und es ist prägnanter und effizienter, X direkt zu verwenden.

Die Standardanweisung ist in der Switch -Fallanweisung von entscheidender Bedeutung, da sie einen Standardverarbeitungspfad enthält, der sicherstellt, dass ein Codeblock ausgeführt wird, wenn der variable Wert an keine Fallanweisung übereinstimmt. Dies verhindert unerwartetes Verhalten oder Fehler und verbessert die Robustheit des Codes.

Der logische Nichtoperator (!) Hat die Priorität neben Klammern, was bedeutet, dass er den meisten anderen Betreibern in Ausdrücken vorausgeht. Das Verständnis der Priorität erfordert nicht nur ein Auswendiglernen, sondern auch das Verständnis der Logik und der potenziellen Fallstricke, um nicht nachweisbare Fehler in komplexen Ausdrücken zu vermeiden. Das Hinzufügen von Klammern kann die Ausdrucksabsicht klären, die Klarheit und Wartbarkeit der Code verbessern und unerwartetes Verhalten verhindern.

! X Understanding! X ist ein logischer Nicht-Operator in der C-Sprache. Es booleschen den Wert von x, dh wahre Änderungen zu falschen, falschen Änderungen an True. Aber seien Sie sich bewusst, dass Wahrheit und Falschheit in C eher durch numerische Werte als durch Boolesche Typen dargestellt werden, ungleich Null wird als wahr angesehen und nur 0 wird als falsch angesehen. Daher handelt es sich um negative Zahlen wie positive Zahlen und gilt als wahr.

Der Wertbereich von char in C -Sprache hängt von der Implementierungsmethode ab: Signiertes Zeichen: -128 bis 127 Unsigned char: 0 bis 255 Der spezifische Bereich wird von Computerarchitektur- und Compiler -Optionen betroffen. Standardmäßig ist char auf einen signierten Typ eingestellt.
