Mạng nơ ron truyền thống bao gồm 3 phần chợnh lỏ tầng đầu vỏo (input
layer), tầng ẩn (hidden layer) vỏ tầng đầu ra (output layer). Cõc tầng đầu vỏo vỏ
đầu ra của mạng nơ ron nỏy độc lập với nhau. Do vậy, mừ hớnh nỏy khừng phỳ hợp với những bỏi tõn dạng chuỗi như mừ tả, hoỏn thỏnh cĩu,… vớ những dự đõn tiếp theo (như từ tiếp theo) phụ thuộc vỏo vị trợ của nụ trong cĩu vỏ những từ đằng trước nụ. Mạng nơ ron RNN (Recurrent Neural Network) [116] được
lỏ hồi quy (Recurrent) bởi lẽ chỷng thực hiện cỳng một tõc vụ cho tất cả cõc phần tử của một chuỗi với đầu ra phụ thuộc vỏo cả cõc phờp tợnh trước đụ. Nụi cõch khõc, RNN cụ khả năng nhớ cõc thừng tin được tợnh tõn trước đụ. Trởn lý thuyết, RNN cụ thể sử dụng được thừng tin của một văn bản rất dỏi, tuy nhiởn thực tế thớ nụ chỉ cụ thể nhớ được một vỏi bước trước đụ. Về cơ bản một mạng RNN cụ dạng như sau:
Hớnh 1.3. Mừ hớnh mạng RNN
Mừ hớnh trởn thể hiện một mạng nơ ron RNN của chuỗi tuần tự. Giả sử biểu diễn mạng nơ ron RNN của một chuỗi gồm n từ thớ mạng nơ ron sẽ gồm n tầng tương ứng với mỗi từ một tầng. Giả sử U lỏ cõc ma trận trọng số giữa đầu vỏo vỏ tầng ẩn, W lỏ ma trận trọng số giữa cõc tầng ẩn, V lỏ ma trận trọng số giữa tầng ẩn vỏ đầu ra, khi đụ việc tợnh tõn bởn trong RNN được thực hiện như sau:
- xt lỏ đầu vỏo tại bước t.
- st lỏ trạng thõi ẩn tại bước t. Đĩy chợnh lỏ bộ nhớ của mạng. st được tợnh
tõ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 đụ theo cừng thức: st = f(Uxt + Wst-1). Hỏm f thường lỏ một hỏm phi tuyến tợnh như tang
hyperbolic (tanh) hay ReLu. Để lỏm phờp tõ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 bằng 0.
- ot lỏ đầu ra tại bước t. Vợ dụ, ta muốn dự đõn từ tiếp theo cụ thể xuất
hiện trong cĩu thớ ot lỏ một vờc tơ xõc xuất cõc từ trong danh sõch từ vựng thớ ot
= softmax(Vst)
vỏ kợch cỡ mừ hớnh khừng tăng theo kợch cỡ đầu vỏo. Bởn cạnh đụ, việc sử dụng cõc thừng tin của cõc bước tợnh tõn trước đụ lỏ cơ sở để giải quyết nhiều lớp bỏi tõn như mừ tả hớnh ảnh, nhận dạng giọng nụi, dịch mõy.