Professional Documents
Culture Documents
L8-Mang Noron Nhan Tao
L8-Mang Noron Nhan Tao
(IT 4862)
Nguyễn
ễ Nhật
hậ Quang
quangnn-fit@mail.hut.edu.vn
Mỗi nơ-ron
Có một đặc tính vào/ra
Th hiệ
Thực hiện một
ột tính
tí h toán
t á cục bộ ((một
ột hàm
hà cục bộ)
Giá trị đầu ra của một nơ-ron được xác định bởi
Đặc tính vào/ra của nó
Các liên kết của nó với các nơ-ron khác
(Có thể) các đầu vào bổ sung
ANN có khả năng học (learn), nhớ lại (recall), và khái quát hóa
(generalize) từ các dữ liệu học –bằng cách gán và điều chỉnh
(thích nghi) các giá trị trọng số
ố (mức độ quan trọng) của các
liên kết giữa các nơ-ron
Chứ năng
Chức ă (hà
(hàm mục tiê
tiêu)) của
ủ một
ột ANN đ
được xác
á đị
định
h bởi
Kiến trúc (topology) của mạng nơ-ron
Đặc tính vào/ra của mỗi nơ
nơ-ron
ron
Chiến lược học (huấn luyện)
Dữ liệu
ệ học
ọ
Xử lý tín hiệu
Ví dụ:
d Phâ
Phân tí
tích
h tí
tín hiệu
hiệ và
à hì
hình
h thái đị
địa chấn,
hấ động
độ đất
Y tế
Ví dụ: Phân tích và hiểu tín hiệu điện tim, chẩn đoán các loại bệnh, và xử
lý các ảnh trong lĩnh vực y tế
...(và
( à nhiều
ều lĩnh vực
ực bà
bài toá
toán khác!)
ác )
Net = w1x1 + w0
x1 x1
Học Máy – IT 4862 8
Hàm tác động: Giới hạn cứng (Hard-limiter)
Còn được gọi là hàm ngưỡng
⎧1, nêu Net ≥ θ
(threshold function) Out ( Net ) = hl1( Net , θ ) = ⎨
Giá trị đầu
ầ ra lấy
ấ một trong 2 giá trị ⎩0,
0 nêu nguoc lai
Binary
Out
Bipolar
Out
hard-limiter
hard-limiter
1
1
θ 0 Net θ 0 Net
-1
Học Máy – IT 4862 9
Hàm tác động: Logic ngưỡng (Threshold logic)
⎧
⎪ 0, if Net < −θ
⎪⎪ 1
Out ( Net ) = tl ( Net , α , θ ) = ⎨α ( Net + θ ),
) if − θ ≤ Net ≤ − θ
⎪ α
⎪ 1, if 1
Net > − θ
⎪⎩ α
((α >0))
= max(0, min(1, α ( Net + θ ))) O t
Out
1 − e −α ( Net +θ ) 2
Out ( Net ) = tanh(( Net , α , θ ) = −α ( Net +θ )
= −α ( Net +θ )
−1
1+ e 1+ e
Mạng hồi
quy một
tầng
Mạng lan
truyền tiến
nhiều tầng
Mạng hồi
quy nhiều
tầng
2 kiểu học này có thể được thực hiện đồng thời hoặc
riêng rẽ
Phần
ầ lớn các quy tắc
ắ học trong ANN thuộc kiểu
ể học tham
số
Trong bài học này, chúng ta sẽ chỉ xét việc học tham số
ố
Học Máy – IT 4862 17
Quyy tắc học trọngg số tổngg quát
Q q
Tạibước học (t), mức độ điều
chỉnh vec
vec-tơ
tơ trọng số w tỷ lệ x0= 1
w0
thuận với tích của tín hiệu học r(t) x1 w1 a neuron
và đầu vào x(t) Out
x ... wj
Δw(t) ~ r(t).x(t) xj Δw
Δw(t) = η.g(w(t),x(t),d(t)).x(t)
x1 w0+w1x1+w2x2=0
Đầu ra = 1
Đầu ra = -1
1
x2
Quá trình học của perceptron nhằm xác định một vectơ trọng
số cho phép perceptron sinh ra giá trị đầu ra chính xác ((-1
1
hoặc 1) cho mỗi ví dụ học
Với một
ộ ví dụ
ụ học
ọ x được
ợ pperceptron
p p
phân lớp
p chính xác,, thì
vectơ trọng số w không thay đổi
Nếu d=1 nhưng perceptron lại sinh ra -1 (Out=-1), thì w cần
được thay đổi sao cho giá trị Net(w,x)
Net(w x) tăng lên
Nếu d=-1 nhưng perceptron lại sinh ra 1 (Out=1), thì w cần
được thayy đổi sao cho giá
g trị Net(w,x)
( )ggiảm đi
Gradient ∇E xác định hướng gây ra việc tăng nhanh nhất (steepest
increase) đối với giá trị lỗi E
⎛ ∂E ∂E ∂E ⎞
∇E (w ) = ⎜⎜ , ,..., ⎟⎟
⎝ ∂w1 ∂w2 ∂wN ⎠
trong đó N là tổng số các trọng số (các liên kết) trong mạng
n nơ-ron
nơ ron đầu ra yi (i=1..n)
(i=1 n) Hidden
neuron zq ... ...
wqj là trọng số của liên kết từ Outq
tín hiệu đầu vào xj tới nơ-ron (q=1..l)
wiq
tầngg ẩn zq
wiq là trọng số của liên kết từ
Output ... ...
nơ-ron tầng ẩn zq tới nơ-ron
neuron yi
đầu ra yi
(i=1
(i 1..n)
n) Outi
Outq là giá trị đầu ra (cục bộ)
của nơ-ron tầng ẩn zq
Outi là giá trị đầu ra của mạng
tương ứng với nơ-ron
nơ ron đầu ra yi
Đối
ố với một vectơ đầu
ầ vào x, một nơ-ron zq ở tầng
ầ ẩ ẩn sẽ
nhận được giá trị đầu vào tổng thể (net input) bằng:
m
Net q = ∑ wqj x j
j =1
…và sinh ra một giá trị đầu ra (cục bộ) bằng:
⎛ m ⎞
Out q = f ( Net q ) = f ⎜⎜ ∑ wqj x j ⎟⎟
⎝ j =1 ⎠
trong đó f(.)
f( ) là hàm tác động (activation function) của nơ nơ-ron
ron zq
Vectơ các giá trị đầu ra Outi (i=1..n) chính là giá trị đầu ra
thực tế của mạng, đối với vectơ đầu vào x
Để xét các tín hiệu lỗi và việc lan truyền ngược của
chúng, cần định nghĩa một hàm đánh giá lỗi
1 n 1 n
E (w ) = ∑ (d i − Out i ) = ∑ [d i − f ( Net i )]
2 2
2 i =1 2 i =1
2
1 ⎡ n ⎛ l ⎞⎤
= ∑ ⎢ d i − f ⎜⎜ ∑ wiq Out q ⎟⎟ ⎥
2 i =1 ⎢⎣ ⎝ q =1 ⎠ ⎥⎦
∂E ⎡ ∂E ⎤ ⎡ ∂Out O t q ⎤ ⎡ ∂Net
N tq ⎤
Δwqj = −η = −η ⎢ ⎥⎢ ⎥⎢ ⎥
∂wqj ⎢⎣ ∂ Out q ⎥
⎦ ⎢⎣ ∂ Net q ⎥
⎦ ⎢⎣ ∂ wqj ⎥
⎦
[ ]
Δwqj = η ∑ (d i − Out i ) f ' ( Net i ) wiq f ' (Net q ) x j
n
i =1
[ ]
= η ∑ δ i wiq f ' (Net q ) x j = ηδ q x j
n
i =1
trong đó Netq là đầu vào tổng thể (net input) của nơ-ron zq ở tầng
ẩn, và f'(Netq)=∂f(Netq)/∂Netq
Dạng
ạ g tổng
gqquát của q
quy
y tắc cập
ập nhật
ậ trọng
ọ g số trong
gggiải
thuật BP là:
Δwab = ηδaxb
b và a là 2 chỉ số tương ứng với 2 đầu của liên kết (b→a) (từ một
nơ-ron (hoặc tín hiệu đầu vào) b đến nơ-ron a)
xb là giá trị đầu ra của nơ-ron
nơ ron ở tầng ẩn (hoặc tín hiệu đầu vào) b,
b
δa là tín hiệu lỗi của nơ-ron a
j
Bước 5 (Kiểm tra kết thúc một chu kỳ học – epoch)
Kiểm tra xem toàn bộ tập học đã được sử dụng (đã xong một chu kỳ học – epoch)
Nếu toàn bộ tập học đã được dùng, chuyển đến Bước 6; ngược lại, chuyển đến Bước 1
Bước 6 (Kiểm tra lỗi tổng thể)
Nếu lỗi tổng thể E nhỏ hơn ngưỡng lỗi chấp nhận được (<Ethreshold), thì quá trình học kết
thúc và trả về các trọng số học được;
Ngược lại, gán lại E=0, và bắt đầu một chu kỳ học mới (quay về Bước 1)
Học Máy – IT 4862
42
Giải thuật BP – Lan truyền tiến (1)
f(Net1)
x1 f(Net4)
Out6
f(Net6)
f(Net2)
x2 f(Net5)
f(Net3)
Out6
f(Net6)
f(Net2)
x2 f(Net5)
x1 f(Net4)
w2 x1 x1
Out6
f(Net6)
f(Net2)
w2 x2 x2
x2 f(Net5)
f(Net3)
Out 2 = f ( w2 x1 x1 + w2 x2 x2 )
Học Máy – IT 4862 45
Giải thuật BP – Lan truyền tiến (4)
f(Net1)
x1 f(Net4)
Out6
f(Net6)
f(Net2)
x2 w3 x1 x1 f(Net5)
w3 x2 x2 f(Net3)
Out3 = f ( w3 x1 x1 + w3 x2 x2 )
Học Máy – IT 4862 46
Giải thuật BP – Lan truyền tiến (5)
f(Net1)
w41Out1
x1 w42Out2 f(Net4)
Out6
f(Net2)
w43Out3 f(Net6)
x2 f(Net5)
f(Net3)
Out 4 = f ( w41Out1 + w42Out 2 + w43Out3 )
x1 w51Out1 f(Net4)
Out6
f(Net6)
f(Net2)
w52Out
O t2
x2 f(Net5)
w53Out3
f(Net3)
Out5 = f ( w51Out1 + w52Out 2 + w53Out3 )
x1 f(Net4)
w 64Out4
Out6
f(Net6)
f(Net2)
w65Out5
x2 f(Net5)
f(Net3)
Out6 = f ( w64Out 4 + w65Out5 )
Học Máy – IT 4862 49
Giải thuật BP – Tính toán lỗi
f(Net1)
x1 f(Net4)
δ6
Out6
f(Net6)
f(Net2)
x2 f(Net5)
d is the desired
output value
f(Net3) ⎡ ∂E ⎤ ⎡ ∂Out 6 ⎤
∂E
δ6 = − = −⎢ ⎥⎢ ⎥ = [d − Out 6 ] [ f ' ( Net 6 )]
∂Net
N t6 ⎣ ∂Out
O t 6 ⎦ ⎣ ∂Net
N t6 ⎦
x2 f(Net5)
f(Net3)
δ4 = f ' (Net 4 )(w64 δ6 )
Học Máy – IT 4862 51
Giải thuật BP – Lan truyền ngược (2)
f(Net1)
x1 f(Net4)
δ6
Out6
f(Net6)
f(Net2)
δ5
w65
x2 f(Net5)
f(Net3)
δ5 = f '(Net5 )(w65δ6 )
Out6
f(Net
( 6)
f(Net2)
δ5
x2 f(Net
( 5)
f(Net
( 3) δ1 = f '(Net
(Net1 )(w41δ4 + w51δ5 )
Học Máy – IT 4862 53
Giải thuật BP – Lan truyền ngược (4)
f(Net1)
δ4
x1 w42 f(Net4)
δ2
Out6
f(Net6)
f(Net2) w52 δ5
x2 f(Net5)
f(Net3)
δ2 = f '(Net 2 )(w42 δ4 + w52 δ5 )
Out6
f(Net6)
f(Net2) w43
δ5
x2 w53 f(Net5)
δ3
f(Net3)
δ3 = f '(Net3 )(w43δ4 + w53δ5 )
x1 w1x2 f(Net4)
Out6
f(Net6)
f(Net
( 2)
x2 f(Net5)
w1 x1 = w1 x1 + ηδ 1 x1
f(Net3)
w1 x 2 = w1 x 2 + ηδ 1 x 2
Học Máy – IT 4862 56
Giải thuật BP – Cập nhật trọng số (2)
f(Net1)
x1 f(Net4)
w2 x1 δ2 Out6
f(Net6)
f(Net2)
w2 x2
x2 f(Net5)
w 2 x1 = w 2 x1 + ηδ 2 x1
f(Net3)
w 2 x 2 = w 2 x 2 + ηδ 2 x 2
Học Máy – IT 4862 57
Giải thuật BP – Cập nhật trọng số (3)
f(Net1)
x1 f(Net4)
Out6
f(Net6)
f(Net2)
x2 w3x1
δ3
f(Net5)
w3x2 w3 x1 = w3 x1 + ηδ 3 x1
f(Net3)
w3 x 2 = w3 x 2 + ηδ 3 x 2
Học Máy – IT 4862 58
Giải thuật BP – Cập nhật trọng số (4)
f(Net1)
w41 δ4
x1 w42 f(Net4)
Out6
w43 f(Net6)
f(Net2)
x2 f(Net5)
x1 f(Net4)
Out6
f(Net6)
f(Net2)
w 51 δ5
w52
x2 f(Net5)
x1 f(Net4)
w64 δ6
Out6
f(Net6)
f(Net2)
w65
x2 f(Net5)
f(Net3)
w64 = w64 + ηδ6Out 4
w65 = w65 + ηδ6Out 5
Học Máy – IT 4862 61
BP: Khởi tạo giá trị của các trọng số
Thông thường, các trọng số được khởi tạo với các giá trị nhỏ
ngẫu nhiên
Nếu các trọng số có các giá trị ban đầu lớn
Các hàm xích-ma (sigmoid functions) sẽ đạt trạng thái bão hòa sớm
Hệ thống sẽ tắc ở một điểm cực tiểu cục bộ (local minimum) hoặc ở
một trạng thái không đổi (very flat plateau) gần điểm bắt đầu
Các gợi ý cho w0abb (liên kết từ nơ
nơ-ron
ron b tới nơ
nơ-ron
ron a)
Ký hiệu na là số lượng các nơ-ron ở cùng tầng với nơ-ron a
w0ab ∈ [−1/na, 1/na]
Ký hiệu ka là số lượng các nơ-ron có liên kết (tiến) đến nơ-ron a
(=số lượng các liên kết đầu vào của nơ-ron a)
w 0 ab ∈ [ − 3 / k a ,3 / k a ]
Thường được chọn theo thực nghiệm (experimentally) đối với mỗi bài toán
Các giá trị tốt của tốc độ học ở lúc bắt đầu (quá trình học) có thể không tốt ở
ộ thời điểm sau đấyy
một
Nên sử dụng một tốc độ học thích nghi (động)
Sau khi cập nhật các trọng số, kiểm tra xem việc cập nhật các trọng số có
giúp làm giảm giá trị lỗi
a , if ΔE < 0 consistently
Δη = (a, b > 0)
-bη , if ΔE > 0
0 , otherwise.
Học Máy – IT 4862 63
BP: Momentum
Phương pháp Gradient descent có
thể rất chậm nếu η nhỏ, và có thể αΔw(t’)
-η∇E(t’+1)
Cá hà
Các hàm liê
liên ttục (C
(Continuous
ti ffunctions)
ti )
Bất kỳ một hàm liên tục bị giới hạn (bounded continuous function)
nào cũngg có thể học
ọ được
ợ (xấp
( p xỉ)) bởi một
ộ ANN sử dụng
ụ g 1 tầngg
ẩn [Cybenko, 1989; Hornik et al., 1989]
Bất kỳ một hàm mục tiêu nào cũng có thể học được (xấp xỉ) bởi
một ANN sử dụng 2 tầng ẩn [Cybenko
[Cybenko, 1988]