Συνδυαστική Βελτιστοποίηση (2023-01-20-17:10:03) / Μέρος 2 / Προγραμματισμένη Μετάδοση μαθήματος - Ζησιμόπουλος Βασίλης (ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ, 2023)
Προγραμματισμένη Μετάδοση μαθήματος: Χρυσαλίτες, πλέξεις, αρνητικές, αντίθετα και θετικές, καλός, υπέροχος, ωραία. Ένα απλό baseline θα είναι να πάρεις ένα tweet και να μετρήσεις στον αριθμό των αρνητικών και θετικών λέξεων που βρίσκεις. Άμα δεν βρεις καμία, πες το neutral. Άμα βρεις δύο αρνητικές και μία θετική, πες το αρνητικό. Αυτό είναι ένα baseline με λεξικό. Μετά, αν μπορείς να πάρεις pretend and bendings και να βάλεις ένα MLP από πάνω, θα τα πάρει λίγο καλύτερα από το χαζό που μετράς λέξεις. Και μετά μπορείς να πεις, οκ, επειδή είναι ένα MLP, ή επειδή το λεξικό απλά μετράγει πόσες αρνητικές λέξεις έχω και το teammate, ο κάποιος βλάκαρ, δεν μπορεί να πει ότι είναι αρνητικό. Μπορεί να είναι ειρωνικός, μπορεί να το πει φυγικά, μπορεί το τίδιποτε. Γιατί μετά παίζεις με διάφορα, αν έχεις μόντυς στο τέλος, αν έχεις τα μαστρικά κλπ. Μες οκ, βάζω ένα RNN από πάνω. Και μετά έχονται μοντέλα που έχουν και RNNs, αλλά και λεξικά. Όπου για παράδειγμα, παίρνεις το tweet, το δίνεις στο RNN, και μετά από πάνω έχεις αντέκτηση κλπ. Τα οποία δίνουν παραπάνω σημασία στις αρνητικές και στις θετικές λέξεις. Και κάπως αντισαθμίζεις στην ουσία. Οι αρνητικές και στιγμές λέξεις ξαπνούνται από το λεξικό σου. Εσύ ορίζεις και εσύ είναι αυθεντικές και αυθεντικές. Να είπα να βάλω λεξικά εκεί έξω. Αν μαθαίνεις αγγλικά, υπάρχει το Vader sediment λέξημα, έτσι λέγεται. Έχει χιλιάδες λέξεις. Αυτό. Αυτή είναι η ρόλη. Κάνεις ό,τι πιο απλά μπορείς να σκεφτείς. Αν δεν προσκεφτείς κάτι σαν τις λέξεις, κάνεις ένα απλό MLP και μετά χτίζεις. Βάζεις, ξέρω, στο MLP βάζεις κάτι άλλο. Ή μετά βάζεις R&D, ή βάζεις, ξέρω, κάτι CNM. Δοκιμάσεις πράγματα, δηλαδή, που ξέρεις που θα βελτιώσουν. Το value stem θεωρείτε ότι είναι basic να μπορείς να μιλήσει ή όχι? Ναι, άμα έλεγες, ok, ήθελα να κάνω σε μεταναλύσεις στο μοντέλο μου σαν baseline. Εσύ το ρίξεις στο baseline, δεν είναι ότι ήθελες να σου πει κάτι κάτω. Εγώ μπορώ να ρίξω στο baseline ένα LSTM, του δίνω τα embeddings, μου βγάζει το output. Στο output βάζω ένα MLP και παντάνω. Αν φέρνω το baseline, πώς θα το βελτιώσουμε? Αυτό το μοντέλο που σου είπα, πώς θα το βελτιώσουμε? Είναι ο λόγος που το ελπίζεις, το μπλάμα λεπλίτσι. Ναι, είναι αυτό. Θα το βαλεις, θα το βαλεις ένα tension. Βελτιώνει. Άρα αυτό είναι ένα άλλο μοντέλο που είναι καλύτερο το πρώτο. Το πρώτο είναι το baseline σου. Εσύ το ρίξεις. Απλά συνήθως... Και το tension που μπαίνει στο LSTM, δηλαδή... Ωραία, άμα έχεις 10 λέξεις, έχεις 10 κοιλιά του R&D κουτάκια, γιατί πάει η πρώτη και τα περνάει. Συνήθως λέγουμε ότι παίρνεις το τελευταίο κουτάκι, το τελευταίο output του LSTM και αυτό να παρουσιάσουμε την πρώτα. Στο self-attention έχεις τα 10 κουτάκια και έχεις από πάνω αυτά τα βάρη όταν τους κάνεις self-attention. Στην ουσία τα παίρνεις και τα προλασσιάζεις με άλλα βάρη, είναι σαν ένα MLP, βάζεις από πάνω ένα MLP. Και αυτό περνάει από το MLP, βγάζει κάποια νούμερα, όσο είναι οι λέξεις. Αν αυτά τα κουτάκια είναι του RNN, ως πούμε, ωραία, 3, και εδώ είναι X1, X2, X3, είναι οι λέξεις, το δίνεις, το δίνεις, το δίνεις, αυτό πάει εδώ, αυτό πάει εδώ, ωραία. Μπορείς να κάνεις, εντάξει, BIOS να πηγαίνει ανάποδα, αλλά δεν αλλάζει κάτι, δηλαδή και BIOS να βάλω, έχεις απλά άλλα κουτάκια, τα οποία πάνε έτσι. Εντάξει, ένα απλό baseline με ένα BIOS, θα ήταν να πάρεις αυτό, αυτό, θα τα κολλήσεις, άρα να πάρεις εδώ και εδώ, να τα κάνεις call cut, να φτιάξεις ένα μεγαλύτερο. Ωραία, αυτό τώρα, αυτό τώρα έχει την ιστορία της πρότασης από αυτή τη μεριά και αυτό από την άλλη μεριά, τα κολλάς και εδώ βάζεις ένα MLP. Ωραία, το MLP έχει πολλά layers, εδώ εξατάται, άμα το LSTM βγάζει διαστάσεις 20, άρα αυτό είναι 20, αυτό είναι 20, αυτό θα βγει 40, το MLP παίρνει 40 και θα βγάζει, ας πούμε, αν θες να είναι negative positive, θα παίρνει 40 και θα βγάζει 1. Αυτό το 1 είναι ανούμερο, είναι 0,1 ξέρω εγώ, τι κάνεις, το από πριν βάζεις μια συμμοειδή από πάνω και γίνεται σαν πιθανότητα και απαντάς, ναι, όχι. Συνήθως, όταν παίζεις με 1 νούμερο στο τέλος, άμα είναι πάνω από 0,5 το αποτέλεσμα της συμμοειδής, λες ναι, αν είναι κάτω λες όχι. Αυτό, συνήθως, άμα πας να γράψεις ένα paper το τίποτε, το λες, ότι εντάξει, δεν θεώρησαν threshold το 0,5 για να λέω ναι, αλλά υπάρχουν διάφορες μητρικές, όπως είναι το AUC, έτσι λέγεται, το οποίο σου κάνει evaluate σε πολλά διαφορετικά thresholds. Άρα, στην ουσία, δεν επιλέγεις εσύ μόνοι σου το 0,5, βλέπεις πόσο καλά τα πάει αυτό σε όλα τα thresholds. Τώρα, άμα έλεγες να βάλεις αυτό, βγάζεις μανίμα, αυτό είναι μοντέλο. Και άμα θέλω να βάλω και το attention, διάνομαι, το βάζω. Κλά, σβήνω το, για να μην προφέρεις το σχήμα. Ωραία, στο self-attention, η θεωρία, βασικά, τι λέει, ότι αυτές οι τρεις λέξεις, για να αποφασίσεις αν το tweet είναι θετικό ή αρνητικό, δεν παίζουν τον ίδιο ρόλο. Μπορεί να λέει, πήγα στον βλάκα, ξέρω εγώ. Ωραία, και το βλάκα να έχει μεγαλύτερο βάρος από το πήγα στον, για να αποφασίσεις αν είναι αρνητικό ή αρνητικό θετικό. Αυτό το βάρος θέλεις να το βρεις, από το πόσο σημαντική είναι κάθε λέξη, για το task σου πάντα. Οπότε δεν παίρνεις το τελευταίο. Παίρνεις κάθε κουτάκι. Συνήθως το σχεδιάζουν έτσι αυτό. Ξέρω από πού και εδώ κάνεις κάτι. Βασικά αυτό είναι ένα MLP. Τα παίρνεις αυτά και τα παίρνεις από ένα MLP. Το output του MLP είναι όσες λέξεις έχεις. Άρα βγαίνει 3. Ωραία, σε αυτά κάνεις Softmax, για να γίνουν πιθανότητες. Άρα αν αυτό ήταν 5, 7, 8 και βάζεις Softmax, θα βγουν μεταξύ 0,1. Και αυτό το αποτέλεσμα του Softmax είναι το πόσο σημαντική είναι κάθε λέξη. Άρα μπορεί να βγει 0,1, 0,1, 0,8. Οπότε αυτό έβγαλε στα βάρυ σου. Όλο αυτό είναι τυπλένι, έτσι. Ναι. Ναι, αυτό είναι πιθανότητες. Δεν γίνεται. Δεν το κάνεις λόγντε έτσι. Όχι. Το χτίζεις. Βάζεις πρώτα το MyLSTM. Το ορίζεις ξέρω εγώ. Βγάζεις το MyLSTM ορίζεις, λες ότι είναι bi-directional, μπλα μπλα. Μετά το δίνεις σαν input. Βγάζει στην βάρυ σου, ξέρω εγώ, θα ήταν X. Ίσον, όπως έχεις ονομάσει το LSTM σου. Όπως το έχεις ονομάσει εσύ. M1 ξέρω εγώ, είναι ένα LSTM. Τι δέχεται, πόσες διαστάσεις να μπορεί να πετύξουν, 300. Τι βγάζει, τι είπα πριν, 20. Θες να είναι bi-directional, αλλά αν βάλεις true, είναι bi-directional. Ε, και μετά εδώ μέσα, α, βασικά, ωραία. Το self-attention, ποιο είναι? Αυτό που πρέπει να δείξω είναι self-attention. Είναι ένα linear layer. Ούτε κανένα, με λύπη, ένα linear layer είναι. Βάζεις weights, αυτό ναι, ναι. Βάζεις weights σε ένα... ορίζει σε ένα πίνακα μαρών. Το βάζεις σε ένα parameters του imbiter. Βάζεις πόσες διαστάσεις θέλεις. Και το βάζω μέσα. Ναι. Και βάζεις πόσες διαστάσεις θέλεις, δάξει. Και όταν πας στη forward, άμα για να το περάσεις από το balestream, τι κάνεις, απλά M1. Το input. Και βγάζει ένα X1. Ωραία. Το X1, το δίνεις στο self-attention. Άρα, να το ονομάζεις self-attention, ξέρω εγώ. Το δίνεις στο X. Και αυτό πίσω σου είναι ένα X2. Έτσι γράφονται. Ναι. Δηλαδή, δεν θα σας δείξω, αλλά δεν μπορείς να το περάσουμε. Αλλά, στην ουσία, βγαίνουν αυτά τα νούμερα. Το οποίο κάθε νούμερα σου λέει πόσο σημαντική είναι η λέξη. Και τι πάση κάνεις, το πολλαμπλασιάζεις με αυτά. Με το output του LSTM. Εντάξει. Άρα, τι κάνεις, άμα αυτά είναι μηδέν. Άμα αυτά είναι μηδέν, αυτά τα πετάς, στην ουσία. Και κάνεις αυτό. Άρα, σου λέει πόσο πολύ θα κρατήσω από το κάθε output του LSTM. Και αυτό εκπαιδεύεται. Γιατί είναι απλά ένα layer εδώ πέρα. Άρα, έχει νόπινα γαβάρα με M1. Άρα, αυτό εκπαιδεύεται. Θα μαθαίνει τις λέξεις, οι οποίες είναι ενδεικτικές για αρνητικά tweets. Άρα, μόλις τις βλέπεις εδώ πέρα, και το βλέπεις το output, θα δει μεγάλο βάρος. Και να παίξεις. Αυτό είναι ένα deep learning μοντέλο. Μασικά, πάει ένα LSTM, μας έφατε έξω. Είναι ένα απλό μοντέλο. Νομίζω, φυσικά, να θέλει τις θέσεις των λέξεων να είναι περισσότερα attention. Στο τέλος. Δηλαδή, όταν θα το πάρουμε αυτό με τα weights. Κάποια weights στο matrix, στο attention matrix, θα είναι πιο σημαντικά. Θα δίνουν πιο πολύ σημασία σε κάποιες λέξεις. Το attention matrix δεν είναι, όπως λέξεις έχω, για στάσεις. Είναι ένας πίνακας. Όσο για στάσεις θέλεις εσύ. Βασικά, όχι όσες. Παίρνει some input. Τις διαστάσεις αυτονόημα. Και βγάζει τρία. Όσες είναι οι λέξεις. Καλά, ναι τρία. Ο ποτάθος είναι ένας πίνακας, ένα W, που εκπαιδεύεται. Είναι ένα τέτοιο πράγμα. Ένα κουτί. Δεν ξέρει ποιες λέξεις είναι ευχές. Μα πάει κάποια πίνακα, ένας πίνακας παραμέτρων, το θ, που λέγαμε πριν. Το οποίο έχει γίνει πραγματικά με τέτοιο τρόπο. Έτσι ώστε να παίζει καλά στα 30. Οπότε όταν παίρνεις τις λέξεις και τις πολλαπλασιάσεις με το κουτάκι, βγάζουν εννοή. Αλλά καταλαβαίνει ότι το βλάκας θέλει μεγάλο βάρος. Δεν θυμάται με τα ποιες λέξεις είδε και ποιες είναι μεγάλο βάρος. Το υπολογίζει από το κουτάκι του εδώ μέσα. Μπορεί να μάθει τις θέσεις. Όχι. Μπορεί να οδηγήσει και να μάθει όλες οι αρνητικές λέξεις στο τέλος. Αν το εκπαιδεύσεις με αρνητικά tweets, όλες οι αρνητικές λέξεις είναι τελευταία θέση, θα μάθει να μην κοιτάει τη λέξη. Θα μάθει να λέει ότι εγώ με εκπαίδευσες με όλες τις αρνητικές λέξεις στο τέλος. Άρα όχι θα λέξει εδώ στο τέλος, θα θεωρείς αρνητική. Και θα τις βάλει μεγάλο βάρος. Άρα μετά, αν πας να το δοκιμάσεις με άλλα tweets που δεν έχεις ξαναδεί, θα δεις ότι θα δεις τη δευτερία λέξη μεγάλο βάρος. Έτσι θα καταλαμβήσουν ότι έχει overfit. Άλλο παράδειγμα, overfit, ξέρω εγώ. Αυτό είναι τούρος story που έχει πάθει η Αμερική. Θέλω να εκπαιδεύσουν ένα μοντέλο CNN, το οποίο αναγνωρίζει τα άνοιξη μέσα σε εμπλάστηση. Και έλεγε ναι ή όχι. Και πήγαν και το εκπαιδεύσανε. Τα μπήκαν τέλεια στα training δεδομένα και έλεγαν μια χαρά. Και πήγαν να το δώσουν φωτογραφίες με tanks μέσα σε εμπλάστηση. Και ήταν ότι έλεγε ναι, όποτε είναι νύχτα. Και πήγαν μετά στα training δεδομένα και είδαν ότι το εκπαιδεύσανε. Όλες οι φωτογραφίες που είχαν tank μέσα ήταν νύχτα. Και αυτό τι έμαθε? Η νύχτα είναι ναι, δεν έμαθε το tank. Αυτό είναι το overfit. Αντίστοιχα και εδώ πέρα, αν είναι πάντα γερντική σκουλέξη στο τέλος, θα μάθεις αυτό το πράγμα. Άλλο? Εντάξει, πέρασε η ώρα. Εντάξει, θα πάω γρήγορα. Για να δούμε και τα γράφατε έτσι. Γιατί υπάρχει και αριθμός τα γράφατε, έτσι. Υπάρχει πάντα ό,τι έτσι. Εγώ δεν είναι καλά καλά. Τι? Εμείς θέλουμε ένα νευρονομικό δικτύο, το οποίο θα βγάζει τα embeddings, χωρίς να χάσεις δαγκό αριθμός των random paths. Αυτό δεν θέλουμε. Δεν θέλεις random paths τώρα, που είναι στη γειτονιά σου. Ωραία. Οπότε αυτό εμείς θέλουμε... Συνουσία αυτό που θέλω να ξοδεύσουμε είναι τα embeddings. Ναι, για το go-to-the-com. Για το go-to-the-com. Ναι. Το οποίο εξαβάταται τη γειτονιά com. ΟΚ, οΚ. Γιατί, δες το εδώ δασκάλη, εσύ. Πες ότι αυτό εδώ είναι το τελικό. Ξεκινάς με κάτι, τυχαία. Θέλεις να το περάσεις το μοντέλο σου. Το μοντέλο σου είναι όσα layers θέλεις εσύ. Ωραία, πάμε εδώ. Έχω δύο layers και θέλω αυτό το τελικό μου. Ωραία. Αυτό ξεκινάει με το k-alpha, τυχαία. Πώς θα μάθω το νέο μου α. Πρέπει να μάθω το γειτονέζι. Η γειτονέζι μου είναι το b και το c. Το d, σωρί. b, c, d. Ωραία. Πρέπει, όμως, να μάθω το νέο b. Πώς μαθαίνω το νέο b. Παίρνω το πραγματικό α και το πραγματικό σ. Πάμε, έλα εδώ, ξέρω εγώ. Ωραία. Και τα κάνω average. Τα κάνω average και τα κολλαπτασιάζω με ένα w. Και βγαίνει το νέο b. Κάνω για αυτά τα 4 το ίδιο. Βγαίνει το νέο c. Κάνω 1. Βγαίνει το νέο d. Και μετά για το νέο α στο layer 2. Μαζεύω το αποτέλεσμα. Τα κάνω average, πολλαπτασιάζω με αυτό το w. Και βγαίνει ένα εμπέντιπ. Ένα σβέκοντα αυτός. Ένα νούμερο 27, σωρί να το θες εσύ. Και μετά αυτό, αν έχεις κάτι άλλο από πάνω, το δίνει στον επόμενο. Παίρνεις τους γειτονές σου, τα εμπέντιπς των γειτόντων σου, τα κάνεις average. Τα πολλαπτασιάζεις με ένα πέντε βαρό. Και αυτό είναι το νέο σου εμπέντιπ στο layer x. Στο layer x1, παίρνεις τα x1 τους, τα μαζεύεις, τα κάνεις average. Τα πολλαπτασιάζεις με ένα νέο βάρος. Και αυτό είναι το x1 σου. Και το κάθε εξής. Και όλα ξέρω για ένα combo. Ναι. Και αυτό το κατάλαβες. Τι δεν κατάλαβες. Το κατάλαβα μόνο εσύ. Α, δηλαδή, άμα μου εξηγείς αυτό το function. Άμα θες να μου αφήσεις το k-1-1-v, τι κάνει αυτό. Λοιπόν, πένει για όλους τους. Έχουμε δύο μάτρεις. Παίρνουμε το k και το bk. Ναι. Και παίρνει όλους τους γειτονές. Έχει ο v. Το v είναι ο combo, εσύ. Ότοις που θέλουμε εμείς. Ναι, παίρνει όλους τους γειτονές. Για κάθε u που ανήκει στη γειτονιά του v. Μετά. Βγαίνουμε και παίρνουμε το nth του u. Ναι, όλα τα embeddings των u. Στο layer k. Σ' όποιον είμαι εκείνη τη στιγμή. Τα προσθέτεις. Τα διαιρείς. Τους πόσους γείτονες έχουμε. Το h είναι τι υπάρχει, της μεγχύτης του k-1-1-v. Ναι, είναι η αναπαράσταση του u στο κάτω επίπεδο. Αν ήμασταν στο μηδέν, θα ήταν το h του u. Αν ήμασταν στο... Αμα δεις εδώ πέρα, στο μηδέν, το h του μηδενός, είναι το h του v. Το h μηδέν του u, αμα ήταν μηδέν, είναι το h u. Το h v. Σε κάθε layer, αυτά αλλάζουν. Και είναι καθ' αυτά το επόμενο. Και μετά βάζει το νεαυτό σου. Αυτός είναι ο νεαυτός. Και έχεις δικά σου value. Και αυτό είναι, το προσθέτεις. Και βγαίνει ένα νεο embedding. Για μένα. Και μετά ξανά το ίδιο, και ξανά το ίδιο, και ξανά το ίδιο. Εδώ κάνουμε την εξίσουση του προηγούμενου, σε πίνακες. Για να γίνονται γρήγορα. Ωραία. Αμα πάω και βάλω... Βλέπετε εδώ είναι 1 έως v. Αν είναι για όλους τους κόμμους. Το k είναι ένα επίπεδο. Μπορεί να είναι το 1 ας πούμε. Αμα τα μαζέψω όλα, έχω να πει 16 κεφαλαία. Είναι όλα τα hidden representation του κόμμου. Είναι 16 κεφαλαία. Ωραία. Αν πάρω αυτό το h, που είναι για όλους. Και το ποραπλασιάσω με το πίνακα γυρνίασης. Τι κάνω. Στο 20%. Για να κάνει το περιπτωσμό όπως σε ένα χαρτί. Και βάλετε ένα πίνακάκι 2, 3, 4, 5. Και το ποραπλασιάσετε με 10 κεφαλαία. Βλέπετε. 2, 3, 4, 5 και το ποραπλασιάσετε με άσσο και μηδενικά. Προσθέτει την κάθε γραμμή θεωτικά. Γιατί μηδενίζονται και κατέμουν τους άσσους και τα προσθέτει. Είναι πραγματικά στο πίνακκι. Οπότε αν ποραπλασιάσετε τον πίνακα όλων των embeddings. Στο σημείο k. Με τον πίνακα γυρνίασης κάθε φορά. Προσθέτει τη γειτονιά του κάθε κόμμου. Έτσι το κάνουμε με αυτά τα κώδικα. Παίρνουμε τον πίνακα γυρνίασης και το κάνουμε επί αστεράκι. Μετά όμως απλά τα πρόσθεσα, δεν τα διέξα. Μετά έκανα average. Παίρνω τον διάγωνιο πίνακα. Ο οποίος έχει νούμερα μόνο στην κυριαγγεγονία. Άρα μόνο στον κόμμο 112233. Οπου σε εκείνο το κελί έχει τον τυγκρί μου. Πόσους γύντερες έχω. Και παίρνω το 1 2 και το κουφάνω και αυτό. Το προπλασιάζω. Αλλά αν το προπλασιάζω το 8 κεφαλαίο, που είναι τα hidden embeddings όλων των κόμμων, δεν το πει να είναι και γυρνίασης, τα έχω προσθέσει. Γιατί κάθε κειτονιά έχουν προσθέσει τα embeddings. Άμα το προπλασιάζω και με τον ανάποδο διαγώνιο, τα έχω κάνει average. Και αυτό είναι το k σημαίνει. Για όλους τους κόμμους, το αριθμίδιο. Αυτό παίρνει όλα τα x, όλα τα embeddings, στο κάθε επίπεδο. Άμα ήταν το k0, θα είχα το κεφαλαίο που βλέπαμε πριν. Εντάξει. Και για ό, ότι είδατε εδώ, γίνεται με δύσκολο προπλασιασμό. Βγάζει αφιεμένο. Σιγά, έκανε και βάει έτσι. Και εδώ βασικά είναι ακόμα το ίδιο πράγμα. Αλλά έχει βάλει plus και το εαυτό. Τα embeddings, το εαυτό μου θέλετε να κάνω, με το βκ. Το σέφτρα μου στο ΜΕΣ. Ωραία, τι ώρα είχα να κάνω. Δεν γνωρίζω. Το πράσου. Ναι, απλά βασικά σας λέω, ότι μπορεί να το εκπαιδεύσεις αυτό στο supervised και αυτο-supervised. Έχετε τι χρώμα είναι ο καθεκόμμος. Ψαμψή. Ξέρετε ότι αυτός είναι μπλε. Μαζεύεται. Κάνετε βασικά ένα pass. Πόσα layers έχω, τρία. Έστω ότι αυτός είναι ο U, έχω τρία layers και το label του είναι μπλε. Άρα θέλω το U, τρία. Το baiting βασικά του U στο layer τρία. Το output. Μετά κάνω Gloss Entropy. Όπως είδαμε στην εσαγωγή. Και το τσεκάρω με το αν βρήκα τη σωστή κατηγορία ή όχι. Άμα βρήκα λάθος η κατηγορία, ελπίζω να πάω το μπαγκέσιο. Και τι κάνω, update χιλάν. Το W και το W. Αυτές είναι οι παράμετρες. Αντίθετα και τα H κάνω update, γιατί τα έχω ξεκινήσει randomly και δεν τα έχω παγώσει. Αν έχετε παγώσει τα έχετε μπαίνει εμπέντηξας. Το H δεν θα εκπαιδευόταν. Αλλά επειδή δεν είναι παγωμένο και έχει γίνει και αυτό update, είναι και αυτό ο παράμετρος. Άρα έχετε το H, το W και το W. Αυτά πειάζεται. Το πρώτο layer είναι η νησούδος. Θες να μάθεις νότ εμπέντηξ. Έχεις πέντε κόμμους με διαστάσεις 10. Άρα έχεις να πεις να έχεις πέντε επί 10. Αυτό είναι τυχαία. Αυτό το κουτί περνάει από τα επίπεδα, από τα layers. Αυτό το κουτί καθώς περνάει πολλαπλασιάζεται από το W και το W. Και αυτό το κουτί στο τελευταίο layer το παίρνεις και κάνεις prediction. Παίρνεις τα νότ εμπέντη στο τελευταίο layer και κάνεις το predict. Άμα κάνεις λάθος, όλα αυτάjat γίνονται update. το κουτί, τον W, το V, το κουτί σε κάθε επίπεδο και φτάγεις στο X που γίνονται και αυτά update. Και αφού εκπαιδευτεί όλο αυτό, τι κάνεις, πέρας τα X. Τα X τα εμπένει, τα εκπαιδευμένες. Ναι. Ναι, θα περάσω λίγα. Ωραία, στην ουσία μπορείτε να κάνετε μπατσαριστά. Αλλά μπορείτε να, δηλαδή, στο παρέμβα με το H είχα πάρει όλους τους κόμμους. Μπορείτε να κάνετε εκπαίδευση σε ένα υποσήμενο του γράφου και μετά πάτε στο άλλο υποσήμενο του γράφου, στο άλλο. Έχετε χωρίσει, δηλαδή, υπογράφους που θα κοιτάτε κάθε φορά για να γίνει πιο εύκολο το train. Γιατί εδώ, στους πίνακες, έχω πάρει όλο το γράφου εδώ πέρα. Το H κεφαλαίο είναι όλοι μου οι κόμμοι. Το Ά είναι ο πίνακας γυμνιαστής όλων. Αν η κόμμι μου είναι 1 δισεκατομμύριο, αυτό είναι 1 δισεκατομμύριο επί όσες συντασίες έχω πει. Οπότε μπορείτε να το κάνετε μπατσαριστά. Πηγαίνει μόνο το Ν και το Σ. Ο Ν και ο Σ γεννάνε αυτά. Και τι κάνετε, μαζεύω αυτό που κατασιάζω και είναι το Ν. Μαζεύω αυτά, average, που κατασιάζω και είναι το Ν. Και ούτω καθεξής. Το ωραίο με αυτό είναι... Ας πάω εδώ καλύτερα. Η πολυπλοκότητα των παραμέτρων δεν είναι όσοι είναι οι κόμμοι μας το SPREAD γιατί το μοντέλο μας, τα μόνο που κάνει από τέτοια μοντέλα πέρα από το επέδειξη είναι το W, K και το W, K. Αυτό το W, K και W, K είναι κοινάγιο από το γράφος. Αν δείτε εδώ πέρα, δεν ορίζω ένα νέο W και ένα νέο H για κάθε κόμμο. Σε κάθε layer, κάθε layer έχει ένα κοινό H και ένα κοινό W και ένα κοινό W. Βασικά σ' όλο το H. Ένα κοινό W και ένα κοινό W. Και αυτό είναι το W, K, W, K. Αλλά σε κάθε layer, όλοι οι κόμμοι μοιράζουν αυτές τις παραμέτρες. Είναι σαν το self-attention που είπα ότι πολλοπλησιάζει με ένα πίνακα βαρόν και δύο τα νομεράκια. Επειδή αυτό το πίνακα βαρόν είναι κοινός και εκπαιδεύεται, μόλις εκπαιδευτεί, μπορώ να πωλήσω ένα νέο κόμμα εδώ, να κάνω ένα forward pass για αυτό το κόμμα, σχεδιασμένα, και θα πάρω το benefit. Γιατί, γιατί αυτά έχουν εκπαιδευτεί, το W, K έχουν εκπαιδευτεί, το W, K έχουν εκπαιδευτεί, το W, K έχουν εκπαιδευτεί, το W, K έχουν εκπαιδευτεί, το W, K έχουν εκπαιδευτεί, λέω ποιοι είναι οι γείτονες, αυτοί φέρνουν. Για να πάρω αυτούς, πρέπει να πάρω αυτόν και αυτόν για αντίστοιχα και φτύζεις έτσι το completion graph, παίρνεις τους γεμίδες δύο hops άμα θέλεις ή ένα και μαζεύεις την πληροφορία, κάνεις ένα average, το περνάς από το εκπαιδευμένο W, το εκπαιδευμένο W, και βγαίνει το νέο benefit. Λέγεται ναι, το intact KB, που είπαμε ότι δεν έχει το NW, γιατί εδώ πέρα μ' έρθει ένας νέος κόμβος, απλά κάνω ένα forward pass για αυτόν τον κόμβο και παίρνω την αναπαραστασία του. Ενώ στο NW, άμα κόλλαγα ένα νέο κόμβο εδώ, πρέπει να ξανακάνω another box για να καλύψω και μετά να εκπαιδεύσω. Εντάξει. Εντάξει, θα τα περάσω τελικά, γιατί είχα κάποια... μπορείς να κάνετε και να χακάρετε γράφους. Έχετε δει αντιβερσέναν τάξη. Όχι. Αυτή είναι η εικόνα. Στην ουσία, αν έχει εκπαιδεύσει ένα CNN να κάνει classifier, έχει εκπαιδευτεί. Αυτό το απαντήσει σωστά, το λέει πάντα. Άμα του προσθέσετε λίγο θόρυβο, εάν αυτό είχε διαστάσεις 200-200, παράξετε ένα τυχαίο πίνακα με νούμερα και τον προσθέσετε και τον ξαναδώσετε από το μοντέλο, θα σας πει κάτι άλλο. Θα φτάσει σε σπίθιο. Αυτό λέει κατ Άρα, εκεί που το μοντέλο έχει εκπαιδευτεί, του χακάρεις, του κοτσάρεις τυχαίο θόρυβο, τυχαία νούμερα, και αλλάζει. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους. Αυτό λέει και στους γράφους.