Professional Documents
Culture Documents
3/4/2023 1
Personal information
Instructor: Dr. Tran Duc Thien
Email: thientd@hcmute.edu.vn
Phone: 0988862588
Advisor: Robotics and intelligent control Lab.
Websites:
o Researchgate:
https://www.researchgate.net/profile/Thien-Tran-6
o Google scholar:
https://scholar.google.com/citations?user=kEZ1FEQAAAAJ&hl=vi
Youtube channel:
https://www.youtube.com/channel/UCOZDLqg3HGRGjd27qiDzk-g
3/4/2023 2
Tài liệu tham khảo
[1] PGS. Ts. Huỳnh Thái Hoàng, Giáo trình điều khiển thông minh.
[2] PGS. Ts. Huỳnh Thái Hoàng, Hệ thống điều khiển thông minh,
NXB Đại Học Quốc Gia.
[3] PGS. Ts. Nguyễn Thị Phương Hà, Lý Thuyết Điều Khiển Hiện Đại,
NXB Đại Học Quốc Gia
[4] PGS. Ts. Dương Hoài Nghĩa, Công nghệ tính toán mềm
03/04/2023
Robotics and intelligent control Lab. 3
3.Mạng thần kinh
03/04/2023 4
3.Mạng thần kinh
3/4/2023 5
Các loại mạng thần kinh nhân tạo
03/04/2023
Robotics and intelligent control Lab. 6
Các phương pháp huấn luyện mạng
thần kinh nhân tạo
Có 2 kiểu học.
• Học thông số (Parameter learning).
• Học cấu trúc (Structure learning).
Lưu ý: Chúng ta chỉ tập trung vào kiểu học thông số.
03/04/2023
Robotics and intelligent control Lab. 7
Các phương pháp học thông số
• Học giám sát. (Supervised Learning)
• Học không có giám sát (Unsupervised Learning)
• Học củng cố (Reinforcement Learning)
03/04/2023 8
Robotics and intelligent control Lab.
Tế bào thần kinh
𝑥 = 𝑥1 , 𝑥2 , … , 𝑥𝑚 𝑇 vector tín hiệu vào tế bào thần kinh,
𝑤 = 𝑤1 , 𝑤2 , … , 𝑤𝑚 𝑇 vector trọng số tế bào thần kinh,
03/04/2023 9
Robotics and intelligent control Lab.
Hàm xử lý ngõ vào tế bào thần kinh
Hàm tuyến tính (linear function):
𝑚
𝑓 = 𝑛𝑒𝑡 = 𝑤𝑗 𝑥𝑗 − 𝜃 = 𝑤 𝑇 𝑥 − 𝜃
𝑗=1
𝑓 = 𝑛𝑒𝑡 = 𝑤𝑗 𝑥𝑗2 − 𝜃
𝑗=1
03/04/2023
Robotics and intelligent control Lab. 10
Hàm tác động
Hàm tuyến tính: 𝑎 𝑓 =𝑓
ሖ 𝑓>1
1, 𝑛ê𝑢
Hàm dốc bão hòa: ሖ 0≤𝑓≤1
𝑎 𝑓 = ൞𝑓, 𝑛ê𝑢
ሖ 𝑓<0
0, 𝑛ê𝑢
ሖ 𝑓>1
1, 𝑛ê𝑢
Hàm tuyến tính bão hòa: ሖ −1≤𝑓 ≤1
𝑎 𝑓 = ൞𝑓, 𝑛ê𝑢
ሖ 𝑓 < −1
−1, 𝑛ê𝑢
1
Hàm dạng S đơn cực: 𝑎 𝑓 =
1+𝑒 −𝜆𝑓
2
Hàm dạng S lưỡng cực: 𝑎 𝑓 = −1
1+𝑒 −𝜆𝑓
03/04/2023
Robotics and intelligent control Lab. 11
Các dạng hàm tác động
03/04/2023
Robotics and intelligent control Lab. 13
Mạng truyền thẳng một lớp
Mạng perceptron:
Tổng trọng số ngõ vào Perceptron thứ 𝑖:
𝑚
03/04/2023 14
Robotics and intelligent control Lab.
Gradient descent (Phương pháp suy giảm độ dốc)
Gradient descent là một thuật toán tối ưu hóa
thường được sử dụng để huấn luyện các mô
hình máy học và mạng nơ-ron. Dữ liệu huấn
luyện giúp cho mô hình học theo thời gian và
hàm chỉ tiêu giảm dần theo độ dốc.
Hàm tổng bình phương sai số:
𝑛
𝐸 𝑤 = 𝑑𝑖 − 𝑦𝑖 2 → 𝑀𝑖𝑛
𝑖=1
Cập nhật các trọng số dựa trên thuật toán suy
giảm độ dốc:
𝜕𝐸(𝑤)
𝑤𝑖𝑗 𝑘 + 1 = 𝑤𝑖𝑗 𝑘 − 𝜂
𝜕𝑤𝑖𝑗
𝜕𝐸(𝑤) 𝜕𝐸(𝑤) 𝜕𝑦𝑖 𝜕𝑛𝑒𝑡𝑖
Ta có: =
𝜕𝑤𝑖𝑗 𝜕𝑦𝑖 𝜕𝑛𝑒𝑡𝑖 𝜕𝑤𝑖𝑗
3/4/2023 15
Ví dụ 1
Tìm luật cập nhật trọng số của mạng thần kinh sau với hàm xử lý ngõ vào là hàm tuyến tính.
1 2
𝐸 𝑘 = 𝑑 𝑘 −𝑦 𝑘
2
Hàm xử lý ngõ ra
a) Hàm tuyến tính 𝑎(𝑓) = 𝑓.
1
b) Hàm dạng S đơn cực 𝑎 𝑓 = .
1+𝑒 −𝑓
2
c) Hàm dạng S lưỡng cực 𝑎 𝑓 = − 1.
1+𝑒 −𝑓
3/4/2023 16
Câu a
3/4/2023 17
Ví dụ 2
Tìm luật cập nhật trọng số của perception với hàm xử lý ngõ vào là hàm tuyến tính.
1 2 1 2
𝐸(𝑘) = 𝑑1 𝑘 − 𝑦1 𝑘 + 𝑑2 𝑘 − 𝑦2 𝑘
2 2
Hàm xử lý ngõ ra
a) Hàm tuyến tính 𝑎(𝑓) = 𝑓. x1
1 w11
b) Hàm dạng S đơn cực 𝑎 𝑓 = . y1
1+𝑒 −𝑓 w12
2
c) Hàm dạng S lưỡng cực 𝑎 𝑓 = − 1. w13
1+𝑒 −𝑓
x2
w21
y2
w22
w23
x3
3/4/2023 18
Câu a
𝑤2 𝑘 + 1 = 𝑤2 𝑘 + ∆𝑤2 𝑘 (7)
𝜕𝐸 𝑘 𝜕𝐸 𝑘 𝜕𝑦2 𝑘 𝜕𝑛𝑒𝑡2 𝑘
Với ∆𝑤2 𝑘 = −𝜂 = −𝜂 = 𝜂 𝑑2 𝑘 − 𝑦2 𝑘 𝑥(𝑘) (8)
𝜕𝑤2 𝑘 𝜕𝑦2 𝑘 𝜕𝑛𝑒𝑡2 𝑘 𝜕𝑤2 𝑘
3/4/2023 19
Bài tập
Xây dựng và vẽ mạng perceptron LTU để phân loại các nhóm dữ liệu sau
a) Nhóm 1: 3, 2 𝑇 , 1, −2 𝑇 , −2, 0 𝑇 , 𝑑 = +1
Nhóm 2: { 2, 1 𝑇 , 0, −1 𝑇 , −1, 2 𝑇 } , 𝑑 = −1
b) Nhóm 1: 0, 0 𝑇 , 1, 0 𝑇 , 0, 1 𝑇 , 𝑑 = +1
Nhóm 2: 0.5, 0.5 𝑇 , 0.3, 0.3 𝑇 , 𝑑 = −1
c) Nhóm 1: 0, 0 𝑇 , 1, 0 𝑇 , 0, 1 𝑇 , 𝑑 = +1
Nhóm 2: 0.5, 0 𝑇 , 0, 0.5 𝑇
, 𝑑 = −1
3/4/2023 20
Mạng truyền thẳng 3 lớp
03/04/2023
Robotics and intelligent control Lab. 21
Biểu thức ngõ ra mạng truyền thẳng
3 lớp
Tổng các trọng số tín hiệu vào tế bào thần kinh thứ 𝑞 ở lớp ẩn:
𝑚
𝑛𝑒𝑡𝑞 = 𝑣𝑞𝑗 𝑥𝑗
𝑗=1
Tổng các trọng số tín hiệu vào tế bào thần kinh thứ 𝑖 ở lớp ra:
𝑙
𝑛𝑒𝑡𝑖 = 𝑤𝑖𝑞 𝑧𝑞
𝑞=1
Ngõ ra tế bào thần kinh thứ 𝑖 ở lớp ra: 𝑦𝑖 = 𝑎𝑜 𝑛𝑒𝑡𝑖 = 𝑎𝑜 σ𝑙𝑞=1 𝑤𝑖𝑞 𝑧𝑞
03/04/2023 22
Robotics and intelligent control Lab.
Thuận toán huấn luyện cập nhật
trọng số mạng
Cập nhật trọng số lớp ra:
𝑤𝑖𝑞 𝑘 + 1 = 𝑤𝑖𝑞 𝑘 + 𝜂𝛿𝑜𝑖 𝑘 𝑧𝑞 𝑘
Trong đó:
𝛿𝑜𝑖 𝑘 = 𝑑𝑖 𝑘 − 𝑦𝑖 𝑘 𝑎𝑜′ 𝑛𝑒𝑡𝑖 𝑘
Cập nhật trọng số lớp ẩn:
𝑣𝑞𝑗 𝑘 + 1 = 𝑣𝑞𝑗 𝑘 + 𝜂𝛿ℎ𝑞 𝑘 𝑥𝑗 𝑘
Trong đó: 𝑛
03/04/2023
Robotics and intelligent control Lab. 23
Bài tập 1
Tính toán thuật toán lan truyền ngược của mạng thần kinh có 3 lớp: 1 lớp vào, 1 lớp ẩn và 1 lớp ra.
Lớp vào có 2 perceptrons, lớp ẩn có 3 perceptrons và lớp ra có 1 perceptrons. Các hàm tác động ở
2
lớp ẩn là hàm S lưỡng cực và ngõ ra là hàm tuyến tính. 𝑎ℎ 𝑓 = − 1, 𝑎0 𝑓 = 𝑓
1+𝑒 −2𝑓
2
𝐸 = 𝑑−𝑦
𝑣𝑖𝑗
𝑥1 𝑤𝑖
𝑦
𝑥2
03/04/2023
Robotics and intelligent control Lab. 25
Bài tập 2
Tính toán thuật toán lan truyền ngược của mạng thần kinh có 3 lớp: 1 lớp vào, 1 lớp ẩn và 1 lớp ra.
Lớp vào có 2 perceptrons, lớp ẩn có 3 perceptrons và lớp ra có 2 perceptrons. Các hàm tác động ở
2
lớp ẩn là hàm S lưỡng cực và ngõ ra là hàm tuyến tính. 𝑎ℎ 𝑓 = − 1, 𝑎0 𝑓 = 2𝑓
1+𝑒 −𝑓
2 2
𝐸 = 𝑑1 − 𝑦1 + 𝑑2 − 𝑦2
𝑣𝑖𝑗
𝑥1 𝑤𝑖𝑗
𝑦1
𝑥2
𝑦2
03/04/2023
Robotics and intelligent control Lab. 26
Các yếu tố ảnh hưởng đến quá trình huấn luyện
mạng
❑Trọng số khởi động. ▪ Phương pháp Newton:
−1
▪ Giá trị ngẫu nhiên nhỏ. 𝜕2𝐸 𝑘 𝜕𝐸 𝑘
𝑤𝑖𝑗 𝑘 + 1 = 𝑤𝑖𝑗 𝑘 − 2
3 3 𝜕𝑤𝑖𝑗 𝜕𝑤𝑖𝑗
▪ Nằm trong khoảng − , với 𝑘𝑖 là số tín
𝑘𝑖 𝑘𝑖
Pp Newton hội tụ nhanh như dễ rơi vào cục bộ
hiệu vào của tế bào thần kinh thứ i.
❑Hệ số học. ❑Dữ liệu huấn luyện mạng.
▪ Dữ liệu yêu cầu đủ lớn
▪ Được lựa chọn dựa vào kinh nghiệm.
▪ Nằm trong khoảng 0.001, 10 ❑Số nút ẩn.
▪ Sử dụng hệ số học thích nghi. ▪ Ảnh hưởng rất lớn tới tính hội tụ và chất lượng
của mạng.
❑Tiêu chuẩn huấn luyện. ▪ Được lựa chọn dựa vào kinh nghiệm.
1
▪ Chuẩn toàn phương. 𝐸𝑑 = σ𝑛𝑖=1 𝑑𝑖 − 𝑦𝑖 2
▪ Có thể sử dụng phương pháp reinforcement
𝑝
learning.
❑Luật cập nhật trọng số.
▪ Phương pháp suy giảm độ dốc.
𝜕𝐸 𝑘
𝑤𝑖𝑗 𝑘 + 1 = 𝑤𝑖𝑗 𝑘 −
𝜕𝑤𝑖𝑗
03/04/2023 27
Robotics and intelligent control Lab.
Mạng hàm cơ sở xuyên tâm
(Radial Basis Function Neural Network)
• Hàm tổng ngõ vào của tế bào thần kinh lớp ẩn là hàm Trong đó:
cầu.
𝜇𝑞 là tâm của hàm cơ sở thứ q.
• Hàm kích hoạt của tế bào thần kinh lớp ẩn là hàm mũ
𝑎ℎ 𝑓 = 𝑒 −𝑓 𝜎𝑞 là độ phân tán của hàm cơ sở thứ q.
• Hàm tổng ngõ vào của tế bào thần kinh ở lớp ra là 𝑤𝑖 là vector trọng số ở ngõ ra thứ 𝑖 ở lớp ra.
hàm tuyến tính.
• Hàm kích hoạt của tế bào thần kinh ở lớp ra là tuyến
tính.
• Mức ngưỡng của tế bào thần kinh là bằng không.
Ngõ ra mạng RBF:
𝑥−𝜇𝑞
−
𝑦𝑖 = σ𝑙𝑞=1 𝑤𝑖𝑞 𝑧𝑞 = σ𝑙𝑞=1 𝑤𝑖𝑞 𝑒 2𝜎𝑞
Trong đó:
𝑇
𝑥 − 𝜇𝑞 = 𝑥 − 𝜇𝑞 𝑥 − 𝜇𝑞
03/04/2023 28
Thuật toán huấn luyện mạng RBF
03/04/2023
Robotics and intelligent control Lab. 29
Thuật toán huấn luyện mạng RBF
3/4/2023 30
Applications of Neural network
3/4/2023 31
Confusion matrix
A confusion matrix is a table used to define a classification algorithm's
performance. A confusion matrix visualizes and summarizes the
performance of a classification algorithm.
3/4/2023 32
Bài tập
Xác định giải thuật học có giám sát mạng truyền thẳng hai lớp (1 lớp ẩn, 1 lớp ra) với hai tín hiệu vào,
một tín hiệu ra, lớp ẩn có 3 neuron, lớp ra có 1 neuron. Các neuron có hàm tích hợp tuyến tính
a) các neuron có hàm tác động tuyến tính
2
b) các neuron có hàm tác động tansig 𝑎 𝑛𝑒𝑡 = −1
1+𝑒 −𝑛𝑒𝑡
2
c) các neuron ở lớp ẩn có hàm tác động tansig𝑎 𝑛𝑒𝑡 = − 1, neuron ở lớp ra có hàm tác động
1+𝑒 −𝑛𝑒𝑡
tuyến tính
1 2
Biết hàm mục tiêu 𝐽 = 𝑑−𝑦
2
3/4/2023 33
Bài tập
Xác định giải thuật học có giám sát mạng truyền thẳng hai lớp (2 lớp ẩn, 1 lớp ra) với hai tín hiệu vào,
một tín hiệu ra, lớp ẩn có 3 neuron, lớp ra có 1 neuron. Các neuron có hàm tích hợp tuyến tính
a) các neuron có hàm tác động tuyến tính
2
b) các neuron có hàm tác động tansig 𝑎 𝑛𝑒𝑡 = −1
1+𝑒 −𝑛𝑒𝑡
2
c) các neuron ở lớp ẩn có hàm tác động tansig𝑎 𝑛𝑒𝑡 = − 1, neuron ở lớp ra có hàm tác động
1+𝑒 −𝑛𝑒𝑡
tuyến tính
1 2
Biết hàm mục tiêu 𝐽 = 𝑑−𝑦
2
3/4/2023 34
Chương trình
load mang.mat XX
TT = XX( 1,:); % time
UU = XX(2:4,:); % input
YY = XX( 5,:); % output
subplot(211), plot(TT, UU(1,:),'b'), hold on, plot(TT, UU(2,:),'b'), plot(TT, UU(3,:),'b')
subplot(312), plot(Time,YY,'b')
% NET
PR = [-1, 1; -0.5 0.5; -5 2]; % min – max values of 3 inputs
MyNet = newff(PR, [4,1], {'tansig' 'purelin'});
MyNet.trainParam.epochs = 400;
MyNet.trainParam.goal = 0.00001;
MyNet.adaptParam.passes = 10;
MyNet = train(MyNet,UU,YY);
Tsamp = 0.001; % sampling time
gensim(MyNet,Tsamp)
3/4/2023 35
Bộ dự báo
3/4/2023 36
Mô phỏng
3/4/2023 37
Bài tập mô phỏng
Xây dựng một mạng Neural để xấp xỉ các hàm truyền sau:
1
a) 𝐺1 =
𝑠+1
10
b) 𝐺2 =
2𝑠+1 𝑠+10
3/4/2023 38
In
Out
-1
Z
-1
Z
3/4/2023 39
3/4/2023 40
TT = in.time'; % time
UU = [in.signals.values';in1.signals.values';in2.signals.values']; % input
YY = out.signals.values'; % output
% subplot(211), plot(TT, UU(:,1),'b'), hold on, plot(TT, UU(:,2),'b'), plot(TT, UU(:,3),'b')
% subplot(312), plot(TT,YY,'b')
% NET
PR = [-2, 2; -2 2; -2 2]; % min – max values of 3 inputs
MyNet = newff(PR, [4,1], {'tansig' 'purelin'});
MyNet.trainParam.epochs = 400;
MyNet.trainParam.goal = 0.00001;
MyNet.adaptParam.passes = 10;
MyNet = train(MyNet,UU,YY);
Tsamp = 0.01; % sampling time
gensim(MyNet,Tsamp)
3/4/2023 41
In
Out
Out
-1
Z
-1
Z
3/4/2023 42
Thank you for your listening