Πηγή: GitHub – edgeimpulse/courseware-embedded-machine-learning
Εκπαιδευτικό λογισμικό ενσωματωμένης Μηχανικής Μάθησης

Καλώς ήρθατε στο ανοιχτό εκπαιδευτικό λογισμικό Edge Impulse για ενσωματωμένη μηχανική μάθηση! Αυτό το αποθετήριο φιλοξενεί μια συλλογή από διαφάνειες, υλικό ανάγνωσης, προτροπές έργου και δείγματα ερωτήσεων για να ξεκινήσετε να δημιουργείτε το δικό σας ενσωματωμένο μάθημα μηχανικής μάθησης. Θα έχετε επίσης πρόσβαση σε βίντεο που καλύπτουν μεγάλο μέρος του υλικού. Είστε ευπρόσδεκτοι να μοιραστείτε αυτά τα βίντεο με την τάξη σας είτε στην τάξη είτε να αφήσετε τους μαθητές να τα παρακολουθήσουν στον δικό τους χρόνο.
Αυτό το αποθετήριο αποτελεί μέρος του Πανεπιστημιακού Προγράμματος Edge Impulse. Ανατρέξτε σε αυτή τη σελίδα για περισσότερες πληροφορίες σχετικά με τον τρόπο συμμετοχής: edgeimpulse.com/university.
Πώς να χρησιμοποιήσετε αυτό το αποθετήριο
Λάβετε υπόψη ότι το περιεχόμενο σε αυτό το αποθετήριο δεν προορίζεται να είναι ένα μάθημα πλήρους εξαμήνου. Αντίθετα, ενθαρρύνεστε να τραβήξετε από τις ενότητες, να αναδιατάξετε τη σειρά, να κάνετε τροποποιήσεις και να χρησιμοποιήσετε όπως κρίνετε κατάλληλο για να ενσωματώσετε το περιεχόμενο στο δικό σας πρόγραμμα σπουδών.
Για παράδειγμα, πολλές από τις διαλέξεις και τα παραδείγματα από το TinyML Courseware (που δίνονται από το [3]) αναλύουν λεπτομερώς τον τρόπο λειτουργίας του TensorFlow Lite μαζί με προηγμένα θέματα όπως η κβαντοποίηση. Μη διστάσετε να παραλείψετε αυτές τις ενότητες εάν θέλετε απλώς μια επισκόπηση της ενσωματωμένης μηχανικής εκμάθησης και πώς να τη χρησιμοποιήσετε με το Edge Impulse.
Σε γενικές γραμμές, το περιεχόμενο από [3] καλύπτει τη θεωρία και την πρακτική κωδικοποίηση Python με Jupyter Notebooks για να αποδείξει αυτές τις έννοιες. Το περιεχόμενο από [1] και [2] καλύπτει πρακτικές επιδείξεις και έργα που χρησιμοποιούν το Edge Impulse για την ανάπτυξη μοντέλων μηχανικής μάθησης σε ενσωματωμένα συστήματα.
Το περιεχόμενο χωρίζεται σε ξεχωριστές ενότητες. Κάθε ενότητα θεωρείται ότι είναι υλικό αξίας περίπου μιας εβδομάδας και κάθε ενότητα μέσα σε μια ενότητα περιέχει περίπου 60 λεπτά υλικού παρουσίασης. Οι ενότητες περιέχουν επίσης παραδείγματα ερωτήσεων κουίζ / δοκιμών, προβλήματα πρακτικής και πρακτικές εργασίες.
Εάν θέλετε να δείτε περισσότερο περιεχόμενο από αυτό που είναι διαθέσιμο σε αυτό το αποθετήριο, ανατρέξτε στον ιστότοπο Harvard TinyMLedu για πρόσθετο υλικό μαθημάτων.
Άδεια
Εκτός αν αναφέρεται διαφορετικά, οι διαφάνειες, τα δείγματα ερωτήσεων και οι προτροπές έργου κυκλοφορούν υπό την άδεια Creative Commons Attribution NonCommercial ShareAlike 4.0 International (CC BY-NC-SA 4.0). Είστε ευπρόσδεκτοι να τα χρησιμοποιήσετε και να τα τροποποιήσετε για εκπαιδευτικούς σκοπούς.
Τα βίντεο YouTube σε αυτό το αποθετήριο κοινοποιούνται μέσω της τυπικής άδειας YouTube. Επιτρέπεται να τα δείξετε στην τάξη σας ή να παρέχετε συνδέσμους για να παρακολουθήσουν οι μαθητές (και άλλοι).
Επαγγελματική Ανάπτυξη
Μεγάλο μέρος του υλικού που βρίσκεται σε αυτό το αποθετήριο επιμελείται από μια συλλογή διαδικτυακών μαθημάτων με άδεια από τους αρχικούς δημιουργούς. Είστε ευπρόσδεκτοι να παρακολουθήσετε τα μαθήματα (ως επαγγελματική ανάπτυξη) για να μάθετε το υλικό με καθοδηγούμενο τρόπο ή να παραπέμψετε τους μαθητές στα μαθήματα για πρόσθετες ευκαιρίες μάθησης.
- Εισαγωγή στην ενσωματωμένη μηχανική μάθηση – Μάθημα Coursera από το Edge Impulse που εισάγει νευρωνικά δίκτυα και έννοιες βαθιάς μάθησης και τις εφαρμόζει σε ενσωματωμένα συστήματα. Τα πρακτικά έργα βασίζονται στην εκπαίδευση και την ανάπτυξη μοντέλων μηχανικής μάθησης με το Edge Impulse. Δωρεάν με προαιρετικό πιστοποιητικό επί πληρωμή.
- Copmuter Vision with Embedded Machine Learning – Παρακολούθηση μαθήματος Coursera που καλύπτει την ταξινόμηση εικόνων και την ανίχνευση αντικειμένων χρησιμοποιώντας συνελικτικά νευρωνικά δίκτυα. Τα πρακτικά έργα βασίζονται στην εκπαίδευση και την ανάπτυξη μοντέλων με το Edge Impulse. Δωρεάν με προαιρετικό πιστοποιητικό επί πληρωμή.
- Tiny Machine Learing (TinyML) – Μάθημα EdX από τους Vijay Janapa Reddi, Laurence Moroney, Pete Warden και Lara Suzuki. Τα πρακτικά έργα βασίζονται στον κώδικα Python στο Google Colab για την εκπαίδευση και την ανάπτυξη μοντέλων σε ενσωματωμένα συστήματα με το TensorFlow Lite για μικροελεγκτές. Αμειβόμενο μάθημα.
Προϋποθέσεις
Οι μαθητές θα πρέπει να είναι εξοικειωμένοι με τα ακόλουθα θέματα για να ολοκληρώσουν τα παραδείγματα ερωτήσεων και πρακτικών εργασιών:
- Άλγεβρα
- Επίλυση γραμμικών εξισώσεων
- Πιθανότητες και Στατιστική
- Εκφράζοντας πιθανότητες ανεξάρτητων γεγονότων
- Κανονικές κατανομές
- Μέση και διάμεση τιμή
- Προγραμματισμός
- Προγραμματισμός Arduino/C++ (conditionals, loops, arrays/buffers, pointers, functions)
- Προγραμματισμός Python (conditionals, loops, arrays, functions, NumPy)
Προαιρετικές προϋποθέσεις: πολλές έννοιες μηχανικής μάθησης μπορεί να είναι αρκετά προηγμένες. Ενώ αυτά τα προχωρημένα θέματα συζητούνται εν συντομία στις διαφάνειες και τα βίντεο, δεν απαιτούνται για ερωτήσεις κουίζ και πρακτικά έργα. Εάν θέλετε να εμβαθύνετε σε τέτοιες έννοιες στο μάθημά σας, οι μαθητές ίσως χρειαστεί να εξοικειωθούν με τα εξής:
- Γραμμική άλγεβρα
- Πρόσθεση, αφαίρεση και πολλαπλασιασμός μήτρας
- Προϊόν κουκκίδας
- Μεταφορά και αντιστροφή μήτρας
- Λογισμός
- Ο παράγωγος και ο κανόνας της αλυσίδας είναι σημαντικοί για την οπισθοδιάδοση (μέρος της εκπαίδευσης μοντέλου)
- Τα ολοκληρώματα και η άθροιση χρησιμοποιούνται για την εύρεση της περιοχής κάτω από μια καμπύλη (AUC) για ορισμένες αξιολογήσεις μοντέλων
- Ψηφιακή επεξεργασία σήματος (DSP)
- Ρυθμός δειγματοληψίας
- Θεώρημα δειγματοληψίας Nyquist–Shannon
- Μετασχηματισμός Fourier και γρήγορος μετασχηματισμός Fourier (FFT)
- Φασματογράφημα
- Μηχανική μάθηση
- Λογιστική παλινδρόμηση
- Νευρωνικά δίκτυα
- Οπισθοπολλαπλασιασμός
- Κάθοδος με κλίση
- Συνάρτηση Softmax
- Ομαδοποίηση μέσων Κ
- Προγραμματισμός
- Προγραμματισμός C++ (αντικείμενα, λειτουργίες επανάκλησης)
- Μικροελεγκτές (διακοπές υλικού, άμεση πρόσβαση μνήμης, διπλό buffering, λειτουργικά συστήματα πραγματικού χρόνου)
Ανατροφοδότηση και συνεισφορά
Εάν εντοπίσετε σφάλματα ή έχετε προτάσεις για το πώς να βελτιώσετε αυτό το υλικό, ενημερώστε μας! Μπορείτε να δημιουργήσετε ένα πρόβλημα που περιγράφει τα σχόλιά σας ή να δημιουργήσετε ένα αίτημα έλξης εάν είστε εξοικειωμένοι με το Git.
Αυτό το αποθετήριο χρησιμοποιεί αυτόματο έλεγχο συνδέσμων και ορθογραφικό έλεγχο. Εάν η συνεχής ολοκλήρωση (CI) αποτύχει μετά από ένα πάτημα, μπορεί να βρείτε τους νεκρούς συνδέσμους ή τις ανορθόγραφες λέξεις, να τις διορθώσετε και να πιέσετε ξανά για να ενεργοποιήσετε ξανά το CI. Εάν οι νεκροί σύνδεσμοι ή οι ανορθόγραφες λέξεις είναι ψευδώς θετικά αποτελέσματα (δηλ. σκόπιμα ακατάλληλος σύνδεσμος ή σωστό ουσιαστικό), μπορείτε να ενημερώσετε το .mlc_config.json για συνδέσμους προς παράβλεψη ή .wordlist.txt για παράβλεψη λέξεων.
Απαιτούμενο υλικό και λογισμικό
Οι μαθητές θα χρειαστούν υπολογιστή και πρόσβαση στο Διαδίκτυο για να εκτελέσουν εκπαίδευση μοντέλων μηχανικής μάθησης και πρακτικές ασκήσεις με το Edge Impulse Studio και το Google Colab. Οι μαθητές ενθαρρύνονται να χρησιμοποιήσουν το κιτ Arduino Tiny Machine Learning για να εξασκηθούν στην εκτέλεση συμπερασμάτων σε μια ενσωματωμένη συσκευή.
Απαιτείται λογαριασμός Google για το Google Colab.
Απαιτείται Edge Impulse για το Edge Impulse Studio.
Οι μαθητές θα πρέπει να εγκαταστήσουν το πιο πρόσφατο Arduino IDE.
Προϋπάρχοντα σύνολα δεδομένων και έργα
Αυτή είναι μια συλλογή προϋπαρχόντων συνόλων δεδομένων, έργων Edge Impulse ή εργαλείων επιμέλειας που θα σας βοηθήσουν να ξεκινήσετε με τα δικά σας έργα μηχανικής εκμάθησης edge. Με ένα δημόσιο έργο Edge Impulse, λάβετε υπόψη ότι μπορείτε να κλωνοποιήσετε το έργο στον λογαριασμό σας ή/και να κατεβάσετε το σύνολο δεδομένων από τον Πίνακα ελέγχου.
Κίνηση
- Σύνολο δεδομένων συνεχούς χειρονομίας Edge Impulse (ρελαντί, φίδι, πάνω-κάτω, κύμα)
- Έργο εναλλακτικής κίνησης (ρελαντί, πάνω-κάτω, αριστερά-δεξιά, κύκλος)
Ήχος
- Τρέχον σύνολο δεδομένων βρύσης
- Σύνολο δεδομένων εντολών ομιλίας Google
- Σενάριο επιμέλειας και αύξησης συνόλου δεδομένων εντοπισμού λέξεων-κλειδιών
- Πολύγλωσσο σώμα προφορικών λέξεων
Ταξινόμηση εικόνας
Εντοπισμός αντικειμένων
Περίληψη
- Ενότητα 1: Μηχανική μάθηση στην άκρη
- Ενότητα 2: Ξεκινώντας με τη βαθιά μάθηση
- Ενότητα 3: Ροή εργασίας μηχανικής μάθησης
- Ενότητα 4: Ανάπτυξη μοντέλου
- Ενότητα 5: Ανίχνευση ανωμαλιών
- Ενότητα 6: Ταξινόμηση εικόνας με βαθιά μάθηση
- Ενότητα 7: Ανίχνευση αντικειμένων και τμηματοποίηση εικόνας
- Ενότητα 8: Εντοπισμός λέξεων-κλειδιών