current Neural Network
Mạng CNN được giới thiệu phía trên có tính chất feedforward do luồng thông tin được xử lý tuần tự từ lớp đầu vào đến lớp đầu ra. Như đã phân tích, trong CNN truyền thống tất cả các đầu vào và đầu ra độc lập với nhau, đồng nghĩa với việc chúng không liên kết được thành chuỗi. Tuy nhiên trên thực tế, có rất nhiều bài toán sử dụng thông tin dạng chuỗi làm đầu vào, để giải quyết hiệu quả các bài toán này Mạng nơ-ron hồi quy - Recurrent Neural Network ra đời.
Theo định nghĩa của DeepAI.org[89], Mạng nơ-ron hồi quy - Recurrent Neural Network là một mạng nơ-ron chứa một vòng lặp bên trong nó, do đó nó cho phép thông tin được lưu trữ trong mạng. Cụ thể, RNN sử dụng một bộ nhớ để lưu lại thông tin từ những bước tính toán xử lý trước và dựa vào đó đưa ra dự đoán cho bước hiện tại. Tóm lại, khi mạng được mở rộng có khả năng quyết định dựa vào thông tin hiện tại và quá khứ thì ta gọi những mạng có tính chất vậy là Mạng nơ-ron hồi quy - Recurrent Neural Network. Với tính chất này, RNN phù hợp cho những bài toán có dữ liệu đầu vào dạng chuỗi và các sự kiện trong chuỗi có liên hệ với nhau. Hiện nay, mạng nơ-ron hồi quy đang được ứng dụng rộng rãi vào các bài toán Xử lý ngôn ngữ tự nhiên - Natural Language Processing như: Dịch máy - Machine Translation (Bahdanau et al., 2015[33]), tạo chú thích hình ảnh - Image Caption Generation (Xu et al., 2015[34]), tạo các cuộc hội thoại - Dialogue Generation (Wen et al., 2015[35]).
Hình 1.12: Kiến trúc mạng RNN - Nguồn: [85].Cơ bản, mạng RNN có cấu trúc như sau: Cơ bản, mạng RNN có cấu trúc như sau:
• st là trạng thái ẩn tại bước t. Nó chính là bộ nhớ của mạng. st được tính toán dựa trên cả các trạng thái ẩn phía trước và đầu vào tại bước đó:st = f(U xt+W st−1). Hàm f thường là một hàm phi tuyến tính như tanh hay ReLu. Để làm phép toán cho phần tử ẩn đầu tiên ta cần khởi tạo thêm s−1, thường giá trị khởi tạo được gắn bằng 0.
• ot là đầu ra tại bước t. Ví dụ, ta muốn dự đoán từ tiếp theo có thể xuất hiện trong câu thì ot chính là một vector xác xuất các từ trong danh sách từ vựng của ta: ot =softmax(V st)
Huấn luyện mạng RNN cũng tương tự như các mạng nơ-ron truyền thống, tuy nhiên giải thuật lan truyền ngược (backpropagation) phải thay đổi một chút. Đạo hàm tại mỗi đầu ra phụ thuộc không chỉ vào các tính toán tại bước đó, mà còn phụ thuộc vào các bước trước đó nữa, vì các tham số trong mạng RNN được sử dụng chung cho tất cả các bước trong mạng.