MẠNG ĐA LỚP
THUẬT TOÁN LAN TRUYỀN NGƯỢC
nhóm 1
THUẬ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.
NGƯỠNG SIGMOID
x1
w1
x2
w2
x1 = 1
w0
...
net = ∑ wixi
wn
xn
σ (y) =
dσ(y)
dy
1
1 + e-y
= σ(y) . (1 - σ(y))
1
o = σ(net) =
1 + e-net
THUẬ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
THUẬT TOÁN LAN TRUYỀN NGƯỢC
BackPropagation (training_examples, ƞ, nin, nout, nhidden)
in
hidden
out
ni
n
nhidd
en
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.
THUẬT TOÁN LAN TRUYỀN NGƯỢC
BackPropagation (training_examples, ƞ, nin, nout, nhidden)
in
ni
n
whi
hidden
nhidd
en
woh
out
nout
Khởi tạo bộ trọng cho mạng với giá trị nhỏ
THUẬT TOÁN LAN TRUYỀN NGƯỢC
BackPropagation (training_examples, ƞ, nin, nout, nhidden)
ok
oh
in
ni
n
whi
hidden
nhidd
en
woh
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.
THUẬT TOÁN LAN TRUYỀN NGƯỢC
BackPropagation (training_examples, ƞ, nin, nout, nhidden)
ok
oh
in
ni
n
whi
hidden
nhidd
en
out
woh
nout
δ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:
2. Với mỗi nơ-ron đầu ra k, ta tính giá trị lỗi δk
δk= ok(1 – ok)(tk – ok)
THUẬT TOÁN LAN TRUYỀN NGƯỢC
BackPropagation (training_examples, ƞ, nin, nout, nhidden)
ok
oh
in
ni
n
whi
hidden
nhidd
δh en
out
woh
nout
δ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:
3. Với mỗi nơ-ron tầng ẩn h, ta tính giá trị lỗi δh
δh= oh(1 – oh)∑k∈outputswkhδk
THUẬT TOÁN LAN TRUYỀN NGƯỢC
BackPropagation (training_examples, ƞ, nin, nout, nhidden)
ok
oh
in
ni
n
whi
hidden
nhidd
δh en
out
woh
nout
δ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:
4. Cập nhật lại trọng số có trong mạng wji
wji wji + ∆wji
∆wji = ƞ δj xji
THUẬT TOÁN LAN TRUYỀN NGƯỢC
Ví dụ:
I2
H1
0.2
I1
O1
1.1
0.7
-0.1
0.1
-1.2
0.4
I3
1.17
1.2
H2
Input:
x = (10, 30, 20)
Target:
t = (1, 0)
Hệ số học:
1
3.1
η = 0.1
0
O2
THUẬT TOÁN LAN TRUYỀN NGƯỢC
Ví dụ (tt):
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.
1
o = σ(net) = Với net = Σwjixji
1 + e-net
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
THUẬT TOÁN LAN TRUYỀN NGƯỢC
Ví dụ (tt):
2. Với mỗi nơ-ron đầu ra k, ta tính giá trị lỗi δk
δk= ok(1 – ok)(tk – ok)
δ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
3. Với mỗi nơ-ron tầng ẩn h, ta tính giá trị lỗi δh
δh= oh(1 – oh)∑k∈outputswkhδk
δ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
THUẬT TOÁN LAN TRUYỀN NGƯỢC
Ví dụ (tt):
4. Cập nhật lại trọng số có trong mạng wji
wji wji + ∆wji
∆wji = ƞ δj xji
Nơ-ron Nơ-ron
ẩn
đầ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
THUẬT TOÁN LAN TRUYỀN NGƯỢC
Ví dụ (tt):
4. Cập nhật lại trọng số có trong mạng wji
Đầu
vào
Nơ-ron
ẩn
I1
H1
I1
η
δH
xI
∆= ƞδOxji
W cũ
W mới
0.1 -0.0000705
10
-0.0000705
0.2
0.1999295
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
THUẬT TOÁN LAN TRUYỀN NGƯỢC
•
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)
Đá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
Đá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
mạng cùng loại có bộ trọng được
khởi tạo khác nhau để học, kết quả
đầu ra lấy trung bình các mạng
Đá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
– Nhưngnếuquánhỏthì “quákhớp”
xảyra.
Đá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 crossvalidation)