Όλα τα μαθήματα

Σειρά μαθημάτων

ΤΝ της 10ης τάξης: Βαθιά μάθηση και πολυτροπική ΤΝ

Φτιάξε και εκπαίδευσε νευρωνικά δίκτυα σε PyTorch για εικόνες, κείμενο και ήχο.

Κάνε τα μαθήματα με τη σειρά. Στο τέλος μπορείς να υπολογίσεις την έξοδο ενός νευρώνα, να συγκρίνεις τις ενεργοποιήσεις ReLU, σιγμοειδή και softmax, και να γράψεις το εμπρόσθιο πέρασμα ενός μικρού δικτύου με NumPy. Μπορείς να διαλέξεις μια απώλεια, να εξηγήσεις την κάθοδο κλίσης και την οπισθοδιάδοση, και να γράψεις ένα σενάριο με τον πλήρη βρόχο εκπαίδευσης και δοκιμής σε PyTorch. Μπορείς να εκπαιδεύσεις έναν ταξινομητή εικόνων με CNN, να εκπαιδεύσεις έναν ταξινομητή συναισθήματος για να ξεχωρίζει θετικές από αρνητικές κριτικές, να εξηγήσεις πώς η προσοχή ζυγίζει τα άλλα διακριτικά, και να ταξινομήσεις σύντομα ηχητικά αποσπάσματα. Μπορείς να μειώσεις την υπερπροσαρμογή, να ρυθμίσεις λεπτά ένα προεκπαιδευμένο μοντέλο σε νέες κλάσεις, να ομαδοποιήσεις τα λάθη και να βρεις την αιτία τους, και να παρουσιάσεις έναν έξυπνο παρακολουθητή άγριας ζωής δοκιμασμένο σε εικόνες που δεν έχει δει.

Πώς να χρησιμοποιείς αυτά τα μαθήματα

  • Ξεκίνα από το μάθημα που λέει Κάνε αυτό. Προχώρα όταν μπορείς να κάνεις μόνος σου τη γραμμή κάτω από τον τίτλο.
  • Πρώτα παίξε τα Παιχνίδια. Μετά κάνε το Κουίζ. 8 από 10 σωστές για να περάσεις. Τα Φύλλα εργασίας είναι σε χαρτί. Οι απαντήσεις είναι κάτω.
  • Κάθε μάθημα στηρίζεται στο προηγούμενο. Κράτα σημειώσεις για κάθε εκπαίδευση: τις ρυθμίσεις, την καμπύλη απώλειας και το σκορ της δοκιμής.
  • Τα μαθήματα κώδικα χρησιμοποιούν Python και PyTorch σε ένα δωρεάν διαδικτυακό σημειωματάριο με GPU. Μικρά μοντέλα και μικρά σύνολα δεδομένων φτάνουν. Χρησιμοποίησε μόνο ανοιχτά σύνολα που επιτρέπεται να χρησιμοποιήσεις, και μην εκπαιδεύεις ποτέ σε φωτογραφίες ανθρώπων χωρίς την άδειά τους.

Κάθε μάθημα έχει παιχνίδια, κουίζ και φύλλα εργασίας.

0 από 36

Βάσεις νευρωνικών δικτύων

  1. 1ΝευρώνεςΥπολόγισε την έξοδο ενός νευρώνα από εισόδους, βάρη και πόλωση.
    • Γράψε το σταθμισμένο άθροισμα συν την πόλωση.
    • Υπολόγισέ το με το χέρι για τρεις εισόδους.
    • Υπολόγισέ το σε κώδικα με εσωτερικό γινόμενο.
  2. 2ΕνεργοποιήσειςΣύγκρινε τις ενεργοποιήσεις ReLU, σιγμοειδή και softmax.
    • Σχεδίασε κάθε ενεργοποίηση.
    • Εξήγησε γιατί ένα δίκτυο χρειάζεται μη γραμμική ενεργοποίηση.
    • Χρησιμοποίησε softmax για να κάνεις σκορ πιθανότητες.
  3. 3Στρώματα και δίκτυαΣτοίβαξε στρώματα σε ένα δίκτυο.
    • Γράψε ένα στρώμα ως πολλαπλασιασμό πινάκων.
    • Ακολούθησε το σχήμα των δεδομένων σε κάθε στρώμα.
    • Μέτρησε τις παραμέτρους ενός δικτύου.
  4. 4Ένα μικρό δίκτυοΓράψε το εμπρόσθιο πέρασμα ενός μικρού δικτύου με NumPy.
    • Φτιάξε ένα δίκτυο δύο στρωμάτων σε NumPy.
    • Πέρασε μια ομάδα εισόδων από μέσα.
    • Έλεγξε το σχήμα της εξόδου.

Εκπαίδευση νευρωνικών δικτύων

  1. 5ΑπώλειαΔιάλεξε μια απώλεια για μια εργασία και υπολόγισέ την.
    • Χρησιμοποίησε μέσο τετραγωνικό σφάλμα για παλινδρόμηση.
    • Χρησιμοποίησε διασταυρωμένη εντροπία για ταξινόμηση.
    • Πες τι σημαίνει μια απώλεια που πέφτει.
  2. 6Κάθοδος κλίσηςΕξήγησε πώς η κάθοδος κλίσης μετακινεί τα βάρη προς τα κάτω.
    • Βρες την κλίση μιας καμπύλης απώλειας.
    • Κάνε βήματα με ρυθμό μάθησης.
    • Δες τι γίνεται όταν ο ρυθμός είναι πολύ μεγάλος ή πολύ μικρός.
  3. 7ΟπισθοδιάδοσηΑκολούθησε την οπισθοδιάδοση του σφάλματος πίσω μέσα στο δίκτυο.
    • Χρησιμοποίησε τον κανόνα αλυσίδας σε ένα μικροσκοπικό δίκτυο.
    • Υπολόγισε μία κλίση με το χέρι.
    • Έλεγξέ την με αυτόματη διαφόριση.
  4. 8Εκπαίδευσε ένα δίκτυοΕκπαίδευσε ένα μικρό δίκτυο και σχεδίασε την απώλεια.
    • Εκπαίδευσε με μικρές παρτίδες.
    • Σχεδίασε την απώλεια εκπαίδευσης και επικύρωσης.
    • Σταμάτα όταν η απώλεια επικύρωσης σταματά να βελτιώνεται.

Βιβλιοθήκες βαθιάς μάθησης

  1. 9ΤανυστέςΔημιούργησε τανυστές PyTorch και άλλαξε το σχήμα τους.
    • Δημιούργησε τανυστές και έλεγξε το σχήμα και τον τύπο τους.
    • Άλλαξε το σχήμα, στοίβαξέ τους και κόψ’ τους.
    • Μετέφερε τανυστές σε GPU.
  2. 10ΜονάδεςΦτιάξε ένα μοντέλο με μονάδες του torch.nn.
    • Φτιάξε υποκλάση του nn.Module.
    • Χρησιμοποίησε στρώματα Linear και ενεργοποίησης.
    • Τύπωσε το μοντέλο και τον αριθμό παραμέτρων του.
  3. 11ΒελτιστοποιητέςΕκπαίδευσε με τους βελτιστοποιητές SGD και Adam.
    • Χρησιμοποίησε zero_grad, backward και step.
    • Σύγκρινε SGD και Adam σε μία εργασία.
    • Χρησιμοποίησε πρόγραμμα ρυθμού μάθησης.
  4. 12Σενάριο εκπαίδευσηςΓράψε ένα σενάριο με τον πλήρη βρόχο εκπαίδευσης και δοκιμής.
    • Φόρτωσε δεδομένα με DataLoader.
    • Εκπαίδευσε, επικύρωσε και δοκίμασε.
    • Αποθήκευσε το καλύτερο μοντέλο.

Όραση υπολογιστή

  1. 13Εικόνες ως τανυστέςΦόρτωσε εικόνες ως τανυστές και κανονικοποίησέ τες.
    • Φόρτωσε μια εικόνα ως κανάλια, ύψος και πλάτος.
    • Άλλαξε το μέγεθος και κανονικοποίησέ την.
    • Δείξε μια ομάδα ως πλέγμα.
  2. 14ΣυνελίξειςΕξήγησε πώς ένα φίλτρο συνέλιξης βρίσκει ακμές.
    • Σύρε ένα φίλτρο 3×3 πάνω σε μια εικόνα με το χέρι.
    • Εφάρμοσε φίλτρα ακμών σε κώδικα.
    • Εξήγησε stride, padding και pooling.
  3. 15CNNΦτιάξε ένα συνελικτικό νευρωνικό δίκτυο, ένα CNN.
    • Στοίβαξε στρώματα συνέλιξης, ενεργοποίησης και pooling.
    • Ισοπέδωσε και πρόσθεσε κεφαλή ταξινομητή.
    • Ακολούθησε τα σχήματα μέσα στο δίκτυο.
  4. 16Ταξινομητής εικόνωνΕκπαίδευσε έναν ταξινομητή εικόνων με CNN.
    • Εκπαίδευσε σε ένα μικρό σύνολο εικόνων.
    • Ανάφερε την ορθότητα στη δοκιμή.
    • Δείξε εικόνες που ταξινόμησε λάθος.

Επεξεργασία φυσικής γλώσσας

  1. 17ΔιακριτοποίησηΚάνε διακριτοποίηση: άλλαξε κείμενο σε διακριτικά και αναγνωριστικά.
    • Σύγκρινε διακριτικά λέξεων και υπολέξεων.
    • Φτιάξε ένα λεξιλόγιο.
    • Συμπλήρωσε τις ακολουθίες στο ίδιο μήκος.
  2. 18ΕνσωματώσειςΕξήγησε πώς οι ενσωματώσεις φέρνουν κοντά τις όμοιες λέξεις.
    • Χρησιμοποίησε ένα στρώμα ενσωμάτωσης.
    • Βρες τις πιο κοντινές λέξεις σε μια λέξη.
    • Σχεδίασε ενσωματώσεις σε δύο διαστάσεις.
  3. 19Μοντέλα κειμένουΦτιάξε ένα μοντέλο κειμένου που διαβάζει ακολουθία διακριτικών.
    • Πάρε τον μέσο όρο των ενσωματώσεων σε ένα διάνυσμα.
    • Χρησιμοποίησε ένα απλό αναδρομικό στρώμα.
    • Σύγκρινε τα δύο.
  4. 20Ταξινομητής συναισθήματοςΕκπαίδευσε έναν ταξινομητή συναισθήματος για να ξεχωρίζει θετικές από αρνητικές κριτικές.
    • Εκπαίδευσε σε ένα σύνολο κριτικών.
    • Ανάφερε ορθότητα, ακρίβεια και ανάκληση.
    • Βρες κριτικές που το ξεγελούν, όπως ο σαρκασμός.

Transformers

  1. 21ΠροσοχήΕξήγησε πώς η προσοχή ζυγίζει τα άλλα διακριτικά.
    • Εξήγησε ερωτήματα, κλειδιά και τιμές.
    • Υπολόγισε βάρη προσοχής για μια σύντομη πρόταση.
    • Πες γιατί η προσοχή βοηθά στο νόημα σε μεγάλη απόσταση.
  2. 22Μπλοκ transformerΟνόμασε τα μέρη ενός μπλοκ transformer.
    • Ονόμασε την προσοχή πολλών κεφαλών, το στρώμα feed-forward και τα στρώματα κανονικοποίησης.
    • Εξήγησε τις υπολειμματικές συνδέσεις.
    • Εξήγησε τις κωδικοποιήσεις θέσης.
  3. 23Προεκπαιδευμένα μοντέλαΧρησιμοποίησε ένα προεκπαιδευμένο μοντέλο transformer για μια εργασία.
    • Φόρτωσε ένα προεκπαιδευμένο μοντέλο και έναν διακριτοποιητή.
    • Ταξινόμησε κείμενο με αυτό.
    • Σύγκρινέ το με το δικό σου μοντέλο συναισθήματος.
  4. 24Χάρτες προσοχήςΔιάβασε έναν χάρτη προσοχής.
    • Σχεδίασε τα βάρη προσοχής ως χάρτη θερμότητας.
    • Βρες σε ποιες λέξεις προσέχει ένα διακριτικό.
    • Πες γιατί η προσοχή δεν είναι πλήρης εξήγηση.

Ήχος και πολυτροπική ΤΝ

  1. 25Ο ήχος ως δεδομέναΆλλαξε τον ήχο σε κυματομορφή και φασματογράφημα.
    • Φόρτωσε ήχο και σχεδίασε την κυματομορφή του.
    • Εξήγησε τον ρυθμό δειγματοληψίας.
    • Φτιάξε ένα φασματογράφημα.
  2. 26Ταξινομητής ήχουΤαξινόμησε σύντομα ηχητικά αποσπάσματα με έναν ταξινομητή ήχου.
    • Μεταχειρίσου τα φασματογραφήματα ως εικόνες.
    • Εκπαίδευσε ένα CNN πάνω τους.
    • Δοκίμασε με θόρυβο φόντου.
  3. 27Πολυτροπικές είσοδοιΕξήγησε πώς ένα μοντέλο συνδυάζει πολυτροπικές εισόδους από εικόνες και κείμενο.
    • Εξήγησε ξεχωριστούς κωδικοποιητές για κάθε είσοδο.
    • Εξήγησε έναν κοινό χώρο ενσωματώσεων.
    • Ονόμασε τρεις πολυτροπικές εφαρμογές.
  4. 28Εικόνα και κείμενοΤαίριαξε εικόνα και κείμενο: σύνδεσε εικόνες με λεζάντες με ένα προεκπαιδευμένο μοντέλο.
    • Βγάλε ενσωματώσεις εικόνων και λεζάντων.
    • Κατάταξε τις λεζάντες για κάθε εικόνα.
    • Ψάξε εικόνες με ερώτημα κειμένου.

Βελτίωση του μοντέλου

  1. 29ΟμαλοποίησηΜείωσε την υπερπροσαρμογή με ομαλοποίηση: dropout και αποσύνθεση βαρών.
    • Πρόσθεσε dropout.
    • Πρόσθεσε αποσύνθεση βαρών.
    • Σύγκρινε τις καμπύλες επικύρωσης.
  2. 30Επαύξηση δεδομένωνΚάνε επαύξηση δεδομένων: πρόσθεσε αναποδογυρισμένες και κομμένες εικόνες στο σύνολο εκπαίδευσης.
    • Εφάρμοσε αναποδογυρίσματα, κοψίματα και αλλαγές χρώματος.
    • Επαύξησε μόνο το σύνολο εκπαίδευσης.
    • Μέτρησε την αλλαγή στην ορθότητα της δοκιμής.
  3. 31Μάθηση μεταφοράςΧρησιμοποίησε μάθηση μεταφοράς για να ρυθμίσεις λεπτά ένα προεκπαιδευμένο μοντέλο σε νέες κλάσεις.
    • Πάγωσε τα προεκπαιδευμένα στρώματα.
    • Αντικατάστησε και εκπαίδευσε την κεφαλή.
    • Ξεπάγωσε και ρύθμισε λεπτά με μικρό ρυθμό μάθησης.
  4. 32Ανάλυση λαθώνΚάνε ανάλυση λαθών: ομαδοποίησε τα λάθη και βρες την αιτία τους.
    • Διάβασε έναν πίνακα σύγχυσης για πολλές κλάσεις.
    • Χώρισε τα λάθη σε ομάδες.
    • Διάλεξε τη διόρθωση για τη μεγαλύτερη ομάδα.

Έργο βαθιάς μάθησης

  1. 33Δεδομένα άγριας ζωήςΔιάλεξε και χώρισε ένα ανοιχτό σύνολο εικόνων άγριας ζωής.
    • Διάλεξε ένα ανοιχτό σύνολο από κάμερες παγίδες ή άγρια ζωή.
    • Διάλεξε από πέντε έως δέκα είδη.
    • Χώρισε κατά τοποθεσία ώστε η δοκιμή να είναι δίκαιη.
  2. 34Ρύθμισε λεπτά το μοντέλοΡύθμισε λεπτά το μοντέλο ταξινομητή εικόνων σε κλάσεις άγριας ζωής.
    • Ρύθμισε λεπτά ένα προεκπαιδευμένο μοντέλο.
    • Παρακολούθησε την ορθότητα επικύρωσης.
    • Αποθήκευσε το καλύτερο σημείο ελέγχου.
  3. 35Διεπαφή επίδειξηςΦτιάξε μια διεπαφή επίδειξης που δείχνει προβλέψεις σε ανεβασμένες εικόνες.
    • Δέξου μια ανεβασμένη εικόνα.
    • Δείξε τα τρία πρώτα είδη και τα σκορ τους.
    • Δείξε «δεν είμαι σίγουρος» όταν η εμπιστοσύνη είναι χαμηλή.
  4. 36Έξυπνος παρακολουθητής άγριας ζωήςΠαρουσίασε έναν έξυπνο παρακολουθητή άγριας ζωής: την ορθότητα σε εικόνες που δεν έχει δει και τα κύρια λάθη.
    • Ανάφερε την ορθότητα σε εικόνες που δεν έχει δει.
    • Δείξε τα κύρια λάθη και τις αιτίες τους.
    • Πες τι θα άλλαζες μετά.