Chương 2 CÁC KIẾN THỨC NỀN TẢNG
2.1. Cỏc kỹ thuật học sõu cơ sở
2.1.3. Mạng nơron hồi quy
2.1.3.1. Mụ hỡnh mạng nơ ron hồi quy
í tưởng của mạng nơ ron hồi quy (RNN - Recurrent neural network) [87] là thiết kế một mạng nơ ron cú khả năng xử lý được thụng tin dạng chuỗi. Mạng nơ ron hồi quy là mụ hỡnh học sõu đó đạt được nhiều kết quả trong cỏc nhiệm vụ xử lý ngụn ngữ tự nhiờn (NLP - Natural language processing). RNN là một mụ hỡnh cú nhớ (memory), cú khả năng nhớ được thụng tin đó tớnh toỏn trước đú. RNN 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 tớnh toỏn trước đú. Hỡnh 2.4 biểu diễn mụ hỡnh mạng nơ ron hồi quy được triển khai chi tiết.
Hỡnh 2.4. Mụ hỡnh mạng nơ ron hồi quy [87]
trong đú:
- xtlà đầu vào tại bước t.
- stlà trạng thỏi ẩn tại bước t (là bộ nhớ của mạng), được tớnh toỏn dựa trờn cỏc trạng thỏi ẩn phớa trước và đầu vào tại bước đú theo cụng thức:
1
t t t
s f Ux Ws (2.4) với: f là một hàm phi tuyến như hàm tanh, sigmoid hoặc ReLU. Để thực hiện phộp toỏn cho phần tử ẩn đầu tiờn ta khởi tạo thờm s-1 và giỏ trị khởi tạo thường được gỏn bằng 0.
- ot là đầu ra tại bước t, là một vộc tơ xỏc suất cỏc từ trong bộ từ vựng:
t t
o softmax Vs (2.5) - Vộc tơ đầu ra ot sẽ được sử dụng cho những dự đoỏn tiếp theo.
2.1.3.2. Huấn luyện mạng nơ ron hồi quy
Nếu xột tại một thời điểm, hoạt động của RNN giống như mạng nơ ron truyền thống: Dữ liệu từ đầu vào sẽ được tớnh toỏn qua nhiều lớp và đưa đặc trưng thu được ra đầu ra. Tuy nhiờn, RNN khỏc với mạng nơ ron truyền thống, việc đưa đặc trưng từ mẫu dữ liệu trước vào đầu vào của mẫu dữ liệu sau để học ra mối quan hệ là: Tại thời điểm t, RNN tớnh toỏn được đầu ra là ot, giỏ trị này sẽ được truyền vào lại mụ hỡnh tại thời điểm (t+1) để tớnh toỏn cho mẫu dữ liệu tiếp theo và được đầu ra ot+1.
RNN được huấn luyện bằng thuật toỏn lan truyền ngược nhưng việc lan truyền ngược là lan truyền ngược liờn hồi (BPTT - Backpropagation Through Time) [80]. Do đú, thuật toỏn lan truyền ngược được thay đổi lại là: Hướng giảm của đạo hàm (gradient descent) tại mỗi đầu ra phụ thuộc vào cỏc tớnh toỏn tại bước hiện tại và cỏc bước trước đú (do bộ tham số trong RNN được sử dụng chung cho tất cả cỏc bước). Với cỏc bước phụ thuộc càng xa, việc học càng khú khăn vỡ xuất hiện vấn đề biến
mất gradient/bựng nổ gradient (vanishing/exploding gradient).
Vớ dụ: Để tớnh gradient descent tại bước t = 4, ta phải lan truyền ngược cả 3
bước phớa trước, rồi cộng tổng gradient descent lại với nhau. Việc tớnh toỏn này được gọi là lan truyền ngược liờn hồi.