You are on page 1of 20

MẠNG ĐA LỚP

THUẬT TOÁN LAN TRUYỀN NGƯỢC

Trình bày: Trần Thanh Tâ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.

2
NGƯỠNG SIGMOID
σ (y) =
1
1 + e
-y
dσ(y)
dy
=
σ(y) . (1 - σ(y))
.
.
.

x
1

x
2

x
n

w
1

w
2

w
n

x
1
= 1
w
0

net = ¿ w
i
x
i

1
o = o(net) = ÷÷÷÷
1 + e
-net

3
THUẬT TOÁN LAN TRUYỀN NGƯỢC
Hàm lỗi:
E(w) = ½ ¿
deD
¿
keoutputs
(t
kd
– o
kd
)
2


ouputs: tập tất cả các nơ-ron đầu ra của mạng
t
kd
, o
kd
: 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
THUẬT TOÁN LAN TRUYỀN NGƯỢC
BackPropagation (training_examples, ƞ, n
in
, n
out
, n
hidden
)
in
n
in
hidden
n
hidden
out
n
out
 Tạo mạng truyền thẳng gồm:
n
in
đầu vào,
n
hidden
nơ-ron tầng ẩn,
n
out
nơ-ron đầu ra.
5
THUẬT TOÁN LAN TRUYỀN NGƯỢC
BackPropagation (training_examples, ƞ, n
in
, n
out
, n
hidden
)
in
n
in
hidden
n
hidden
out
n
out
 Khởi tạo bộ trọng cho mạng với giá trị nhỏ
w
hi
w
oh
6
THUẬT TOÁN LAN TRUYỀN NGƯỢC
BackPropagation (training_examples, ƞ, n
in
, n
out
, n
hidden
)
in
n
in
hidden
n
hidden
out
n
out
 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:
w
hi
w
oh
1. Đưa giá trị đầu vào x qua mạng và tính đầu
ra o
u
ứng với mỗi nơ-ron u trong mạng.

o
h
o
k
7
THUẬT TOÁN LAN TRUYỀN NGƯỢC
BackPropagation (training_examples, ƞ, n
in
, n
out
, n
hidden
)
in
n
in
hidden
n
hidden
out
n
out
w
hi
w
oh
2. Với mỗi nơ-ron đầu ra k, ta tính giá trị lỗi o
k

o
k
= o
k
(1 – o
k
)(t
k
– o
k
)

o
h
o
k
o
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
THUẬT TOÁN LAN TRUYỀN NGƯỢC
BackPropagation (training_examples, ƞ, n
in
, n
out
, n
hidden
)
in
n
in
hidden
n
hidden
out
n
out
w
hi
w
oh
3. Với mỗi nơ-ron tầng ẩn h, ta tính giá trị lỗi o
h

o
h
= o
h
(1 – o
h
)¿
k∈outputs
w
kh
o
k
o
h
o
k
o
k
o
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
THUẬT TOÁN LAN TRUYỀN NGƯỢC
BackPropagation (training_examples, ƞ, n
in
, n
out
, n
hidden
)
in
n
in
hidden
n
hidden
out
n
out
w
hi
w
oh
4. Cập nhật lại trọng số có trong mạng w
ji
w
ji
 w
ji
+ ∆w
ji

∆w
ji
= ƞ o
j
x
ji

o
h
o
k
o
k
o
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
THUẬT TOÁN LAN TRUYỀN NGƯỢC
Ví dụ:
H
1
O
1
0.2
I
2
I
1
I
3
H
2
O
2
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: q = 0.1
11
THUẬ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 o
u
ứng với
mỗi nơ-ron u trong mạng.

H
1
:

net
H1
= 10 * 0.2 + 30 * (-0.1) + 20 * 0.4 = 7

o
H1
= o(net
H1
) = 0.9990

H
2
:

net
H2
= 10 * 0.7 + 30 * (-1.2) + 20 * 1.2 = -5

o
H2
= o(net
H2
) = 0.0067

O
1
:

net
O1
= 0.9990 * 1.1 + 0.0067

* 0.1 = 1.0996

o
O1
= o(net
O1
) = 0.7501

O
2
:

net
O2
= 0.9990 * 3.1 + 0.0067

* 1.17 = 3.1047

o
O2
= o(net
O2
) = 0.9571

1
o = o(net) = ÷÷÷÷
1 + e
-net

Với net = Ew
ji
x
ji
THUẬ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 o
k
o
k
= o
k
(1 – o
k
)(t
k
– o
k
)

3. Với mỗi nơ-ron tầng ẩn h, ta tính giá trị lỗi o
h

o
h
= o
h
(1 – o
h
)¿
k∈outputs
w
kh
o
k
o
O1
= o
O1
(1 - o
O1
)(t
O1
- o
O1
) = 0.750 (1 – 0.750)(1 – 0.750) = 0.0469

o
O2
= o
O2
(1 – o
O2
)(t
O2
– o
O2
) = 0.957 (1 – 0.957)(0 – 0.957) = - 0.0394

o
H1
= o
H1
(1 - o
H1
)[(w
11
* o
O1
) + (w
21
* o
O2
)]
= 0.999(1 – 0.999)[(1.1 * 0.0469) + (3.1 * (-0.0394))]
= - 0.0000705
o
H2
= o
H2
(1 – o
H2
)[(w
12
* o
O1
) + (w
22
* o
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):
14
4. Cập nhật lại trọng số có trong mạng w
ji
w
ji
 w
ji
+ ∆w
ji

∆w
ji
= ƞ o
j
x
ji

Nơ-ron
ẩn
Nơ-ron
đầu ra
q o
O
o
H
= x
ji
∆= ƞo
O
x
ji
W cũ W mới
H
1
O
1
0.1 0.0469

0.999 0.000469 1.1 1.100469
H
1
O
2
0.1 - 0.0394 0.999 -0.00394 3.1 3.09606
H
2
O
1
0.1 0.0469

0.0067 0.0000314 0.1 0.1000314
H
2
O
2
0.1 - 0.0394 0.0067 -0.0000264 1.17 1.1699736
THUẬ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 w
ji
Đầu
vào
Nơ-ron
ẩn
q o
H
x
I
∆= ƞo
O
x
ji
W cũ W mới
I
1
H
1
0.1 -0.0000705 10 -0.0000705 0.2 0.1999295
I
1
H
2
0.1 -0.000275 10 -0.000275 0.7 0.699725
I
2
H
1
0.1 -0.0000705 30 -0.0002115 -0.1 -0.1000705
I
2
H
2
0.1 -0.000275 30 -0.000825 -1.2 -1.200825
I
3
H
1
0.1 -0.0000705 20 -0.000141 0.4 0.399859
I
3
H
2
0.1 -0.000275 20 -0.00055 1.2 1.19945
• Cập nhật trọng tăng cường

Aw
ji
(n) = η o
i
x
ji
+ oAw
ji
(n-1)

n: là lần lặp thứ n
0 ≤ o< 1: là hằng số tăng cường (momentum)
THUẬT TOÁN LAN TRUYỀN NGƯỢC
16
Đá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 <ngưỡng
– Nhưngnếu quá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 cross-
validation)