Mạng nơ-ron hồi quy (Recurrent Neural Networks)

Hiện tại, chúng ta đã học đến cái mạng nơ-ron thứ 3, mạng nơ-ron hồi quy. Mạng này được sử dụng để phân tích các chuỗi theo thời gian. Dự đoán thời tiết, phân biệt giọng miền bắc, miền nam,…
anh1

Mạng nơ-ron nhân tạo ANN có dạng ntn

Từ lớp đầu vào -> lớp ẩn -> lớp ra.
Nếu dữ liệu theo thời gian thì thêm vòng lặp ở lớp ẩn để lặp lại.
anh3
Mở cái vòng lặp ra sẽ được mạng hồi quy
anh4
Thế là xong mạng nơ-ron hồi quy rồi. Thật là đơn giản!!!

Các loại mạng nơ-ron hồi quy

Nhiều ra một

Xác định câu nói tích cực hay tiêu cực.
anh6

Một ra nhiều

Viết lời bình cho ảnh
anh5

Nhiều ra nhiều

anh7

Vấn đề về độ dốc (Gradient)

Có 1 vấn đề như đã nói ở bài về ANN. Mạng được điều chỉnh theo hướng giảm độ dốc (GRADIENT) của mạng. Mạng ANN càng to thì độ dốc ở lớp sâu càng thấp nên học rất chậm. Mạng RNN lại là kết hợp của nhiều mạng ANN nên vấn đề này trở nên quá lớn. Vì vậy, trong thực tế người ta không xài trực tiếp ANN mà dùng LSTM.

LSTM là gì

LSTM là Long short-term memory network. Mạng nhớ ngắn hạn dài !!!????? =))
Nó là 1 chuỗi các bộ nhớ ngắn hạn A.

Trong 1 cái A có cấu trúc như sau:

Hình này cũng không khó hiểu lắm đâu. Học qua mạch logic là thấy nó dễ hiểu ngay :p
Mấu chốt ở trục này:

Trục truyền trạng thái của ô (Cell state). Nó là 1 đường thẳng và không có xử lí phức tạp trên đó.

Tiếp theo:

Giá trị trả ra của ô trước và giá trị đầu vào của ô này được cho qua mạng ANN sigmod. Ta có giá trị ft

Tiếp tục:

Giá trị trả ra của ô trước và giá trị đầu vào của ô này được cho qua mạng ANN sigmod khác và ANN tanh khác. Ta có giá trị _it_ và _Ct_

Trạng thái ô được tính là

Kết quả ra của ô đươc tính là

Biến thể của LSTM

Biến thể có rất nhiều kiểu. Thích sửa thế nào thì sửa thôi :))