Tải bản đầy đủ (.pptx) (20 trang)

Mạng đa lớp thuật toán lan truyền ngược

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (188.62 KB, 20 trang )

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)



×