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
58 trang |
Chia sẻ: Thục Anh | Ngày: 12/05/2022 | Lượt xem: 584 | Lượt tải: 0
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:
- bai_giang_hoc_sau_va_ung_dung_bai_9_mang_hoi_quy.pdf