Τι είναι η προεπεξεργασία τεχνητής νοημοσύνης;

Τι είναι η προεπεξεργασία τεχνητής νοημοσύνης;

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

Η προεπεξεργασία με τεχνητή νοημοσύνη είναι όλα όσα κάνετε στα ακατέργαστα δεδομένα πριν (και μερικές φορές κατά τη διάρκεια) της εκπαίδευσης ή της εξαγωγής συμπερασμάτων, ώστε ένα μοντέλο να μπορεί πραγματικά να μάθει από αυτά. Όχι απλώς «καθαρισμός». Είναι καθαρισμός, διαμόρφωση, κλιμάκωση, κωδικοποίηση, αύξηση και συσκευασία δεδομένων σε μια συνεπή αναπαράσταση που δεν θα προκαλέσει σφάλμα στο μοντέλο σας αργότερα. [1]

Βασικά συμπεράσματα:

Ορισμός : Η προεπεξεργασία μετατρέπει τους ακατέργαστους πίνακες, το κείμενο, τις εικόνες και τα αρχεία καταγραφής σε λειτουργίες έτοιμες για μοντέλο.

Συνέπεια : Εφαρμόστε τους ίδιους μετασχηματισμούς κατά την εκπαίδευση και την εξαγωγή συμπερασμάτων για να αποτρέψετε αποτυχίες αναντιστοιχίας.

Διαρροή : Προσαρμόστε τους scalers, τους κωδικοποιητές και τους tokenizers μόνο σε δεδομένα εκπαίδευσης.

Αναπαραγωγιμότητα : Δημιουργήστε αγωγούς με επιθεωρήσιμα στατιστικά στοιχεία, όχι ad-hoc ακολουθίες κελιών σημειωματάριου.

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

Άρθρα που ίσως σας ενδιαφέρουν μετά από αυτό:

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

🔗 Είναι η Τεχνητή Νοημοσύνη (AI) μετατροπής κειμένου σε ομιλία και πώς λειτουργεί;
Εξηγεί τα βασικά του TTS, τις βασικές χρήσεις και τους κοινούς περιορισμούς σήμερα.

🔗 Μπορεί η Τεχνητή Νοημοσύνη να διαβάσει με ακρίβεια την καλλιγραφία σήμερα;
Καλύπτει προκλήσεις αναγνώρισης, τα καλύτερα εργαλεία και συμβουλές ακρίβειας.

🔗 Πόσο ακριβής είναι η Τεχνητή Νοημοσύνη σε κοινές εργασίες
Αναλύει τους παράγοντες ακρίβειας, τα σημεία αναφοράς και την αξιοπιστία στον πραγματικό κόσμο.


Προεπεξεργασία τεχνητής νοημοσύνης σε απλή γλώσσα (και τι δεν είναι) 🤝

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

Δεν είναι το ίδιο το μοντέλο. Είναι τα στοιχεία που καθιστούν δυνατό το μοντέλο:

  • μετατροπή κατηγοριών σε αριθμούς (μονοψήφιοι, διατακτικοί, κ.λπ.) [1]

  • κλιμάκωση μεγάλων αριθμητικών εύρων σε λογικά εύρη (τυποποίηση, ελάχιστο-μέγιστο, κ.λπ.) [1]

  • μετατροπή κειμένου σε αναγνωριστικά εισόδου (και συνήθως σε μάσκα προσοχής) [3]

  • αλλαγή μεγέθους/περικοπή εικόνων και κατάλληλη εφαρμογή ντετερμινιστικών έναντι τυχαίων μετασχηματισμών [4]

  • κατασκευή επαναλήψιμων αγωγών, ώστε η εκπαίδευση και οι εισροές στην «πραγματική ζωή» να μην αποκλίνουν με ανεπαίσθητους τρόπους [2]

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

 

Προεπεξεργασία Τεχνητής Νοημοσύνης

Γιατί η προεπεξεργασία της Τεχνητής Νοημοσύνης έχει μεγαλύτερη σημασία από ό,τι παραδέχεται ο κόσμος 😬

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

Η προεπεξεργασία σας βοηθά να:

  • Βελτιώστε τη σταθερότητα της μάθησης τοποθετώντας χαρακτηριστικά σε αναπαραστάσεις που οι εκτιμητές μπορούν να χρησιμοποιήσουν αξιόπιστα (ειδικά όταν εμπλέκεται κλιμάκωση/κωδικοποίηση). [1]

  • Μειώστε τον θόρυβο κάνοντας την ακατάστατη πραγματικότητα να μοιάζει με κάτι από το οποίο ένα μοντέλο μπορεί να γενικεύσει (αντί να απομνημονεύσει παράξενα αντικείμενα).

  • Αποτρέψτε τις αθόρυβες λειτουργίες αστοχίας, όπως η διαρροή και οι αναντιστοιχίες εκπαίδευσης/εξυπηρέτησης (αυτές που φαίνονται «εκπληκτικές» στην επικύρωση και στη συνέχεια στις προσωπικές προσαρμογές στην παραγωγή). [2]

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

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


Τι κάνει μια διαδικασία προεπεξεργασίας τεχνητής νοημοσύνης καλή ✅

Μια «καλή έκδοση» προεπεξεργασίας συνήθως έχει τα εξής χαρακτηριστικά:

  • Αναπαραγώγιμο : ίδια είσοδος → ίδια έξοδος (καμία μυστηριώδης τυχαιότητα εκτός αν πρόκειται για σκόπιμη αύξηση).

  • Συνέπεια στην εξυπηρέτηση της εκπαίδευσης : οτιδήποτε κάνετε κατά τον χρόνο εκπαίδευσης εφαρμόζεται με τον ίδιο τρόπο κατά τον χρόνο συμπερασμάτων (ίδιες προσαρμοσμένες παράμετροι, ίδιοι χάρτες κατηγορίας, ίδια διαμόρφωση tokenizer, κ.λπ.). [2]

  • Ασφαλές έναντι διαρροών : τίποτα στην αξιολόγηση/δοκιμή δεν επηρεάζει κανένα προσαρμογής . (Περισσότερα για αυτήν την παγίδα σε λίγο.) [2]

  • Παρατηρήσιμο : μπορείτε να ελέγξετε τι άλλαξε (στατιστικά χαρακτηριστικά, ελλείψεις, αριθμός κατηγοριών), επομένως η διόρθωση σφαλμάτων δεν βασίζεται σε vibes.

Αν η προεπεξεργασία σας είναι μια στοίβα από κελιά σημειωματάριου που ονομάζονται final_v7_really_final_ok ... ξέρετε πώς είναι. Λειτουργεί μέχρι να σταματήσει 😬


Βασικά δομικά στοιχεία της προεπεξεργασίας της Τεχνητής Νοημοσύνης 🧱

Σκεφτείτε την προεπεξεργασία ως ένα σύνολο δομικών στοιχείων που συνδυάζετε σε μια σωλήνωση.

1) Καθαρισμός και επικύρωση 🧼

Τυπικές εργασίες:

  • κατάργηση διπλότυπων

  • χειρισμός τιμών που λείπουν (αφαίρεση, καταλογισμός ή ρητή αναπαράσταση ελλείψεων)

  • επιβολή τύπων, μονάδων και εύρους

  • εντοπισμός λανθασμένων εισόδων

  • τυποποίηση μορφών κειμένου (κενά, κανόνες πεζών-κεφαλαίων, ιδιορρυθμίες Unicode)

Αυτό το κομμάτι δεν είναι λαμπερό, αλλά αποτρέπει εξαιρετικά χαζά λάθη. Το λέω με αγάπη.

2) Κωδικοποίηση κατηγορικών δεδομένων 🔤

Τα περισσότερα μοντέλα δεν μπορούν να χρησιμοποιήσουν απευθείας ακατέργαστες συμβολοσειρές όπως "red" ή "premium_user" .

Κοινές προσεγγίσεις:

  • Κωδικοποίηση μίας φοράς (κατηγορία → δυαδικές στήλες) [1]

  • Τακτική κωδικοποίηση (κατηγορία → ακέραιο ID) [1]

Το κλειδί δεν είναι ποιον κωδικοποιητή επιλέγετε - είναι η αντιστοίχιση να παραμένει συνεπής και να μην «αλλάζει σχήμα» μεταξύ εκπαίδευσης και συμπερασμάτων. Έτσι καταλήγετε σε ένα μοντέλο που φαίνεται μια χαρά εκτός σύνδεσης και συμπεριφέρεται σαν στοιχειωμένο στο διαδίκτυο. [2]

3) Κλιμάκωση και ομαλοποίηση χαρακτηριστικών 📏

Η κλιμάκωση έχει σημασία όταν τα χαρακτηριστικά βρίσκονται σε εντελώς διαφορετικά εύρη.

Δύο κλασικά:

  • Τυποποίηση : αφαίρεση μέσου όρου και κλιμάκωση σε μονάδα διακύμανσης [1]

  • Ελάχιστη-μέγιστη κλιμάκωση : κλιμάκωση κάθε χαρακτηριστικού σε ένα καθορισμένο εύρος [1]

Ακόμα και όταν χρησιμοποιείτε μοντέλα που «ανταποκρίνονται ως επί το πλείστον», η κλιμάκωση συχνά καθιστά ευκολότερο τον συλλογισμό σχετικά με τους αγωγούς - και πιο δύσκολο το να σπάσουν κατά λάθος.

4) Μηχανική χαρακτηριστικών (γνωστή και ως χρήσιμη απάτη) 🧪

Εδώ είναι που διευκολύνετε την εργασία του μοντέλου δημιουργώντας καλύτερα σήματα:

  • αναλογίες (κλικ / εμφανίσεις)

  • κυλιόμενα παράθυρα (τελευταίες N ημέρες)

  • μετρήσεις (συμβάντα ανά χρήστη)

  • μετασχηματισμοί λογαρίθμου για κατανομές βαριάς ουράς

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

5) Σωστός διαχωρισμός δεδομένων ✂️

Αυτό ακούγεται προφανές μέχρι να μην είναι:

  • τυχαίες διαιρέσεις για δεδομένα iid

  • διαχωρισμοί βάσει χρόνου για χρονοσειρές

  • ομαδοποιημένες διαιρέσεις όταν επαναλαμβάνονται οντότητες (χρήστες, συσκευές, ασθενείς)

Και το πιο σημαντικό: διαχωρίστε πριν από την προσαρμογή της προεπεξεργασίας που μαθαίνει από δεδομένα . Εάν το βήμα προεπεξεργασίας σας «μαθαίνει» παραμέτρους (όπως μέσα, λεξιλόγια, χάρτες κατηγοριών), πρέπει να τις μάθει μόνο από την εκπαίδευση. [2]


Προεπεξεργασία τεχνητής νοημοσύνης ανά τύπο δεδομένων: σε μορφή πίνακα, κείμενο, εικόνες 🎛️

Η προεπεξεργασία αλλάζει σχήμα ανάλογα με το τι τροφοδοτείτε το μοντέλο.

Δεδομένα σε μορφή πίνακα (υπολογιστικά φύλλα, αρχεία καταγραφής, βάσεις δεδομένων) 📊

Συνήθη βήματα:

  • στρατηγική ελλείπουσας αξίας

  • κατηγορική κωδικοποίηση [1]

  • κλιμάκωση αριθμητικών στηλών [1]

  • χειρισμός ακραίων τιμών (οι κανόνες τομέα υπερτερούν των «τυχαίων αποκοπών» τις περισσότερες φορές)

  • παράγωγα χαρακτηριστικά (συγκεντρώσεις, καθυστερήσεις, κυλιόμενα στατιστικά στοιχεία)

Πρακτικές συμβουλές: ορίστε ρητά τις ομάδες στηλών (αριθμητικές έναντι κατηγορικών έναντι αναγνωριστικών). Ο μελλοντικός σας εαυτός θα σας ευγνωμονεί.

Δεδομένα κειμένου (NLP) 📝

Η προεπεξεργασία κειμένου συχνά περιλαμβάνει:

  • μετατροπή σε διακριτικά/υπολέξεις

  • μετατροπή σε αναγνωριστικά εισόδου

  • συμπλήρωση/περικοπή

  • κατασκευή μασκών προσοχής για παρτίδες [3]

Μικρός κανόνας που σας γλιτώνει από τον κόπο: για ρυθμίσεις που βασίζονται σε μετασχηματιστές, ακολουθήστε τις αναμενόμενες ρυθμίσεις tokenizer του μοντέλου και μην κάνετε freestyle εκτός αν έχετε κάποιο λόγο. Το freestyle είναι ο τρόπος με τον οποίο καταλήγετε στο «εκπαιδεύεται αλλά είναι περίεργο»

Εικόνες (όραση υπολογιστή) 🖼️

Τυπική προεπεξεργασία:

  • αλλαγή μεγέθους / περικοπή σε ομοιόμορφα σχήματα

  • ντετερμινιστικοί μετασχηματισμοί για αξιολόγηση

  • τυχαίοι μετασχηματισμοί για την ενίσχυση της εκπαίδευσης (π.χ., τυχαία περικοπή) [4]

Μια λεπτομέρεια που οι άνθρωποι παραβλέπουν: οι «τυχαίοι μετασχηματισμοί» δεν είναι απλώς μια ατμόσφαιρα - κυριολεκτικά λαμβάνουν δείγματα παραμέτρων κάθε φορά που καλούνται. Ιδανικό για την εκπαίδευση της ποικιλομορφίας, απαίσιο για την αξιολόγηση αν ξεχάσετε να απενεργοποιήσετε την τυχαιότητα. [4]


Η παγίδα στην οποία πέφτουν όλοι: διαρροή δεδομένων 🕳️🐍

Η διαρροή είναι όταν πληροφορίες από δεδομένα αξιολόγησης εισέρχονται κρυφά στην εκπαίδευση - συχνά μέσω προεπεξεργασίας. Μπορεί να κάνει το μοντέλο σας να φαίνεται μαγικό κατά την επικύρωση και στη συνέχεια να σας απογοητεύσει στον πραγματικό κόσμο.

Συνήθη μοτίβα διαρροών:

  • κλιμάκωση χρησιμοποιώντας στατιστικά στοιχεία πλήρους συνόλου δεδομένων (αντί μόνο εκπαίδευσης) [2]

  • Χάρτες κατηγοριών κτιρίων χρησιμοποιώντας τρένο+δοκιμή μαζί [2]

  • οποιοδήποτε fit() ή fit_transform() που «βλέπει» το σύνολο δοκιμών [2]

Εμπειρικός κανόνας (απλός, σκληρός, αποτελεσματικός):

  • Οτιδήποτε έχει κατάλληλο βήμα θα πρέπει να είναι κατάλληλο μόνο κατά την προπόνηση.

  • Στη συνέχεια, τον μετασχηματισμό χρησιμοποιώντας αυτόν τον προσαρμοσμένο μετασχηματιστή. [2]

Και αν θέλετε ένα «πόσο άσχημο μπορεί να είναι;» έλεγχος: τα έγγραφα του scikit-learn δείχνουν ένα παράδειγμα διαρροής όπου μια λανθασμένη σειρά προεπεξεργασίας αποδίδει ακρίβεια περίπου 0,76 σε τυχαίους στόχους - και στη συνέχεια μειώνεται ξανά στο ~ 0,5 μόλις διορθωθεί η διαρροή. Τόσο πειστικά λανθασμένη μπορεί να φαίνεται μια διαρροή. [2]


Ένταξη της προεπεξεργασίας στην παραγωγή χωρίς χάος 🏗️

Πολλά μοντέλα αποτυγχάνουν στην παραγωγή όχι επειδή το μοντέλο είναι «κακό», αλλά επειδή αλλάζει η πραγματικότητα των εισροών - ή αλλάζει η ροή εργασίας σας.

Η προεπεξεργασία με επίκεντρο την παραγωγή συνήθως περιλαμβάνει:

  • Αποθηκευμένα αντικείμενα (αντιστοιχίσεις κωδικοποιητή, παράμετροι κλιμάκωσης, διαμόρφωση tokenizer) έτσι ώστε η συμπερασματική ανάλυση να χρησιμοποιεί τους ίδιους ακριβώς μαθημένους μετασχηματισμούς [2]

  • Αυστηρές συμβάσεις εισόδου (αναμενόμενες στήλες/τύποι/εύρη)

  • Παρακολούθηση για ασυμμετρία και μετατόπιση , επειδή τα δεδομένα παραγωγής θα αποκλίνουν [5]

Αν θέλετε συγκεκριμένους ορισμούς: Το Vertex AI Model Monitoring της Google διακρίνει την ασυμμετρία μεταξύ εκπαίδευσης και εξυπηρέτησης (η κατανομή παραγωγής αποκλίνει από την εκπαίδευση) και την απόκλιση συμπερασμάτων (η κατανομή παραγωγής αλλάζει με την πάροδο του χρόνου) και υποστηρίζει την παρακολούθηση τόσο για κατηγορικά όσο και για αριθμητικά χαρακτηριστικά. [5]

Επειδή οι εκπλήξεις είναι ακριβές. Και όχι οι διασκεδαστικές.


Συγκριτικός πίνακας: κοινά εργαλεία προεπεξεργασίας + παρακολούθησης (και για ποιον προορίζονται) 🧰

Εργαλείο / βιβλιοθήκη Καλύτερο για Τιμή Γιατί λειτουργεί (και λίγη ειλικρίνεια)
προεπεξεργασία scikit-learn Πινακοποιημένες διοχετεύσεις ML Δωρεάν Κωδικοποιητές στερεάς κατάστασης + κλιμακωτές (OneHotEncoder, StandardScaler, κ.λπ.) και προβλέψιμη συμπεριφορά [1]
Διακριτικά Αγκαλιαστικού Προσώπου Προετοιμασία εισαγωγής NLP Δωρεάν Παράγει αναγνωριστικά εισόδου + μάσκες προσοχής με συνέπεια σε όλες τις εκτελέσεις/μοντέλα [3]
μετασχηματισμοί TorchVision Μετασχηματισμός + ενίσχυση της όρασης Δωρεάν Καθαρός τρόπος ανάμειξης ντετερμινιστικών και τυχαίων μετασχηματισμών σε μία σωλήνωση [4]
Παρακολούθηση μοντέλου AI Vertex Ανίχνευση απόκλισης/ασυμμετρίας στο προϊόν Πληρωμένο (cloud) Οι οθόνες διαθέτουν ασύμμετρη/μετατόπιση και ειδοποιήσεις όταν υπερβαίνουν τα όρια [5]

(Ναι, ο πίνακας έχει ακόμα απόψεις. Αλλά τουλάχιστον είναι ειλικρινείς απόψεις 😅)


Μια πρακτική λίστα ελέγχου προεπεξεργασίας που μπορείτε πραγματικά να χρησιμοποιήσετε 📌

Πριν από την προπόνηση

  • Ορισμός σχήματος εισόδου (τύποι, μονάδες, επιτρεπόμενα εύρη)

  • Έλεγχος τιμών που λείπουν και διπλότυπων

  • Διαχωρίστε τα δεδομένα με τον σωστό τρόπο (τυχαία / χρονικά / ομαδοποιημένα)

  • Προεπεξεργασία προσαρμογής μόνο κατά την εκπαίδευση ( η προσαρμογή / η μετατροπή_κατάστασης παραμένει στην εκπαίδευση) [2]

  • Αποθήκευση τεχνουργημάτων προεπεξεργασίας, ώστε η εξαγωγή συμπερασμάτων να μπορεί να τα επαναχρησιμοποιήσει [2]

Κατά τη διάρκεια της εκπαίδευσης

  • Εφαρμόστε τυχαία αύξηση μόνο όπου είναι απαραίτητο (συνήθως μόνο διαχωρισμός εκπαίδευσης) [4]

  • Διατήρηση της προεπεξεργασίας αξιολόγησης ως ντετερμινιστική [4]

  • Παρακολουθήστε τις αλλαγές προεπεξεργασίας, όπως οι αλλαγές στο μοντέλο (επειδή είναι)

Πριν από την ανάπτυξη

  • Βεβαιωθείτε ότι η συμπερασματική διαδικασία χρησιμοποιεί την ίδια διαδρομή προεπεξεργασίας και τα ίδια αντικείμενα [2]

  • Ρύθμιση παρακολούθησης απόκλισης/ασυμμετρίας (ακόμα και οι βασικοί έλεγχοι κατανομής χαρακτηριστικών είναι σημαντικοί) [5]


Βαθιά βουτιά: συνηθισμένα λάθη προεπεξεργασίας (και πώς να τα αποφύγετε) 🧯

Λάθος 1: «Θα τα ομαλοποιήσω όλα γρήγορα» 😵

Αν υπολογίζετε παραμέτρους κλιμάκωσης σε ολόκληρο το σύνολο δεδομένων, διαρρέετε πληροφορίες αξιολόγησης. Προσαρμόστε στην αμαξοστοιχία, μετασχηματίστε τα υπόλοιπα. [2]

Λάθος 2: κατηγορίες που παρασύρονται στο χάος 🧩

Εάν η αντιστοίχιση κατηγοριών σας μετατοπίζεται μεταξύ εκπαίδευσης και συμπερασμάτων, το μοντέλο σας μπορεί να ερμηνεύσει σιωπηλά τον κόσμο λανθασμένα. Διατηρήστε τις αντιστοιχίσεις διορθωμένες μέσω αποθηκευμένων τεχνουργημάτων. [2]

Λάθος 3: τυχαία αύξηση που εισχωρεί στην αξιολόγηση 🎲

Οι τυχαίοι μετασχηματισμοί είναι εξαιρετικοί στην εκπαίδευση, αλλά δεν θα πρέπει να είναι «κρυφά ενεργοποιημένοι» όταν προσπαθείτε να μετρήσετε την απόδοση. (Τυχαίο σημαίνει τυχαίο.) [4]


Τελικές παρατηρήσεις 🧠✨

Η προεπεξεργασία της Τεχνητής Νοημοσύνης είναι η πειθαρχημένη τέχνη της μετατροπής της ακατάστατης πραγματικότητας σε συνεπή δεδομένα εισόδου μοντέλου. Καλύπτει τον καθαρισμό, την κωδικοποίηση, την κλιμάκωση, την μετατροπή σε διακριτικά, τους μετασχηματισμούς εικόνας και -το πιο σημαντικό- τις επαναλήψιμες διοχετεύσεις και τα τεχνουργήματα.

  • Κάντε την προεπεξεργασία σκόπιμα, όχι τυχαία. [2]

  • Διαχωρισμός πρώτα, προσαρμογή μετασχηματισμών μόνο κατά την εκπαίδευση, αποφυγή διαρροής. [2]

  • Χρησιμοποιήστε προεπεξεργασία κατάλληλη για κάθε τρόπο επεξεργασίας (tokenizers για κείμενο, μετασχηματισμοί για εικόνες). [3][4]

  • Παρακολουθήστε την ασυμμετρία/απόκλιση παραγωγής, ώστε το μοντέλο σας να μην εκτρέπεται σιγά σιγά σε ανοησίες. [5]

Και αν ποτέ κολλήσετε, αναρωτηθείτε:
«Θα είχε ακόμα νόημα αυτό το βήμα προεπεξεργασίας αν το έτρεχα αύριο σε ολοκαίνουργια δεδομένα;»
Αν η απάντηση είναι «εεε... ίσως;», αυτή είναι η ένδειξη που χρειάζεστε 😬


Συχνές ερωτήσεις

Τι είναι η προεπεξεργασία της Τεχνητής Νοημοσύνης, με απλά λόγια;

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

Γιατί η προεπεξεργασία της Τεχνητής Νοημοσύνης έχει τόσο μεγάλη σημασία στην παραγωγή;

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

Πώς μπορώ να αποφύγω τη διαρροή δεδομένων κατά την προεπεξεργασία;

Ένας απλός κανόνας λειτουργεί: οτιδήποτε έχει προσαρμογής πρέπει να προσαρμόζεται μόνο σε δεδομένα εκπαίδευσης. Αυτό περιλαμβάνει scalers, encoders και tokenizers που μαθαίνουν παραμέτρους όπως μέσους όρους, χάρτες κατηγοριών ή λεξιλόγια. Πρώτα διαχωρίζετε, προσαρμόζετε στο διαχωρισμό εκπαίδευσης και, στη συνέχεια, μετασχηματίζετε την επικύρωση/δοκιμή χρησιμοποιώντας τον προσαρμοσμένο μετασχηματιστή. Η διαρροή μπορεί να κάνει την επικύρωση να φαίνεται «μαγικά» καλή και στη συνέχεια να καταρρεύσει κατά τη χρήση παραγωγής.

Ποια είναι τα πιο συνηθισμένα βήματα προεπεξεργασίας για δεδομένα σε μορφή πίνακα;

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

Πώς λειτουργεί η προεπεξεργασία για μοντέλα κειμένου;

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

Τι διαφέρει στην προεπεξεργασία εικόνων για μηχανική μάθηση;

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

Τι κάνει έναν αγωγό προεπεξεργασίας «καλό» αντί για εύθραυστο;

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

Πώς μπορώ να διατηρήσω τη συνέπεια μεταξύ της εκπαίδευσης και της προεπεξεργασίας συμπερασμάτων;

Το κλειδί είναι να επαναχρησιμοποιήσετε τα ίδια ακριβώς μαθημένα αντικείμενα κατά τον χρόνο εξαγωγής συμπερασμάτων: παραμέτρους κλιμάκωσης, αντιστοιχίσεις κωδικοποιητή και διαμορφώσεις tokenizer. Θέλετε επίσης μια σύμβαση εισόδου (αναμενόμενες στήλες, τύποι και εύρη), ώστε τα δεδομένα παραγωγής να μην μπορούν να μετατοπιστούν σιωπηλά σε μη έγκυρα σχήματα. Η συνέπεια δεν είναι απλώς «κάντε τα ίδια βήματα» - είναι «κάντε τα ίδια βήματα με τις ίδιες προσαρμοσμένες παραμέτρους και αντιστοιχίσεις»

Πώς μπορώ να παρακολουθώ προβλήματα προεπεξεργασίας, όπως η απόκλιση και η ασυμμετρία, με την πάροδο του χρόνου;

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

Αναφορές

[1] scikit-learn API:
sklearn.preprocessing (κωδικοποιητές, κλιμακωτές, κανονικοποίηση) [2] scikit-learn: Συνήθεις παγίδες - Διαρροή δεδομένων και πώς να την αποφύγετε
[3] Έγγραφα Hugging Face Transformers: Tokenizers (ID εισόδου, μάσκες προσοχής)
[4] Έγγραφα PyTorch Torchvision: Μετασχηματισμοί (Αλλαγή μεγέθους/Κανονικοποίηση + τυχαίοι μετασχηματισμοί)
[5] Έγγραφα Google Cloud Vertex AI: Επισκόπηση παρακολούθησης μοντέλου (ασυμμετρία και μετατόπιση χαρακτηριστικών)

Βρείτε την τελευταία λέξη της Τεχνητής Νοημοσύνης στο επίσημο κατάστημα βοηθών τεχνητής νοημοσύνης

Σχετικά με εμάς

Επιστροφή στο ιστολόγιο