στέλεχος Τι είναι τα CNN (Συνελικτικά Νευρωνικά Δίκτυα); - Unite.AI
Συνδεθείτε μαζί μας
Masterclass AI:

AI 101

Τι είναι τα CNN (Συνελικτικά Νευρωνικά Δίκτυα);

mm
Ενημερώθηκε on

Ίσως έχετε αναρωτηθεί πώς το Facebook ή το Instagram είναι σε θέση να αναγνωρίζουν αυτόματα πρόσωπα σε μια εικόνα ή πώς η Google σάς επιτρέπει να αναζητάτε παρόμοιες φωτογραφίες στον ιστό, απλώς ανεβάζοντας μια δική σας φωτογραφία. Αυτές οι δυνατότητες είναι παραδείγματα υπολογιστικής όρασης και τροφοδοτούνται από συνελικτικά νευρωνικά δίκτυα (CNN). Τι ακριβώς είναι όμως τα συνελικτικά νευρωνικά δίκτυα; Ας ρίξουμε μια βαθιά βουτιά στην αρχιτεκτονική ενός CNN και ας καταλάβουμε πώς λειτουργούν.

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

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

Έτσι λειτουργεί ένα νευρωνικό δίκτυο τροφοδοσίας και τα CNN αποτελούνται από δύο μισά: ένα νευρωνικό δίκτυο τροφοδοσίας και μια ομάδα συνελικτικών στρωμάτων.

Τι είναι τα νευρωνικά δίκτυα συνέλιξης (CNN);

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

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

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

Γιατί οι συνελίξεις είναι απαραίτητες

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

Φίλτρα και κανάλια

Φωτογραφία: cecebur μέσω Wikimedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Convolutional_Neural_Network_NeuralNetworkFeatureLayers.gif)

Τα CNN δεν χρησιμοποιούν μόνο ένα φίλτρο για να μάθουν μοτίβα από τις εικόνες εισόδου. Χρησιμοποιούνται πολλαπλά φίλτρα, καθώς οι διαφορετικοί πίνακες που δημιουργούνται από τα διαφορετικά φίλτρα οδηγούν σε μια πιο περίπλοκη, πλούσια αναπαράσταση της εικόνας εισόδου. Οι συνήθεις αριθμοί φίλτρων για CNN είναι 32, 64, 128 και 512. Όσο περισσότερα φίλτρα υπάρχουν, τόσο περισσότερες ευκαιρίες έχει το CNN να εξετάσει τα δεδομένα εισόδου και να μάθει από αυτά.

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

Συγκροτητικό νευρικό δίκτυο (CNN) Αρχιτεκτονική

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

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

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

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