Niue đã trình bày ở chương 2, các nghiên cứu gan đây về bài toán phân lớp các giai đoạn giác ngủ có xu hướng đê ` xuất và cải tiến các phương pháp dựa trên
học sâu để cải thiện độ chính xác. Do đó, nội dung chương 3 của khóa luận tập trung vào việc trình bày một số phương pháp phân lớp giai đoạn giác ngủ dựa trên
học sâu nhu DeepSleepNet, TinySleepNet, AttnSleep, TS-TCC và CA-TCC.
3.1. DeepSleepNet
Bai bao “DeepSleepNet: a Model for Automatic Sleep Stage Scoring based on
Raw Single-Channel EEG” được viết bởi Akara Supratak, Hao Dong, Chao Wu va Yike Guo va được xuất bản vào năm 2017 [11]. Nghiên cứu này đề xuất một mô hình học sâu có tên là DeepSleepNet đề đánh giá tự động các giai đoạn giấc ngủ dựa trên tín hiệu EEG từ một kênh duy nhất.
Trước đây, hầu hết các phương pháp ton tại dựa trên các đặc trưng được thiết
kế trước đòi hỏi kiến thức tiên quyết về phân tích giấc ngủ. Chỉ có một số ít trong số chúng mã hóa thông tin thời gian. DeepSleepNet sử dụng mang học sâu dé tự động học các đặc trưng từ tín hiệu EEG gốc mà không cần đến các đặc trưng được xây dựng trước. Mô hình này đã được thử nghiệm và đánh giá trên các tập dữ liệu giấc ngủ công khai, và kết qua cho thấy nó có khả năng phân lớp các giai đoạn giấc ngủ một cách tự động và chính xác. Bài báo này cung cấp thông tin quan trọng và cơ sở cho việc phát triển các phương pháp tự động hóa phân lớp giai đoạn giấc ngủ dựa
trên tín hiệu EEG.
3.1.1. Kiến trúc tổng quan
Kiến trúc của DeepSleepNet [11] được minh hoạ trong Hình 3.1 bao gồm 2 phần chính: Học biểu diễn (Representation Learning) và Học dư thừa chuỗi
(Sequence Residual Learning).
23
30-5 EEG epoch
IEs/2] conv, 64, J[Fs/46] | [_IFs*4] ———.conv, 64, /iF/2]
[ ; | [ _ 6conv,128 |
B conv, 138 6 conv, 128
Representation Learning
IL 0.5 dropout
“ae
512/512 bidirect-Istm ] [ 1024 fc |
Element-wise Trainable Layer Operation
Non-trainable Layer Concatenate
Non-trainable Layer Copy (included only training)
Hình 3.1: Kiến trúc tổng quan của DeepSleepNet [11]
3.1.1.1. Representation Learning
Representation Learning với nhiệm vụ su dung các bộ lọc dé trích xuất các đặc trưng không thay đôi theo thời gian (time-invariant features) từ mỗi epoch EEG đầu vào. Các đặc trưng này có thể bao gồm các thông số về tần số, độ lớn, biên độ,
và các đặc trưng khác của sóng não.
24
Một kiến trúc mạng nơ-ron được sử dụng cho việc trích xuất đặc trưng từ các epoch EEG (electroencephalogram) có thời lượng 30 giây. Kiến trúc mạng này được thiết kế dựa trên phương pháp điều khiến sự đánh đổi giữa độ chính xác thời gian va tần số trong các thuật toán trích xuất đặc trưng của các chuyên gia xử lý tín hiệu. Kiến trúc mạng này bao gồm hai mạng CNN (Convolutional Neural Networks) với các kích thước bộ lọc khác nhau ở các lớp đầu tiên, gồm:
- CNN với bộ lọc nhỏ (small filter): Trích xuất thông tin về thời gian (temporal information) từ các epoch EEG. Ví dụ, băng cách xác định thời điểm xuất
hiện của các mẫu sóng não trong các epoch EEG.
- CNN với bộ lọc lớn (large filter): Trích xuất thông tin về tan số (frequency information) từ các epoch EEG. Ví dụ, bằng cách xác định các thành phần tần số
cua sóng não trong các epoch EEG.
Bằng cách kết hợp hai loại bộ lọc này, kiến trúc mạng nơ-ron có khả năng trích xuất đầy đủ thông tin từ các epoch EEG dé giúp phân lớp các trạng thái của não một cách chính xác hơn. Cụ thé trong trường hợp này, kiến tric mạng nơ-ron được sử dụng dé phân lớp các epoch EEG thành các trạng thái khác nhau của giấc ngủ dựa trên tiêu chuẩn của American Academy of Sleep Medicine (AASM) va
Rechtschaffen and Kales (R&K) [8].
Cụ thé, mỗi CNN bao gồm bốn lớp tích chap (convolutional layers) và hai lớp max-pooling layers. Mỗi lớp tích chập thực hiện ba hoạt động tuần tự: 1D-tích chập với bộ lọc của nó, chuẩn hóa mini-batch (batch normalization) [15], và áp dụng hàm kích hoạt ReLU (Rectified Linear Unit). Mỗi lớp max-pooling giảm kích thước đầu vào bằng cách sử dụng phép tối đa (max operation). Mỗi khối tích chập hiền thị một kích thước bộ lọc, số lượng bộ lọc và một kích thước bước. Mỗi khối tối đa hóa hiển thị một kích thước tối đa và một kích thước bước.
Dé trích xuất các đặc trưng từ các epoch EEG, các lớp tích chập trong kiến trúc mạng nơ-ron này sử dụng các bộ lọc khác nhau dé tìm kiếm các mẫu đặc trưng
trong tín hiệu EEG. Các lớp max-pooling sau đó giảm kích thước của các đặc trưng
trích xuất được dé giảm chỉ phí tính toán. Sử dụng các lớp tích chập và lớp max-
25
pooling lặp lại nhiều lần cùng với các hoạt động khác như chuẩn hóa và kích hoạt ReLU cho phép mạng học cách tổng hợp các đặc trưng phức tạp từ các đặc trưng cơ
bản.
Sử dụng hai mô hình CNN để trích xuất các đặc trưng không thay đổi theo
thời gian từ các epoch EEG có độ dài 30 giây. Giả sử có N epoch EEG {#¡,...xy}.
và sử dụng hai mô hình CNN để trích xuất đặc trưng i-th từ epoch EEG i-th x; như
sau:
- Sử dung mô hình CNN với bộ lọc nhỏ dé trích xuất đặc trưng thời gian từ
epoch EEG i:
hệ = CNNg, (xi) (3.1)
- Sử dụng mô hình CNN với bộ lọc lớn để trích xuất đặc trưng tần số từ
epoch EEG i.
hi = CNNạ,(%;) (3.2)
- Ghép các đặc trưng được trích xuất từ hai mô hình CNN với nhau để tạo ra
một đặc trưng hoàn chỉnh cho epoch EEG i.
a; = h‡||hị (3.3)
Các đặc trưng được nói fay, ...ay}, sau đó được truyền vào phần Sequence Residual Learning dé học quy tắc chuyển đổi giai đoạn của giấc ngủ từ một chuỗi
các epoch EEG.
Phần Representation Learning mô tả cách lựa chọn các thông số (parameters) cho phan học biển diễn của mô hình. Mục tiêu là dé thu thập thông tin về thời gian
và tần số từ tín hiệu EEG theo hướng dẫn của nghiên cứu [28]. Trong Hình 3.1, kích
thước bộ loc (filter size) của lớp conv] của CNN-1 (nhánh bên trái) được đặt là
Fs/2 (tức là nửa tốc độ lay mau F's), và độ dịch chuyển (stride size) được đặt là Fs/16 để phát hiện khi những mẫu EEG nhất định xuất hiện. Trong khi đó, kích thước bộ lọc của lớp conv] của CNN-2 (nhánh bên phải) được dat là Fs x 4 dé thu thập thành phần tần số của EEG tốt hơn. Độ dịch chuyển của nó cũng được đặt là Fs/2, cao hơn lớp conv1 của CNN-1, vì không cần thực hiện tính toán tích chập chi tiết dé trích xuất thành phần tần số. Kích thước bộ lọc và độ dịch chuyển của các lớp
26
tích chập tiếp theo conv2_[1 — 3] được chon dé có kích thước cố định nhỏ. Việc sử dụng nhiều lớp tích chập với kích thước bộ lọc nhỏ thay vì một lớp tích chập lớn được cho rằng có thé giảm số lượng thông số và chi phí tính toán, và van đạt được cùng mức độ biểu diễn của mô hình [11].
3.1.1.2. Sequence Residual Learning
Sequence Residual Learning có nhiệm vu hoc cách mã hóa thông tin thời gian,
bao gồm các quy tắc chuyển đổi giai đoạn (stage transition rules) giữa các epoch EEG. Phan này có thé sử dụng một kiến trúc mạng học sâu (deep learning) như mạng LSTM (Long Short-Term Memory) hoặc GRU (Gated Recurrent Unit) dé hoc thông tin chuỗi va xử lý các đầu vào epoch EEG theo trình tự.
Sequence Residual Learning gồm hai thành phan chính: Bidirectional-LSTMs
va Shortcut connection. BiLSTMs được sử dung dé học thông tin thời gian trong chuỗi dit liệu, trong khi Shortcut connection cho phép mô hình kết hợp thông tin từ các chuỗi đầu vào trước đó và đặc trưng trích xuất từ mạng CNN, cho phép mô hình thêm thông tin thời gian vào đặc trưng đầu ra.
“+ Bidirectional LSTM (BiLSTM)
Bidirectional LSTM (BiLSTM) là một loại mạng nơ-ron hồi quy (RNN), là
một dạng của mạng LSTM (Long Short-Term Memory), được sử dụng để học thông tin về thứ tự các giai đoạn của giấc ngủ. Mạng này cho phép việc xử lý chuỗi đầu vào được thực hiện theo cả hai hướng (forward và backward), giúp mô hình có thể
sử dụng thông tin từ quá khứ và tương lai để dự đoán các giai đoạn tiếp theo của giác ngủ.
ô+ Shortcut connection
Shortcut connection được sử dụng dé kết hợp thông tin từ mang CNN va Bidirectional-LSTMs lại với nhau. Kết quả từ Bidirectional-LSTMs được cộng với kết quả từ mô hình CNN thông qua lớp Fully Connected (FC). Lớp này có chức năng biến đổi các đặc trưng trích xuất từ CNN thành một vector có thể cộng được với đầu ra từ BiLSTMs. Kết quả từ lớp Fully Connected sẽ được chuẩn hóa theo
batch và áp dụng hàm kích hoạt ReLU (Rectified Linear Unit).
27
Bang cách này, mô hình có thé học được thông tin thời gian từ các đầu vào của phần Sequence Residual Learning trước đó và kết hợp nó với các đặc trưng trích xuất từ CNN dé dự đoán các giai đoạn của giấc ngủ.
Công thức tính toán cho phần huấn luyện của mạng LSTM và kết hợp với
CNN thông qua Shortcut connection:
hci = LSTMg ,(hi_,,c}_1,az) (3.4)
hệ,c? = LSTMạ, (hệ, 1, C2+1, et) (3.5)
o, = hi ||h? + FCa(a,) (3.6)
Trong đó LSTM dai diện cho một hàm xử lý các chuỗi đặc trưng bằng cách sử dụng hai lớp LSTM cú tham số ỉ; và ỉy cho hướng thuận và nghịch; h và c là cỏc
vector của trạng thái An (hidden state) và trang thai té bao (cell state) cua LSTM. Biểu thức FCg(a;) đại diện cho việc áp dung một Fully-Connected layer (FC) trên đầu vào (ứ,).
Công thức đầu tiên (3.4) tính toán hidden state và cell state của LSTM thuận tại thời điểm t, dựa trên hidden state, cell state và đầu vào trước đó. Công thức thứ hai (3.6) tính toán hidden state và cell state của LSTM nghịch tại thời điểm t, dựa trên hidden state, cell state và đầu vào tiếp theo. Và công thức cuối cùng (3.6) tính toán đầu ra tại thời điểm t bằng cách cộng hai hidden state ghép và kết quả sau khi
áp dụng fully-connected layer.
Các tham số của BiLSTMs và lớp Fully Connected được đặt nhỏ hơn đầu ra của phần học biểu diễn, là 1024. Điều này nhằm hạn chế mô hình chọn và kết hợp chỉ những đặc trưng quan trọng dé ngăn chặn hiện tượng overfitting. Khi mô hình quá khớp, nó sẽ học nhớ các đặc trưng không quan trọng, dẫn đến hiệu suất dự đoán kém trên dữ liệu mới. Giảm kích thước của các tham số này sẽ giúp mô hình tập
trung vào các đặc trưng quan trọng hơn, từ đó giảm khả năng quá khớp.
3.1.2. Huấn luyện và kết qua
DeepSleepNet sử dụng hàm mất mát là hàm Cross-Entropy Loss có trọng số (Weighted Cross-Entropy Loss). Hàm mat mát này giúp giải quyết van dé mat cân
28
bang lớp (class imbalance) trong dit liệu. Nó giúp mô hình tập trung vào lớp NI, lớp
có tần suất xuất hiện thấp hơn so với các lớp khác trong tập dữ liệu
DeepSleepNet được huấn luyện qua hai giai đoạn chính: tiền huấn luyện học biểu diễn và tinh chỉnh lại toàn bộ mô hình. Trong hai giai đoạn nay, áp dụng kỹ thuật tối ưu hóa Adam Optimizer, là một thuật toán kết hợp kỹ thuật của RMS prop
và momentum. Thuật toán sử dụng hai momentum: internal states momentum (m)
va squared momentum (v) cua gradient cho các tham số. Sau mỗi batch huấn luyện,
giá tri của m và v duoc cập nhật lại sử dung exponential weighted average, m và 0
được cập nhật theo công thức:
m, = m¿-¡ + (1 — Big (3.7)
V_ = z1,—¡ + 1 — Ba) Gg? (3.8)
Trong đú, ỉ là một siờu tham số. ỉ được cập nhật theo cụng thức sau:
Y ime (3.9)a Me
Trong đú, ứ là learning rate, e là giỏ tri được thờm vào đờ ngăn việc chia cho
Trong giai đoạn tiền huấn luyện, sử dung tập huấn luyện tăng cường, sử dụng trình tối ưu hóa Adam Optimizer và kích thước mini-batch là 100, trong đó learning rate, B, và „lần lượt là 10~*, 0.9 và 0.999.
Trong giai đoạn tinh chỉnh, các tham số của trình tối ưu hóa Adam optimizer tương tự như giai đoạn tiền huấn luyện, trừ việc learning rate của mỗi phan Ir1 và Ir2 tương ứng là 1075 và 10~*. Ngưỡng gradient clipping được đặt là 10, dé giới hạn giá trị của gradient trong quá trình huấn luyện mô hình. Số epoch cho giai đoạn tiền huấn luyện và giai đoạn tinh chỉnh được đặt tương ứng là 100 và 200.
DeepSleepNet được huấn luyện và đánh giá trên 2 bộ dữ liệu Montreal Archive of Sleep Studies(MASS) [29] và Sleep-EDF [30] bằng các kênh tín hiệu
EEG khác nhau.
Bộ dữ liệu Sleep-EDF nhóm tác giả sử dụng bản ghi của 20 đối tượng từ
Sleep-Cassette.
29
Bộ dữ liệu Montreal Archive of Sleep Studies (MASS) là một tập hợp các tài
liệu và dữ liệu liên quan đến nghiên cứu về giấc ngủ. Dữ liệu PSG trong MASS cho phép các nhà nghiên cứu thực hiện các phân tích đa dạng về giấc ngủ, bao gồm phân loại và định lượng các giai đoạn giác ngủ, xác định các sự kiện giấc ngủ không bình thường, nghiên cứu mối liên hệ giữa giấc ngủ và các rối loạn lâm sàng, va phát triển
và đánh giá các phương pháp chân đoán và điều trị giấc ngủ.
Trên bộ dữ liệu Sleep-EDF sử dung tín hiệu Fpz-Cz và Pz-Oz, độ chính xác
Accuracy của DeepSleepNet lần lượt là 82.0% và 79.8%. Trên bộ dữ liệu MASS, Accuracy của DeepSleepNet đạt 86.2%. Kết quả chỉ tiết được thé hiện ở bảng 3.1.
Sleep-EDF Pz-Oz 41,950 73.1
MASS F4-EOG (Left) 58,600 81.7 3.2. TinySleepNet
TinySleepNet được đề xuất trong bài báo “TinySleepNet: An Efficient Deep Learning Model for Sleep Stage Scoring based on Raw Single-Channel EEG”, xuất bản tại Hội nghị hàng năm lần thứ 42 về Kỹ thuật Y sinh và Sinh học của IEEE
(EMBC) vào năm 2020 [12]. Các tác gia của nghiên cứu này là Akara Supratak và
Yike Guo. Bài báo giới thiệu một mô hình học sâu TinySleepNet để phân lớp các giai đoạn giấc ngủ dựa trên tín hiệu EEG từ một kênh duy nhất. Mô hình này được thiết kế nhằm tối ưu hóa việc huấn luyện và thực thi trên các thiết bị có tài nguyên hạn chế.
3.2.1. Kiến trúc tổng quan
TinySleepNet là một phương pháp được mở rộng và phát triển từ
DeepSleepNet [11]. TinySleepNet xử lý một chuỗi các epoch EEG đơn kênh và tao
ra một chuỗi các giai đoạn giấc ngủ cùng chiều dài theo hình thức many-to-many.
Dữ liệu EEG được chia thành các epoch, mỗi epoch EEG được biểu diễn bằng một
30
vectơ số có độ dài E, x F;, trong đó E; là thời lượng của mỗi epoch tinh băng giây
và F, là tốc độ lay mẫu. TinySleepNet sử dụng một mô hình được ký hiệu là fg dé xác định giai đoạn giấc ngủ cho từng epoch. Kết quả là một chuỗi các giai đoạn giac ngủ dự đoán {Ê),..., Jy}, trong đó ộ; là giai đoạn giấc ngủ được dự đoán cho epoch
thứ í.
TinySleepNet bao gồm hai phần chính: Representation Learning là một mạng
nơ-ron tích chap (CNN) và Sequence Learning là một mạng LSTM (Long Short- Term Memory).
Xj
[Fs/2] conv, 128, /[Fs/4] Trainable Layer
ai —m mes
, a rd Non-trainable Layer
eo |
= h 0.5 dropout :
5 |) .XY" jr | ; | Non-trainable Layer
g Co an oe W ini
= 8 conv, 128, /1 | (included only training)
8ơ
5Ẹ 8 conv, 128, /1 conv layer:
Đ [filter_size conv, n_filters, /stride]
bì 8 conv, 128, /1
max-pool layer:
[pool_size max-pool, /stride]
B0 Lu
£
E hj, C¡
© ———>
ơ
ou
g 0.5dropout |©
Si = s —====
ở
5 softmax
Si
Hình 3.2: Kiến trúc tổng quan cua TinySleepNet [12]
3.2.1.1. Representation Learning
Phan dau tiên của mang là mạng no-ron tích chap CNN gan với tín hiệu đầu vào. Mạng CNN bao gồm bốn lớp tích chập conv, xen kẽ với hai lớp max-pooling
và hai lớp dropout. Mục tiêu của phan này là trích xuất các đặc trưng không thay đổi
31
theo thời gian từ tín hiệu EEG thô. Mỗi epoch EEG được đưa vào mạng CNN để trích xuất một vectơ đặc trưng a;, được biểu diễn bởi CN Nạ,:
a; = CNNo,(X;) (3.10)
Điểm khác biệt của TinySleepNet so với DeepSleepNet là sử dung chi một nhánh của mạng CNN, thay vì hai nhánh với bộ lọc nhỏ và lớn. Điều này được lấy
cảm hứng từ mô hình VGGNet [31], trong đó việc sử dụng một chuỗi các lớp tích
chập có thể đạt được hiệu quả tương đương với việc sử dụng một lớp tích chập đơn
lẻ có bộ lọc lớn hơn một chuỗi lớp tích chập và vẫn đảm bảo hiệu quả như nhau. Điều này có nghĩa là mô hình có thể xây dựng bộ lọc lớn hơn bằng cách kết hợp nhiều lớp tích chập ở các lớp trên cùng (gần với đầu vào), nhưng sử dụng ít tham số
hơn.
3.2.1.2. Sequence Learning
Phan thứ hai của mạng gan với dau ra là mạng hồi quy RNN một chiều. Nó bao gồm một lớp LSTM (Long Short-Term Memory) duy nhất và một lớp dropout. Mục tiêu của phan nay là học thông tin thời gian của tín hiệu đầu vào, chang hạn như các quy tắc chuyên đổi giác ngủ. Các vectơ đặc trưng từ mang CNN trước đó được đưa vào mạng RNN dé xử lý theo thứ tự. Quá trình này sử dụng lớp LSTM dé cập nhật các trang thái an (hide state) va trang thai tế bao (cell state) của mang theo công thức được mô ta. Cụ thé, giả sử có N vectơ đặc trưng từ mang CNNs {a;,...đ„} được sắp xếp theo thứ tự. Phần này xử lý đặc trưng thứ i, ký hiệu là a;,
theo công thức sau:
h;, c; = RNNạ (hị_1,C€¡_+, aj) (3.11)
Trong do:
- RNNg,: đại diện cho mạng RNNs xử lý các chuỗi đặc trưng a;
- 6,: các tham số có thé học của mạng RNN
- hj, c;: các vecto trạng thái ấn (hide state) và trang thai tế bao (cell state) của
lớp LSTM sau khi xử lý các đặc trưng a;
- hj_1,C;-1: trạng thái ân va trạng thái tê bao từ dau vào trước đó
32