Βαθιά νευρωνικά δίκτυα: τι είναι και πώς λειτουργούν
Τα βαθιά νευρωνικά δίκτυα είναι μια έννοια που αποτελεί την κύρια τεχνολογική αρχιτεκτονική που χρησιμοποιείται στα μοντέλα Deep Learning. Αυτές οι δομές δεν μπορούν να γίνουν κατανοητές χωρίς την κατανόηση της γενικής ιδέας των τεχνητών νευρωνικών δικτύων, θεμελιώδης για την Τεχνητή Νοημοσύνη.
Τα νευρωνικά δίκτυα χρησιμοποιούνται για χίλια πράγματα: για την αναγνώριση πινακίδων κυκλοφορίας, τραγουδιών, προσώπων, φωνών ή ακόμα και των φρούτων στην κουζίνα μας. Είναι μια ιδιαίτερα χρήσιμη τεχνολογία και, παρά το γεγονός ότι μόλις πρόσφατα έγιναν πρακτικά, πρόκειται να αποτελέσουν το μέλλον της ανθρωπότητας.
Επόμενο Θα δούμε σε βάθος την ιδέα των τεχνητών νευρωνικών δικτύων και βαθιά, κατανοώντας πώς λειτουργούν, πώς εκπαιδεύονται και πώς συμβαίνουν οι αλληλεπιδράσεις μεταξύ των διαφορετικών νευρώνων που τους αποτελούν.
- Σχετικό άρθρο: «Τι είναι η γνωστική επιστήμη; Οι βασικές του ιδέες και φάσεις ανάπτυξής του»
Τι είναι τα βαθιά νευρωνικά δίκτυα και τι τα χαρακτηρίζει;
Τα βαθιά νευρωνικά δίκτυα είναι
μία από τις πιο σημαντικές τεχνολογικές αρχιτεκτονικές που χρησιμοποιούνται στη Βαθιά Μάθηση ή τη Βαθιά Μάθηση. Αυτά τα συγκεκριμένα τεχνητά δίκτυα είχαν μια ιλιγγιώδη ανάπτυξη τα τελευταία χρόνια επειδή αποτελούν μια θεμελιώδη πτυχή όσον αφορά την αναγνώριση όλων των ειδών προτύπων. Η Τεχνητή Νοημοσύνη υπάρχει χάρη στη λειτουργία αυτών των συγκεκριμένων δικτύων που, σε Στην ουσία, αποτελούν ένα αντίγραφο του τρόπου λειτουργίας του εγκεφάλου μας, αν και σε μια τεχνολογική και μαθηματικά.Πριν προχωρήσουμε περαιτέρω στο τι είναι τα βαθιά νευρωνικά δίκτυα, πρέπει πρώτα να κατανοήσουμε πώς λειτουργούν τα τεχνητά νευρωνικά δίκτυα γενικά και σε τι χρησιμεύουν. μεγάλοΤα νευρωνικά δίκτυα είναι ένας κλάδος της «Μηχανικής Μάθησης» που είχαν τεράστιο αντίκτυπο τα τελευταία χρόνια, βοηθώντας προγραμματιστές και επιστήμονες υπολογιστών να δημιουργήσουν πράγματα όπως chatbots που, όταν τους μιλάμε, μας κάνουν να πιστεύουμε ότι μιλάμε με αληθινά ανθρώπινα όντα.
Τα τεχνητά νευρωνικά δίκτυα έχουν επίσης χρησιμοποιηθεί με αυτοοδηγούμενα αυτοκίνητα, εφαρμογές για κινητά που αναγνωρίζουν το πρόσωπό μας και το μεταμορφώνουν σε αυτό που θέλουμε και πολλά άλλα λειτουργίες. Η δυνατότητα εφαρμογής του είναι πολύ εκτεταμένη, χρησιμεύει ως βάση της σύγχρονης Τεχνητής Νοημοσύνης και έχει ατελείωτες ευεργετικές χρήσεις για την καθημερινότητά μας.
τεχνητά νευρωνικά δίκτυα
Ας φανταστούμε ότι είμαστε στην κουζίνα μας και αποφασίζουμε να ψάξουμε για ένα πορτοκάλι, μια πολύ απλή δουλειά.. Ξέρουμε να αναγνωρίζουμε πολύ εύκολα ένα πορτοκάλι και επίσης ξέρουμε πώς να το διαφοροποιούμε από άλλα φρούτα που βρίσκουμε στην κουζίνα, όπως οι μπανάνες, τα μήλα και τα αχλάδια. Οπως και? Γιατί στον εγκέφαλό μας έχουμε αφομοιώσει πολύ ποιες είναι οι τυπικές ιδιότητες ενός πορτοκαλιού: του το μέγεθός του, το σχήμα του, το χρώμα που έχει, πώς μυρίζει... Αυτές είναι όλες οι παράμετροι που χρησιμοποιούμε για να βρούμε ένα πορτοκάλι.
Είναι ένα απλό έργο για τον άνθρωπο, αλλά... Μπορεί να το κάνει και ένας υπολογιστής; Η απάντηση είναι ναι. Κατ' αρχήν, θα ήταν αρκετό να ορίσουμε αυτές τις ίδιες παραμέτρους και να αντιστοιχίσουμε μια τιμή σε έναν κόμβο ή κάτι που θα μπορούσαμε κάλλιστα να ονομάσουμε «τεχνητό νευρώνα». Θα λέγαμε σε αυτόν τον νευρώνα πώς είναι τα πορτοκάλια, υποδεικνύοντας το μέγεθος, το βάρος, το σχήμα, το χρώμα ή οποιαδήποτε άλλη παράμετρο που αποδίδουμε σε αυτό το φρούτο. Έχοντας αυτές τις πληροφορίες, αναμένεται ότι ο νευρώνας θα ξέρει πώς να αναγνωρίσει ένα πορτοκάλι όταν του παρουσιάζεται.
Εάν έχουμε επιλέξει καλά τις παραμέτρους, θα είναι εύκολο για εσάς να διαφοροποιήσετε τα πορτοκάλια από τα πράγματα που δεν είναι πορτοκαλί, απλά λαμβάνοντας υπόψη αυτά τα χαρακτηριστικά. Όταν παρουσιάζεται μια εικόνα οποιουδήποτε φρούτου, αυτός ο νευρώνας θα αναζητήσει τα χαρακτηριστικά συσχετίζεται με το πορτοκαλί και αποφασίζει εάν θα το συμπεριλάβει στην κατηγορία «πορτοκαλί» ή στην κατηγορία «άλλο καρπός". Σε στατιστικούς όρους, θα ήταν να βρεθεί μια περιοχή σε ένα γράφημα παραμέτρων που αντιστοιχεί σε αυτό που υπάρχει αναζητώντας μια περιοχή που θα περιλάμβανε όλα τα κομμάτια φρούτων που μοιράζονται το ίδιο μέγεθος, σχήμα, χρώμα, βάρος και άρωμα με τα πορτοκάλια.
Στην αρχή όλα αυτά ακούγονται πολύ εύκολα στην κωδικοποίηση, και στην πραγματικότητα είναι. Λειτουργεί πολύ καλά για να διαφοροποιήσετε ένα πορτοκάλι από μια μπανάνα ή ένα μήλο, αφού έχουν διαφορετικά χρώματα και σχήματα. Ωστόσο, τι θα γινόταν αν σας παρουσιάζαμε ένα γκρέιπφρουτ; και ένα πολύ μεγάλο μανταρίνι; Είναι φρούτα που μπορούν τέλεια να συγχέονται με ένα πορτοκάλι. Θα μπορέσει ο τεχνητός νευρώνας να διαφοροποιήσει μόνος του τα πορτοκάλια και τα γκρέιπφρουτ; Η απάντηση είναι όχι, και στην πραγματικότητα μάλλον πιστεύεται ότι είναι το ίδιο.
Το πρόβλημα με τη χρήση μόνο ενός στρώματος τεχνητών νευρώνων, ή το ίδιο, χρησιμοποιώντας μόνο απλούς νευρώνες πρώτα, είναι αυτό δημιουργήστε πολύ ανακριβή όρια απόφασης όταν σας παρουσιάζεται κάτι που έχει πολλά κοινά χαρακτηριστικά με αυτά που θα πρέπει να είστε σε θέση να αναγνωρίσετε, αλλά στην πραγματικότητα δεν είναι. Αν παρουσιάσουμε κάτι που μοιάζει με πορτοκάλι, όπως ένα γκρέιπφρουτ, ακόμα κι αν δεν είναι αυτό το φρούτο, θα το προσδιορίσει ως τέτοιο.
Αυτά τα όρια απόφασης, εάν παρουσιάζονται με τη μορφή γραφήματος, θα είναι πάντα γραμμικά. Χρησιμοποιώντας έναν μόνο τεχνητό νευρώνα, δηλαδή έναν μόνο κόμβο που έχει ενσωματωμένες παραμέτρους συγκεκριμένα, αλλά δεν μπορούν να μάθουν πέρα από αυτά, θα ληφθούν πολύ στενά όρια απόφασης. διαχέω. Ο κύριος περιορισμός του είναι ότι χρησιμοποιεί δύο στατιστικές μεθόδους, συγκεκριμένα την παλινδρόμηση πολλαπλών κλάσεων και logistic regression, που σημαίνει ότι όταν υπάρχει αμφιβολία περιλαμβάνει κάτι που δεν είναι αυτό που περιμέναμε να είναι. θα προσδιορίσει.
Αν χωρίζαμε όλα τα φρούτα σε "πορτοκάλια" και "όχι πορτοκάλια", χρησιμοποιώντας μόνο έναν νευρώνα είναι σαφές ότι οι μπανάνες, τα αχλάδια, μήλα, καρπούζια και όποιο φρούτο δεν αντιστοιχεί σε μέγεθος, χρώμα, σχήμα, άρωμα κ.ο.κ με πορτοκάλια θα τα έβαζα στην κατηγορία «όχι». πορτοκάλια». Ωστόσο, τα γκρέιπφρουτ και τα μανταρίνια θα τα έβαζαν στην κατηγορία των «πορτοκαλιών», κάνοντας τη δουλειά για την οποία έχουν σχεδιαστεί κακώς.
Και όταν μιλάμε για πορτοκάλια και γκρέιπφρουτ, θα μπορούσαμε κάλλιστα να μιλήσουμε για σκύλους και λύκους, κότες και κότες, βιβλία και τετράδια... Όλα Αυτές οι καταστάσεις είναι περιπτώσεις στις οποίες μια απλή σειρά «αν...» («αν...») δεν θα αρκούσε για να διακρίνει ξεκάθαρα το ένα από το άλλο. άλλα. Απαιτείται ένα πιο περίπλοκο, μη γραμμικό σύστημα, το οποίο είναι πιο ακριβές όταν πρόκειται για τη διαφοροποίηση μεταξύ διαφορετικών στοιχείων. Κάτι που λαμβάνει υπόψη ότι μεταξύ των ομοιοτήτων μπορεί να υπάρχουν διαφορές. Εδώ μπαίνουν τα νευρωνικά δίκτυα.
Περισσότερα στρώματα, πιο παρόμοια με τον ανθρώπινο εγκέφαλο
Τα τεχνητά νευρωνικά δίκτυα, όπως υποδηλώνει το όνομά τους, είναι υπολογιστικά τεχνητά μοντέλα εμπνευσμένα από στα νευρωνικά δίκτυα του ανθρώπινου εγκεφάλου, δίκτυα που μιμούνται μάλιστα τη λειτουργία αυτού του οργάνου βιολογικός. Αυτό το σύστημα είναι εμπνευσμένο από τη νευρωνική λειτουργία και η κύρια εφαρμογή του είναι η αναγνώριση μοτίβα όλων των ειδών: αναγνώριση προσώπου, αναγνώριση φωνής, δακτυλικό αποτύπωμα, γραφή, πινακίδες αυτοκινήτου… Η αναγνώριση προτύπων λειτουργεί σχεδόν για τα πάντα..
Καθώς υπάρχουν διαφορετικοί νευρώνες, οι παράμετροι που εφαρμόζονται είναι ποικίλες και επιτυγχάνεται υψηλότερος βαθμός ακρίβειας. Αυτά τα νευρωνικά δίκτυα είναι συστήματα που μας επιτρέπουν να διαχωρίζουμε στοιχεία σε κατηγορίες όταν το Η διαφορά μπορεί να είναι λεπτή, διαχωρίζοντάς τα με μη γραμμικό τρόπο, κάτι που θα ήταν αδύνατο να γίνει διαφορετικά τρόπος.
Με έναν μόνο κόμβο, με έναν μόνο νευρώνα, αυτό που γίνεται κατά τον χειρισμό των πληροφοριών είναι μια παλινδρόμηση πολλαπλών κλάσεων. Προσθέτοντας περισσότερους νευρώνες, καθώς καθένας από αυτούς έχει τη δική του μη γραμμική συνάρτηση ενεργοποίησης, η οποία, μεταφρασμένη σε απλούστερη γλώσσα, τους κάνει να έχουν όρια απόφασης που είναι Ακριβέστερα, παρουσιάζοντας γραφικά σε καμπύλο σχήμα και λαμβάνοντας υπόψη περισσότερα χαρακτηριστικά κατά τη διάκριση μεταξύ "πορτοκαλιών" και "όχι πορτοκαλιών", για να συνεχίσουμε με αυτό το παράδειγμα.
Η καμπυλότητα αυτών των συνόρων απόφασης θα εξαρτηθεί άμεσα από το πόσα στρώματα νευρώνων θα προσθέσουμε στο νευρωνικό μας δίκτυο. Αυτά τα στρώματα νευρώνων, που κάνουν το σύστημα πιο περίπλοκο και πιο ακριβές, είναι στην πραγματικότητα βαθιά νευρωνικά δίκτυα. Κατ' αρχήν, όσο περισσότερα στρώματα βαθιάς νευρωνικών δικτύων έχουμε, τόσο πιο ακριβές και παρόμοιο θα συγκρίνεται το πρόγραμμα με τον ανθρώπινο εγκέφαλο.
Εν ολίγοις, τα νευρωνικά δίκτυα δεν είναι τίποτα άλλο από ένα έξυπνο σύστημα που επιτρέπει τη λήψη πιο ακριβών αποφάσεων, με παρόμοιο τρόπο με τον τρόπο που το κάνουμε εμείς οι άνθρωποι. Τα ανθρώπινα όντα βασίζονται στην εμπειρία, μαθαίνοντας από το περιβάλλον μας. Για παράδειγμα, επιστρέφοντας στην περίπτωση του πορτοκαλιού και του γκρέιπφρουτ, αν δεν έχουμε δει ποτέ ένα, θα το μπερδέψουμε τέλεια με ένα πορτοκάλι. Όταν το έχουμε εξοικειωθεί, τότε θα ξέρουμε ήδη πώς να το αναγνωρίσουμε και να το διαφοροποιήσουμε από τα πορτοκάλια.
Το πρώτο πράγμα που γίνεται είναι να δώσουμε κάποιες παραμέτρους στα νευρωνικά δίκτυα ώστε να ξέρουν πώς είναι αυτό που θέλουμε να μάθει να αναγνωρίζει. Έπειτα έρχεται η φάση μάθησης ή εκπαίδευσης, ώστε να είναι ολοένα και πιο ακριβής και σταδιακά να έχει μικρότερο περιθώριο λάθους. Αυτή είναι η στιγμή που παρουσιάζουμε το νευρωνικό μας δίκτυο με ένα πορτοκάλι και άλλα φρούτα. Στη φάση της εκπαίδευσης θα τους δοθούν περιπτώσεις στις οποίες είναι πορτοκαλί και περιπτώσεις που δεν είναι πορτοκαλί, κοιτάζοντας να δουν αν πήραν σωστά την απάντησή τους και λέγοντάς τους τη σωστή απάντηση.
Θα προσπαθήσουμε να κάνουμε πολλές προσπάθειες και όσο το δυνατόν πιο κοντά στην πραγματικότητα.. Με αυτόν τον τρόπο βοηθάμε το νευρωνικό δίκτυο να λειτουργεί όταν φτάνουν πραγματικές περιπτώσεις και ξέρει πώς να διακρίνει σωστά, με τον ίδιο τρόπο που θα έκανε ένας άνθρωπος στην πραγματική ζωή. Εάν η εκπαίδευση ήταν επαρκής, έχοντας επιλέξει καλές παραμέτρους αναγνώρισης και έχουν ταξινομηθεί καλά, το νευρωνικό δίκτυο θα έχει πολύ υψηλό ποσοστό επιτυχίας στην αναγνώριση προτύπων. υψηλός.
- Μπορεί να σας ενδιαφέρει: "Πώς λειτουργούν οι νευρώνες;"
Τι είναι και πώς ακριβώς λειτουργούν;
Τώρα που είδαμε τη γενική ιδέα του τι είναι τα νευρωνικά δίκτυα και θα καταλάβουμε πληρέστερα τι είναι και πώς αυτοί οι εξομοιωτές των νευρώνων του ανθρώπινου εγκεφάλου λειτουργούν και πού ζωγραφίζουν τα βαθιά νευρωνικά δίκτυα σε όλα αυτά επεξεργάζομαι, διαδικασία.
Ας φανταστούμε ότι έχουμε το εξής νευρωνικό δίκτυο: έχουμε τρία στρώματα τεχνητών νευρώνων. Ας πούμε ότι το πρώτο στρώμα έχει 4 νευρώνες ή κόμβους, το δεύτερο 3 και το τελευταίο έχει μόνο 2. Όλα αυτά είναι ένα παράδειγμα τεχνητού νευρωνικού δικτύου, αρκετά εύκολο να κατανοηθεί.
Το πρώτο επίπεδο είναι αυτό που λαμβάνει τα δεδομένα., δηλαδή οι πληροφορίες που μπορεί κάλλιστα να έρθουν με τη μορφή ήχου, εικόνας, αρωμάτων, ηλεκτρικών παρορμήσεων... Αυτή η πρώτη Το επίπεδο είναι το επίπεδο εισόδου και είναι υπεύθυνο για τη λήψη όλων των δεδομένων για να μπορέσετε αργότερα να τα στείλετε στα ακόλουθα στρώματα. Κατά την εκπαίδευση του νευρωνικού μας δικτύου, αυτό θα είναι το στρώμα με το οποίο θα δουλέψουμε πρώτα, δίνοντάς το δεδομένα που θα χρησιμοποιήσουμε για να δούμε πόσο καλά είστε στο να κάνετε προβλέψεις ή να προσδιορίσετε τις πληροφορίες που σας δίνονται δίνει.
Το δεύτερο στρώμα του υποθετικού μας μοντέλου είναι το κρυφό στρώμα, το οποίο βρίσκεται ακριβώς στη μέση του πρώτου και του τελευταίου στρώματος., σαν να ήταν ένα σάντουιτς το νευρωνικό μας δίκτυο. Σε αυτό το παράδειγμα έχουμε μόνο ένα κρυφό στρώμα, αλλά μπορεί να υπάρχουν όσα θέλουμε. Θα μπορούσαμε να μιλήσουμε για 50, 100, 1000 ή ακόμα και 50.000 στρώματα. Στην ουσία, αυτά τα κρυφά στρώματα είναι το τμήμα του νευρωνικού δικτύου που θα ονομάζαμε βαθύ νευρωνικό δίκτυο. Όσο μεγαλύτερο είναι το βάθος, τόσο πιο περίπλοκο είναι το νευρωνικό δίκτυο.
Τέλος έχουμε το τρίτο επίπεδο του παραδείγματός μας που είναι το επίπεδο εξόδου. Αυτό το στρώμα, όπως υποδηλώνει το όνομά του, είναι υπεύθυνος για τη λήψη πληροφοριών από τα προηγούμενα επίπεδα, τη λήψη απόφασης και την παροχή απάντησης ή αποτελέσματος.
Στο νευρωνικό δίκτυο κάθε τεχνητός νευρώνας συνδέεται με όλους τους παρακάτω. Στο παράδειγμά μας, όπου έχουμε σχολιάσει ότι έχουμε τρία επίπεδα με 4, 3 και 2 νευρώνες, τα 4 του στρώματος εισόδου είναι συνδέεται με το 3 του κρυφού στρώματος και το 3 του κρυφού στρώματος με το 2 της εξόδου, δίνοντάς μας συνολικά 18 συνδέσεις.
Όλοι αυτοί οι νευρώνες συνδέονται με εκείνους του επόμενου στρώματος, στέλνοντας τις πληροφορίες στην κατεύθυνση εισόδου->κρυφής->εξόδου.. Εάν υπήρχαν περισσότερα κρυφά επίπεδα, θα μιλούσαμε για μεγαλύτερο αριθμό συνδέσεων, στέλνοντας τις πληροφορίες από κρυφό επίπεδο σε κρυφό επίπεδο μέχρι να φτάσει στο επίπεδο εξόδου. Το επίπεδο εξόδου, αφού λάβει τις πληροφορίες, αυτό που θα κάνει είναι να μας δώσει ένα αποτέλεσμα με βάση τις πληροφορίες που έχει λάβει και τον τρόπο επεξεργασίας τους.
Όταν εκπαιδεύουμε τον αλγόριθμό μας, δηλαδή το νευρωνικό μας δίκτυο, αυτή η διαδικασία που μόλις εξηγήσαμε πρόκειται να γίνει πολλές φορές. Θα παραδώσουμε κάποια δεδομένα στο δίκτυο, θα δούμε τι μας δίνει το αποτέλεσμα και θα τα αναλύσουμε και θα τα συγκρίνουμε με αυτά που περιμέναμε να μας δώσει το αποτέλεσμα. Εάν υπάρχει μεγάλη διαφορά μεταξύ του αναμενόμενου και αυτού που προκύπτει, σημαίνει ότι υπάρχει μεγάλο περιθώριο σφάλματος και ότι, επομένως, είναι απαραίτητο να γίνουν μερικές τροποποιήσεις.
Πώς λειτουργούν οι τεχνητοί νευρώνες;
Τώρα θα κατανοήσουμε την ατομική λειτουργία των νευρώνων που λειτουργούν μέσα σε ένα νευρωνικό δίκτυο. Ο νευρώνας λαμβάνει μια εισαγωγή πληροφοριών από τον προηγούμενο νευρώνα. Ας πούμε ότι αυτός ο νευρώνας λαμβάνει τρεις εισόδους πληροφοριών, καθεμία από τις οποίες προέρχεται από τους τρεις νευρώνες του προηγούμενου στρώματος. Με τη σειρά του, αυτός ο νευρώνας παράγει εξόδους, σε αυτήν την περίπτωση ας πούμε ότι συνδέεται μόνο με έναν νευρώνα του επόμενου στρώματος.
Κάθε σύνδεση που έχει αυτός ο νευρώνας με τους τρεις νευρώνες του προηγούμενου στρώματος φέρνει μια τιμή "x", η οποία είναι η τιμή που μας στέλνει ο προηγούμενος νευρώνας.; και έχει επίσης μια τιμή "w", που είναι το βάρος αυτής της σύνδεσης. Το βάρος είναι μια τιμή που μας βοηθά να δίνουμε μεγαλύτερη σημασία σε μια σύνδεση έναντι των άλλων. Εν ολίγοις, κάθε σύνδεση με τους προηγούμενους νευρώνες έχει μια τιμή "x" και "w", οι οποίες πολλαπλασιάζονται (x·w).
Θα έχουμε επίσης μια τιμή που ονομάζεται "bias" ή μεροληψία που αντιπροσωπεύεται με "b" που είναι ο αριθμός σφαλμάτων που ενθαρρύνει ορισμένους νευρώνες να ενεργοποιούνται πιο εύκολα από άλλους. Επιπλέον, έχουμε μια συνάρτηση ενεργοποίησης εντός του νευρώνα, η οποία είναι που κάνει τον βαθμό ταξινόμησης διαφορετικών στοιχείων (σελ. ζ., πορτοκάλια) δεν είναι γραμμικό. Από μόνος του, κάθε νευρώνας έχει διαφορετικές παραμέτρους που πρέπει να ληφθούν υπόψη, γεγονός που κάνει ολόκληρο το σύστημα, αυτό είναι το νευρωνικό δίκτυο, να ταξινομείται με μη γραμμικό τρόπο.
Πώς γνωρίζει ο νευρώνας αν πρέπει να ενεργοποιηθεί ή όχι; δηλαδή πότε ξέρεις αν πρέπει να στείλεις πληροφορίες στο επόμενο επίπεδο; Λοιπόν, αυτή η απόφαση διέπεται από την ακόλουθη εξίσωση:
Αυτός ο τύπος σημαίνει ότι πρέπει να γίνει το άθροισμα όλων των βαρών "w" πολλαπλασιασμένο με όλες τις τιμές του "x" που λαμβάνει ο νευρώνας από το προηγούμενο στρώμα. Σε αυτό προστίθεται η μεροληψία "b".
Το αποτέλεσμα αυτής της εξίσωσης αποστέλλεται σε μια συνάρτηση ενεργοποίησης, η οποία είναι απλώς μια συνάρτηση που μας λέει ότι, αν το αποτέλεσμα αυτής της εξίσωσης είναι μεγαλύτερο από α ορισμένο αριθμό, ο νευρώνας θα στείλει ένα σήμα στο επόμενο στρώμα και, αν είναι μικρότερο, τότε δεν θα το κάνει να το στείλεις Έτσι, αυτός είναι ο τρόπος με τον οποίο ένας τεχνητός νευρώνας αποφασίζει εάν θα στείλει ή όχι πληροφορίες στους νευρώνες ως εξής: στρώμα μέσω μιας εξόδου που θα ονομάσουμε "y", μια έξοδο που, με τη σειρά της, είναι η είσοδος "x" του παρακάτω νευρώνας.
Και πώς εκπαιδεύετε ένα ολόκληρο δίκτυο;
Το πρώτο πράγμα που γίνεται είναι να παραδοθούν δεδομένα στο πρώτο επίπεδο, όπως έχουμε σχολιάσει προηγουμένως. Αυτό το επίπεδο θα στείλει πληροφορίες στα ακόλουθα επίπεδα, τα οποία είναι τα κρυφά στρώματα ή το βαθύ νευρωνικό δίκτυο. Οι νευρώνες αυτών των στρωμάτων θα ενεργοποιηθούν ή όχι ανάλογα με τις πληροφορίες που λαμβάνονται. Τέλος, το επίπεδο εξόδου θα μας δώσει ένα αποτέλεσμα, το οποίο θα συγκρίνουμε με την τιμή που περιμέναμε για να δούμε αν το νευρωνικό δίκτυο έχει μάθει τι πρέπει να κάνει σωστά.
Αν δεν έμαθε καλά τότε θα κάνουμε άλλη αλληλεπίδραση, δηλαδή θα σας παρουσιάσουμε ξανά πληροφορίες και θα δούμε πώς συμπεριφέρεται το νευρωνικό δίκτυο. Ανάλογα με τα αποτελέσματα που λαμβάνονται, οι τιμές "b" θα προσαρμοστούν, δηλαδή η προκατάληψη κάθε νευρώνα και το "w", αυτό είναι το βάρος κάθε σύνδεσης με κάθε νευρώνα για να μειωθεί το σφάλμα. Για να μάθουμε πόσο μεγάλο είναι αυτό το σφάλμα, θα χρησιμοποιήσουμε μια άλλη εξίσωση, η οποία είναι η εξής:
Αυτή η εξίσωση είναι το ριζικό μέσο τετραγωνικό σφάλμα. Θα κάνουμε το άθροισμα του y (x) που είναι η τιμή που μας έδωσε το δίκτυό μας στην αλληλεπίδραση μείον «a», που είναι η τιμή που περιμέναμε να μας δώσει, αυξημένη στο τετράγωνο. Τέλος, πρόκειται να πολλαπλασιάσουμε αυτό το άθροισμα επί 1/2n, όντας αυτό το «n» ο αριθμός των αλληλεπιδράσεων που έχουμε στείλει για να εκπαιδεύσουμε το νευρωνικό μας δίκτυο.
Για παράδειγμα, ας υποθέσουμε ότι έχουμε τις ακόλουθες τιμές
Η πρώτη στήλη "y (x)" αντιπροσωπεύει αυτό που μας έδωσε το δίκτυό μας σε καθεμία από τις τέσσερις αλληλεπιδράσεις που το δοκιμάσαμε. Οι τιμές που λάβαμε, όπως φαίνεται, δεν αντιστοιχούν σε αυτές της δεύτερης στήλης «a», οι οποίες είναι οι επιθυμητές τιμές για κάθε μία από τις δοκιμασμένες αλληλεπιδράσεις. Η τελευταία στήλη αντιπροσωπεύει το σφάλμα κάθε αλληλεπίδρασης.
Εφαρμόζοντας τον προαναφερθέντα τύπο και χρησιμοποιώντας αυτά τα δεδομένα εδώ, λαμβάνοντας υπόψη ότι σε αυτήν την περίπτωση n = 4 (4 αλληλεπιδράσεις) μας δίνει μια τιμή 3,87, που είναι το μέσο τετραγωνικό σφάλμα που έχει το νευρωνικό μας δίκτυο σε αυτά στιγμές. Γνωρίζοντας το σφάλμα, αυτό που πρέπει να κάνουμε τώρα είναι, όπως έχουμε σχολιάσει προηγουμένως, να αλλάξουμε την προκατάληψη και το βάρη καθενός από τους νευρώνες και τις αλληλεπιδράσεις τους με την πρόθεση ότι με αυτόν τον τρόπο είναι το σφάλμα περιορίζω.
Σε αυτό το σημείο κάνουν αίτηση μηχανικοί και επιστήμονες πληροφορικής ένας αλγόριθμος που ονομάζεται gradient descent με τις οποίες μπορούν να λάβουν τιμές για να δοκιμάσουν και να τροποποιήσουν την προκατάληψη και το βάρος κάθε τεχνητού νευρώνα ώστε, με αυτόν τον τρόπο, να προκύπτει ένα όλο και πιο χαμηλό σφάλμα, πλησιάζοντας την πρόβλεψη ή το αποτέλεσμα καταζητούμενος. Είναι θέμα δοκιμών και όσο περισσότερες αλληλεπιδράσεις γίνονται, τόσο περισσότερη εκπαίδευση θα υπάρχει και τόσο περισσότερα θα μαθαίνει το δίκτυο.
Μόλις το νευρωνικό δίκτυο εκπαιδευτεί επαρκώς, τότε θα μας δώσει ακριβείς και αξιόπιστες προβλέψεις και ταυτοποιήσεις. Σε αυτό το σημείο θα έχουμε ένα δίκτυο που θα έχει σε κάθε νευρώνα του μια τιμή καθορισμένο βάρος, με ελεγχόμενη προκατάληψη και με ικανότητα λήψης αποφάσεων που θα κάνει το σύστημα δουλειά.
Βιβλιογραφικές αναφορές:
- Puig, Α. [AMP Tech] (2017, 28 Ιουλίου). Πώς λειτουργούν τα νευρωνικά δίκτυα; [Αρχείο βίντεο]. Ανάρρωσα από https://www.youtube.com/watch? v=IQMoglp-fBk&ab_channel=AMPTech
- Santaolalla, J. [Give a Vlog] (2017, 11 Απριλίου) CienciaClip Challenge - Τι είναι τα νευρωνικά δίκτυα; [Αρχείο βίντεο]. https://www.youtube.com/watch? v=rTpr6DuY4LU&ab_channel=DateunVlog
- Schmidhuber, J. (2015). "Deep Learning in Neural Networks: An Overview". Νευρωνικά δίκτυα. 61: 85–117. arXiv: 1404.7828. doi: 10.1016/j.neunet.2014.09.003. PMID 25462637. S2CID 11715509