Τα μοντέλα μηχανικής μάθησης είναι παντού αυτή τη στιγμή. Κατά τη διάρκεια της ημέρας, πιθανότατα χρησιμοποιείτε αυτά τα μοντέλα πολύ περισσότερο από όσο φαντάζεστε. Τα μοντέλα μηχανικής μάθησης χρησιμοποιούνται σε κοινές εργασίες, όπως η περιήγηση στα μέσα κοινωνικής δικτύωσης, η φωτογράφιση και ο έλεγχος του καιρού.
Ένας αλγόριθμος μηχανικής μάθησης μπορεί να σας πρότεινε αυτό το ιστολόγιο. Όλοι έχουμε ακούσει για το πόσο χρονοβόρο είναι να εκπαιδεύσουμε αυτά τα μοντέλα. Όλοι έχουμε ακούσει ότι η εκπαίδευση αυτών των μοντέλων είναι χρονοβόρα.
Ωστόσο, η εξαγωγή συμπερασμάτων σε αυτά τα μοντέλα είναι συχνά υπολογιστικά δαπανηρή.
Χρειαζόμαστε συστήματα υπολογιστών που να είναι αρκετά γρήγορα ώστε να χειρίζονται τον ρυθμό με τον οποίο χρησιμοποιούμε τις υπηρεσίες μηχανικής εκμάθησης. Ως αποτέλεσμα, η πλειοψηφία αυτών των μοντέλων εκτελούνται σε τεράστια κέντρα δεδομένων με συμπλέγματα CPU και GPU (ακόμη και TPU σε ορισμένες περιπτώσεις).
Όταν τραβάτε μια φωτογραφία, θέλετε μάθηση μηχανής για να το βελτιώσετε άμεσα. Δεν θέλετε να περιμένετε να μεταφερθεί η εικόνα σε ένα κέντρο δεδομένων, να υποβληθεί σε επεξεργασία και να επιστραφεί σε εσάς. Σε αυτήν την περίπτωση, το μοντέλο μηχανικής εκμάθησης θα πρέπει να εκτελείται τοπικά.
Όταν λέτε "Hey Siri" ή "OK, Google", θέλετε τα gadget σας να ανταποκρίνονται αμέσως. Αναμονή για τη μετάδοση της φωνής σας στους υπολογιστές, όπου θα αξιολογηθεί και θα ληφθούν δεδομένα.
Αυτό απαιτεί χρόνο και έχει αρνητικές επιπτώσεις στην εμπειρία του χρήστη. Σε αυτήν την περίπτωση, θέλετε το μοντέλο μηχανικής εκμάθησης να λειτουργεί και τοπικά. Εδώ μπαίνει το TinyML.
Σε αυτήν την ανάρτηση, θα εξετάσουμε το TinyML, πώς λειτουργεί, τις χρήσεις του, πώς να ξεκινήσετε με αυτό και πολλά άλλα.
Τι είναι TinyML?
Το TinyML είναι ένας κλάδος αιχμής που εφαρμόζει τις επαναστατικές δυνατότητες της μηχανικής μάθησης στα όρια απόδοσης και ισχύος μικρών συσκευών και ενσωματωμένων συστημάτων.
Η επιτυχής ανάπτυξη σε αυτόν τον κλάδο απαιτεί την πλήρη κατανόηση των εφαρμογών, των αλγορίθμων, του υλικού και του λογισμικού. Είναι ένα υποείδος μηχανικής μάθησης που χρησιμοποιεί μοντέλα βαθιάς μάθησης και μηχανικής μάθησης σε ενσωματωμένα συστήματα που χρησιμοποιούν μικροελεγκτές, επεξεργαστές ψηφιακού σήματος ή άλλους εξειδικευμένους επεξεργαστές εξαιρετικά χαμηλής κατανάλωσης.
Οι ενσωματωμένες συσκευές με δυνατότητα TinyML προορίζονται για την εκτέλεση ενός αλγόριθμου μηχανικής εκμάθησης για μια συγκεκριμένη εργασία, συνήθως ως μέρος της άκρη υπολογιστών.
Για να λειτουργούν για εβδομάδες, μήνες ή και χρόνια χωρίς επαναφόρτιση ή αντικατάσταση μπαταρίας, αυτά τα ενσωματωμένα συστήματα πρέπει να έχουν κατανάλωση ενέργειας μικρότερη από 1 mW.
Πώς λειτουργεί;
Το μόνο πλαίσιο μηχανικής μάθησης που μπορεί να χρησιμοποιηθεί με μικροελεγκτές και υπολογιστές είναι TensorFlow Lite. Είναι ένα σύνολο εργαλείων που επιτρέπουν στους προγραμματιστές να εκτελούν τα μοντέλα τους σε κινητές συσκευές, ενσωματωμένες και ακραίες συσκευές, επιτρέποντας τη μηχανική εκμάθηση εν κινήσει.
Η διεπαφή του μικροελεγκτή χρησιμοποιείται για τη συλλογή δεδομένων από αισθητήρες (όπως μικρόφωνα, κάμερες ή ενσωματωμένους αισθητήρες).
Πριν σταλούν στον μικροελεγκτή, τα δεδομένα ενσωματώνονται σε ένα μοντέλο μηχανικής εκμάθησης που βασίζεται σε σύννεφο. Η μαζική εκπαίδευση σε λειτουργία εκτός σύνδεσης χρησιμοποιείται συνήθως για την εκπαίδευση αυτών των μοντέλων. Τα δεδομένα αισθητήρα που θα χρησιμοποιηθούν για μάθηση και συμπέρασμα έχει ήδη καθοριστεί για τη συγκεκριμένη εφαρμογή.
Εάν το μοντέλο εκπαιδεύεται να ανιχνεύει μια λέξη αφύπνισης, για παράδειγμα, έχει ήδη ρυθμιστεί ώστε να χειρίζεται μια συνεχή ροή ήχου από ένα μικρόφωνο.
Όλα γίνονται ήδη με τη βοήθεια μιας πλατφόρμας cloud όπως το Google Colab στην περίπτωση του TensorFlow Lite, συμπεριλαμβανομένης της επιλογής δεδομένων, της κανονικοποίησης, της υποπροσαρμογής ή της υπερπροσαρμογής του μοντέλου, της τακτοποίησης, της αύξησης δεδομένων, της εκπαίδευσης, της επικύρωσης και της δοκιμής.
Ένα πλήρως εκπαιδευμένο μοντέλο τελικά μετασχηματίζεται και μεταφέρεται στον μικροελεγκτή, στον μικροϋπολογιστή ή στον επεξεργαστή ψηφιακού σήματος μετά από μαζική εκπαίδευση εκτός σύνδεσης. Το μοντέλο δεν έχει πρόσθετη εκπαίδευση αφού μετακινηθεί σε μια ενσωματωμένη συσκευή. Αντίθετα, χρησιμοποιεί αποκλειστικά δεδομένα σε πραγματικό χρόνο από αισθητήρες ή συσκευές εισόδου για την εφαρμογή του μοντέλου.
Ως αποτέλεσμα, ένα μοντέλο μηχανικής εκμάθησης TinyML πρέπει να είναι εξαιρετικά ανθεκτικό και να μπορεί να επανεκπαιδευτεί μετά από χρόνια ή να μην επανεκπαιδευτεί ποτέ. Όλες οι πιθανές υποσυναρμολόγηση και υπερπροσαρμογή του μοντέλου πρέπει να διερευνηθούν έτσι ώστε το μοντέλο να παραμένει σχετικό για μεγάλο χρονικό διάστημα, ιδανικά επ' αόριστον.
Γιατί όμως να χρησιμοποιήσετε το TinyML;
Το TinyML ξεκίνησε ως μια προσπάθεια εξάλειψης ή μείωσης της εξάρτησης του IoT από υπηρεσίες cloud για βασικές μικρής κλίμακας μάθηση μηχανής επιχειρήσεις. Αυτό κατέστησε αναγκαία τη χρήση μοντέλων μηχανικής εκμάθησης στις ίδιες τις συσκευές edge. Παρέχει τα ακόλουθα σημαντικά οφέλη:
- Χαμηλή ενέργεια κατανάλωση: Μια εφαρμογή TinyML θα πρέπει κατά προτίμηση να χρησιμοποιεί λιγότερο από 1 milliWatt ισχύος. Με τόσο χαμηλή κατανάλωση ενέργειας, μια συσκευή μπορεί να συνεχίσει να εξάγει συμπεράσματα από δεδομένα αισθητήρων για μήνες ή χρόνια, ακόμη και αν τροφοδοτείται από μια μπαταρία νομίσματος.
- Χαμηλότερο κόστος: Είναι σχεδιασμένο να λειτουργεί σε μικροελεγκτές ή DSP χαμηλού κόστους 32 bit. Αυτοί οι μικροελεγκτές είναι συνήθως μερικά σεντς ο καθένας και το συνολικό ενσωματωμένο σύστημα που αναπτύχθηκε με αυτούς είναι λιγότερο από 50 $. Αυτή είναι μια πολύ οικονομική επιλογή για την εκτέλεση μικρών προγραμμάτων μηχανικής εκμάθησης σε μεγάλη κλίμακα και είναι ιδιαίτερα επωφελής σε εφαρμογές IoT όπου πρέπει να εφαρμοστεί η μηχανική μάθηση.
- Χαμηλότερη καθυστέρηση: Οι εφαρμογές του έχουν χαμηλό λανθάνοντα χρόνο αφού δεν χρειάζονται μεταφορά ή ανταλλαγή δεδομένων μέσω του δικτύου. Όλα τα δεδομένα αισθητήρων καταγράφονται τοπικά και εξάγονται συμπεράσματα χρησιμοποιώντας ένα μοντέλο που έχει ήδη εκπαιδευτεί. Τα αποτελέσματα των συμπερασμάτων ενδέχεται να αποστέλλονται σε διακομιστή ή σύννεφο για καταγραφή ή πρόσθετη επεξεργασία, αν και αυτό δεν είναι απαραίτητο για τη λειτουργία της συσκευής. Αυτό ελαχιστοποιεί τον λανθάνοντα χρόνο δικτύου και εξαλείφει την ανάγκη για λειτουργίες μηχανικής εκμάθησης που πρέπει να εκτελούνται σε σύννεφο ή διακομιστή.
- Προστασία προσωπικών δεδομένων: Είναι μια μεγάλη ανησυχία στο διαδίκτυο και με το διαδίκτυο των πραγμάτων. Η εργασία μηχανικής εκμάθησης στις εφαρμογές TinyML εκτελείται τοπικά, χωρίς αποθήκευση ή αποστολή δεδομένων αισθητήρα/χρήστη σε διακομιστή/σύννεφο. Ως αποτέλεσμα, ακόμη και όταν είναι συνδεδεμένες σε δίκτυο, αυτές οι εφαρμογές είναι ασφαλείς στη χρήση και δεν ενέχουν κινδύνους για το απόρρητο.
Εφαρμογές
- Γεωργία – Πότε Οι αγρότες τραβούν μια φωτογραφία ενός φυτού, η εφαρμογή του TensorFlow Lite ανιχνεύει ασθένειες σε αυτό. Λειτουργεί σε οποιαδήποτε συσκευή και δεν απαιτεί σύνδεση στο διαδίκτυο. Η διαδικασία προστατεύει τα γεωργικά συμφέροντα και αποτελεί κρίσιμη αναγκαιότητα για τους αγρότες της υπαίθρου.
- Μηχανική Συντήρηση – Το TinyML, όταν χρησιμοποιείται σε συσκευές χαμηλής κατανάλωσης, μπορεί να εντοπίζει συνεχώς ελαττώματα σε ένα μηχάνημα. Συνεπάγεται συντήρηση που βασίζεται σε προβλέψεις. Η Ping Services, μια αυστραλιανή start-up, παρουσίασε ένα gadget IoT που παρακολουθεί τις ανεμογεννήτριες προσαρτώντας τον εαυτό της στο εξωτερικό της τουρμπίνας. Ειδοποιεί τις αρχές κάθε φορά που εντοπίζει οποιοδήποτε πιθανό πρόβλημα ή δυσλειτουργία.
- Νοσοκομεία – Τα Το Solar Scare είναι ένα έργο. Τα κουνούπια χρησιμοποιούν το TinyML για να σταματήσουν την εξάπλωση ασθενειών όπως ο δάγκειος πυρετός και η ελονοσία. Τροφοδοτείται από ηλιακή ενέργεια και ανιχνεύει τις συνθήκες αναπαραγωγής κουνουπιών πριν δώσει σήμα στο νερό να εμποδίσει την αναπαραγωγή κουνουπιών.
- Επιτήρηση Κυκλοφορίας – Από εφαρμόζοντας το TinyML σε αισθητήρες που συλλέγουν δεδομένα κυκλοφορίας σε πραγματικό χρόνο, μπορούμε να τους χρησιμοποιήσουμε για να κατευθύνουμε καλύτερα την κυκλοφορία και να μειώσουμε τους χρόνους απόκρισης για οχήματα έκτακτης ανάγκης. Το Swim.AI, για παράδειγμα, χρησιμοποιεί αυτήν την τεχνολογία στη ροή δεδομένων για να αυξήσει την ασφάλεια των επιβατών, ενώ παράλληλα μειώνει τη συμφόρηση και τις εκπομπές μέσω της έξυπνης δρομολόγησης.
- Νόμος: Το TinyML μπορεί να χρησιμοποιηθεί στις αρχές επιβολής του νόμου για τον εντοπισμό παράνομων ενεργειών όπως ταραχές και κλοπές χρησιμοποιώντας μηχανική μάθηση και αναγνώριση χειρονομιών. Ένα παρόμοιο πρόγραμμα μπορεί επίσης να χρησιμοποιηθεί για την ασφάλεια τραπεζικών ΑΤΜ. Παρακολουθώντας τη συμπεριφορά των χρηστών, ένα μοντέλο TinyML μπορεί να προβλέψει εάν ο χρήστης είναι πραγματικός καταναλωτής που ολοκληρώνει μια συναλλαγή ή εισβολέας που προσπαθεί να χακάρει ή να καταστρέψει το ATM.
Πώς να ξεκινήσετε με το TinyML;
Για να ξεκινήσετε με το TinyML στο TensorFlow Lite, θα χρειαστείτε μια συμβατή πλακέτα μικροελεγκτή. Το TensorFlow Lite για μικροελεγκτές υποστηρίζει τους μικροελεγκτές που αναφέρονται παρακάτω.
- Τερματικό Wio: ATSAMD51
- Συμβούλιο Ανάπτυξης Himax WE-I Plus EVB Endpoint AI
- STM32F746 Κιτ Discovery
- Adafruit EdgeBadge
- Πλατφόρμα ανάπτυξης λογισμικού Synopsys DesignWare ARC EM
- Sony Express
- Arduino Nano 33 BLE Sense
- SparkFun Edge
- Κιτ Adafruit TensorFlow Lite για μικροελεγκτές
- Adafruit Circuit Playground Bluefruit
- Espressif ESP32-DevKitC
- Espressif ESP-EYE
Αυτοί είναι μικροελεγκτές 32-bit που διαθέτουν αρκετή μνήμη flash, RAM και συχνότητα ρολογιού για να εκτελέσουν ένα μοντέλο μηχανικής εκμάθησης. Οι πλακέτες διαθέτουν επίσης έναν αριθμό ενσωματωμένων αισθητήρων ικανών να εκτελούν οποιοδήποτε ενσωματωμένο πρόγραμμα και να εφαρμόζουν μοντέλα μηχανικής εκμάθησης στη στοχευμένη εφαρμογή. Προς την δημιουργήστε ένα μοντέλο μηχανικής μάθησης, θα χρειαστείτε φορητό υπολογιστή ή υπολογιστή εκτός από μια πλατφόρμα υλικού.
Κάθε πλατφόρμα υλικού έχει τα δικά της εργαλεία προγραμματισμού για την κατασκευή, την εκπαίδευση και τη μεταφορά μοντέλων μηχανικής εκμάθησης, τα οποία χρησιμοποιούν το πακέτο TensorFlow Lite για μικροελεγκτές. Το TensorFlow Lite είναι δωρεάν για χρήση και τροποποίηση επειδή είναι ανοικτού κώδικα.
Για να ξεκινήσετε με το TinyML και το TensorFlow Lite, το μόνο που χρειάζεστε είναι μία από τις προαναφερθείσες ενσωματωμένες πλατφόρμες υλικού, έναν υπολογιστή/φορητό υπολογιστή, ένα καλώδιο USB, έναν μετατροπέα USB σε σειριακό – και την επιθυμία να εξασκηθείτε στη μηχανική μάθηση με ενσωματωμένα συστήματα .
Προκλήσεις
Παρόλο που η πρόοδος του TinyML έχει αποφέρει πολλά θετικά αποτελέσματα, η βιομηχανία μηχανικής εκμάθησης εξακολουθεί να αντιμετωπίζει σημαντικά εμπόδια.
- Ποικιλία λογισμικού – Κωδικοποίηση με το χέρι, η δημιουργία κώδικα και οι διερμηνείς ML είναι όλες επιλογές για την ανάπτυξη μοντέλων σε συσκευές TinyML και η καθεμία απαιτεί διαφορετικό χρόνο και προσπάθεια. Ως αποτέλεσμα αυτού μπορεί να προκύψουν διαφορετικές παραστάσεις.
- Ποικιλομορφία υλικού – Εκεί υπάρχουν πολλές διαθέσιμες επιλογές υλικού. Οι πλατφόρμες TinyML μπορούν να είναι οτιδήποτε, από μικροελεγκτές γενικής χρήσης έως νευρωνικούς επεξεργαστές αιχμής. Αυτό προκαλεί προβλήματα με την ανάπτυξη του μοντέλου σε διαφορετικές αρχιτεκτονικές.
- Αντιμετώπιση προβλημάτων/εντοπισμός σφαλμάτων – Πότε ένα μοντέλο ML έχει κακή απόδοση στο cloud, είναι απλό να κοιτάξεις τα δεδομένα και να καταλάβεις τι πάει στραβά. Όταν ένα μοντέλο διασπείρεται σε χιλιάδες συσκευές TinyML, χωρίς ροή δεδομένων να επιστρέφει στο cloud, ο εντοπισμός σφαλμάτων γίνεται δύσκολος και μπορεί να απαιτεί διαφορετική μέθοδο.
- Περιορισμοί μνήμης – Παραδοσιακά πλατφόρμες, όπως smartphone και φορητοί υπολογιστές, χρειάζονται gigabyte μνήμης RAM, ενώ οι συσκευές TinyML χρησιμοποιούν kilobyte ή megabyte. Ως αποτέλεσμα, το μέγεθος του μοντέλου που μπορεί να αναπτυχθεί είναι περιορισμένο.
- Μοντέλο εκπαίδευσης – Αν και υπάρχουν πολλά πλεονεκτήματα στην ανάπτυξη μοντέλων ML σε συσκευές TinyML, το μεγαλύτερο μέρος των μοντέλων ML εξακολουθεί να εκπαιδεύεται στο cloud για να επαναλαμβάνει και να βελτιώνει συνεχώς την ακρίβεια του μοντέλου.
Μελλοντικός
Το TinyML, με το μικρό του αποτύπωμα, τη χαμηλή κατανάλωση μπαταρίας και την έλλειψη ή περιορισμένη εξάρτηση από τη συνδεσιμότητα στο Διαδίκτυο, έχει τεράστιες δυνατότητες στο μέλλον, καθώς η πλειοψηφία των περιορισμένων τεχνητή νοημοσύνη θα εφαρμοστεί σε συσκευές edge ή ανεξάρτητα ενσωματωμένα gadget.
Θα κάνει τις εφαρμογές IoT πιο ιδιωτικές και ασφαλείς αξιοποιώντας τις. Αν και TensorFlow Το Lite είναι επί του παρόντος το μοναδικό πλαίσιο μηχανικής εκμάθησης για μικροελεγκτές και μικροϋπολογιστές, ενώ άλλα συγκρίσιμα πλαίσια όπως ο αισθητήρας και το CMSIS-NN της ARM βρίσκονται υπό κατασκευή.
Ενώ το TensorFlow Lite είναι ένα έργο ανοιχτού κώδικα σε εξέλιξη που ξεκίνησε θαυμάσια με την Ομάδα της Google, εξακολουθεί να χρειάζεται υποστήριξη από την κοινότητα για να μπει στο mainstream.
Συμπέρασμα
Το TinyML είναι μια νέα προσέγγιση που συνδυάζει ενσωματωμένα συστήματα με μηχανική μάθηση. Καθώς η στενή τεχνητή νοημοσύνη κορυφώνεται σε πολλούς κλάδους και τομείς, η τεχνολογία μπορεί να αναδειχθεί ως εξέχον υποπεδίο στη μηχανική μάθηση και την τεχνητή νοημοσύνη.
Παρέχει μια λύση σε πολυάριθμες προκλήσεις που αντιμετωπίζουν τώρα ο τομέας του IoT και οι επαγγελματίες που εφαρμόζουν τη μηχανική μάθηση σε πολλούς κλάδους που αφορούν συγκεκριμένους τομείς.
Η έννοια της χρήσης μηχανικής μάθησης στο ακραίες συσκευές με μικρό υπολογιστικό Το αποτύπωμα και η κατανάλωση ενέργειας έχουν τη δυνατότητα να μεταμορφώσουν σημαντικά τον τρόπο κατασκευής των ενσωματωμένων συστημάτων και της ρομποτικής.
Αφήστε μια απάντηση