Bài giảng Học sâu và ứng dụng - Bài 9: Mạng hồi quy

Nội dung

• Bài toán dự đoán chuỗi

• Mạng hồi quy thông thường

• Lan truyền ngược theo thời gian (BPTT)

• Mạng LSTM và GRU

• Một số áp dụng

pdf58 trang | Chia sẻ: Thục Anh | Ngày: 12/05/2022 | Lượt xem: 593 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Bài giảng Học sâu và ứng dụng - Bài 9: Mạng hồi quy, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1 Bài 9: Mạng hồi quy 2 Nội dung • Bài toán dự đoán chuỗi • Mạng hồi quy thông thường • Lan truyền ngược theo thời gian (BPTT) • Mạng LSTM và GRU • Một số áp dụng 3 Bài toán dự đoán chuỗi 4 Bài toán dự đoán chuỗi • Trước giờ, ta chỉ tập trung vào vấn đề dự đoán với đầu vào và đầu ra kích thước cố định • Chuyện gì sẽ xảy ra nếu đầu vào và đầu ra là một chuỗi có kích thước thay đổi? 5 Phân lớp văn bản • Phân loại sắc thái (sentiment): phân loại bình luận một nhà hàng hay một bộ phim hay một sản phẩm là tích cực hay tiêu cực • “The food was really good” - “Thức ăn rất ngon” • “Máy hút bụi bị hỏng trong vòng hai tuần” • “Bộ phim có những phần buồn tẻ, nhưng tổng thể là rất đáng xem” • Cần dùng đặc trưng gì và mô hình phân loại gì để giải quyết bài toán này? 6 Phân loại sắc thái • “The food was really good” 7 “The” “food” h1 h2 “good” h4 h5 Classifier “was” h3 “really” Trạng thái ẩn “Memory” “Context” Recurrent Neural Network (RNN) Mô hình ngôn ngữ 8 Mô hình ngôn ngữ • Character RNN 9 Image source Character RNN 10 Trạng thái ẩn hi Mã hóa One-hot xi Kí tự đầu ra yi Ký tự đầu vào Lớp đầu ra (biến đổi tuyến tính + softmax) 𝑝 𝑦!, 𝑦", , 𝑦#=&$%!# 𝑝(𝑦$|𝑦!, , 𝑦$&!)≈&$%!# 𝑃'(𝑦$|ℎ$) Sinh mô tả bức ảnh • Cho một bức ảnh, cần sinh ra một câu mô tả nội dung bức ảnh 11 “The dog is hiding” Sinh mô tả bức ảnh 12 CNN h1 h2h0 “The” “dog” h1 h2 Bộ phân loại Bộ phân loại “STOP” h5 Bộ phân loại h4 “The” “hiding” h3 “is” h3 Bộ phân loại “dog” “hiding” h4 Bộ phân loại “is”“START” Dịch máy 13 https://translate.google.com/ Dịch máy • Nhiều đầu vào – nhiều đầu ra (hay còn gọi là sequence to sequence) 14 “Correspondances” “La” “nature” “Matches” “Nature” “is” Tổng hợp các loại dự đoán Sinh mô tả ảnh 15 Phân loại sắc thái câu Dịch máy Phân loạivideo mức frame Phân lớp ảnh Mạng hồi quy thông thường 16 Mạng hồi quy Recurrent Neural Network (RNN) 17 Lớp ẩn Bộ phân loại Dữ liệu vào tại thời điểm t Trạng thái ẩn tại thời điểm t Đầu ra tại thời điểm t xt ht yt Hồi quy:ℎ! = 𝑓"(𝑥! , ℎ!#$) new state input at time t old state function of W Duỗi (unroll) RNN 18 Lớp ẩn Bộ phân loại t = 1 Lớp ẩn Bộ phân loại Lớp ẩn Bộ phân loại t = 2 t = 3 h0 y1 y2 y3 h1 h2 h3 x1 x2 x3 h1 h2 h3 RNN thông thường 19 ht ht-1 W xt ℎ- = 𝑓.(𝑥- , ℎ-/0)= tanh𝑊 𝑥-ℎ-/0 J. Elman, Finding structure in time, Cognitive science 14(2), pp. 179–211, 1990 RNN thông thường 20 ht ht-1 W xt ℎ- = 𝑓.(𝑥- , ℎ-/0)= tanh𝑊 𝑥-ℎ-/0 tanh 𝑎 = 𝑒! − 𝑒"!𝑒! + 𝑒"!= 2𝜎 2𝑎 − 1tanh 𝑎𝜎 𝑎 Image source RNN thông thường 21 ht ht-1 W xt ℎ- = 𝑓.(𝑥- , ℎ-/0)= tanh𝑊 𝑥-ℎ-/0 𝑑𝑑𝑎 tanh 𝑎 = 1 − tanh)(𝑎) Image source RNN thông thường 22 ht ht-1 W xt ℎ- = 𝑓.(𝑥- , ℎ-/0)= tanh𝑊 𝑥-ℎ-/0= tanh 𝑊1𝑥- +𝑊2ℎ-/0 ℎ!"# 𝑥!𝑊! n-dim. m-dim. 𝑊" n m m RNN Forward Pass 23 h1 e1 y1 h2 e2 y2 h3 e3 y3 Dùng chung trọng số (shared weights)h0 x1 h1 x2 h2 x3 ℎ# = tanh𝑊 𝑥#ℎ#$% 𝑦# = softmax(𝑊&ℎ#)𝑒# = −log(𝑦#(𝐺𝑇#)) Lan truyền ngược theo thời gian (BPTT) 24 Lan truyền ngược theo thời gian (BPTT) • Đây là phương pháp thông dụng nhất để huấn luyện RNNs • Mạng sau khi duỗi được xem như một mạng nơ-ron feed-forward lớn nhận dữ liệu đầu vào là cả chuỗi dữ liệu • Gradient đối với một trọng số mạng RNN được tính tại mỗi bản sao của nó trong mạng duỗi (unfolded network), sau đó được cộng lại (hoặc tính trung bình) và được sử dụng để cập nhật trọng số mạng. 25 Tính toán tiến (forward pass) mạng RNN duỗi 26 h1 e1 y1 h2 e2 y2 h3 e3 y3 h0 x1 h1 x2 h2 x3 ℎ# = tanh𝑊 𝑥#ℎ#$% 𝑦# = softmax(𝑊&ℎ#)𝑒# = −log(𝑦#(𝐺𝑇#)) Tính toán tiến (forward pass) mạng RNN duỗi 27 h1 e1 y1 h2 e2 y2 h3 e3 y3 h0 x1 h1 x2 h2 x3 ℎ# = tanh𝑊 𝑥#ℎ#$% 𝑦# = softmax(𝑊&ℎ#)𝑒# = −log(𝑦#(𝐺𝑇#)) Lan truyền ngược mạng RNN 29 ht ht-1 W xt ℎ( = tanh 𝑊)𝑥( +𝑊*ℎ(&!𝜕𝑒𝜕𝑊* = 𝜕𝑒𝜕ℎ(⨀ 1 − tanh" 𝑊)𝑥( +𝑊*ℎ(&! ℎ(&!+𝜕𝑒𝜕𝑊) = 𝜕𝑒𝜕ℎ(⨀ 1 − tanh" 𝑊)𝑥( +𝑊*ℎ(&! 𝑥(+𝜕𝑒𝜕ℎ(&! = 𝑊*+ 1 − tanh" 𝑊)𝑥( +𝑊*ℎ(&! ⨀ 𝜕𝑒𝜕ℎ( 𝜕𝑒𝜕ℎ#𝜕𝑒𝜕𝑊 𝜕𝑒𝜕ℎ#$% Lỗi từ yt Lỗi từ dự đoán ở các bước tương lai Lan truyền ngươc tới các bước sớm hơn Lan truyền ngược mạng RNN 30 h1 e1 y1 h2 e2 y2 h3 e3 y3 h0 x1 h1 x2 h2 x3 Xét =>#=?$ với 𝑘 ≪ 𝑛 𝜕𝑒𝜕ℎ#$% = 𝑊!' 1 − tanh( 𝑊"𝑥# +𝑊!ℎ#$% ⨀ 𝜕𝑒𝜕ℎ# Giá trị hàm tanh lớn sẽ tương ứng với gradient nhỏ (vùng bão hòa) Lan truyền ngược mạng RNN 31 h1 e1 y1 h2 e2 y2 h3 e3 y3 h0 x1 h1 x2 h2 x3 Xét =>#=?$ với 𝑘 ≪ 𝑛 𝜕𝑒𝜕ℎ#$% = 𝑊!' 1 − tanh( 𝑊"𝑥# +𝑊!ℎ#$% ⨀ 𝜕𝑒𝜕ℎ# Gradient sẽ triệt tiêu nếu giá trị riêng lớn nhất của𝑊! nhỏ hơn 1 Chi tiết xem tại khóa cs224n 32 Chi tiết xem tại khóa cs224n 33 Mạng LSTM và GRU 34 Long Short-Term Memory (LSTM) • Sử dụng thêm “cell” có bộ nhớ để tránh hiện tượng triệt tiêu gradient 35 S. Hochreiter and J. Schmidhuber, Long short-term memory, Neural Computation 9 (8), pp. 1735–1780, 1997 xt ht-1 ct-1 ht ct LSTM Cell 36 Cell ht xt ht-1 ct Wg 𝑐! = 𝑐!"# + 𝑔! ℎ! = tanh 𝑐!𝑔! = tanh𝑊$ 𝑥!ℎ!"# LSTM Cell 37 Cell ht xt ht-1 ct Wg 𝑔! = tanh𝑊$ 𝑥!ℎ!"# LSTM Cell 38 itInput Gate ht xt ht-1 ct xt ht-1 Wi 𝑖! = 𝜎 𝑊% 𝑥!ℎ!"# + 𝑏% . 𝑐! = 𝑐!"# + 𝑖!⨀𝑔! CellWg 𝑔! = tanh𝑊$ 𝑥!ℎ!"# LSTM Cell 39 it otInput Gate Output Gate ht xt ht-1 xt ht-1 ct xt ht-1 Wi Wo 𝑖! = 𝜎 𝑊% 𝑥!ℎ!"# + 𝑏% 𝑜! = 𝜎 𝑊& 𝑥!ℎ!"# + 𝑏& ℎ! = 𝑜!⨀ tanh 𝑐!. . 𝑐! = 𝑐!"# + 𝑖!⨀𝑔! CellWg 𝑔! = tanh𝑊$ 𝑥!ℎ!"# LSTM Cell 40 it ot ft Input Gate Output Gate Forget Gate xt ht-1 Cell ct xt ht-1 xt ht-1 xt ht-1 Wi Wf . . 𝑖! = 𝜎 𝑊% 𝑥!ℎ!"# + 𝑏% 𝑜! = 𝜎 𝑊& 𝑥!ℎ!"# + 𝑏& 𝑐! = 𝑓!⨀𝑐!"# + 𝑖!⨀𝑔! 𝑓! = 𝜎 𝑊' 𝑥!ℎ!"# + 𝑏' ℎ! = 𝑜!⨀ tanh 𝑐!htWg 𝑔! = tanh𝑊$ 𝑥!ℎ!"# Wo LSTM Forward Pass Summary • 𝑔C𝑖C𝑓C𝑜C = tanh𝜎𝜎𝜎 𝑊D𝑊E𝑊F𝑊G 𝑥CℎC"H • 𝑐C = 𝑓C⨀𝑐C"H + 𝑖C⨀𝑔C • ℎC = 𝑜C⨀ tanh𝑐C 41 Figure source Lan truyền ngược LSTM • Luồng gradient từ 𝑐C tới 𝑐C"H chỉ lan truyền ngược qua phép cộng và nhân từng phần tử, không đi qua phép nhân ma trận và hàm tanh 42 Figure source For complete details: Illustrated LSTM Forward and Backward Pass Gated Recurrent Unit (GRU) • Không dùng “cell state” riêng biệt, ghép chung với hidden state • Kết hợp cổng “forget” và “output” thành cổng “update” 43 zt rt Update Gate Reset Gate ht xt ht-1 xt ht-1 ht-1 W Wz Wf xt h’t . Gated Recurrent Unit (GRU) 44 Wxt ht ℎ# = tanh𝑊 𝑥#ℎ#$% ht-1 Gated Recurrent Unit (GRU) 45 rt Reset Gate xt ht-1 W Wf xt h’t 𝑟# = 𝜎 𝑊) 𝑥#ℎ#$% + 𝑏# ℎ#* = tanh𝑊 𝑥#𝑟# ⨀ ℎ#$% ht-1 . Gated Recurrent Unit (GRU) 46 zt rt Update Gate Reset Gate xt ht-1 xt ht-1 W Wf xt h’t 𝑟# = 𝜎 𝑊) 𝑥#ℎ#$% + 𝑏# ℎ#* = tanh𝑊 𝑥#𝑟# ⨀ ℎ#$% 𝑧# = 𝜎 𝑊+ 𝑥#ℎ#$% + 𝑏+ Wz ht-1 . Gated Recurrent Unit (GRU) 47 zt rt Update Gate Reset Gate ht xt ht-1 xt ht-1 W Wz Wf xt h’t 𝑟# = 𝜎 𝑊) 𝑥#ℎ#$% + 𝑏# ℎ#* = tanh𝑊 𝑥#𝑟# ⨀ ℎ#$% 𝑧# = 𝜎 𝑊+ 𝑥#ℎ#$% + 𝑏+ ℎ# = 1 − 𝑧# ⨀ ℎ#$%+ 𝑧#⨀ ℎ#* ht-1 . RNNs nhiều lớp • Có thể thiết kế RNNs với nhiều lớp ẩn 48 x1 x2 x3 x4 x5 x6 y1 y2 y3 y4 y5 y6 RNNs hai chiều • RNNs có thể xử lý chuỗi đầu vào theo chiều ngược vào chiều xuôi 49 x1 x2 x3 x4 x5 x6 y1 y2 y3 y4 y5 y6 • Phổ biến trong nhận dạng âm thanh Một số ví dụ ứng dụng 50 RNN The RNN food h1 h2 RNN good hn-1 hn Linear Classifier Phân loại chuỗi 51 IgnoreIgnore h1 h2 RNN The RNN food h1 h2 RNN good hn-1 h = Sum() h1 h2 hn Linear Classifier Phân loại chuỗi 52 Bi-RNN The Bi-RNN food h1 h2 Bi-RNN good hn-1 h = Sum() h1 h2 hn Linear Classifier Phân loại chuỗi 53 Character RNN 54 100th iteration 300th iteration 700th iteration 2000th iteration Image source Image Caption Generation 55 CNN h1 h2h0 “The” “dog” h1 h2 Classifier Classifier “STOP” h5 Classifier h4 “The” “hiding” h3 “is” h3 Classifier “dog” “hiding” h4 Classifier “is”“START” Sinh mô tả ảnh 56 Dịch máy 57 Sequence-to-sequence Encoder-decoder I. Sutskever, O. Vinyals, Q. Le, Sequence to Sequence Learning with Neural Networks, NIPS 2014 K. Cho, B. Merrienboer, C. Gulcehre, F. Bougares, H. Schwenk, and Y. Bengio, Learning phrase representations using RNN encoder-decoder for statistical machine translation, ACL 2014 Tài liệu tham khảo 1. Khóa cs231n của Stanford: 2. Khóa cs244n của Stanford: 2020-lecture06-rnnlm.pdf 2020-lecture07-fancy-rnn.pdf 3. Training RNNs: 58 Chân thành cảm ơn!!! 59

Các file đính kèm theo tài liệu này:

  • pdfbai_giang_hoc_sau_va_ung_dung_bai_9_mang_hoi_quy.pdf