Σάββατο 23 Σεπτεμβρίου 2023

Νευρωνικά δίκτυα και Τεχνητή Νοημοσύνη

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

Νευρωνικά δίκτυα. Αυτή τη φράση την ακούμε σχεδόν παντού. Φτάνει στο σημείο να βρεις νευρωνικά δίκτυα ακόμα και σε ψυγεία (δεν είναι αστείο). Τα νευρωνικά δίκτυα χρησιμοποιούνται ευρέως από αλγόριθμους μηχανικής μάθησης, οι οποίοι σήμερα μπορούν να βρεθούν όχι μόνο σε υπολογιστές και smartphones, αλλά και σε πολλές άλλες ηλεκτρονικές συσκευές, για παράδειγμα, σε οικιακές συσκευές. Και έχετε αναρωτηθεί ποτέ τι είναι αυτά τα νευρωνικά δίκτυα;

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

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

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

Πρώτα υπήρχε ένας τεχνητός νευρώνας

Το πρώτο μαθηματικό μοντέλο ενός τεχνητού νευρώνα αναπτύχθηκε το 1943 από δύο Αμερικανούς επιστήμονες, τον Warren McCulloch και τον Walter Pitts. Κατάφεραν να το κάνουν αυτό με βάση μια διεπιστημονική προσέγγιση, συνδυάζοντας βασικές γνώσεις της φυσιολογίας του εγκεφάλου , των μαθηματικών και της τότε νεαρής προσέγγισης πληροφορικής (χρησιμοποίησαν, μεταξύ άλλων, τη θεωρία υπολογισιμότητας του Alan Turing ). Το μοντέλο τεχνητού νευρώνα McCulloch-Pitts είναι ένα πολύ απλό μοντέλο, έχει πολλές εισόδους, όπου οι πληροφορίες εισόδου περνούν μέσα από βάρη (παραμέτρους), οι τιμές των οποίων καθορίζουν τη συμπεριφορά του νευρώνα. Το αποτέλεσμα που προκύπτει αποστέλλεται σε μία μόνο έξοδο.

Από το μοντέλο στις καινοτόμες υλοποιήσεις

Οι McCulloch και Pitts ανέπτυξαν ένα θεωρητικό μοντέλο, αλλά η δημιουργία του πρώτου πραγματικού νευρωνικού δικτύου έπρεπε να περιμένει περισσότερα από δέκα χρόνια. Ο δημιουργός του θεωρείται ένας άλλος πρωτοπόρος της έρευνας τεχνητής νοημοσύνης, ο Frank Rosenblatt, ο οποίος το 1957 δημιούργησε το δίκτυο Mark I Perceptron . Χάρη σε αυτή τη δομή, η μηχανή απέκτησε μια ικανότητα που προηγουμένως ήταν εγγενής μόνο σε ζώα και ανθρώπους: μπορεί να μάθει.

Πολλοί ερευνητές και πρωτοπόροι της επιστήμης των υπολογιστών στη δεκαετία του 1950 σκέφτηκαν πώς να κάνουν μια μηχανή να κάνει ό,τι δεν μπορούσε να κάνει μόνη της. Για παράδειγμα, ο Arthur Samuel ανέπτυξε ένα πρόγραμμα που έπαιζε ζάρια με έναν άνθρωπο, ο Allen Newell και ο Herbert Simon δημιούργησαν ένα πρόγραμμα που μπορούσε να αποδείξει ανεξάρτητα μαθηματικά θεωρήματα. Ακόμη και πριν από τη δημιουργία του πρώτου νευρωνικού δικτύου του Rosenblatt, δύο άλλοι πρωτοπόροι της έρευνας στον τομέα της τεχνητής νοημοσύνης, ο Marvin Minsky και ο Dean Edmonds, το 1952, δηλαδή πριν ακόμη εμφανιστεί το perceptron του Rosenblatt, κατασκεύασαν μια μηχανή που ονομάζεται SNARC (Stochastic Neural Analog Reinforcement Calculator) – στοχαστική νευρωνική αναλογική αριθμομηχανή ενίσχυση, που θεωρείται από πολλούς ως ο πρώτος υπολογιστής στοχαστικού νευρωνικού δικτύου. Πρέπει να σημειωθεί ότι το SNARC δεν είχε καμία σχέση με σύγχρονους υπολογιστές.

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

Ωστόσο, όταν επρόκειτο για ευρύτερους χώρους και επίλυση κάτι πολύ σοβαρού, όπως η αναγνώριση μοτίβων και εικόνων, η ταυτόχρονη μετάφραση, η αναγνώριση ομιλίας και γραφής κ.λπ., δηλαδή πράγματα που οι υπολογιστές και η τεχνητή νοημοσύνη μπορούν ήδη να κάνουν σήμερα, αποδείχθηκε ότι οι πρώτες υλοποιήσεις νευρωνικών δικτύων απλά δεν ήταν σε θέση να το κάνουν. Γιατί συνέβη αυτό; Την απάντηση έδωσε η έρευνα του Marvin Minsky και του Seymour Papert, που το 1969 απέδειξε τους περιορισμούς της λογικής του perceptron και έδειξε ότι η αύξηση των δυνατοτήτων των απλών νευρωνικών δικτύων αποκλειστικά λόγω κλιμάκωσης δεν λειτουργεί. Υπήρχε ένα ακόμη, αλλά πολύ σημαντικό, εμπόδιο – η υπολογιστική ισχύς που ήταν διαθέσιμη εκείνη την εποχή ήταν πολύ μικρή ώστε τα νευρωνικά δίκτυα να χρησιμοποιούνταν όπως προβλεπόταν.

Αναγέννηση νευρωνικών δικτύων

Στις δεκαετίες του 1970 και του 1980, τα νευρωνικά δίκτυα πρακτικά ξεχάστηκαν. Μόλις στα τέλη του περασμένου αιώνα έγινε τόσο μεγάλη η διαθέσιμη υπολογιστική ισχύς που οι άνθρωποι άρχισαν να επιστρέφουν σε αυτήν και να αναπτύσσουν τις δυνατότητές τους σε αυτόν τον τομέα. Τότε ήταν που εμφανίστηκαν νέες συναρτήσεις και αλγόριθμοι, ικανοί να ξεπεράσουν τους περιορισμούς των πρώτων απλούστερων νευρωνικών δικτύων.

Τότε προέκυψε η ιδέα της βαθιάς μηχανικής μάθησης πολυεπίπεδων νευρωνικών δικτύων. Τι συμβαίνει στην πραγματικότητα με αυτά τα στρώματα; Σήμερα, σχεδόν όλα τα χρήσιμα νευρωνικά δίκτυα που λειτουργούν στο περιβάλλον μας είναι πολυεπίπεδα. Έχουμε ένα επίπεδο εισόδου του οποίου η αποστολή είναι να λαμβάνει δεδομένα εισόδου και παραμέτρους (βαρίδια). Ο αριθμός αυτών των παραμέτρων ποικίλλει ανάλογα με την πολυπλοκότητα του υπολογιστικού προβλήματος που πρέπει να λυθεί από το δίκτυο.

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

Πώς μαθαίνουν τα νευρωνικά δίκτυα;

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

Για παράδειγμα, εάν το καθήκον αυτού του νευρωνικού δικτύου είναι να αναγνωρίζει πρόσωπα, είναι προεκπαιδευμένο σε μεγάλο αριθμό εικόνων που περιέχουν πρόσωπα. Στη διαδικασία μάθησης, τα βάρη και οι παράμετροι των κρυφών στρωμάτων αλλάζουν. Οι ειδικοί χρησιμοποιούν εδώ τη φράση “ελαχιστοποίηση της συνάρτησης κόστους”. Μια συνάρτηση κόστους είναι μια ποσότητα που μας λέει πόσα λάθη κάνει ένα δεδομένο νευρωνικό δίκτυο. Όσο περισσότερο μπορούμε να ελαχιστοποιήσουμε τη συνάρτηση κόστους ως αποτέλεσμα της εκπαίδευσης, τόσο καλύτερα θα αποδώσει αυτό το νευρωνικό δίκτυο στον πραγματικό κόσμο. Το πιο σημαντικό χαρακτηριστικό που διακρίνει κάθε νευρωνικό δίκτυο από μια εργασία που έχει προγραμματιστεί χρησιμοποιώντας έναν κλασικό αλγόριθμο είναι ότι, στην περίπτωση των κλασικών αλγορίθμων, ο προγραμματιστής πρέπει να σχεδιάσει βήμα προς βήμα ποιες ενέργειες θα εκτελέσει το πρόγραμμα. Στην περίπτωση των νευρωνικών δικτύων, το ίδιο το δίκτυο είναι σε θέση να μάθει να εκτελεί σωστά εργασίες από μόνο του. Και κανείς δεν ξέρει ακριβώς πώς ένα πολύπλοκο νευρωνικό δίκτυο εκτελεί τους υπολογισμούς του.

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

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

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

Δεν υπάρχουν σχόλια :

Δημοσίευση σχολίου