Untersuchungen der letzten Jahre haben gezeigt, dass Modelle des maschinellen Lernens (ML) anfällig dafür sind kontradiktorische Eingaben, wo ein Gegner Eingaben erstellen kann, um die Ausgabe des Modells strategisch zu verändern (in Bildklassifizierung, Spracherkennung, oder Betrugserkennung). Stellen Sie sich beispielsweise vor, Sie hätten ein Modell eingesetzt, das Ihre Mitarbeiter anhand von Bildern ihrer Gesichter identifiziert. Wie im Whitepaper gezeigt Ein Verbrechen ausstatten: Echte und heimliche Angriffe auf die Gesichtserkennung auf dem neuesten Stand der TechnikBöswillige Mitarbeiter können subtile, aber sorgfältig geplante Änderungen an ihrem Image vornehmen und das Modell täuschen, um sie als andere Mitarbeiter zu authentifizieren. Offensichtlich können solche kontroversen Eingaben – insbesondere wenn sie in großer Zahl vorliegen – verheerende Auswirkungen auf das Unternehmen haben.
Im Idealfall möchten wir jedes Mal erkennen, wenn eine gegnerische Eingabe an das Modell gesendet wird, um zu quantifizieren, wie sich gegnerische Eingaben auf Ihr Modell und Ihr Unternehmen auswirken. Zu diesem Zweck analysiert eine breite Klasse von Methoden einzelne Modelleingaben, um auf kontradiktorisches Verhalten zu prüfen. Die aktive Forschung im Bereich gegnerischer ML hat jedoch zu immer ausgefeilteren gegnerischen Eingaben geführt, von denen viele bekanntermaßen die Erkennung ineffektiv machen. Der Grund für diesen Mangel liegt darin, dass es schwierig ist, aus einer einzelnen Eingabe Rückschlüsse darauf zu ziehen, ob sie kontradiktorisch ist oder nicht. Zu diesem Zweck konzentriert sich eine neuere Methodenklasse auf Überprüfungen auf Verteilungsebene durch die gleichzeitige Analyse mehrerer Eingaben. Der Kerngedanke dieser neuen Methoden besteht darin, dass die Berücksichtigung mehrerer Eingaben gleichzeitig eine leistungsfähigere statistische Analyse ermöglicht, die mit einzelnen Eingaben nicht möglich ist. Doch angesichts eines entschlossenen Gegners mit umfassenden Kenntnissen des Modells können selbst diese fortschrittlichen Erkennungsmethoden scheitern.
Allerdings können wir selbst diese entschlossenen Gegner besiegen, indem wir die Verteidigungsmethoden mit zusätzlichen Informationen versorgen. Konkret stärkt die Analyse der latenten Darstellungen, die aus den Zwischenschichten in einem tiefen neuronalen Netzwerk gesammelt werden, die Abwehr erheblich, anstatt nur die Modelleingaben zu analysieren.
In diesem Beitrag zeigen wir Ihnen, wie Sie gegnerische Eingaben erkennen Amazon SageMaker-Modellmonitor und Amazon SageMaker-Debugger für ein Bildklassifizierungsmodell, das auf gehostet wird Amazon Sage Maker.
Um die verschiedenen in diesem Beitrag aufgeführten Schritte und Ergebnisse zu reproduzieren, klonen Sie das Repository Erkennung gegnerischer Proben mit Sagemaker in Ihre Amazon SageMaker Notebook-Instanz und führen Sie das Notebook aus.
Widersprüchliche Eingaben erkennen
Wir zeigen Ihnen, wie Sie gegnerische Eingaben mithilfe der von einem tiefen neuronalen Netzwerk gesammelten Darstellungen erkennen. Die folgenden vier Bilder zeigen links das ursprüngliche Trainingsbild (aus dem Tiny ImageNet-Datensatz) und drei Bilder, die durch den Projected Gradient Descent (PGD)-Angriff [1] mit unterschiedlichen Störungsparametern ϵ erstellt wurden. Das hier verwendete Modell war ResNet18. Der ϵ-Parameter definiert die Menge an gegnerischem Rauschen, das den Bildern hinzugefügt wird. Das Originalbild (links) wird korrekt als Klasse 67 vorhergesagt (goose
). Die kontrovers modifizierten Bilder 2, 3 und 4 werden fälschlicherweise als Klasse 51 vorhergesagt (mantis
) durch das ResNet18-Modell. Wir können auch sehen, dass Bilder, die mit kleinem ϵ erzeugt wurden, wahrnehmungsmäßig nicht vom ursprünglichen Eingabebild zu unterscheiden sind.
Als nächstes erstellen wir eine Reihe normaler und kontroverser Bilder und verwenden sie T-verteilte stochastische Nachbareinbettung (t-SNE [2]), um ihre Verteilungen visuell zu vergleichen. t-SNE ist eine Dimensionsreduktionsmethode, die hochdimensionale Daten in einen zwei- oder dreidimensionalen Raum abbildet. Jeder Datenpunkt im folgenden Bild stellt ein Eingabebild dar. Orangefarbene Datenpunkte stellen die normalen Eingaben aus dem Testsatz dar, und blaue Datenpunkte zeigen die entsprechenden gegnerischen Bilder an, die mit einem Epsilon von 2 generiert wurden. Wenn normale und gegnerische Eingaben unterscheidbar sind, würden wir separate Cluster in der t-SNE-Visualisierung erwarten. Da beide zum selben Cluster gehören, bedeutet dies, dass eine Erkennungstechnik, die sich ausschließlich auf Änderungen in der Modelleingabeverteilung konzentriert, diese Eingaben nicht unterscheiden kann.
Werfen wir einen genaueren Blick auf die Ebenendarstellungen, die von verschiedenen Ebenen im ResNet18-Modell erzeugt werden. ResNet18 besteht aus 18 Schichten; Im folgenden Bild visualisieren wir die t-SNE-Einbettungen für die Darstellungen für sechs dieser Schichten.
Wie die vorherige Abbildung zeigt, werden natürliche und gegnerische Eingaben für tiefere Schichten des ResNet18-Modells besser unterscheidbar.
Basierend auf diesen Beobachtungen verwenden wir eine statistische Methode, die die Unterscheidbarkeit mithilfe von Hypothesentests misst. Die Methode besteht aus a Zwei-Stichproben-Test Verwendung von maximale mittlere Abweichung (MMD). MMD ist eine Kernel-basierte Metrik zur Messung der Ähnlichkeit zwischen zwei Verteilungen, die die Daten generieren. Bei einem Test mit zwei Stichproben werden zwei Sätze verwendet, die Eingaben aus zwei Verteilungen enthalten, und es wird ermittelt, ob diese Verteilungen gleich sind. Wir vergleichen die Verteilung der in den Trainingsdaten beobachteten Eingaben und vergleichen sie mit der Verteilung der während der Inferenz erhaltenen Eingaben.
Unsere Methode verwendet diese Eingaben, um den p-Wert mithilfe von MMD zu schätzen. Wenn der p-Wert größer als ein benutzerspezifischer Signifikanzschwellenwert (in unserem Fall 5 %) ist, schließen wir, dass beide Verteilungen unterschiedlich sind. Der Schwellenwert optimiert den Kompromiss zwischen falsch positiven und falsch negativen Ergebnissen. Ein höherer Schwellenwert, beispielsweise 10 %, verringert die Falsch-Negativ-Rate (es gibt weniger Fälle, in denen beide Verteilungen unterschiedlich waren, der Test dies jedoch nicht anzeigte). Dies führt jedoch auch zu mehr falsch positiven Ergebnissen (der Test zeigt, dass beide Verteilungen unterschiedlich sind, auch wenn dies nicht der Fall ist). Andererseits führt ein niedrigerer Schwellenwert, beispielsweise 1 %, zu weniger falsch-positiven, aber mehr falsch-negativen Ergebnissen.
Anstatt diese Methode ausschließlich auf die Rohmodelleingaben (Bilder) anzuwenden, verwenden wir die latenten Darstellungen, die von den Zwischenschichten unseres Modells erzeugt werden. Um seinen probabilistischen Charakter zu berücksichtigen, wenden wir den Hypothesentest 100 Mal auf 100 zufällig ausgewählte natürliche Eingaben und 100 zufällig ausgewählte gegnerische Eingaben an. Dann geben wir die Erkennungsrate als Prozentsatz der Tests an, die gemäß unserer Signifikanzschwelle von 5 % zu einem Erkennungsereignis führten. Die höhere Erkennungsrate ist ein stärkerer Hinweis darauf, dass die beiden Verteilungen unterschiedlich sind. Durch dieses Verfahren erreichen wir folgende Erkennungsraten:
- Schicht 1: 3 %
- Schicht 4: 7 %
- Schicht 8: 84 %
- Schicht 12: 95 %
- Schicht 14: 100 %
- Schicht 15: 100 %
In den ersten Schichten ist die Erkennungsrate eher gering (weniger als 10 %), in den tieferen Schichten steigt sie jedoch auf 100 %. Mithilfe des statistischen Tests kann die Methode gegnerische Eingaben in tieferen Schichten zuverlässig erkennen. Oft reicht es aus, einfach die Darstellungen zu verwenden, die von der vorletzten Schicht (der letzten Schicht vor der Klassifizierungsschicht in einem Modell) generiert werden. Für anspruchsvollere gegnerische Eingaben ist es sinnvoll, Darstellungen aus anderen Ebenen zu verwenden und die Erkennungsraten zu aggregieren.
Lösungsüberblick
Im vorherigen Abschnitt haben wir gesehen, wie man gegnerische Eingaben mithilfe von Darstellungen aus der vorletzten Ebene erkennt. Als Nächstes zeigen wir, wie Sie diese Tests in SageMaker mithilfe von Model Monitor und Debugger automatisieren. In diesem Beispiel trainieren wir zunächst ein ResNet18-Bildklassifizierungsmodell für den winzigen ImageNet-Datensatz. Als Nächstes stellen wir das Modell auf SageMaker bereit und erstellen einen benutzerdefinierten Model Monitor-Zeitplan, der den statistischen Test ausführt. Anschließend führen wir eine Inferenz mit normalen und kontradiktorischen Eingaben durch, um zu sehen, wie effektiv die Methode ist.
Erfassen Sie Tensoren mit dem Debugger
Während des Modelltrainings verwenden wir Debugger, um von der vorletzten Ebene generierte Darstellungen zu erfassen, die später verwendet werden, um Informationen über die Verteilung normaler Eingaben abzuleiten. Debugger ist eine Funktion von SageMaker, mit der Sie während des Modelltrainings Informationen wie Modellparameter, Verläufe und Aktivierungen erfassen und analysieren können. Diese Parameter-, Gradienten- und Aktivierungstensoren werden hochgeladen Amazon Simple Storage-Service (Amazon S3) während das Training läuft. Sie können Regeln konfigurieren, die diese auf Probleme wie Überanpassung und verschwindende Farbverläufe analysieren. Für unseren Anwendungsfall wollen wir nur die vorletzte Schicht des Modells erfassen (.*avgpool_output
) und die Modellausgaben (Vorhersagen). Wir geben eine Debugger-Hook-Konfiguration an, die einen regulären Ausdruck für die zu erfassenden Ebenendarstellungen definiert. Wir geben auch a an save_interval
Dadurch wird der Debugger angewiesen, diese Daten während der Validierungsphase alle 100 Vorwärtsdurchläufe zu sammeln. Siehe den folgenden Code:
Führen Sie die SageMaker-Schulung durch
Wir übergeben die Debugger-Konfiguration an den SageMaker-Schätzer und starten das Training:
Stellen Sie ein Bildklassifizierungsmodell bereit
Nachdem das Modelltraining abgeschlossen ist, stellen wir das Modell als Endpunkt auf SageMaker bereit. Wir geben eine an Inferenzskript das definiert die model_fn
und transform_fn
Funktionen. Diese Funktionen geben an, wie das Modell geladen wird und wie eingehende Daten vorverarbeitet werden müssen, um die Modellinferenz durchzuführen. Für unseren Anwendungsfall ermöglichen wir dem Debugger die Erfassung relevanter Daten während der Inferenz. Im model_fn
Funktion geben wir einen Debugger-Hook und einen an save_config
Dies gibt an, dass für jede Inferenzanforderung die Modelleingaben (Bilder), die Modellausgaben (Vorhersagen) und die vorletzte Ebene aufgezeichnet werden (.*avgpool_output
). Anschließend registrieren wir den Haken am Modell. Siehe den folgenden Code:
Jetzt stellen wir das Modell bereit, was wir vom Notebook aus auf zwei Arten tun können. Wir können entweder anrufen pytorch_estimator.deploy()
Oder erstellen Sie ein PyTorch-Modell, das auf die Modellartefaktdateien in Amazon S3 verweist, die vom SageMaker-Trainingsauftrag erstellt wurden. In diesem Beitrag machen wir Letzteres. Dadurch können wir Umgebungsvariablen an den Docker-Container übergeben, der von SageMaker erstellt und bereitgestellt wird. Wir brauchen die Umgebungsvariable tensors_output
um dem Skript mitzuteilen, wohin die Tensoren hochgeladen werden sollen, die von SageMaker Debugger während der Inferenz erfasst werden. Siehe den folgenden Code:
Als Nächstes stellen wir den Prädiktor auf einem ml.m5.xlarge-Instanztyp bereit:
Erstellen Sie einen benutzerdefinierten Model Monitor-Zeitplan
Wenn der Endpunkt betriebsbereit ist, erstellen wir einen benutzerdefinierten Model Monitor-Zeitplan. Das ist ein SageMaker-Verarbeitungsauftrag die in regelmäßigen Abständen (z. B. stündlich oder täglich) ausgeführt wird und die Inferenzdaten analysiert. Model Monitor bietet einen vorkonfigurierten Container, der Datenabweichungen analysiert und erkennt. In unserem Fall möchten wir es anpassen, um die Debugger-Daten abzurufen und den MMD-Zwei-Stichproben-Test für die abgerufenen Ebenendarstellungen auszuführen.
Um es anzupassen, definieren wir zunächst das Model Monitor-Objekt, das angibt, auf welchem Instanztyp diese Jobs ausgeführt werden und wo sich unser benutzerdefinierter Model Monitor-Container befindet:
Wir möchten diesen Job stündlich ausführen, also geben wir an CronExpressionGenerator.hourly()
und die Ausgabeorte, an die die Analyseergebnisse hochgeladen werden. Dafür müssen wir definieren ProcessingOutput
für die SageMaker-Verarbeitungsausgabe:
Schauen wir uns genauer an, was unser benutzerdefinierter Model Monitor-Container ausführt. Wir erstellen eine Bewertungsskript, wodurch die vom Debugger erfassten Daten geladen werden. Wir erstellen auch eine Versuchsobjekt, wodurch wir auf die vom Debugger gespeicherten Daten zugreifen, diese abfragen und filtern können. Mit dem Testobjekt können wir die während der Inferenz- und Trainingsphase gespeicherten Schritte wiederholen trial.steps(mode)
.
Zuerst rufen wir die Modellausgaben ab (trial.tensor("ResNet_output_0")
) sowie die vorletzte Schicht (trial.tensor_names(regex=".*avgpool_output")
). Wir tun dies für die Inferenz- und Validierungsphasen des Trainings (modes.EVAL
und modes.PREDICT
). Die Tensoren aus der Validierungsphase dienen als Schätzung der Normalverteilung, die wir dann verwenden, um die Verteilung der Inferenzdaten zu vergleichen. Wir haben eine Klasse erstellt LADIS (Erkennung gegnerischer Eingabeverteilungen mittels schichtweiser Statistik). Diese Klasse stellt die relevanten Funktionalitäten zur Durchführung des Zwei-Stichproben-Tests bereit. Es übernimmt die Liste der Tensoren aus der Inferenz- und Validierungsphase und führt den Zwei-Stichproben-Test durch. Es wird eine Erkennungsrate zurückgegeben, bei der es sich um einen Wert zwischen 0 und 100 % handelt. Je höher der Wert, desto wahrscheinlicher ist es, dass die Inferenzdaten einer anderen Verteilung folgen. Darüber hinaus berechnen wir für jede Probe eine Bewertung, die angibt, wie wahrscheinlich es ist, dass eine Probe kontradiktorisch ist, und die besten 100 Proben werden aufgezeichnet, damit Benutzer sie weiter untersuchen können. Siehe den folgenden Code:
Testen Sie gegen gegnerische Eingaben
Nachdem unser benutzerdefinierter Model Monitor-Zeitplan nun bereitgestellt wurde, können wir einige Inferenzergebnisse erstellen.
Zuerst führen wir die Ausführung mit Daten aus dem Holdout-Set und dann mit gegnerischen Eingaben durch:
Anschließend können wir die Anzeige des Model Monitors einchecken Amazon SageMaker-Studio oder benutzen Amazon CloudWatch Protokolle, um zu sehen, ob ein Problem gefunden wurde.
Als nächstes verwenden wir die gegnerischen Eingaben gegen das auf SageMaker gehostete Modell. Wir verwenden den Testdatensatz des Tiny ImageNet-Datensatzes und wenden den PGD-Angriff an, der Störungen auf Pixelebene einführt, sodass das Modell nicht die richtigen Klassen erkennt. In den folgenden Bildern zeigt die linke Spalte zwei Original-Testbilder, die mittlere Spalte zeigt ihre kontrovers gestörten Versionen und die rechte Spalte zeigt den Unterschied zwischen beiden Bildern.
Jetzt können wir den Status des Modellmonitors überprüfen und feststellen, dass einige der Inferenzbilder aus einer anderen Verteilung stammen.
Ergebnisse und Benutzeraktion
Der benutzerdefinierte Model Monitor-Job ermittelt die Punktzahlen für jede Inferenzanforderung, die angeben, wie wahrscheinlich es ist, dass die Stichprobe gemäß dem MMD-Test kontradiktorisch ist. Diese Bewertungen werden für alle Inferenzanfragen erfasst. Ihre Punktzahl mit der entsprechenden Debugger-Schrittnummer wird in einer JSON-Datei aufgezeichnet und auf Amazon S3 hochgeladen. Nachdem der Modellüberwachungsauftrag abgeschlossen ist, laden wir die JSON-Datei herunter, rufen Schrittnummern ab und verwenden Debugger, um die entsprechenden Modelleingaben für diese Schritte abzurufen. Dadurch können wir die Bilder untersuchen, die als kontrovers erkannt wurden.
Der folgende Codeblock stellt die ersten beiden Bilder dar, die als am wahrscheinlichsten kontrovers identifiziert wurden:
In unserem Beispieltestlauf erhalten wir die folgende Ausgabe. Das Quallenbild wurde fälschlicherweise als Orange und das Kamelbild als Panda vorhergesagt. Offensichtlich hat das Modell bei diesen Eingaben versagt und nicht einmal eine ähnliche Bildklasse wie Goldfisch oder Pferd vorhergesagt. Zum Vergleich zeigen wir auf der rechten Seite auch die entsprechenden natürlichen Proben aus dem Testset. Wir können beobachten, dass die vom Angreifer verursachten zufälligen Störungen im Hintergrund beider Bilder deutlich sichtbar sind.
Der benutzerdefinierte Model Monitor-Job veröffentlicht die Erkennungsrate in CloudWatch, sodass wir untersuchen können, wie sich diese Rate im Laufe der Zeit verändert hat. Eine signifikante Änderung zwischen zwei Datenpunkten kann darauf hindeuten, dass ein Gegner zu einem bestimmten Zeitpunkt versucht hat, das Modell auszutricksen. Darüber hinaus können Sie auch die Anzahl der Inferenzanforderungen, die in jedem Model Monitor-Auftrag verarbeitet werden, und die Basiserkennungsrate grafisch darstellen, die über den Validierungsdatensatz berechnet wird. Die Basisrate liegt normalerweise nahe bei 0 und dient nur als Vergleichsmaßstab.
Der folgende Screenshot zeigt die Metriken, die durch unsere Testläufe generiert wurden, bei denen drei Modellüberwachungsjobs über einen Zeitraum von drei Stunden ausgeführt wurden. Jeder Job verarbeitet etwa 3–200 Inferenzanfragen gleichzeitig. Zwischen 300:100 und 5:00 Uhr liegt die Erkennungsrate bei 6 % und sinkt danach.
Darüber hinaus können wir auch die Verteilungen der Darstellungen untersuchen, die von den Zwischenschichten des Modells generiert werden. Mit Debugger können wir auf die Daten aus der Validierungsphase des Trainingsjobs und die Tensoren aus der Inferenzphase zugreifen und mithilfe von t-SNE deren Verteilung für bestimmte vorhergesagte Klassen visualisieren. Siehe den folgenden Code:
In unserem Testfall erhalten wir die folgende t-SNE-Visualisierung für die zweite Bildklasse. Wir können beobachten, dass die gegnerischen Proben anders geclustert sind als die natürlichen.
Zusammenfassung
In diesem Beitrag haben wir gezeigt, wie man einen Zwei-Stichproben-Test mit maximaler mittlerer Diskrepanz verwendet, um gegnerische Eingaben zu erkennen. Wir haben gezeigt, wie Sie solche Erkennungsmechanismen mithilfe von Debugger und Model Monitor bereitstellen können. Mit diesem Workflow können Sie Ihre auf SageMaker gehosteten Modelle im großen Maßstab überwachen und gegnerische Eingaben automatisch erkennen. Um mehr darüber zu erfahren, schauen Sie sich unsere an GitHub Repo.
Bibliographie
[1] Aleksander Madry, Aleksandar Makelov, Ludwig Schmidt, Dimitris Tsipras und Adrian Vladu. Auf dem Weg zu Deep-Learning-Modellen, die gegen gegnerische Angriffe resistent sind. In Internationale Konferenz über lernende Repräsentationen 2018.
[2] Laurens van der Maaten und Geoffrey Hinton. Visualisierung von Daten mit t-SNE. Journal of Machine Learning Research, 9:2579–2605, 2008. URL http://www.jmlr.org/papers/v9/vandermaaten08a.html.
Über die Autoren
Nathalie Rauschmayr ist Senior Applied Scientist bei AWS, wo sie Kunden bei der Entwicklung von Deep-Learning-Anwendungen unterstützt.
Yigitcan Kaya ist ein Doktorand im fünften Jahr an der University of Maryland und ein Praktikant als angewandter Wissenschaftler bei AWS, wo er sich mit der Sicherheit des maschinellen Lernens und Anwendungen des maschinellen Lernens für die Sicherheit beschäftigt.
Bilal Zafar ist Applied Scientist bei AWS und arbeitet an Fairness, Erklärbarkeit und Sicherheit im maschinellen Lernen.
Sergul Aydore ist Senior Applied Scientist bei AWS und arbeitet an Datenschutz und Sicherheit beim maschinellen Lernen
- Coinsmart. Europas beste Bitcoin- und Krypto-Börse.
- Platoblockkette. Web3-Metaverse-Intelligenz. Wissen verstärkt. DEN FREIEN ZUGANG.
- CryptoHawk. Altcoin-Radar. Kostenlose Testphase.
- Quelle: https://aws.amazon.com/blogs/machine-learning/detect-adversarial-inputs-using-amazon-sagemaker-model-monitor-and-amazon-sagemaker-debugger/
- "
- 10
- 100
- 67
- 9
- Über Uns
- Zugang
- Nach
- Konto
- aktiv
- Zusätzliche
- advanced
- Alle
- Amazon
- Betrag
- Analyse
- Anwendungen
- Anwendung
- ca.
- AWS
- Hintergrund
- Baseline
- Grundlage
- werden
- Sein
- Blockieren
- Geschäft
- rufen Sie uns an!
- Erfassung
- Fälle
- Übernehmen
- Schecks
- Klasse
- Unterricht
- Einstufung
- näher
- Code
- sammeln
- Kolonne
- Berechnen
- Konferenz
- Konfiguration
- Container
- beitragen
- erstellt
- Verbrechen
- Original
- Kunden
- technische Daten
- tiefer
- Militär
- Synergie
- einsetzen
- Einsatz
- erkannt
- Entdeckung
- entwickeln
- anders
- schwer
- Display
- Verteilung
- Docker
- Tut nicht
- Effektiv
- Mitarbeiter
- ermöglichen
- Endpunkt
- Arbeitsumfeld
- schätzen
- Event
- Beispiel
- erwarten
- Gesicht
- Gesichter
- Merkmal
- Abbildung
- Vorname
- konzentriert
- Folgende
- vorwärts
- gefunden
- FRAME
- voller
- Funktion
- weiter
- Erzeugung
- gehen
- mehr
- hilft
- hier
- höher
- Ultraschall
- Hilfe
- HTTPS
- Idee
- Image
- Impact der HXNUMXO Observatorien
- Index
- Krankengymnastik
- Information
- Varianten des Eingangssignals:
- untersuchen
- Problem
- Probleme
- IT
- Job
- Jobs
- Zeitschrift
- Wesentliche
- Wissen
- bekannt
- Etiketten
- grosse
- LERNEN
- lernen
- geführt
- Niveau
- wahrscheinlich
- Liste
- Gelistet
- Standorte
- Standorte
- Maschine
- Maschinelles Lernen
- Landkarten
- Maryland
- Metrik
- MIT
- ML
- Modell
- für
- Überwachen
- Überwachung
- mehr
- vor allem warme
- mehrere
- Natürliche
- Natur
- Netzwerk
- Lärm
- normal
- Notizbuch
- Anzahl
- Zahlen
- Andere
- Prozentsatz
- Phase
- Points
- möglich
- größte treibende
- vorhersagen
- Prognose
- Prognosen
- Gegenwart
- Datenschutz
- Datenschutz und Sicherheit
- anpassen
- produziert
- Produziert
- bietet
- Bereitstellung
- Honorar
- Roh
- erkennen
- Registrieren
- regulär
- relevant
- berichten
- Quelle
- Anforderung
- Zugriffe
- Forschungsprojekte
- Die Ergebnisse
- Rückgabe
- Ohne eine erfahrene Medienplanung zur Festlegung von Regeln und Strategien beschleunigt der programmatische Medieneinkauf einfach die Rate der verschwenderischen Ausgaben.
- Führen Sie
- Laufen
- Skalieren
- Wissenschaftler
- Sicherheitdienst
- ausgewählt
- kompensieren
- signifikant
- ähnlich
- Einfacher
- SIX
- klein
- So
- einige
- anspruchsvoll
- Raumfahrt
- speziell
- Anfang
- State-of-the-art
- statistisch
- Statistiken
- Statistik
- Status
- Lagerung
- Schüler und Studenten
- Test
- Testen
- Tests
- Durch
- Zeit
- Top
- gegenüber
- Ausbildung
- Versuch
- Universität
- us
- -
- Nutzer
- gewöhnlich
- Wert
- sichtbar
- Visualisierung
- Verwundbar
- Was
- ob
- während
- Whitepaper (ENG)
- Wikipedia
- arbeiten,
- würde
- Jahr
- Jahr