Τεχνητή νοημοσύνη 101
Τι είναι το Deep Learning;
Το deep learning είναι ένα από τα πιο επικρατέστερα και ταχύτερα εξελισσόμενα πεδία της τεχνητής νοημοσύνης. Ωστόσο, η απόκτηση μιας εννοιολογικής κατανόησης του deep learning μπορεί να είναι δύσκολη, επειδή ο όρος deep learning καλύπτει eine ποικιλία διαφορετικών αλγορίθμων και τεχνικών. Το deep learning είναι επίσης một υποπεδίο του machine learning γενικά,所以 είναι σημαντικό να κατανοηθεί τι είναι το machine learning για να κατανοηθεί το deep learning.
Τι είναι το Machine Learning;
Deep learning είναι μια επέκταση κάποιων από τις έννοιες που προέρχονται από το machine learning, γι’ αυτό το λόγο, ας πάρουμε ένα λεπτό για να εξηγήσουμε τι είναι το machine learning.
Σαφώς, το machine learning είναι μια μέθοδος που επιτρέπει στους υπολογιστές να εκτελούν συγκεκριμένες εργασίες χωρίς να γράφουν ρητά κάθε γραμμή του αλγορίθμου που χρησιμοποιείται για την εκτέλεση αυτών των εργασιών. Υπάρχουν πολλά διαφορετικά αλγόριθμοι machine learning, αλλά ένας από τους πιο συχνά χρησιμοποιούμενους αλγορίθμους είναι ο multilayer perceptron. Ο multilayer perceptron αναφέρεται επίσης ως νευρωνικό δίκτυο και αποτελείται από μια σειρά κόμβων/νευρώνων που συνδέονται. Υπάρχουν τρία διαφορετικά στρώματα σε ένα multilayer perceptron: το στρώμα εισόδου, το κρυφό στρώμα και το στρώμα εξόδου.
Το στρώμα εισόδου λαμβάνει τα δεδομένα στο δίκτυο, όπου τα δεδομένα αυτά επεξεργάζονται από τους κόμβους στο μέσο/κρυφό στρώμα. Οι κόμβοι στο κρυφό στρώμα είναι μαθηματικές συναρτήσεις που μπορούν να επεξεργαστούν τα δεδομένα που έρχονται από το στρώμα εισόδου, εξάγοντας σχετικές προτύπους από τα δεδομένα εισόδου. Αυτός είναι ο τρόπος με τον οποίο το νευρωνικό δίκτυο «μαθαίνει». Τα νευρωνικά δίκτυα ονομάζονται έτσι επειδή είναι εμπνευσμένα από τη δομή και τη λειτουργία του ανθρώπινου εγκεφάλου.
Οι συνδέσεις μεταξύ των κόμβων στο δίκτυο έχουν τιμές που ονομάζονται βάρη. Αυτές οι τιμές είναι ουσιαστικά υποθέσεις σχετικά με το πώς τα δεδομένα σε ένα στρώμα σχετίζονται με τα δεδομένα στο επόμενο στρώμα. Όσο το δίκτυο εκπαιδεύεται, τα βάρη điều chỉnhονται και ο στόχος είναι ότι τα βάρη/υποθέσεις σχετικά με τα δεδομένα θα καταλήξουν τελικά σε τιμές που αντιπροσωπεύουν ακριβώς τα σημαντικά προτύπους μέσα στα δεδομένα.
Οι συναρτήσεις ενεργοποίησης υπάρχουν στους κόμβους του δικτύου και αυτές οι συναρτήσεις μετατρέπουν τα δεδομένα με μη γραμμικό τρόπο, επιτρέποντας στο δίκτυο να μάθει σύνθετα προτύπους των δεδομένων. Οι συναρτήσεις ενεργοποίησης πολλαπλασιάζουν τις τιμές εισόδου με τις τιμές βάρους και προσθέτουν einen όρο προκαταβολής.
Τι είναι το Deep Learning;
Το deep learning είναι ο όρος που δίνεται στις αρχιτεκτονικές του machine learning που ενώνουν πολλά multilayer perceptrons, ώστε να μην υπάρχει μόνο ένα κρυφό στρώμα αλλά πολλά κρυφά στρώματα. Όσο «βαθύτερο» είναι το deep νευρωνικό δίκτυο, τόσο πιο σύνθετα προτύπους μπορεί να μάθει το δίκτυο.
Τα βαθιά δίκτυα που αποτελούνται από νευρώνες ονομάζονται đôi φορά πλήρως συνδεμένα δίκτυα ή πλήρως συνδεμένα στρώματα, αναφερόμενα στο γεγονός ότι ένας δεδομένος νευρώνας διατηρεί μια σύνδεση με όλους τους νευρώνες που τον περιβάλλουν. Τα πλήρως συνδεμένα δίκτυα μπορούν να συνδυαστούν με άλλες συναρτήσεις machine learning για να δημιουργήσουν διαφορετικές αρχιτεκτονικές deep learning.
Διαφορετικά Είδη Deep Learning
Υπάρχουν πολλά είδη αρχιτεκτονικών deep learning που χρησιμοποιούνται από ερευνητές και μηχανικούς και κάθε ένα από αυτά τα διαφορετικά είδη έχει τη δική του ειδική περίπτωση χρήσης.
Convolutional Neural Networks
Convolutional νευρωνικά δίκτυα, ή CNNs, είναι η αρχιτεκτονική του νευρωνικού δικτύου που χρησιμοποιείται συνήθως στη δημιουργία συστημάτων υπολογιστικής όρασης. Η δομή των convolutional νευρωνικών δικτύων τους επιτρέπει να ερμηνεύουν δεδομένα εικόνων, μετατρέποντάς τα σε αριθμούς που ένα πλήρως συνδεμένο δίκτυο μπορεί να ερμηνεύσει. Ένα CNN έχει τέσσερα основικά συστατικά:
- Στρώματα convolution
- Στρώματα υποδείγματος/πools
- Συναρτήσεις ενεργοποίησης
- Πλήρως συνδεμένα στρώματα
Τα στρώματα convolution είναι αυτά που λαμβάνουν τις εικόνες ως εισόδους στο δίκτυο, αναλύοντας τις εικόνες και λαμβάνοντας τις τιμές των pixel. Η υποδείγματος ή πools είναι όπου οι τιμές των εικόνων μετατρέπονται/μειώνονται για να απλοποιηθεί η αναπαράσταση των εικόνων και να μειωθεί η ευαισθησία των φίλτρων εικόνας στο θόρυβο. Οι συναρτήσεις ενεργοποίησης ελέγχουν πώς τα δεδομένα ρέουν από το ένα στρώμα στο επόμενο στρώμα και τα πλήρως συνδεμένα στρώματα είναι αυτά που αναλύουν τις τιμές που αντιπροσωπεύουν την εικόνα και μαθαίνουν τα προτύπους που περιέχονται σε αυτές τις τιμές.
RNNs/LSTMs
Recurrent νευρωνικά δίκτυα, ή RNNs, είναι δημοφιλή για εργασίες όπου η σειρά των δεδομένων έχει σημασία, όπου το δίκτυο πρέπει να μάθει για μια σειρά δεδομένων. Τα RNNs εφαρμόζονται συνήθως σε προβλήματα όπως η επεξεργασία φυσικής γλώσσας, επειδή η σειρά των λέξεων έχει σημασία όταν αποκωδικοποιούμε την έννοια μιας πρότασης. Το «αναδρομικό» μέρος του όρου Recurrent Νευρωνικό Δίκτυο προέρχεται από το γεγονός ότι η έξοδος για ένα δεδομένο στοιχείο σε μια σειρά εξαρτάται από την προηγούμενη υπολογισμένη τιμή καθώς και από την τρέχουσα υπολογισμένη τιμή. Σε αντίθεση με άλλους τύπους deep νευρωνικών δικτύων, τα RNNs έχουν «μνήμη» και οι πληροφορίες που υπολογίζονται στα διαφορετικά βήματα της σειράς χρησιμοποιούνται για να υπολογίσουν τις τελικές τιμές.
Υπάρχουν πολλά είδη RNNs, συμπεριλαμβανομένων των bidirectional RNNs, τα οποία λαμβάνουν υπόψη τα μελλοντικά στοιχεία της σειράς, εκτός από τα προηγούμενα στοιχεία, όταν υπολογίζουν την τιμή ενός στοιχείου. Ένας άλλος τύπος RNN είναι ο Long Short-Term Memory, ή LSTM, δίκτυο. Τα LSTMs είναι τύποι RNN που μπορούν να χειριστούν μακρές αλυσίδες δεδομένων. Τα κανονικά RNNs μπορεί να πέσουν θύματα ενός προβλήματος που ονομάζεται «εξερράγηση του gradient». Αυτό το πρόβλημα συμβαίνει όταν η αλυσίδα εισόδου δεδομένων γίνεται εξαιρετικά μακρά, αλλά τα LSTMs έχουν τεχνικές για να καταπολεμήσουν αυτό το πρόβλημα.
Autoencoders
Τα περισσότερα από τα αρχιτεκτονικά deep learning που αναφέρθηκαν μέχρι τώρα εφαρμόζονται σε προβλήματα επιβλεπόμενης μάθησης, αντί για εργασίες μη επιβλεπόμενης μάθησης. Τα autoencoders μπορούν να μετατρέψουν μη επιβλεπόμενα δεδομένα σε μια επιβλεπόμενη μορφή, επιτρέποντας στα νευρωνικά δίκτυα να χρησιμοποιηθούν στο πρόβλημα.
Τα autoencoders χρησιμοποιούνται συχνά για την ανίχνευση ανωμαλιών σε συνόλους δεδομένων, ένα παράδειγμα μη επιβλεπόμενης μάθησης, επειδή η φύση της ανωμαλίας δεν είναι γνωστή. Τέτοια παραδείγματα ανίχνευσης ανωμαλιών περιλαμβάνουν την ανίχνευση απάτης για τις τραπεζικές ιδρύματα. Σε αυτό το контέκστ, ο σκοπός ενός autoencoder είναι να καθορίσει μια βάση κανονικών προτύπων στα δεδομένα και να αναγνωρίσει ανωμαλίες ή εκκεντρικότητες.
Η δομή ενός autoencoder είναι συχνά συμμετρική, με κρυφά στρώματα διατεταγμένα так, ώστε η έξοδος του δικτύου να μοιάζει με την είσοδο. Τα τέσσερα είδη autoencoders που χρησιμοποιούνται συχνά είναι:
- Κανονικοί/πλάσιμοι autoencoders
- Πολυστρωματικοί κωδικοποιητές
- Συγκολλοειδείς κωδικοποιητές
- Κανονισμένοι κωδικοποιητές
Οι κανονικοί/πλάσιμοι autoencoders είναι απλά νευρωνικά δίκτυα με ένα μόνο κρυφό στρώμα, ενώ οι πολυστρωματικοί autoencoders είναι βαθιά δίκτυα με περισσότερα από ένα κρυφά στρώματα. Οι συγκολλοειδείς autoencoders χρησιμοποιούν συγκολλοειδείς στρώματα αντί για, ή επιπλέον των, πλήρως συνδεμένων στρωμάτων. Οι κανονισμένοι autoencoders χρησιμοποιούν một συγκεκριμένο είδος συνάρτησης απώλειας που επιτρέπει στο νευρωνικό δίκτυο να εκτελέσει πιο σύνθετες συναρτήσεις, συναρτήσεις πέρα από την απλή αντιγραφή εισόδων σε εξόδους.
Generative Adversarial Networks
Τα Generative Adversarial Networks (GANs) είναι στην πραγματικότητα πολλά deep νευρωνικά δίκτυα αντί για ένα μόνο δίκτυο. Δύο deep learning μοντέλα εκπαιδεύονται ταυτόχρονα και οι εξόδους τους τροφοδοτούν το άλλο δίκτυο. Τα δίκτυα είναι σε ανταγωνισμό μεταξύ τους και既然 λαμβάνουν πρόσβαση στα δεδομένα εξόδου του άλλου, και τα δύο μαθαίνουν από αυτά τα δεδομένα και βελτιώνονται. Τα δίκτυα είναι ουσιαστικά ένα παιχνίδι κατασκευής και ανίχνευσης, όπου το γεννητικό μοντέλο προσπαθεί να δημιουργήσει новые περιπτώσεις που θα απομακρύνουν το μοντέλο ανίχνευσης/το διακρίτη. Τα GANs έχουν γίνει δημοφιλή στο πεδίο της υπολογιστικής όρασης.
Σύνοψη Deep Learning
Το deep learning επεκτείνει τις αρχές των νευρωνικών δικτύων για να δημιουργήσει σύνθετα μοντέλα που μπορούν να μαθαίνουν σύνθετα προτύπους και να γενικεύουν αυτά τα προτύπους σε μελλοντικά συνόλα δεδομένων. Τα convolutional νευρωνικά δίκτυα χρησιμοποιούνται για να ερμηνεύσουν εικόνες, ενώ τα RNNs/LSTMs χρησιμοποιούνται για να ερμηνεύσουν σειριακά δεδομένα. Τα autoencoders μπορούν να μετατρέψουν εργασίες μη επιβλεπόμενης μάθησης σε εργασίες επιβλεπόμενης μάθησης. Τέλος, τα GANs είναι πολλά δίκτυα που αντιτάσσονται μεταξύ τους και είναι ιδιαίτερα χρήσιμα για εργασίες υπολογιστικής όρασης.












