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

Oracle ανοιχτής πηγής βιβλιοθήκη μηχανικής εκμάθησης Java

Προσπαθώντας να καλύψει τις ανάγκες της επιχείρησης στον χώρο της μηχανικής μάθησης, η Oracle προσφέρει τη βιβλιοθήκη μηχανικής εκμάθησης Tribuo Java δωρεάν με άδεια ανοιχτού κώδικα.

Με το Tribuo, η Oracle στοχεύει να διευκολύνει την κατασκευή και την ανάπτυξη μοντέλων μηχανικής μάθησης στην Java, παρόμοια με αυτά που έχουν ήδη συμβεί με την Python. Κυκλοφόρησε με άδεια Apache 2.0 και αναπτύχθηκε από την Oracle Labs, το Tribuo είναι προσβάσιμο από το GitHub και το Maven Central.

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

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

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

Η Oracle βλέπει το Tribuo να γεμίζει ένα κενό στην αγορά για μηχανική μάθηση για επιχειρηματικές εφαρμογές. Για παράδειγμα, ενώ η βιβλιοθήκη TensorFlow που έχει κατασκευαστεί από την Google παρέχει βασικούς αλγόριθμους για βαθιά μάθηση, το Tribuo παρέχει διάφορους αλγόριθμους μηχανικής μάθησης, μερικοί από τους οποίους είναι στο TensorFlow και μερικοί από αυτούς δεν, ενώ παρέχουν επίσης μια διεπαφή στο TensorFlow, δήλωσε ο Adam Pocock της Oracle κύριο μέλος του τεχνικού προσωπικού της Oracle Labs. Και ενώ η μηχανή ανάλυσης Apache Spark είναι για μεγάλα, κατανεμημένα συστήματα, το Tribuo είναι για μικρότερους υπολογισμούς που μπορούν να χωρέσουν σε ένα μόνο μηχάνημα, δήλωσε ο Pocock.

Εκτός από το TensorFlow, το Tribuo παρέχει διασυνδέσεις στο XGBoost και στο χρόνο εκτέλεσης ONNX, επιτρέποντας στα μοντέλα που είναι αποθηκευμένα σε μορφή ONNX ή εκπαιδεύονται σε TensorFlow και XGBoost να αναπτυχθούν παράλληλα με τα εγγενή μοντέλα Tribuo. Η υποστήριξη για τη μορφή μοντέλου ONNX επιτρέπει την ανάπτυξη στην Java μοντέλων που έχουν εκπαιδευτεί χρησιμοποιώντας δημοφιλείς βιβλιοθήκες Python όπως το PyTorch.

Το Tribuo εκτελείται σε Java 8 ή μεταγενέστερη έκδοση. Η Oracle δέχεται συνεισφορές κώδικα στο Tribuo βάσει της Συμφωνίας Oracle Contributor. Το Tribuo έχει ήδη χρησιμοποιηθεί εσωτερικά στο Oracle στο προϊόν Fusion Cloud ERP για έξυπνη αναγνώριση εγγράφων, για παράδειγμα.