Thuật toán học lan truyền ngƣợc thời gian

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu mô hình ngôn ngữ dựa trên mạng nơron (Trang 35 - 38)

Chƣơng 2 : MÔ HÌNH NGÔN NGỮ MẠNG NƠRON

2.2 Mô hình ngôn ngữ mạng nơron hồi quy

2.2.2 Thuật toán học lan truyền ngƣợc thời gian

Thuật toán huấn luyện ở phần trƣớc là thuật toán lan truyền ngƣợc thông thƣờng và mạng nơron hồi quy giống với mạng nơron truyền thẳng với một tầng ẩn, khi đó trạng thái tầng vào chỉ phụ thuộc vào trạng thái tầng ẩn ở bƣớc trƣớc đó. Trạng thái của tầng ẩn chỉ đƣợc lƣu lại một lần cho bƣớc sau và trạng thái trƣớc đó nữa không đƣợc sử dụng. Nhƣ vậy, mạng huấn luyện không đƣợc tối ƣu. Nếu mạng có thể lƣu thông tin nhiều lần sẽ cho kết quả tốt hơn. Do đó, thuật toán học đƣợc mở rộng để lƣu lại thông tin của tầng ẩn – thuật toán này gọi là thuật toán lan truyền ngược thời gian (backpropagation through time). Ý tƣởng của thuật toán là với một tầng ẩn sử

dụng cho N bƣớc, xem nhƣ là mạng lan truyền ngƣợc sâu với N tầng ẩn. Ý tƣởng này đã đƣợc giới thiệu trong [15] và mô tả ở hình 2.3.

Hình 2.3: Mạng nơron lan truyền ngược thời gian với 3 bước hồi quy

Mạng nơron hồi quy sử dụng kỹ thuật tụt dốc gradient để huấn luyện. Các lỗi đƣợc làn truyền ngƣợc từ tầng ẩn tại bƣớc s(t) về bƣớc trƣớc đó là s(t-1) và cập nhật ma trận trọng số hồi quy W (xem hình 2.3). Lỗi lan truyền tính đệ quy nhƣ sau:

𝑒𝑕 𝑡 − 𝜏 − 1 = 𝑑𝑕 𝑒𝑕(𝑡 − 𝜏)𝑇𝑊, 𝑡 − 𝜏 − 1 (2.18)

Hàm dh đã định nghĩa ở công thức (2.13). Công thức (2.18) sử dụng cho nhiều bƣớc hồi quy trong mạng nơron và lỗi gradient bị khử nhanh chóng sau khi lan truyền. Với mô hình ngôn ngữ dựa trên từ sử dụng mạng nơron lan truyền ngƣợc thời gian có thể cài đặt 5 bƣớc hồi quy. Ma trận trọng số U tính lại khi huấn luyện:

𝒖𝒊𝒋 𝒕 + 𝟏 = 𝒖𝒊𝒋 𝒕 + 𝒘𝒊 𝒕 − 𝒛 𝒆𝒉𝒋 𝒕 − 𝒛 𝜶 𝑻

𝒛=𝟎

− 𝒖𝒊𝒋 𝒕 𝜷 (𝟐. 𝟏𝟗)

với T là số bƣớc hồi quy. Công thức (2.19) viết lại ngắn gọn nhƣ sau:

𝑼 𝒕 + 𝟏 = 𝑼 𝒕 + 𝑾 𝒕 − 𝒛 𝒆𝒉(𝒕 − 𝒛)𝑻𝜶 𝑻

𝒛=𝟎

− 𝑼 𝒕 𝜷 (𝟐. 𝟐𝟎)

Từ công thức (2.19) có thể thấy các trọng số của ma trận U đƣợc cộng thêm một giá trị khá lớn trong quá trình lan truyền lỗi. Điều này sẽ gây ra sự mất cân bằng của quá trình huấn luyện dữ liệu. Tƣơng tự với trọng số của ma trận hồi quy W:

𝑤𝑙𝑗 𝑡 + 1 = 𝑤𝑙𝑗 𝑡 + 𝑠𝑙 𝑡 − 𝑧 − 1 𝑒𝑕𝑗 𝑡 − 𝑧 𝛼 − 𝑤𝑙𝑗 𝑡 𝛽 (2.21) 𝑇

𝑧=0

tƣơng đƣơng với công thức:

𝑾 𝒕 + 𝟏 = 𝑾 𝒕 + 𝒔 𝒕 − 𝒛 − 𝟏 𝒆𝒉(𝒕 − 𝒛)𝑻𝜶 − 𝑾 𝒕 𝜷 (𝟐. 𝟐𝟐) 𝑻

𝒛=𝟎

Theo thuật toán học, nếu mạng càng mở rộng (lƣu thông tin của nhiều bƣớc trƣớc) thì việc tính toán tăng lên, cỡ W, với T là số bƣớc hồi quy và W là số từ trong tập huấn luyện. Để giảm các phép tính toán mạng chỉ cập nhật lại các trọng số hồi quy sau khi xử lý số lƣợng nhỏ dữ liệu (ví dụ sau khi xử lý 10-20 từ).

Hình 2.4: Các giá trị gradient được lan truyền trong mạng nơron hồi quy

Để cho quá trình tính toán đƣợc ổn định nên sử dụng giá trị có độ chính xác gấp đôi thay cho độ chính xác đơn. Vì mạng nơron hồi quy tính toán phức tạp hơn rất nhiều so với mạng nơron truyền thẳng, sau mỗi bƣớc các trọng số đƣợc cộng thêm một giá trị lớn nên cá giá trị gradient lỗi đƣợc giới hạn trong khoảng [-15;15].

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu mô hình ngôn ngữ dựa trên mạng nơron (Trang 35 - 38)

Tải bản đầy đủ (PDF)

(62 trang)