Tải bản đầy đủ (.pdf) (14 trang)

Mạng nơ ron nhân tạo

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 (663.03 KB, 14 trang )

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á

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



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×