2.4 Học Sâu (Deep Learning)
2.4.2 Mơ hình Long short-term Memory
Long short-term memory (LSTM – Mạng nơ-ron hồi quy LSTM) là một trong những mơ hình Deep Learning trong cơng nghệ Trí tuệ nhân tạo. LSTM ra đời với ý tưởng chính là sử dụng một bộ nhớ để lưu lại thơng tin từ từ những bước tính tốn xử lý trước để dựa vào nó có thể đưa ra dự đốn chính xác nhất cho bước dự đốn hiện tại dựa trên các hạn chế của kiến trúc trước đó là RNN. Cơ bản thì nó là một mạng neural hồi quy là một mạng neural chứa một vòng lặp bên trong nó. Nhiều mơ hình dự báo đã cho kết quả tốt khi sử dụng LSTM vì nó có khả năng học được các phụ thuộc xa.
LSTM xuất hiện năm 1997, sau đó đã được cải tiến và phổ biến rộng rãi như hiện nay.
Hình 2. 8: Mơ tả một đoạn mạng nơ-ron hồi quy.8
Hình trên mơ tả một đoạn của mạng nơ-ron hồi quy A với xt là đầu vào và ht là đầu ra. Một vịng lặp cho phép thơng tin có thể được truyền từ bước này sang bước khác. Một mạng nơ-ron hồi quy có thể được coi là nhiều bản sao chép của cùng một mạng,
7 https://www.datacamp.com/community/tutorials/deep-learning-python 8 https://dominhhai.github.io/vi/2017/10/what-is-lstm/
25
trong đó mỗi đầu ra của mạng này là đầu vào của một mạng sao chép khác. Các mơ hình mạng nơ-ron hồi quy (RNN) tích hợp các nhiệm vụ mà nó u cầu dự đốn đầu ra của thời điểm t dựa vào thông tin có được tại thời điểm t-1. Một mạng nơ-ron thường sử dụng trạng thái ẩn (hidden state) ht như một sự tổng hợp có tính mất mát để biểu diễn đầu ra tại thời điểm t. Thông thường, trạng thái ẩn ht thuộc R là một phép biến đổi thông qua một hàm phi tuyến tính lên tồn bộ các phần của vector được tính tốn bởi các biểu thức sau :
ℎ𝑡 = 𝜕(𝑊𝑥𝑡 + 𝑈ℎ𝑡−1+ 𝑏) (2.1)
Hình 2. 9: Mơ hình mạng hồi quy RNN.9
Mạng hồi quy Long Short-Term Memory – thường được gọi là LSTMs là một mạng học sâu có khả năng học được các chuỗi thông tin dài (long-term dependencies), chúng được giới thiệu bởi tác giả [3] và được các nhà nghiên cứu tìm hiểu và cải tiến hiệu quả. Do đó, mơ hình này đã được chứng minh sự hiệu quả trong nhiều bài toán khác nhau. Đặc biệt mơ hình mạng LSTM được thiết kế đặc biệt để tránh vấn đề không xử lý được chuỗi thông tin dài như RNN. Và việc xử lý chuỗi thông tin trong một khoảng thời gian dài là khả năng mặc định của LSTM. Mạng LSTM có dạng chuỗi lặp lại giống như mạng RNN, nhưng thay vào đó, cấu trúc bên trong của mạng LSTM phức tạp hơn rất nhiều, thay vì có 1 lớp như RNN, LSTM có 4 lớp và các lớp này tương tác với nhau theo một cách đặc biệt. Hình 2.3 miêu tả cấu trúc đặc biệt của mạng LSTM với 4 lớp và các hàm, phép tốn mà các lớp đó tương tác với nhau.
26
Hình 2. 10:Cấu trúc của một tế bào trong mơ hình LSTM.10
Mỗi tế bào trong mơ hình LSTM đều có cùng giá trị đầu vào và đầu ra như một mạng nơ-ron hồi quy bình thường nhưng lại có thêm các thơng số khác và hệ thống các cổng thành phần để điều khiển các luồng thông tin ra vào. Ký hiệu d là số chiều của véc-tơ biểu diễn cho memory cell, input gate (cổng đầu vào) được biểu diễn bởi véc-tơ it d (cho thời điểm t trong dãy tuần tự), mọi phần tử trong véc-tơ it rơi vào khoảng mở [0,1] thông qua hàm số sigmoid như sau:
it = σ( ) = σ (W (i)xt + U(i)ht-1 + b(i)) (2.2)
Trong đó xt d (với n là số chiều của véc-tơ đại diện cho phần tử thứ t trong dãy tuần tự) là véc-tơ đầu vào tại thời điểm t hiện tại, ht-1 là véc-tơ trạng thái ẩn đầu ra của lớp trước đó, và W(i), U(i), b(i) lần lượt là ma trận trọng số đầu vào (input weight), ma trận trọng số hồi quy (recurrent weight) và véc-tơ bias cho input gate (cổng đầu vào) của LSTM cells. Ngoài ra, sự mở rộng để memory cell thời điểm trước đó được quên đi, được điều khiển bởi một forget gate (cổng quên) ft:
ft = σ( ) = σ (W (f)xt + U(f)ht-1 + b(f)) (2.3)
27
Trong đó W(f), U(f), b(f) lần lượt là ma trận trọng số quên (forget weight), ma trận trọng số hồi quy và véc-tơ bias cho LSTM cell. Thơng tin được rút trích từ véc-tơ đầu vào hiện tại xt là output gate ut (cổng ra):
ut = tanh( ) = tanh (W (u)xt + U(u)ht-1 + b(u)) (2.4) Và như vậy, thành phần quan trọng bậc nhất đó là memory cell ct của thời điểm hiện tại. Tiếp theo, input gate it (cổng vào) quyết định thông tin từ output gate ut để lưu trữ vào memory cell ct kèm theo điều kiện của forget gate ft kiểm soát memory cell ct-1 như sau:
ct = it ut + ft ct-1 (2.5) trong đó ký hiệu biểu thị cho phép nhân véc-tơ tương ứng với toàn bộ phần tử (element-wise vector product hay còn gọi là phép nhân Hadamard product). Sau cùng, đầu ra ht của một LSTM cell có thể thu được bởi việc cổng ot quyết định thông tin nào được lấy ra từ memory cell ct hiện tại:
ot = σ( ) = σ (W (o)xt + U(o)ht-1 + b(o)) (2.6)
ht = ot tanh(ct) (2.7)
Mơ hình LSTM được nghiên cứu và áp dụng trong nhiều bài tốn và lĩnh vực khác nhau, nổi bật có thể kể đến như huấn luyện mơ hình ngơn ngữ (language modeling), bài toán dịch máy (machine translation), tạo ra chữ viết tay (hand writing generation). Có thể thấy rằng các bài tốn có xu hướng sử dụng các thơng của một chuỗi dài thì mơ hình LSTM thể hiện được sự hiệu quả đối với các dạng bài toán này.