Προγραμματισμός

Η αυτόματη μηχανική εκμάθηση ή η AutoML εξηγείται

Τα δύο μεγαλύτερα εμπόδια στη χρήση της μηχανικής μάθησης (τόσο η κλασική μηχανική μάθηση όσο και η βαθιά μάθηση) είναι δεξιότητες και πόροι υπολογιστών. Μπορείτε να λύσετε το δεύτερο πρόβλημα ρίχνοντας χρήματα σε αυτό, είτε για την αγορά επιταχυνόμενου υλικού (όπως υπολογιστές με GPU προηγμένης τεχνολογίας) είτε για την ενοικίαση πόρων υπολογιστών στο cloud (όπως περιπτώσεις με συνδεδεμένες GPU, TPU και FPGA).

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

Τι είναι το AutoML;

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

Υπάρχουν πολλοί τρόποι για να το κάνουμε αυτό. Μια προσέγγιση είναι το λογισμικό να εκπαιδεύει απλώς κάθε είδος μοντέλου στα δεδομένα και να επιλέγει αυτό που λειτουργεί καλύτερα. Μια βελτίωση αυτού θα ήταν να κατασκευάσει ένα ή περισσότερα μοντέλα που συνδυάζουν τα άλλα μοντέλα, τα οποία μερικές φορές (αλλά όχι πάντα) δίνουν καλύτερα αποτελέσματα.

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

Τι είναι η βελτιστοποίηση υπερπαραμέτρων;

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

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

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

Τι είναι η μηχανική χαρακτηριστικών;

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

Μέρος της τέχνης της επιλογής χαρακτηριστικών είναι να επιλέξετε ένα ελάχιστο σύνολο ανεξάρτητος μεταβλητές που εξηγούν το πρόβλημα. Εάν δύο μεταβλητές συσχετίζονται σε μεγάλο βαθμό, είτε πρέπει να συνδυαστούν σε ένα μόνο χαρακτηριστικό, είτε θα πρέπει να απορριφθεί. Μερικές φορές οι άνθρωποι εκτελούν ανάλυση βασικών συστατικών (PCA) για να μετατρέψουν τις συσχετισμένες μεταβλητές σε ένα σύνολο γραμμικά μη συσχετισμένων μεταβλητών.

Για να χρησιμοποιήσετε κατηγορηματικά δεδομένα για την ταξινόμηση του μηχανήματος, πρέπει να κωδικοποιήσετε τις ετικέτες κειμένου σε άλλη μορφή. Υπάρχουν δύο κοινές κωδικοποιήσεις.

Ενα είναι κωδικοποίηση ετικέτας, που σημαίνει ότι κάθε τιμή ετικέτας κειμένου αντικαθίσταται με έναν αριθμό. Το άλλο είναι μονόχρωμη κωδικοποίηση, που σημαίνει ότι κάθε τιμή ετικέτας κειμένου μετατρέπεται σε στήλη με δυαδική τιμή (1 ή 0). Τα περισσότερα πλαίσια μηχανικής μάθησης έχουν λειτουργίες που κάνουν τη μετατροπή για εσάς. Σε γενικές γραμμές, προτιμάται η κωδικοποίηση one-hot, καθώς η κωδικοποίηση ετικέτας μπορεί μερικές φορές να μπερδέψει τον αλγόριθμο μηχανικής εκμάθησης να πιστεύει ότι η κωδικοποιημένη στήλη έχει ταξινομηθεί.

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

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

Τι είναι η εκμάθηση μεταφοράς;

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

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

Εφαρμογές AutoML

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

Υπηρεσίες AutoML

Και οι τρεις μεγάλες υπηρεσίες cloud διαθέτουν κάποιο είδος AutoML. Το Amazon SageMaker κάνει συντονισμό υπερπαραμέτρων, αλλά δεν δοκιμάζει αυτόματα πολλαπλά μοντέλα ή δεν εκτελεί μηχανικά χαρακτηριστικά. Το Azure Machine Learning διαθέτει και AutoML, το οποίο σαρώνει τις δυνατότητες και τους αλγορίθμους, καθώς και τον συντονισμό υπερπαραμέτρων, τον οποίο συνήθως εκτελείτε στον καλύτερο αλγόριθμο που επιλέγεται από το AutoML. Το Google Cloud AutoML, όπως ανέφερα νωρίτερα, είναι η εκμάθηση βαθιάς μεταφοράς για μετάφραση ζεύγους γλωσσών, ταξινόμηση φυσικής γλώσσας και ταξινόμηση εικόνας.

Ορισμένες μικρότερες εταιρείες προσφέρουν επίσης υπηρεσίες AutoML. Για παράδειγμα, το DataRobot, το οποίο ισχυρίζεται ότι έχει εφεύρει AutoML, έχει ισχυρή φήμη στην αγορά. Και ενώ το dotData έχει ένα μικρό μερίδιο αγοράς και μια μέτρια διεπαφή χρήστη, έχει ισχυρές δυνατότητες μηχανικής χαρακτηριστικών και καλύπτει πολλές περιπτώσεις επιχειρηματικής χρήσης. Το H2O.ai Driverless AI, το οποίο εξέτασα το 2017, μπορεί να βοηθήσει έναν επιστήμονα δεδομένων να βγάλει μοντέλα όπως ένα Kaggle master, να κάνει μηχανική χαρακτηριστικών, σάρωση αλγορίθμων και βελτιστοποίηση υπερπαραμέτρων με ενοποιημένο τρόπο.

Πλαίσια AutoML

Το AdaNet είναι ένα ελαφρύ πλαίσιο που βασίζεται στο TensorFlow για αυτόματη εκμάθηση μοντέλων υψηλής ποιότητας με ελάχιστη παρέμβαση από ειδικούς. Το Auto-Keras είναι μια βιβλιοθήκη λογισμικού ανοιχτού κώδικα για αυτόματη μηχανική μάθηση, που αναπτύχθηκε στο Texas A&M, η οποία παρέχει λειτουργίες για αυτόματη αναζήτηση αρχιτεκτονικής και υπερπαραμέτρων μοντέλων βαθιάς μάθησης. Το NNI (Neural Network Intelligence) είναι μια εργαλειοθήκη από τη Microsoft για να βοηθήσει τους χρήστες να σχεδιάσουν και να συντονίσουν μοντέλα μηχανικής μάθησης (π.χ. υπερπαραμέτρους), αρχιτεκτονικές νευρωνικών δικτύων ή παραμέτρους ενός σύνθετου συστήματος με αποτελεσματικό και αυτόματο τρόπο.

Μπορείτε να βρείτε επιπλέον έργα AutoML και μια αρκετά ολοκληρωμένη και τρέχουσα λίστα εγγράφων σχετικά με το AutoML στο GitHub.