Professional Documents
Culture Documents
Chapter2 - Neural Network
Chapter2 - Neural Network
HCM
LOGO Khoa Điện-Điện Tử
NEURAL NETWORK
Contents:
2 Artifical Intelligence
CHƯƠNG 1: Introduction
Introduction
Human’s brain consist of 1011 norons
Mỗi tế bào thần kinh có khoảng 104 kết nối.
Cấu tạo của nơ ron thân kinh:
• Thân nơ ron
• Một hệ thống hình hình cây các đầu dây thần kinh vào
• Trục dẫn đến đầu thần kinh ra.
Tại đầu ra của tế bào thân kinh, có các khớp để kết nối với các tế bào
thần kinh khác:
• Khớp nối gồm có: khớp nối kích thích và khớp nối ức chế.
3 Artifical Intelligence
Chapter 1: Introduction
Hình 2.1 Cấu tạo của tế bào thần kinh Hinh 2.2 Kết nối của 2 nơ ron
4 Artifical Intelligence
Chatper 1: Introduction
5 Artifical Intelligence
CHƯƠNG 2: MẠNG NƠRON
6 Artifical Intelligence
Chapter 2: Artificial Neural
Network
2.1 Mạng nơ ron nhân tạo
Nơ ron đơn giản đầu tiên được đưa ra bởi Warren
McCulloch và Walter Pitts năm 1943.
Mạng nơ ron nhân tạo là mô hình toán học mô phỏng
hoạt động của bộ não con người
2.1.1 Cấu tạo của một nơ ron đơn giản:
• Vector tín hiệu vào X x , x ,..., x T
1 2 n
• Vector trọng số
W wi1 , wi 2 ,..., win
T
• Thông số hiệu chỉnh trọng số “-b”, thông số này được coi như là
một trọng số với đầu vào luôn cố định x 0 =-1
• Hàm xử lý đầu vào f(), hàm tác động a()
• Tín hiệu ra y
7 Artifical Intelligence
Chapter 2: Artificial Neural
Network
x0=-1 w =b
0
Hàm xử lý Hàm xử lý
x1 w1 ngõ vào ngõ ra
x2 w2 y = a(f)
x3
w3 f a
. w
. m
. xm
8 Artifical Intelligence
Chapter 2: Artificial neural
Network
2.1.2 Hàm xử lý đầu vào hàm tác động
Hàm xử lý tín hiệu đầu vào
Hàm tuyến tính(linear function):
m
f net ( wij x j ) b wT x b
j 1
Hàm toàn phương(
m
quadratic function):
f net ( w j x j ) b
2
j 1
Hàm cầu( sphercial function):
m
f net ( 2
j j
( w
j 1
x ) 2
) b 2
( x w) T
( x w) b
9 Artifical Intelligence
Chapter 2: Artificial Neural
Network
Hàm tác động
Hàm nấc (hardlimit):
1 if neti 0
a( f )
0 if neti 0
Hàm dấu (sign):
1 if f 0
a( f )
1 if f 0
10 Artifical Intelligence
Chapter 2: Artificial Neural
Network
Hàm tuyến tính (linear function):
a(f ) f
11 Artifical Intelligence
Chapter 2: Artificial Neural
Network
Hàm tuyến tính bão hòa:
12 Artifical Intelligence
Chapter 2: Artificial Neural
Network
Hàm Sigmoid đối xứng:
13 Artifical Intelligence
Chapter 2: Artificial Neural
Network
2.2 Phân loại mạng nơ ron
Mạng truyền thẳng một lớp: là mạng chỉ có một lớp tế
bào nơ ron:
y1
x1
x2 y2
x3
.. .. ..
. . .
yn
xm
14 Artifical Intelligence
Chapter 2: Artificial Neural
Network
Hồi quy một lớp:
16 Artifical Intelligence
Chapter 2: Artificial Neural
Network
2.3 Các phương pháp huấn luyện mạng thần kinh
nhân tạo
Có 2 phương kiểu học:
• Học thông số: cập nhật cá trọng số liên kết giữa các tế bào thần
kinh
• Học cấu trúc: thay đổi cấu trúc mạng nơ ron bao gồm số tế bào và
cách liên kết giữa các tế bào.
Đối với kiểu học thông số:
* Học có giám sát:
+ Dữ liệu huấn luyện mạng là dữ liệu vào-ra mong muôn.
+ Sai lệch giữa tín hiệu ra và tín hiệu mong muốn được dùng để
cập nhật trọng số
17 Artifical Intelligence
Chapter 2: Artificial Neural
Network
Học củng cố:
+ Thông tin đầu ra không đầy đủ chỉ là “đúng”, “sai” so với ngõ ra
mong muốn.
+ Thông tin đánh giá chỉ cho biết mức độ đúng sai của ma trận
trọng số, không chỉ dẫn như thế nào để đi đến kết quả đúng.
Học không giám sát:
+ Không có thông tin phản hồi cho biết ngõ ra đúng hay sai
+ Mạng tự tìm ra các đặc điểm, các mối tương quan của mẫu
dữ liệu vào, tự mã hóa thành dữ liệu ra và tự thay đổi thông số
của nó.
18 Artifical Intelligence
Chapter 2: Artificial Neural
Network
Trong quá trình học trọng số sẽ được cập nhật
theo luật tổng quát như sau:
là hằng số học,
là tín hiệu học.
19 Artifical Intelligence
Chapter 3: Feedforward
Neural Network
3.1 Mạng truyền thẳng một lớp
3.1.1 Mạng Perceptron
Cấu trúc mạng:
x1 w11 y1
w12
x2 y2
x3
.. .. ..
. . .
wnm yn
xm
20 Artifical Intelligence
Chapter 3: Feedforward
Neural Network
Mạng Perceptron có m tín hiệu vào và n tín
hiệu ra và có các trọng số
Hàm xử lý tín hiệu vào là hàm tuyến tính:
m
neti wij x j Wi T x
j
Artifical Intelligence
21
Chapter 3: Feedforward
Neural Network
% neural network perceptron with two inputs and one
Ví dụ: tính giá trị đầu ra của mạng output
Perceptron với 2 đầu vào và 1 đầu % input
ra: x1=input('x1=');
X1=2; x2= -1; w1=2; w2=1; b=1 x2=input('x2=');
delta=input(‘delta=‘);
Hàm xử lý ngõ vào là hàm tuyến % enter weight values
tinh: w1=input('w1=');
w2=input('w2=');
net=w1*x1+w2*x2- b =
% input function: linear
=2*2+(-1)*1-1=2
net=w1*x1+w2*x2;
Hàm tác động là hàm nấc: % action function: hardlimit
if net>0
1 if neti 0
a( f ) y=1
0 if neti 0 else y=0
end
y=1
22 Artifical Intelligence
Chapter 3: Feedforward
Neural Network
Thuật toán học perceptron
Xét K mẫu dữ liệu vào:
23 Artifical Intelligence
Chapter 3: Feedforward
Neural Network
24 Artifical Intelligence
Chapter 3: Feedforward
Neural Network
Mạng Perceptron sử dụng luật học: cập nhật trọng số dựa
vào sai số giữa tín hiệu ra thực và tín hiệu ra mong muốn:
25 Artifical Intelligence
Chapter 3: Feedforward
Neural Network
Luật học Perceptron
Bước 1: lựa chọn tốc độ học
Bước 2: Khởi động
Gán giá trị sai số: E=0
Gán biến chạy k=1
Gán các vector trọng số bằng giá trị nhỏ ngẫu
nhiên bất kì.
Bước 3: Quá trình học bắt đầu, tính ngõ ra:
m
neti wij x j (i 1, n)
j 1
1 khi neti 0
yi step (neti ) (i 1, n)
0 khi neti 0
26 Artifical Intelligence
Chapter 3: Feedforward
Neural Network
Bước 4: cập nhật trọng số:
wij (k 1) wij (k ) wij (k )
Bước 6: nếu k<K thì gán k=k+1 và trở lại bước 3. nếu k=K Thì tiếp tục bước 7.
Bước 7: kết thúc một chu
1 kỳ huấn luyện 1 n
2 2
E (kE=0
Nếu 1)thìkết
E (thúc
k ) quá dtrình
i học
yi E (k ) ( d i yi )
2 2 1 chu kì huấn luyện mới.
Nếu E≠0 thì gán k=1, E=0 và quay lại bước 3 thực ihiện
27 Artifical Intelligence
Chapter 3: Feedforward
Neural Network
Định lý hội tụ của mạng perceptron
Xét mạng Perceptron với tập mẫu là :
29 Artifical Intelligence
Chapter 3: Feedforward
Neural Network
Nếu tồn tại một đường thẳng ( nếu mạng có 2 ngõ vào), mặt phẳng
(nếu mạng có 3 ngõ vào), hoặc mặt siêu phẳng( nếu mạng có nhiều
hơn 3 ngõ vào) phân chia không gian thành 2 miên riêng biệt một
miền chứa S0 và một miền chứa S1 Đây là bài toán khả phân tuyến
tính.
Nêu bài toán khả phân tuyến tính thì luật học sẽ
hội tụ.
30 Artifical Intelligence
Chapter 3: Feedforward
Neural Network
Với mạng perceptron có 2 ngõ vào ta có:
31 Artifical Intelligence
Chapter 3: Feedforward
Neural Network
Minh họa với mạng nơ ron có 2 ngõ vào:
x2
x1
33 Artifical Intelligence
Chapter 3: Feedforward
Neural Network
Ta chia hai miền: S0 =(x1=0; x2=0 với d=0)
S1 =((0,1);(1,0);(1,1) với d=1)
x2
x1
35 Artifical Intelligence
Chapter 3: Feedforward
Neural Network
Ta tách tập mẫu ra làm 2 miền: S0 =((0,0); (1;1) với
d=0), S1 =((0,1);(1,0) với d=1)
Neural
network
37 Artifical Intelligence
Chapter 3: Feedforward
Neural Network
Vector ngõ vào:
Hình dạng: 1 tròn; -1 elip
Độ nhám : 1 bóng; -1 nhám
Khối lượng: 1 Khối lượng>20g;
-1 khối lượng <20g
Chuối Táo
38 Artifical Intelligence
Chapter 3: Feedforward
Neural Network
Luật học:
Bước 1: chọn tốc độ học:
Bước 2: gán sai số: E=0;
Biến chạy k=1
w11 =0.5; w12 =-1;w13 =-0.5; b=-0.5
( biểu diễn dưới dạng ma trận: wT(1)=[ 0.5 -1 -0.5],
b(1)=-0.5.).
Bước 3: Tính ngõ ra:
39 Artifical Intelligence
Chapter 3: Feedforward
Neural Network
40 Artifical Intelligence
Chapter 3: Feedforward
Neural Network
Bước 6: k=1<K=2 k=k+1=1+1=2 quay lại bước
3.
Bước 3:Tính ngõ ra:
41 Artifical Intelligence
Chapter 3: Feedforward
Neural Network
1 1 1
E E [d (2) y (2)] [0 1] 2 1
2
2 2 2
42 Artifical Intelligence
Chapter 3: Feedforward
Neural Network
Mẫu 1:
Bước 3_2: tính ngõ ra:
y(1)=hardlimit(1.5)=1
Bước 4_2: Cập nhật trọng số
43 Artifical Intelligence
Chapter 3: Feedforward
Neural Network
1 1
E E [d (1) y (1)]2 0 [1 1] 2 0
2 2
44 Artifical Intelligence
Chapter 3: Feedforward
Neural Network
Bước 4_2: Cập nhật thông số
46 Artifical Intelligence
Chapter 3: Feedforward
Neural Network
3.2 Adaline và mạng tuyến tính
Cấu trúc mạng:
x1 w11 y1
w12
x2 y2
x3
.. .. ..
. . .
wnm yn
xm
47 Artifical Intelligence
Chapter 3: Feedforward
Neural Network
Mạng tuyến tính là mạng truyền thẳng một lớp
gồm các phần tử thích nghi tuyến tính
Adaline( adaptive linear).
Xét mạng tuyến tính có m ngõ vào và n ngõ ra.
Hàm xử lý ngõ vào la hàm tuyến tính:
m
neti wij x j wiT x
j 1
48 Artifical Intelligence
Chapter 3: Feedforward
Neural Network
Để huấn luyện cho mạng tuyến tính ta dùng thuật
toán học Widrow-Hoff
Cho K dữ liệu mẫu vào ra:
Ngõ vào:
Ngõ ra mong muốn:
Ta cần huấn luyện mạng tuyến tính để có vector
trọng số và thông số hiệu chỉnh b sao cho:
49 Artifical Intelligence
Chapter 3: Feedforward
Neural Network
50 Artifical Intelligence
Chapter 3: Feedforward
Neural Network
Vector trọng số sẽ được cập nhật theo thuật toán
suy giảm độ dốc:
51 Artifical Intelligence
Chapter 3: Feedforward
Neural Network
52 Artifical Intelligence
Chapter 3: Feedforward
Neural Network
Bước 4: Cập nhật vector trọng số
wij (k 1) wij (k ) d i (k ) yi (k )x j (k )
Bước 5: tính sai số tích lũy
1 n
E E (d i y i ) 2
2 i 1
Bước 6: nếu k<K thì gán k=k+1 và trở lại Bước 3
Nếu k=K thì tiếp tục Bước 7.
Bước 7: Nếu E < Emax thì kết thúc quá trình học
Nếu E Emax thì gán E=0; k=1 quay lại Bước 3 để
bắt đầu chu kì học mới.
53 Artifical Intelligence
Example
54 Artifical Intelligence
Chapter 3: Feedforward
Neural Network
3.3 Mạng perceptron với hàm tác động bán tuyến
tính
m
neti net
wij x j wiT x
j 1
Ta có:
E( k ) E( k ) y i net i
w ij
( d i ( k ) y i ( k )) a '
(net i ( k ) . x j ( k )
y i net i w ij
56 Artifical Intelligence
Chapter 3: Feedforward
Neural Network
Đặt:
E (k ) E (k ) yi
i (k ) d i ( k ) y i ( k ) a '
(neti (k ))
neti (k ) y i neti ( k )
w ij ( k 1) w ij ( k ) i ( k )x j ( k )
Với i (k ) là tín hiệu sai số
Ta sử dụng thuật toán Delta để huấn luyện mạng
Perceptron với hàm tác động bán tuyến tính
57 Artifical Intelligence
Chapter 3: Feedforward
Neural Network
Thuật toán Delta:
Bước 1: chọn tốc độ học 𝜼>0, chọn sai số cực đại Emax
Bước 2: Khởi động
- Gán sai số E=0
- Gán biến chạy k=1
- Gán các trọng số bằng các giá trị ngẫu nhiên nhỏ.
Bước 3: Tính giá trị ngõ ra:
m
net i ( k ) w ij ( k )x j ( k );
j1
y i ( k ) a(net i ( k )) (i 1, n )
58 Artifical Intelligence
Chapter 3: Feedforward
Neural Network
Bước 4: Cập nhật các trọng số
i (k ) d i (k ) yi (k )a , (neti (k ));
wij (k 1) wij (k ) i (k ) x j (k )
Với hàm tác động là dạng S đơn cực:
1
a( f )
Ta có: 1 e f
a( f ) e f 1
f 2
f
(1 f
) a ( f )[1 a ( f )]
f (1 e ) (1 e ) 1 e
59 Artifical Intelligence
Chapter 3: Feedforward
Neural Network
Sai số: i (k ) d i (k ) yi (k )a ' (neti (k ))
d i (k ) yi (k )a (neti (k ))[1 a (neti (k ))]
d i (k ) yi (k )yi (k )[(1 yi (k ))]
60 Artifical Intelligence
Chapter 3: Feedforward
Neural Network
Sai số: i (k ) d i (k ) yi (k )a ' (neti (k ))
1
d i (k ) yi (k ) [1 a 2 (neti (k ))]
2
1
d i (k ) yi (k ) ((1 [ yi (k )]2 )
2
Bước 5: Tính sai số tích lũy:
1 n
E E (d i y i ) 2
2 i 1
Bước 6: Nếu k<K thì gán k=k+1 và quay trở lại bước 3.
Nếu k=K thì tiếp tục thực hiện bước 7
61 Artifical Intelligence
Chapter 3: Feedforward
Neural Network
Bước 7:
Nếu E<Emax thì kết thúc quá trình huấn luyện
Nếu E≥Emax thì gán E=0; k=1; quay trở lại bước 3 và
bắt đầu chu kì mới
62 Artifical Intelligence
Example
x1 x2 x3 d1 d2
0.2 0.1 0.2 0.1 0.2
-0.3 0.2 0.1 0.3 0.1
63 Artifical Intelligence
Chapter 4: Multi-layer
Neural Network
4.1 Mạng nhiều lớp
Cấu trúc mạng:
65 Artifical Intelligence
Chapter 4: Multi-layer
Neural Network
Cho tập mẫu tín hiệu vào:
x(k) = [x1(k) . . .xj(k) . . . xm(k)]T
Cho tập tín hiệu ra mong muốn:
d(k) = [d1(k) . . .di(k) . . . dn(k)]T cho k = 1, . . ., p.
Hàm xử lý tín hiệu vào
m lớp ẩn là hàm tuyến tính:
net q v qj x j
j 1
Hàm tác động tế bào lớp ẩn là ah(f).
m
z q ah (netq ) ah ( vqj x j )
j 1
66 Artifical Intelligence
Chapter 4: Multi-layer
Neural Network
Hàm xử lý tínl hiệu vào
l
củam lớp ra:
net i viq z q viq a h ( v qj x j )
q 1 q 1 j 1
68 Artifical Intelligence
Chapter 4: Multi-layer
Neural Network
Step 3: Calculate output
Hidden layer: m
netq (k ) vqj (k ).x j (k )
j 1
zq(k) = ah(netq(k))
Output Layer:
yi(k) = ao(neti(k))
69 Artifical Intelligence
Chapter 4: Multi-layer
Neural Network
Step 4: Update the weights
Output layer:
oi = (di – yi).a’(neti).
wiq(k+1) = wiq(k) + oi(k)zq(k).
Hidden layer:
70 Artifical Intelligence
Chapter 4: Multi-layer
Neural Network
Bước 5: Tính sai số tích lũy
1 n
E E (d i (k ) yi (k )) 2
2 i 1
Bước 6: Nếu k<K thì gán k=k+1 và trở lại bước 3.
Nếu k=K thì tiếp tục bước 7.
Bước 7: Nếu E<Emax thì kết thúc quá trình học
Nếu E≥Emax thì gán E=0; k=1 và trở lại
bước 3 và tiếp tục chu kì huấn luyện mới.
71 Artifical Intelligence
Sigmoid
72 Artifical Intelligence
Chapter 5: RBF Neural
Network
Mạng hàm cơ sở xuyên tâm
Cấu trúc
73 Artifical Intelligence
Chapter 5: RBF Neural
Network
Mạng RBF là trường gồm có 3 lớp: 1 lớp vào, 1
lớp ẩn và 1 lớp ra.
Hàm xử lý ngõ vào của của lớp ẩn là hàm cầu
Hàm tác động của lới ẩn là hàm mũ:
ah ( f ) e f
Hàm xử lý ngõ vào của lớp ra là hàm tuyến tính
Hàm tác động của lớp ra là hàm tuyến tính
74 Artifical Intelligence
Chapter 5: RBF Neural
Network
Lớp ẩn:
Lớp ra:
netoi wiT z yi netoi wiT z
75 Artifical Intelligence
Chapter 5: RBF Neural
Network
Huấn luyện mạng:
Bước 1: Xác định tâm và độ phân tán của cá
hàm cơ sở
Xác định q : chia cá vector tín hiệu vào trong tập dữ
liệu thành q nhóm, sau đó tính tâm q của mỗi nhóm
Xác định q : khoảng cách từ tâm của nó tới tế bào
khác gần nhất là giá trị độ phân tán q
Bước 2: huấn luyện trọng số lớp ra.
Bước 1: chọn tốc độ học 0 và Emax
76 Artifical Intelligence
Chapter 5: RBF Neural
Network
Bước 2: Khởi động
• Gán sai số E=0
• Gán biến chạy k=1
• Gán các trọng số ban đầu
Bước 3: tính ngõ ra
yi WiT z
• Với z=[z1 z2 …zq ..zl ]
Bước 4: cập nhật trọng số
wi (k 1) wi (k ) (d i (k ) yi (k )) z (k )
77 Artifical Intelligence
Chapter 5: RBF Neural
Network
Cách khác để tính trọng số lớp ra( Pseudo
inverse): 1 K
K
T
wi z (k ).z (k ) z (k )d i (k )
k 1 k 1
78 Artifical Intelligence
Chapter 5: RBF Neural
Network
x2
Input space:
(0,1) (1,1)
x1
(0,0) (1,0)
0 1
Output space: y
79 Artifical Intelligence
Chapter 5: RBF Neural
Network
x1
t1 -1
y
x2 t2 -1
+1
80 Artifical Intelligence
Chapter 6: Applications
81 Artifical Intelligence
Chapter 6: Applications
82 Artifical Intelligence
CHƯƠNG 2: MẠNG NƠRON
System Identification
83 Artifical Intelligence
Chapter 6: Applications
84 Artifical Intelligence
Chapter 6: Applications
85 Artifical Intelligence
Chapter 6: Applications
86 Artifical Intelligence
Chapter 6: Applications
87 Artifical Intelligence