Mạng nơ-ron hồi quy (RNN) và LSTM, GRU
1. Tổng quan
A. Định nghĩa
Mạng nơ-ron hồi quy (RNN, Recurrent Neural Network) là mạng nơ-ron được thiết kế để xử lý dữ liệu tuần tự (Sequence) có độ dài thay đổi, bằng cách bố trí kết nối hồi quy (Recurrent Connection) truyền trạng thái ẩn (Hidden State) sang thời điểm kế tiếp dọc theo trục thời gian. Nói cách khác, đây là cấu trúc làm cho đầu ra hiện tại phụ thuộc không chỉ vào đầu vào hiện tại mà cả vào bản tóm tắt tích lũy của các đầu vào quá khứ (ngữ cảnh).
Mạng nơ-ron kết nối đầy đủ (FFNN) hay mạng nơ-ron tích chập (CNN) coi mỗi đầu vào là một vectơ kích thước cố định, độc lập với nhau. Tuy nhiên, với dữ liệu mà chính thứ tự quy định ý nghĩa như ngôn ngữ, giọng nói, giá cổ phiếu, log cảm biến, thì "cho đến giờ đã có gì" quyết định giá trị tiếp theo. Để điền vào chỗ trống trong câu "Tôi ăn ___", cần ngữ cảnh của các từ trước đó, và để phán định bất thường của sóng điện tâm đồ cần nhịp của vài giây ngay trước đó. Nhận thức cốt lõi của RNN là "thay vì nhìn toàn bộ chuỗi một lần, hãy đọc từng thời điểm, nén những gì đã thấy vào một bộ nhớ gọi là trạng thái ẩn và liên tục cập nhật nó". Trạng thái ẩn này chính là trí nhớ ngắn hạn (working memory) của mạng.
B. Bối cảnh ra đời và sự cần thiết
Khi áp dụng FFNN, CNN cho dữ liệu tuần tự, lộ ra hai giới hạn căn bản. Thứ nhất là khó xử lý độ dài thay đổi. Một câu có thể dài 3 từ hoặc 300 từ, nhưng lớp kết nối đầy đủ chỉ nhận đầu vào kích thước cố định. Cố đệm (padding) theo độ dài tối đa thì lãng phí tính toán, còn cắt bớt thì mất thông tin. Thứ hai là thiếu chia sẻ tham số và thông tin thứ tự. Nếu chỉ nối (concatenate) đầu vào, cùng một từ chỉ cần đổi vị trí đã bị xử lý bằng trọng số hoàn toàn khác, nên không học được bản chất của chuỗi thời gian là "mẫu xuất hiện ở đâu thì vẫn như nhau".
RNN giải quyết đồng thời hai vấn đề này bằng cách tái sử dụng cùng một tập trọng số ở mọi thời điểm. Vì lặp lại cùng một ô theo số thời điểm, có thể xử lý chuỗi độ dài bất kỳ bằng một bộ tham số duy nhất bất kể độ dài, và khái quát hóa mẫu theo thời gian bất kể vị trí. Nhờ đặc tính này, họ RNN đã trở thành tiêu chuẩn trên thực tế cho dịch máy, nhận dạng giọng nói, nhận dạng chữ viết tay vào đầu và giữa thập niên 2010, và là dòng chủ đạo của mô hình hóa tuần tự trước khi Transformer hiện nay xuất hiện. Ngay cả trong thời đại Transformer, ở các lĩnh vực cần duy trì trạng thái tuần tự như nhận dạng giọng nói trên thiết bị, xử lý luồng thời gian thực, suy luận nhúng độ trễ thấp, giá trị thực tiễn của RNN vẫn lớn.
| Phân loại | FFNN/CNN | Mạng nơ-ron hồi quy (RNN) |
|---|---|---|
| Đầu vào | Kích thước cố định, độc lập | Chuỗi độ dài thay đổi, phụ thuộc giữa các thời điểm |
| Bộ nhớ | Không có (phi trạng thái) | Duy trì ngữ cảnh quá khứ bằng trạng thái ẩn |
| Tham số | Riêng cho mỗi lớp | Chia sẻ giữa các thời điểm (lặp khi trải ra) |
| Nhiệm vụ tiêu biểu | Phân loại ảnh, hồi quy | Dịch, nhận dạng giọng nói, dự báo chuỗi thời gian |
| Giới hạn tiêu biểu | Không biểu diễn được thứ tự | Phụ thuộc dài hạn, tiêu biến gradient |
2. Cấu trúc tổng thể và nguyên lý hoạt động
RNN dễ hiểu hơn khi "trải (unfold)" một ô theo trục thời gian. Hình dưới đây thể hiện đồng thời cấu trúc hồi quy trong đó trạng thái ẩn $h_t$ được tính từ thời điểm trước $h_{t-1}$ và đầu vào hiện tại $x_t$ rồi truyền sang thời điểm kế tiếp, cùng với dạng trải theo trục thời gian.
flowchart LR
X1["Đầu vào x(t-1)"] --> C1["Ô RNN"]
C1 --> H1["Ẩn h(t-1)"]
H1 --> C2["Ô RNN"]
X2["Đầu vào x(t)"] --> C2
C2 --> H2["Ẩn h(t)"]
H2 --> C3["Ô RNN"]
X3["Đầu vào x(t+1)"] --> C3
C3 --> H3["Ẩn h(t+1)"]
H1 --> O1["Đầu ra y(t-1)"]
H2 --> O2["Đầu ra y(t)"]
H3 --> O3["Đầu ra y(t+1)"]
Lý do dùng $\tanh$ thay vì sigmoid làm hàm kích hoạt cũng xuất phát từ cấu trúc này. $\tanh$ có đầu ra trong $[-1, 1]$, đối xứng quanh 0, nên làm chậm việc giá trị trạng thái ẩn lệch về một phía và bão hòa, đồng thời có đạo hàm lớn hơn sigmoid nên tín hiệu học lan truyền tương đối tốt. Dù vậy, bản thân cấu trúc nhân lặp gây ra tiêu biến nên đây không phải giải pháp căn bản.
Lan truyền xuôi của RNN cơ bản (Vanilla) được định nghĩa bằng công thức truy hồi sau. Trạng thái ẩn được cập nhật bằng $h_t = \tanh(W_{xh} x_t + W_{hh} h_{t-1} + b_h)$, và đầu ra được tính bằng $y_t = W_{hy} h_t + b_y$. Điểm cốt lõi ở đây là các trọng số $W_{xh}, W_{hh}, W_{hy}$ được chia sẻ ở mọi thời điểm. Trạng thái ẩn $h_t$ là bản tóm tắt phi tuyến của các đầu vào quan sát được đến thời điểm $t$, và bản tóm tắt này chảy đệ quy sang ô kế tiếp, tích lũy ngữ cảnh.
Việc học được thực hiện bằng lan truyền ngược theo thời gian (BPTT, Backpropagation Through Time). Khi trải chuỗi theo trục thời gian, nó đồng dạng với một mạng truyền thẳng rất sâu, nên gradient của hàm mất mát được lan truyền ngược thời gian từ thời điểm cuối về thời điểm đầu, và gradient của trọng số dùng chung được tích lũy từ phần đóng góp của từng thời điểm. Với chuỗi dài, độ sâu trải ra lớn khiến gánh nặng tính toán và bộ nhớ lớn, nên trong thực tế dùng BPTT cắt ngắn (Truncated BPTT), ngắt và lan truyền ngược theo từng đoạn độ dài nhất định.
A. Vấn đề tiêu biến và bùng nổ gradient
Điểm yếu chí mạng của RNN cơ bản là không học được phụ thuộc dài hạn (Long-Term Dependency). Trong BPTT, mỗi khi gradient đi ngược trục thời gian, trọng số hồi quy $W_{hh}$ và đạo hàm hàm kích hoạt bị nhân lặp đi lặp lại. Nếu bán kính phổ của tích này nhỏ hơn 1, gradient hội tụ về 0 theo hàm mũ (tiêu biến gradient, Vanishing Gradient) khiến thông tin quá khứ xa không được phản ánh vào việc học; nếu lớn hơn 1, gradient phân kỳ theo hàm mũ (bùng nổ gradient, Exploding Gradient) làm việc học mất ổn định.
Hàm ý thực tiễn rất rõ ràng. Trong câu "Anh ấy lớn lên ở Pháp … (vài chục từ) … vì vậy anh ấy nói trôi chảy tiếng ___", để đoán đúng chỗ trống (tiếng Pháp) cần nhớ thông tin từ vài chục thời điểm trước, nhưng RNN cơ bản vượt quá khoảng 10 thời điểm là trên thực tế đã quên ngữ cảnh phía trước. Bùng nổ gradient được giảm nhẹ tương đối dễ bằng cắt gradient (Gradient Clipping), nhưng tiêu biến gradient phải thay đổi chính cấu trúc mới giải quyết được, và đây là động cơ trực tiếp cho sự ra đời của LSTM, GRU.
B. Các dạng đầu vào/đầu ra chuỗi
RNN được sử dụng dưới nhiều dạng tùy theo quan hệ tương ứng giữa chuỗi đầu vào và đầu ra. Nhiều-một (Many-to-One) dùng cho phân tích cảm xúc, đọc cả câu và xuất ra một cảm xúc (tích cực/tiêu cực); một-nhiều (One-to-Many) dùng cho chú thích ảnh, sinh câu mô tả từ một bức ảnh; nhiều-nhiều đồng bộ (Many-to-Many, cùng độ dài) dùng cho nhận dạng thực thể có tên, gắn nhãn cho từng từ. Đặc biệt, cấu trúc bộ mã hóa–giải mã (Seq2Seq) đọc hết đầu vào trước, nén thành vectơ ngữ cảnh rồi sinh chuỗi đầu ra đã trở thành nền tảng của dịch máy, và khi thêm cơ chế chú ý (Attention) vào, nó trở thành cầu nối phát triển thành Transformer.
Cách phân loại này cung cấp khung khi viết bài làm: trước hết xác định "đầu vào/đầu ra của bài toán là bao nhiêu-bao nhiêu" rồi bàn về hàm mất mát và cách giải mã phù hợp. Ví dụ, phân loại nhiều-một chỉ nối trạng thái ẩn ở thời điểm cuối vào bộ phân loại và học bằng cross-entropy, còn sinh Seq2Seq học bằng cách điều kiện hóa đầu ra softmax ở mỗi thời điểm lên đầu ra trước đó (teacher forcing) và khi suy luận thì giải mã bằng tìm kiếm chùm (Beam Search). Hiểu rằng cùng một ô RNN nhưng pipeline học và suy luận thay đổi theo dạng nhiệm vụ là điểm xuất phát của thiết kế thực tiễn.
C. RNN sâu và RNN hai chiều
RNN sâu (Stacked) xếp chồng các lớp ẩn theo chiều dọc để tăng năng lực biểu diễn, hình thành biểu diễn phân cấp trong đó lớp dưới học đặc trưng mức thấp (âm vị, ký tự), lớp trên học trừu tượng mức cao (từ, cú pháp). Tuy nhiên, lớp càng sâu thì độ khó học và khối lượng tính toán càng lớn, nên thường dùng kèm kết nối phần dư và chuẩn hóa lớp. Mặt khác, RNN hai chiều (Bidirectional) đặt song song hai RNN chiều xuôi và chiều ngược để tận dụng đồng thời ngữ cảnh quá khứ và tương lai ở mỗi thời điểm. Với các nhiệm vụ ngoại tuyến mà toàn bộ câu đã có sẵn như nhận dạng thực thể có tên, gắn nhãn từ loại, độ chính xác tăng đáng kể, nhưng vì cần đầu vào tương lai nên có sự đánh đổi là xung đột về cấu trúc với xử lý luồng thời gian thực.
3. LSTM và GRU — Cơ chế cổng
A. LSTM (Long Short-Term Memory)
Để giải quyết tiêu biến gradient, LSTM đưa vào một "đường cao tốc thông tin" riêng gọi là trạng thái ô (Cell State) $C_t$ và ba cổng chọn lọc xóa, thêm và xuất thông tin trên đó. Cổng là van quyết định tỷ lệ cho qua của từng phần tử bằng sigmoid (0~1). Hình dưới biểu diễn luồng dữ liệu bên trong một ô LSTM.
flowchart LR
CIN["Trạng thái ô trước C(t-1)"] --> FMUL["Nhân quên (×)"]
HIN["Ẩn trước h(t-1)"] --> GATES["Tính cổng (f/i/g/o)"]
XIN["Đầu vào x(t)"] --> GATES
GATES --> FG["Cổng quên f(t)"]
GATES --> IG["Cổng vào i(t)"]
GATES --> CG["Giá trị ứng viên g(t)"]
GATES --> OG["Cổng ra o(t)"]
FG --> FMUL
FMUL --> ADD["Cộng cập nhật (+)"]
IG --> IMUL["Nhân đầu vào (×)"]
CG --> IMUL
IMUL --> ADD
ADD --> COUT["Trạng thái ô mới C(t)"]
COUT --> TANHOUT["Biến đổi tanh"]
TANHOUT --> HMUL["Nhân đầu ra (×)"]
OG --> HMUL
HMUL --> HOUT["Ẩn mới h(t)"]
Nguyên lý hoạt động theo thứ tự như sau. Thứ nhất, cổng quên (Forget Gate) $f_t = \sigma(W_f[h_{t-1}, x_t] + b_f)$ quyết định bỏ gì khỏi trạng thái ô trước. Ví dụ, khi giới tính của chủ ngữ trong câu đổi sang chủ ngữ mới thì quên thông tin giới tính cũ. Thứ hai, cổng vào (Input Gate) $i_t$ kết hợp với giá trị ứng viên $\tilde{C}t$ tạo bằng tanh để xác định thông tin mới cần nhớ, và trạng thái ô được cập nhật bằng $C_t = f_t \odot C{t-1} + i_t \odot \tilde{C}_t$. Thứ ba, cổng ra (Output Gate) $o_t$ chọn phần sẽ xuất ra ở thời điểm này trong trạng thái ô đã cập nhật và tạo trạng thái ẩn $h_t = o_t \odot \tanh(C_t)$.
LSTM có nhiều biến thể như kết nối lỗ nhìn (Peephole) cho phép tính cổng tham chiếu trực tiếp trạng thái ô, hay biến thể ghép cặp (coupled) gộp cổng quên và cổng vào làm một, nhưng trong thực tế, cấu trúc 3 cổng chuẩn cân bằng tốt nhất giữa độ ổn định và hiệu năng nên được dùng làm mặc định.
Lý do quyết định giúp LSTM học được phụ thuộc dài hạn là công thức cập nhật trạng thái ô lấy phép cộng ($+$) làm trung tâm chứ không phải phép nhân. Khi gradient chảy dọc trạng thái ô, nếu cổng quên gần 1 thì gradient được lan truyền gần như không suy giảm, và tín hiệu học có thể tới cả thông tin từ hàng trăm thời điểm trước. Cấu trúc "băng chuyền lỗi hằng (Constant Error Carousel)" này giảm nhẹ căn bản tiêu biến gradient. Thực tế, Google đã báo cáo rằng năm 2016 khi áp dụng bộ mã hóa–giải mã LSTM 8 lớp cho GNMT (Google Neural Machine Translation), lỗi dịch giảm khoảng 60% so với phương pháp thống kê trước đó (PBMT).
B. GRU (Gated Recurrent Unit)
GRU là biến thể gọn nhẹ của LSTM do Giáo sư Cho Kyunghyun và cộng sự đề xuất năm 2014, hợp nhất trạng thái ô và trạng thái ẩn làm một và giảm cổng xuống còn hai: cổng đặt lại (Reset Gate) $r_t$ và cổng cập nhật (Update Gate) $z_t$. Cổng cập nhật gộp vai trò cổng quên + cổng vào của LSTM làm một, điều chỉnh một lần "giữ lại trạng thái trước bao nhiêu và thay bằng ứng viên mới bao nhiêu" qua $h_t = (1-z_t)\odot h_{t-1} + z_t \odot \tilde{h}_t$. Cổng đặt lại quyết định bỏ qua quá khứ đến mức nào khi tính trạng thái ứng viên.
Ví dụ, ở lớp có chiều ẩn 512, LSTM học trọng số cho 4 cổng còn GRU chỉ học cho 3, nên tham số mỗi lớp giảm theo tỷ lệ khoảng 4:3. Khác biệt này ảnh hưởng trực tiếp đến ngân sách bộ nhớ và điện năng khi xếp chồng nhiều lớp hoặc triển khai lên thiết bị di động, nhúng.
Vì ít hơn một cổng và không có trạng thái ô nên tham số ít hơn khoảng 25%, học nhanh hơn và có lợi trong tránh quá khớp khi dữ liệu ít. Ngược lại, về lý thuyết năng lực biểu diễn hơi hạn chế hơn LSTM, nên với phụ thuộc rất dài và phức tạp, LSTM có xu hướng nhỉnh hơn một chút. Trong thực tế, ưu tiên thử "dữ liệu và tính toán dư dả thì LSTM, cần học nhẹ và nhanh thì GRU", nhưng vì khác biệt hiệu năng giữa hai mô hình có thể đảo ngược tùy nhiệm vụ nên cách làm chuẩn là đo thực tế trên tập kiểm định rồi chọn.
| Phân loại | Vanilla RNN | LSTM | GRU |
|---|---|---|---|
| Số cổng | Không có | 3 (quên, vào, ra) | 2 (đặt lại, cập nhật) |
| Trạng thái | Ẩn $h_t$ | Ô $C_t$ + ẩn $h_t$ | Hợp nhất vào ẩn $h_t$ |
| Phụ thuộc dài hạn | Yếu (tiêu biến) | Mạnh | Mạnh |
| Tham số, tính toán | Ít nhất | Nhiều nhất | Trung bình (ít hơn LSTM) |
| Tình huống phù hợp | Chuỗi ngắn | Phụ thuộc dài và phức tạp | Ràng buộc dữ liệu, tài nguyên, học nhanh |
4. So sánh và trường hợp áp dụng
Vị trí thực tiễn của họ RNN trở nên rõ ràng khi đối chiếu với Transformer. Transformer dùng tự chú ý (Self-Attention) so sánh song song một lần mọi cặp token trong chuỗi, nên vượt trội RNN về khả năng song song hóa huấn luyện trên GPU và nắm bắt phụ thuộc siêu dài. Vì thế, mô hình ngôn ngữ lớn (LLM), dịch máy, hiểu văn bản trên thực tế đã được tái cấu trúc bằng Transformer. Tuy nhiên, chú ý của Transformer đòi hỏi tính toán và bộ nhớ $O(n^2)$ theo độ dài chuỗi $n$, trong khi RNN cập nhật trạng thái $O(1)$ mỗi thời điểm nên tuyến tính theo độ dài ($O(n)$) và trạng thái có kích thước hằng, mang lợi thế cấu trúc trong môi trường luồng, độ trễ thấp, điện năng thấp.
Ước lượng khác biệt độ phức tạp bằng con số sẽ làm rõ tiêu chí lựa chọn. Với độ dài chuỗi $n=4{,}000$ (ví dụ log dài), chú ý cần khoảng $n^2 = 16$ triệu phép so sánh cặp, còn RNN chỉ cần $n=4{,}000$ lần cập nhật trạng thái tuần tự. Ngược lại, tính tuần tự của RNN khiến khó song song hóa trên GPU do phụ thuộc giữa các thời điểm, phải trả giá bằng tốc độ học chậm. Tức là tồn tại lợi thế trái ngược "tổng khối lượng tính toán thì RNN có lợi, tốc độ xử lý song song thì Transformer có lợi", và vì thế thiết kế lai — học theo lô bằng Transformer, suy luận tuần tự thời gian thực bằng RNN — trở thành phương án dung hòa thực tế.
Các trường hợp áp dụng công nghiệp cụ thể cho thấy rõ hàm ý đó. Thứ nhất, trong nhận dạng giọng nói thời gian thực, cần giải mã ngay theo từng khung trước khi câu nói kết thúc, nên LSTM/GRU — duy trì trạng thái và xử lý tuần tự — vẫn được dùng cho STT luồng trên thiết bị thay vì chú ý vốn phải gom toàn bộ chuỗi. Thứ hai, trong bảo trì dự đoán thiết bị công nghiệp, học chuỗi thời gian cảm biến rung, nhiệt độ bằng LSTM để phát hiện sớm sai lệch (bất thường) khỏi mẫu bình thường; vì phải nhớ nhịp chu kỳ hàng nghìn thời điểm nên cấu trúc cổng hiệu quả. Thứ ba, trong dự báo chuỗi thời gian tài chính, tóm tắt diễn biến giá và khối lượng giao dịch vài tháng qua bằng GRU để dự đoán xu hướng ngắn hạn; vì ít tham số nên giảm quá khớp cả với tập dữ liệu tương đối nhỏ. Gần đây, họ mô hình không gian trạng thái (SSM) (ví dụ Mamba), kế thừa lợi thế độ phức tạp tuyến tính đồng thời cho phép học song song, đang được chú ý như một phương án thay thế Transformer, tạo nên dòng chảy "sự trỗi dậy trở lại của cấu trúc hồi quy".
5. Chuyên sâu — Xu hướng mới nhất và hướng ra đề dự kiến
Các dòng chảy mới nhất xoay quanh RNN có thể tóm thành ba nhánh. Thứ nhất, sự hấp thụ cơ chế chú ý. Seq2Seq+Attention (Bahdanau, 2014) giải tỏa nút thắt vectơ ngữ cảnh cố định của bộ mã hóa và nâng hiệu năng dịch, và kết quả của việc chú ý thay thế hoàn toàn cấu trúc hồi quy chính là Transformer (2017). Tức là RNN vẫn quan trọng như điểm khởi đầu của mạch tự sự để hiểu "vì sao cần chú ý", và trong bài làm Kỹ sư chuyên nghiệp (Professional Engineer), trình bày liên kết mạch phát triển "giới hạn của RNN → chú ý → Transformer" có thể thể hiện chiều sâu.
Thứ hai, sự trỗi dậy trở lại của mô hình chuỗi dài hiệu quả. Khi chi phí $O(n^2)$ của Transformer trở thành nút thắt với văn bản siêu dài và chuỗi thời gian siêu dài hạn, các mô hình không gian trạng thái chọn lọc như S4, Mamba và các kiến trúc "hồi quy dạng chú ý tuyến tính" như RWKV, xLSTM đang được nhìn nhận lại nhờ kết hợp lợi thế độ phức tạp tuyến tính, bộ nhớ hằng của RNN với khả năng học song song. Thứ ba, triển khai biên và nhúng. Trong dòng TinyML, LSTM/GRU qua lượng tử hóa, cắt tỉa được tích hợp vào phát hiện từ đánh thức giọng nói thường trực trên thiết bị cỡ MCU, phát hiện bất thường nhịp tim trên thiết bị đeo, v.v.
Về kỹ thuật ứng dụng, với nhận dạng giọng nói, chữ viết tay nơi căn chỉnh (alignment) đầu vào–đầu ra không rõ ràng, hàm mất mát CTC (Connectionist Temporal Classification) được dùng rộng rãi cùng RNN. CTC dùng token trống (blank) và quy tắc gộp lặp để học căn chỉnh khung–nhãn mà không cần chú thích tường minh, giải quyết gọn gàng bài toán độ dài lời nói và độ dài bản chép khác nhau. Như vậy, nêu trong bài làm rằng RNN phát huy hiệu năng thực tế khi kết hợp với các kỹ thuật mất mát và giải mã theo nhiệm vụ hơn là đứng một mình có thể thể hiện năng lực ứng dụng.
Các hướng ra đề dự kiến thường gặp gồm: ① giải thích nguyên nhân tiêu biến gradient cùng công thức BPTT và bàn về nguyên lý trạng thái ô LSTM giảm nhẹ nó (cập nhật cộng, CEC); ② so sánh cấu trúc cổng của LSTM và GRU, đưa ra tiêu chí lựa chọn từ góc độ thực tiễn; ③ so sánh độ phức tạp tính toán, khả năng song song và lĩnh vực áp dụng của RNN và Transformer. Chiến lược đạt điểm cao là nhất định kèm theo công thức, hình vẽ cổng, so sánh độ phức tạp để trình bày định lượng trong bài làm.
6. Những điều cần cân nhắc và hàm ý
- Chiến lược chọn kiến trúc: Phán đoán dựa trên độ dài chuỗi, yêu cầu độ trễ, quy mô dữ liệu của nhiệm vụ. Nếu mấu chốt là phụ thuộc siêu dài, dữ liệu lớn, học song song thì Transformer; nếu là luồng thời gian thực, độ trễ thấp, điện năng thấp thì LSTM/GRU; nếu tài nguyên và dữ liệu rất hạn chế thì ưu tiên xem xét GRU gọn nhẹ. Nguyên tắc là quyết định bằng đo thực tế trên tập kiểm định thay vì khẳng định hơn kém.
- Đánh đổi trong ổn định hóa việc học: Bùng nổ gradient được kìm bằng cắt gradient, còn tiêu biến được giảm nhẹ bằng cấu trúc cổng, kết nối phần dư (Residual), khởi tạo phù hợp. RNN hai chiều (Bidirectional) tăng độ chính xác ngữ cảnh nhưng cần toàn bộ chuỗi nên xung đột với xử lý thời gian thực, phải chọn theo yêu cầu trực tuyến/ngoại tuyến.
- Triển vọng gọn nhẹ hóa và triển khai: Để suy luận ở biên, nén mô hình bằng lượng tử hóa (INT8), cắt tỉa, chưng cất tri thức, nhưng phải kiểm chứng ảnh hưởng của việc giảm độ chính xác phép tính sigmoid ở cổng đến hiệu năng ghi nhớ dài hạn. Với sự lan rộng của TinyML và AI trên thiết bị, lợi thế điện năng thấp của mô hình hồi quy đang được đánh giá lại.
- Công nghệ liên kết và quản trị: Họ RNN được dùng kết hợp với chú ý, Transformer, mô hình không gian trạng thái (Mamba), CNN (CRNN lai), và khi dùng kết quả dự báo chuỗi thời gian cho ra quyết định cần trang bị đồng thời khả năng giải thích (XAI) cùng giám sát chất lượng dữ liệu và trôi dạt thì mới thành dịch vụ đáng tin cậy. Đặc biệt, ở các miền mà dự báo sai ảnh hưởng trực tiếp đến an toàn và tài chính, phải song hành định lượng bất định và kiểm chứng có con người tham gia (human-in-the-loop).
- Góc độ dữ liệu và tiền xử lý: Hiệu năng của mô hình tuần tự nhạy cảm với chất lượng tiền xử lý như phân phối độ dài chuỗi, chuẩn hóa, xử lý giá trị thiếu. Chuỗi quá dài có độ ổn định học thay đổi theo kích thước cửa sổ BPTT cắt ngắn và chiến lược đệm, còn nếu chênh lệch thang đo giữa các thời điểm lớn, một số cổng sẽ bão hòa sớm. Do đó, chuẩn hóa sẵn việc chuẩn hóa dữ liệu, lấy mẫu lại, che mặt nạ trong pipeline dữ liệu là tiền đề cho khả năng tái hiện và độ ổn định hiệu năng.
Tài liệu tham khảo
- Hochreiter & Schmidhuber, "Long Short-Term Memory", Neural Computation, 1997. https://www.bioinf.jku.at/publications/older/2604.pdf
- Cho et al., "Learning Phrase Representations using RNN Encoder-Decoder (GRU)", 2014. https://arxiv.org/abs/1406.1078
- Vaswani et al., "Attention Is All You Need", 2017. https://arxiv.org/abs/1706.03762
- Gu & Dao, "Mamba: Linear-Time Sequence Modeling with Selective State Spaces", 2023. https://arxiv.org/abs/2312.00752
Tóm tắt một câu: RNN là mạng nơ-ron xử lý chuỗi độ dài thay đổi bằng cách truyền hồi quy ngữ cảnh quá khứ qua trạng thái ẩn; LSTM, GRU khắc phục giới hạn tiêu biến gradient bằng cổng (cập nhật cộng của trạng thái ô) để học được phụ thuộc dài hạn, và trong thế đánh đổi độ phức tạp–độ trễ với Transformer và mô hình không gian trạng thái, chúng vẫn hữu hiệu ở lĩnh vực luồng và biên.