Mạng RNN cú nhược điểm là khụng thể nhớ dài hạn, nghĩa là RNN chỉ học được cỏc trạng thỏi gần nờn RNN được cải tiến bằng việc bổ sung cỏc mụ đun nhớ. Để khắc phục nhược điểm này, một số biến thể của RNN được nghiờn cứu phỏt triển như mạng cú nhớ dài - ngắn hạn (LSTM - Long short term memory network) [87], mạng LSTM hai chiều (biLSTM - Bidirectional long short term memory network) [88], mạng GRU (gated recurrent unit) và mạng GRU hai chiều (biGRU - Bidirectional gated recurrent unit) [89,90]. Mạng LSTM, GRU cú khả năng học cỏc phụ thuộc xa (long-term dependencies) theo một chiều, trong khi đú mạng biLSTM, biGRU cú khả năng học cỏc phụ thuộc xa theo hai chiều. Chi tiết được trỡnh bày như dưới đõy.
2.1.4.1. Mạng LSTM
Mạng LSTM bao gồm một tập cỏc tế bào nhớ LSTM được kết nối hồi quy. Kiến trỳc tổng quan một tế bào nhớ LSTM (LSTM cell) được biểu diễn như trong Hỡnh 2.5 dưới đõy.
Hỡnh 2.5. Kiến trỳc tổng quan một tế bào nhớ LSTM (nguồn: [Internet])
Ngoài việc sử dụng đầu vào hiện tại xtvà trạng thỏi ẩn ở bước trước ht1 như RNN, tế bào nhớ LSTM cũn sử dụng thờm một đầu vào nữa là trạng thỏi nhớ (cell state) ở bước trước ct1. Trạng thỏi nhớ này là bộ nhớ của tế bào nhớ LSTM để lưu trữ thụng tin của cỏc bước trước, do đú khắc phục được ảnh hưởng của nhớ ngắn hạn (short-term memory) của RNN. Kiến trỳc một tế bào nhớ LSTM bao gồm:
32
Cổng quờn (Forget gate) (ft): Quyết định thụng tin của trạng thỏi nhớ ở bước trước (t-1) cú cần lưu giữ hay khụng. Thụng tin từ xtvà ht1được chuyển qua hàm
sigmoid và kết quả trả ra thuộc khoảng [0; 1]. Nếu kết quả trả ra gần bằng 1, nghĩa là thụng tin cần giữ lại cũn nếu kết quả trả ra gần bằng 0 thụng tin cần loại bỏ.
Cổng vào (Input gate) (it): Cập nhật thụng tin vào trạng thỏi nhớ. Thực hiện nhõn kết quả trả ra của hàm sigmoid với kết quả trả ra của hàm tanh để quyết định thụng tin của đầu vào hiện tại và trạng thỏi ẩn bước trước cú nờn được cập nhật vào trạng thỏi nhớ hay khụng.
Cổng ra (Output gate) (ot): Tớnh giỏ trị của trạng thỏi ẩn cho bước tiếp theo. Với việc sử dụng cổng quờn và cổng vào, ta cú thể tớnh được giỏ trị mới của trạng thỏi nhớ và từ đú kết hợp với đầu vào hiện tại và trạng thỏi ẩn bước trước để tớnh giỏ trị của trạng thỏi ẩn ở bước tiếp theo. Giỏ trị của trạng thỏi ẩn mới này chớnh là giỏ trị dự đoỏn.
Hỡnh 2.6. Chi tiết tế bào nhớ LSTM [91]
Chi tiết một tế bào nhớ LSTM (LSTM cell) [91] được biểu diễn trong Hỡnh 2.6, được mụ tả như sau: Tại mỗi bước t (với t = 1, 2,…, J), với một chuỗi đầu vào
1, 2,...,
J
x x x x thỡ:
- Đầu vào: ct1, ht1, xt; với: xtlà đầu vào ở trạng thỏi thứ 𝑡 và ct1, ht1 tương ứng là trạng thỏi nhớ, trạng thỏi ẩn đầu ra của lớp trước đú.
- Đầu ra: ct, ht là trạng thỏi nhớ, trạng thỏi ẩn tương ứng.
- Mạng thực hiện tớnh toỏn chuỗi vộc tơ ẩn ht h h1, 2,...,hJvà chuỗi vộc tơ đầu rayt y y1, 2,...,yTtheo cỏc cụng thức sau:
1 (W W ) t xh t hh t h h H x h b (2.6) W t hy t y y h b (2.7) trong đú: H là hàm lớp ẩn (là tế bào nhớ LSTM), được tổng hợp bởi cỏc hàm:
1 1 (W W W ) t xi t hi t ci t i i x h c b (2.8) 1 1 (W W W ) t xf t hf t cf t f f x h c b (2.9) 1 tanh(W W 1 ) t t t t xc t hc t c c f c i x h b (2.10) 1 (W W W ) t xo t ho t co t o o x h c b (2.11)
33 tanh( ) t t t h o c (2.12) với: + 0 < ft, it, ot < 1. + σ là hàm sigmoid.
+ Cỏc thành phần b (gồm bh, bi, bf , bc, bo) biểu diễn cỏc vộc tơ độ lệch (bias) tương ứng (vớ dụ: bh là vộc tơ độ lệch trạng thỏi ẩn).
+ Cỏc thành phần W biểu diễn cỏc ma trận trọng số học tương ứng (vớ dụ:
Wxh là ma trận trọng số học trạng thỏi ẩn đầu vào).
2.1.4.2. Mạng biLSTM
Việc dự đoỏn chớnh xỏc một từ trong một đoạn văn bản phụ thuộc khụng chỉ vào cỏc thụng tin phớa trước của từ đang xột mà cũn phụ thuộc vào cỏc thụng tin phớa sau. Tuy nhiờn, kiến trỳc mạng LSTM một chiều chỉ cú thể dự đoỏn từ hiện tại dựa trờn thụng tin của cỏc từ phớa trước nú bằng cỏch đọc cõu đầu vào theo trỡnh tự từ đầu đến cuối (từ điểm đầu tiờn x1 đến điểm cuối xJ). Do đú, mạng biLSTM [88] được đề xuất để tổng hợp mỗi từ khụng chỉ thụng tin của từ phớa trước mà cũn cả thụng tin của từ phớa sau từ đú.
Hỡnh 2.7 biểu diễn kiến trỳc tổng quan của mạng biLSTM bao gồm: mạng LSTM chiều tiến và mạng LSTM chiều lựi.
Hỡnh 2.7. Kiến trỳc tổng quan của mạng biLSTM [88]
- Chiều tiến h: Mạng LSTM đọc cõu đầu vào theo thứ tự (từ x1 đến xJ) và tớnh toỏn trạng thỏi ẩn h h1, 2,...,hJ.
- Chiều lựi h: Mạng LSTM đọc cõu đầu vào theo thứ tự ngược lại (từ xJ quay lui về x1) và tớnh toỏn trạng thỏi ẩn h h1, 2,...,hJ.
Trạng thỏi ẩn ht cho mỗi từ xt (với t 1,J ) được xỏc định bằng việc ghộp nối
t
h và ht được biểu diễn như sau: ht ht ht
34
Hỡnh 2.8. Minh họa biLSTM ở 3 bước (t-1), t và (t+1) [91]
Hỡnh 2.8 minh họa biLSTM ở 3 bước (t-1), t và (t+1). Ở mỗi bước t, biLSTM tớnh toỏn chuỗi ẩn theo chiều tiến ht (với t = 1, 2,…,J-1, J), chuỗi ẩn theo chiều lựi
t
h (với t = J, J-1, …,1), chuỗi đầu ra yt và cập nhật lớp đầu ra:
1 (W W ) t t t x h hh h h H x h b (2.13) 1 (W W ) t t t x h hh h h H x h b (2.14) (W t W t ) t hy hy y y H h h b (2.15) 2.1.4.3. Mạng GRU
Mạng GRU [89,90] được phỏt triển để nắm bắt phụ thuộc xa và khắc phục vấn đề biến mất độ dốc (vanishing gradient) thường xảy ra khi huấn luyện RNN. Mạng GRU bao gồm một tập cỏc tế bào nhớ GRU được kết nối hồi quy. Một tế bào nhớ GRU cú hai cổng điều khiển đú là: cổng cài đặt lại (reset gate) và cổng cập nhật (update gate) được kết hợp từ cổng quờn (forget gate) và cổng vào (input gate) của tế bào nhớ LSTM, kết hợp trạng thỏi nhớ (cell state) và trạng thỏi ẩn nờn kiến trỳc của tế bào nhớ GRU đơn giản hơn tế bào nhớ LSTM, được biểu diễn như trong Hỡnh 2.9. Cổng cài đặt lại xỏc định thụng tin cần phải quờn trong trạng thỏi ẩn của bước trước đú. Khi giỏ trị của cổng cài đặt lại gần bằng 0, thụng tin của bước trước đú sẽ bị quờn. Khi giỏ trị gần bằng 1, thụng tin ẩn của bước trước đú được giữ lại trong thụng tin nhớ hiện tại. Cổng cập nhật xỏc định thụng tin ở trạng thỏi ẩn tại bước trước đú sẽ được đưa vào trạng thỏi ẩn hiện tại. Khi giỏ trị của cổng cập nhật gần bằng 0, thụng tin ở trạng thỏi ẩn tại bước trước đú sẽ bị quờn. Khi giỏ trị gần bằng 1, thụng tin được giữ lại trong trạng thỏi ẩn hiện tại.
Trong Hỡnh 2.9, x là đầu vào của mạng hiện tại, z là cổng cập nhật, r là cổng cài đặt lại, hghi lại tất cả cỏc thụng tin quan trọng thụng qua cổng cài đặt lại và thụng tin đầu vào, h là trạng thỏi ẩn hiện tại.
35
Hỡnh 2.9. Chi tiết tế bào nhớ GRU [89]
Tại bước t, cỏc giỏ trị này được tớnh toỏn theo cỏc cụng thức sau:
1 x (W W ) t zh t z t z z h x b (2.16) 1 x (W W ) t rh t r t r r h x b (2.17) 1 tanh(W W ( ) ) t hx t hh t t h h x r h b (2.18) 1 (1 ) t t t t t h z h z h (2.19) trong đú:
+ là phộp nhõn ma trận Hadamard (phộp toỏn nhõn element-wise). + σ là hàm sigmoid.
+ Cỏc thành phần b (gồm bh, br, bz) biểu diễn cỏc vộc tơ độ lệch tương ứng (vớ dụ: bh là vộc tơ độ lệch trạng thỏi ẩn).
+ Cỏc thành phần W biểu diễn cỏc ma trận trọng số tương ứng (vớ dụ: Wzh là ma trận trọng số trạng thỏi ẩn cập nhật).
2.1.4.4. Mạng biGRU
Mạng GRU hai chiều (biGRU - Bidirectional GRU) [89,90] được cải tiến với kiến trỳc hai lớp. Kiến trỳc hai lớp này cung cấp cho lớp đầu ra của mạng cỏc thụng tin hoàn chỉnh theo ngữ cảnh của thụng tin đầu vào tại mỗi bước. Kiến trỳc tổng quan của mạng biGRU cũng giống như kiến trỳc của mạng biLSTM gồm mạng theo chiều tiến và mạng theo chiều lựi nhưng chỉ khỏc là mỗi mạng này là mạng GRU thay vỡ mạng LSTM như trong mạng biLSTM.