Συνδέστε και εκτελέστε μοντέλα μηχανικής εκμάθησης για οπτικές ανωμαλίες στην αρχιτεκτονική χωρίς διακομιστή AWS

Φανταστείτε ότι έχετε μια μεγάλη υποδομή διαφόρων ειδών συσκευών που πρέπει να συντηρείτε τακτικά ή να διασφαλίζετε ότι δεν είναι επικίνδυνες για το περιβάλλον.

Ένας τρόπος για να το πετύχετε αυτό είναι να στέλνετε τακτικά άτομα σε κάθε σημείο για να ελέγχουν αν όλα είναι καλά. Αυτό είναι κατά κάποιο τρόπο εφικτό αλλά και αρκετά ακριβό σε χρόνο και πόρους. Και αν η υποδομή είναι αρκετά μεγάλη, μπορεί να μην μπορείτε να την καλύψετε ολόκληρη μέσα σε ένα χρόνο.

Ένας άλλος τρόπος είναι να αυτοματοποιήσετε αυτή τη διαδικασία και να αφήσετε τις εργασίες στο cloud να επαληθευτούν για εσάς. Για να συμβεί αυτό, θα πρέπει να κάνετε τα εξής:

👉 Μια γρήγορη διαδικασία για τον τρόπο λήψης εικόνων των συσκευών. Αυτό μπορεί ακόμα να γίνει από άτομα, καθώς είναι ακόμα πολύ πιο γρήγορο να κάνετε απλώς μια εικόνα, όπως να κάνετε όλες τις διαδικασίες επαλήθευσης της συσκευής. Μπορεί επίσης να γίνει με φωτογραφίες που λαμβάνονται από αυτοκίνητα ή ακόμα και drones, οπότε γίνεται μια πολύ πιο γρήγορη και πιο αυτοματοποιημένη διαδικασία συλλογής εικόνων.

👉 Στη συνέχεια, θα πρέπει να στείλετε όλες τις ληφθείσες εικόνες σε ένα αποκλειστικό μέρος στο cloud.

👉 Στο cloud, χρειάζεστε μια αυτοματοποιημένη εργασία για να συλλέξετε τις φωτογραφίες και να τις επεξεργαστείτε μέσω μοντέλων μηχανικής εκμάθησης που έχουν εκπαιδευτεί να αναγνωρίζουν βλάβες ή ανωμαλίες της συσκευής.

👉 Τέλος, τα αποτελέσματα πρέπει να είναι ορατά στους απαιτούμενους χρήστες, ώστε να μπορεί να προγραμματιστεί η επισκευή για συσκευές με προβλήματα.

Ας δούμε πώς μπορούμε να επιτύχουμε ανίχνευση ανωμαλιών από τις εικόνες στο σύννεφο AWS. Η Amazon διαθέτει μερικά προκατασκευασμένα μοντέλα μηχανικής μάθησης που μπορούμε να χρησιμοποιήσουμε για αυτόν τον σκοπό.

Πώς να δημιουργήσετε ένα μοντέλο για ανίχνευση οπτικής ανωμαλίας

Για να δημιουργήσετε ένα μοντέλο για ανίχνευση οπτικής ανωμαλίας, θα χρειαστεί να ακολουθήσετε διάφορα βήματα:

Βήμα 1: Καθορίστε με σαφήνεια το πρόβλημα που θέλετε να λύσετε και τους τύπους ανωμαλιών που θέλετε να εντοπίσετε. Αυτό θα σας βοηθήσει να προσδιορίσετε το κατάλληλο σύνολο δεδομένων δοκιμής που θα χρειαστείτε για να εκπαιδεύσετε το μοντέλο.

Βήμα 2: Συλλέξτε ένα μεγάλο σύνολο δεδομένων εικόνων που αντιπροσωπεύουν κανονικές και ανώμαλες συνθήκες. Επισημάνετε τις εικόνες για να υποδείξετε ποιες είναι φυσιολογικές και ποιες περιέχουν ανωμαλίες.

Βήμα 3: Επιλέξτε μια αρχιτεκτονική μοντέλου που είναι κατάλληλη για την εργασία. Αυτό μπορεί να περιλαμβάνει την επιλογή ενός εκ των προτέρων εκπαιδευμένου μοντέλου και τη λεπτομέρεια του για τη συγκεκριμένη περίπτωση χρήσης ή τη δημιουργία ενός προσαρμοσμένου μοντέλου από την αρχή.

Βήμα 4: Εκπαιδεύστε το μοντέλο χρησιμοποιώντας το προετοιμασμένο σύνολο δεδομένων και τον επιλεγμένο αλγόριθμο. Αυτό σημαίνει τη χρήση της μάθησης μεταφοράς για τη μόχλευση προεκπαιδευμένων μοντέλων ή την εκπαίδευση του μοντέλου από την αρχή χρησιμοποιώντας τεχνικές όπως τα συνελικτικά νευρωνικά δίκτυα (CNN).

  11 Καλύτερο επαγγελματικό λογισμικό επεξεργασίας φωτογραφιών [Photoshop and Lightroom Alternatives]

Πώς να εκπαιδεύσετε ένα μοντέλο μηχανικής μάθησης

Πηγή: aws.amazon.com

Η διαδικασία εκπαίδευσης μοντέλων μηχανικής εκμάθησης AWS για ανίχνευση οπτικών ανωμαλιών συνήθως περιλαμβάνει πολλά σημαντικά βήματα.

#1. Συλλέξτε τα Δεδομένα

Στην αρχή, πρέπει να συλλέξετε και να επισημάνετε ένα μεγάλο σύνολο δεδομένων εικόνων που αντιπροσωπεύουν τόσο κανονικές όσο και ανώμαλες συνθήκες. Όσο μεγαλύτερο είναι το σύνολο δεδομένων, τόσο καλύτερα και ακριβέστερα μπορεί να εκπαιδευτεί το μοντέλο. Αλλά επίσης, περιλαμβάνει πολύ περισσότερο χρόνο αφιερωμένο στην εκπαίδευση του μοντέλου.

Συνήθως, θέλετε να έχετε περίπου 1000 φωτογραφίες σε ένα σετ δοκιμών για να έχετε μια καλή αρχή.

#2. Προετοιμάστε τα Δεδομένα

Τα δεδομένα εικόνας πρέπει πρώτα να υποβληθούν σε προεπεξεργασία για να μπορέσουν τα μοντέλα μηχανικής εκμάθησης να τα παραλάβουν. Η προεπεξεργασία μπορεί να σημαίνει διάφορα πράγματα, όπως:

  • Καθαρισμός των εικόνων εισόδου σε ξεχωριστούς υποφακέλους, διόρθωση μεταδεδομένων κ.λπ.
  • Αλλάξτε το μέγεθος των εικόνων για να καλύψετε τις απαιτήσεις ανάλυσης του μοντέλου.
  • Μοιράζοντάς τα σε μικρότερα κομμάτια εικόνων για πιο αποτελεσματική και παράλληλη επεξεργασία.

#3. Επιλέξτε το μοντέλο

Τώρα επιλέξτε το σωστό μοντέλο για να κάνετε τη σωστή δουλειά. Είτε επιλέξτε ένα προεκπαιδευμένο μοντέλο ή μπορείτε να δημιουργήσετε ένα προσαρμοσμένο μοντέλο κατάλληλο για τον εντοπισμό οπτικών ανωμαλιών στο μοντέλο.

#4. Αξιολογήστε τα Αποτελέσματα

Μόλις το μοντέλο επεξεργαστεί το σύνολο δεδομένων σας, θα επικυρώσετε την απόδοσή του. Επίσης, θέλετε να ελέγξετε εάν τα αποτελέσματα είναι ικανοποιητικά για τις ανάγκες. Αυτό μπορεί να σημαίνει, για παράδειγμα, ότι τα αποτελέσματα είναι σωστά σε περισσότερο από το 99% των δεδομένων εισόδου.

#5. Αναπτύξτε το μοντέλο

Εάν είστε ικανοποιημένοι με τα αποτελέσματα και την απόδοση, αναπτύξτε το μοντέλο με μια συγκεκριμένη έκδοση στο περιβάλλον λογαριασμού AWS, ώστε οι διαδικασίες και οι υπηρεσίες να αρχίσουν να το χρησιμοποιούν.

#6. Παρακολούθηση και βελτίωση

Αφήστε το να εκτελέσει διάφορες εργασίες δοκιμής και σύνολα δεδομένων εικόνων και αξιολογήστε συνεχώς εάν οι απαιτούμενες παράμετροι για την ορθότητα ανίχνευσης εξακολουθούν να ισχύουν.

Εάν όχι, επανεκπαιδεύστε το μοντέλο συμπεριλαμβάνοντας τα νέα σύνολα δεδομένων όπου το μοντέλο έδωσε λάθος αποτελέσματα.

Μοντέλα μηχανικής μάθησης AWS

Τώρα, δείτε μερικά συγκεκριμένα μοντέλα που μπορείτε να αξιοποιήσετε στο cloud του Amazon.

Αναγνώριση AWS

Πηγή: aws.amazon.com

Η αναγνώριση είναι μια υπηρεσία ανάλυσης εικόνας και βίντεο γενικής χρήσης που μπορεί να χρησιμοποιηθεί για διάφορες περιπτώσεις χρήσης, όπως η αναγνώριση προσώπου, η ανίχνευση αντικειμένων και η αναγνώριση κειμένου. Τις περισσότερες φορές, θα χρησιμοποιήσετε το μοντέλο αναγνώρισης για μια αρχική πρωτογενή παραγωγή αποτελεσμάτων ανίχνευσης για να σχηματίσετε μια λίμνη δεδομένων εντοπισμένων ανωμαλιών.

Παρέχει μια σειρά από προκατασκευασμένα μοντέλα που μπορείτε να χρησιμοποιήσετε χωρίς εκπαίδευση. Η αναγνώριση παρέχει επίσης ανάλυση σε πραγματικό χρόνο εικόνων και βίντεο με υψηλή ακρίβεια και χαμηλό λανθάνοντα χρόνο.

Ακολουθούν ορισμένες τυπικές περιπτώσεις χρήσης όπου το Rekognition είναι μια καλή επιλογή για τον εντοπισμό ανωμαλιών:

  • Έχετε μια θήκη γενικής χρήσης για ανίχνευση ανωμαλιών, όπως ανίχνευση ανωμαλιών σε εικόνες ή βίντεο.
  • Εκτελέστε ανίχνευση ανωμαλιών σε πραγματικό χρόνο.
  • Ενσωματώστε το μοντέλο ανίχνευσης ανωμαλιών με υπηρεσίες AWS όπως το Amazon S3, το Amazon Kinesis ή το AWS Lambda.

Και εδώ είναι μερικά συγκεκριμένα παραδείγματα ανωμαλιών που μπορείτε να εντοπίσετε χρησιμοποιώντας την Αναγνώριση:

  • Ανωμαλίες στα πρόσωπα, όπως η ανίχνευση εκφράσεων του προσώπου ή συναισθημάτων εκτός του φυσιολογικού εύρους.
  • Αντικείμενα που λείπουν ή δεν έχουν τοποθετηθεί σε μια σκηνή.
  • Ανορθόγραφες λέξεις ή ασυνήθιστα μοτίβα κειμένου.
  • Ασυνήθιστες συνθήκες φωτισμού ή απροσδόκητα αντικείμενα σε μια σκηνή.
  • Ακατάλληλο ή προσβλητικό περιεχόμενο σε εικόνες ή βίντεο.
  • Ξαφνικές αλλαγές στην κίνηση ή απροσδόκητα μοτίβα κίνησης.
  5 Εργαλεία για τη σάρωση της υποδομής ως κώδικα για ευπάθειες

AWS Lookout for Vision

Πηγή: aws.amazon.com

Το Lookout for Vision είναι ένα μοντέλο ειδικά σχεδιασμένο για ανίχνευση ανωμαλιών σε βιομηχανικές διαδικασίες, όπως γραμμές παραγωγής και παραγωγής. Συνήθως απαιτεί κάποια προσαρμοσμένη προεπεξεργασία κώδικα και μεταεπεξεργασία μιας εικόνας ή κάποια συγκεκριμένη αποκοπή της εικόνας, που συνήθως γίνεται χρησιμοποιώντας μια γλώσσα προγραμματισμού Python. Τις περισσότερες φορές, ειδικεύεται σε κάποια πολύ ειδικά προβλήματα στην εικόνα.

Απαιτείται προσαρμοσμένη εκπαίδευση σε ένα σύνολο δεδομένων κανονικών και ανώμαλων εικόνων για τη δημιουργία ενός προσαρμοσμένου μοντέλου για τον εντοπισμό ανωμαλιών. Δεν είναι τόσο εστιασμένο σε πραγματικό χρόνο. Μάλλον, έχει σχεδιαστεί για ομαδική επεξεργασία εικόνων, εστιάζοντας στην ακρίβεια και την ακρίβεια.

Ακολουθούν ορισμένες τυπικές περιπτώσεις χρήσης όπου το Lookout for Vision είναι μια καλή επιλογή εάν πρέπει να εντοπίσετε:

  • Ελαττώματα σε κατασκευασμένα προϊόντα ή εντοπισμός αστοχιών εξοπλισμού σε γραμμή παραγωγής.
  • Ένα μεγάλο σύνολο δεδομένων εικόνων ή άλλων δεδομένων.
  • Ανωμαλία σε πραγματικό χρόνο σε μια βιομηχανική διαδικασία.
  • Ανωμαλία ενσωματωμένη με άλλες υπηρεσίες AWS, όπως το Amazon S3 ή το AWS IoT.

Και εδώ είναι μερικά συγκεκριμένα παραδείγματα ανωμαλιών που μπορείτε να εντοπίσετε χρησιμοποιώντας το Lookout for Vision:

  • Ελαττώματα σε κατασκευασμένα προϊόντα, όπως γρατσουνιές, βαθουλώματα ή άλλες ατέλειες, μπορεί να επηρεάσουν την ποιότητα του προϊόντος.
  • Βλάβες εξοπλισμού σε μια γραμμή παραγωγής, όπως ανίχνευση σπασμένων ή δυσλειτουργικών μηχανημάτων που μπορεί να προκαλέσουν καθυστερήσεις ή κινδύνους για την ασφάλεια.
  • Τα ζητήματα ποιοτικού ελέγχου σε μια γραμμή παραγωγής περιλαμβάνουν τον εντοπισμό προϊόντων που δεν πληρούν τις απαιτούμενες προδιαγραφές ή ανοχές.
  • Οι κίνδυνοι για την ασφάλεια σε μια γραμμή παραγωγής περιλαμβάνουν τον εντοπισμό αντικειμένων ή υλικών που μπορεί να θέτουν σε κίνδυνο τους εργαζόμενους ή τον εξοπλισμό.
  • Ανωμαλίες σε μια παραγωγική διαδικασία, όπως η ανίχνευση απροσδόκητων αλλαγών στη ροή υλικών ή προϊόντων μέσω της γραμμής παραγωγής.

AWS Sagemaker

Πηγή: aws.amazon.com

Το Sagemaker είναι μια πλήρως διαχειριζόμενη πλατφόρμα για την κατασκευή, την εκπαίδευση και την ανάπτυξη προσαρμοσμένων μοντέλων μηχανικής εκμάθησης.

Είναι μια πολύ πιο στιβαρή λύση. Στην πραγματικότητα, παρέχει έναν τρόπο σύνδεσης και εκτέλεσης πολλών διεργασιών πολλαπλών βημάτων σε μια αλυσίδα εργασιών που ακολουθούν η μία μετά την άλλη, όπως ακριβώς κάνουν οι AWS Step Functions.

Επειδή όμως το Sagemaker χρησιμοποιεί ad-hoc στιγμιότυπα EC2 για την επεξεργασία του, δεν υπάρχει όριο 15 λεπτών για επεξεργασία μεμονωμένης εργασίας, όπως στην περίπτωση των συναρτήσεων λάμδα AWS στις AWS Step Functions.

Μπορείτε επίσης να κάνετε αυτόματο συντονισμό μοντέλων με το Sagemaker, το οποίο είναι σίγουρα ένα χαρακτηριστικό που το κάνει ξεχωριστή επιλογή. Τέλος, η Sagemaker μπορεί να αναπτύξει αβίαστα το μοντέλο σε ένα περιβάλλον παραγωγής.

Ακολουθούν ορισμένες τυπικές περιπτώσεις χρήσης όπου το SageMaker είναι μια καλή επιλογή για τον εντοπισμό ανωμαλιών:

  • Μια συγκεκριμένη περίπτωση χρήσης που δεν καλύπτεται από προκατασκευασμένα μοντέλα ή API και εάν πρέπει να δημιουργήσετε ένα προσαρμοσμένο μοντέλο προσαρμοσμένο στις συγκεκριμένες ανάγκες σας.
  • Εάν έχετε ένα μεγάλο σύνολο δεδομένων εικόνων ή άλλων δεδομένων. Τα προκατασκευασμένα μοντέλα απαιτούν κάποια προεπεξεργασία σε τέτοιες περιπτώσεις, αλλά η Sagemaker μπορεί να το κάνει χωρίς αυτήν.
  • Εάν χρειάζεται να εκτελέσετε ανίχνευση ανωμαλιών σε πραγματικό χρόνο.
  • Εάν πρέπει να ενσωματώσετε το μοντέλο σας με άλλες υπηρεσίες AWS, όπως το Amazon S3, το Amazon Kinesis ή το AWS Lambda.
  11 λιγότερο γνωστές δυνατότητες του Gmail για να βελτιώσετε την αποτελεσματικότητα του email σας

Και εδώ είναι μερικές τυπικές ανιχνεύσεις ανωμαλιών που μπορεί να εκτελέσει το Sagemaker:

  • Ανίχνευση απάτης σε χρηματοοικονομικές συναλλαγές, για παράδειγμα, ασυνήθιστα πρότυπα δαπανών ή συναλλαγές εκτός του κανονικού εύρους.
  • Κυβερνοασφάλεια στην κυκλοφορία δικτύου, όπως ασυνήθιστα μοτίβα μεταφοράς δεδομένων ή απροσδόκητες συνδέσεις σε εξωτερικούς διακομιστές.
  • Ιατρική διάγνωση σε ιατρικές εικόνες, όπως ανίχνευση όγκων.
  • Ανωμαλίες στην απόδοση του εξοπλισμού, όπως η ανίχνευση αλλαγών σε κραδασμούς ή θερμοκρασία.
  • Ποιοτικός έλεγχος στις διαδικασίες παραγωγής, όπως ο εντοπισμός ελαττωμάτων σε προϊόντα ή ο εντοπισμός αποκλίσεων από τα αναμενόμενα πρότυπα ποιότητας.
  • Ασυνήθιστα πρότυπα χρήσης ενέργειας.

Πώς να ενσωματώσετε τα μοντέλα στην αρχιτεκτονική χωρίς διακομιστή

Ένα εκπαιδευμένο μοντέλο μηχανικής μάθησης είναι μια υπηρεσία cloud που δεν χρησιμοποιεί διακομιστές συμπλέγματος στο παρασκήνιο. Έτσι, μπορεί εύκολα να συμπεριληφθεί σε μια υπάρχουσα αρχιτεκτονική χωρίς διακομιστή.

Ο αυτοματισμός γίνεται μέσω λειτουργιών λάμδα AWS, συνδεδεμένες σε μια εργασία πολλαπλών βημάτων μέσα σε μια υπηρεσία AWS Step Functions.

Συνήθως, χρειάζεστε αρχική ανίχνευση αμέσως μετά τη συλλογή των εικόνων και την προεπεξεργασία τους στον κάδο S3. Εκεί θα δημιουργήσετε ανίχνευση ατομικής ανωμαλίας στις εικόνες εισόδου και θα αποθηκεύσετε τα αποτελέσματα σε μια λίμνη δεδομένων, για παράδειγμα, που αντιπροσωπεύεται από τη βάση δεδομένων Athena.

Σε ορισμένες περιπτώσεις, αυτή η αρχική ανίχνευση δεν είναι αρκετή για τη συγκεκριμένη περίπτωση χρήσης σας. Ίσως χρειαστείτε άλλη, πιο λεπτομερή ανίχνευση. Για παράδειγμα, το αρχικό μοντέλο (π.χ. Αναγνώριση) μπορεί να εντοπίσει κάποιο πρόβλημα στη συσκευή, αλλά δεν είναι δυνατό να προσδιοριστεί με αξιοπιστία τι είδους πρόβλημα είναι αυτό.

Για αυτό, μπορεί να χρειαστείτε ένα άλλο μοντέλο με διαφορετικές δυνατότητες. Σε μια τέτοια περίπτωση, μπορείτε να εκτελέσετε το άλλο μοντέλο (π.χ. Lookout for Vision) στο υποσύνολο των εικόνων όπου το αρχικό μοντέλο εντόπισε το πρόβλημα.

Αυτός είναι επίσης ένας καλός τρόπος για να εξοικονομήσετε κάποιο κόστος, καθώς δεν χρειάζεται να εκτελέσετε το δεύτερο μοντέλο σε ένα ολόκληρο σύνολο εικόνων. Αντίθετα, το εκτελείτε μόνο στο υποσύνολο με νόημα.

Οι συναρτήσεις AWS Lambda θα καλύπτουν όλη αυτή την επεξεργασία χρησιμοποιώντας κώδικα Python ή Javascript μέσα. Εξαρτάται μόνο από τη φύση των διεργασιών και το πόσες λειτουργίες λάμδα AWS θα χρειαστεί να συμπεριλάβετε σε μια ροή. Το όριο των 15 λεπτών για τη μέγιστη διάρκεια μιας κλήσης λάμδα AWS θα καθορίσει πόσα βήματα πρέπει να περιέχει μια τέτοια διαδικασία.

Τελικές Λέξεις

Η εργασία με μοντέλα μηχανικής εκμάθησης cloud είναι μια πολύ ενδιαφέρουσα δουλειά. Αν το δεις από την πλευρά των δεξιοτήτων και των τεχνολογιών, θα ανακαλύψεις ότι πρέπει να έχεις μια ομάδα με μεγάλη ποικιλία δεξιοτήτων.

Η ομάδα πρέπει να κατανοήσει πώς να εκπαιδεύει ένα μοντέλο, είτε είναι προκατασκευασμένο είτε δημιουργημένο από την αρχή. Αυτό σημαίνει ότι πολλά μαθηματικά ή άλγεβρα εμπλέκονται στην εξισορρόπηση της αξιοπιστίας και της απόδοσης των αποτελεσμάτων.

Χρειάζεστε επίσης κάποιες προηγμένες δεξιότητες κωδικοποίησης Python ή Javascript, δεξιότητες βάσης δεδομένων και SQL. Και αφού ολοκληρωθεί όλη η εργασία περιεχομένου, χρειάζεστε δεξιότητες DevOps για να το συνδέσετε σε μια διοχέτευση που θα την κάνει μια αυτοματοποιημένη εργασία έτοιμη για ανάπτυξη και εκτέλεση.

Ο ορισμός της ανωμαλίας και η εκπαίδευση του μοντέλου είναι ένα πράγμα. Αλλά είναι μια πρόκληση να τα ενσωματώσετε όλα σε μια λειτουργική ομάδα που μπορεί να επεξεργάζεται τα αποτελέσματα των μοντέλων και να αποθηκεύει τα δεδομένα με αποτελεσματικό και αυτοματοποιημένο τρόπο για να τα παρέχει στους τελικούς χρήστες.

Στη συνέχεια, ελέγξτε τα πάντα σχετικά με την αναγνώριση προσώπου για επιχειρήσεις.