Ανάπτυξη μηχανικής μάθησης - δωρεάν μάθημα από τη Σχολή Ανάλυσης Δεδομένων, εκπαίδευση 4 εξάμηνα, Ημερομηνία: 2 Δεκεμβρίου 2023.
μικροαντικείμενα / / December 06, 2023
Αυτή η κατεύθυνση είναι κατάλληλη για όσους τους αρέσει να προγραμματίζουν και να δημιουργούν υπηρεσίες και εφαρμογές που μπορούν να χρησιμοποιηθούν από χιλιάδες και εκατομμύρια ανθρώπους.
Γράψτε αποτελεσματικό κώδικα, δημιουργήστε και βελτιστοποιήστε βιομηχανικά αποδοτικά συστήματα που βασίζονται σε δεδομένα.
Στην ανάπτυξη προϊόντων υψηλής τεχνολογίας που βασίζονται στη μηχανική μάθηση.
Κάθε φοιτητής πρέπει να ολοκληρώσει επιτυχώς τουλάχιστον τρία μαθήματα κατά τη διάρκεια του εξαμήνου. Για παράδειγμα, εάν υπάρχουν δύο από αυτά στο κύριο πρόγραμμα, τότε πρέπει να επιλέξετε ένα από τα ειδικά μαθήματα.
Οι γνώσεις ελέγχονται κυρίως μέσω των εργασιών στο σπίτι - οι εξετάσεις και τα τεστ διεξάγονται μόνο σε ορισμένα μαθήματα.
Πρώτο εξάμηνο
Επιτακτικός
Αλγόριθμοι και δομές δεδομένων, μέρος 1
01 Πολυπλοκότητα και υπολογιστικά μοντέλα. Ανάλυση λογιστικών αξιών (αρχή)
02 Ανάλυση λογιστικών αξιών (τέλος)
03 Αλγόριθμοι συγχώνευσης-ταξινόμησης και γρήγορης ταξινόμησης
04Τακτική στατιστική. Σωροί (αρχή)
05 Σωροί (τέλος)
06 Κατακερματισμός
07Αναζήτηση δέντρων (αρχή)
08Αναζήτηση δέντρων (συνέχεια)
09Αναζήτηση δέντρων (τέλος). Σύστημα ασύνδετων συνόλων
10 Προβλήματα RMQ και LCA
11Δομές δεδομένων για γεωμετρική αναζήτηση
12Πρόβλημα δυναμικής συνδεσιμότητας σε μη κατευθυνόμενο γράφημα
Εκπαίδευση γλώσσας C++, μέρος 1
Η C++ είναι μια ισχυρή γλώσσα με πλούσια κληρονομιά. Για εκείνους που μόλις ξεκίνησαν τον δρόμο για να κατακτήσουν αυτή τη γλώσσα, είναι πολύ εύκολο να χαθούν στην αφθονία των τεχνικών και των τεχνικών που δημιουργήθηκαν τα τελευταία 30 χρόνια. Το μάθημα διδάσκει "Modern C++" - ένα σύγχρονο υποσύνολο της γλώσσας (πρότυπα 11, 14 και 17). Δίνεται μεγάλη προσοχή σε εργαλεία και βιβλιοθήκες - πράγματα που δεν αποτελούν μέρος της γλώσσας, αλλά χωρίς τα οποία δεν θα είναι δυνατή η κατασκευή ενός μεγάλου και πολύπλοκου έργου.
01Εισαγωγή στη C++.
02Σταθερές. Δείκτες και σύνδεσμοι. Μεταβίβαση ορισμάτων σε μια συνάρτηση.
03 Τάξεις.
04Δυναμική διαχείριση μνήμης.
05Μεταβλητές, δείκτες και αναφορές.
06Διαχείριση μνήμης, έξυπνοι δείκτες, RAII.
07 Τυπική βιβλιοθήκη προτύπων.
08 Κληρονομικότητα και εικονικές λειτουργίες.
09 Χειρισμός σφαλμάτων.
10 Σχεδιαστικά μοτίβα.
11Χώροι ονομάτων Μετακίνηση σημασιολογίας Τέλεια προώθηση.
12Αναπαράσταση δομών και κλάσεων στη μνήμη. Ευθυγράμμιση δεδομένων. Υποδείξεις προς τα μέλη/μέθοδοι της τάξης. Διαφορετικά πρότυπα.
Μηχανική μάθηση, μέρος 1
01Βασικές έννοιες και παραδείγματα εφαρμοσμένων προβλημάτων
02Μετρικές μέθοδοι ταξινόμησης
03 Λογικές μέθοδοι ταξινόμησης και δέντρα αποφάσεων
04Μέθοδοι γραμμικής ταξινόμησης κλίσης
05 Υποστήριξη διανυσματική μηχανή
06Πολυμεταβλητή γραμμική παλινδρόμηση
07Μη γραμμική και μη παραμετρική παλινδρόμηση, μη τυπικές συναρτήσεις απώλειας
08 Πρόβλεψη χρονοσειρών
09Μέθοδοι ταξινόμησης Bayesian
10 Λογιστική παλινδρόμηση
11 Αναζητήστε κανόνες συσχέτισης
Δεύτερη περίοδος
Επιτακτικός
Μηχανική μάθηση, μέρος 2
01Μέθοδοι ταξινόμησης και παλινδρόμησης νευρωνικών δικτύων
02Συνθετικές μέθοδοι ταξινόμησης και παλινδρόμησης
03 Κριτήρια επιλογής μοντέλων και μέθοδοι επιλογής χαρακτηριστικών
04 Κατάταξη
05 Ενισχυτική μάθηση
06 Μάθηση χωρίς δάσκαλο
07Προβλήματα με μερική εκπαίδευση
08Συνεργατικό φιλτράρισμα
09 Μοντελοποίηση θεμάτων
Να διαλέξεις από
Αλγόριθμοι και δομές δεδομένων, μέρος 2
01 Παράκαμψη σε πλάτος. Πρώτη διέλευση βάθους (έναρξη)
02 Ανίχνευση βάθους (συνέχεια)
03 Ανίχνευση βάθους (τέλος). 2-κοψίματα
04 Εύρεση συντομότερων μονοπατιών (αρχή)
05 Εύρεση συντομότερων μονοπατιών (συνέχεια)
06 Ελάχιστα εκτεινόμενα δέντρα
07 Ελάχιστες περικοπές. Αναζήτηση για υποσυμβολοσειρές (έναρξη)
08Αναζήτηση για υποσυμβολοσειρές (συνέχεια)
09Αναζήτηση για υποσυμβολοσειρές (τέλος)
10 Επίθημα δέντρα (αρχή)
11Επίθημα δέντρα (κατάληξη). Πίνακες επιθημάτων (έναρξη)
12 Πίνακες επιθημάτων (λήξη)
13 Οι μεγαλύτερες κοινές υποσυμβολοσειρές. Κατά προσέγγιση αναζήτηση υποσυμβολοσειράς.
ή
Γλώσσα Python
01 Βασικά Γλώσσα (Μέρος 1)
02 Βασικά Γλώσσα (Μέρος 2)
03 Αντικειμενοστραφής προγραμματισμός
04 Χειρισμός σφαλμάτων
05 Σχεδιασμός και δοκιμή κώδικα
06 Εργασία με χορδές
07 Μοντέλο μνήμης
08 Λειτουργικός προγραμματισμός
09 Ανασκόπηση βιβλιοθήκης (μέρος 1)
10 Κριτική βιβλιοθήκης (μέρος 2)
11 Παράλληλοι υπολογισμοί σε Python
12 Προηγμένη εργασία με αντικείμενα
ή
Εκπαίδευση γλώσσας C++, μέρος 2
Το δεύτερο μέρος του μαθήματος C++, το οποίο καλύπτει προχωρημένα θέματα και γλωσσικές δυνατότητες.
01 Προγραμματισμός πολλαπλών νημάτων. Συγχρονισμός νημάτων χρησιμοποιώντας mutexes και μεταβλητές συνθήκης.
02 Ατομικές μεταβλητές. Μοντέλο μνήμης C++. Παραδείγματα δομών δεδομένων χωρίς κλείδωμα.
03 Προηγμένες τεχνικές μετα-προγραμματισμού σε C++. Μεταλειτουργίες, ΣΦΗΝΑΕ, έννοιες.
04Ανταγωνιστικός προγραμματισμός, αλληλεπίδραση με το δίκτυο.
Αρχιτεκτονική 05llvm. Εργασία με το δέντρο ανάλυσης C++. Ανάπτυξη εργαλείων για την ανάλυση κώδικα C++.
Τρίτο εξάμηνο
Να διαλέξεις από
Επεξεργασία Φυσικής Γλώσσας
«Το NLP (Natural Language Processing) είναι ένα υποσύνολο του ευρύτερου πεδίου της τεχνητής νοημοσύνης που επιχειρεί να διδάξει έναν υπολογιστή να κατανοεί και να επεξεργάζεται ακατέργαστα δεδομένα σε φυσική γλώσσα. Οι περισσότερες από τις διαθέσιμες πληροφορίες σήμερα δεν είναι δομημένο κείμενο. Ως άνθρωποι, φυσικά, δεν είναι δύσκολο για εμάς να τους καταλάβουμε (αν είναι στη μητρική μας γλώσσα), αλλά δεν είμαστε σε θέση να επεξεργαστούμε τόσα δεδομένα όσα θα μπορούσε να επεξεργαστεί μια μηχανή. Πώς όμως μπορείτε να κάνετε μια μηχανή να κατανοήσει αυτά τα δεδομένα και, επιπλέον, να εξάγει κάποιες πληροφορίες από αυτά; Πριν από αρκετά χρόνια, στα εγκαίνια του ACL (ένα από τα κύρια, αν όχι το πιο σημαντικό συνέδριο NLP) στο Η προεδρική ομιλία Marti Hearst παραδέχτηκε ότι δεν μπορεί πλέον να δώσει στους μαθητές το αγαπημένο της άσκηση. Χρησιμοποιώντας το HAL 9000 ως παράδειγμα (ένα από τα παραδείγματα τεχνητής νοημοσύνης στην επιστημονική φαντασία), ρώτησε τους μαθητές τι μπορεί να κάνει το μηχάνημα όπως το HAL και τι δεν μπορεί να κάνει ακόμα. Σήμερα δεν είναι πλέον τόσο καλή άσκηση, αφού σχεδόν όλα αυτά μπορούν πλέον να γίνουν από έναν υπολογιστή. Είναι εκπληκτικό πόσο γρήγορα μεγαλώνει το πεδίο και πόσα έχουμε πετύχει. Στην πορεία θα προσπαθήσουμε να σας κάνουμε να κατανοήσετε και να νιώσετε τι συμβαίνει στον κόσμο. Ποια προβλήματα λύνονται, πώς συμβαίνει αυτό; πώς ορισμένες στατιστικές προσεγγίσεις (στα οποία μαθήματα για το NLP αφιερώθηκαν σχεδόν εξ ολοκλήρου πριν από μερικά χρόνια) αποκτούν νέα ζωή και νέα ερμηνεία στα νευρωνικά δίκτυα και ποιες σταδιακά εξαφανίζονται. Θα δείξουμε ότι το NLP δεν είναι ένα σύνολο ζευγών (πρόβλημα, λύση), αλλά γενικές ιδέες που διεισδύουν σε διαφορετικά προβλήματα και αντικατοπτρίζουν κάποια κοινή έννοια. Θα μάθετε επίσης τι συμβαίνει στην πράξη και πότε ποιες προσεγγίσεις είναι πιο εφαρμόσιμες. Αυτό κάνουμε, αυτό που αγαπάμε και είμαστε έτοιμοι να το μοιραστούμε μαζί σας :)"
01 https://lena-voita.github.io/nlp_course.html
02 https://github.com/yandexdataschool/nlp_course
ή
Υπολογιστική όραση
«Το μάθημα είναι αφιερωμένο σε μεθόδους και αλγόριθμους υπολογιστικής όρασης, δηλαδή εξαγωγή πληροφοριών από εικόνες και βίντεο. Ας δούμε τα βασικά της επεξεργασίας εικόνας, την ταξινόμηση εικόνων, την αναζήτηση εικόνων ανά περιεχόμενο, την αναγνώριση προσώπου, την τμηματοποίηση εικόνων. Στη συνέχεια θα μιλήσουμε για αλγόριθμους επεξεργασίας και ανάλυσης βίντεο. Το τελευταίο μέρος του μαθήματος είναι αφιερωμένο στην τρισδιάστατη ανακατασκευή. Για τα περισσότερα προβλήματα θα συζητήσουμε τα υπάρχοντα μοντέλα νευρωνικών δικτύων. Στο μάθημα προσπαθούμε να δώσουμε προσοχή μόνο στις πιο σύγχρονες μεθόδους που χρησιμοποιούνται σήμερα για την επίλυση πρακτικών και ερευνητικών προβλημάτων. Το μάθημα είναι σε μεγάλο βαθμό πρακτικό παρά θεωρητικό. Επομένως, όλες οι διαλέξεις είναι εξοπλισμένες με εργαστηριακές και κατ' οίκον εργασίες, οι οποίες σας επιτρέπουν να δοκιμάσετε τις περισσότερες από τις μεθόδους που συζητήθηκαν στην πράξη. Η εργασία εκτελείται σε Python χρησιμοποιώντας διάφορες βιβλιοθήκες."
01 Ψηφιακή απεικόνιση και διόρθωση τόνου
02 Βασικά στοιχεία επεξεργασίας εικόνας
03 Ραφή εικόνας
04Ταξινόμηση εικόνων και αναζήτηση για παρόμοιες
05 Συνελικτικά νευρωνικά δίκτυα για ταξινόμηση και αναζήτηση παρόμοιων εικόνων
06 Ανίχνευση αντικειμένων
07Σημασιολογική κατάτμηση
08 Μεταφορά στυλ και σύνθεση εικόνας
09 Αναγνώριση βίντεο
10 Αραιή 3D ανακατασκευή
11 Πυκνή 3D ανακατασκευή
12Ανακατασκευή από σύννεφα ενός πλαισίου και σημείου, παραμετρικά μοντέλα
ή
Μπεϋζιανές μέθοδοι στη μηχανική μάθηση
01 Μπαγιζιανή προσέγγιση στη θεωρία πιθανοτήτων
02 Αναλυτικό συμπέρασμα Bayes
03 Επιλογή μοντέλων Bayesian
04Αυτόματος προσδιορισμός συνάφειας
05 Μέθοδος διανύσματος συνάφειας για πρόβλημα ταξινόμησης
06 Πιθανολογικά μοντέλα με λανθάνουσες μεταβλητές
07 Μεταβλητή Bayesian συμπέρασμα
08Μοντέλο διαχωρισμού μιγμάτων Bayes των Gaussians
09 Μέθοδοι Monte Carlo με αλυσίδες Markov
10 Λανθάνουσα κατανομή Dirichlet
11 Gaussian διαδικασίες για παλινδρόμηση και ταξινόμηση
12 Μη παραμετρικές Μπεϋζιανές μέθοδοι
Τέταρτο εξάμηνο
Επιτακτικός
ML Μηχανική Πρακτική
Το μάθημα είναι εργασία έργου για την ανάπτυξη έργων ML σε ομάδες.
ML Ερευνητική Πρακτική
Το μάθημα αντιπροσωπεύει εργασία σε ομαδικά ερευνητικά έργα στον τομέα της μηχανικής μάθησης.
Προτεινόμενα ειδικά μαθήματα
Βαθιά μάθηση
01 Υλικό μαθήματος
Ενισχυτική μάθηση
01 Υλικό μαθήματος
Αυτοοδηγούμενα Αυτοκίνητα
Το μάθημα καλύπτει τα βασικά στοιχεία της τεχνολογίας αυτοοδήγησης: εντοπισμός, αντίληψη, πρόβλεψη, επίπεδο συμπεριφοράς και σχεδιασμός κίνησης. Για κάθε στοιχείο, θα περιγραφούν οι κύριες προσεγγίσεις. Επιπλέον, οι μαθητές θα εξοικειωθούν με τις τρέχουσες συνθήκες της αγοράς και τις τεχνολογικές προκλήσεις.
01 Επισκόπηση των κύριων εξαρτημάτων και αισθητήρων ενός μη επανδρωμένου οχήματος. Επίπεδα αυτονομίας. Οδηγήστε με Wire. Τα αυτοοδηγούμενα αυτοκίνητα ως επιχειρηματικό προϊόν. Τρόποι αξιολόγησης της προόδου στη δημιουργία drones. Βασικά στοιχεία εντοπισμού: gnss, οδομετρία τροχού, φίλτρα Bayes.
02 Μέθοδοι εντοπισμού Lidar: ICP, NDT, LOAM. Εισαγωγή στο οπτικό SLAM χρησιμοποιώντας το ORB-SLAM ως παράδειγμα. Δήλωση του προβλήματος GraphSLAM. Μείωση του προβλήματος GraphSLAM σε μέθοδο μη γραμμικών ελαχίστων τετραγώνων. Επιλέγοντας τη σωστή παραμετροποίηση. Συστήματα με ειδική δομή στο GraphSLAM. Αρχιτεκτονική προσέγγιση: frontend και backend.
03 Εργασία αναγνώρισης σε αυτοοδηγούμενο αυτοκίνητο. Στατικά και δυναμικά εμπόδια. Αισθητήρες για το σύστημα αναγνώρισης. Αναπαράσταση στατικών εμποδίων. Ανίχνευση στατικών εμποδίων με χρήση lidar (VSCAN, μέθοδοι νευρωνικών δικτύων). Χρήση του lidar σε συνδυασμό με εικόνες για την ανίχνευση στατικών (σημασιολογική τμηματοποίηση εικόνας, συμπλήρωση βάθους). Στερεοφωνική κάμερα και λήψη βάθους από μια εικόνα. Stixel World.
04Αναπαράσταση δυναμικών εμποδίων σε αυτοοδηγούμενο αυτοκίνητο. Μέθοδοι νευρωνικών δικτύων για την ανίχνευση αντικειμένων σε 2D. Ανίχνευση με βάση την οπτική όψη της αναπαράστασης σύννεφων lidar. Χρήση lidar με εικόνες για τον εντοπισμό δυναμικών εμποδίων. Ανίχνευση αυτοκινήτου σε 3D βάσει εικόνων (τοποθέτηση κουτιών 3D, μοντέλα CAD). Δυναμική ανίχνευση εμποδίων βάσει ραντάρ. Παρακολούθηση αντικειμένων.
05 Σχέδια οδήγησης αυτοκινήτου: πίσω τροχός, μπροστινός τροχός. Σχεδιασμός διαδρομής. Η έννοια του χώρου διαμόρφωσης. Γραφικές μέθοδοι για την κατασκευή τροχιών. Τροχιές που ελαχιστοποιούν το τράνταγμα. Μέθοδοι βελτιστοποίησης για την κατασκευή τροχιών.
06 Σχεδιασμός ταχύτητας σε δυναμικό περιβάλλον. Σχεδιασμός ST. Πρόβλεψη της συμπεριφοράς άλλων χρηστών του δρόμου
Νευρο-Bayesian μέθοδοι
Το μάθημα επικεντρώνεται στην εφαρμογή Μπεϋζιανών μεθόδων στη βαθιά μάθηση. Οι διαλέξεις θα μιλήσουν για τη χρήση της πιθανολογικής μοντελοποίησης για τη δημιουργία μοντέλων παραγωγής δεδομένων, τη χρήση ανταγωνιστικών δίκτυα για κατά προσέγγιση συμπέρασμα, μοντελοποίηση αβεβαιότητας σε παραμέτρους νευρωνικών δικτύων και ορισμένα ανοιχτά προβλήματα σε βάθος εκπαίδευση.
01Στοχαστική μεταβλητή συμπεράσματα
02 Διπλή στοχαστική μεταβλητή συμπεράσματα
03 Μεταβλητός αυτόματος κωδικοποιητής, ομαλοποίηση ροών για συναγωγή μεταβλητών
04 Μέθοδοι για τη μείωση της διακύμανσης σε μοντέλα λανθάνουσας μεταβλητής
05 Εκτίμηση του λόγου των πυκνοτήτων κατανομής, εφαρμογή με το παράδειγμα του \alpha-GAN
06 Νευρωνικά δίκτυα Bayes
07 Μπεϋζιανή συμπίεση νευρωνικών δικτύων
08 Ημι-σιωπηρή μεταβλητή συμπεράσματα