Η έρευνα των τελευταίων ετών έχει δείξει ότι τα μοντέλα μηχανικής μάθησης (ML) είναι ευάλωτα αντίθετες εισροές, όπου ένας αντίπαλος μπορεί να δημιουργήσει εισροές για να αλλάξει στρατηγικά το αποτέλεσμα του μοντέλου (στο ταξινόμηση εικόνας, αναγνώρισης ομιλίας, ή ανίχνευση απάτης). Για παράδειγμα, φανταστείτε ότι έχετε αναπτύξει ένα μοντέλο που προσδιορίζει τους υπαλλήλους σας με βάση τις εικόνες των προσώπων τους. Όπως αποδεικνύεται στη λευκή βίβλο Accessorize to a Crime: Real and Stealthy Attacks on State of the Art Face Recognition, οι κακόβουλοι υπάλληλοι μπορεί να εφαρμόσουν λεπτές αλλά προσεκτικά σχεδιασμένες τροποποιήσεις στην εικόνα τους και να ξεγελάσουν το μοντέλο για να τους επικυρώσουν όπως άλλοι υπάλληλοι. Προφανώς, τέτοιες αντίθετες εισροές —ειδικά αν υπάρχει σημαντικός αριθμός αυτών— μπορεί να έχουν καταστροφικό επιχειρηματικό αντίκτυπο.
Στην ιδανική περίπτωση, θέλουμε να ανιχνεύουμε κάθε φορά που αποστέλλεται ένα αντίθετο στοιχείο στο μοντέλο για να ποσοτικοποιήσουμε τον τρόπο με τον οποίο τα αντίθετα στοιχεία επηρεάζουν το μοντέλο και την επιχείρησή σας. Για το σκοπό αυτό, μια ευρεία κατηγορία μεθόδων αναλύει τις εισροές μεμονωμένων μοντέλων για να ελέγξει για αντίθετη συμπεριφορά. Ωστόσο, η ενεργός έρευνα στην αντίθετη ML οδήγησε σε όλο και πιο εξελιγμένες εισόδους αντιπάλου, πολλές από τις οποίες είναι γνωστό ότι καθιστούν τον εντοπισμό αναποτελεσματικό. Ο λόγος για αυτήν την ανεπάρκεια είναι ότι είναι δύσκολο να εξαχθούν συμπεράσματα από μια μεμονωμένη συμβολή ως προς το εάν είναι αντίθετη ή όχι. Για το σκοπό αυτό, μια πρόσφατη κατηγορία μεθόδων επικεντρώνεται σε ελέγχους σε επίπεδο διανομής αναλύοντας πολλαπλές εισόδους κάθε φορά. Η βασική ιδέα πίσω από αυτές τις νέες μεθόδους είναι ότι η εξέταση πολλαπλών εισροών ταυτόχρονα επιτρέπει πιο ισχυρή στατιστική ανάλυση που δεν είναι δυνατή με μεμονωμένες εισροές. Ωστόσο, μπροστά σε έναν αποφασισμένο αντίπαλο με βαθιά γνώση του μοντέλου, ακόμη και αυτές οι προηγμένες μέθοδοι ανίχνευσης μπορεί να αποτύχουν.
Ωστόσο, μπορούμε να νικήσουμε ακόμη και αυτούς τους αποφασισμένους αντιπάλους παρέχοντας στις αμυντικές μεθόδους πρόσθετες πληροφορίες. Συγκεκριμένα, αντί να αναλύονται μόνο οι εισροές του μοντέλου, η ανάλυση των λανθάνοντων αναπαραστάσεων που συλλέγονται από τα ενδιάμεσα στρώματα σε ένα βαθύ νευρωνικό δίκτυο ενισχύει σημαντικά την άμυνα.
Σε αυτήν την ανάρτηση, σας καθοδηγούμε πώς να εντοπίζετε αντίθετες εισόδους χρησιμοποιώντας Παρακολούθηση μοντέλου Amazon SageMaker και Debugger Amazon SageMaker για ένα μοντέλο ταξινόμησης εικόνας που φιλοξενείται σε Amazon Sage Maker.
Για να αναπαράγετε τα διαφορετικά βήματα και τα αποτελέσματα που αναφέρονται σε αυτήν την ανάρτηση, κλωνοποιήστε το αποθετήριο detecting-adversarial-samples-using-sagemaker στην παρουσία του σημειωματάριου Amazon SageMaker και εκτελέστε το σημειωματάριο.
Ανίχνευση αντίθετων εισροών
Σας δείχνουμε πώς να ανιχνεύετε αντίθετες εισόδους χρησιμοποιώντας τις αναπαραστάσεις που συλλέγονται από ένα βαθύ νευρωνικό δίκτυο. Οι ακόλουθες τέσσερις εικόνες δείχνουν την αρχική εικόνα εκπαίδευσης στα αριστερά (λήψη από το σύνολο δεδομένων Tiny ImageNet) και τρεις εικόνες που παράγονται από την επίθεση Projected Gradient Descent (PGD) [1] με διαφορετικές παραμέτρους διαταραχής ϵ. Το μοντέλο που χρησιμοποιήθηκε εδώ ήταν το ResNet18. Η παράμετρος ϵ καθορίζει την ποσότητα του αντίθετου θορύβου που προστίθεται στις εικόνες. Η αρχική εικόνα (αριστερά) προβλέπεται σωστά ως κλάση 67 (goose
). Οι αντίθετα τροποποιημένες εικόνες 2, 3 και 4 προβλέπονται λανθασμένα ως κατηγορία 51 (mantis
) από το μοντέλο ResNet18. Μπορούμε επίσης να δούμε ότι οι εικόνες που δημιουργούνται με μικρά ϵ δεν διακρίνονται αντιληπτικά από την αρχική εικόνα εισόδου.
Στη συνέχεια, δημιουργούμε ένα σύνολο κανονικών και αντίθετων εικόνων και χρησιμοποιούμε t-Distributed Stochastic Neighbor Embedding (t-SNE [2]) για να συγκρίνετε οπτικά τις κατανομές τους. Το t-SNE είναι μια μέθοδος μείωσης διαστάσεων που χαρτογραφεί δεδομένα υψηλών διαστάσεων σε χώρο 2 ή 3 διαστάσεων. Κάθε σημείο δεδομένων στην παρακάτω εικόνα παρουσιάζει μια εικόνα εισόδου. Τα πορτοκαλί σημεία δεδομένων παρουσιάζουν τις κανονικές εισόδους που λαμβάνονται από το σύνολο δοκιμής και τα μπλε σημεία δεδομένων υποδεικνύουν τις αντίστοιχες αντίθετες εικόνες που δημιουργούνται με έψιλον 0.003. Εάν οι κανονικές και οι αντίθετες εισροές είναι διακριτές, τότε θα περιμέναμε ξεχωριστά συμπλέγματα στην απεικόνιση t-SNE. Επειδή και τα δύο ανήκουν στο ίδιο σύμπλεγμα, αυτό σημαίνει ότι μια τεχνική ανίχνευσης που εστιάζει αποκλειστικά σε αλλαγές στην κατανομή εισόδου του μοντέλου δεν μπορεί να διακρίνει αυτές τις εισόδους.
Ας ρίξουμε μια πιο προσεκτική ματιά στις αναπαραστάσεις των επιπέδων που παράγονται από διαφορετικά επίπεδα στο μοντέλο ResNet18. Το ResNet18 αποτελείται από 18 επίπεδα. Στην παρακάτω εικόνα, απεικονίζουμε τις ενσωματώσεις t-SNE για τις αναπαραστάσεις για έξι από αυτά τα επίπεδα.
Όπως δείχνει το προηγούμενο σχήμα, οι φυσικές και οι αντίθετες εισροές γίνονται πιο διακριτές για βαθύτερα επίπεδα του μοντέλου ResNet18.
Με βάση αυτές τις παρατηρήσεις, χρησιμοποιούμε μια στατιστική μέθοδο που μετρά τη διακριτικότητα με τον έλεγχο υποθέσεων. Η μέθοδος αποτελείται από α δοκιμή δύο δειγμάτων χρησιμοποιώντας μέγιστη μέση διαφορά (MMD). Το MMD είναι μια μέτρηση βασισμένη στον πυρήνα για τη μέτρηση της ομοιότητας μεταξύ δύο διανομών που δημιουργούν τα δεδομένα. Μια δοκιμή δύο δειγμάτων παίρνει δύο σύνολα που περιέχουν εισόδους που λαμβάνονται από δύο κατανομές και καθορίζει εάν αυτές οι κατανομές είναι ίδιες. Συγκρίνουμε την κατανομή των εισροών που παρατηρείται στα δεδομένα εκπαίδευσης και τη συγκρίνουμε με την κατανομή των εισροών που λαμβάνονται κατά τη διάρκεια της εξαγωγής συμπερασμάτων.
Η μέθοδός μας χρησιμοποιεί αυτές τις εισόδους για να εκτιμήσει την τιμή p χρησιμοποιώντας το MMD. Εάν η τιμή p είναι μεγαλύτερη από ένα όριο σημασίας για συγκεκριμένο χρήστη (5% στην περίπτωσή μας), συμπεραίνουμε ότι και οι δύο κατανομές είναι διαφορετικές. Το κατώφλι συντονίζει την αντιστάθμιση μεταξύ ψευδώς θετικών και ψευδών αρνητικών. Ένα υψηλότερο όριο, όπως το 10%, μειώνει το ψευδώς αρνητικό ποσοστό (υπάρχουν λιγότερες περιπτώσεις όπου και οι δύο κατανομές ήταν διαφορετικές, αλλά η δοκιμή απέτυχε να το υποδείξει). Ωστόσο, οδηγεί επίσης σε περισσότερα ψευδώς θετικά (η δοκιμή υποδεικνύει ότι και οι δύο κατανομές είναι διαφορετικές ακόμα και όταν δεν συμβαίνει αυτό). Από την άλλη πλευρά, ένα χαμηλότερο όριο, όπως το 1%, έχει ως αποτέλεσμα λιγότερα ψευδώς θετικά αλλά περισσότερα ψευδώς αρνητικά.
Αντί να εφαρμόζουμε αυτή τη μέθοδο αποκλειστικά στις πρώτες εισόδους του μοντέλου (εικόνες), χρησιμοποιούμε τις λανθάνουσες αναπαραστάσεις που παράγονται από τα ενδιάμεσα στρώματα του μοντέλου μας. Για να εξηγήσουμε την πιθανολογική του φύση, εφαρμόζουμε το τεστ υπόθεσης 100 φορές σε 100 τυχαία επιλεγμένες φυσικές εισροές και 100 τυχαία επιλεγμένες αντίθετες εισόδους. Στη συνέχεια αναφέρουμε το ποσοστό ανίχνευσης ως το ποσοστό των δοκιμών που κατέληξαν σε ένα συμβάν ανίχνευσης σύμφωνα με το όριο σημαντικότητας 5%. Ο υψηλότερος ρυθμός ανίχνευσης είναι μια ισχυρότερη ένδειξη ότι οι δύο κατανομές είναι διαφορετικές. Αυτή η διαδικασία μας δίνει τα ακόλουθα ποσοστά ανίχνευσης:
- Επίπεδο 1: 3%
- Επίπεδο 4: 7%
- Επίπεδο 8: 84%
- Επίπεδο 12: 95%
- Επίπεδο 14: 100%
- Επίπεδο 15: 100%
Στα αρχικά στρώματα, το ποσοστό ανίχνευσης είναι μάλλον χαμηλό (λιγότερο από 10%), αλλά αυξάνεται στο 100% στα βαθύτερα στρώματα. Χρησιμοποιώντας τη στατιστική δοκιμή, η μέθοδος μπορεί να ανιχνεύσει με σιγουριά αντίθετες εισόδους σε βαθύτερα επίπεδα. Συχνά αρκεί να χρησιμοποιούνται απλώς οι αναπαραστάσεις που δημιουργούνται από το προτελευταίο επίπεδο (το τελευταίο επίπεδο πριν από το επίπεδο ταξινόμησης σε ένα μοντέλο). Για πιο εξελιγμένες εισόδους αντιπάλου, είναι χρήσιμο να χρησιμοποιείτε αναπαραστάσεις από άλλα επίπεδα και να συγκεντρώνετε τα ποσοστά ανίχνευσης.
Επισκόπηση λύσεων
Στην προηγούμενη ενότητα, είδαμε πώς να ανιχνεύσουμε αντίθετες εισόδους χρησιμοποιώντας αναπαραστάσεις από το προτελευταίο επίπεδο. Στη συνέχεια, δείχνουμε πώς να αυτοματοποιήσετε αυτές τις δοκιμές στο SageMaker χρησιμοποιώντας το Model Monitor και τον εντοπισμό σφαλμάτων. Για αυτό το παράδειγμα, πρώτα εκπαιδεύουμε ένα μοντέλο ταξινόμησης εικόνας ResNet18 στο μικροσκοπικό σύνολο δεδομένων ImageNet. Στη συνέχεια, αναπτύσσουμε το μοντέλο στο SageMaker και δημιουργούμε ένα προσαρμοσμένο πρόγραμμα παρακολούθησης μοντέλου που εκτελεί τη στατιστική δοκιμή. Στη συνέχεια, εκτελούμε συμπέρασμα με κανονικές και αντίθετες εισόδους για να δούμε πόσο αποτελεσματική είναι η μέθοδος.
Καταγράψτε τανυστές χρησιμοποιώντας το πρόγραμμα εντοπισμού σφαλμάτων
Κατά τη διάρκεια της εκπαίδευσης του μοντέλου, χρησιμοποιούμε τον εντοπισμό σφαλμάτων για να συλλάβουμε παραστάσεις που δημιουργούνται από το προτελευταίο επίπεδο, οι οποίες χρησιμοποιούνται αργότερα για την εξαγωγή πληροφοριών σχετικά με την κατανομή των κανονικών εισόδων. Ο εντοπισμός σφαλμάτων είναι μια δυνατότητα του SageMaker που σας δίνει τη δυνατότητα να συλλαμβάνετε και να αναλύετε πληροφορίες όπως παραμέτρους μοντέλου, διαβαθμίσεις και ενεργοποιήσεις κατά τη διάρκεια της εκπαίδευσης του μοντέλου. Αυτοί οι τανυστές παραμέτρων, διαβάθμισης και ενεργοποίησης μεταφορτώνονται σε Απλή υπηρεσία αποθήκευσης Amazon (Amazon S3) ενώ η εκπαίδευση είναι σε εξέλιξη. Μπορείτε να διαμορφώσετε κανόνες που τους αναλύουν για ζητήματα όπως η υπερβολική προσαρμογή και η εξαφάνιση των κλίσεων. Για την περίπτωση χρήσης μας, θέλουμε να καταγράψουμε μόνο το προτελευταίο επίπεδο του μοντέλου (.*avgpool_output
) και τα αποτελέσματα του μοντέλου (προβλέψεις). Καθορίζουμε μια διαμόρφωση άγκιστρου εντοπισμού σφαλμάτων που ορίζει μια κανονική έκφραση για τις αναπαραστάσεις του επιπέδου που πρόκειται να συλλεχθούν. Καθορίζουμε επίσης α save_interval
που δίνει εντολή στον εντοπισμό σφαλμάτων να συλλέγει αυτά τα δεδομένα κατά τη φάση επικύρωσης κάθε 100 περάσματα προς τα εμπρός. Δείτε τον παρακάτω κώδικα:
Εκτελέστε την εκπαίδευση του SageMaker
Περνάμε τη διαμόρφωση του Debugger στον εκτιμητή SageMaker και ξεκινάμε την εκπαίδευση:
Αναπτύξτε ένα μοντέλο ταξινόμησης εικόνων
Αφού ολοκληρωθεί η εκπαίδευση του μοντέλου, αναπτύσσουμε το μοντέλο ως τελικό σημείο στο SageMaker. Καθορίζουμε ένα σενάριο συμπερασμάτων που ορίζει το model_fn
και transform_fn
λειτουργίες. Αυτές οι συναρτήσεις καθορίζουν τον τρόπο φόρτωσης του μοντέλου και τον τρόπο προεπεξεργασίας των εισερχόμενων δεδομένων για την εκτέλεση της εξαγωγής του μοντέλου. Για την περίπτωση χρήσης μας, ενεργοποιούμε το πρόγραμμα εντοπισμού σφαλμάτων να καταγράφει σχετικά δεδομένα κατά τη διάρκεια της εξαγωγής συμπερασμάτων. Στο model_fn
συνάρτηση, καθορίζουμε ένα άγκιστρο Debugger και α save_config
που καθορίζει ότι για κάθε αίτημα συναγωγής καταγράφονται οι είσοδοι του μοντέλου (εικόνες), οι έξοδοι του μοντέλου (προβλέψεις) και το προτελευταίο επίπεδο (.*avgpool_output
). Στη συνέχεια καταχωρούμε το άγκιστρο στο μοντέλο. Δείτε τον παρακάτω κώδικα:
Τώρα αναπτύσσουμε το μοντέλο, το οποίο μπορούμε να κάνουμε από το σημειωματάριο με δύο τρόπους. Μπορούμε είτε να καλέσουμε pytorch_estimator.deploy()
ή δημιουργήστε ένα μοντέλο PyTorch που δείχνει τα αρχεία τεχνουργημάτων μοντέλων στο Amazon S3 που έχουν δημιουργηθεί από την εργασία εκπαίδευσης του SageMaker. Σε αυτή την ανάρτηση, κάνουμε το τελευταίο. Αυτό μας επιτρέπει να περάσουμε μεταβλητές περιβάλλοντος στο κοντέινερ Docker, το οποίο δημιουργείται και αναπτύσσεται από το SageMaker. Χρειαζόμαστε τη μεταβλητή περιβάλλοντος tensors_output
για να πείτε στο σενάριο πού να ανεβάσει τους τανυστές που συλλέγονται από το SageMaker Debugger κατά τη διάρκεια της εξαγωγής συμπερασμάτων. Δείτε τον παρακάτω κώδικα:
Στη συνέχεια, αναπτύσσουμε τον προγνωστικό σε έναν τύπο στιγμιότυπου ml.m5.xlarge:
Δημιουργήστε ένα προσαρμοσμένο πρόγραμμα παρακολούθησης μοντέλου
Όταν το τελικό σημείο είναι έτοιμο και εκτελείται, δημιουργούμε ένα προσαρμοσμένο πρόγραμμα παρακολούθησης μοντέλου. Αυτό είναι ένα Εργασία επεξεργασίας SageMaker που εκτελείται σε ένα περιοδικό διάστημα (όπως ωριαία ή ημερήσια) και αναλύει τα δεδομένα συμπερασμάτων. Το Model Monitor παρέχει ένα προδιαμορφωμένο κοντέινερ που αναλύει και ανιχνεύει τη μετατόπιση δεδομένων. Στην περίπτωσή μας, θέλουμε να το προσαρμόσουμε για να ανακτήσει τα δεδομένα του προγράμματος εντοπισμού σφαλμάτων και να εκτελέσει τη δοκιμή δύο δειγμάτων MMD στις ανακτημένες αναπαραστάσεις του επιπέδου.
Για να το προσαρμόσουμε, ορίζουμε πρώτα το αντικείμενο Παρακολούθησης Μοντέλου, το οποίο καθορίζει σε ποιον τύπο παρουσίας θα εκτελεστούν αυτές οι εργασίες και τη θέση του προσαρμοσμένου κοντέινερ Μοντέλου Παρακολούθησης:
Θέλουμε να τρέχουμε αυτή τη δουλειά σε ωριαία βάση, γι' αυτό διευκρινίζουμε CronExpressionGenerator.hourly()
και τις τοποθεσίες εξόδου στις οποίες ανεβαίνουν τα αποτελέσματα της ανάλυσης. Για αυτό πρέπει να ορίσουμε ProcessingOutput
για την έξοδο επεξεργασίας SageMaker:
Ας δούμε πιο προσεκτικά τι λειτουργεί το προσαρμοσμένο κοντέινερ Οθόνης Μοντέλων. Δημιουργούμε ένα σενάριο αξιολόγησης, το οποίο φορτώνει τα δεδομένα που καταγράφονται από το πρόγραμμα εντοπισμού σφαλμάτων. Δημιουργούμε επίσης ένα αντικείμενο δοκιμής, το οποίο μας δίνει τη δυνατότητα να έχουμε πρόσβαση, να υποβάλλουμε ερωτήματα και να φιλτράρουμε τα δεδομένα που έχει αποθηκεύσει το Debugger. Με το δοκιμαστικό αντικείμενο, μπορούμε να επαναλάβουμε τα βήματα που αποθηκεύτηκαν κατά τις φάσεις συμπερασμάτων και εκπαίδευσης trial.steps(mode)
.
Αρχικά, ανακτούμε τις εξόδους του μοντέλου (trial.tensor("ResNet_output_0")
) καθώς και το προτελευταίο στρώμα (trial.tensor_names(regex=".*avgpool_output")
). Αυτό το κάνουμε για τις φάσεις συμπερασμάτων και επικύρωσης της εκπαίδευσης (modes.EVAL
και modes.PREDICT
). Οι τανυστές από τη φάση επικύρωσης χρησιμεύουν ως εκτίμηση της κανονικής κατανομής, την οποία στη συνέχεια χρησιμοποιούμε για να συγκρίνουμε την κατανομή των δεδομένων συμπερασμάτων. Δημιουργήσαμε μια τάξη ΛΑΔΗΣ (Ανίχνευση κατανομών εισροών αντιπάλου μέσω στατιστικών στοιχείων Layerwise). Αυτή η κλάση παρέχει τις σχετικές λειτουργίες για την εκτέλεση της δοκιμής δύο δειγμάτων. Παίρνει τη λίστα των τανυστών από τις φάσεις συμπερασμάτων και επικύρωσης και εκτελεί τη δοκιμή δύο δειγμάτων. Επιστρέφει ένα ποσοστό ανίχνευσης, το οποίο είναι μια τιμή μεταξύ 0-100%. Όσο υψηλότερη είναι η τιμή, τόσο πιο πιθανό είναι τα δεδομένα συμπερασμάτων να ακολουθούν διαφορετική κατανομή. Επιπλέον, υπολογίζουμε μια βαθμολογία για κάθε δείγμα που υποδεικνύει πόσο πιθανό ένα δείγμα είναι αντίθετο και καταγράφονται τα κορυφαία 100 δείγματα, έτσι ώστε οι χρήστες να μπορούν να τα επιθεωρήσουν περαιτέρω. Δείτε τον παρακάτω κώδικα:
Δοκιμή έναντι αντίθετων εισροών
Τώρα που έχει αναπτυχθεί το προσαρμοσμένο πρόγραμμα Παρακολούθησης Μοντέλων, μπορούμε να παράγουμε κάποια αποτελέσματα συμπερασμάτων.
Αρχικά, εκτελούμε δεδομένα από το σύνολο παραμονής και μετά με αντίθετες εισόδους:
Στη συνέχεια, μπορούμε να ελέγξουμε την οθόνη της οθόνης μοντέλου Στούντιο Amazon SageMaker ή χρήση amazoncloudwatch καταγράφει για να δει αν βρέθηκε κάποιο πρόβλημα.
Στη συνέχεια, χρησιμοποιούμε τις αντίθετες εισόδους έναντι του μοντέλου που φιλοξενείται στο SageMaker. Χρησιμοποιούμε το δοκιμαστικό σύνολο δεδομένων του συνόλου δεδομένων Tiny ImageNet και εφαρμόζουμε την επίθεση PGD, η οποία εισάγει διαταραχές σε επίπεδο pixel, έτσι ώστε το μοντέλο να μην αναγνωρίζει τις σωστές κλάσεις. Στις παρακάτω εικόνες, η αριστερή στήλη δείχνει δύο πρωτότυπες δοκιμαστικές εικόνες, η μεσαία στήλη δείχνει τις αντίθετα διαταραγμένες εκδόσεις τους και η δεξιά στήλη δείχνει τη διαφορά μεταξύ των δύο εικόνων.
Τώρα μπορούμε να ελέγξουμε την κατάσταση της Οθόνης Μοντέλου και να δούμε ότι ορισμένες από τις εικόνες συμπερασμάτων προήλθαν από διαφορετική διανομή.
Αποτελέσματα και δράση χρήστη
Η προσαρμοσμένη εργασία Παρακολούθησης Μοντέλου καθορίζει τις βαθμολογίες για κάθε αίτημα συμπερασμάτων, το οποίο υποδεικνύει πόσο πιθανό το δείγμα είναι αντίθετο σύμφωνα με τη δοκιμή MMD. Αυτές οι βαθμολογίες συγκεντρώνονται για όλα τα αιτήματα συμπερασμάτων. Η βαθμολογία τους με τον αντίστοιχο αριθμό βήματος του προγράμματος εντοπισμού σφαλμάτων καταγράφεται σε ένα αρχείο JSON και μεταφορτώνεται στο Amazon S3. Αφού ολοκληρωθεί η εργασία παρακολούθησης μοντέλου, πραγματοποιούμε λήψη του αρχείου JSON, ανακτούμε τους αριθμούς βημάτων και χρησιμοποιούμε το πρόγραμμα εντοπισμού σφαλμάτων για να ανακτήσουμε τις αντίστοιχες εισόδους του μοντέλου για αυτά τα βήματα. Αυτό μας επιτρέπει να επιθεωρήσουμε τις εικόνες που εντοπίστηκαν ως αντίθετες.
Το ακόλουθο μπλοκ κώδικα σχεδιάζει τις δύο πρώτες εικόνες που έχουν αναγνωριστεί ως οι πιο πιθανό να είναι αντίθετες:
Στο παράδειγμα δοκιμής μας, λαμβάνουμε την ακόλουθη έξοδο. Η εικόνα της μέδουσας εσφαλμένα είχε προβλεφθεί ως πορτοκάλι και η εικόνα της καμήλας ως πάντα. Προφανώς, το μοντέλο απέτυχε σε αυτές τις εισόδους και δεν πρόβλεψε καν μια παρόμοια κατηγορία εικόνας, όπως χρυσόψαρο ή άλογο. Για σύγκριση, δείχνουμε επίσης τα αντίστοιχα φυσικά δείγματα από το σετ δοκιμών στη δεξιά πλευρά. Μπορούμε να παρατηρήσουμε ότι οι τυχαίες διαταραχές που εισάγει ο εισβολέας είναι πολύ ορατές στο φόντο και των δύο εικόνων.
Η εργασία προσαρμοσμένης παρακολούθησης μοντέλου δημοσιεύει το ποσοστό ανίχνευσης στο CloudWatch, ώστε να μπορέσουμε να διερευνήσουμε πώς άλλαξε αυτό το ποσοστό με την πάροδο του χρόνου. Μια σημαντική αλλαγή μεταξύ δύο σημείων δεδομένων μπορεί να υποδεικνύει ότι ένας αντίπαλος προσπαθούσε να ξεγελάσει το μοντέλο σε ένα συγκεκριμένο χρονικό πλαίσιο. Επιπλέον, μπορείτε επίσης να σχεδιάσετε τον αριθμό των αιτημάτων συμπερασμάτων που υποβάλλονται σε επεξεργασία σε κάθε εργασία παρακολούθησης μοντέλου και τον ρυθμό ανίχνευσης γραμμής βάσης, ο οποίος υπολογίζεται μέσω του συνόλου δεδομένων επικύρωσης. Ο βασικός ρυθμός είναι συνήθως κοντά στο 0 και χρησιμεύει μόνο ως μέτρηση σύγκρισης.
Το ακόλουθο στιγμιότυπο οθόνης δείχνει τις μετρήσεις που δημιουργήθηκαν από τις δοκιμαστικές εκτελούμενες εκτελούμενες, οι οποίες εκτέλεσαν τρεις εργασίες παρακολούθησης μοντέλου σε διάστημα 3 ωρών. Κάθε εργασία επεξεργάζεται περίπου 200–300 αιτήματα συμπερασμάτων κάθε φορά. Το ποσοστό ανίχνευσης είναι 100% μεταξύ 5:00 μ.μ. και 6:00 μ.μ. και πέφτει μετά.
Επιπλέον, μπορούμε επίσης να επιθεωρήσουμε τις κατανομές των αναπαραστάσεων που δημιουργούνται από τα ενδιάμεσα στρώματα του μοντέλου. Με τον εντοπισμό σφαλμάτων, μπορούμε να έχουμε πρόσβαση στα δεδομένα από τη φάση επικύρωσης της εργασίας εκπαίδευσης και στους τανυστές από τη φάση συμπερασμάτων και να χρησιμοποιήσουμε το t-SNE για να απεικονίσουμε την κατανομή τους για ορισμένες προβλεπόμενες κλάσεις. Δείτε τον παρακάτω κώδικα:
Στη δοκιμαστική μας περίπτωση, λαμβάνουμε την ακόλουθη απεικόνιση t-SNE για τη δεύτερη κατηγορία εικόνας. Μπορούμε να παρατηρήσουμε ότι τα αντίθετα δείγματα ομαδοποιούνται διαφορετικά από τα φυσικά.
Χαρακτηριστικά
Σε αυτήν την ανάρτηση, δείξαμε πώς να χρησιμοποιήσετε μια δοκιμή δύο δειγμάτων χρησιμοποιώντας τη μέγιστη μέση διαφορά για τον εντοπισμό αντίθετων εισροών. Δείξαμε πώς μπορείτε να αναπτύξετε τέτοιους μηχανισμούς ανίχνευσης χρησιμοποιώντας το Debugger και το Model Monitor. Αυτή η ροή εργασιών σάς επιτρέπει να παρακολουθείτε τα μοντέλα σας που φιλοξενούνται στο SageMaker σε κλίμακα και να εντοπίζετε αυτόματα τις αντίθετες εισόδους. Για να μάθετε περισσότερα σχετικά με αυτό, ανατρέξτε στο δικό μας GitHub repo.
αναφορές
[1] Aleksander Madry, Aleksandar Makelov, Ludwig Schmidt, Δημήτρης Τσίπρας και Adrian Vladu. Προς μοντέλα βαθιάς μάθησης ανθεκτικά σε αντίπαλες επιθέσεις. Σε Διεθνές συνέδριο για τις μαθησιακές παραστάσεις 2018.
[2] Laurens van der Maaten και Geoffrey Hinton. Οπτικοποίηση δεδομένων χρησιμοποιώντας t-SNE. Journal of Machine Learning Research, 9:2579–2605, 2008. URL http://www.jmlr.org/papers/v9/vandermaaten08a.html.
Σχετικά με τους Συγγραφείς
Νάταλι Ράσοχμαρ είναι Senior Applied Scientist στο AWS, όπου βοηθά τους πελάτες να αναπτύξουν εφαρμογές βαθιάς μάθησης.
Γιγκιττσάν Καγιά είναι πέμπτος φοιτητής διδακτορικού στο Πανεπιστήμιο του Μέριλαντ και εφαρμοσμένος επιστήμονας στο AWS, που εργάζεται στην ασφάλεια της μηχανικής μάθησης και στις εφαρμογές της μηχανικής μάθησης για την ασφάλεια.
Μπιλάλ Ζαφάρ είναι Εφαρμοσμένος Επιστήμονας στο AWS, που εργάζεται σε θέματα Δικαιοσύνης, Επεξήγησης και Ασφάλειας στη Μηχανική Μάθηση.
Sergul Aydore είναι Ανώτερος Εφαρμοσμένος Επιστήμονας στο AWS που εργάζεται για το απόρρητο και την ασφάλεια στη μηχανική μάθηση
- Coinsmart. Το καλύτερο ανταλλακτήριο Bitcoin και Crypto στην Ευρώπη.
- Platoblockchain. Web3 Metaverse Intelligence. Ενισχύθηκε η γνώση. ΕΛΕΥΘΕΡΗ ΠΡΟΣΒΑΣΗ.
- CryptoHawk. Ραντάρ Altcoin. Δωρεάν δοκιμή.
- Πηγή: https://aws.amazon.com/blogs/machine-learning/detect-adversarial-inputs-using-amazon-sagemaker-model-monitor-and-amazon-sagemaker-debugger/
- "
- 10
- 100
- 67
- 9
- ΠΛΗΡΟΦΟΡΙΕΣ
- πρόσβαση
- Σύμφωνα με
- Λογαριασμός
- ενεργός
- Πρόσθετος
- προηγμένες
- Όλα
- Amazon
- ποσό
- ανάλυση
- εφαρμογές
- εφαρμόζοντας
- περίπου
- AWS
- φόντο
- Baseline
- βάση
- γίνονται
- είναι
- Αποκλεισμός
- επιχείρηση
- κλήση
- πιάνω
- περιπτώσεις
- αλλαγή
- έλεγχοι
- τάξη
- τάξεις
- ταξινόμηση
- πιο κοντά
- κωδικός
- συλλέγουν
- Στήλη
- Υπολογίστε
- Διάσκεψη
- διαμόρφωση
- Δοχείο
- συμβάλλει
- δημιουργήθηκε
- Έγκλημα
- έθιμο
- Πελάτες
- ημερομηνία
- βαθύτερη
- Άμυνα
- κατέδειξε
- παρατάσσω
- αναπτυχθεί
- εντοπιστεί
- Ανίχνευση
- ανάπτυξη
- διαφορετικές
- δύσκολος
- Display
- διανομή
- Λιμενεργάτης
- Όχι
- Αποτελεσματικός
- υπαλλήλους
- ενεργοποιήσετε
- Τελικό σημείο
- Περιβάλλον
- εκτίμηση
- Συμβάν
- παράδειγμα
- αναμένω
- Πρόσωπο
- πρόσωπα
- Χαρακτηριστικό
- Εικόνα
- Όνομα
- εστιάζει
- Εξής
- Προς τα εμπρός
- Βρέθηκαν
- ΠΛΑΙΣΙΟ
- πλήρη
- λειτουργία
- περαιτέρω
- παραγωγής
- μετάβαση
- μεγαλύτερη
- βοηθά
- εδώ
- υψηλότερο
- Πως
- Πώς να
- HTTPS
- ιδέα
- εικόνα
- Επίπτωση
- ευρετήριο
- ατομικές
- πληροφορίες
- εισαγωγή
- διερευνήσει
- ζήτημα
- θέματα
- IT
- Δουλειά
- Θέσεις εργασίας
- ημερολόγιο
- Κλειδί
- γνώση
- γνωστός
- Ετικέτες
- large
- ΜΑΘΑΊΝΩ
- μάθηση
- Led
- Επίπεδο
- Πιθανός
- Λιστα
- Εισηγμένες
- τοποθεσία
- θέσεις
- μηχανή
- μάθηση μηχανής
- χάρτες
- Μέριλαντ
- Metrics
- MIT
- ML
- μοντέλο
- μοντέλα
- Παρακολούθηση
- παρακολούθηση
- περισσότερο
- πλέον
- πολλαπλούς
- Φυσικό
- Φύση
- δίκτυο
- Θόρυβος
- κανονικός
- σημειωματάριο
- αριθμός
- αριθμοί
- ΑΛΛΑ
- ποσοστό
- φάση
- Σημείο
- δυνατός
- ισχυρός
- προβλέψει
- πρόβλεψη
- Προβλέψεις
- παρόν
- μυστικότητα
- Απορρήτου και Ασφάλεια
- Διεργασίες
- παράγει
- Παράγεται
- παρέχει
- χορήγηση
- Τιμές
- Ακατέργαστος
- αναγνωρίζω
- κάντε ΕΓΓΡΑΦΗ
- τακτικός
- αναφέρουν
- Αποθήκη
- ζητήσει
- αιτήματα
- έρευνα
- Αποτελέσματα
- Επιστροφές
- κανόνες
- τρέξιμο
- τρέξιμο
- Κλίμακα
- Επιστήμονας
- ασφάλεια
- επιλέγονται
- σειρά
- σημαντικός
- παρόμοιες
- Απλούς
- ΕΞΙ
- small
- So
- μερικοί
- εξελιγμένα
- Χώρος
- ειδικά
- Εκκίνηση
- state-of-the-art
- στατιστικός
- στατιστική
- stats
- Κατάσταση
- χώρος στο δίσκο
- Φοιτητής
- δοκιμή
- Δοκιμές
- δοκιμές
- Μέσω
- ώρα
- κορυφή
- προς
- Εκπαίδευση
- δίκη
- πανεπιστήμιο
- us
- χρήση
- Χρήστες
- συνήθως
- αξία
- ορατός
- οραματισμός
- Ευάλωτες
- Τι
- αν
- ενώ
- Λευκή βίβλος
- Wikipedia
- εργαζόμενος
- θα
- έτος
- χρόνια