Eine sicherere Gemeinschaft stärken: Die Geschichte hinter unserem NSFW-Modell in Chingari | von Pankaj Sharma | Juni 2023

0
28


Als Social-Media-Plattform mit über 175 Millionen Downloads muss Chingari NSFW-Inhalte für mehrere Anwendungsfälle wie Profil-Thumbnails, kurze Movies und auch Stay-Videoräume moderieren

Da die Verwendung unangemessener Bilder auf Miniaturansichten das Benutzererlebnis und die Markensicherheit der Plattform beeinträchtigt, haben sich Unternehmen darauf verlassen, dass Personen die Benutzerinhalte manuell moderieren. Dieser Weblog soll dazu beitragen, dass Benutzer ein sichereres und respektvolleres Interneterlebnis haben, in dem vulgäre Inhalte nicht aus dem Kontext gerissen werden. Wir werden uns darauf konzentrieren, wie wir es geschafft haben, diesen Prozess durch ML zu automatisieren. Wir werden darüber sprechen, wie wir es für NSFW-Inhalte in Bildern gemacht haben.

Was wir als sicher oder unsicher betrachten, variiert von Plattform zu Plattform. Hier sind einige Richtlinien, die wir zur Definition der Kriterien berücksichtigen.

Wann ist ein Miniaturbild unsicher?

  1. Pornografie: Jedes Bild mit expliziter Pornografie; Menschen, die Intercourse haben; Jegliches Materials, das die explizite Beschreibung oder Darstellung sexueller Organe oder Aktivitäten enthält und dazu dient, sexuelle Erregung zu stimulieren, gilt als unsicher.

2. Die Particular person sieht nackt aus. Hierzu gehört auch fleischfarbene Kleidung und die Täuschung, dass die Particular person nackt ist. Wenn die Particular person kurz davor steht, sich auszuziehen, gilt dies ebenfalls als unsicher.

3. Das Motiv sieht sinnlich aus. Das Miniaturbild sieht nicht nackt aus, aber das Motiv ist spärlich bekleidet. Der Schwerpunkt liegt auf einem Körperteil, der typischerweise als sexuell attraktiv angesehen wird (z. B. Brust, Beine, Schritt, Po). Ebenso erotische Mode-Fotoshootings (dh Schwerpunkt auf Sinnlichkeit und sexueller Attraktivität).

4. Das Motiv oder andere Objekte im Miniaturbild sehen aus wie Genitalien. Bei unsachgemäßer Analyse gilt ein Miniaturbild, das etwas enthält, das wie ein Genital aussieht, als unsicher.

5. Oben ohne für das weibliche Geschlecht

Wann ist ein Miniaturbild sicher?

1. Umarmungen und Küsse, die entweder implizit sind oder nicht missverstanden werden können, sind ebenfalls in der Secure-Klasse enthalten.

2. Badeanzüge gelten als sicher, sofern der Kontext nicht auf den Körper der Particular person, die sie trägt, gerichtet ist.

4. Oben ohne für das männliche Geschlecht

5. Das Miniaturbild enthält alle realen Objekte außer Sexspielzeug

| Dataset          | In-house        | Nudenet    | Complete     |
| ------------- | ------------ |-------- | -------- |
| Secure | 284174 | 222455 | 506629 |
| NSFW | - | 430517 | 430517 |
| Complete | 284174 | 652972 | 937146 |

Tabelle 2.1: Zugdatenkonfiguration

| Dataset          | In-house        | Large-NSFW    | Complete     |
| ------------- | ------------ |-------- | -------- |
| Secure | 7983 | - | 7983 |
| NSFW | - | 9935 | 9935 |
| Complete | 7983 | 9935 | 17918 |

Tabelle 2.2: Testdatenkonfiguration

Um Zugdaten für diese Studie zu sammeln, haben wir einen eigenen Zugdatensatz erstellt, der in den folgenden Abschnitten als interne Daten bezeichnet wird. Es gibt insgesamt 284174 Miniaturansichten für die Sicherheitsklasse, die das Gastunternehmen für diese Studie aus seinem Katalog bereitgestellt hat. Die entsprechende Trainings- und Testkonfiguration finden Sie in den Tabellen 2.1 und 2.2

Um unseren Datensatz zu ergänzen, haben wir kombiniert NudeNet-Datensatz¹ Und Riesiger NSFW-Datensatz² um mehr Beispiele der suggestiven Klasse zu haben.

Die aus dem riesigen NSFW-Datensatz für die NSFW-Klasse ausgewählten Kategorien wurden über die Kategorien Körperteile_Unterkörper_Arsch, Körperteile_Unterkörper_Genitalien_Penis, Körperteile_Oberkörperbrüste, Körperteile_Unterkörper_Genitalien_Vulva und Geschlecht ausgeglichen.

2.1 Datenvorbereitung

NudeNet-Datensatz¹ Und Riesiger NSFW-Datensatz² enthalten nur die URL für die suggestiven Bilder, daher haben wir auch diejenigen entfernt, die von der Originalseite gesperrt/gelöscht wurden. Schließlich haben wir beschädigte Daten entfernt – Bilder, die nicht aus der Quelle entfernt wurden, deren Dateien jedoch nicht das richtige Format hatten.

Wir verfolgten Feinabstimmungs- und Transferlernansätze.

3.1 Großmodelle

Für groß angelegte Schulungen haben wir das Modell HRNet⁷ ausgewählt.

Bestehende hochmoderne Frameworks kodieren zunächst das Eingabebild als Darstellung mit niedriger Auflösung über ein Subnetzwerk, das durch die Verbindung von Faltungen mit hoher und niedriger Auflösung gebildet wird in Serie (z. B. ResNet, VGGNet) und stellt dann die hochauflösende Darstellung aus der codierten Darstellung mit niedriger Auflösung wieder her. Stattdessen behält Excessive-Decision Community (HRNet)⁷ hochauflösende Darstellungen während des gesamten Prozesses bei. Es gibt zwei Hauptmerkmale: (i) Verbinden der Faltungsströme mit hoher und niedriger Auflösung parallel zu; (ii) Wiederholter Austausch der Informationen über Resolutionen hinweg.

Abb. 3.1 HRNet-Architektur

3.1.1 Schulung

Wir verwendeten w32 Architektur von HRNet zur Feinabstimmung. Wir begannen mit vorab trainierten Gewichten, die auf Imagenet trainiert wurden. Wir führen Fusionsskalen auf 32, 64, 128, 256 Downsampling-Ebenen durch und verwenden globales Durchschnitts-Pooling. Als Verlustfunktion verwenden wir einen linearen Klassifizierungskopf mit binärem Kreuzentropieverlust. Für Experimente haben wir das Repository mmclassification⁸ verwendet.

3.1.2 Datenerweiterung

Als Techniken zur Bildvergrößerung haben wir die zufällige Drehung von hyperlinks nach rechts und die Größenänderung gefolgt von einem Zuschneiden in mehreren Maßstäben angewendet. Wir haben keinen zufälligen Zuschnitt verwendet, da der suggestive Teil des Bildes manchmal mit einem kleinen Teil des Miniaturbilds zusammenhängt.

3.1.2 Lernratenplan

Wir verwenden den SGD-Optimierer mit einer Abklingrate von 0,001. Wir haben einen CosineAnnealing-Lernratenplaner verwendet.

Wir haben den F-2-Rating verfolgt, um das beste Modell im Validierungssatz zu ermitteln

3.2 Clipbasierte Modelle

Abb. 3.2: (1) Durch die Feinabstimmung wird der Bildencoder des CLIP mit einem trainierbaren Klassifikator aktualisiert. (2) Zero-Shot-CLIP-Kontrastvorhersage mit handgefertigten Eingabeaufforderungen zum Testzeitpunkt, ohne Parameter in den Zugdomänen zu aktualisieren.
Abb. 3.3: Unser Ansatz des Transferlernens, bei dem Bildkodiererparameter eingefroren und nur Klassifikatorparameter trainiert werden
Abb. 3.4: Architektur des Klassifikatorkopfes

Im Zero-Shot-Ansatz in Abb. 3.2(1) besteht CLIP aus zwei Teilen: einem Bildencoder fclip und einem Sprachmodell gclip. CLIP klassifiziert die Bildmerkmale basierend auf der Ähnlichkeit zwischen der Einbettung einer Textaufforderung p, z. B. „Hund“ oder „einem Foto einer Klassenbezeichnung“, anstatt zunächst den von Grund auf neu trainierten Klassifizierungskopf zu verwenden.

Im Feinabstimmungsansatz Abb. 3.2(2) wird der Clip-Bild-Encoder nach der Initialisierung mit Clip-Funktionen trainiert. Dieses Coaching kann rechenintensiv sein.

Zusammenfassend lässt sich sagen, dass der Zero-Shot-Ansatz zwar rechnerisch effektiv, jedoch weniger aussagekräftig ist und die Feinabstimmung das Wissen über Quelldatensätze nutzen kann, aber rechenintensiv ist und möglicherweise gute Darstellungen, die während des Vortrainings erlernt wurden, verzerren kann.

Im Switch-Lernansatz Abb. 3.3 optimieren wir nur den Klassifikator. Es ist ein MLP mit 4 linearen Schichten. Alle Aktivierungsfunktionen vor der letzten dichten Schicht sind ReLU, und die letzte dichte Schicht hat ein Sigmoid, daher ist die Punktzahl ∈ [0, 1) as shown in fig 3.4.

3.2.1 Clip modified architectures

In the advent of improving the results, we try two different variations in order to improve region of focus of the network.

  1. We generate binary mask based features using DinoV2⁵ and generate clip image encoder features for them. During training we use concatenated mask features and image features. Idea here was to subtract the background area from person area in feature space.
  2. We train a yolov5 model for detecting nsfw organs. We annotated ~800 instances for classes as shown in fig 3.4. We then ensemble detector model with Clip such that we can increase the recall of the model.
Fig 3.4: Annotated data distribution

3.2.2 Clip Training

For training we use an Adam optimizer with learning rate decay approach. We train features for 50 epochs with a binary cross entropy loss. To reduce bias towards single class, we add a balanced batch sampler during training.

We use VIT-L/14@336px clip model for feature extraction.During feature extraction state we replace random crop augmentation with resize with padding to maintain the context. We perform L2 normalisation of features. This gives a 768 dimensional vector for each image.

3.2.3 Yolov5 training

We train yolov5 using geometric augmentations like random rotation between [-30, 30], zufälliger Flip und farbbasierte Erweiterungen wie zufälliger Farbton, zufällige Helligkeit und Farbjitter. Um die Ergebnisse für teilweise verdeckte Regionen zu verbessern, verwendeten wir während des Trainings die Reduce-Mix³-Augmentation. Als Optimierer wurde SGD mit einem Gewichtsabfall von 0,0005 verwendet. Wir haben dieses Netzwerk für 500 Epochen für eine Bildauflösung von 640 x 640 trainiert.

4.1 Vergleich von Standardmodellen

Unser erster Ansatz bestand darin, diese Modelle zu verwenden und ihre Leistung in unserem gesamten internen Testdatensatz zu bewerten, um auf diesem ersten Ergebnis aufzubauen. Wir berechnen die Metriken für NudeNet¹, NSFW-Modell⁴, Yahoo-Modell⁶ und AWS-Erkennung⁹. Die Ergebnisse sind in Tabelle 4.1 unten aufgeführt

| Mannequin                 | FP(%)           | FN(%)      |
| ------------- | ------------ | -------- |
| NudeNet | 6% | 7.4% |
| NSFW Mannequin | 14.5% | 10.6% |
| Yahoo mannequin | 1.4% | 7.8% |
| AWS Rekognition | 0.4% | 35% |
| CLIP-Trans+yolo(Ours) | 0.7% | 1.5% |

Tabelle 4.1: Vergleich von Standardmodellen

Um unsere Behauptungen zu bestätigen, vergleichen wir in Tabelle 4.2 unsere Ergebnisse mit dem Open-Supply-Testset Nudenet

| Mannequin                 | FP(%)           | FN(%)      |
| ------------- | ------------ | -------- |
| NudeNet | 4.9% | 11.4% |
| NSFW Mannequin | 5.7% | 4.71% |
| Yahoo mannequin | 3.01% | 19.5% |
| AWS Rekognition | 1.7% | 33.75% |
| CLIP-Trans+yolo(ours) | 4% | 3.3% |

Tabelle 4.2 Vergleich mit Standardmodellen im Nudenet-Testsatz

Wir können feststellen, dass Standardmodelle sowohl bei unseren internen Testdaten als auch bei Open-Supply-Testdaten schlecht abschneiden. Sie alle erreichen eine gute Präzision, aber einen unbefriedigenden Erinnerungswert. Dieses Ergebnis weist darauf hin, dass die Modelle streng waren und zu viele Bilder als sicher einstuften.

Da unsere Definition von suggestivem Inhalt weiter gefasst ist, erwarteten wir eine bessere Präzision und eine geringere Erinnerung

4.3 Schwellenwertauswahl:

Die letzte Aktivierungsfunktion aller Modelle ist ein Sigmoid und gibt daher einen Rating p ∈ (0, 1) aus. Um diesen Rating in eine Klasse (sicher oder unsicher) umzuwandeln, definieren wir einen Schwellenwert θ. Alle Werte unterhalb dieses Punktes gelten als sicher und andernfalls als unsicher.

In Tabelle 4.3 vergleichen wir die Modelle, die wir mit einem internen Testsatz trainiert haben

| Mannequin            | FP(%)           | FN(%)      |
| ------------- | ------------ | -------- |
| HRNet(Baseline) | 19% | 30% |
| CLIP-Trans | 1.8% | 1.5% |
| CLIP-Trans+masks | 9.2% | 1.5% |
| CLIP-Trans+yolo | 0.7% | 1.5% |

Tabelle 4.3 Leistung von intern trainierten Modellen

Wie wir in Tabelle 4.3 sehen können, erzielt unser CLIP-basiertes Switch-Lernmodell eine gute Leistung sowohl in Bezug auf Präzision als auch Rückruf. Um Fehlalarme weiter zu verbessern, kombinieren wir das yolov5-Modell mit dem Clip, um sich gegenseitig zu ergänzen. Wir verwenden die folgende Ensemble-Regel. Grundsätzlich möchten wir CLIP bei falsch-negativen Ergebnissen vertrauen und gleichzeitig den Detektor verwenden, um falsch-positive Ergebnisse zu verbessern.

Immer wenn der Detektor nichts erkennt, gehen wir davon aus, dass es sicher ist. Andernfalls verwenden wir den Rating des Clip-Modells, um eine Entscheidung zu treffen (clip_score > Schwellenwert, NSFW, andernfalls sicher).

In Zukunft können auf metrischem Lernen basierende Ansätze wie ArcFace Loss ausprobiert werden. Wir haben festgestellt, dass in den Fällen, in denen wir entweder falsch-positive oder falsch-negative Ergebnisse erhielten, eine sehr schmale Grenze zwischen NSFW und der sicheren Klasse besteht. Theoretisch sollte es in der Lage sein, stärker diskriminierende Merkmale zu erhalten als mit Sigmoid + Kreuzentropie.

Diese Arbeit konzentrierte sich auf ein häufiges Drawback in der Branche, bei dem eine Plattform automatisch moderieren muss, was von Benutzern hochgeladen wird. Traditionell haben sich Unternehmen darauf verlassen, dass Mitarbeiter ihre Inhalte manuell kennzeichnen. Mit zunehmender Nutzung und zunehmendem Inhalt ist diese Methode jedoch nicht mehr kosteneffektiv oder effizient. Unser Projekt untersuchte, wie man suggestive Miniaturansichten gemäß einer bestimmten Definition erkennt, die einen Mehrwert bieten, indem wir dieses Drawback untersuchten und eine Lösung dafür vorschlugen.



Source link

HINTERLASSEN SIE EINE ANTWORT

Please enter your comment!
Please enter your name here