Mạng nơ-ron hồi quy (Recurrent Neural Networks)
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,…
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.
Mở cái vòng lặp ra sẽ được mạng hồi quy
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.
Một ra nhiều
Viết lời bình cho ảnh
Nhiều ra nhiều
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 :))