Một bidirectional Recurrent Neural Network được xây dựng trên đỉnh của các tầng Convolutinal, được xem như tầng recurrent, tầng recurrent có nhiệm vụ dự đoán một phân phối 𝑦𝑡 cho mỗi frame của chuỗi đặc trưng 𝑋 = 𝑥1, … … 𝑥𝑇 Những lợi thế của tầng recurrent là:
• Mô hình RNN có khả năng mạnh mẽ trong lưu giư nội dung dạng chuỗi. • Xử lý trên nội dung chuỗi là phù hợp và hưu dụng hơn nhiều so với xử lý trên
tầng kí tự riêng lẻ. Bởi vì ví dụ như nhận dạng chuỗi trên bức ảnh thì việc xác định tầng kí tự rất khó khăn và khi ấy có nhiều trường sẽ dễ bị nhầm lẫn giưa các kí tự đơn lẻ ví dụ như chữ cái “i” và chữ cái “l”
40 • Việc tối ưu của RNN là tối ưu hàm mất mát CTC, có thể sử dụng thuật toán
lan truyền ngược để tìm nghiệm tối ưu cho hàm mất mát này. Điều này dẫn đến sự kết hợp với các tầng convolution để tạo thành một mạng thống nhất. • RNN có thể thực hiện trên các chuỗi với độ dài thay đổi
Để hiểu thêm về tầng này, dưới đây sẽ trình bày ngắn gọn về mạng RNN và sử dụng LSTM để khắc phục nhưng hạn chế của RNN.
Nếu sử dụng DL với đầu vào là ảnh thì có hai mạng nổi tiếng đó là CNN và RNN, trong đó RNN cho bài toán dữ liệu đầu vào là chuỗi, bởi vì một chuỗi các sự kiện sẽ có mối liên quan lẫn nhau. Nên chỉ xử lý tầng thời điểm riêng lẻ sẽ không có đủ thông tin để đưa ra câu trả lời chính xác nên từ đó mạng RNN ra đời nhằm giải quyết vấn đề này, dưới đây là cấu trúc của mạng RNN
Hình 4.0.2 Mô hình RNN Các thuộc tính
• 𝑥1là đầu vào tại bước
• 𝑠𝑡là trạng thái ẩn tại bước t , đó là bộ nhớ của mạng. 𝑠𝑡 được tính dựa trên trạng thái trước đó và đầu vào tại đó
41 Hàm f thường dùng là một hàm phi tuyến, thường sử dụng hàm 𝑡𝑎𝑛ℎhoặc ở thời điểm đầu tiên là 𝑠−1 thường được khởi tạo là 0
𝑜𝑡 là đầu ra tại thời điểm t , như vậy muốn xác định từ xuất hiện tiếp theo thì 𝑜𝑡 là xác xuất của các từ trong từ điển, hay
𝑜𝑡 = 𝑠𝑜𝑓𝑡𝑚𝑎𝑥(𝑉𝑠𝑡)
Nhưng thực tế RNN không thể xử lý với các phụ thuộc xa, đó là một vấn đề đã được chứng minh của Hochreiter và Bengio được trình bày trong bài báo của mình. Từ nhưng hạn chế của RNN mạng LSTM ra đời nhằm giải quyết nhưng nhược điểm trên, LSTM là một dạng đặc biệt của RNN
Việc ghi nhớ thông tin là một tính chất của mạng LSTM, sau đây là cấu trúc mạng
Hình 4.0.3 Cấu trúc mạng LSTM
TT Kí hiệu Nội dung
1 Tầng mạng
2 Phép toán
42
4 Kết hợp nội dung
5 Sao chép nội dung
Bảng 4.1 Các kí hiệu
Để giải thích rõ tại sao LSTM làm việc hiệu quả, tôi xin trình bày sơ qua về các thành phần trong mỗi khối mạng
Trạng thái của các khối mạng như một băng chuyền, nó chuyền từ khối này sang khối tiếp theo trong mạng. Gần như thông tin ít bị thay đổi bởi ở các mắt xích chỉ tương tác tuyến tính.
Hình 4.0.4 Hình minh họa thông tin được truyền đi
Một khối mạng đều có khả năng ghi nhớ cũng như bỏ đi các thông tin không cần thiết bằng các cổng của nó, điều này được thực hiện bởi tầng mạng 𝑠𝑖𝑔𝑚𝑜𝑖𝑑và một phép nhân
43 Hình 4.0.5 Tầng mạng và phép nhân
Sốlượng thông tin có thể đi qua được quyết định bởi hàm số𝑠𝑖𝑔𝑚𝑜𝑖𝑑 , miền giá trị của hàm 𝑠𝑖𝑔𝑚𝑜𝑖𝑑 nằm trong khoảng [0,1]. Nếu là 0 thì không cho thông tin đi qua, nếu là 1 nghĩa là cho tất cả thông tin đi qua
Để cho tiết hơn về LSTM sẽ đi sâu vào bên trong LSTM
Đầu tiên là đưa ra quyết định nhưng thông tin cần bỏ từ khối. Điều này được thực hiện bởi hàm 𝑠𝑖𝑔𝑚𝑜𝑖𝑑, hay gọi với một tên khác là “tầng cổng quên”. Với đầu vào là ℎ𝑡−1 và 𝑥𝑡 đi qua hàm 𝑠𝑖𝑔𝑚𝑜𝑖𝑑, vậy kết quả của hàm 𝑠𝑖𝑔𝑚𝑜𝑖𝑑 là một số thuộc [0, 1] quyết định lượng thông tin đi qua.
Hình 4.0.6 Hình minh họa cổng quên
44 Sau khi quyết định thông tin đi qua cổng hay không thì bước tiếp theo sẽ là xem xét thông tin nào sẽ lưu lại trong khối. Ở bước này được chia thành hai phần
• Sử dụng sigmoid để quyết định thông tin được cập nhật, biến đổi thông tin bằng cách sử dụng hàm tạo ra giá trị mới để cập nhật trạng thái.
• Sử dụng kết quả trên để cập nhật trạng thái của khối
Hình 4.0.7 Hình mô tả cập nhật khối
𝑖𝑡 = 𝜎(𝑊𝑖. [ℎ𝑡−1, 𝑥𝑡] + 𝑏𝑖) PT 5.2
𝐶̃ = tanh (𝑊𝑡 𝑐. [ℎ𝑡−1, 𝑥𝑡] + 𝑏𝑐)
Như vậy trạng thái 𝐶𝑡−1 cũ trước đó được cập nhật thành trạng thái mới 𝐶𝑡 . Bằng cách nhân trang thái cũ với ft, bởi ft quyết định lượng thông tin sẽ quên, sau đó thêm thông tin mới vào, tức là cộng thêm 𝑖𝑡∗ 𝐶̃𝑡 . Như vậy trạng thái mới phụ thuộc nhiều vào quyết định trước đó
45
Hình 4.0.8 Hình mô tả quá trình cập nhật trạng thái mới
Phương trình tương đương
𝐶𝑡 = 𝑓𝑡 ∗ 𝐶𝑡−1 + 𝑖𝑡 ∗ 𝐶̃𝑡 PT5.4
Mỗi một trạng thái của khối sẽ quyết định giá trị đầu ra, để xác định giá trị đầu ra cần thực hiện các bước sau
• Dùng tầng sigmoid đểxác định thông tin cần đưa ra từ khối, sử dụng hàm 𝑡𝑎𝑛ℎ chuyển trạng thái tế bào về khoảng [-1, 1]
• Thực hiện phép nhân của kết quả thực hiện bởi hàm tanh ở trên với giá trị đầu ra
Hình 4.0.9 Hình mô tả qúa trình xác định đầu ra