You are on page 1of 94

Chương 3 Mạng nơ-ron

Ts. Nguyễn Hoài Nam

Dr. Nam H. Nguyen 1


Mạng nơ-ron

• 3.1. Tổng quan về mạng nơ-ron


• 3.2. Phương pháp huấn luyện mạng nơron.
• 3.3. Sử dụng công cụ Matlab huấn luyện mạng nơron.
• 3.4. Ví dụ ứng dụng mạng nơron cho nhận dạng.

Dr. Nam H. Nguyen 2


3.1 Tổng quan về mạng nơ-ron

• 3.1.1 Sự phát triển của mạng nơ-ron


• 3.1.2 Ứng dụng của mạng nơ-ron
• 3.1.3 Mô hình nơ-ron
• 3.1.4 Các loại mạng nơ-ron
• 3.1.5 Quan hệ giữa mờ và nơ-ron

Dr. Nam H. Nguyen 3


3.1.1 Sự phát triển của mạng nơ-ron

• Warren McCulloch và Walter Pitts [1943] đã chỉ ra rằng


mạng nơ ron nhân tạo có thể thực hiện bất kỳ hàm lô gíc hoặc
hàm số nào.
• Donald Hebb [1949] đã đề xuất ra một cơ chế học của các
nơ-ron sinh học.
• Rosenblatt [1958] và các đồng nghiệp đã xây dựng mạng
Perceptron cùng với luật học tương ứng và chứng tỏ khả năng
thực hiện việc phân loại mẫu.
• Widrow và Hoff đã đưa ra thuật toán huấn luyện mới và dùng
nó để huấn luyện mạng tuyến tính thích nghi, mạng này có
cùng cấu trúc và khả năng như mạng perceptron.

Dr. Nam H. Nguyen 4


3.1.1 Sự phát triển của mạng nơ-ron

• Mạng của Rosenblatt và Widrow đều có chung những hạn


chế. Các tác giả này đã đưa ra mạng mới khắc phục được các
hạn chế đó, tuy nhiên họ đã không cải tạo được luật học để
huấn luyện mạng phức tạp hơn.
• Teuvo Kohonen [1972] và James Anderson [1972] đã phát
triển mạng nơ-ron có thể hoạt động như bộ nhớ.
• Stephen Grossberg [1976] đã nghiên cứu mạng nơ ron tự tổ
chức.
• John Hopfield [1982] đã đưa ra mạng nơ-ron hồi qui.
• Một số tác giả (David Rumelhart và James McClelland) đã
đưa ra thuật toán lan truyền ngược để huấn luyện mạng
Perceptron nhiều lớp.
Dr. Nam H. Nguyen 5
3.1.1 Sự phát triển của mạng nơ-ron

• Martin Hagan [1994] đưa ra phương pháp huấn luyện mạng


sử dụng thuật toán Levenberg (1944)– Marquardt (1963).

Dr. Nam H. Nguyen 6


3.1.2 Ứng dụng của mạng nơ-ron

• Điện tử: Sự bố trí chíp IC, điều khiển quá trình, phân tích lỗi
chíp, thị lực máy, tổng hợp tiếng nói, mô hình hóa phi tuyến.
• Rô bốt: Điều khiển quỹ đạo, xe nâng hàng, các bộ điều khiển
tay máy,, các hệ thống thị giác, xe tự hành
• Ô tô: Các hệ thống dẫn hướng tự động, điều khiển bơm nhiên
liệu, các hệ thống chống bó phanh, các cảm biến dò sự phát
khí ảo.

Dr. Nam H. Nguyen 7


3.1.2 Ứng dụng của mạng nơ-ron

• Sản xuất: Điều khiển quá trình sản xuất, phân tích và thiết kế
sản phẩm, chuẩn đoán máy và quá trình, nhận dạng hạt thời
gian thực, các hệ thống kiểm tra chất lượng, thử bia, phân tích
chất lượng hàn, dự đoán chất lượng giấy, phân tích chất lượng
chíp máy tính, phân tích các hoạt động nghiền, phân tích thiết
kế sản phẩm hóa học, phân tích bảo dưỡng máy, đấu thầu dự
án, quản lý và kế hoạch hóa, mô hình động của các quá trình
hóa học.
• Vũ trụ, ngân hàng, quốc phòng, giải trí, tài chính, bảo hiểm, y
tế, dầu khí, an ninh, giao thông và truyền thông.

Dr. Nam H. Nguyen 8


3.1.3 Mô hình nơ-ron

• Nơ-ron sinh học:


Sợi nhánh, sợi trục
và khớp
• Não: 1011 nơ –ron
• Nơ-ron: 104 liên kết
• Chức năng của
mạng nơ-ron được
hình thành bởi sự
sắp xếp các nơ-ron
và độ lớn của các
khớp thần kinh, gây
Mạng nơ-ron sinh học
ra bởi một quá trình
hóa học phức tạp. Dr. Nam H. Nguyen 9
3.1.3 Mô hình nơ-ron

• Một phần của bộ não được hình thành khi sinh ra.
• Những phần khác sẽ phát triển thông qua học, do có những
liên kết mới được hình thành và các liên cũ mất đi.
• Cấu trúc mạng nơ-ron tiếp tục thay đổi theo thời gian trong
đời. Những thay đổi sau nay có xu hướng chủ yếu làm mạnh
hoặc yếu đi các khớp thần kinh.
• Có 2 sự giống nhau giữa mạng nơ-ron sinh học và mạng nơ-
ron nhân tạo:
✓ Các khối tạo ra mạng nơ-ron là những thiết bị tính toán đơn
giản.
✓ Các liên kết giữa các nơ-ron tạo ra chức năng của mạng.

Dr. Nam H. Nguyen 10


Mô hình nơ-ron nhân tạo

• Nơ ron một đầu vào


 p – đầu vào của nơ-ron
 w – trọng số
 b – ngưỡng (bias)
 σ − bộ tổng
 n – đầu vào net (net input)
 a – đầu ra của nơ-ron
 f – hàm truyền
• Ví dụ: (nnd2n1) 𝑝 = 0,4; 𝑤 = 1; 𝑏 =
0,6; 𝑓 𝑙à ℎà𝑚 𝑡𝑢𝑦ế𝑛 𝑡í𝑛ℎ.
• 𝑛 = 𝑤𝑝 + 𝑏 = 1 ∗ 0,4 + 0,6 = 1; 𝑎 = 𝑓 𝑛 = 1

Dr. Nam H. Nguyen 11


Hàm truyền
Tên hàm Mô tả toán học Ứng dụng
𝑎 = hardlim(n) 0, 𝑛ế𝑢 𝑛 < 0 Mạng perceptron
𝑎=ቊ
1, 𝑛ế𝑢 0 ≤ 𝑛
𝑎 = 𝑝𝑢𝑟𝑒𝑙𝑖𝑛(𝑛) 𝑎=𝑛 Mạng Adaline
𝑎 = 𝑙𝑜𝑔𝑠𝑖𝑔(𝑛) 1 Mạng nhiều lớp,
𝑎=
1 + 𝑒 −𝑛 thuật toán lan
𝑎 = 𝑡𝑎𝑛𝑠𝑖𝑔(𝑛) 𝑒 𝑛 − 𝑒 −𝑛 truyền ngược
𝑎= 𝑛
𝑒 + 𝑒 −𝑛
𝑎 = 𝑝𝑜𝑠𝑙𝑖𝑛(𝑛) 0, 𝑛ế𝑢 𝑛 < 0 Mạng Hamming
𝑎=ቊ
𝑛, 𝑛ế𝑢 0 ≤ 𝑛
𝑎=satlins(n) −1, 𝑛 < −1 Mạng Hopfield
𝑎 = ቐ𝑛, −1 ≤ 𝑛 ≤ 1
1, 𝑛 > 1
Dr. Nam H. Nguyen 12
Nơ-ron nhiều đầu vào
𝑝1 𝑤1,1 𝑇
𝑝2 𝑤1,2
• 𝒑= : ;𝑾= : ; 𝑛 = 𝑏 + σ𝑅𝑖=1 𝑤1,𝑖 𝑝𝑖 = 𝑾𝒑 + 𝑏
𝑝𝑅 𝑤1,𝑅

Dr. Nam H. Nguyen 13


Lớp nơ-ron
𝑏1
𝑏2
:
𝒃=
.
:
𝑏𝑆

Dr. Nam H. Nguyen 14


Mạng nhiều lớp

Dr. Nam H. Nguyen 15


Mạng nhiều lớp

Dr. Nam H. Nguyen 16


Mạng hồi qui

Dr. Nam H. Nguyen 17


Luật học

• Luật học: Là một thủ tục dùng để thay đổi các trọng số và bias
nhằm mục đích huấn luyện mạng để thực hiện một số nhiệm
vụ.
• Có 3 loại luật học:
 Học có giám sát
 Học không có giám sát
 Học gia cố
• Học có giám sát:
 Mẫu huấn luyện 𝑝1 ; 𝑡1 , 𝑝2 ; 𝑡2 , … , 𝑝𝑄 ; 𝑡𝑄
 Luật học sẽ điều chỉnh các trọng số và bias sao cho đầu ra
của mạng nơ-ron bám lấy đầu ra mẫu.

Dr. Nam H. Nguyen 18


3.1.4 Các loại mạng nơ-ron

• Mạng perceptron
• Ứng dụng: Có thể giải quyết các bài toán phân loại với đường
biên tuyến tính.

Dr. Nam H. Nguyen 19


3.1.4 Các loại mạng nơ-ron

• Mạng nhiều lớp (mở rộng của mạng perceptron)


• Ứng dụng:
 Có thể giải quyết bài toán phân loại bất kỳ
 Có thể xấp xỉ một hàm phi tuyến bất kỳ

Dr. Nam H. Nguyen 20


3.1.4 Các loại mạng nơ-ron
• Mạng nơ-ron động
• Ứng dụng: Nhận dạng và điều khiển các hệ thống động học và
phi tuyến

Dr. Nam H. Nguyen 21


3.1.4 Các loại mạng nơ-ron

• Mạng nhớ:
 Ứng dụng để phân loại mẫu (chữ viết, ảnh)
 Dùng luật học Hebbian

Dr. Nam H. Nguyen 22


3.1.4 Các loại mạng nơ-ron

• Mạng ADALINE :
 Bộ lọc thích nghi.
 Dùng luật học Widrow – Hoff

Dr. Nam H. Nguyen 23


3.1.4 Các loại mạng nơ-ron

−𝑛 2
• Mạng RBF (Radial Basis Function): 𝑎 = 𝑒
 Ứng dụng xấp xỉ hàm, phân loại mẫu
 Dùng phương pháp bình phương nhỏ nhất

Dr. Nam H. Nguyen 24


Ví dụ

• Phân loại táo và cam dùng mạng perceptron (nnd3pc)


• Các cảm biến:
 Hình dáng: 1 nếu gần như tròn, -1 nếu gần như e líp
 Bề mặt: 1 nếu như trơn, -1 nếu gồ ghề
 Khối lượng: 1 nếu khối lượng lớn hơn 1 pound (0,45kg),
-1 nếu nhỏ hơn 1 pound
• Ta có thể chọn đầu ra của mạng perceptron là 1 khi đầu vào là
quả táo và đầu ra là -1 khi đầu vào là quả cam.
• Vì chỉ phân loại 2 sản phẩm, ta có thể dùng mạng perceptron
có 1 nơ-ron. Ở đây dùng 3 cảm biến, do đó sẽ có 3 đầu vào.

Dr. Nam H. Nguyen 25


3.2. Phương pháp huấn luyện mạng nơron.

• 3.2.1 Ví dụ
• 3.2.2 Luật học perceptron
• 3.2.3 Thuật toán lan truyền ngược

Dr. Nam H. Nguyen 26


3.2.1 Ví dụ

1 −1 0
• 𝒑1 = , 𝑡1 = 1 𝒑2 = , 𝑡2 = 0 ቄ𝒑3 = , 𝑡3 =
2 2 −1
Đầu
0ቅ vào Nơ-ron không có bias
𝑝2 𝑾 = 1 −0,8

𝑝1

𝑎 = ℎ𝑎𝑟𝑑𝑙𝑖𝑚 𝑛
𝑝1 0, 𝑛ế𝑢 𝑛 < 0
𝒑 = 𝑝 ,𝑾 = 𝑤1,1 𝑤1,2 =ቊ
2 1, 𝑛ế𝑢 0 ≤ 𝑛
Dr. Nam H. Nguyen 𝑛 = 𝑾𝒑 27
3.2.1 Ví dụ

• 𝑒 =𝑡−𝑎
• t: đầu ra mẫu tương ứng với đầu vào mẫu
• a: đầu ra của nơ-ron ứng với đầu vào mẫu
• Nếu e = 1, thì 𝒘𝒎ớ𝒊 = 𝒘𝒄ũ + 𝒑𝑻
• Nếu e = −1, thì 𝒘𝒎ớ𝒊 = 𝒘𝒄ũ − 𝒑𝑻
• Nếu e = 0, thì 𝒘𝒎ớ𝒊 = 𝒘𝒄ũ
• 𝒘𝒎ớ𝒊 = 𝒘𝒄ũ + 𝑒𝒑𝑻
• 𝑏𝒎ớ𝒊 = 𝑏𝒄ũ + 𝑒

Dr. Nam H. Nguyen 28


3.2.2 Luật học perceptron
Đầu vào Lớp nơ-ron

𝑖 𝒘𝒎ớ𝒊 = 𝑖𝒘𝒄ũ + 𝑒𝑖 𝒑
𝑖 𝑏𝒎ớ𝒊 = 𝑖 𝑏𝒄ũ + 𝑒𝑖

𝑾𝒎ớ𝒊 = 𝑾𝒄ũ + 𝒆𝒑𝑻


𝒃𝒎ớ𝒊 = 𝒃𝒄ũ + 𝒆
Dr. Nam H. Nguyen 29
Bài tập
• 1. Giải các bài toán phân loại sau bằng cách vẽ các đường biên
và tìm các trọng số và bias.

Dr. Nam H. Nguyen 30


Bài tập

Dr. Nam H. Nguyen 31


Bài tập
• 2. Thiết kế mạng nơ-ron để phân loại các mẫu được biểu diễn
như hình sau:

Dr. Nam H. Nguyen 32


Bài tập

• 3. Cho một bài toán phân loại như sau:

• a, Vẽ sơ đồ mạng perceptron 1 nơ-ron mà bạn sẽ sử dụng để


giải bài toán này. Cần có bao nhiêu đầu vào?
• b, Biểu diễn các mẫu trên mặt phẳng có hệ trục tọa độ là
O𝑝1 𝑝2 . Với mạng đã được thiết kế ở ý (a) bài toán trên có lời
giải hay không? Tại sao?

Dr. Nam H. Nguyen 33


3.2.3 Thuật toán lan truyền ngược

• 3.2.3.1 Mạng nhiều lớp


• 3.2.3.2 Hàm mục tiêu
• 3.2.3.3 Quy tắc chuỗi
• 3.2.3.4 Độ nhạy
• 3.2.3.5 Lan truyền ngược độ nhạy

Dr. Nam H. Nguyen 34


Mạng nhiều lớp

Dr. Nam H. Nguyen 35


Mạng nhiều lớp

Dr. Nam H. Nguyen 36


Mạng nhiều lớp

• Mạng có 𝑀 lớp:
• 𝒂𝑚+1 = 𝒇𝑚+1 (𝑾𝑚+1 𝒂𝑚 + 𝒃𝑚+1 ), 𝑚 = 0, 1, … , 𝑀 − 1
• 𝒂0 = 𝒑 – đầu vào của mạng
• 𝒂 = 𝒂𝑀 - đầu ra của mạng
• Tập mẫu đầu vào: 𝑃 = 𝒑(ℎ)
• Tập mẫu đầu ra: T = 𝒕(ℎ)
• ℎ = 1: 𝑄

Dr. Nam H. Nguyen 37


3.2.3.2 Hàm mục tiêu

• 𝐽 = 𝒆𝑇 ℎ . 𝒆 ℎ = [𝒕 ℎ − 𝒂 ℎ ]𝑇 [𝒕 ℎ − 𝒂 ℎ ] → 𝒎𝒊𝒏
𝜕𝐽
• 𝑤 𝑚 𝑖,𝑗 𝑘 + 1 = 𝑤 𝑚 𝑖,𝑗 𝑘 − 𝛼
𝜕𝑤 𝑚
𝑖,𝑗

𝑚 𝑚 𝜕𝐽
• 𝑏 𝑖
𝑘+1 =𝑏 𝑖
𝑘 −𝛼 𝑚
𝜕𝑏
𝑖

• 𝑘 = 0, 1, 2, …;
• 𝑚 = 1: 𝑀;
• 𝑖 = 1: 𝑆 𝑚 ; 𝑗 = 1: 𝑆 𝑚−1 ; 𝑆 0 = 𝑅
• 𝛼 : tốc độ học

Dr. Nam H. Nguyen 38


3.2.3.3 Quy tắc chuỗi

𝑑𝑎 𝑑𝑓 𝑛 𝑑𝑛
• = ∗
𝑑𝑤 𝑑𝑛 𝑑𝑤

𝜕𝐽 𝜕𝐽 𝜕𝑛𝑚
• = ∗ 𝑖
𝜕𝑤 𝑚 𝜕𝑛𝑚 𝜕𝑤 𝑚
𝑖,𝑗 𝑖 𝑖,𝑗

𝑚 𝑆 𝑚−1 𝑚
• 𝑛 𝑖
= σ𝑗=1 𝑤 𝑖,𝑗 𝑎𝑚−1𝑗 + 𝑏 𝑚 𝑖
𝜕𝑛𝑚
• 𝑖
= 𝑎𝑚−1𝑗
𝜕𝑤 𝑚
𝑖,𝑗

𝜕𝐽 𝜕𝐽 𝜕𝑛𝑚
• = ∗ 𝑖
𝜕𝑏𝑚 𝜕𝑛𝑚 𝜕𝑏𝑚
𝑖 𝑖 𝑖

𝜕𝑛𝑚
• 𝑚
𝑖
=1
𝜕𝑏
𝑖
Dr. Nam H. Nguyen 39
3.2.3.4 Độ nhạy

• Độ nhạy của nơ-ron thứ i của lớp thứ m:


𝜕𝐽
• 𝑠𝑚 𝑖 =
𝜕𝑛𝑚
𝑖
𝜕𝐽
• = 𝑠 𝑚 𝑖 𝑎𝑚−1𝑗
𝜕𝑤 𝑚
𝑖,𝑗

𝜕𝐽
• = 𝑠𝑚 𝑖
𝜕𝑏𝑚
𝑖

• 𝑤 𝑚 𝑖,𝑗 𝑘 + 1 = 𝑤 𝑚 𝑖,𝑗 𝑘 − 𝛼𝑠 𝑚 𝑖 𝑎𝑚−1𝑗


• 𝑏 𝑚 𝑖 𝑘 + 1 = 𝑏 𝑚 𝑖 𝑘 − 𝛼𝑠 𝑚 𝑖

Dr. Nam H. Nguyen 40


3.2.3.4 Độ nhạy

• Dạng ma trận:
• 𝑾𝑚 𝑘 + 1 = 𝑾𝑚 𝑘 − 𝛼𝒔𝑚 (𝒂𝑚−1 )𝑇
• 𝒃𝑚 𝑘 + 1 = 𝒃𝑚 𝑘 − 𝛼𝒔𝑚

𝜕𝐽
𝜕𝑛𝑚
1
𝜕𝐽
𝜕𝐽
• 𝒔𝑚 = = 𝜕𝑛𝑚
𝜕𝒏𝑚 2
:
𝜕𝐽
𝜕𝑛𝑚 𝑚
𝑆

Dr. Nam H. Nguyen 41


3.2.3.5 Lan truyền ngược độ nhạy

𝜕𝑛𝑖 𝑚+1
• 𝑚 =
𝜕𝑛𝑗
𝑚 𝑚+1 𝑎 𝑚 +𝑏 𝑚+1 )
𝜕(σ𝑆
𝑣=1 𝑤𝑖,𝑣 𝑣 𝑖
𝜕𝑛𝑗 𝑚
𝜕𝑎 𝑚
𝑚+1 𝑗
• =𝑤𝑖,𝑗
𝜕𝑛𝑗 𝑚
• =𝑤𝑖,𝑗 𝑚+1 𝑓ሶ 𝑚 (𝑛𝑗 𝑚 )

Dr. Nam H. Nguyen 42


3.2.3.5 Lan truyền ngược độ nhạy

Dr. Nam H. Nguyen 43


3.2.3.5 Lan truyền ngược độ nhạy
𝑇
𝑚 𝜕𝐽 𝜕𝒏𝑚+1 𝜕𝐽 𝑚 𝑚+1 𝑇 𝑚+1
• 𝒔 = = ሶ
= 𝐹𝑚 (𝒏 ) 𝑾 𝒔
𝜕𝒏𝑚 𝜕𝒏𝑚 𝜕𝒏𝑚+1

• 𝑚 = 𝑀 − 1: 1

Dr. Nam H. Nguyen 44


Thuật toán lan truyền ngược

nnd11bc
Dr. Nam H. Nguyen 45
Ví dụ

Dr. Nam H. Nguyen 46


Ví dụ

Tham số ban đầu của


mạng:

Đáp ứng đầu ra của mạng


(vidu.m)

Dr. Nam H. Nguyen 47


Ví dụ

• Tính đầu ra của lớp 1:


• 𝑎0 = 𝑝 = 1

Dr. Nam H. Nguyen 48


Ví dụ

Tính đầu ra của mạng (lớp thứ 2):

Dr. Nam H. Nguyen 49


Ví dụ

Tính sai số:

Tính đạo hàm các hàm truyền:

Dr. Nam H. Nguyen 50


Tính đạo hàm các hàm truyền

Đạo hàm có thể được tính từ đầu ra của lớp

Dr. Nam H. Nguyen 51


Lan truyền ngược độ nhậy

Độ nhậy của lớp ra:

Dr. Nam H. Nguyen 52


Lan truyền ngược độ nhạy

Độ nhậy của lớp thứ nhất (lớp vào):

Dr. Nam H. Nguyen 53


Cập nhật tham số của lớp 2
Chọn tốc độ học: 𝛼 = 0.1

Dr. Nam H. Nguyen 54


Cập nhật tham số của lớp 1

vidu_train.m/nnd11bc

Dr. Nam H. Nguyen 55


Bài tập

• 4. Thiết kế mạng nơ-ron để phân loại các mẫu sau

Dr. Nam H. Nguyen 56


Bài tập

• 4. Thiết kế mạng nơ-ron để phân loại các mẫu sau

Dr. Nam H. Nguyen 57


Bài tập

Dr. Nam H. Nguyen 58


Tuyến tính hóa phản hồi thích nghi nơ-ron

(𝑛)
• 𝑥 = 𝑓 𝒙𝑝 + 𝑔 𝒙𝑝 𝑢 (1)
𝑝
𝑇
𝑥ሶ
(𝑛−1)
• 𝒙𝑝 = 𝑥𝑝 𝑝 …. 𝑥
𝑝
(𝑛)
• 𝑥 = −𝒌𝑇 𝒙𝑚 + 𝑟
𝑚
1
• 𝑢 = −𝑁𝑓 − 𝒌𝑇 𝒙𝑝 + 𝑟
𝑁𝑔

(𝑛) 𝑔 𝒙𝑝
• 𝑥 = 𝑓 𝒙𝑝 + −𝑁𝑓 − 𝒌𝑇 𝒙𝑝 + 𝑟
𝑝 𝑁𝑔

• 𝒆 = 𝒙𝑝 − 𝒙𝑚
(𝑛) 𝑛
• 𝑒=𝑥 −𝑥 = −𝒌𝑇 𝒆 + 𝑓 − 𝑁𝑓 + 𝑔 − 𝑁𝑔 𝑢
𝑝 𝑚
Dr. Nam H. Nguyen 59
Tuyến tính hóa phản hồi thích nghi nơ-ron

Dr. Nam H. Nguyen 60


3.3. Công cụ nơ-ron trong Matlab

• 3.3.1 Tối ưu hóa hàm mục tiêu


• 3.3.2 Tạo mạng nơ-ron và mô phỏng trong Matlab
• 3.3.3 Các hàm huấn luyện mạng nơ-ron trong Matlab

Dr. Nam H. Nguyen 61


3.3.1 Tối ưu hóa hàm mục tiêu

• 3.3.1.1 Hàm mục tiêu


• 3.3.1.2 Phương pháp hạ sâu nhất (steepest descent)
• 3.3.1.3 Phương pháp Newton
• 3.3.1.4 Phương pháp Levenberg-Marquardt

Dr. Nam H. Nguyen 62


3.3.1.1 Hàm mục tiêu

• 𝐹 (𝒙) → 𝑚𝑖𝑛
• 𝒙 = 𝑣𝑒𝑐[𝑤 𝑚 𝑖,𝑗 𝑘 𝑏 𝑚 𝑖 𝑘 ];
• 𝑖 = 1: 𝑆 𝑚 ; 𝑗 = 1: 𝑆 𝑚−1 ; 𝑚 = 1: 𝑀.
• Chọn giá trị ban đầu 𝒙0 (ngẫu nhiên và nhỏ).
• Cập nhật giá trị mới theo công thức
• 𝒙𝑘+1 = 𝒙𝑘 + 𝛼𝑘 𝒑𝑘
• 𝒑𝑘 là hướng tìm
• 𝛼𝑘 là tốc độ học

Dr. Nam H. Nguyen 63


3.3.1.2 Phương pháp hạ sâu nhất

• 𝒙𝑘+1 = 𝒙𝑘 + 𝛼𝑘 𝒑𝑘
• Sau mỗi vòng lặp, ta muốn
• 𝐹 𝒙𝑘+1 < 𝐹(𝒙𝑘 ) (1)
• Khai triển chuỗi Taylor bậc nhất xung quanh điểm 𝒙𝑘 , ta có:
• 𝐹 𝒙𝑘+1 ≈ 𝐹 𝒙𝑘 + 𝒈𝑇 𝑘 ∆𝒙𝑘
• ∆𝒙𝑘 = 𝒙𝑘+1 − 𝒙𝑘
• 𝒈𝑘 = 𝛻𝐹(𝒙)
ฬ𝒙=𝒙
𝒌

• Để thỏa mãn điều kiện (1) thì


• 𝒈𝑇 𝑘 ∆𝒙𝑘 = 𝒈𝑇 𝑘 𝛼𝑘 𝒑𝑘 < 0
Dr. Nam H. Nguyen 64
3.3.1.2 Phương pháp hạ sâu nhất

• Ta chọn 𝛼𝑘 nhỏ và dương, do đó


• 𝒈𝑇 𝑘 𝒑𝑘 < 0
• Bất kỳ véc tơ 𝒑𝑘 nào thỏa mãn điều kiện ở trên được gọi là
hướng hạ sâu.
• Giả thiết độ lớn của 𝒑𝑘 không đổi, khi đó 𝒈𝑇 𝑘 𝒑𝑘 đạt giá trị
âm nhất nếu 𝒑𝑘 thỏa mãn điều kiện gì?
• 𝒑𝑘 = −𝒈𝑘
• Hướng hạ sâu nhất là hướng −𝒈𝑘 .
• Phương pháp hạ sâu nhất:
• 𝒙𝑘+1 = 𝒙𝑘 − 𝛼𝑘 𝒈𝑘

Dr. Nam H. Nguyen 65


3.3.1.2 Phương pháp hạ sâu nhất

• Có 2 phương pháp chọn 𝛼𝑘 :


𝛼𝑘 cố định
𝛼𝑘 được xác định sao cho 𝐹 đạt giá trị nhỏ nhất trên hướng
𝒑𝑘
• Ví dụ:
• 𝐹 𝒙 = 𝑥1 2 + 25𝑥2 2
0,5
• 𝒙0 =
0,5

Dr. Nam H. Nguyen 66


3.3.1.2 Phương pháp hạ sâu nhất

Véc tơ gradient:

Tốc độ học:

Vòng lặp đầu tiên 𝑘 = 1

nnd9sdq

Dr. Nam H. Nguyen 67


3.3.1.3 Phương pháp Newton

• Khai triển chuỗi Taylor bậc 2 xung quanh 𝒙𝑘 :


1
• 𝐹 𝒙𝑘+1 ≈ 𝐹 𝒙𝑘 + 𝒈𝑇 𝑘 ∆𝒙𝑘 + ∆𝒙𝑘 𝑇 𝑨𝑘 ∆𝒙𝑘 (**)
2

• 𝑨𝑘 = 𝛻 2 𝐹(𝒙) - ma trận Hessian


ฬ𝒙=𝒙
𝑘

• 𝒈𝒌 + 𝑨𝑘 ∆𝒙𝑘 = 𝟎
• ∆𝒙𝑘 = −𝑨𝑘 −1 𝒈𝒌
• 𝒙𝑘+1 = 𝒙𝑘 − 𝑨𝑘 −1 𝒈𝒌 (***)
• Ví dụ: 𝐹 𝒙 = 𝑥1 2 + 25𝑥2 2
0,5
• 𝒙0 =
0,5
Dr. Nam H. Nguyen 68
3.3.1.3 Phương pháp Newton

Véc tơ gradient

Ma trận Hessian

Vòng lặp thứ nhất:

Dr. Nam H. Nguyen 69


3.3.1.3 Phương pháp Newton

• Nnd9nm

cực tiểu cục bộ yên ngựa cực tiểu toàn cục

Dr. Nam H. Nguyen 70


3.3.1.4 Phương pháp Levenberg-Marquardt

• 𝐹 𝒙 = σ𝑁 2 𝑇
𝑖=1 𝑣𝑖 (𝒙) = 𝒗 𝒙 . 𝒗(𝒙)
𝜕𝐹 𝒙 𝜕𝑣𝑖 (𝒙)
• = 2 σ𝑁
𝑖=1 𝑣𝑖 (𝒙)
𝜕𝑥𝑗 𝜕𝑥𝑗

• Gradient:
• 𝛻𝐹 𝒙 = 2𝑱𝑇 𝒙 . 𝒗(𝒙)
• J - Ma trận Jacobian:

Dr. Nam H. Nguyen 71


3.3.1.4 Phương pháp Levenberg-Marquardt

𝜕𝐹 𝒙 𝜕𝑣𝑖 (𝒙)
• = 2 σ𝑁
𝑖=1 𝑣𝑖 (𝒙)
𝜕𝑥𝑗 𝜕𝑥𝑗

Phần tử thứ 𝑘, 𝑗:

Dạng ma trận:

Khi S(x) nhỏ

Dr. Nam H. Nguyen 72


3.3.1.4 Phương pháp Levenberg-Marquardt

• Thay gradient và ma trận Hessian vào (***), ta thu được


phương pháp Gauss – Newton:

Ưu điểm: Không cần tính đạo hàm bậc hai


Nhược điểm: Ma trận Hessian 𝐻 = 𝑱𝑇 (𝒙𝑘 )𝑱(𝒙𝑘 ) phải khả đảo

Dr. Nam H. Nguyen 73


3.3.1.4 Phương pháp Levenberg-Marquardt

• Nếu 𝜇𝑘 tiến tới 0, trở thành phương pháp Gauss – Newton


• Nếu 𝜇𝑘 lớn, trở thành phương pháp hạ sâu nhất

Dr. Nam H. Nguyen 74


Tuyến tính hóa phản hồi thích nghi nơ-ron

(𝑛)
• 𝑥 = 𝑓 𝒙𝑝 + 𝑔 𝒙𝑝 𝑢 (1)
𝑝
𝑇
𝑥ሶ
(𝑛−1)
• 𝒙𝑝 = 𝑥𝑝 𝑝 …. 𝑥
𝑝
(𝑛)
• 𝑥 = −𝒌𝑇 𝒙𝑚 + 𝑟
𝑚
1
• 𝑢 = −𝑁𝑓 − 𝒌𝑇 𝒙𝑝 + 𝑟
𝑁𝑔

(𝑛) 𝑔 𝒙𝑝
• 𝑥 = 𝑓 𝒙𝑝 + −𝑁𝑓 − 𝒌𝑇 𝒙𝑝 + 𝑟
𝑝 𝑁𝑔

• 𝒆 = 𝒙𝑝 − 𝒙𝑚
(𝑛) 𝑛
• 𝑒=𝑥 −𝑥 = −𝒌𝑇 𝒆 + 𝑓 − 𝑁𝑓 + 𝑔 − 𝑁𝑔 𝑢
𝑝 𝑚
Dr. Nam H. Nguyen 75
Tuyến tính hóa phản hồi thích nghi nơ-ron

Dr. Nam H. Nguyen 76


3.3.2 Tạo mạng nơ-ron và mô phỏng trong
Matlab
• 3.3.2.1 Mạng perceptron
• 3.3.2.2 Mạng nhiều lớp
• 3.3.2.3 Mạng động

Dr. Nam H. Nguyen 77


3.3.2.1 Mạng perceptron

• NET = newp(P,T,TF,LF) - tạo mạng perceptron


• P - RxQ (R là số đầu vào, Q là số mẫu)
• T - SxQ (S là số nơ-ron)
• TF – hàm truyền, mặc định là hàm 'hardlim'.
• LF – Hàm học, mặc định là hàm 'learnp'.
• Ví dụ:
0 0 1 1
• 𝑝= ;t= 0 1 1 1
0 1 0 1
• 𝑛𝑒𝑡 = 𝑛𝑒𝑤𝑝(𝑝, 𝑡)
• 𝑣𝑖𝑒𝑤(𝑛𝑒𝑡) – xem cấu trúc mạng

Dr. Nam H. Nguyen 78


3.3.2.1 Mạng perceptron

• 𝑦 = 𝑛𝑒𝑡(𝑝) – tính đầu ra của mạng


• net.trainParam.epochs = 20 – số lần học
• 𝑛𝑒𝑡 = 𝑡𝑟𝑎𝑖𝑛(𝑛𝑒𝑡, 𝑝, 𝑡) – huấn luyện mạng
• 𝑛𝑒𝑡. 𝑖𝑤{1,1} - xem trọng số
• 𝑛𝑒𝑡. 𝑏{1} – xem bias
• newp_example.m

Dr. Nam H. Nguyen 79


3.3.2.2 Mạng nhiều lớp

• network(numInputs,numLayers,biasConnect,inputConnect,lay
erConnect,outputConnect)
• numInputs - số đầu vào R.
• numLayers - số lớp M.
• biasConnect - M𝑥1 véc tơ nhị phân.
• inputConnect - 𝑀𝑥𝑅 ma trận nhị phân.
• layerConnect - 𝑀𝑥𝑀 ma trận nhị phân.
• outputConnect - 1𝑥𝑀 véc tơ nhị phân.

Dr. Nam H. Nguyen 80


3.3.2.2 Mạng nhiều lớp

• Tạo một mạng có 2 lớp, 1 đầu vào. Trong đó lớp 1 có bias, lớp
2 không có bias và đầu ra của mạng là đầu ra của lớp 2.
• numInputs = 1;
• numLayers = 2;
• biasConnect = [1;0];
• inputConnect = [1;0];
• layerConnect = [0 0;1 0];
• outputConnect = [0 1];
• net =
network(numInputs,numLayers,biasConnect,inputConnect,lay
erConnect,outputConnect)

Dr. Nam H. Nguyen 81


3.3.2.2 Mạng nhiều lớp

• Chọn hàm truyền cho các lớp:


• net.layers{1}.transferFcn = 'tansig';
• net.layers{2}.transferFcn = ‘purelin';
• Kích thước của đầu vào:
• net.inputs{1}.size = 1;
• Kích thước của đầu ra:
• net.outputs{2}.size = 1;
• Số nơ ron của các lớp:
• net.layers{1}.size = 2;
• net.layers{2}.size = 1;

Dr. Nam H. Nguyen 82


3.3.2.2 Mạng nhiều lớp

• Khởi tạo các giá trị ban đầu cho các tham số của mạng:
• net.iw{1,1}=[-0.27;-0.41];
• net.b{1}=[-0.48;-0.13];
• net.lw{2,1}=[0.09 -0.17];
• net.b{2}=0.48;
• Xem cấu trúc của mạng nơ-ron: view(net)
• Tính đầu ra của mạng:
• p = -2:0.2:2;
• y = net(p);

Dr. Nam H. Nguyen 83


3.3.2.3 Mạng động

• layerConnect = [0 1;1 0];


• Khai báo các khối TDL:
• net.inputWeights{1,1}.delays = 1:2;
• net.layerWeights{1,2}.delays = 1:2;
• Chuẩn bị dữ liệu vào ra mẫu:
• p = rand(1,100);
• P = num2cell(p);

Dr. Nam H. Nguyen 84


3.3.3 Các hàm huấn luyện mạng trong Matlab

• Phương pháp hạ sâu nhất


• traingd
• net.trainFcn = 'traingd';
• net.trainParam.epochs = 100; −𝑠ố 𝑙ầ𝑛 ℎọ𝑐
• net.trainParam.lr = 0.01; − 𝑡ố𝑐 độ ℎọ𝑐
• [net,tr] = train(net,p,t) −ℎ𝑢ấ𝑛 𝑙𝑢𝑦ệ𝑛 𝑚𝑎𝑛𝑔
• multilayer_train.m
• Phương pháp Levenberg-Marquardt
• 𝑡𝑟𝑎𝑖𝑛𝑙𝑚

• Các phương pháp khác: help nntrain

Dr. Nam H. Nguyen 85


Mạng động (hồi qui)

1
1
1
Dr. Nam H. Nguyen 86
Huấn luyện mạng động (hồi qui)

• Huấn luyện mạng hở: Cắt đường phản hồi từ đầu ra của
mạng, coi tín hiệu phản hồi từ đầu ra của mạng như đầu vào
mới của mạng.
• Huấn luyện mạng kín:
 Sau khi huấn luyện mạng hở, đường phản hồi được đóng
lại, các trọng số và bias của mạng hở được dùng như các tham
số ban đầu của mạng kín.
 Chia tập mẫu gồm Q mẫu thành các tập mẫu có độ dài là C.
 𝐶 > 𝑑 (𝑑 𝑙à 𝑠ố 𝑡𝑟ễ 𝑙ớ𝑛 𝑛ℎấ𝑡 𝑐ủ𝑎 𝑚ạ𝑛𝑔).
 Huấn luyện mạng kín với các tập mẫu có độ dài là 𝐶 = 𝑑 +
1.
 Nếu thành công, thì tăng C cho tới khi 𝐶 = 𝑄.

Dr. Nam H. Nguyen 87


Nhận dạng đối tượng

𝒕(𝑘) 𝒆(𝑘)
𝒑(𝑘)
Đối tượng

𝒚(𝑘)
Mạng nơ-ron
𝑾, 𝒃

𝑄
1
𝐽 = ෍[𝒕 𝑘 − 𝒚 𝑘 ]𝑇 [𝒕 𝑘 − 𝒚 𝑘 ] → 𝑚𝑖𝑛
𝑄
𝑘
Dr. Nam H. Nguyen 88
Điều khiển thích nghi theo mô hình mẫu

Dr. Nam H. Nguyen 89


Điều khiển dự báo

Dr. Nam H. Nguyen 90


Nhận dạng cánh tay máy

𝑡(𝑘) 𝑒(𝑘)
𝑝(𝑘)
Cánh tay máy

𝑦(𝑘)
Mạng nơ-ron
𝑾, 𝒃

𝑄
1
𝐽 = ෍(𝑡 𝑘 − 𝑦(𝑘))2 → 𝑚𝑖𝑛
𝑄
𝑘
Dr. Nam H. Nguyen 91
Nhận dạng cánh tay máy

• robotarm_reference.m −𝑡ạ𝑜 𝑡í𝑛 ℎ𝑖ệ𝑢 𝑣à𝑜 𝑚ẫ𝑢


• myrobotarm.mdl −𝑡ạ𝑜 𝑡í𝑛 ℎ𝑖ệ𝑢 𝑟𝑎 𝑚ẫ𝑢
• mangho.m −ℎ𝑢ấ𝑛 𝑙𝑢𝑦ệ𝑛 𝑚ạ𝑛𝑔 ℎở
• mangkin.m −ℎ𝑢ấ𝑛 𝑙𝑢𝑦ệ𝑛 𝑚ạ𝑛𝑔 𝑘í𝑛

Dr. Nam H. Nguyen 92


The End

Dr. Nam H. Nguyen 93


3.1.5 Quan hệ giữa mờ và nơ-ron

• Mờ và mạng nơ-ron là hai kỹ thuật bổ sung cho nhau:


Mạng nơ-ron có thể học từ dữ liệu, nhưng tri thức biểu diễn
bởi nó thì khó hiểu
Ngược lại, hệ mờ thì dễ hiểu nhưng không có thuật toán học.
• Sự kết hợp giữa mờ và nơ-ron có thể được phân thành 4 loại:
 Điều chỉnh hệ mờ sử dụng các luật học của mạng nơ-ron
(ANFIS)
 Xây dựng mạng nơ-ron sử dụng hệ mờ
 Tạo các hàm liên thuộc với mạng nơ-ron
 Nối các mạng nơ-ron và hệ mờ

Dr. Nam H. Nguyen 94

You might also like