Το Deep Learning Neural Networks εξηγείται στα Απλά Αγγλικά

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

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

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

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

Η ιστορία της βαθιάς μάθησης

Η βαθιά μάθηση αντιλήφθηκε από τον Geoffrey Hinton στη δεκαετία του 1980. Θεωρείται ευρέως ο ιδρυτής του τομέα της βαθιάς μάθησης. Ο Hinton εργάστηκε στην Google από τον Μάρτιο του 2013 όταν εξαγοράστηκε η εταιρεία του, DNNresearch Inc.

Η βασική συμβολή του Hinton στον τομέα της βαθιάς μάθησης ήταν η σύγκριση τεχνικών μηχανικής μάθησης με τον ανθρώπινο εγκέφαλο.

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

Η δομή που δημιούργησε ο Χίντιν ονομάστηκε τεχνητό νευρικό δίκτυο (ή συνθετικό τεχνητό νευρικό δίκτυο) Ακολουθεί μια σύντομη περιγραφή του τρόπου λειτουργίας τους:

  • Τα τεχνητά νευρικά δίκτυα αποτελούνται από στρώματα κόμβων
  • Κάθε κόμβος έχει σχεδιαστεί για να συμπεριφέρεται παρόμοια με έναν νευρώνα στον εγκέφαλο
  • Το πρώτο στρώμα ενός νευρικού διχτυού ονομάζεται inputστρώμα, ακολουθούμενο από hiddenστρώματα και τέλος το outputστρώμα
  • Κάθε κόμβος στο νευρικό δίχτυ εκτελεί κάποιο είδος υπολογισμού, ο οποίος μεταφέρεται σε άλλους κόμβους βαθύτερα στο νευρικό δίχτυ

Ακολουθεί μια απλοποιημένη οπτικοποίηση για να δείξει πώς λειτουργεί:

Μια απεικόνιση ενός τεχνητού νευρικού δικτύου

Τα νευρικά δίχτυα αντιπροσώπευαν μια τεράστια πρόοδο προς τα εμπρός στον τομέα της βαθιάς μάθησης.

Ωστόσο, χρειάστηκαν δεκαετίες για την εκμάθηση της μηχανικής (και ιδιαίτερα της βαθιάς μάθησης).

Θα διερευνήσουμε γιατί στην επόμενη ενότητα.

Γιατί η βαθιά μάθηση δεν λειτούργησε αμέσως

Εάν η βαθιά μάθηση είχε αρχικά σχεδιαστεί πριν από δεκαετίες, γιατί μόλις αρχίζει να κερδίζει δυναμική σήμερα;

Είναι επειδή κάθε ώριμο μοντέλο βαθιάς μάθησης απαιτεί αφθονία δύο πόρων:

  • Δεδομένα
  • Υπολογιστική ισχύς

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

Κατανόηση των νευρώνων στη βαθιά μάθηση

Οι νευρώνες είναι ένα κρίσιμο συστατικό οποιουδήποτε μοντέλου βαθιάς μάθησης.

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

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

Τι είναι ο νευρώνας στη βιολογία;

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

Η ανατομία ενός νευρώνα στον εγκέφαλο

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

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

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

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

Ο dendritesένας νευρώνας συνδέεται με τον axonάλλο νευρώνα. Αυτές οι συνδέσεις ονομάζονται synapses, η οποία είναι μια έννοια που έχει γενικευτεί στον τομέα της βαθιάς μάθησης.

Τι είναι ο νευρώνας στη βαθιά μάθηση;

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

Οι νευρώνες λειτουργούν έτσι:

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

Εδώ είναι ένα διάγραμμα της λειτουργικότητας ενός νευρώνα σε ένα νευρικό δίχτυ βαθιάς μάθησης:

Η λειτουργία ενός νευρώνα σε ένα μοντέλο βαθιάς μάθησης

Ας ακολουθήσουμε αυτό το διάγραμμα βήμα προς βήμα.

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

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

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

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

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

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

Λειτουργίες ενεργοποίησης βαθιάς μάθησης

Οι λειτουργίες ενεργοποίησης είναι μια βασική ιδέα για κατανόηση στη βαθιά μάθηση.

Είναι αυτό που επιτρέπει στους νευρώνες ενός νευρικού δικτύου να επικοινωνούν μεταξύ τους μέσω των συνάψεών τους.

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

Ποιες είναι οι λειτουργίες ενεργοποίησης στη βαθιά μάθηση;

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

Υπάρχουν τέσσερις κύριοι τύποι λειτουργιών ενεργοποίησης που θα συζητήσουμε σε αυτό το σεμινάριο:

  • Λειτουργίες κατωφλίου
  • Σιγμοειδείς λειτουργίες
  • Λειτουργίες ανορθωτή ή ReLUs
  • Υπερβολικές εφαπτομενικές λειτουργίες

Ας δουλέψουμε αυτές τις λειτουργίες ενεργοποίησης μία προς μία.

Λειτουργίες κατωφλίου

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

Μαθηματικά μιλώντας, εδώ είναι ο επίσημος ορισμός μιας συνάρτησης βαθμού εκμάθησης:

Λειτουργίες κατωφλίου

Όπως υποδηλώνει η παραπάνω εικόνα, η συνάρτηση κατωφλίου καλείται επίσης μερικές φορές a unit step function.

Οι συναρτήσεις κατωφλίου είναι παρόμοιες με τις δυαδικές μεταβλητές στον προγραμματισμό υπολογιστών. Η υπολογισμένη τιμή τους είναι 1(παρόμοια με True) ή 0(ισοδύναμη με False).

Η συνάρτηση Sigmoid

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

Η συνάρτηση σιγμοειδούς μπορεί να δεχτεί οποιαδήποτε τιμή, αλλά υπολογίζει πάντα μια τιμή μεταξύ 0και 1.

Εδώ είναι ο μαθηματικός ορισμός της σιγμοειδούς συνάρτησης:

Σιγμοειδείς λειτουργίες

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

Η λειτουργία ανορθωτή

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

Η λειτουργία ανορθωτή ορίζεται ως εξής:

  • Εάν η τιμή εισόδου είναι μικρότερη από 0, τότε η συνάρτηση εξέρχεται0
  • Εάν όχι, η συνάρτηση εξάγει την τιμή εισόδου της

Εδώ εξηγείται μαθηματικά αυτή η έννοια:

Λειτουργίες ανορθωτή

Οι λειτουργίες ανορθωτή ονομάζονται συχνά Rectified Linear Unitλειτουργίες ενεργοποίησης ή ReLUsγια συντομία.

Η Λειτουργία Υπερβολικής Εφαπτομένης

Η συνάρτηση υπερβολικής εφαπτομένης είναι η μόνη συνάρτηση ενεργοποίησης που περιλαμβάνεται σε αυτό το σεμινάριο που βασίζεται σε τριγωνομετρική ταυτότητα.

Ο μαθηματικός ορισμός είναι παρακάτω:

Λειτουργία υπερβολικής εφαπτομένης

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

Πώς λειτουργούν πραγματικά τα νευρικά δίκτυα;

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

  • Νευρώνες
  • Λειτουργίες ενεργοποίησης

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

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

Το παράδειγμα που θα χρησιμοποιήσουμε σε αυτό το σεμινάριο

Αυτό το σεμινάριο θα λειτουργεί μέσα από ένα πραγματικό παράδειγμα βήμα προς βήμα, ώστε να μπορείτε να καταλάβετε πώς τα νευρικά δίκτυα κάνουν προβλέψεις.

Πιο συγκεκριμένα, θα ασχοληθούμε με τις εκτιμήσεις ακινήτων.

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

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

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

Οι παράμετροι στο σύνολο δεδομένων μας

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

  • Τετραγωνικά πλάνα
  • Υπνοδωμάτια
  • Απόσταση από το κέντρο της πόλης
  • Ηλικία σπιτιού

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

Η πιο βασική μορφή ενός νευρικού δικτύου

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

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

Ένα βασικό νευρωνικό δίκτυο

Ενώ αυτό το διάγραμμα είναι λίγο αφηρημένο, το θέμα είναι ότι τα περισσότερα νευρικά δίκτυα μπορούν να απεικονιστούν με αυτόν τον τρόπο:

  • Ένα επίπεδο εισόδου
  • Ενδεχομένως μερικά κρυμμένα στρώματα
  • Ένα επίπεδο εξόδου

Είναι το κρυφό στρώμα των νευρώνων που κάνει τα νευρικά δίκτυα να είναι τόσο ισχυρά για τον υπολογισμό των προβλέψεων.

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

Ο σκοπός των νευρώνων στο κρυφό στρώμα ενός νευρικού δικτύου

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

Σε γενικές γραμμές, οι νευρώνες στα κρυμμένα στρώματα ενός νευρικού δικτύου ενεργοποιούνται (δηλαδή η λειτουργία ενεργοποίησης επιστρέφει 1) για μια τιμή εισόδου που ικανοποιεί ορισμένες υπο-ιδιότητες.

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

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

Πώς καθορίζουν οι νευρώνες τις τιμές εισόδου τους

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

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

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

Οπτικοποίηση της διαδικασίας πρόβλεψης ενός νευρικού δικτύου

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

Η παρακάτω εικόνα θα σας βοηθήσει να το ορίσετε:

Ένα ολοκληρωμένο νευρωνικό δίκτυο

Όπως μπορείτε να δείτε, δεν έχει κάθε σύναψη κάθε ζεύγος νευρώνων-νευρώνων. x4τροφοδοτεί μόνο τρεις από τους πέντε νευρώνες στο κρυφό στρώμα, για παράδειγμα. Αυτό απεικονίζει ένα σημαντικό σημείο κατά τη δημιουργία νευρωνικών δικτύων - ότι δεν πρέπει να χρησιμοποιείται κάθε νευρώνας σε ένα προηγούμενο στρώμα στο επόμενο στρώμα ενός νευρικού δικτύου.

Πώς εκπαιδεύονται τα νευρικά δίκτυα

Μέχρι στιγμής έχετε μάθει τα ακόλουθα για τα νευρικά δίκτυα:

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

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

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

Hard-Coding vs. Soft-Coding

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

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

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

Ένα συγκεκριμένο παράδειγμα είναι χρήσιμο εδώ. Ακολουθούν δύο περιπτώσεις για το πώς θα μπορούσατε να αναγνωρίσετε γάτες σε ένα σύνολο δεδομένων χρησιμοποιώντας τεχνικές soft-coding και hard-coding.

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

Όπως μπορείτε να φανταστείτε, η εκπαίδευση των νευρικών δικτύων εμπίπτει στην κατηγορία των soft-coding Λάβετε υπόψη αυτό καθώς προχωράτε σε αυτό το μάθημα.

Εκπαίδευση ενός νευρικού δικτύου χρησιμοποιώντας συνάρτηση κόστους

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

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

Εξίσωση συνάρτησης κόστους

Σημείωση: αυτή η συνάρτηση κόστους ονομάζεται mean squared error, γι 'αυτό υπάρχει ένα MSE στην αριστερή πλευρά του ίσου σημείου.

Παρόλο που υπάρχουν πολλά μαθηματικά τύπου σε αυτήν την εξίσωση, συνοψίζεται καλύτερα ως εξής:

Take the difference between the predicted output value of an observation and the actual output value of that observation. Square that difference and divide it by 2.

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

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

Τροποποίηση ενός νευρικού δικτύου

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

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

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

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

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

Τελικές σκέψεις

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

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

Μπορείτε να αναπτύξετε τον κωδικό από το eBook στο GitHub ή στο προσωπικό σας χαρτοφυλάκιο για να το δείξετε σε μελλοντικούς εργοδότες. Το βιβλίο θα κυκλοφορήσει στις 3 Αυγούστου - προπαραγγείλετε το με έκπτωση 50% τώρα!