Professional Documents
Culture Documents
Neural Network
Neural Network
TẠO
GV: P. N. N. Thanh
Đặt vấn đề
Những điều thú vị về Bộ não con người
GV: P. N. N. Thanh
Đặt vấn đề
Tế bào thần kinh:
Cấu tạo gồm: thân tế bào (soma), đầu dây thần kinh vào
(dendrite), khớp nối (synapse), sợi trục (axon) và đầu dây
thần kinh ra
GV: P. N. N. Thanh
3.1 Tổng quan về mạng nơron nhân tạo
Để mô tả một tế bào thần kinh, người ta đã quan sát cấu
tạo và sử dụng mô hình giả lập sau:
Hàm tích hợp ngõ vào
x1
w1
x2 w2
a y
wm
xm Hàm kích hoạt
x x1 x2 ... xm
T
vector tín hiệu vào tế bào thần kinh
GV: P. N. N. Thanh
3.1 Tổng quan về mạng nơron nhân tạo
Hàm tích hợp ngõ vào
j 1
GV: P. N. N. Thanh
3.1 Tổng quan về mạng nơron nhân tạo
Hàm tác động
1 if f 0
Hàm nấc (step): a f
0 if f 0
1 if f 0
Hàm dấu (sign): a f
1 if f 0
1 if f 1
Hàm dốc bão hòa: a f f if 0 f 1
0 if f 0
1 if f 1
Hàm tuyến tính bão hòa: a f f if 1 f 1
1 if f 1
GV: P. N. N. Thanh
3.1 Tổng quan về mạng nơron nhân tạo
Hàm tác động
GV: P. N. N. Thanh
3.1 Tổng quan về mạng nơron nhân tạo
Ví dụ tính ngõ ra của tế bào thần kinh
x1 w1
w2 y
x2 a (.)
w3
x3
Tính ngõ ra 𝑦 của tế bào thần kinh trên khi hàm tích hợp ngõ vào
là hàm tuyến tính, hàm tác động là sigmoid đơn cực và
GV: P. N. N. Thanh
3.1 Tổng quan về mạng nơron nhân tạo
Các loại cấu trúc mạng nơron
GV: P. N. N. Thanh
3.1 Tổng quan về mạng nơron nhân tạo
Các phương pháp huấn luyện mạng:
Học củng cố
GV: P. N. N. Thanh
3.1 Tổng quan về mạng nơron nhân tạo
Các phương pháp huấn luyện mạng:
Học có giám sát
Bộ tạo tín
d
e hiệu sai lệch
Tín hiệu ra
Tín hiệu sai lệch
mong muốn
GV: P. N. N. Thanh
3.1 Tổng quan về mạng nơron nhân tạo
Các phương pháp huấn luyện mạng:
Học không giám sát
GV: P. N. N. Thanh
3.1 Tổng quan về mạng nơron nhân tạo
Các phương pháp huấn luyện mạng:
Học củng cố
Bộ tạo tín
d
hiệu đánh giá
Tín hiệu đánh giá Tín hiệu
củng cố
GV: P. N. N. Thanh
3.2 Mạng truyền thẳng một lớp
Mạng Perceptron
x1 Perceptron
x1
y1 w1i
x2 x2 w2i
y2 a yi
x3
wmi
yn xm
xm
GV: P. N. N. Thanh
3.2 Mạng truyền thẳng một lớp
Ví dụ tính ngõ ra của Perceptron
x1 w1
w2 a y
x2
w3
x3
x1 0.5; x2 1; x3 0.3
GV: P. N. N. Thanh
3.2 Mạng truyền thẳng một lớp
x0 1
x1 x1 w0i
w1 w1i
x2 w2 x2 w2i
a yi a yi
wm wmi 0
xm xm
x 1, x1 , x2 ,..., xm
T
w , w1 , w2 ,..., wm
m T
net w j x j
j 1
net w T x
GV: P. N. N. Thanh
3.2 Mạng truyền thẳng một lớp
Thuật toán huấn luyện Perceptron
Thuật toán học sửa sai (Delta learning rule)
wi k 1 wi k wi k
wi k rx k
ri k di k yi k i k
wi k 1 wi k di k yi k x k
GV: P. N. N. Thanh
3.2 Mạng truyền thẳng một lớp
Thuật toán huấn luyện Perceptron
Giả sử ta cần huấn luyện một Perceptron để đạt được ngõ ra
mong muốn 𝒅
Bước 1: Chọn 𝜂, gán 𝑘 = 1, 𝐸 = 0, khởi động ngẫu nhiên
các trong số 𝒘𝑖 (𝑘)
Bước 2: Tính ngõ ra của mạng: yi k step wi k x k
T
Bước 3: Cập nhật trọng số và tính sai số:
wi k 1 wi k di k yi k x k
1
E E d k y k
2
2
Bước 4: Nếu 𝑘 < 𝐾 thì gán 𝑘 = 𝑘 + 1 và trở lại bước 2. Nếu
𝑘 = 𝐾 thì tiếp tục bước 5.
Bước 5: Nếu 𝐸 = 0 thì kết thúc. Nếu 𝐸 > 0 thì gán 𝐸 = 0,
𝑘 = 1 và trở lại bước 2.
GV: P. N. N. Thanh
3.2 Mạng truyền thẳng một lớp
Ví dụ huấn luyện Perceptron
Cổng OR: x1 w1
y
w2
x1 x2 b
Quan hệ vào ra mong muốn:
x2
𝒙𝟏 𝒙𝟐 𝒚
0 0 0 1
0 1 1
1 0 1
1 1 1 0 x1
1
GV: P. N. N. Thanh
3.2 Mạng truyền thẳng một lớp
Khái niệm khả phân tuyến tính (Linearly Separable)
Xét một tập hợp 𝑺 gồm 2 loại phần tử 𝑥1 và 𝑥2 , nếu tồn tại một
đường thẳng (trường hợp 2 chiều), một mặt phẳng (trường hợp
3 chiều) hay một siêu mặt phẳng (trường hợp lớn hơn 3 chiều)
phân chia được tập hợp trên thành 2 tập hợp con 𝑺1 và 𝑺2 sao
cho 𝑺1 chỉ chứa 𝑥1 và 𝑺2 chỉ chứa 𝑥2 thì tập hợp 𝑺 được gọi là
khả phân tuyến tính.
GV: P. N. N. Thanh
3.2 Mạng truyền thẳng một lớp
Khái niệm khả phân tuyến tính
Nếu tập dữ liệu huấn luyện Perceptron là khả phân tuyến tính
thì giải thuật huấn luyện Perceptron hội tụ.
Ghi chú:
Nếu bài toán phân nhóm
khả phân tuyến tính thì có
thể sử dụng 1 Perceptron.
Nếu bài toán phân nhóm
không khả phân tuyến
tính, cần sử dụng mạng
Perceptron nhiều lớp.
GV: P. N. N. Thanh
3.3 Mạng truyền thẳng nhiều lớp (MLP)
Cấu trúc của mạng MLP
Hàm tích hợp ngõ vào của tế bào thần kinh thứ 𝑖 ở lớp ra:
l
neti w z wqi zq
T
i
q 1
GV: P. N. N. Thanh
3.3 Mạng truyền thẳng nhiều lớp (MLP)
Ví dụ tính ngõ ra của mạng MLP
v11 a z1
x1
v21
w1
1 a
w2 y
v12 a z2 3
x2
v22
2
Tính ngõ ra 𝑦 của mạng MLP trên khi hàm kích hoạt lớp ẩn là S
lưỡng cực (tansig), hàm kích hoạt lớp ra là tuyến tính (purelin) và
x1 1; x2 3
v11 0.6; v12 0.5; v21 0.3; v22 0.8;1 0.1; 2 0.2
w1 0.4; w2 0.3;3 0.4
GV: P. N. N. Thanh
3.4 Lan truyền ngược (Back propagation)
Tính sai số huấn luyện (Loss function)
GV: P. N. N. Thanh
3.4 Lan truyền ngược (Back propagation)
So sánh Euclidean Norm và Cross Entropy
GV: P. N. N. Thanh
3.4 Lan truyền ngược (Back propagation)
Thuật toán suy giảm độ dốc (Gradient descent)
f x df
0
df dx
0 df
x x
dx dx
df
x x
dx
: Learning rate
df
0
E
dx w w
x1 x3 x2 x w
GV: P. N. N. Thanh
3.4 Lan truyền ngược (Back propagation)
Ảnh hưởng của Learning rate
GV: P. N. N. Thanh
3.4 Lan truyền ngược (Back propagation)
Tính sai số:
1 1 n
E w , v d y 2 di yi
2 2
2 2 i 1
l
yi ao neti ao wqi zq
q 1
l l m
ao wqi ah netq ao wqi ah v jq x j
q 1
q 1 j 1
2
1 n l m
E w , v di ao wqi ah v jq x j
2 i 1 q 1
j 1
GV: P. N. N. Thanh
3.4 Lan truyền ngược (Back propagation)
Tính đạo hàm sai số và luật cập nhật trong số
E k E k yi neti
wi y i net i w i
di k yi k ao neti k z k
oi k z k
GV: P. N. N. Thanh
3.4 Lan truyền ngược (Back propagation)
Tính đạo hàm sai số và luật cập nhật trong số
E k E k zq netq
vq zq netq vq
n
di k yi k ao neti k wiq k ah netq k x k
i 1
n
oi k wiq k ah netq k x k
i 1
hq k x k
Biểu thức cập nhật trọng số lớp ẩn:
E k
vq k 1 vq k vq k hq k x k
vq
GV: P. N. N. Thanh
3.4 Lan truyền ngược (Back propagation)
Thuật toán lan truyền ngược
Bước 1: Chọn 𝜂, gán 𝑘 = 1, 𝐸 = 0, khởi động ngẫu nhiên các
trong số lớp ẩn và lớp ra 𝒗𝑞 (𝑘), 𝒘𝑖 (𝑘) 1 ≤ 𝑞 ≤ 𝑙, 1 ≤ 𝑖 ≤ 𝑛
Bước 2: (Lan truyền thuận dữ liệu) Tính ngõ ra của mạng với
ngõ vào 𝒙 𝑘 1≤𝑗≤𝑚 :
Lớp ra: oi k di k yi k ao neti k 1 i n
wi k 1 wi k oi k z k
n
Lớp ẩn: hq k oi k wiq k ah netq k 1 q l
i 1
vq k 1 vq k hq k x k
2 i 1
GV: P. N. N. Thanh
3.4 Lan truyền ngược (Back propagation)
Thuật toán lan truyền ngược
Bước 5: Nếu 𝑘 < 𝐾 thì gán 𝑘 = 𝑘 + 1 và trở lại bước 2.
Nếu 𝑘 = 𝐾 thì tiếp tục bước 6.
GV: P. N. N. Thanh
3.4 Lan truyền ngược (Back propagation)
Đạo hàm của các hàm tác động thông dụng
Hàm sigmoid đơn cực (logsig):
e f 1 e f 1
a f
1 a f
1 e f 1 e 1 e
f 2 f 2
a f a f 1 a f
1 e 1 e
2 f 2 2 f 2
2 f 2 f
1 e 4e
a f a f
1 e 2 f 1 e 1 e
2 f 2 2 f 2
a f 1 a2 f
GV: P. N. N. Thanh
3.4 Lan truyền ngược (Back propagation)
Ví dụ áp dụng giải thuật lan truyền ngược
v11 a z1
x1
v21
w1
1 a
w2 y
v12 a z2 3
x2
v22
2
Tính trọng số của mạng MLP trên sau 1 bước huấn luyện khi
hàm kích hoạt lớp ẩn là S đơn cực (logsig), hàm kích hoạt lớp ra
là tuyến tính (purelin), các mức ngưỡng đều bằng 0 và
v11 0.6; v12 0.5; v21 0.3; v22 0.8; w1 0.4; w2 0.3
0.5 0.2 1.4
Tập dữ liệu: X D 0.8 1 1.5
0.3 0.1 0.8
GV: P. N. N. Thanh
3.5 Các ứng dụng
Xấp xỉ hàm
Học đặc tính
Phân loại
....
GV: P. N. N. Thanh
3.5 Các ứng dụng
GV: P. N. N. Thanh
Toolbox của Matlab
Neural Networks Toolbox
mynet = perceptron % Khai báo một perceptron
mynet = newff(X,D,N,{‘tansig’ ‘purelin’})
% Khai báo một mạng neuron 3 lớp
% Số ngõ vào là số hàng của X; số ngõ ra là số hàng của D
% Số nơ-ron ở lớp ẩn là N
% Hàm tác động ở lớp ẩn là tansig, ở lớp ra là purelin
mynet = train(mynet,X,D)
% Huấn luyện mạng mynet với dữ liệu vào là X, ra là D
% Số cột của X = số cột của D = số mẫu dự liệu huấn luyện
Y = sim(mynet,X)
% Tính ngõ ra của mạng mynet khi ngõ vào là X
% Số cột của X là số mẫu dữ liệu cần tính
help nnet % Xem đầy đủ các hàm của NN Toolbox
Lý thuyết điều khiển tự động nâng cao GV: P. N. N. Thanh