Η καλύτερη εξήγηση των Convolutional Νευρωνικών Δικτύων στο Διαδίκτυο!

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

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

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

Έτσι, πώς είναι τα Convolutional Neural Networks διαφορετικά από τα Νευρωνικά Δίκτυα;

Τα CNN λειτουργούν με τους τόμους!

Τι εννοούμε με αυτό;

1. Παράδειγμα εικόνας RGB (ας το ονομάσουμε 'εικόνα εισόδου')

Σε αντίθεση με τα νευρωνικά δίκτυα, όπου η είσοδος είναι ένα διάνυσμα, εδώ η είσοδος είναι μια εικόνα πολλαπλών καναλιών (3 κανάλια σε αυτήν την περίπτωση).

Υπάρχουν άλλες διαφορές για τις οποίες θα μιλήσουμε για λίγο.

Πριν πάμε βαθύτερα, ας καταλάβουμε πρώτα τι σημαίνει συνέλιξη.

Περιελιγμός

2. Συγκέντρωση εικόνας με φίλτρο

Παίρνουμε το φίλτρο 5 * 5 * 3 και το σπρώχνουμε πάνω από την πλήρη εικόνα και κατά μήκος του δρόμου παίρνουμε το προϊόν κουκίδων ανάμεσα στο φίλτρο και τα κομμάτια της εικόνας εισόδου.

3. Έτσι φαίνεται

Για κάθε τεμαχισμένο προϊόν, το αποτέλεσμα είναι κλιμακωτό.

Λοιπόν, τι συμβαίνει όταν περιστρέφουμε την πλήρη εικόνα με το φίλτρο;

4. Αυτό!

Το αφήνω πάνω σου για να καταλάβεις πώς έρχεται το '28'. (Συμβουλή: Υπάρχουν 28 * 28 μοναδικές θέσεις όπου το φίλτρο μπορεί να τοποθετηθεί στην εικόνα)

Τώρα, πίσω στο CNN

Το στρώμα συνέλιξης είναι το κύριο δομικό στοιχείο ενός συνελικτικού νευρικού δικτύου.

5. Στρώμα Convolution

Η στρώση συνέλισης αποτελείται από ένα σύνολο ανεξάρτητων φίλτρων (6 στο παράδειγμα που παρουσιάζεται). Κάθε φίλτρο ανεξάρτητα συμπλέκεται με την εικόνα και καταλήγουμε με 6 χάρτες χαρακτηριστικών του σχήματος 28 * 28 * 1.

Ας υποθέσουμε ότι έχουμε μια σειρά από στρώματα συνέλιξης σε σειρά. Τι συμβαίνει τότε;

6. Στρώματα Convolution ακολουθία

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

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

7. Φιλτράρει σε εκπαιδευμένο δίκτυο

Ρίξτε μια ματιά στα φίλτρα στο πρώτο στρώμα (αυτά είναι τα φίλτρα μας 5 * 5 * 3). Μέσω της αναπαραγωγής της πλάτης, έχουν συντονιστεί για να γίνουν κηλίδες χρωματιστών τεμαχίων και άκρων. Καθώς πλησιάζουμε βαθύτερα σε άλλα στρώματα συνέλιξης, τα φίλτρα κάνουν προϊόντα κουκκίδων στην είσοδο των προηγούμενων στρώσεων συνέλιξης. Έτσι, παίρνουν τα μικρότερα έγχρωμα κομμάτια ή χείλη και φτιάχνουν μεγαλύτερα κομμάτια από αυτά.

Ρίξτε μια ματιά στην εικόνα 4 και φανταστείτε το πλέγμα 28 * 28 * 1 ως πλέγμα 28 * 28 νευρώνων. Για έναν συγκεκριμένο χάρτη χαρακτηριστικών (η έξοδος που λαμβάνεται με την περιστροφή της εικόνας με ένα συγκεκριμένο φίλτρο ονομάζεται χάρτης χαρακτηριστικών), κάθε νευρώνας συνδέεται μόνο με ένα μικρό κομμάτι της εικόνας εισόδου και όλοι οι νευρώνες έχουν τα ίδια βάρη σύνδεσης. Επιστρέφοντας πάλι στις διαφορές μεταξύ του CNN και ενός νευρικού δικτύου.

Τα CNN έχουν μερικές έννοιες που ονομάζονται κοινή χρήση παραμέτρων και τοπική συνδεσιμότητα

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

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

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

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

Συνδυασμός επιπέδων

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

Συνδυασμός

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

Η πιο κοινή προσέγγιση που χρησιμοποιείται στη συγκέντρωση είναι η μέγιστη συγκέντρωση.

Μέγιστη συγκέντρωση

Τυπική αρχιτεκτονική ενός CNN

Τυπική αρχιτεκτονική του CNN

Έχουμε ήδη συζητήσει για τα στρώματα συνέλιξης (συμβολισμένα με το CONV) και τα στρώματα συγκέντρωσης (που δηλώνεται με POOL).

Το RELU είναι απλώς μια μη γραμμικότητα που εφαρμόζεται παρόμοια με τα νευρικά δίκτυα.

Το FC είναι το πλήρως συνδεδεμένο στρώμα νευρώνων στο τέλος του CNN. Οι νευρώνες σε ένα πλήρως συνδεδεμένο στρώμα έχουν πλήρη σύνδεση με όλες τις ενεργοποιήσεις στο προηγούμενο επίπεδο, όπως φαίνεται στα κανονικά Νευρωνικά Δίκτυα και δουλεύουν με παρόμοιο τρόπο.

Ελπίζω να καταλάβετε την αρχιτεκτονική ενός CNN τώρα. Υπάρχουν πολλές παραλλαγές αυτής της αρχιτεκτονικής, αλλά, όπως ανέφερα προηγουμένως, η βασική ιδέα παραμένει η ίδια. Σε περίπτωση που έχετε αμφιβολίες / σχόλια, σχολιάστε.

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

Μπορείτε να με ακολουθήσετε για να διαβάσετε περισσότερα άρθρα TechnologyMadeEasy!

Και αν θέλετε οι φίλοι σας να το διαβάσουν επίσης, κάντε κλικ στο share!

Παραπομπές: http://cs231n.github.io/convolutional-networks/#overview