Mạng đa lớp thuật toán lan truyền ngược
Trang 1MẠNG ĐA LỚP THUẬT TOÁN LAN TRUYỀN NGƯỢC
nhóm 1
1
Trang 2THUẬT TOÁN LAN TRUYỀN NGƯỢC
• Vector gradient của mặt phẳng sai số.
• Chỉ ra đường giảm dốc nhất vì vị trí hiện tại , từ đó quyết định di chuyển để đạt được giá trị cực tiểu toàn cục.
• Khó khăn ở độ lớn bước di chuyển.
2
Trang 3NGƯỠNG SIGMOID
σ (y) = 1
1 + e-y dσ(y)
dy = σ(y) (1 - σ(y))
x1 x2
xn
w1 w2
wn
x1 = 1
w0
net = ∑ wixi
1
o = σ (net) =
1 + e-net
3
Trang 4THUẬT TOÁN LAN TRUYỀN NGƯỢC
Hàm lỗi:
E(w) = ½ ∑ d ∈ D ∑ k ∈ outputs (tkd – okd)2
ouputs: tập tất cả các nơ-ron đầu ra của mạng
tkd , okd : là giá trị đích và giá trị đầu ra tương ứng của nơ-ron
thứ k ứng với mẫu học d
4
Trang 5THUẬT TOÁN LAN TRUYỀN NGƯỢC
BackPropagation (training_examples, ƞ, nin, nout, nhidden)
in
ni n
hidden
nhidd en
out
nout
Tạo mạng truyền thẳng gồm:
nin đầu vào, nhidden nơ-ron tầng ẩn, nout nơ-ron đầu ra
5
Trang 6THUẬT TOÁN LAN TRUYỀN NGƯỢC
BackPropagation (training_examples, ƞ, nin, nout, nhidden)
in
ni n
hidden
nhidd en
out
nout
Khởi tạo bộ trọng cho mạng với giá trị nhỏ
6
Trang 7THUẬT TOÁN LAN TRUYỀN NGƯỢC
BackPropagation (training_examples, ƞ, nin, nout, nhidden)
in
ni n
hidden
nhidd en
out
nout
Trong khi <điều kiện kết thúc chưa thỏa> làm:
Với mỗi cặp (x, t) trong không gian mẫu huấn luyện thực hiện:
1 Đưa giá trị đầu vào x qua mạng và tính đầu
ra ou ứng với mỗi nơ-ron u trong mạng
7
Trang 8THUẬT TOÁN LAN TRUYỀN NGƯỢC
BackPropagation (training_examples, ƞ, nin, nout, nhidden)
in
ni n
hidden
nhidd en
out
nout
2 Với mỗi nơ-ron đầu ra k, ta tính giá trị lỗi δk
δk= ok(1 – ok)(tk – ok)
δ k
Trong khi <điều kiện kết thúc chưa thỏa> làm:
Với mỗi cặp (x, t) trong không gian mẫu huấn luyện thực hiện:
8
Trang 9THUẬT TOÁN LAN TRUYỀN NGƯỢC
BackPropagation (training_examples, ƞ, nin, nout, nhidden)
in
ni n
hidden
nhidd en
out
nout
3 Với mỗi nơ-ron tầng ẩn h, ta tính giá trị lỗi δh
δh= oh(1 – oh)∑k outputs∈ wkhδk
δ k
δ h
Trong khi <điều kiện kết thúc chưa thỏa> làm:
Với mỗi cặp (x, t) trong không gian mẫu huấn luyện thực hiện:
9
Trang 10THUẬT TOÁN LAN TRUYỀN NGƯỢC
BackPropagation (training_examples, ƞ, nin, nout, nhidden)
in
ni n
hidden
nhidd en
out
nout
4 Cập nhật lại trọng số có trong mạng wji
wji wji + ∆wji
∆wji = ƞ δj xji
δ k
δ h
Trong khi <điều kiện kết thúc chưa thỏa> làm:
Với mỗi cặp (x, t) trong không gian mẫu huấn luyện thực hiện:
10
Trang 11THUẬT TOÁN LAN TRUYỀN NGƯỢC
Ví dụ:
0.2
I2 I1
0.7 -0.1 -1.2 0.4
1.2
1.1 3.1 0.1
1.17
1
0
Input: x = (10, 30, 20) Target: t = (1, 0)
Hệ số học: η = 0.1
11
Trang 12THUẬT TOÁN LAN TRUYỀN NGƯỢC
Ví dụ (tt):
12
1 Đưa giá trị đầu vào x qua mạng và tính đầu ra ou ứng với mỗi nơ-ron u trong mạng
H1: netH1 = 10 * 0.2 + 30 * (-0.1) + 20 * 0.4 = 7
oH1 = σ (netH1) = 0.9990 H2: netH2 = 10 * 0.7 + 30 * (-1.2) + 20 * 1.2 = -5
oH2 = σ (netH2) = 0.0067 O1: netO1 = 0.9990 * 1.1 + 0.0067 * 0.1 = 1.0996
oO1 = σ (netO1) = 0.7501 O2: netO2 = 0.9990 * 3.1 + 0.0067 * 1.17 = 3.1047
oO2 = σ (netO2) = 0.9571
1
o = σ(net) =
1 + e-net
Với net = Σ wjixji
Trang 13THUẬT TOÁN LAN TRUYỀN NGƯỢC
Ví dụ (tt):
13
2 Với mỗi nơ-ron đầu ra k, ta tính giá trị lỗi δk
δk= ok(1 – ok)(tk – ok)
3 Với mỗi nơ-ron tầng ẩn h, ta tính giá trị lỗi δh
δh= oh(1 – oh)∑k outputs∈ wkhδk
δO1 = oO1(1 - oO1)(tO1 - oO1) = 0.750 (1 – 0.750)(1 – 0.750) = 0.0469
δO2 = oO2(1 – oO2)(tO2 – oO2) = 0.957 (1 – 0.957)(0 – 0.957) = - 0.0394
δH1 = oH1(1 - oH1)[(w11 * δO1) + (w21* δO2)]
= 0.999(1 – 0.999)[(1.1 * 0.0469) + (3.1 * (-0.0394))]
= - 0.0000705
δH2 = oH2(1 – oH2)[(w12 * δO1) + (w22* δO2)]
= 0.0067(1 – 0.0067)[(0.1 * 0.0469) + (1.17 * (-0.0394))]
= - 0.000275
Trang 14THUẬT TOÁN LAN TRUYỀN NGƯỢC
Ví dụ (tt):
14
4 Cập nhật lại trọng số có trong mạng wji
wji wji + ∆wji
∆wji = ƞ δj xji
Nơ-ron
ẩn Nơ-ron đầu ra η δO oH =
xji ∆= ƞδOxji W cũ W mới H1 O1 0.1 0.0469 0.999 0.000469 1.1 1.100469 H1 O2 0.1 - 0.0394 0.999 -0.00394 3.1 3.09606 H2 O1 0.1 0.0469 0.0067 0.0000314 0.1 0.1000314 H2 O2 0.1 - 0.0394 0.0067 -0.0000264 1.17 1.1699736
Trang 15THUẬT TOÁN LAN TRUYỀN NGƯỢC
Ví dụ (tt):
15
4 Cập nhật lại trọng số có trong mạng wji
Đầu vào Nơ-ron ẩn η δH xI ∆= ƞδOxji W cũ W mới I1 H1 0.1 -0.0000705 10 -0.0000705 0.2 0.1999295 I1 H2 0.1 -0.000275 10 -0.000275 0.7 0.699725 I2 H1 0.1 -0.0000705 30 -0.0002115 -0.1 -0.1000705 I2 H2 0.1 -0.000275 30 -0.000825 -1.2 -1.200825 I3 H1 0.1 -0.0000705 20 -0.000141 0.4 0.399859 I3 H2 0.1 -0.000275 20 -0.00055 1.2 1.19945
Trang 16• Cập nhật trọng tăng cường
∆wji(n) = η δixji + α∆wji(n-1)
n: là lần lặp thứ n
0 ≤ α< 1: là hằng số tăng cường (momentum)
THUẬT TOÁN LAN TRUYỀN NGƯỢC
16
Trang 17Đánh giá thuật toán lan truyền
ngược (tt)
• Vấn đề hội tụ và cực trị cục bộ
– Mạng hội tụ tại những điểm có thể
cực tiểu hóa cục bộ không gian lỗi
– Vấn đề của cực trị cục bộ
• Cực tiểu lỗi có thể đúng với trọng này nhưng không đúng với trọng khác
• Số vòng lặp học phải đủ lớn để xuất hiện nhiều cực trị cục bộ (gần với cực trị toàn cục) thì mạng mới có thể biểu diễn được những hàm phức tạp
Trang 18Đánh giá thuật toán lan truyền
ngược (tt)
• PP hạn chế vấn đề cực trị cục bộ
– Cập nhật trọng tăng cường (Adding
momentum)
– Dùng thuật toán Gradient giảm ngẫu
nhiên (Stochastic gradient descent)
– Cùng một dữ liệu học, dùng nhiều
khởi tạo khác nhau để học , kết quả
đầu ra lấy trung bình các mạng
Trang 19Đánh giá thuật toán lan truyền
ngược (tt)
• Điều kiệndừngvàquákhớp
– Điềukiệndừng: Lỗi E <ngưỡng
– Nhưngnếuquánhỏthì “quákhớp”
xảyra.
•
Trang 20Đánh giá thuật toán lan truyền
ngược (tt)
• Giải pháp khắc phục “quá khớp”
– Kìm hãm bộ trọng (weight decay):
giảm trọng số một lượng nhỏ sau
mỗi vòng lặp học nhằm làm trơn bề
mặt quyết định.
– Đánh giá chéo (cross-validation)
– Đánh giá chéo k lần (k-fold
cross-validation)