Πώς να δημιουργήσετε το δικό σας νευρωνικό δίκτυο από την αρχή στην Python. Έλεγχος της λειτουργίας του νευρωνικού δικτύου

Εργαλείο 08.05.2019
Επισκόπηση προγράμματος Η έκδοση υπολογιστή του Microsoft Excel Viewer θα επιτρέψει...

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

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

Ταξική Ιεραρχία

Υπάρχουν τρεις βασικές κατηγορίες TNeuron, TLayer, TNeuralNet. Όλα τα άλλα προέρχονται από αυτά. Το σχήμα 1 δείχνει την ιεραρχία των κλάσεων, οι συμπαγείς γραμμές δείχνουν κληρονομικότητα (το βέλος δείχνει έναν απόγονο) και οι διακεκομμένες γραμμές δείχνουν σε ποιες κλάσεις χρησιμοποιούνται.

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

TNeuronHopf, απόγονος του TNeuron, υλοποιεί τον νευρώνα που χρησιμοποιείται στο νευρωνικό δίκτυο Hopfield, η μόνη διαφορά από τη βασική κλάση είναι η χρήση μιας συνάρτησης ενεργοποίησης στην παρακαμφθείσα μέθοδο ComputeOut.

Η επόμενη κλάση που δημιουργείται είναι TNeuronBPχρησιμοποιείται για την εφαρμογή λογισμικού πολυστρωματικών νευρωνικών δικτύων. Η συντομογραφία BP στο όνομα της κλάσης δεν θα πρέπει να σας παραπλανήσει ότι ένας νευρώνας αυτού του τύπου χρησιμοποιείται αποκλειστικά σε δίκτυα που εκπαιδεύονται χρησιμοποιώντας τον αλγόριθμο backpropagation, για άλλη μια φορά θέλαμε να τονίσουμε ότι στην περίπτωσή μας νευρικό σύστημαεκπαιδεύεται χρησιμοποιώντας αυτόν τον αλγόριθμο.
Η μέθοδος ComputeOut έχει ξαναγραφτεί για να χρησιμοποιεί τώρα μια μη γραμμική συνάρτηση ενεργοποίησης, η οποία υλοποιείται ως ιδιότητα ευρετηρίου του διαδικαστικού τύπου OnActivationF. Επιπλέον, προστέθηκαν δύο σημαντικές ιδιότητες, Delta – που περιέχει το τοπικό σφάλμα και την ευρετηριασμένη ιδιότητα PrevUpdate – που περιέχει την τιμή της διόρθωσης των συντελεστών στάθμισης στο προηγούμενο βήμα της εκπαίδευσης δικτύου.

Ο κύριος σκοπός της βασικής κλάσης TLayerκαι τους απογόνους του TLayerHopfΚαι TLayerBPείναι ο συνδυασμός νευρώνων σε ένα στρώμα για να απλοποιηθεί η εργασία με νευρώνες.

Συστατικό TNeuralNetτο βασικό στοιχείο για όλους τους τύπους νευρωνικών δικτύων. Το TNeuralNet παρέχει την απαραίτητη λειτουργικότητα για τα παράγωγα στοιχεία. Αυτό το στοιχείο υποστηρίζει μεθόδους εργασίας με επίπεδα δικτύου (AddLayer, DeleteLayer) και μεθόδους χειρισμού δεδομένων προέλευσης (AddPattern, DeletePattern, ResetPatterns). Η μέθοδος Init χρησιμοποιείται για την κατασκευή ενός νευρωνικού δικτύου. Οι περισσότερες από τις μεθόδους που αναφέρονται στην ενότητα κοινόστο βασικό στοιχείο και στους απογόνους του - εικονικό, γεγονός που καθιστά εύκολη την επικάλυψη τους.
Το στοιχείο TNeuralNetHopf υλοποιεί ένα νευρωνικό δίκτυο Hopfield.

Επιπλέον, περιλαμβάνονται οι ακόλουθες μέθοδοι: InitWeights - αποθηκεύει τα δείγματα που παρουσιάζονται στη μήτρα εικόνας και η μέθοδος Calc - υπολογίζει την έξοδο του δικτύου Hopfield.

Συστατικό TNeuralNetBPυλοποιεί ένα πολυστρωματικό νευρωνικό δίκτυο εκπαιδευμένο χρησιμοποιώντας τον αλγόριθμο backpropagation.

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

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

Συμβατό με το Neural Network Wizard Το επόμενο συστατικό είναι TNeuralNetExtended

προέρχεται από το TNeuralNetBP, το οποίο παρέχει πλήρη συμβατότητα με τον Οδηγό νευρωνικών δικτύων. Επιπλέον, περιλαμβάνονται οι ακόλουθες μέθοδοι: για εγγραφή (LoadPhase1, LoadPhase2, LoadPhase4, LoadNetwork) και ανάγνωση (SavePhase1, SavePhase2, SavePhase4, SaveNetwork) ενός εκπαιδευμένου νευρικού δικτύου σε μορφή *.nnw. LoadDataFrom – φορτώνει δεδομένα από ένα αρχείο κειμένου, καθώς και τη μέθοδο NormalizeData για την κανονικοποίηση των δεδομένων εισόδου και εξόδου. Train – για εκπαίδευση νευρωνικού δικτύου. ComputeUnPrepData – για τον υπολογισμό της εξόδου δικτύου, που χρησιμοποιείται εάν οι τιμές εισόδου σας δεν έχουν κανονικοποιηθεί.

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

Το στοιχείο TNeuralNetExtented είναι ένα από τα πιο ισχυρά στη βιβλιοθήκη NeuralBase. Χρησιμοποιώντας αυτό το στοιχείο, μπορείτε να αποκτήσετε μια έτοιμη, πλήρως λειτουργική εφαρμογή μέσα σε λίγα μόνο λεπτά.

Προγράμματα επίδειξης

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

Τρία προγράμματα παρουσιάζονται ως παραδείγματα επίδειξης, που δείχνουν τις δυνατότητες των προτεινόμενων στοιχείων. XOR_Πρόβλημα, υλοποιεί τη συνάρτηση "αποκλειστική ή", η οποία είναι τυπική δοκιμή, μετά το περίφημο έργο των Minsky και Papert «Perceptrons». Το πρόγραμμα βασίζεται στο στοιχείο TNeuralNetBP.

Τρία προγράμματα παρουσιάζονται ως παραδείγματα επίδειξης, που δείχνουν τις δυνατότητες των προτεινόμενων στοιχείων. EasyNNW, χρησιμοποιώντας το στοιχείο TNeuralNetExtented, είναι ένα ανάλογο του προγράμματος, η μόνη διαφορά από το NNW είναι μια κάπως «ελαφριά» διεπαφή. Αυτό το παράδειγμα δείχνει πόσο εύκολο και γρήγορο είναι να δημιουργηθούν προγράμματα που υλοποιούν νευρωνικά δίκτυα με αρκετά καλή λειτουργικότητα με βάση τη βιβλιοθήκη στοιχείων NeuralBase.

ΣΕ πρόσφαταΥπάρχουν πολλές λύσεις που χρησιμοποιούν νευρωνικά δίκτυα: εφαρμογές, υπηρεσίες, προγράμματα χρησιμοποιούν αυτού του είδους τα δίκτυα για να επιταχύνουν την επίλυση διαφόρων προβλημάτων. Τι είναι όμως ένα νευρωνικό δίκτυο; Οι συντάκτες του AIN.UA αποφάσισαν να καταλάβουν τι είναι αυτή η δημοφιλής τεχνολογία, από πού προήλθε και πώς λειτουργεί.

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

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

Και πώς λειτουργεί;

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

Ένα τεχνητά δημιουργημένο νευρωνικό δίκτυο (ANN) μιμείται τη διαδικασία επεξεργασίας πληροφοριών ενός βιολογικού αναλόγου και είναι μια σειρά από μικροεπεξεργαστές που χωρίζονται σε τρεις ομάδες:

  • Τα σημεία εισόδου (αισθητήρες) είναι νευρώνες μέσω των οποίων οι πληροφορίες για επεξεργασία εισέρχονται στο ANN.
  • Τα σημεία εξόδου (ανταποκρίνονται) είναι νευρώνες μέσω των οποίων το ANN παράγει το τελικό αποτέλεσμα.
  • Οι κρυφοί νευρώνες (συνειρμικοί) είναι μια λειτουργική συστοιχία νευρώνων που βρίσκεται μεταξύ των σημείων εισόδου και εξόδου.

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

Διάγραμμα ενός perceptron - το απλούστερο μονοστρωματικό νευρωνικό δίκτυο

Ο προγραμματισμός δεν μπορεί να διδαχθεί

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

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

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

Το παρακάτω βίντεο είναι το αποτέλεσμα μιας 24ωρης αυτοεκπαίδευσης του ANN για να παίξει το Super Mario, όπου του δόθηκε ο στόχος να επιτύχει τον μέγιστο αριθμό πόντων που απονέμονται κατά τη μετάβαση στο επίπεδο. Όσο πιο μακριά κατάφερε να προχωρήσει, τόσο υψηλότερη ήταν η τελική βαθμολογία. Ο ερευνητής χρησιμοποίησε στοιχεία χάρτη και αντιπάλους ως εισόδους και ενέργειες που ήταν διαθέσιμες στον παίκτη ως έξοδο.

Αλλά αυτό το ίδιο, ελαφρώς προσαρμοσμένο INS κατακτάται ενώ οδηγείτε ένα άλλο παιχνίδι - το Mario Kart.

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

Ο στόχος σας είναι να τους δημιουργήσετε εμπόδια και να παρακολουθήσετε πώς τα αντιμετωπίζει με επιτυχία ο αυτόματος πιλότος, καθώς και να προετοιμαστείτε διανοητικά για την εμφάνιση παρόμοιων drones από την Uber και ανταγωνιστικές εταιρείες στους δρόμους της πόλης σας.

Όλα βασίζονται σε αλγόριθμους που δημιουργεί η φύση

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

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

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

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

Γιατί το ANN δεν είναι ακόμα AI

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

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

Για να το θέσω απλά, ο Μέγας Αλέξανδρος μπορούσε ακόμα να κόψει τον Γόρδιο δεσμό. Αλλά το νευρωνικό δίκτυο δεν είναι.

Το AIN.UA ανέφερε προηγουμένως για έναν Γερμανό καλλιτέχνη που ανέπτυξε μια εκτύπωση για ρούχα σχεδιασμένα να προστατεύουν τους ανθρώπους από την αναγνώριση προσώπου μέσω νευρωνικών δικτύων.

Εάν θέλετε να λαμβάνετε νέα στο Facebook, κάντε κλικ στο "μου αρέσει"

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

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

Πώς ξεκίνησαν όλα

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

Λίγα χρόνια αργότερα, μια ομάδα Αμερικανών επιστημόνων μοντελοποίησε ένα τεχνητό νευρωνικό δίκτυο που μπορούσε να διακρίνει τα τετράγωνα σχήματα από άλλα σχήματα.

Πώς λειτουργεί ένα νευρωνικό δίκτυο;

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

Τι είναι τα νευρωνικά δίκτυα και τι μπορούν να κάνουν;

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

Συνελικτικά νευρωνικά δίκτυα

Οι νευρώνες χωρίζονται σε ομάδες, κάθε ομάδα υπολογίζει ένα χαρακτηριστικό που της δίνεται. Το 1993, ο Γάλλος επιστήμονας Yann LeCun έδειξε στον κόσμο το LeNet 1, το πρώτο συνελικτικό νευρωνικό δίκτυο που μπορούσε να αναγνωρίσει γρήγορα και με ακρίβεια αριθμούς γραμμένους σε χαρτί με το χέρι. Δείτε μόνοι σας:

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

Επαναλαμβανόμενα νευρωνικά δίκτυα

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

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

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

Το 2015, η SwiftKey κυκλοφόρησε το πρώτο πληκτρολόγιο στον κόσμο που τρέχει σε επαναλαμβανόμενο νευρωνικό δίκτυο με ελεγχόμενους νευρώνες. Στη συνέχεια, το σύστημα παρείχε συμβουλές κατά την πληκτρολόγηση με βάση τις τελευταίες λέξεις που εισαγάγατε. Πέρυσι, οι προγραμματιστές εκπαίδευσαν ένα νευρωνικό δίκτυο για να μελετήσουν το πλαίσιο του κειμένου που πληκτρολογείται και οι συμβουλές έγιναν ουσιαστικές και χρήσιμες:

Συνδυασμένα νευρωνικά δίκτυα (συνελικτικά + επαναλαμβανόμενα)

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

Τα νευρωνικά δίκτυα αυτομαθαίνουν συνεχώς.

Μέσα από αυτή τη διαδικασία:

1. Το Skype εισήγαγε τη δυνατότητα ταυτόχρονη μετάφρασηήδη για 10 γλώσσες. Μεταξύ των οποίων, για μια στιγμή, υπάρχουν Ρώσοι και Ιάπωνες - μερικά από τα πιο δύσκολα στον κόσμο. Φυσικά, η ποιότητα της μετάφρασης απαιτεί σοβαρή βελτίωση, αλλά το ίδιο το γεγονός ότι τώρα μπορείς να επικοινωνήσεις με συναδέλφους από την Ιαπωνία στα ρωσικά και να είσαι σίγουρος ότι θα γίνεις κατανοητός είναι εμπνευσμένο.

2. Η Yandex δημιούργησε δύο βασισμένα σε νευρωνικά δίκτυα αλγόριθμος αναζήτησης: "Palekh" και "Korolev". Το πρώτο βοήθησε να βρεθούν οι πιο σχετικοί ιστότοποι για ερωτήματα χαμηλής συχνότητας. Ο "Palekh" μελέτησε τις επικεφαλίδες των σελίδων και συνέκρινε τη σημασία τους με τη σημασία των αιτημάτων. Με βάση τον Palekh, εμφανίστηκε ο Korolev. Αυτός ο αλγόριθμος αξιολογεί όχι μόνο τον τίτλο, αλλά και ολόκληρο το περιεχόμενο κειμένου της σελίδας. Η αναζήτηση γίνεται πιο ακριβής και οι ιδιοκτήτες ιστοτόπων αρχίζουν να προσεγγίζουν το περιεχόμενο της σελίδας πιο έξυπνα.

3. Συνάδελφοι SEO από την Yandex δημιούργησαν ένα μουσικό νευρωνικό δίκτυο: συνθέτει ποίηση και γράφει μουσική. Το neurogroup ονομάζεται συμβολικά Neurona και έχει ήδη το πρώτο του άλμπουμ:

4. Το Google Inbox χρησιμοποιεί νευρωνικά δίκτυα για να απαντά σε μηνύματα. Η ανάπτυξη της τεχνολογίας βρίσκεται σε πλήρη εξέλιξη και σήμερα το δίκτυο μελετά ήδη αλληλογραφία και δημιουργεί πιθανές επιλογέςαπάντηση. Δεν χρειάζεται να χάνετε χρόνο στην πληκτρολόγηση και μην φοβάστε να ξεχάσετε κάποια σημαντική συμφωνία.

5. Το YouTube χρησιμοποιεί νευρωνικά δίκτυα για την ταξινόμηση βίντεο και σύμφωνα με δύο αρχές ταυτόχρονα: το ένα νευρωνικό δίκτυο μελετά βίντεο και τις αντιδράσεις του κοινού σε αυτά, το άλλο διεξάγει έρευνα για τους χρήστες και τις προτιμήσεις τους. Γι' αυτό Προτάσεις YouTubeπάντα στο θέμα.

6. Το Facebook εργάζεται ενεργά στο DeepText AI, ένα πρόγραμμα επικοινωνίας που κατανοεί την ορολογία και καθαρίζει τις συνομιλίες από άσεμνες γλώσσες.

7. Εφαρμογές όπως το Prisma και το Fabby, χτισμένες σε νευρωνικά δίκτυα, δημιουργούν εικόνες και βίντεο:

Το Colorize επαναφέρει τα χρώματα στις ασπρόμαυρες φωτογραφίες (έκπληξη γιαγιά!).

Το MakeUp Plus επιλέγει το τέλειο κραγιόν για κορίτσια από μια πραγματική γκάμα πραγματικών εμπορικών σημάτων: οι Bobbi Brown, Clinique, Lancome και YSL είναι ήδη στην αγορά.

Η Apple και η Microsoft αναβαθμίζουν συνεχώς το νευρωνικό τους Siri και Contana.

Τεχνητό νευρωνικό δίκτυο

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

Τι άλλο μας περιμένει στο μέλλον;

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

Αγροτικός τομέας

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

Φάρμακο

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

Εμπορία

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

Ηλεκτρονικό εμπόριο

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

Για παράδειγμα, διαβάζετε αυτό το άρθρο αρκετά χρόνια αργότερα. Σας αρέσει πολύ το κραγιόν στο στιγμιότυπο οθόνης από την εφαρμογή MakeUp Plus (δείτε παραπάνω). Κάνετε κλικ πάνω του και πηγαίνετε κατευθείαν στο καλάθι. Ή παρακολουθήστε ένα βίντεο σχετικά με το πιο πρόσφατο μοντέλο Hololens (γυαλιά μικτή πραγματικότητα) και κάντε αμέσως μια παραγγελία απευθείας από το YouTube.

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

P.S.Το Zinaida Falls είναι ένα νευρωνικό δίκτυο Yandex που γράφει ποίηση. Βαθμολογήστε το έργο που έγραψε το μηχάνημα αφού εκπαιδεύτηκε από τον Μαγιακόφσκι (διατηρούνται η ορθογραφία και η στίξη):

« Αυτό»

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

Εντυπωσιακό, σωστά;

Νευρωνικά δίκτυα για ανδρείκελα

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

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

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

Σπουδαίος

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

Νευρωνικά δίκτυα: τι είναι και πώς λειτουργούν

Ιδανικά, φορτώνοντας τα πρωτεύοντα δεδομένα και συγκρίνοντας την τοπολογία κλάσης, το ίδιο το νευρωνικό δίκτυο θα μπορεί στη συνέχεια να ταξινομήσει νέες πληροφορίες. Ας υποθέσουμε ότι αποφασίσαμε να ανεβάσουμε μια εικόνα 3x5 pixel. Η απλή αριθμητική θα μας πει ότι θα υπάρχουν 3*5=15 είσοδοι. Και η ίδια η ταξινόμηση θα καθορίσει τον συνολικό αριθμό των εξόδων, δηλ. νευρώνες. Ένα άλλο παράδειγμα: ένα νευρωνικό δίκτυο πρέπει να αναγνωρίζει το γράμμα "C". Το καθορισμένο κατώφλι αντιστοιχεί πλήρως στο γράμμα αυτό θα απαιτήσει έναν νευρώνα με τον αριθμό των εισόδων ίσο με το μέγεθος της εικόνας.

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

νευρωνικών δικτύων

Νευρωνικά δίκτυα για ανδρείκελα

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

Γράψτε το δικό σας νευρωνικό δίκτυο: ένας οδηγός βήμα προς βήμα

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

Για να κατανοήσετε το πρόβλημα, πρέπει να ανακαλύψετε τη βασική αιτία, η οποία βρίσκεται εντελώς στην επιφάνεια. Θυμόμαστε τη Σάρα Κόνορ, με ένα ρίγος της καρδιάς μας καταλαβαίνουμε ότι κάποτε ήταν πρωτοπόροι ανάπτυξη υπολογιστώνΟ Warren McCulloch και ο Walter Pitts καταδίωξαν εγωιστικός στόχοςδημιουργώντας την πρώτη Τεχνητή Νοημοσύνη.

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

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

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

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

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

Όταν γράφετε πρωτεύοντα κώδικα, πρέπει να εξηγείτε τις ενέργειές σας κυριολεκτικά στα δάχτυλά σας. Εάν εργαζόμαστε, για παράδειγμα, με εικόνες, τότε στο πρώτο στάδιο το μέγεθος και η κατηγορία του θα έχουν σημασία για εμάς. Εάν το πρώτο χαρακτηριστικό μας λέει τον αριθμό των εισόδων, τότε το δεύτερο θα βοηθήσει το ίδιο το νευρωνικό δίκτυο να ταξινομήσει τις πληροφορίες. Στην ιδανική περίπτωση, έχοντας φορτώσει τα πρωτεύοντα δεδομένα και συγκρίνει την τοπολογία των κλάσεων, το ίδιο το νευρωνικό δίκτυο θα μπορεί στη συνέχεια να ταξινομήσει νέες πληροφορίες. Ας υποθέσουμε ότι αποφασίσαμε να ανεβάσουμε μια εικόνα 3x5 pixel. Η απλή αριθμητική θα μας πει ότι θα υπάρχουν 3*5=15 είσοδοι. Και η ίδια η ταξινόμηση θα καθορίσει τον συνολικό αριθμό των εξόδων, δηλ. νευρώνες. Ένα άλλο παράδειγμα: ένα νευρωνικό δίκτυο πρέπει να αναγνωρίζει το γράμμα "C". Το καθορισμένο κατώφλι αντιστοιχεί πλήρως στο γράμμα αυτό θα απαιτήσει έναν νευρώνα με τον αριθμό των εισόδων ίσο με το μέγεθος της εικόνας.

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

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

Το δεδομένο παράδειγμα ενός αλγορίθμου για την κατασκευή κώδικα για ένα νευρωνικό δίκτυο ονομάζεται parceltron.

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

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

νευρωνικά δίκτυα,
μέθοδοι ανάλυσης δεδομένων:
από την έρευνα στην ανάπτυξη και την εφαρμογή

Σπίτι
Υπηρεσίες
Νευρωνικά δίκτυα
βασικές ιδέες
δυνατότητες
φόντα

Τρόπος χρήσης
προγραμματισμός
ακρίβεια λύσης
NS και AI
Προγράμματα
Άρθρα
Ιστολόγιο
Σχετικά με τον συγγραφέα / τις επαφές

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

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

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

Τι είναι ένα νευρωνικό δίκτυο

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

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

Η εργασία του perceptron δεν θα μπορούσε να είναι απλούστερη: λαμβάνει αρκετούς αρχικούς αριθμούς, πολλαπλασιάζει τον καθένα με την «τιμή» αυτού του αριθμού (περισσότερα για αυτό παρακάτω), τον αθροίζει και, ανάλογα με το αποτέλεσμα, βγάζει 1 ή –1. Για παράδειγμα, φωτογραφίζουμε ένα καθαρό πεδίο και δείχνουμε τον νευρώνα μας κάποιο σημείο σε αυτήν την εικόνα - δηλαδή, του στέλνουμε τυχαίες συντεταγμένες ως δύο σήματα. Και μετά ρωτάμε: "Αγαπητέ νευρώνα, αυτός είναι ο ουρανός ή η γη;" «Μείον ένα», απαντά το ομοίωμα, κοιτάζοντας γαλήνια το σύννεφο σωρευμάτων. «Είναι ξεκάθαρο ότι είναι γη».

«Το να δείχνεις με το δάχτυλο στον ουρανό» είναι η κύρια δραστηριότητα του περσεπτονίου. Δεν μπορείτε να περιμένετε καμία ακρίβεια από αυτόν: μπορείτε εξίσου εύκολα να γυρίσετε ένα νόμισμα. Η μαγεία ξεκινά στο επόμενο στάδιο, που ονομάζεται μηχανική μάθηση. Γνωρίζουμε τη σωστή απάντηση, που σημαίνει ότι μπορούμε να την γράψουμε στο πρόγραμμά μας. Αποδεικνύεται λοιπόν ότι για κάθε εσφαλμένη εικασία το perceptron λαμβάνει κυριολεκτικά μια ποινή, και για μια σωστή εικασία - ένα μπόνους: η "αξία" των εισερχόμενων σημάτων αυξάνεται ή μειώνεται. Μετά από αυτό, το πρόγραμμα εκτελείται νέα φόρμουλα. Αργά ή γρήγορα, ο νευρώνας αναπόφευκτα θα «καταλάβει» ότι η γη στη φωτογραφία είναι από κάτω και ο ουρανός είναι πάνω - δηλαδή, απλά θα αρχίσει να αγνοεί το σήμα από το κανάλι μέσω του οποίου μεταδίδονται οι συντεταγμένες x. Εάν ρίξετε μια άλλη φωτογραφία σε ένα τόσο εξελιγμένο ρομπότ, τότε μπορεί να μην βρει τη γραμμή του ορίζοντα, αλλά σίγουρα δεν θα μπερδέψει το επάνω μέρος με το κάτω μέρος.

Για να σχεδιάσετε μια ευθεία γραμμή, ο νευρώνας διασχίζει ολόκληρο το φύλλο

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

Τα πρώτα νευρωνικά δίκτυα

Τα perceptron δεν είναι πολύ πιο πολύπλοκα από οποιοδήποτε άλλο στοιχείο υπολογιστή που ανταλλάσσει μονάδες και μηδενικά. Δεν αποτελεί έκπληξη το γεγονός ότι η πρώτη συσκευή που βασίζεται στην αρχή ενός νευρωνικού δικτύου - το Mark I Perceptron - εμφανίστηκε ήδη το 1958, μόλις μια δεκαετία μετά τους πρώτους υπολογιστές. Όπως συνηθιζόταν εκείνη την εποχή, οι νευρώνες αυτής της ογκώδους συσκευής δεν αποτελούνταν από γραμμές κώδικα, αλλά από ραδιοσωλήνες και αντιστάσεις. Ο επιστήμονας Frank Rosenblatt μπόρεσε να κατασκευάσει μόνο δύο στρώματα του νευρωνικού δικτύου και τα σήματα στο Mark-1 στάλθηκαν από μια αυτοσχέδια οθόνη μέτρησης έως και 400 κουκκίδων. Η συσκευή έμαθε γρήγορα να αναγνωρίζει απλά γεωμετρικά σχήματα - πράγμα που σημαίνει ότι αργά ή γρήγορα ένας τέτοιος υπολογιστής θα μπορούσε να εκπαιδευτεί, για παράδειγμα, να διαβάζει γράμματα.

Ο Rosenblatt και το perceptron του

Ο Ρόζενμπλατ ήταν ένθερμος λάτρης της δουλειάς του: γνώριζε καλά τη νευροφυσιολογία και δίδαξε ένα δημοφιλές μάθημα διαλέξεων στο Πανεπιστήμιο Κορνέλ, στο οποίο εξήγησε λεπτομερώς σε όλους πώς να χρησιμοποιούν την τεχνολογία για να αναπαράγουν τις αρχές της λειτουργίας του εγκεφάλου. Ο επιστήμονας ήλπιζε ότι μέσα σε λίγα χρόνια, τα perceptron θα μετατραπούν σε πλήρως ευφυή ρομπότ: θα μπορούσαν να περπατήσουν, να μιλήσουν, να δημιουργήσουν το δικό τους είδος και ακόμη και να αποικίσουν άλλους πλανήτες. Ο ενθουσιασμός του Rosenblatt είναι κατανοητός: τότε οι επιστήμονες εξακολουθούσαν να πίστευαν ότι για να δημιουργηθεί τεχνητή νοημοσύνη αρκούσε να το αναπαραχθεί σε έναν υπολογιστή πλήρες σετπράξεις της μαθηματικής λογικής. Ο Τούρινγκ έχει ήδη προτείνει τη δική του διάσημο τεστ, ο Isaac Asimov ζήτησε να σκεφτούμε την ανάγκη για τους νόμους της ρομποτικής και η εξερεύνηση του Σύμπαντος φαινόταν να είναι θέμα του εγγύς μέλλοντος.

Ωστόσο, μεταξύ των πρωτοπόρων της κυβερνητικής υπήρχαν και αδιόρθωτοι σκεπτικιστές, ο πιο τρομερός από τους οποίους ήταν ο πρώην συμμαθητής του Ρόζενμπλατ, ο Μάρβιν Μίνσκι. Αυτός ο επιστήμονας είχε εξίσου δυνατή φήμη: ο ίδιος Ασίμοφ μιλούσε για αυτόν με συνεχή σεβασμό και ο Στάνλεϊ Κιούμπρικ τον προσκάλεσε ως σύμβουλο στα γυρίσματα της ταινίας «2001: Μια Οδύσσεια του Διαστήματος». Ακόμη και από το έργο του Kubrick είναι σαφές ότι στην πραγματικότητα ο Minsky δεν είχε τίποτα ενάντια στα νευρωνικά δίκτυα: το HAL 9000 αποτελείται ακριβώς από μεμονωμένους λογικούς κόμβους που λειτουργούν σε συνδυασμό μεταξύ τους. Ο ίδιος ο Μίνσκι άρχισε να ενδιαφέρεται για τη μηχανική μάθηση στη δεκαετία του 1950. Απλώς ο Μάρβιν ήταν ασυμβίβαστος για τα επιστημονικά λάθη και τις αβάσιμες ελπίδες: δεν ήταν τυχαίο που ο Ντάγκλας Άνταμς ονόμασε το απαισιόδοξο android του προς τιμήν του.

Σε αντίθεση με τη Rosenblatt, ο Minsky έζησε για να δει τον θρίαμβο της AI

Ο Μίνσκι συνόψισε τις αμφιβολίες των σκεπτικιστών εκείνης της εποχής στο βιβλίο "Perceptron" (1969), το οποίο για μεγάλο χρονικό διάστημα αποθάρρυνε το ενδιαφέρον για τα νευρωνικά δίκτυα από την επιστημονική κοινότητα. Ο Minsky απέδειξε μαθηματικά ότι το Mark-1 έχει δύο σοβαρά ελαττώματα. Πρώτον, ένα δίκτυο με δύο μόνο στρώματα δεν μπορούσε να κάνει σχεδόν τίποτα - και ήταν ήδη ένα τεράστιο ντουλάπι, που κατανάλωνε πολύ ηλεκτρική ενέργεια. Δεύτερον, οι αλγόριθμοι του Rosenblatt δεν ήταν κατάλληλοι για δίκτυα πολλαπλών επιπέδων: σύμφωνα με τον τύπο του, ορισμένες πληροφορίες σχετικά με σφάλματα δικτύου θα μπορούσαν να χαθούν χωρίς να φτάσουν ποτέ στο επιθυμητό επίπεδο.

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

Η εποχή της στασιμότητας

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

Αν και οι κανόνες λειτουργίας παρέμειναν οι ίδιοι, το πρόσημο άλλαξε: τώρα δεν επρόκειτο πλέον για «perceptrons», αλλά για «cognitive computing». Κανείς δεν κατασκεύαζε πια πειραματικά όργανα: τώρα όλοι απαραίτητες φόρμουλεςΉταν πιο εύκολο να το γράψετε με τη μορφή απλού κώδικα σε έναν κανονικό υπολογιστή και στη συνέχεια να επαναφέρετε το πρόγραμμα. Σε λίγα μόλις χρόνια, οι νευρώνες έμαθαν να συναρμολογούνται πολύπλοκες δομές. Για παράδειγμα, ορισμένα στρώματα αναζήτησαν συγκεκριμένα γεωμετρικά σχήματα στην εικόνα, ενώ άλλα συνόψισαν τα δεδομένα που ελήφθησαν. Έτσι καταφέραμε να μάθουμε στους υπολογιστές να διαβάζουν ανθρώπινη γραφή. Σύντομα άρχισαν να εμφανίζονται ακόμη και δίκτυα αυτομάθησης που δεν έλαβαν τις «σωστές απαντήσεις» από τους ανθρώπους, αλλά τους βρήκαν οι ίδιοι. Τα νευρωνικά δίκτυα άρχισαν αμέσως να χρησιμοποιούνται στην πράξη: ένα πρόγραμμα που αναγνώριζε αριθμούς στις επιταγές υιοθετήθηκε με χαρά από τις αμερικανικές τράπεζες.

1993: Η captcha είναι ήδη ξεπερασμένη

Μέχρι τα μέσα της δεκαετίας του 1990, οι ερευνητές συμφώνησαν ότι τα περισσότερα χρήσιμη ιδιότητανευρωνικά δίκτυα - η ικανότητά τους να βρίσκουν ανεξάρτητα τις σωστές λύσεις. Η μέθοδος δοκιμής και σφάλματος επιτρέπει στο πρόγραμμα να αναπτύξει τους δικούς του κανόνες συμπεριφοράς. Τότε ήταν που άρχισαν να μπαίνουν στη μόδα οι διαγωνισμοί σπιτικά ρομπότ, τα οποία προγραμματίστηκαν και εκπαιδεύτηκαν από ενθουσιώδεις σχεδιαστές. Και το 1997, ο υπερυπολογιστής Deep Blue συγκλόνισε τους λάτρεις του σκακιού νικώντας τον παγκόσμιο πρωταθλητή Garry Kasparov.

Αυστηρά μιλώντας, η Deep Blue δεν έμαθε από τα λάθη της, αλλά απλώς δοκίμασε εκατομμύρια συνδυασμούς

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

Η δεύτερη «απόψυξη» του AI συνέβη μόνο όταν άλλαξε η ίδια η φιλοσοφία προγραμματισμού.

Τα νευρωνικά δίκτυα των ημερών μας

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

Φυσικά, για τα συνηθισμένα προγράμματα αυτό είναι ένα σοβαρό πρόβλημα - αλλά αυτή είναι ακριβώς η αφθονία που έλειπε από τα νευρωνικά δίκτυα! Οι επιστήμονες γνωρίζουν από καιρό ότι εάν δεν εξοικονομήσετε πόρους, τα πιο περίπλοκα προβλήματα αρχίζουν να λύνονται σαν μόνα τους. Άλλωστε, έτσι ακριβώς λειτουργούν όλοι οι νόμοι της φύσης, από την κβαντική φυσική μέχρι την εξέλιξη: αν επαναλάβετε αμέτρητα τυχαία γεγονότα ξανά και ξανά, επιλέγοντας τις πιο σταθερές επιλογές, τότε ένα αρμονικό και τακτοποιημένο σύστημα θα γεννηθεί από το χάος. Τώρα η ανθρωπότητα έχει επιτέλους ένα εργαλείο στα χέρια της που μας επιτρέπει να μην περιμένουμε δισεκατομμύρια χρόνια για αλλαγές, αλλά να διδάξουμε πολύπλοκα συστήματακυριολεκτικά εν κινήσει.

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

Και έτσι συνέβη η τρίτη έλευση των perceptrons - αυτή τη φορά με τα γνωστά ονόματα «νευρωνικά δίκτυα» και «deep learning». Δεν αποτελεί έκπληξη το γεγονός ότι τα νέα σχετικά με τις επιτυχίες της τεχνητής νοημοσύνης κοινοποιούνται συχνότερα από μεγάλες εταιρείες όπως η Google και η IBM. Ο κύριος πόρος τους είναι τεράστια κέντρα δεδομένων, όπου τα πολυεπίπεδα νευρωνικά δίκτυα μπορούν να εκπαιδευτούν σε ισχυρούς διακομιστές. Η εποχή της μηχανικής μάθησης έχει ξεκινήσει πραγματικά αυτή τη στιγμή, επειδή το Διαδίκτυο και τα κοινωνικά δίκτυα έχουν επιτέλους συσσωρεύσει το ίδιο μεγάλα δεδομένα, δηλαδή, γιγαντιαίες ποσότητες πληροφοριών που τροφοδοτούνται σε νευρωνικά δίκτυα για εκπαίδευση.

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

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

Οι υπολογιστές έχουν κάνει τόση πρόοδο στην ψυχαγωγία όσο και στην επιστήμη. Χάρη στη μηχανική μάθηση, τελικά υπέκυψαν σε παιχνίδια για τα οποία είναι ακόμα πιο δύσκολο να βρεθούν αλγόριθμοι νίκης από ό,τι για το σκάκι. Πρόσφατα, το νευρωνικό δίκτυο AlphaGo νίκησε έναν από τους καλύτερους παίκτες Go στον κόσμο και το πρόγραμμα Libratus κέρδισε ένα επαγγελματικό τουρνουά πόκερ. Επιπλέον, η τεχνητή νοημοσύνη κάνει ήδη σταδιακά τον δρόμο της στον κινηματογράφο: για παράδειγμα, οι δημιουργοί της σειράς House of Cards χρησιμοποίησαν μεγάλα δεδομένα κατά τη διάρκεια του casting για να επιλέξουν το πιο δημοφιλές καστ.

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

«Είσαι απλά μια μηχανή. Απλώς μια μίμηση ζωής. Μπορεί ένα ρομπότ να συνθέσει μια συμφωνία; Θα μετατρέψει ένα ρομπότ ένα κομμάτι καμβά σε αριστούργημα τέχνης;» ("Εγώ, ρομπότ")

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

Παιχνίδια με bots

Είναι πολύ διασκεδαστικό να διασκεδάζεις με υποεκπαιδευμένα νευρωνικά δίκτυα: μερικές φορές παράγουν σφάλματα που ούτε καν ονειρευόσουν. Και αν το AI αρχίσει να μαθαίνει, εμφανίζεται ενθουσιασμός: «Μπορεί πραγματικά να το κάνει;» Επομένως, τα διαδικτυακά παιχνίδια με νευρωνικά δίκτυα κερδίζουν πλέον δημοτικότητα.

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

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

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

Η επανάσταση αναβάλλεται

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

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

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

Ένα στρώμα ξέρει να αναγνωρίζει ανθρώπους, ένα άλλο - τραπέζια, ένα τρίτο - μαχαίρια...

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

Επιπλέον, οι ερευνητές συμβουλεύουν να είστε προσεκτικοί με τις ηχηρές δηλώσεις από την Google και την IBM. Δεν έχουν σημειωθεί θεμελιώδεις ανακαλύψεις στον «γνωστικό υπολογισμό» από τη δεκαετία του 1980: οι υπολογιστές εξακολουθούν να επεξεργάζονται μηχανικά τα εισερχόμενα δεδομένα και να παράγουν αποτελέσματα. Ένα νευρωνικό δίκτυο είναι ικανό να βρει ένα μοτίβο που ένα άτομο δεν θα παρατηρούσε, αλλά αυτό το μοτίβο μπορεί να αποδειχθεί τυχαίο. Το μηχάνημα μπορεί να μετρήσει πόσες φορές αναφέρονται τα Όσκαρ στο Twitter, αλλά δεν θα είναι σε θέση να προσδιορίσει εάν οι χρήστες είναι ευχαριστημένοι με τα αποτελέσματα ή αν διαφωνούν με την επιλογή της ακαδημίας.

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

Ιστορίες για το Skynet


Αν και εμείς οι ίδιοι δυσκολευόμαστε να αντισταθούμε στην ειρωνεία σχετικά με το θέμα της εξέγερσης των ρομπότ, οι σοβαροί επιστήμονες δεν πρέπει καν να ρωτούν για σενάρια από το "The Matrix" ή τον "Terminator": είναι σαν να ρωτάμε έναν αστρονόμο αν έχει δει UFO. Ο ερευνητής τεχνητής νοημοσύνης Eliezer Yudkowsky, γνωστός για το μυθιστόρημά του "", έχει γράψει μια σειρά άρθρων εξηγώντας γιατί ανησυχούμε τόσο πολύ για την άνοδο των μηχανών - και τι πρέπει πραγματικά να φοβόμαστε.

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

Δεν πρέπει να φοβόμαστε τους εχθρούς, αλλά τους υπερβολικούς φίλους. Οποιοδήποτε νευρωνικό δίκτυο έχει ένα κίνητρο: αν το AI πρέπει να λυγίσει συνδετήρες, τότε όσο περισσότερα κάνει, τόσο περισσότερες «ανταμοιβές» θα λάβει. Εάν δώσετε σε μια καλά βελτιστοποιημένη τεχνητή νοημοσύνη πάρα πολλούς πόρους, δεν θα διστάσει να λιώσει όλο το γύρω σίδηρο σε συνδετήρες, μετά τους ανθρώπους, τη Γη και ολόκληρο το Σύμπαν. Ακούγεται τρελό - αλλά μόνο για τα ανθρώπινα γούστα! Ετσι κύριο καθήκονμελλοντικοί δημιουργοί της τεχνητής νοημοσύνης - να γράψουν έναν τόσο αυστηρό ηθικό κώδικα που ακόμη και ένα πλάσμα με απεριόριστη φαντασία δεν μπορούσε να βρει «τρύπες» σε αυτό.

* * *

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

DIY


Ένα νευρωνικό δίκτυο μπορεί να γίνει χρησιμοποιώντας σπιρτόκουτα - τότε θα έχετε ένα κόλπο στο οπλοστάσιό σας που μπορείτε να χρησιμοποιήσετε για να διασκεδάσετε τους καλεσμένους στα πάρτι. Οι συντάκτες του MirF το έχουν ήδη δοκιμάσει - και ταπεινά αναγνωρίζουν την ανωτερότητα της τεχνητής νοημοσύνης. Ας διδάξουμε την παράλογη ύλη να παίζει το παιχνίδι «11 ραβδιά». Οι κανόνες είναι απλοί: υπάρχουν 11 αγώνες στο τραπέζι και σε κάθε κίνηση μπορείτε να πάρετε είτε έναν είτε δύο. Αυτός που πήρε το τελευταίο κερδίζει. Πώς να παίξετε αυτό ενάντια στον "υπολογιστή"; Πολύ απλό.

  1. Πάρτε 10 κουτιά ή φλιτζάνια. Σε καθένα γράφουμε έναν αριθμό από το 2 έως το 11.
  2. Βάζουμε δύο βότσαλα σε κάθε κουτί - ασπρόμαυρο. Μπορείτε να χρησιμοποιήσετε οποιαδήποτε αντικείμενα, αρκεί να είναι διαφορετικά μεταξύ τους. Αυτό ήταν - έχουμε ένα δίκτυο δέκα νευρώνων!

Τώρα αρχίζει το παιχνίδι.

  1. Το νευρωνικό δίκτυο είναι πάντα πρώτο. Πρώτα, κοιτάξτε πόσα σπίρτα έχουν απομείνει και πάρτε ένα κουτί με αυτόν τον αριθμό. Στην πρώτη κίνηση θα είναι το κουτί με αριθμό 11.
  2. Πάρτε οποιοδήποτε βότσαλο από το κουτί που θέλετε. Μπορείτε να κλείσετε τα μάτια σας ή να ρίξετε ένα νόμισμα, το κύριο πράγμα είναι να ενεργήσετε τυχαία.
  3. Εάν η πέτρα είναι λευκή, το νευρωνικό δίκτυο αποφασίζει να πάρει δύο σπίρτα. Αν μαύρο - ένα. Τοποθετήστε ένα βότσαλο δίπλα στο κουτί για να μην ξεχάσετε ποιος «νευρώνας» πήρε την απόφαση.
  4. Μετά από αυτό, το άτομο περπατά - και ούτω καθεξής μέχρι να τελειώσουν οι αγώνες.

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

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

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

Τι είναι ένα νευρωνικό δίκτυο;


Ένα νευρωνικό δίκτυο είναι μια ακολουθία νευρώνων που συνδέονται με συνάψεις. Η δομή ενός νευρωνικού δικτύου ήρθε στον κόσμο του προγραμματισμού κατευθείαν από τη βιολογία. Χάρη σε αυτή τη δομή, το μηχάνημα αποκτά την ικανότητα να αναλύει, ακόμη και να θυμάται διάφορες πληροφορίες. Τα νευρωνικά δίκτυα είναι επίσης ικανά όχι μόνο να αναλύουν τις εισερχόμενες πληροφορίες, αλλά και να τις αναπαράγουν από τη μνήμη τους. Για όσους ενδιαφέρονται, μην παραλείψετε να παρακολουθήσετε 2 βίντεο από το TED Talks: Βίντεο 1 , Βίντεο 2). Με άλλα λόγια, ένα νευρωνικό δίκτυο είναι μια μηχανική ερμηνεία του ανθρώπινου εγκεφάλου, που περιέχει εκατομμύρια νευρώνες που μεταδίδουν πληροφορίες με τη μορφή ηλεκτρικών παλμών.

Τι είδη νευρωνικών δικτύων υπάρχουν;

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

Σε τι χρησιμεύουν τα νευρωνικά δίκτυα;

Τα νευρωνικά δίκτυα χρησιμοποιούνται για την επίλυση πολύπλοκων προβλημάτων που απαιτούν αναλυτικούς υπολογισμούς παρόμοιους με αυτούς που κάνει ο ανθρώπινος εγκέφαλος. Οι πιο κοινές εφαρμογές των νευρωνικών δικτύων είναι:

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

Προφητεία- την ικανότητα πρόβλεψης του επόμενου βήματος. Για παράδειγμα, η άνοδος ή η πτώση των μετοχών με βάση την κατάσταση στο χρηματιστήριο.

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

Τώρα, για να κατανοήσουμε πώς λειτουργούν τα νευρωνικά δίκτυα, ας ρίξουμε μια ματιά στα συστατικά τους και τις παραμέτρους τους.

Τι είναι ένας νευρώνας;


Ένας νευρώνας είναι μια υπολογιστική μονάδα που λαμβάνει πληροφορίες, εκτελεί απλούς υπολογισμούς σε αυτές και τις μεταδίδει περαιτέρω. Χωρίζονται σε τρεις κύριους τύπους: είσοδο (μπλε), κρυφό (κόκκινο) και έξοδο (πράσινο). Υπάρχει επίσης ένας νευρώνας μετατόπισης και ένας νευρώνας περιβάλλοντος, για τους οποίους θα μιλήσουμε στο επόμενο άρθρο. Στην περίπτωση που ένα νευρωνικό δίκτυο αποτελείται από μεγάλο αριθμό νευρώνων, εισάγεται ο όρος στρώμα. Αντίστοιχα, υπάρχει ένα επίπεδο εισόδου που λαμβάνει πληροφορίες, n κρυφά επίπεδα (συνήθως όχι περισσότερα από 3) που τις επεξεργάζονται και ένα επίπεδο εξόδου που εξάγει το αποτέλεσμα. Κάθε νευρώνας έχει 2 κύριες παραμέτρους: δεδομένα εισόδου και δεδομένα εξόδου. Στην περίπτωση νευρώνα εισόδου: είσοδος=έξοδος. Στα υπόλοιπα, το πεδίο εισαγωγής περιέχει τις συνολικές πληροφορίες όλων των νευρώνων από το προηγούμενο επίπεδο, μετά από το οποίο κανονικοποιείται χρησιμοποιώντας τη συνάρτηση ενεργοποίησης (προς το παρόν ας το φανταστούμε απλώς ως f(x)) και καταλήγει στο πεδίο εξόδου.


Σημαντικό να θυμάστεότι οι νευρώνες λειτουργούν με αριθμούς στην περιοχή ή [-1,1]. Αλλά πώς, ρωτάτε, στη συνέχεια επεξεργάζονται αριθμούς που βρίσκονται εκτός αυτού του εύρους; Σε αυτό το σημείο, η απλούστερη απάντηση είναι να διαιρέσουμε το 1 με αυτόν τον αριθμό. Αυτή η διαδικασία ονομάζεται κανονικοποίηση και χρησιμοποιείται πολύ συχνά σε νευρωνικά δίκτυα. Περισσότερα για αυτό λίγο αργότερα.

Τι είναι η σύναψη;


Μια σύναψη είναι μια σύνδεση μεταξύ δύο νευρώνων. Οι συνάψεις έχουν 1 παράμετρο - βάρος. Χάρη σε αυτόν, πληροφορίες εισαγωγήςαλλάζει όταν μεταδίδεται από τον ένα νευρώνα στον άλλο. Ας υποθέσουμε ότι υπάρχουν 3 νευρώνες που μεταδίδουν πληροφορίες στον επόμενο. Τότε έχουμε 3 βάρη που αντιστοιχούν σε καθέναν από αυτούς τους νευρώνες. Για τον νευρώνα του οποίου το βάρος είναι μεγαλύτερο, αυτή η πληροφορία θα είναι κυρίαρχη στον επόμενο νευρώνα (για παράδειγμα, ανάμειξη χρωμάτων). Στην πραγματικότητα, το σύνολο των βαρών ενός νευρωνικού δικτύου ή η μήτρα βάρους είναι ένα είδος εγκεφάλου ολόκληρου του συστήματος. Χάρη σε αυτά τα βάρη, οι πληροφορίες εισόδου υποβάλλονται σε επεξεργασία και μετατρέπονται σε αποτέλεσμα.

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

Πώς λειτουργεί ένα νευρωνικό δίκτυο;


ΣΕ σε αυτό το παράδειγμαδείχνει μέρος ενός νευρωνικού δικτύου, όπου τα γράμματα I δηλώνουν νευρώνες εισόδου, το γράμμα H υποδηλώνει έναν κρυφό νευρώνα και το γράμμα w υποδηλώνει βάρη. Ο τύπος δείχνει ότι οι πληροφορίες εισόδου είναι το άθροισμα όλων των δεδομένων εισόδου πολλαπλασιαζόμενο με τα αντίστοιχα βάρη τους. Τότε θα δώσουμε το 1 και το 0 ως είσοδο Έστω w1=0,4 και w2 = 0,7 Τα δεδομένα εισόδου του νευρώνα H1 θα είναι τα εξής: 1*0,4+0*0,7=0,4. Τώρα που έχουμε την είσοδο, μπορούμε να πάρουμε την έξοδο συνδέοντας την είσοδο στη λειτουργία ενεργοποίησης (περισσότερα για αυτό αργότερα). Τώρα που έχουμε το αποτέλεσμα, το μεταβιβάζουμε. Και έτσι, επαναλαμβάνουμε για όλα τα επίπεδα μέχρι να φτάσουμε στον νευρώνα εξόδου. Έχοντας ξεκινήσει ένα τέτοιο δίκτυο για πρώτη φορά, θα δούμε ότι η απάντηση απέχει πολύ από το να είναι σωστή, επειδή το δίκτυο δεν είναι εκπαιδευμένο. Για να βελτιώσουμε τα αποτελέσματα θα την εκπαιδεύσουμε. Αλλά προτού μάθουμε πώς να το κάνουμε αυτό, ας εισαγάγουμε μερικούς όρους και ιδιότητες ενός νευρωνικού δικτύου.

Λειτουργία ενεργοποίησης

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

Γραμμική συνάρτηση


Αυτή η συνάρτηση δεν χρησιμοποιείται σχεδόν ποτέ, εκτός εάν χρειάζεται να δοκιμάσετε ένα νευρωνικό δίκτυο ή να περάσετε μια τιμή χωρίς μετατροπή.

Σιγμοειδές


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

Υπερβολική εφαπτομένη


Έχει νόημα να χρησιμοποιείτε υπερβολική εφαπτομένη μόνο όταν οι τιμές σας μπορεί να είναι αρνητικές και θετικές, καθώς το εύρος της συνάρτησης είναι [-1,1]. Δεν συνιστάται η χρήση αυτής της λειτουργίας μόνο με θετικές τιμές, καθώς αυτό θα επιδεινώσει σημαντικά τα αποτελέσματα του νευρωνικού σας δικτύου.

Σετ προπόνησης

Ένα σύνολο εκπαίδευσης είναι μια ακολουθία δεδομένων πάνω στην οποία λειτουργεί ένα νευρωνικό δίκτυο. Στην περίπτωσή μας του αποκλεισμού ή (xor), έχουμε μόνο 4 διαφορετικά αποτελέσματα, δηλαδή θα έχουμε 4 σετ προπόνησης: 0xor0=0, 0xor1=1, 1xor0=1,1xor1=0.

Επανάληψη

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

εποχή

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


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

Σφάλμα

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

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

Θεωρία

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

Οι μετασχηματισμοί που συμβαίνουν στο επίπεδο των μεμονωμένων νευρώνων είναι πολύ απλοί, αλλά ακόμη και τα πολύ μικρά νευρωνικά δίκτυα είναι ικανά για πολλά. Ολόκληρη η ποικιλομορφία της συμπεριφοράς του σκουληκιού Caenorhabditis elegans - κίνηση, αναζήτηση τροφής, διάφορες αντιδράσεις σε εξωτερικά ερεθίσματα και πολλά άλλα - κωδικοποιείται σε τριακόσιους μόλις νευρώνες. Και εντάξει σκουλήκια! Ακόμη και τα μυρμήγκια χρειάζονται 250 χιλιάδες νευρώνες και αυτό που κάνουν είναι σίγουρα πέρα ​​από τις δυνατότητες των μηχανών.

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

Ηλεκτρομηχανικός εγκέφαλος με κινητήρα

Η μηχανή του Rosenblatt ονομαζόταν Mark I Perceptron. Σχεδιάστηκε για την αναγνώριση εικόνων, μια εργασία στην οποία οι υπολογιστές εξακολουθούν να επιτελούν μόνο τόσο πολύ. Ο Mark I ήταν εξοπλισμένος με μια όψη αμφιβληστροειδούς: τετράγωνη μήτρααπό 400 φωτοκύτταρα, είκοσι κάθετα και είκοσι οριζόντια. Τα φωτοκύτταρα συνδέθηκαν τυχαία με ηλεκτρονικά μοντέλα νευρώνων και αυτά, με τη σειρά τους, συνδέθηκαν σε οκτώ εξόδους. Η Rosenblatt χρησιμοποίησε ποτενσιόμετρα ως συνάψεις που συνδέουν ηλεκτρονικούς νευρώνες, φωτοκύτταρα και εξόδους. Κατά την εκπαίδευση του perceptron, 512 βηματικοί κινητήρες περιστρέφουν αυτόματα τα πόμολα του ποτενσιόμετρου, προσαρμόζοντας την τάση στους νευρώνες ανάλογα με την ακρίβεια του αποτελέσματος εξόδου.

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

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

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

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

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

Πρακτική

Λοιπόν, ας προσπαθήσουμε να δημιουργήσουμε ένα απλό νευρωνικό δίκτυο με τα χέρια μας και να καταλάβουμε πώς λειτουργεί καθώς προχωράμε. Θα χρησιμοποιήσουμε την Python με τη βιβλιοθήκη Numpy (θα μπορούσαμε να κάνουμε χωρίς Numpy, αλλά με τη γραμμική άλγεβρα Numpy θα χρειαστεί λιγότερη προσπάθεια). Το εν λόγω παράδειγμα βασίζεται σε κώδικα από τον Andrew Trask.

Θα χρειαστούμε συναρτήσεις για να υπολογίσουμε το σιγμοειδές και την παράγωγό του:

Η συνέχεια είναι διαθέσιμη μόνο σε συνδρομητές

Επιλογή 1. Εγγραφείτε στο Hacker για να διαβάσετε όλο το υλικό στον ιστότοπο

Η συνδρομή θα σας επιτρέψει να καθορισμένη περίοδοδιαβάστε ΟΛΟ το υλικό επί πληρωμή στον ιστότοπο. Δεχόμαστε πληρωμήτραπεζικές κάρτες



, ηλεκτρονικό χρήμα και μεταφορές από λογαριασμούς παρόχου κινητής τηλεφωνίας.

Κορυφή