Αυτόματη ανίχνευση ατράκτων του ύπνου με τεχνικές βαθιάς μάθησης
Automatic detection of sleep spindles using deep learning techniques
Keywords
Ηλεκτροεγκεφαλογράφημα ; Python ; Keras ; Τεχνητό νευρωνικό δίκτυο ; Βαθιά Μάθηση ; Υπνικές άτρακτοιAbstract
Η παρούσα διπλωματική εργασία εκπονήθηκε στα πλαίσια ολοκλήρωσης των προπτυχιακών σπουδών για το τμήμα Βιοϊατρικής Μηχανικής του Πανεπιστημίου Δυτικής Αττικής. Σκοπός της εργασίας ήταν η ανάπτυξη ενός δικτύου Βαθιάς Μάθησης, το οποίο θα μπορεί να χαρακτηρίσει μια δοθείσα κυματομορφή ως υπνική άτρακτο ή μη-άτρακτο.
Στο Πρώτο Κεφάλαιο γίνεται λόγος για τον εγκέφαλο ως μέρος του Κεντρικού Νευρικού Συστήματος, καθώς και για το βιοσήμα που παράγει, καταγράφεται και τέλος επεξεργάζεται. Αναφέρεται η διαδικασία του ύπνου και παρουσιάζοντα τα στάδιά του, μαζί με τις χαρακτηριστικές κυματομορφές του ηλεκτροεγκεφαλογραφήματος που συναντιούνται σε αυτόν. Αναλύεται ο τρόπος παραγωγής των υπνικών ατράκτων, τα χαρακτηριστικά που τις διαφοροποιούν από άλλες κυματομορφές και ο ρόλος που επιτελούν.
Στο Δεύτερο Κεφάλαιο γίνεται αναφορά στην πληθώρα συστημάτων που έχουν ήδη αναπτυχθεί για την ανίχνευση των ατράκτων. Παρουσιάζεται η εφαρμογή των ποικίλων αλγόριθμων που υπάρχουν για την ανίχνευση των ατράκτων (π.χ. Matching Pursuit, Bayesian Algorithm) και ειδικοί δείκτες που εξάγονται από τα χαρακτηριστικά των ατράκτων ως κυματομορφή. Τέλος, παρουσιάζονται συστήματα Τεχνητών Νευρωνικών Δικτύων, υποκατηγορία της Βαθιάς Μάθησης, που εκπαιδεύονται σε δείγματα ατράκτων και μη, αναπτύσσοντας τη δική τους «κρίση» για την κατηγοριοποίηση μιας κυματομορφής ως άτρακτο ή μη.
Στο Τρίτο Κεφάλαιο αναλύεται διεξοδικά η φύση, αρχιτεκτονική και ο ρόλος ενός Τεχνητού Νευρωνικού Δικτύου. Ιδιαίτερη βαρύτητα δίδεται στην διαδικασία της εκπαίδευσης και του Backpropagation αλγόριθμου. Εξετάζεται λεπτομερώς η παραλλαγή των LSTM νευρώνων, κύριο πεδίο της εργασίας.
Στο Τέταρτο Κεφάλαιο αναλύεται η επεξεργασία που υφίσταται το ηλεκτροεγκεφαλογράφημα προκειμένου να εξαχθούν οι άτρακτοι και τα αντι-παραδείγματα (μη-άτρακτοι) για την ολοκλήρωση της εκπαίδευσης. Παρουσιάζεται η δομή και αρχιτεκτονική του Τεχνητού Νευρωνικού Δικτύου που αναπτύχθηκε, μαζί με τα αποτελέσματα της εκπαίδευσης.
Abstract
This Thesis was prepared as part of completing the undergraduate studies at the Department of Biomedical Engineering of the University of West Attica. The purpose of the work was the development of a Deep Learning network, which will be able to characterize a given waveform as sleep spindle or non-spindle. The First Chapter describes the brain as part of the Central Nervous System, as well as the biosignal produced, recorded and finally processed. The process of sleep is mentioned and its stages are presented, along with the characteristic EEG waveforms found in it. The way sleep spindles are produced, the characteristics that differentiate them from other waveforms and the role they play are analyzed.
In the Second Chapter reference is made to the multitude of systems that have already been developed for the detection of spindles. The application of the various algorithms that exist for spindle detection (e.g., Matching Pursuit, Bayesian Algorithm) and special indicators extracted from spindle characteristics as a waveform are presented. Finally, Artificial Neural Network systems, a subclass of Deep Learning, are presented that are trained on spindle and non-spindle samples, developing their own "judgment" to categorize a waveform as spindle or non-spindle.
In Chapter Three, the nature, architecture and role of an Artificial Neural Network is thoroughly analyzed. Special emphasis is given to the training process and the Backpropagation algorithm. The variation of LSTM neurons, the main area of the present work, is examined in detail.
Chapter Four analyzes the processing of the EEG in order to extract the spindles and counter-examples (non-spindles) to complete the training. The structure and architecture of the developed Artificial Neural Network is presented, along with the training results.
The Fifth Chapter is devoted to discussing and commenting on the results, while Appendix 1 presents Python, a programming language, and Keras, the platform on which the algorithm was developed.