Professional Documents
Culture Documents
Con gì đây hả
ông?
Giới thiệu
Mạng nơ ron là một mô hình xử lý thông tin mô phỏng theo
hoạt động của các hệ thống thần kinh sinh học, chẳng hạn
như não con người.
Cấu trúc: bao gồm rất nhiều đơn vị xử lý thông tin (gọi là
các nơ ron) có kết nối chặt chẽ với nhau và làm việc cùng
nhau.
Mạng nơ ron học thông tin từ kinh nghiệm (thể hiện bằng
các mẫu dữ liệu đã có), giống như quá trình học của con
người.
Giới thiệu
Từ mạng nơ ron sinh học
Y
X2
Wb
∑ f()
Wc
X3
Dữ liệu đầu vào Trọng số kết Hàm tổng Hàm tính toán
nối hợp
Đầu ra y
Nơ ron nhân tạo
Không phải tất cả các dữ liệu đầu vào đều có ý nghĩa như nhau
Trọng số wm ..... w2 w1
Đầu ra y
Nơ ron nhân tạo
Thông tin không được Đầu vào xm ............
x2 x1
truyền nguyên bản từ
nơ ron này sang nơ ron
khác, mà thường được
xử lý bằng một hàm Trọng số wm ..... w2 w1
truyền đạt trong mỗi
nơ ron
Hàm tổng hợp ∑
Hàm truyền đạt
(hàm kích hoạt)
f(vk)
Đầu ra y
Nơ ron nhân tạo m
Bias (b) là w0
v wx j j
một tham số
x0 = +1 j0
bổ sung cho w0 b
mỗi nơ ron, x1 w1
tương đương Biến nội bộ
với một thông v
Input Đầu ra
()
tin bổ sung
cho đầu vào. signal x2 w2 y
1 if v 0 1 if v 1 2
v v tanhv
v v if 1 2 v 1 2 v
1
0 if v 0 0 1 exp(av)
if v 1 2
Hàm truyền (hàm kích hoạt)
step function:
ramp function:
Gaussian function:
w 1 1 w 1 2 w 1 R
Input Hard Limit Layer
W = w 2 1 w 2 2 w 2 R
p a w S 1 w S 2 w S R
Rx1
W Sx1
SxR
n
T
Sx1 w i 1 1w
1 b T
w i 2 w
Sx1 iw = W = 2
R S
w i R T
a = hardlim (Wp + b) Sw
Huấn luyện mạng đơn nơ ron một lớp
w 1 1 = 1 w 1 2 = 1 b = -1
Inputs Two-Input Neuron
p2
a=1
p1 w1,1 w
1w p +b= 0
1
n a T 1
p2
w1,2 b
p1
1
a=0 1
a = hardlim (Wp + b)
T
a = hardlim 1 w p + b = hardlimw 1 1 p1 + w1 2 p2 + b
Ranh giới quyết định
Tất cả các điểm trên đường ranh giới đều có cùng giá trị tích nội với vector trọng số
Vì vậy, các điểm này đều chiếu xuống cùng một vị trí trên vector trọng số, và các điểm này đều
thuộc đường thẳng vuông góc với vector trọng số
T T
1w .p+b = 0 1w .p=-b
Ví dụ về ranh giới quyết định
Ví dụ về ranh giới quyết định
Vector trọng số cần phải vuông góc với đường ranh giới
0.5
1w =
0.5
Chọn một điểm bất kỳ trên đường ranh giới để xác định bias
T 0 + b = 0.25 + b = 0
1w p + b = 0.5 0.5 b = –0.25
0.5
Mạng nhiều nơ ron
Mỗi nơ ron có một đường ranh giới quyết định riêng
T
iw p + bi = 0
a = hardlim0.4 = 1
– p 2 = 2.0 - -1 = 3.0
new old
1
w = 1
w
1.2 2 –0.8
Cập nhật trọng số
Cho đầu vào p3
0
a = hardlim 1 w T p 3 = ℎ������ 3 − 0.8
−1
a = hardlim0.8 = 1
Kêt quả phân loại sai
Cập nhật trọng số
w new = w old – p = 3.0 – 0 = 3.0
1 1 3
–0.8 -1 0.2
Nếu t = 0 và a = 1, thì w n e w = w o l d - p
1 1
Nếu t = a, thì 1w = 1 wo l d
new
Đặt e = t – a
Nếu e = 1, thì 1w n e w = 1 w o l d + p
Nếu e = - 1, thì 1w n e w = 1 w o l d - p
Nếu e = 0, thì 1w n e w = 1 w o l d
Lớp ẩn a1 a2 … aD
D=M
Dữ liệu vào x1 x2 … xM
Mạng nơ ron nhiều lớp
Lớp đầu ra y
Lớp ẩn a1 a2 … aD
D<M
Dữ liệu vào x1 x2 x3 … xM
Mạng nơ ron nhiều lớp
Lớp đầu ra y
b1 b2 … bE
Lớp ẩn 2
a1 a2 … aD
Lớp ẩn 1
x1 x2 x3 … xM
Dữ liệu vào
Ranh giới phân lớp
Mạng nơ ron 1 lớp Y
X1 X2
Y
Mạng nơ ron 2 lớp
X1 X2
Ranh giới phân lớp
Mạng nơ ron 3 lớp
Y
X1 X2
Mạng nơ ron nhiều đầu ra
Lớp đầu ra y1 … yK
Lớp ẩn a1 a2 … aD
Dữ liệu vào x1 x2 x3 … xM
Nguyên tắc huấn luyện mạng nơ ron
1. Cho tập dữ liệu huấn 3. Xác định hàm mục tiêu:
luyện:
2. Xác định các thông số: 4. Huấn luyện theo Steepest gradient
– Hàm quyết định: descent: (tiến các bước nhỏ theo
hướng ngược với dấu đạo hàm)
– Hàm mất mát:
45
Ví dụ
Các trọng số và bias của nơ ron được khởi tạo ngẫu nhiên
3.7
2.9 4.5
3.7
-5.2
2.9
.5
-1
-4.6 -2.0
1 1
1
sigmoid (1.0 × 3.7 + 0.0 × 3.7 + 1 × −1.5) = sigmoid(2.2) = = 0.90
1 + e−2.2
1
sigmoid (1.0 × 2.9 + 0.0 × 2.9 + 1 × −4.5) = sigmoid (−1.6) = = 0.17
1 + e1.6
Ví dụ
3.7
1.0 .90
2.9 4.5
3.7
-5.2
0.0 .17 .76
2.9
.5
-1
-4.6 -2.0
1 1
1
sigmoid(.90 × 4.5 + .17 × −5.2 + 1 × −2.0) = sigmoid(1.17) = = 0.76
1 + e−1.17
Ví dụ
3.7
1.0 .90
2.9 4.5
3.7
-5.2
0.0 .17 .76
2.9
.5
-1
-4.6 -2.0
1 1
• Giá trị đầu ra: y = .76
⇒ Cần điều chỉnh trọng số của mạng nơ ron thế nào để đạt đầu ra mong muốn?
Khái niệm về Gradient Descent
Sai số đầu ra là một hàm của các trọng số Hàm sai số
f(λ)
Cần giảm sai số: bài toán tối thiểu hóa sai số
Gradient descent: điểu chỉnh biến số để hàm số
biến đổi theo hướng ngược với dấu của đạo hàm
◦ Tính đạo hàm: xác định hướng để đạt được giá trị tối
thiểu = 1
nt
◦ Điều chỉnh biến số để hàm số đạt giá trị nhỏ hơn die
a
gr λ
Gradient for w2
G r a
i ned
Comb
Steepest gradient descent
Nguyên tắc tìm điểm tối ưu:
Lần lượt tính các giá trị cập nhật của biến số:
Steepest gradient descent – ví dụ
Minh họa về quá trình tìm điểm tối ưu
Thuật toán Lan truyền ngược
Từ dữ liệu đầu vào, thực hiện tính toán lan truyền thuận để có kết quả đầu ra.
Lan truyền thông tin sai số từ lớp cuối cùng về dần lớp đầu tiên
Điều chỉnh trọng số và bias của các nơ ron của từng lớp theo thứ tự từ sau về trước.
Thuật toán lan truyền ngược
Mạng nơ ron nhiều lớp
Kí hiệu các lớp:
Thuật toán lan truyền ngược
Giá trị đầu ra của mạng nơ ron là hàm số của toàn bộ trọng số và bias có trong mạng
Đầu ra của một lớp là hàm số của đầu ra lớp trước đó:
Thuật toán lan truyền ngược
Quá trình xuất luyện xuất phát từ tập dữ liệu huấn luyện
Hàm mục tiêu thường được chọn là bình phương sai số trung bình:
Biểu diễn dưới dạng vector cho nhiều giá trị đầu ra:
Với mỗi mẫu giá trị đầu vào, tính sai số bình phương trung bình của đầu ra
Cập nhật giá trị trọng số và bias theo thuật toán Steepest descent:
Thuật toán lan truyền ngược
Quy tắc tính đạo hàm theo chuỗi
Ứng dụng vào tính đạo hàm cho nhiều lớp trọng số
Trong đó:
Thuật toán lan truyền ngược
Một số ký hiệu để đơn giản hóa:
Độ nhạy:
Đạo hàm:
Thuật toán lan truyền ngược
Cập nhật trọng số và bias:
Biểu diễn dạng vector:
Trong đó:
Thuật toán lan truyền ngược
Ma trận đạo hàm (ma trận Jacobian)
Thuật toán lan truyền ngược
Ma trận Jacobian
Thuật toán lan truyền ngược
Công thức lan truyền độ nhạy:
Độ nhạy được tính toán bắt đầu từ lớp cuối cùng, sau đó lan truyền ngược về các lớp trước đó
đến lớp đầu tiên.
Thuật toán lan truyền ngược
Tính độ nhạy bắt đầu từ lớp cuối cùng:
Trong đó:
Lan truyền ngược giá trị độ nhạy từ lớp cuối cùng về lớp đầu tiên
Mạng 1-3-1
Thuật toán lan truyền ngược – ví dụ
Sự hội tụ qua từng vòng lặp
Khả năng tổng quát hóa
Trở lại bài toán cũ
3.7
1.0 .90
2.9 4.5
3.7
-5.2
0.0 .17 .76
2.9
.5
-1
-4.6 -2.0
1 1
Giả sử toàn bộ các hàm truyền đều là hàm sigmoid
da = d sigmoid(n) = sigmoid(n)(1 − sigmoid(n)) = a(1 − a)
dn dn
de d e da dn
=
dw k da dn dw k
Cập nhật trọng số
de d e da dn
=
dw k da dn dw k
= −(t − a k ).a k (1 − a k ).a k - 1
∆ wk = µ (t − a k ) a k ′ a k - 1
Cập nhật trọng số cho lớp thứ 2
A D
3.7
1.0 .90
2.9 4.5
3.7 E G
B -5.2
0.0 .17 .76
2.9
.5
-1
C
-4.6
F -2.0
• Tính đầu ra: a 2 = .76 1 1
• Đầu ra mong muốn: t = 1.0
A D
3.7
• Cập nhật lớp thứ 2 (chọn µ = 10) 1.0
2.9
.90 4.89
1—
4.5
– δG = (t − a 2 ) a 2 ′ = (1 − .76) 0.181 = .0434 B 3.7 E G
-5.126 -—5—
.2
– ∆ wGD = µ δG a D = 10 × .0434 × .90 = .391 0.0
2.9
.17 .76
.5
– ∆ wGE = µ δG a E = 10 × .0434 × .17 = .074 C -1 F -2.—0
—
-4.6 56 6
– ∆ wGF = µ δG a F = 10 × .0434 × 1 = .434 1 1 -1.
Cập nhật trọng số cho lớp thứ 1
Cập nhật cho nơ ron D:
δD = 4.5 × .0434 ×.0898 = .0175 A 3.7
D
∆ wDA = µ δD h A = 10 × .0175 × 1.0 = .175 1.0 .90 4.89
2.9 1—
4.5
∆ wDB = µ δD h B = 10 × .0175 × 0.0 = 0 B 3.7 E G
-5.126 -—5.—2
∆ wDC = µ δD h C = 10 × .0175 × 1 = .175 0.0
2.9
.17 .76
.5
Cập nhật cho nơ ron E: C -1 F —-2.—0
-4.6 6 6
δE = −5.2 × .0434 × 0.2055 = −.0464 1 1 -1 .5