Nội dung
Mạng nơ ron nhân tạo
Mạng nơ-ron nhân tạo
Mạng nơ ron sinh học
Thời gian chuyển tín
hiệu qua thân : > 10-3
giây
Số lượng nơ ron trong
não: ~1011
Số lượng
ợ g kết nối của 1
nơ ron : ~104–105
Thời gian nhận dạng :
0.1 secs
Giới thiệu
Mạng Perceptron
Phương pháp học ”Gradient descent”
Mạng nơ ron nhiều lớp
Giải thuật học lan truyền
ề ngược sai sốố
Mạng nơ-ron nhân tạo (Artificial neural network – ANN)
Mỗi nơ-ron
Mô phỏng
hỏ hệ thống
thố nơ-ron sinh
i h học
h (bộ não
ã con người)
ời)
ANN là một cấu trúc (structure/network) được tạo nên bởi một số
lượng các nơ-ron (artificial neurons) liên kết với nhau
Có một đặc tính vào/ra
Thực hiện một tính tốn cục bộ (một hàm 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
1
Khi nào sử dụng mạng
nơron?
Mạng nơ-ron nhân tạo
ANN có thể được xem như một cấu trúc xử lý thông tin một
cách
á h phân
hâ tán
tá vàà song song ở mức
ứ cao
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ức năng (hàm mục tiêu) của một ANN được xác định bởi
Kiến trúc (topology) của mạng nơ-ron
Đặc tính vào/ra của mỗi nơ-ron
Chiến lược học (huấn luyện)
Dữ liệu học
Cấu trúc và hoạt động của một
nơ-ron
Các tín hiệu đầu vào (input signals)
của nơ-ron (xi, i=1 m)
Mỗi tín hiệu đầu vào xi gắn với một
trọng số wi
Trọng số điều chỉnh ( bias) w0 (với
x0=1)
Đầu vào tổng thể (Net input) là một
hàm tích hợp của các tín hiệu đầu vào
Net(w x)
Net(w,x)
Hàm tác động/truyền
(Activation/transfer function) tính giá
trị đầu ra của nơ-ron – f(Net(w,x))
Giá trị đầu ra (Output) của nơ-ron:
Out=f(Net(w,x))
Mạng nơron thích hợp với những bài tốn có đặc điểm
sau:
Các mẫu luyện được thể hiện bởi nhiều cặp giá trị-thuộc
tính (ví dụ, điểm ảnh)
Các mẫu luyện có thể có lỗi
Chấp nhận thời gian huấn luyện dài
Khơng cần hiểu giả thiết cuối cùng vì NN được coi là hộp
đen
Cấu trúc và hoạt động của một
nơ-ron
Đầu vào: Nhị phân,
phân lưỡng cực,
cực số thực
Đầu ra: Nhị phân, lưỡng cực, số thực
Thành phần tuyến tính:
net =Tổng có trọng số của các tín hiệu vào
Thành phần phi tuyến: Hàm kích hoạt
Hàm step
Hà dấu
Hàm
dấ
Hàm sigmoid
2
Mạng nơ ron nhân tạo
Mạng nơ ron nhân tạo
Cấu trúc mạng dưới
dạng đồ thị
Nơ ron
Mơ hình tổ chức kết nối
Tham số mạng
Phân loại mạng nơ ron theo cấu trúc mạng
Giá trị các trọng số
Nơ ron vào, nơ ron ra,
nơ ron ẩn
Mạng nơ ron nhân tạo
Phân loại mạng nơ ron theo thuật tốn
học/huấn luyện
Thuật tốn học có giám sát/có mẫu
học
Thuật
Th ật tốn
t á học
h khơ
khơng có
ó giám
iá sát/
át/
khơng có mẫu học
Thuật toán học tăng cường
Phát triển ứng dụng với mạng nơ ron
nhân tạo
Bước 1: Tạo lập
p mạng
g
Thiết lập các nơ ron: chọn hàm kích hoạt, xác định tín
hiệu vào-ra
Thiết lập cấu trúc mạng nơ ron
Thiết lập trọng số liên kết
Bước 2: Sử dụng mạng
Tín hiệu vào X
Tính tốn trên mạng Y = compute(X, NN)
Diễn giải tín hiệu ra Y
3
Thiết lập mạng nơ ron nhân tạo
Do người
D
ười phát
hát triển
t iể ứ
ứng ddụng
Máy tự xác lập
Xác lập cấu trúc: Thuật toán học cấu
trúc
Xác lập tham số: Thuật toán học tham
số
Khả năng học của mạng nơ ron
Học/Xấp xỉ hàm boolean
Một hàm boolean bất kỳ có thể mơ hình hoá bằng một
mạng với 1 lớp ẩn.
Tuy nhiên số lượng nơ ron trong lớp ẩn có thể rất lớn
Học/Xấp xỉ hàm liên tục
Bất kỳ hàm liên tục và có giới hạn nào đều có thể mơ
hì h hố
hình
h á bằng
bằ một
ộ mạng nơ ron 1 lớ
lớp ẩẩn với
ới saii số
ố
nhỏ tuỳ ý [Cybenko 1989, Hornik 1989]
Bất kỳ hàm liên tục nào đều có thể mơ hình hố bằng
một mạng nơ ron 2 lớp ẩn với sai số nhỏ tuỳ ý
[Cybenko 1988]
Thuật tốn học có giám sát/có mẫu
học
Mẫu học = cặp (X
Mẫ
(X,Y)
Y) trong đó X
X, Y
tương ứng là các tín hiệu vào, ra quan sát,
đo đạc được trong thực tế, bằng thực
nghiệm
Thuật tốn học có giám sát sẽ xác định
mạng nơ ron học thuộc tất cả các mẫu,
nghĩa là xác định được cấu trúc và tham
số của mạng xuất phát từ các mẫu
Ứng dụng của mạng nơ ron nhân tạo
Nhận dạng ảnh,
ảnh chữ
Nhận dạng tiếng nói
Dự báo
Phân tích tài chính
Phát hiệ
hiện gian
i trá
tá
Phân loại dữ liệu
4
Ứng dụng của Perceptron
trong phân lớp
Mạng Perceptron (một lớp)
x2
+
+
+
x2
+
-
-
+
-
-
+
x1
x1
-
o(x1,...,xn) =
1 nếu w0 + w1x1 + w2x2 +……+wnxn >0
-1
1 trong trường hợp ngược lại
• Perceptron có khả năng biểu diễn một hàm khả
tách tuyến tính
• Nhưng khơng có khả năng biểu diễn hàm XOR
hay: r
r r
o( x ) = sgn( w . x )
trong đó
sgn(y) =
1 nếu y >0
-1 nếu ngược lại
17
Ví dụ 1
Luật học của Perceptron
Biểu diễn g(x1,x2) = AND(x1,x2)
Khởi tạo một vector có các trọng số ngẫu nhiên
Lặp lại hàm perceptron cho mỗi mẫu luyện đến khi hàm perceptron
phân loại đúng tất cả các mẫu luyện:
⎯⎯ wi + Δwi
Các trọng số được sửa đổi tại mỗi bước : wi ←
Δwi ←
⎯⎯ Δwi + η (t − o) xi
trong đó
ở đây, t là tín hiệu ra của mẫu học tương ứng
o : giá trị tính tốn được của nơ ron/tín hiệu ra
η :tốc độ học ( thường nhỏ khoảng 0.1)
•Nếu t = o, trọng số khơng thay đổi
• Nếu t≠ o, trọng số thay đổi theo xu hướng đưa o về gần t.
• Giải thuật sẽ hội tụ nếu
• Dữ liệu học được phân lớp tuyến tính
•Hệ số học đủ nhỏ
x1
W1
W2
x2
Σ
W0
x0=1
rr
o(x) = 1 nếu w.x > 0
0 nếu ngược lại
19
{0; 1}
x1
0
0
1
1
x2
0
1
0
1
g
0
0
0
1
w0 + 1.w1 + 1.w2 >0
w0 + 1.w1 + 0.w2 < 0
w0 + 0.w1 + 1.w2 < 0
w0 + 0.w1 + 0.w2 < 0
Öw0 = -0.8; w1= 0.5; w2 =
0.5
20
5
Ví dụ 1...r r
Ví dụ 1...r r
2
w.x = ∑ wi * xi
i =0
i =0
Δwi ←
⎯⎯ Δwi + η (t − o) xi
wi ←
⎯⎯ wi + Δwi
2
w.x = ∑ wi * xi
Δwi ←
⎯⎯ Δwi + η (t − o) xi
wi ←
⎯⎯ wi + Δwi
Khởi tạo các giá trị đầu:
ầ Δw0 = 0, Δw1 = 0, Δw2 = 0
w0 = -1.5, w1 = -0.5, w2 = 0.5, η = 0.1
Khởi tạo các giá trị đầu:
ầ Δw0 = 0, Δw1 = 0, Δw2 = 0
w0 = -1.5, w1 = -0.5, w2 = 0.5, η = 0.1
Δw0 = Δw0 + η*(t-o)*x0 = 0 + 0.1*(0-0)*1 = 0
w0 = w0 + Δw0 = -1.5 + 0 = -1.5, w1 = -0.5, w2 = 0.5
∑ = x0.w0+x1.w1+x2.w2 = 1.w0+0.w1+0.w2 = w0 = -1.5
x0
x1
x2
t
∑
o
Δw0
Δw1
Δw2
x0
x1
x2
t
∑
o
Δw0
Δw1
1
0
0
0
-1.5
1.5
0
0
0
0
1
0
0
0
-1.5
1.5
0
0
0
0
1
0
1
0
-1
0
0
0
0
1
0
1
0
-1
0
0
0
0
1
1
0
0
-2
0
0
0
0
1
1
0
0
-2
0
0
0
0
1
1
1
1
-1.5
0
0.1
0.1
0.1
1
1
1
1
-1.5
0
0.1
0.1
0.1
21
Ví dụ 1...r r
2
22
Ví dụ 1...
w.x = ∑ wi * xi
i =0
rr 2
w.x = ∑ wi * xi
i =0
Δwi ←
⎯⎯ Δwi + η (t − o) xi
wi ←
⎯⎯ wi + Δwi
Δw2
wi ←
⎯⎯ wi + Δwi
Khởi tạo các giá trị đầu:
ầ Δw0 = 0, Δw1 = 0, Δw2 = 0
w0 = -1.5, w1 = -0.5, w2 = 0.5, η = 0.1
Δwi ←
⎯⎯ Δwi + η (t − o) xi
Δw0 = 0.1, Δw1 = 0.1, Δw2 = 0.1
w0 = -1.4, w1 = -0.4, w2 = 0.6, η = 0.1
∑ = x0.w0+x1.w1+x2.w2 = 1.w0+0.w1+0.w2 = w0 = -1.4
x0
x1
x2
t
∑
o
Δw0
Δw1
1
0
0
0
-1.5
1.5
0
0
0
0
1
0
1
0
-1
0
0
0
0
x0
x1
x2
t
∑
o
Δw0
Δw1
Δw2
1
1
0
0
-2
0
0
0
0
1
0
0
0
-1.4
0
0.1
0.1
0.1
1
1
1
1
-1.5
0
0.1
0.1
0.1
1
0
1
0
-0.6
0
0.1
0.1
0.1
1
1
0
0
1
1
1
1
Δw0 = Δw0 + η*(t-o)*x0 = 0 + 0.1*(1-0)*1 = 0.1
w0 = w0 + Δw0 = -1.5 + 0.1 = -1.4, w1 = -0.4, w2 = 0.6
Δw2
23
24
6
Ví dụ 1...
Ví dụ 1...
rr 2
w.x = ∑ wi * xi
i =0
wi ←
⎯⎯ wi + Δwi
rr 2
w.x = ∑ wi * xi
i =0
Δwi ←
⎯⎯ Δwi + η (t − o) xi
wi ←
⎯⎯ wi + Δwi
Δw0 = 0.1, Δw1 = 0.1, Δw2 = 0.1
w0 = -1.4, w1 = -0.4, w2 = 0.6, η = 0.1
Δwi ←
⎯⎯ Δwi + η (t − o) xi
Δw0 = 0.1, Δw1 = 0.1, Δw2 = 0.1
w0 = -1.4, w1 = -0.4, w2 = 0.6, η = 0.1
Δw0 = Δw0 + η*(t-o)*x0 = 0.1 + 0.1*(0-0)*1 = 0.1
Δw0 = Δw0 + η*(t-o)*x0 = 0.1 + 0.1*(0-0)*1 = 0.1
w0 = w0 + Δw0 = -1.4 + 0.1 = -1.3, w1 = -0.3, w2 = 0.7
x0
x1
x2
t
∑
o
Δw0
Δw1
Δw2
x0
x1
x2
t
∑
o
Δw0
Δw1
Δw2
1
0
0
0
-1.4
0
0.1
0.1
0.1
1
0
0
0
-1.4
0
0.1
0.1
0.1
1
0
1
0
-0.6
0
0.1
0.1
0.1
1
0
1
0
-0.6
0
0.1
0.1
0.1
1
1
0
0
1
1
0
0
1
1
1
1
1
1
1
1
25
Ví dụ 2
Ví dụ 2
t=-1
t=1
o=-1
t=-1
t=1
o=1
w=[0.25 –0.1 0.5]
x2 = 0.2 x1 – 0.5
26
o=1
w=[0.25 –0.1 0.5]
x2 = 0.2 x1 – 0.5
o=-1
(x,t)=([-1,-1],1)
o=sgn(0.25+0.1-0.5)
=-1
7
Ví dụ 2
Ví dụ 2
t=-1
t=1
o=1
w=[0.25 –0.1 0.5]
x2 = 0.2 x1 – 0.5
t=-1
t=1
o=1
w=[0.25 –0.1 0.5]
x2 = 0.2 x1 – 0.5
o=-1
o=-1
(x,t)=([2,1],-1)
o=sgn(0.45-0.6+0.3)
=1
1
Δw=[0.2 –0.2 –0.2]
Ví dụ 2
Ví dụ 2
t=-1
t=1
o=1
w=[0.25 –0.1 0.5]
x2 = 0.2 x1 – 0.5
(x,t)=([2,1],-1)
(x,t)=([-1,-1],1)
(x,t)=([1,1],1)
o=sgn(0.45-0.6+0.3)
o=sgn(0.25+0.1-0.5)
o=sgn(0.25-0.7+0.1)
=1
1 (0 25 0 7+0 1)
=-1
=-1
Δw=[0.2 –0.2
Δw=[-0.2
–0.4 –0.2]
–0.2]
o=-1
t=-1
t=1
o=1
w=[0.25 –0.1 0.5]
x2 = 0.2 x1 – 0.5
o=-1
(x,t)=([1,1],1)
o=sgn(0.25-0.7+0.1)
(0 25 0 7+0 1)
=-1
Δw=[0.2 0.2 0.2]
8
Ví dụ 2
Ví dụ 2
t=-1
t=1
o=1
w=[0.25 –0.1 0.5]
x2 = 0.2 x1 – 0.5
t=-1
t=1
o=1
w=[0.25 –0.1 0.5]
x2 = 0.2 x1 – 0.5
o=-1
o=-1
Δw=[-0.2 –0.4 –0.2]
Δw=[0.2 0.2 0.2]
Gradient descent
Luật học Gradient Descent
Giả sử một
ộ nơ ron có đầu ra tuyến
y tính và
liên tục
o=w0 + w1 x1 + … + wn xn
Nhiệm vụ học là xác định tập trọng số để tối
thiểu hàm lỗi
E[w1,…,wn] = ½ Σd∈D (td-od
D là tập mẫu học
)2
Gradient của E (ký hiệu làE) là một vectơ
Có hướng chỉ đi lên (dốc)
Có độ dài tỷ lệ thuận
th ậ với
ới độ dốc
dố
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) = ⎜⎜
,
,...,
∂wN ⎟⎠
⎝ ∂w1 ∂w2
trong đó N là tổng số các trọng số (các liên kết) trong mạng
Vì vậy, hướng gây ra việc giảm nhanh nhất (steepest decrease) là giá trị
phủ định của gradient của E
Δ w = −η .∇ E ( w );
Δ wi = −η .∇ E ( wi ), ∀ i = 1 .. N
Yêu cầu: Các hàm tác động được sử dụng trong mạng phải là các hàm liên
tục đối với các trọng số và có đạo hàm liên tục
9
Luật học Gradient Descent
D={<(1,1),1>,<(-1,-1),1>,
<(1 1) 1> <( 1 1) 1>}
<(1,-1),-1>,<(-1,1),-1>}
(w1,w2)
Gradient:
∇E[w]=[∂E/∂w0,… ∂E/∂wn]
Δw=-η ∇E[w]
(w1+Δw1,w2 +Δw2)
Δwi=-η
η ∂E/∂w
/ i
=-η ∂/∂wi 1/2Σd(td-od)2
=-η ∂/∂wi 1/2Σd(td-Σi wi xi)2
=-η
Σd(td- od)(-xi)
Luật học Gradient Descent
Gradient-Descent(tập mẫu, η)
Mỗi mẫu là một bộ d=<(x
d (x1,…xn),t
),t> với (x1,…,xn) là véc tơ đầu vào
và t là giá trị đích, η là hệ số học
Khởi tạo ngẫu nghiên wi
Lặp cho tới khi gặp điều kiện dừng
Khởi tạo Δwi bằng 0
Với mỗi mẫu d trong tập mẫu D
Đưa (x ,…,x
xn) vào mạng để tính tốn giá trị đầu ra o
1
Với mỗi trọng số wi
Δwi= -η ∂Ed/∂wi
Với mỗi trọng số wi
So sánh luật học của Perceptron
và Gradient Descent
Luật học Gradient Descent
wi=wi+Δwi
Chế độ 1: cập nhật một lần
w=w - η ∇ED[w]
ED[w]=1/2Σd(td-od)2
Perceptron đảm bảo thành công nếu
Tập
Tậ mẫu
ẫ khả tách
tá h tuyến
t ế tính
tí h
Hằng số học η đủ nhỏ
Chế độ 2 : cập nhật với từng mẫu
w=w - η ∇Ed[w]
Ed[w]=1/2 (td-od)2
Huấn luyện với Gradient Descent
Đảm bảo hội tụ với lỗi nhỏ nhất
Hằng số học η nhỏ
Có thể sử dụng mẫu có nhiễu
Dữ liệu học thậm chí khơng khả tách tuyến tính
10
Mạng nơ ron nhiều lớp
Lớp
p ra
Hàm Sigmoid
x1
x2
Lớp ẩn
.
.
.
w1
w2
wn
xn
Giải thuật lan truyền ngược sai số
Khởi tạo wi với các giá trị ngẫu nhiên nhỏ
Lặp cho tới khi đạt điều kiện dừng
Với mỗi mẫu huấn luyện <(x1,…xn),t>
Đưa (x1,…,xn) vào mạng để tính tốn giá trị ra ok
Với mỗi đầu ra k
δk=ok(1-ok)(tk-ok)
Với mỗi nút ẩn h
δh=oh(1-oh) Σk wh,k δk
Với mỗi trọng số wi,j
wi,j=wi,j+Δwi,j với
Δwi,j= η δj xi
Σ
w0 net=Σi=0n wi xi
o=σ(net)=1/(1+e-net)
o
σ(x) gọi là hàm sigmoid: 1/(1+e-x)
dσ(x)/dx= σ(x) (1- σ(x))
Sử dụng luật học Gradient Descent:
•∂E/∂wi = -Σd(td-od) od (1-od) xi
• Mạng nhiều lớp thường sử dụng hàm Sigmoid
làm hàm truyền
Lớp vào
x0=1
Giải thuật lan truyền ngược sai số
Sử dụng Gradient Descent trên tồn bộ các trọng số
Chỉ tìm được tối
ố ưu cục bộ
Thường bổ sung hệ số quán tính :
Δwi,j(n)= η δj xi + α Δwi,j (n-1)
Tối ưu được hàm lỗi trên tập mẫu nhưng chưa chắc
trên dữ liệu thực tế ( hiệu ứng overfitting)
Thời gian học lâu ( 1000-10000 vịng)
Sử dụng mơ hình nhanh
11
8-3-8 mã hoá và giải mã
8 đầu vào
3 ẩn
Thống kê lỗi cho các nút ra
8 đầu ra
Giá trị nút ẩn
.89 .04 .08
.01 .11 .88
.01 .97 .27
.99 .97 .71
.03 .05 .02
.22 .99 .99
.80 .01 .98
.60 .94 .01
Sự hội tụ của giải thuật lan truyền
ngược sai số
Có thể khơng phải cực trị tồn cục
Cải thiện bằng hệ số qn tính
Kết hợp với một giải thuật tối ưu toàn cục khác
Mạng Kohonen - SOM
Điều kiện hội tụ
Khởi tạo trọng số gần 0
Mạng khởi tạo gần
ầ như mang tính chất
ấ tuyến
ế tính
Tính chất phi tuyến của mạng sẽ dần dần xuất hiện trong
quá trình học
SOM=Self Organization Map
Là dạng mạng 1 lớp
Sử dụng giải thuật học cạnh tranh, khơng có thầy
Mục đích : Ánh xạ mẫu dữ liệu từ một không
gian nhiều chiều , phức tạp sang khơng gian ít
chiều ( 1D,2D,3D)
Bản chất: là kỹ thuật nén dữ liệu dựa trên vector
trọng số
12
Kiến trúc mạng Kohonen
Kiến trúc mạng Kohonen
Sử dụng mạng Kohonen
Các nơ ron không tổ chức thành lớp mà được tổ
chức dưới dạng có cấu trúc phẳng dạng lưới.
Mỗi nơ ron trên lưới đồng thời là một đầu ra
Sau khi mạng được huấn luyện, với mỗi mẫu đầu
vào, sẽ có một nơ ron hoặc một vùng nơ ron có
trạng thái kích thích
Giải thuật học
Khởi tạo trọng số, thiết lập hệ số học α
Lặp tới khi thoả mãn điều kiện dừng
1.
2.
1.
Với mỗi mẫu học, thực hiện từ bước 1 đến bước 3
Với mỗi nơ ron j, tính khoảng cách Dj = Σ(wij-xi)2
2.
Tìm j sao cho D(j) nhỏ nhất
3.
Với mọi nơ ron “hàng xóm” của j, cập nhật trọng số theo
cơng thức wijnew=wijold+α(xi-wijold)
Giả hệ số
Giảm
ố hhọc
Giảm bán kính xác định quan hệ “hàng xóm”
1.
2.
3.
3.
Điều kiện dừng: Thay đổi trọng số nhỏ hơn một ngưỡng
nào đó
13
Quan hệ hàng xóm
Tiểu luận
1.
2.
Trình bày một số phương pháp học cấu
trúc mạng nơ ron. (2-4 học viên)
Trình bày ý tưởng, thuật toán và các ứng
dụng của mạng Kohonen (1-2 học viên)
14