Mạng nơ-ron hồi quy RNN (Recurrent Neural Network) sinh ra để giải quyết vấn đề đó. Mạng này chứa các vòng lặp bên trong cho phép thông tin có thể lưu lại được [8].
33
Hình 2-5: Một đoạn của mạng nơ-ron hồi quy
Hình vẽ 2-3 trên mô tả một đoạn của mạng nơ-ron hồi quy A với đoạn đầu vào xt và đầu ra ht. Một vòng lặp cho phép thông tin được truyền từ bước này qua bước khác của mạng nơ-ron. Mạng nơ-ron hồi quy không hề khác mạng nơ-ron truyền thống quá nhiều, điểm đáng chú ý nhất là việc trong một chuỗi mạng nơ-ron hồi quy thì đầu ra của mạng này lại là đầu vào của mạng kế tiếp. Các nút mạng vẫn nhận đầu vào giống hệt như các mạng nơ-ron đơn thuần.
Hình 2-6: Chuỗi mạng nơ-ron hồi quy
Trong những năm gần đây, việc ứng dụng RNN đã đưa ra nhiều kết quả tốt trong nhiều lĩnh vực nghiên cứu: nhận dạng giọng nói, mô hình hóa ngôn ngữ, dịch máy, mô tả ảnh… [21]. RNN có khả năng xâu chuỗi các thông tin từ trước đó để đưa ra xử lý cho bước hiện tại, tuy nhiên khi các thông tin bắt đầu ở quá xa thì vấn đề xử lý phụ thuộc xa (long-term dependencies) của RNN là không tốt. Vấn đề này đã được khám phá và nghiên cứu bởi Hochreiter (1991) và Bengio (1994) [22], trong các bài báo của mình, hai tác giả đã trình bày các lý do căn bản giải thích tại sao RNN lại xử lý không tốt đối với các phụ thuộc xa.
34
Mạng bộ nhớ ngắn hạn (Long Short Term Memory Networks), thường được gọi là LSTM – là một dạng đặc biệt của RNN. Một điều khá thú vị là LSTM lại không bị ảnh hưởng bởi vấn đề phụ thuộc xa và có khả năng học được các phụ thuộc xa.