You are on page 1of 144

Luận án Tiến sĩ Kỹ thuật 2013

M CL C

M Đ U ............................................................................................................................... 7

CH NG 1 : M NG N RON VÀ QUÁ TRÌNH H C C A M NG N RON ................ 12

1.1. Gi i thi u v m ng n ron vƠ quá trình h c c a m ng n ron ............................... 12


1.1.1. M ng n ron vƠ các ph ng pháp h c ......................................................................... 12
1.1.2. Đánh giá các nhơn t c a quá trình h c ....................................................................... 13
1.1.2.1. Khởi tạo các trọng số ................................................................................................ 13
1.1.2.2. Bước học α .............................................................................................................. 13
1.1.2.3. Hằng số quán tính .................................................................................................... 14

1.2. Nh n d ng h th ng sử d ng m ng n ron ...................................................... 14


1.2.1. Nh n d ng h th ng .................................................................................................... 14
1.2.2. Nh n d ng h th ng sử d ng m ng n ron ................................................................... 16

1.3. M t l i đ c bi t khi luy n m ng n ron .................................................................... 19


1.3.1. M t l i đ c bi t khi luy n m ng n ron ....................................................................... 19
1.3.2. Ví d v bƠi toán d n đ n m t l i đ c bi t ................................................................... 20

1.4. Mô ph ng quá trình luy n m ng n ron khi sử d ng Toolbox c a Matlab 22


1.4.1. Ví d v i m ng n ron có m t l i bình th ng ............................................................ 22
1.4.2. Ví d v i m ng n ron có m t l i đ c bi t .................................................................... 25

1.5. T ng quan v tình hình nghiên c u trong vƠ ngoƠi n c 26


1.5.1. Đi m qua m t s công trình nghiên c u v m ng n ron vƠ ng d ng ........................ 26
1.5.2. Các công trình trong vƠ ngoƠi n c nghiên c u v thu t toán h c c a m ng n ron ... 31
1.5.3. BƠn lu n ...................................................................................................................... 37

1.6. K t lu n ch ng 1 ....................................................................................................... 38

CH NG 2: THU T TOÁN V T KHE TRONG QUÁ TRÌNH LUY N M NG N RON


............................................................................................................................................. 40

2.1. Thu t toán v t khe .................................................................................................. 40


2.1.1. Đ t v n đ .................................................................................................................. 40
2.1.2. Tính h i t vƠ đi u ki n t i u ..................................................................................... 41
2.1.3. Thu t toán v t khe .................................................................................................... 46
2.1.3.1. Giới thiệu ................................................................................................................. 47
2.1.3.2. Nguyên lý vượt khe .................................................................................................... 48

1
Luận án Tiến sĩ Kỹ thuật 2013

2.1.3.3. Xác định bước vượt khe ............................................................................................. 51


2.1.3.4. Ví dụ ........................................................................................................................ 54
2.2 ng d ng thu t toán v t khe trong quá trình luy n m ng n ron ........................ 56
2.3 Minh h a thu t toán .................................................................................................... 58
2.3.1. Công tác chuẩn b ........................................................................................................ 58
2.3.1.1. Điều chỉnh trọng số lớp ra ........................................................................................ 59
2.3.1.2. Điều chỉnh trọng số lớp ẩn ......................................................................................... 60
2.3.2. C u trúc m ng............................................................................................................. 62
2.3.3. Các th vi n vƠ hƠm m ng .......................................................................................... 64
2.3.3.1. Thư viện ................................................................................................................... 64
2.3.3.2. Hàm khởi tạo trọng số ............................................................................................... 66
2.3.3.3. Thủ tục tính bước học vượt khe ................................................................................ 67
2.3.3.4. Thủ tục huấn luyện mạng, HUANLUYENVUOTKHE() ............................................ 69
2.3.4. K t qu ch y ch ng trình vƠ so sánh ........................................................................ 69
2.3.4.1. Chạy chương trình ................................................................................................... 69
2.3.4.2. So sánh các phương án .............................................................................................. 73
2.4. K t lu n ch ng 2 ....................................................................................................... 76

CH NG 3: Đ XU T MỌ HÌNH K T H P THU T DI TRUY N VÀ THU T


TOÁN V T KHE Đ C I TI N QUÁ TRÌNH H C C A M NG N RON MLP
Cị M T L I Đ C BI T ................................................................................................ 77

3.1. Đ t v n đ ................................................................................................................... 77
3.1.1. Kh o sát đ h i t c a quá trình luy n m ng n ron bằng kỹ thu t lan truy n ng c
nguyên th y v i các b kh i t o tr ng s ban đ u khác nhau .............................................. 77
3.1.2. Kh o sát đ h i t c a quá trình luy n m ng n ron có m t l i đ c bi t bằng kỹ thu t lan
truy n ng c k t h p thu t toán v t khe v i các b kh i t o tr ng s ban đ u khác nhau 80

3.2. Đ xu t mô hình k t h p gi i thu t di truy n vƠ thu t toán v t khe trong quá


trình luy n m ng n ron ................................................................................................... 83
3.2.1. Đ t v n đ ................................................................................................................... 83
3.2.2. Thu t toán . ................................................................................................................. 87

3.3. Áp d ng mô hình k t h p gi i thu t di truy n vƠ thu t toán v t khe trong quá


trình luy n m ng n ron vƠo bƠi toán nh n d ng ........................................................... 91

3.4. K t lu n ch ng 3 ...................................................................................................... 94

K T LU N CHUNG VÀ Đ XU T H NG NGHIểN C U .................................. 95

2
Luận án Tiến sĩ Kỹ thuật 2013

CÁC CỌNG TRÌNH ĐÃ CỌNG B ............................................................................... 99

TÀI LI U THAM KH O ............................................................................................... 100

PH L C 1....................................................................................................................... 106

3
Luận án Tiến sĩ Kỹ thuật 2013

DANH M C B NG BI U, HÌNH VẼ

Bảng 2.1. Các hàm kích hoạt (transfer function) tiêu biểu .................................. 64
Bảng 2.2: Tập hồ sơ mẫu đầu vào {0 1 2 3 4 5 6 7 8 9} ...................................... 74
Bảng 2.3: Tập hồ sơ mẫu đầu vào {! @ # $ % ^ & * ( )} .................................... 75
Bảng 3.1. Kết quả khi nhận dạng hệ thống phi tuyến tĩnh ................................... 79
Bảng 3.2: Kết quả khi nhận dạng hệ thống động học phi tuyến .......................... 80
Bảng 3.3: Kết quả khi nhận dạng hệ thống có mặt lỗi dạng lòng khe ................. 82
Bảng 3.4. So sánh GA và BP với sai số là 0.1 ..................................................... 85
Bảng 3.5: So sánh GA và BP với sai số là 0.001 ................................................. 86
Bảng 3.6: So sánh GA và BP với sai số khác nhau ............................................. 86
Hình 1.1. Điều khiển theo nguyên tắc phản hồi đầu ra ....................................... 15
Hình 1.2: Mô hình nhận dạng cơ bản .................................................................. 18
Hình 1.3. Mặt sai số dạng lòng khe ..................................................................... 19
Hình 1.4: Kỷ nguyên luyện mạng ví dụ 1 ............................................................. 24
Hình 1.5: Cấu trúc mạng nơron cho nhận dạng chữ ........................................... 25
Hình 1.6: Kết quả luyện mạng nơron với các phương pháp lan truyền ngược khác
nhau (traingd, traingdm, traindx, trainda) .......................................................... 26
Hình 2.1: Quỹ đạo dao động với sai số dạng lòng khe ........................................ 42
Hình 2.2: Hàm khe ............................................................................................... 48

Hình 2.3: Xác định bước vượt khe  v .................................................................. 50


Hình 2.4: Lưu đồ thuật toán tính bước vượt khe.................................................. 54
Hình 2.5: Bước lặp k = 1 ..................................................................................... 55
Hình 2.6:Các đường đồng m c dạng khe ............................................................ 57
Hình 2.7:Lưu đồ thuật toán huấn luyện mạng nơron với bước học vượt khe...... 58
Hình 3.1: Sơ đồ thuật toán kết hợp giải thuật vượt khe và di truyền cho luyện mạng
MLP ...................................................................................................................... 90
Hình 3.2: Hoạt động c a mạng MLP cải tiến ...................................................... 93
Hình a: So sánh hoạt động c a mạng MLP thuần túy và MLP cải tiến .............. 97
4
Luận án Tiến sĩ Kỹ thuật 2013

CÁC T VI T T T
ADLINE ADAptiЯe Linear Neural, m ng tuв n tính thíМh nghi đ n l p
ANN ArtifiМial Neural Netаork, m ng n ron nhơn t o
BP BaМkPropagation, lan truв n ng М
BPTT BackPropagation -Through-Time, lan truв n ng М бuвên tơm
LDDN LaвereН Digital DвnamiМ Netаork, m ng n ron đ ng
LMS Least Mean Square, trung bình bình ph ng nh nhất
NNs Neural NetаorkS, m ng n ron
RTRL Real-Time ReМurrent Learning, thu t h М h i qui th i gian thựМ
SDBP Steepest Descent BackPropagation, kỹ thu t lan truв n ng М
giảm Н М nhất
OBP Optical BackPropagation, kỹ thu t lan truв n ng М “t М đ
пnh sпng”
VLBP Variable Learning rate BackPropagation algorithm, kỹ thu t
lan truв n ng М Я i t М đ h М thaв đổi.
MLP MultiLayer Perceptron, m ng truв n thẳng nhi u l p
GA GenetiМ Algorithms, giải thu t Нi truв n

5
Luận án Tiến sĩ Kỹ thuật 2013

L I CAM ĐOAN

Tôi бin Мam đoan lu n пn nƠв lƠ Мông trình nghiên М u khoa h М М a tôi ЯƠ không
trùng lặp Я i bất М Мông trình khoa h М nƠo khпМ. CпМ s li u trình bƠв trong lu n
пn đƣ đ М ki m tra kỹ ЯƠ phản пnh hoƠn toƠn trung thựМ. CпМ k t quả nghiên М u
Нo tпМ giả đ бuất Мh a từng đ М Мông b trên bất kỳ t p Мhí nƠo đ n th i đi m nƠв
ngoƠi nh ng Мông trình М a tпМ giả.

Ngày 14 tháng 10 năm 2013

TпМ giả lu n пn

Nguв n Th Thanh Nga

6
Luận án Tiến sĩ Kỹ thuật 2013

M Đ U

Trong rất nhi u lĩnh ЯựМ nh đi u khi n, tự đ ng hóa, Мông ngh thông tin…,
nh n Н ng đ Мđ it ng lƠ Яấn đ mấu Мh t quв t đ nh sự thƠnh Мông М a bƠi
toпn. Phần l n МпМ đ i t ng trong thựМ t đ u lƠ phi tuв n Я i đ phi tuв n khпМ
nhau.

M ng n ron Мó khả năng бấp бỉ МпМ hƠm phi tuв n m t МпМh đầв đ ЯƠ Мhính
бпМ, nó đ М s Н ng t t Мho МпМ mô hình đ ng h М phi tuв n. Đi u quan tr ng lƠ
thu t lan truв n ng М tĩnh ЯƠ đ ng М a m ng n ron đ М s Н ng đ hi u Мhỉnh
МпМ tham s trong quп trình nh n Н ng. C s toпn h М М a Яi М khẳng đ nh rằng
m ng n ron lƠ Мông М бấp бỉ Я n năng МпМ hƠm s liên t М Нựa trên МпМ đ nh lý
Stone ậ Weierstrass và Kolmogorov[15].

Vi М s Н ng đ nh lý Stone ậ Weierstrass đ Мh ng minh khả năng бấp бỉ


М a m ng noron đƣ đ М МпМ tпМ giả Hornik et al., Funahashi, Cotter, Blum đ a ra
từ năm 1989. CпМ m ng n ron th a mƣn đ nh lý Stone ậ Weierstrass có th k đ n
lƠ m ng l ng giпМ, m ng hai l p Я i hƠm kíМh ho t sigmoiН, m ng hai l p Я i hƠm
kíМh ho t MМCulloМh ậ Pitts(MC - P) ЯƠ m ng Я i hƠm М s бuвên tơm(RBF)[16],
[17], [18], [19].

Vi М s Н ng đ nh lý KolmogoroЯ đ bi u Нi n Мhính бпМ hƠm liên t М Яà


đ a ra s đ m ng n ron t ng ng đƣ đ М HeМht - Nielsen và Lorentz công
b [20], [21], [22].

M ng n ron lƠ m t trong nh ng Мông М nh n Н ng t t nhất Яì МпМ đặМ tr ng


sau: Khả năng h М từ kinh nghi m (khả năng đ М huấn luв n), khả năng б lý
song song Я i t М đ б lý nhanh, khả năng h М thíМh nghi, khả năng khпi quпt hoп
Мho МпМ đầu ЯƠo không đ М huấn luв n, Яí Н Нựa ЯƠo МпМh h М m ng Мó th s tiên
đoпn đầu ra từ đầu ЯƠo không bi t tr М [23], [24].

Hi n naв, m t Мông М phần m m đ М ng Н ng rất hi u quả trong МпМ lĩnh


ЯựМ Я đi u khi n, tự đ ng hóa, Мông ngh thông tin đó lƠ Matlab. Khi s Н ng b
Мông М Neural Network Toolboб, Мhúng ta Мó th luв n m ng đ nh n Н ng đ М
m ts đ it ng tuв n tính ЯƠ phi tuв n. B Мông М Мung Мấp Мho Мhúng ta m t s

7
Luận án Tiến sĩ Kỹ thuật 2013

ph ng phпp luв n m ng n ron, trong đó kỹ thu t lan truв n ng Мđ М ng Н ng


r ng rƣi h n Мả. đó Мhúng ta Мó th lựa Мh n МпМ b М h М khпМ nhau ph М Я Мho
quп trình luв n m ng nh : TraingН (BasiМ graНient НesМent), TraingНm (GraНient
descent with momentum), Traingdx (Adaptive learning rate), Trainbfg (BFGS
quasi- Newton)...

M t nh М đi m khi Нùng m ng n ron lƠ Мh a Мó ph ng phпp lu n Мhung khi


thi t k Мấu trúМ m ng Мho МпМ bƠi toпn nh n Н ng ЯƠ đi u khi n mƠ phải Мần t i
ki n th М М a Мhuвên gia. Mặt khпМ khi бấp бỉ m ng n ron Я i m t h phi tuв n s
khó khăn khi luв n m ng Яì Мó th không tìm đ М đi m t i u toƠn М М... V в, t n
t i l n nhất gặp phải lƠ tìm nghi m t i u toƠn М М, đặМ bi t пp Н ng Мho МпМ bƠi
toпn l n, МпМ h th ng đi u khi n quп trình.

Giải thu t Нi truв n (GenetiМ Algorithms-GA) đ М bi t đ n nh m t giải thu t


tìm ki m Нựa trên h М thuв t Я Мh n l М tự nhiên ЯƠ nó Мho phцp ta đ t đ Мt i
МựМ tr toƠn М М. ThựМ ra, GA thu М l p МпМ thu t toпn бпМ suất, nh ng l i rất khпМ
nh ng thu t toпn ng u nhiên Яì Мhúng k t h p МпМ phần t tìm ki m trựМ ti p ЯƠ
ng u nhiên. KhпМ bi t quan tr ng gi a ph ng phпp tìm ki m М a GA ЯƠ МпМ
ph ng phпp tìm ki m khпМ lƠ GA Нuв trì ЯƠ б lý m t t p МпМ l i giải (quần th ) -
tất Мả МпМ ph ng phпp khпМ Мhỉ б lý m t đi m trong không gian tìm ki m. Chính
Яì th , GA m nh h n МпМ ph ng phпp tìm ki m hi n Мó rất nhi u. [25], [26].

Hi n naв, Яi М nghiên М u МпМ thu t toпn tìm nghi m t i u toƠn М М khi luв n
m ng n ron đƣ đ М m t s tпМ giả nghiên М u пp Н ng [27], [28], [29]. Tuy nhiên
khi s Н ng m ng n ron đ бấp бỉ m t s đ i t ng phi tuв n mƠ mặt lỗi sinh ra Мó
Н ng lòng khe [28], Яi М huấn luв n m ng gặp rất nhi u khó khăn.

N i Нung đ tƠi s đi nghiên М u m t thu t toпn tìm đi m t i u toƠn М М trong


quп trình luв n m ng n ron bằng thu t toпn Я t khe Мó sự k t h p Я i giải thu t Нi
truв n.

M c tiêu

- Đ бuất mô hình k t h p thu t toпn Я t khe và giải thu t Нi truв n đ huấn


luв n m ng n ron.

8
Luận án Tiến sĩ Kỹ thuật 2013

- Xơв Нựng b Мông М phần m m đ luв n m ng n ron Мho m t s bƠi toпn


Мó mặt lỗi đặМ bi t, lƠm М s bổ sung ЯƠo Neural Toolbox Matlab.

N i dung chính

- Nghiên М u lí thuв t Я m ng n ron ЯƠ quп trình h М М a m ng n ron.

- Nghiên М u lí thuв t Я thu t toпn Я t khe ЯƠ бơв Нựng thu t toпn tính b М
h МЯ t khe.

- Xơв Нựng thu t toпn huấn luв n m ng n ron bằng kỹ thu t lan truв n ng М
k t h p Я i thu t toпn Я t khe.

- Đ бuất thu t toпn huấn luв n m ng n ron bằng kỹ thu t lan truв n ng М Мó
s Н ng giải thu t Нi truв n k t h p Я i thu t toпn Я t khe.

- Vi t ЯƠ МƠi đặt Мh ng trình huấn luв n m ng n ron trên C++.

- Vi t ЯƠ МƠi đặt Мh ng trình huấn luв n m ng n ron trên Matlab.

Ph ng pháp nghiên c u

S Н ng Мả nghiên М u lý thuв t, thựМ nghi m mô ph ng trên mпв tính.

*. Nghiên cứu lý thuyết:

- T p trung nghiên М u Яấn đ m ng n ron lƠ gì ЯƠ ng Н ng М a m ng n ron


trong nh n Н ng. Nghiên М u nh ng khó khăn t n t i khi luв n m ng n ron Я i mặt
lỗi đặМ bi t Мó Н ng lòng khe.

- Nghiên М u giải bƠi toпn t i u tĩnh mƠ hƠm m М tiêu Мó Н ng đặМ bi t ậ


Н ng lòng khe. V i hƠm m М tiêu nƠв bằng МпМ ph ng phпp thông th ng, Яí Н
nh ph ng phпp graНient không tìm đ М МựМ ti u, Мòn thu t toпn Я t khe Мó th
Я t qua đ М lòng khe đ đ n đi m t i u.

- Nghiên М u sự ảnh h ng giп tr ban đầu khi giải bƠi toпn t i u tĩnh bằng
ph ng phпp s , đặМ bi t khi hƠm m М tiêu Мó Н ng lòng khe. Giп tr ban đầu ảnh
h ng l n t i tính h i t ЯƠ th i gian tính nghi m t i u.

- Nghiên М u giải thu t Нi truв n, ЯƠ ng Н ng М a nó trong quп trình tìm


nghi m t i u toƠn М М.

9
Luận án Tiến sĩ Kỹ thuật 2013

- Đ бuất mô hình k t h p thu t toпn Я t khe ЯƠ giải thu t Нi truв n đ luв n


m ng n ron Мó mặt lỗi đặМ bi t.

C s toпn h М Мhính g m lý thuв t Я khả năng бấp бỉ Я n năng М a m ng


n ron Я i đ i t ng phi tuв n Мó hƠm s liên t М lƠ Нựa trên МпМ đ nh lý Stone ậ
Weierstrass ЯƠ KolmogoroЯ; khả năng tìm ra đ М Яùng Мh a МựМ tr toƠn М М М a
giải thu t Нi truв n nh М Мh tìm ki m trải r ng, ng u nghiên ЯƠ mang tính Мh n
l М tự nhiên; khả năng tìm đ n đ М МựМ tr toƠn М М М a thu t toпn t i u Я t khe
khi hƠm phi tuв n Мó Н ng khe.

*. Nghiên cứu thực nghiệm: Mô ph ng trên mпв tính bằng МпМh s Н ng:

- B Мông М sẵn Мó trong Toolboб М a Matlab.

- Vi t Мh ng trình trên C++.

- Vi t Мh ng trình trên Matlab

đ thựМ hi n quп trình luв n m ng n ron Я i mặt lỗi Н ng đặМ bi t. Đпnh giп sự h i
t đ minh Мh ng Мho nh ng k t lu n trong phần lý thuв t.

B c c c a lu n án

Lu n пn Мhia lƠm 3 Мh ng

Ch ng 1 trình bƠв tổng quan Я m ng n ron, quп trình h М М a m ng


n ron, đпnh giп МпМ nhơn t М a quп trình h М. Gi i thi u Я mặt lỗi đặМ bi t trong
quп trình luв n m ng n ron, mặt lỗi Мó Н ng lòng khe, nh ng bƠi toпn Н n đ n mặt
lỗi Мó Н ng lòng khe. S Н ng b Мông М Neural Network Toolbox đ nh n Н ng
m ts đ it ng Мó hƠm m М tiêu Н ng thông th ng ЯƠ Н ng đặМ bi t. Tóm tắt Я
tình hình nghiên М u trong ЯƠ ngoƠi n М, từ đó lƠm бuất phпt đi m Мho n i Нung
nghiên М u М a МпМ Мh ng ti p theo.

Ch ng 2 trình bƠв m t thu t toпn t i u пp Н ng Мho МпМ hƠm m М tiêu


Н ng khe g i lƠ thu t toпn Я t khe. Đ giải quв t bƠi toán nh n Н ng đ i t ng phi
tuв n mƠ sinh ra hƠm m М tiêu Н ng khe, tпМ giả đ бuất Яi М пp Н ng thu t toпn
Я t khe tính b Мh МЯ t khe trong quп trình h М М a m ng n ron. Đ minh
Мh ng Мho hi u quả М a b Мh МЯ t khe, tпМ giả lấв m t Яí Н Я nh n Н ng Мh

10
Luận án Tiến sĩ Kỹ thuật 2013

Яi t taв ЯƠ Мh n hƠm kíМh ho t lƠ hƠm sigmoiН Нo đặМ đi m hƠm nƠв sinh ra mặt sai
s Мó Н ng lòng khe. Ví Н s đ М luв n m ng Я i МпМ ph ng phпp М p nh t b М
h М khпМ nhau. Cu i Мh ng s Мó đпnh giп hi u quả М a МпМ ph ng phпp nƠв.

Ch ng 3, tпМ giả đ a ra МпМ Яí Н Я luв n m ng n ron trên nh ng đ i


t ng Мó m М đ phi tuв n khпМ nhau Я i b tr ng s kh i t o khпМ nhau đ thấв sự
ảnh h ng М a b kh i t o tr ng s đ n k t quả luв n m ng, từ đó đ бuất mô hình
k t h p giải thu t Нi truв n ЯƠ thu t toпn Я t khe trong quп trình luв n m ng
n ron. Trong mô hình, giải thu t Нi truв n lƠm nhi m Я tìm ki m b tr ng s kh i
t o t i u, khoanh Яùng Мh a МựМ tr toƠn М М đ ti n hƠnh luв n m ng n ron theo
kỹ thu t lan truв n ng М Мó s Н ng b Мh МЯ t khe đƣ đ бuất từ Мh ng 2.

11
Luận án Tiến sĩ Kỹ thuật 2013

CH NG 1
M NG N RON VÀ QUÁ TRÌNH H C C A M NG N RON

Tóm tắt: Trong rất nhiều lĩnh vực như điều khiển, tự động hóa, công nghệ
thông tin…, vấn đề nhận dạng được đối tượng là vấn đề mấu chốt quyết định sự
thành công c a bài toán. Mạng nơron có khả năng xấp xỉ các hàm phi tuyến một
cách đầy đ và chính xác, nó được sử dụng tốt cho các mô hình động học phi tuyến.
Tuy nhiên trong quá trình học c a mạng nơron, một số nhân tố sẽ có ảnh hưởng
mạnh mẽ đến độ hội tụ c a bài toán, đặc biệt khi bài toán có dạng lòng khe.
Chương 1 sẽ đưa ra mặt lỗi đặc biệt khi luyện mạng nơron và có những đánh giá về
sự ảnh hưởng c a các nhân tố trong quá trình luyện mạng đến kết quả cuối cùng
c a bài toán nhận dạng thông qua một số ví dụ đặc trưng. Từ đó làm xuất phát
điểm cho hướng đi c a luận án.

1.1. Gi i thi u v m ng n ron vƠ quá trình h c c a m ng n ron


1.1.1. M ng n ron vƠ các ph ng pháp h c

M ng n ron nhơn t o, Artificial Neural Network (ANN) g i tắt lƠ m ng


n ron, neural network, lƠ m t mô hình б lý thông tin ph ng theo МпМh th М б lý
thông tin М a МпМ h n ron sinh h М. Nó đ М t o lên từ m t s l ng l n МпМ phần
t (g i lƠ phần tử xử lý hay nơron) k t n i Я i nhau thông qua МпМ liên k t (g i lƠ
trọng số liên kết) lƠm Яi М nh m t th th ng nhất đ giải quв t m t Яấn đ М th .

M t m ng n ron nhơn t o đ М Мấu hình Мho m t ng Н ng М th (nh n


Н ng m u, phơn lo i Н li u,...) thông qua m t quп trình học từ t p МпМ m u huấn
luв n. V bản Мhất h М Мhính lƠ quп trình hi u Мhỉnh tr ng s liên k t gi a các
n ron sao Мho giп tr hƠm lỗi lƠ nh nhất.

Có ba ph ng phпp h c phổ bi n là h c có giám sát (supervised learning),


h c không giám sát (unsupervised learning) và h М tăng М ng (Reinforcement
learning). H М Мó giпm sпt lƠ ph ng phпp h М đ c s d ng phổ bi n nhất và
trong đó tiêu bi u nhất là kỹ thu t lan truy n ng c.

12
Luận án Tiến sĩ Kỹ thuật 2013

Nh ng ki n th М М s Я m ng n ron, quп trình h М М a m ng n ron, kỹ


thu t lan truв n ng Мs đ М tпМ giả gi i thi u trong phụ lục 1.
đơв, tпМ giả бin đ a ra m t s đпnh giп Я МпМ nhơn t trong quп trình h М
М a m ng n ron.
1.1.2. Đánh giá các nhơn t c a quá trình h c

1.1.2.1. Khởi tạo các trọng số

Kỹ thu t lan truв n ng М h i t đ n m t giải phпp mƠ nó t i thi u hoп đ М


sai s trung bình bình ph ng Яì МпМh th М hi u Мhỉnh tr ng s ЯƠ h s bias М a
thu t toпn lƠ ng М h ng Я i ЯeМt GraНient М a hƠm sai s trung bình bình
ph ng đ i Я i tr ng s . Tuв nhiên, đ i Я i m ng MLP thì hƠm sai s trung bình
bình ph ng th ng ph М t p ЯƠ Мó nhi u МựМ tr М М b , Яì th МпМ phцp lặp huấn
luв n m ng Мó th Мhỉ đ t đ М đ n МựМ tr М М b М a hƠm sai s trung bình bình
ph ng mƠ không đ t đ n đ М МựМ tr tổng th . CпМ giп tr kh i t o М a МпМ tr ng
s ảnh h ng rất m nh đ n l i giải Мu i Мùng. CпМ tr ng s nƠв th ng đ М kh i
t o bằng nh ng s ng u nhiên nh . Vi М kh i t o tất Мả МпМ tr ng s bằng nhau s
lƠm Мho m ng h М không t t. N u МпМ tr ng s đ М kh i t o Я i giп tr l n thì ngaв
từ đầu tổng tín hi u ЯƠo đƣ Мó giп tr tuв t đ i l n ЯƠ lƠm Мho hƠm sigmoiН Мhỉ đ t 2
giп tr 0 ЯƠ 1. Đi u nƠв lƠm Мho h th ng s b tắМ ngaв t i m t МựМ ti u М М b hoặМ
t i m t Яùng bằng phẳng nƠo đó gần ngaв t i đi m бuất phпt. Giп tr kh i t o ban
đầu М a МпМ tr ng s trên l p th l М a m ng s đ М Мh n ng u nhiên nh trong
khoảng [-1/n, 1/n], trong đó n lƠ s tr ng s n i t i l p l. Do bản Мhất М a giải thu t
h М lan truв n ng М sai s lƠ ph ng phпp giảm đ l Мh graНient nên Яi М kh i t o
МпМ giп tr ban đầu М a МпМ tr ng s МпМ giп tr nh ng u nhiên s lƠm Мho m ng h i
t Я МпМ giп tr МựМ ti u khпМ nhau. N u gặp maв thì m ng s h i t đ М Я giп tr
МựМ ti u tổng th .

1.1.2.2. Bước học α

M t nhơn t khпМ ảnh h ng đ n hi u lựМ ЯƠ đ h i t М a giải thu t lan


truв n ng М sai s lƠ b М h М α. Không Мó m t giп tr бпМ đ nh nƠo Мho МпМ bƠi
toпn khпМ nhau. V i mỗi bƠi toán, b М h М th ng đ М lựa Мh n bằng thựМ
nghi m theo ph ng phпp th ЯƠ sai. Giп tr α l n lƠm tăng t М quп trình h i t .

13
Luận án Tiến sĩ Kỹ thuật 2013

Đi u nƠв không phải lúМ nƠo Мũng Мó l i Яì n u ngaв từ đầu ta đƣ Мho lƠ m ng


nhanh h i t thì rất Мó th m ng s h i t s m ngaв t i m t МựМ ti u đ a ph ng gần
nhất mƠ không đ t đ М đ sai s nh mong mu n. Tuв nhiên, đặt giп tr b Мh М
quп nh thì m ng s h i t rất Мh m, th m Мhí m ng Мó th Я tđ М qua МпМ МựМ
ti u М М b ЯƠ Яì Я в Н n đ n h М mƣi mƠ không h i t . Do Я в, Яi М Мh n hằng s
h М ban đầu lƠ rất quan tr ng. V i mỗi bƠi toпn ta l i Мó ph ng пn Мh n h s h М
khпМ nhau. Nh Я в, khi m t quп trình huấn luв n theo kỹ thu t lan truв n ng М
h i t , ta Мh a th khẳng đ nh đ М nó đƣ h i t đ n ph ng пn t i u. Ta Мần phải
th Я i m t s đi u ki n ban đầu đ đảm bảo thu đ М ph ng пn t i u.

1.1.2.3. Hằng số quán tính

T М đ h М М a giải thu t lƠm truв n ng М sai s Мó th Нao đ ng khi hằng


s h М l n. M t ph ng phпp th ng Нùng Мho phцp s Н ng hằng s h М l n lƠ
thêm thành phần quпn tính ЯƠo МпМ ph ng trình hi u Мhỉnh МпМ tr ng s . NgoƠi ra,
hằng s quпn tính ngăn Мản sự thaв đổi đ t ng t М a МпМ tr ng s theo h ng khпМ
Я ih ng mƠ l i giải đang Нi Мhuв n đ n. Mặt trпi М a Яi М s Н ng thƠnh phần
quán tính là chúng ta phải tăng đпng k b nh М a mпв tính gần nh gấp đôi đ l u
tr МпМ giп tr hi u Мhỉnh Мhu kỳ tr М.

1.2. Nh n d ng h th ng sử d ng m ng n ron

1.2.1. Nh n d ng h th ng

1.2.1.1. Tại sao phải nhận dạng

BƠi toпn nh n Н ng lƠ m t Яấn đ đặt lên hƠng đầu trong nhi u МпМ lĩnh ЯựМ khпМ
nhau nh : đi n t в sinh, đi n t Яi n thông, h th ng đi n, tự đ ng hóa ЯƠ đi u
khi n… Ví Н nh : nh n Н ng Яơn taв, nh n Н ng ký tự, ảnh, ti ng nói, phпt hi n ЯƠ
chẩn đoпn b nh... Xцt trong lĩnh ЯựМ tự đ ng hóa ЯƠ đi u khi n, nh n Н ng h th ng
lƠ m t trong nh ng Мông Яi М đầu tiên phải thựМ hi n, nó quв t đ nh Мhất l ng ЯƠ
hi u quả М a Мông Яi М đi u khi n h th ng. Tuв ra đ i mu n nh ng nh n Н ng đƣ
phпt tri n rất nhanh ЯƠ đƣ Мó nh ng thƠnh tựu Я t b М. Nguвên nhơn М a sự phпt
tri n Я t b М đó m t phần từ вêu Мầu thựМ t , song Мó l phần Мhính lƠ nh Мó

14
Luận án Tiến sĩ Kỹ thuật 2013

nh ng hỗ tr tíМh МựМ М a МпМ ngƠnh khoa h М Мó liên quan nh tin h М, МпМ Мông М
tính toпn m m nói Мhung ЯƠ m ng n ron nói riêng…

Ví Н 1: Thi t k rô b t giúp ng i khi m th trong h М t p ЯƠ sinh ho t.

Hi n naв, robot đ М Мoi nh tơm đi m М a Мu М МпМh m ng l n sau Internet. Đ


thi t k ЯƠ Мh t o đ М rô b t, ta Мần Мó МпМ tri th М М a toпn h М, М h М, Я t lý,
đi n t , lý thuв t đi u khi n, khoa h М tính toпn ЯƠ nhi u tri th М khпМ. T i Vi t
Nam, nghiên М u phпt tri n rô b t đƣ Мó nh ng b М ti n đпng k trong th i gian
Яừa qua. Nhi u đ n Я trên toƠn qu М thựМ hi n МпМ nghiên М u М bản ЯƠ nghiên
М u ng Н ng Я rô b t nh Trung tơm Tự đ ng hoп, Đ i h М BпМh Khoa HƠ N i;
Vi n Đi n t , Tin h М, Tự đ ng hoп thu М B Công th ng; Đ i h М BпМh khoa
TP.HCM; Vi n Khoa h М ЯƠ Công ngh quơn sự, H М Яi n Kỹ thu t Quơn sự, Vi n
C h М; Vi n Công ngh thông tin thu М Vi n KHCNVN. CпМ nghiên М u hi n naв
t p trung nhi u ЯƠo Яấn đ б lý ngôn ng tự nhiên, nh n Н ng ЯƠ tổng h p ti ng
nói, Мh Яi t taв đặМ bi t lƠ ti ng Vi t.

Ví Н 2: Xцt bƠi toпn đi u khi n theo nguвên tắМ phản h i nh trên hình 1.1:

w(t) e(t) B đi u khi n u(t) Đ i t ng y(t)


đi u khi n
-

Hình 1.1: Điều khiển theo nguyên tắc phản hồi đầu ra

Mu n thi t k đ М b đi u khi n h kín Мho đ i t ng Мó đ М Мhất l ng


nh mong mu n thì phải hi u bi t Я đ i t ng, t М lƠ Мần phải Мó m t mô hình toпn
h М mô tả đ i t ng. Không th đi u khi n đ i t ng khi không hi u bi t hoặМ hi u
sai l Мh Я nó. K t quả thi t k b đi u khi n ph thu М rất nhi u ЯƠo mô hình mô tả
đ it ng. Mô hình МƠng Мhính бпМ, Мhất l ng М a Яi М đi u khi n càng cao.

Nh Я в, nh n Н ng lƠ Мần thi t Мho Яi М ra quв t đ nh tự đ ng ЯƠ hỗ tr Мon


ng i ra quв t đ nh.

Vi М бơв Нựng mô hình Мho đ i t ng Мần nh n Н ng đ М g i lƠ mô hình hóa.


Ng i ta th ng phơn Мhia МпМ ph ng phпp mô hình hóa ra lƠm hai lo i:

15
Luận án Tiến sĩ Kỹ thuật 2013

- Ph ng phпp lý thuв t.

- Ph ng phпp thựМ nghi m.

Ph ng phпp lý thuв t lƠ ph ng phпp thi t l p mô hình Нựa trên МпМ đ nh lu t


Мó sẵn Я quan h Я t lý bên trong ЯƠ quan h giao ti p Я i môi tr ng bên ngoƠi
М ađ it ng. CпМ quan h nƠв đ М mô tả theo quв lu t lý ậ hóa, quв lu t Мơn
bằng, ... Н i Н ng nh ng ph ng trình toпn h М.

Trong МпМ tr ng h p mƠ sự hi u bi t Я nh ng quв lu t giao ti p bên trong


đ it ng Я i môi tr ng bên ngoƠi không đ М đầв đ đ Мó th бơв Нựng đ М
m t mô hình hoƠn Мhỉnh, nh ng ít nhất từ đó Мó th Мho bi t МпМ thông tin ban đầu
Я Н ng mô hình thì ti p theo ng i ta phải пp Н ng ph ng phпp thựМ nghi m đ
hoƠn thi n n t Яi М бơв Нựng mô hình đ i t ng trên М s quan sпt tín hi u ЯƠo u(t)
ЯƠ ra в(t) М a đ i t ng sao Мho mô hình thu đ М bằng ph ng phпp thựМ nghi m
th a mƣn МпМ вêu Мầu М a ph ng phпp lý thuв t đ ra. Ph ng phпp thựМ nghi m
đó đ М g i lƠ nh n Н ng h th ng.

1.2.2. Nh n d ng h th ng sử d ng m ng n ron

1.2.2.1. Khả năng sử dụng mạng nơron trong nhận dạng

Xцt tr ng h p đ i t ng phi tuв n Мó đ ph М t p Мao, n u s Н ng ph ng


phпp giải tíМh thông th ng đ nh n Н ng s rất khó khăn, th m Мhí không thựМ hi n
đ М Нo sự hi u bi t nghчo nƠn Я đ i t ng. Vì Я в МпМ nhƠ khoa h М đƣ đ a ra ý
t ng lƠ s Н ng Мông М tính toпn m m nh h m , m ng n ron, đ i s gia t đ
бấp бỉ - Мhính lƠ nh n Н ng đ i t ng. CпМ tƠi li u [15], [23], [24] Мhỉ ra rằng, m ng
n ron lƠ m t trong nh ng Мông М h u hi u đ nh n Н ng mô hình đ i t ng. Bằng
ph ng phпp nƠв ta không bi t đ М mô hình toпn thựМ sự М a đ i t ng nh ng
hoƠn toƠn Мó th Нùng k t quả бấp бỉ đ thaв th đ i t ng.

Vì tính phi tuв n М a МпМ m ng n ron (hƠm kíМh ho t phi tuв n), Мhúng đ М
Нùng đ mô tả МпМ h th ng phi tuв n ph М t p. Cвbenko đƣ Мh ng minh rằng m t
hƠm liên t М Мó th бấp бỉ tuỳ ý bằng m t m ng truв n thẳng Я i Мhỉ m t l p ẩn.

M ng n ron lƠ m t trong nh ng Мông М nh n Н ng t t nhất Яì МпМ đặМ tr ng


sau: Khả năng h М từ kinh nghi m (khả năng đ М huấn luв n), khả năng khпi quпt

16
Luận án Tiến sĩ Kỹ thuật 2013

hoп Мho МпМ đầu ЯƠo không đ М huấn luв n, Яí Н Нựa ЯƠo МпМh h М m ng Мó th s
tiên đoпn đầu ra từ đầu ЯƠo không bi t tr М.

M ng n ron Мó khả năng бấp бỉ МпМ hƠm phi tuв n m t МпМh đầв đ ЯƠ Мhính
бпМ, nó đ М s Н ng t t Мho МпМ mô hình đ ng h М phi tuв n. Đi u quan tr ng
đ М s Н ng lƠ thu t truв n ng М tĩnh ЯƠ đ ng М a m ng n ron, nó đ М s Н ng
đ hi u Мhỉnh МпМ tham s trong quп trình nh n Н ng.

N n tảng Мho tính бấp бỉ hƠm М a m ng n ron nhi u l p lƠ đ nh lý


KolmgoroЯ ЯƠ đ nh lý Stone ậ Weierstrass. CпМ m ng n ron nhơn t o đ a ra nh ng
l i th qua Яi М h М s Н ng phơn lo i ЯƠ б lý song song, đi u nƠв rất phù h p Я i
Яi М Нùng trong nh n Н ng.

1.2.2.2. Mô hình nhận dạng hệ thống sử dụng mạng nơron

Khi бцt m t bƠi toпn đi u khi n, tr М tiên ta Мần phải Мó nh ng hi u bi t Я


đ it ng: s đầu ЯƠo, s đầu ra, МпМ đ i l ng Я t lý ЯƠo ra, Нải giп tr М a Мhúng,
quв lu t thaв đổi М a МпМ đ i l ng trong h haв mô hình toпn h М М bản М a nó,…
Tuв nhiên không phải đ i t ng nƠo haв h nƠo Мũng Мung Мấp đ М đầв đ МпМ
thông tin nh trên Мũng nh бơв Нựng đ М mô hình thựМ từ nh ng thông tin ấв.
Vi М nh n Н ng lƠ Яi М đầu tiên ЯƠ quan tr ng đ Яi М đi u khi n đ t Мhất l ng
mong mu n. Khi thông s М a đ i t ng lƠ Мần thi t đ Яi М đi u khi n đ t Мhất
l ng mong mu n. Khi thông s М a đ i t ng tự thaв đổi trong quп trình lƠm Яi М
(đ i t ng phi tuв n) ЯƠ Мó tính đ ng h М thì Яi М nh n Н ng theo Мhúng s ph М t p
h n nhi u so Я i đ i t ng Мó thông s bất bi n.

Nh n Н ng th ng Мhia ra lƠm: nh n Н ng mô hình ЯƠ nh n Н ng tham s .

Nh n Н ng mô hình lƠ quп trình бпМ đ nh mô hình М a đ i t ng ЯƠ thông s


trên М s đầu ЯƠo ЯƠ đầu ra М a đ i t ng.

Mô hình thu đ М sau khi nh n Н ng g i lƠ t t n u nó th hi n đ М đúng đ i


t ng. Nh Я в Мó th s Н ng mô hình thaв Мho đ i t ng đ Нự bпo, ki m tra ЯƠ
đi u khi n. M ng n ron đ М luв n đ mô hình hóa quan h ЯƠo ra М a đ i t ng.
Nh Я в quв trình nh n Н ng mô hình Мó bản Мhất lƠ thu t toпn luв n m ng.

17
Luận án Tiến sĩ Kỹ thuật 2013

Cấu trúМ m ng n ron giải bƠi toпn nh n Н ng mô hình rất đa Н ng, tùв thu М ЯƠo
từng bƠi toпn М th .

Nh n Н ng tham s Мhính lƠ huấn luв n m ng. Mô hình М bản М a m ng


n ron đ М luв n đ mô ph ng hƠnh Яi М a đ i t ng gi ng nh mô hình truв n
th ng đ М bi u Нi n trên Hình 1.2

Đ it ng
u
-
M ng n ron ŷ

Hình 1.2: Mô hình nhận dạng cơ bản


Tín hi u sai s e  y  ŷ lƠ М s Мho quп trình luв n m ng. M ng n ron
đơв Мó th lƠ m ng nhi u l p hoặМ МпМ Н ng khпМ ЯƠ Мó th s Н ng nhi u thu t
luв n m ng khпМ nhau.

1.2.2.3. Nhận dạng hệ thống sử dụng mạng nơron

Nh Я в nh n Н ng h th ng Мần hai giai đo n đó lƠ lựa Мh n mô hình ЯƠ t i


u tham s . Đ i Я i m ng n ron Нựa ЯƠo nh n Н ng lựa Мh n s nút ẩn, s l p ẩn
(Мấu trúМ М a m ng) t ng đ ng Я i mô hình lựa Мh n. M ng Мó th đ М huấn
luв n theo ki u giпm sпt Я i kỹ thu t lan truв n ng М, Нựa ЯƠo lu t h М sai s hi u
Мhỉnh. Tín hi u sai s đ М lan truв n ng М qua m ng. Kỹ thu t lan truв n ng М
s Н ng ph ng phпp giảm graНient đ бпМ đ nh МпМ tr ng М a m ng Яì Я в t ng
đ ng Я i t i u tham s . M ng n ron đ М huấn luв n đ бấp бỉ m i quan h gi a
МпМ bi n.

M ng n ron đ М huấn luв n đ t i thi u hƠm sai s . M ng đ М huấn luв n


đ t i thi u sai s bình ph ng gi a đầu ra М a m ng ЯƠ đầu ЯƠo h th ng, бпМ đ nh
m t hƠm truв n ng М. Trong ki u nh n Н ng nƠв đầu ra М a m ng h i t Я đầu
ЯƠo h sau khi huấn luв n, Яì Я в m ng đặМ tr ng Мho hƠm truв n ng ММ ah .
Ph ng phпp nh n Н ng khпМ Мần phải h ng đầu ra h th ng t i đầu ra М a m ng.
Trong ki u nƠв m ng đặМ tr ng Мho hƠm truв n thẳng М a h th ng.

18
Luận án Tiến sĩ Kỹ thuật 2013

Giả s МпМ hƠm phi tuв n đ mô tả h thu М l p hƠm đƣ bi t trong ph m Яi


quan tơm thì Мấu trúМ М a mô hình nh n Н ng phải phù h p Я i h th ng. V i giả
thi t МпМ ma tr n tr ng М a m ng n ron trong mô hình nh n Н ng t n t i, Мùng МпМ
đi u ki n ban đầu thì Мả h th ng ЯƠ mô hình Мó Мùng l ng ra Я i bất kỳ l ng
ЯƠo бпМ đ nh. Do đó quп trình nh n Н ng thựМ Мhất lƠ đi u Мhỉnh tham s М a m ng
n ron Нựa ЯƠo sai l Мh gi a МпМ giп tr đầu ra М a h th ng ЯƠ М a mô hình.

1.3. M t l i đ c bi t khi luy n m ng n ron


1.3.1. M t l i đ c bi t khi luy n m ng n ron

Trong quп trình nỗ lựМ thoпt ra kh i МпМ МựМ ti u в u, МựМ ti u М М b ЯƠ


nh ng mong mu n giảm Мhi phí th i gian thựМ hi n М a mпв tính khi tìm ki m
nghi m t i u thì Яấn đ nghiên М u đặМ đi m М a МпМ mặt lỗi th ng đ М Мh n
lƠm бuất phпt đi m Мho Яi М Мải ti n haв đ бuất МпМ thu t h М m i. Khi nói Я
m ng n ron thì huấn luв n Мhất l ng m ng đ М nhắМ đ n nhi u h n Мả (lo i h М
Мó giпm sпt). Đi u nƠв liên quan đ n hƠm Мhất l ng М a m ng ЯƠ Н n đ n khпi
ni m mặt Мhất l ng m ng. Đôi khi Мhúng ta Мòn g i mặt Мhất l ng bằng nh ng
thu t ng khпМ: mặt sai s , mặt thựМ thi, mặt lỗi.

Hình 1.3 mô tả m t mặt sai s ,


Мó m t ЯƠi đi u đặМ bi t Мần Мhú ý đ i
Я i mặt sai s nƠв đó lƠ đ Н М bi n đổi
m t МпМh m nh m trên không gian
tham s . Vì lý Нo đó, nó s khó đ mƠ
lựa Мh n m t t М đ h М phù h p Мho
thu t toпn giảm Н М nhất. Trong m t ЯƠi
Яùng М a mặt sai s thì rất phẳng, Мho
phцp t М đ h М l n, trong khi МпМ Яùng
khпМ đ Н М l n, вêu Мầu m t t М đ
Hình 1.3: Mặt sai số dạng lòng khe
h М nh . Có th ghi nh n rằng Мó th s
không đпng ng М nhiên lắm đ i Я i МпМ
Яùng phẳng М a mặt sai s b i m t lý Нo Мhúng ta Нùng hƠm truв n sigmoiН Мho
m ng. HƠm sigmoiН rất haв đ М s Н ng trong m ng n ron b i đặМ đi m М a nó

19
Luận án Tiến sĩ Kỹ thuật 2013

(b Мhặn, đ n đi u tăng, khả Яi) thíМh nghi Я i МпМ kỹ thu t t i u kinh đi n, hàm
nƠв Мó đặМ đi m lƠ rất phẳng đ i Я i МпМ đầu ЯƠo l n.

1.3.2. Ví d v bài toán d n đ n m t l i đ c bi t

§Æc ®iÓm khe cña c¸c bµi to¸n tèi -u ho¸ trong ngµnh nhiÖt[28]

Do ®Æc thï cña ®èi t- îng nhiÖt, c¸c bµi to¸n tèi - u ho¸ trong ngµnh nhiÖt th- êng cã
hµm môc tiªu lµ phi tuyÕn, kh«ng liªn tôc, kh«ng kh¶ vi, cã tÝnh chÊt khe râ rÖt. Sau
®©y ta xÐt cô thÓ h¬n tÝnh chÊt khe vµ ®é khe cña hµm cùc tiÓu ho¸:

Gi¶ sö J(x) cã ®¹o hµm bËc 2 t¹i x ta cã:

 2 J ( x)  2 J ( x)
x1x1 x1xn
........

  2 J ( x) 
 2 J ( x)    
 xi x j  nn
.... .... .... (1.1)

 2 J ( x)  2 J ( x)
xn x1 xn xn
........

Ma trËn nµy cßn gäi lµ Hessian: H(x)  2J(x). Gi¶ sö H(x) x¸c ®Þnh d- ¬ng vµ cã
c¸c gi¸ trÞ riªng s¾p xÕp theo thø tù gi¶m dÇn: 1(x)  2(x) .... n(x) > 0.

NÕu x¶y ra: 1(x) >> n(x) (1.2)

th× J(x) sÏ thay ®æi chËm theo 1 h- íng nhÊt ®Þnh vµ thay ®æi rÊt nhanh theo h- íng
vu«ng gãc víi nã. Khi ®ã c¸c mÆt møc cña hµm sè bÞ kÐo dµi theo h- íng thay ®æi
chËm vµ vÏ ra trong mÆt c¾t hai chiÒu h×nh ¶nh 1 khe suèi hÑp n»m gi÷a 2 d·y nói
song song. Tõ ®ã mµ cã tªn lµ hµm khe – hµm cã tÝnh khe râ rÖt.

Møc ®é kÐo dµi c¸c mÆt møc quyÕt ®Þnh ®é khe cña hµm môc tiªu. §Ó râ h¬n
vÒ ®é khe, tr- íc hÕt ta xÐt hµm bËc 2:

J(x) = 0,5x, A x + b, x + c, x  En . (1.3)

Trong ®ã: A – ma trËn x¸c ®Þnh d- ¬ng, b – vÐc t¬ h»ng, c – h»ng sè.

Theo (1.1), Hessian cña (1.3) lµ H(x) = A. Gi¶ sö A cã c¸c gi¸ trÞ riªng 1 
2 .... n > 0. §é - íc ®Þnh cña hµm bËc 2 ®- îc x¸c ®Þnh lµ: ( A ) = 1 / n.

20
Luận án Tiến sĩ Kỹ thuật 2013

Trªn c¬ së ®ã ta cã ®Þnh nghÜa ®é khe cña hµm bËc 2 lµ:

max  ( A) 
 ( A)   1  1  1   ( A)  1
min  ( A) n
(1.4)

Trong ®ã ( A ) – gi¸ trÞ riªng phô thuéc vµo ma trËn A. Gi¸ trÞ ®« khe ( A )
cµng lín (®é - íc ®Þnh cña bµi to¸n cµng xÊu) th× c¸c mÆt møc cña hµm môc tiªu
cµng bÞ kÐo dµi.

§èi víi c¸c hµm J(x) phi bËc 2, ®é - íc ®Þnh mang ý nghÜa côc bé, ®èi víi

x*D:  ( x * )  lim  sup x  x * / inf x  x * 


 
2 2
(1.5)
 0 xD xD

Trong ®ã D lµ miÒn h÷u h¹n. Râ rµng (x*)  1.

Theo (1.5) ®é - íc ®Þnh ®Æc tr- ng cho sù kÐo dµi c¸c mÆt møc cña hµm J(x)
t¹i l©n cËn x*. NÕu (x*) gi¶m dÇn tíi 1, th× c¸c mÆt møc tiÕn gÇn mÆt cÇu. NÕu (x*)
cµng t¨ng, th× c¸c mÆt møc cµng bÞ kÐo dµi, hµm J(x) cµng thÓ hiÖn râ tÝnh khe, qu¸
tr×nh cùc tiÓu ho¸ J(x) cµng gÆp khã kh¨n, ®é - íc ®Þnh cña bµi to¸n cµng xÊu. Trong
thùc tÕ tÝnh khe cña c¸c hµm môc tiªu thÓ hiÖn rÊt ®a d¹ng.

§é khe ®Æc tr- ng bëi ®é dèc cña v¸ch khe, ®é réng vµ ®é dèc cña lßng khe.
Lßng khe t¹o bëi tËp c¸c ®iÓm cña miÒn khe, mµ t¹i ®ã hµm môc tiªu gi¶m rÊt chËm
theo mäi h- íng.

Nãi chung khe cña hµm cã thÓ th¼ng hoÆc uèn cong vµ kÐo dµi. Khe cµng dµi,
cµng cong, hoÆc t¹i lßng khe hµm môc tiªu kh«ng kh¶ vi liªn tôc (lßng khe gÉy) th×
bµi to¸n tèi - u ho¸ cµng khã gi¶i. TÝnh chÊt khe ®ã cña c¸c bµi to¸n thùc tÕ mang ý
nghÜa toµn côc.

Sử dụng mạng nơron để nhận dạng đối tượng

V i МпМ h th ng Мó đ phi tuв n Мao thì lƠm th nƠo đ nh n Н ng đ i t ng


luôn lƠ m t Мơu h i đặt ra Я i Мhúng ta. Vì tính phi tuв n М a МпМ m ng n ron (hàm
kíМh ho t phi tuв n), Мhúng đ М Нùng đ mô tả МпМ h th ng phi tuв n ph М t p.
Cвbenko đƣ Мh ng minh rằng m t hƠm liên t М Мó th бấp бỉ tuỳ ý bằng m t m ng
truв n thẳng Я i Мhỉ m t l p ẩn.

21
Luận án Tiến sĩ Kỹ thuật 2013

Nh đƣ bi t luв n m ng n ron có hai quá trình, quá trình пnh б ЯƠ quп trình
h М. H М thựМ Мhất lƠ quп trình lan truв n ng М.

Thu t h М lan truв n ng М lƠ thu t toпn haв đ М s Н ng nhất trong quп


trình luв n m ng n ron. Lan truв n ng М giảm Н М nhất (SDBP) Мũng nh LMS,
nó Мũng lƠ m t thu t toпn бấp бỉ giảm Н М nhất Мho Яi М МựМ ti u trung bình bình
ph ng sai s . Th t Я в, lan truв n ng М giảm Н М nhất lƠ t ng đ ng thu t toпn
LMS khi s Н ng trên m ng tuв n tính m t l p. Khi пp Н ng Я i МпМ m ng nhi u
l p thì lan truв n ng М giảm Н М nhất (SDBP) l i hoƠn toƠn khпМ, b i trong МпМ
m ng nhi u l p thì trung bình bình ph ng sai s liên quan đ n m ng tuв n tính
m t l p ЯƠ МпМ m ng phi tuв n nhi u l p. V в, thựМ hi n kỹ thu t lan truв n ng М
Мhính lƠ giải bƠi toпn t i u tĩnh Я i hƠm m М tiêu lƠ mặt sai s .

Hình Н ng М a mặt sai s ph thu М ЯƠo s l p n ron ЯƠ lo i hƠm kíМh ho t.


Trong khi mặt sai s Я i m ng tuв n tính m t l p Мó m t МựМ ti u đ n ЯƠ đ Н М
không đổi, mặt sai s Я i m ng nhi u l p Мó th Мó nhi u đi m МựМ ti u М М b , Мó
th b kцo НƠi, u n Мong t o thƠnh khe, tr М khe ЯƠ đ Н М Мó th thaв đổi m t Нải
r ng trong МпМ Яùng khпМ nhau М a không gian tham s .

ThựМ t , Яi М Мh n hƠm kíМh ho t nh th nƠo, Мh n s l p m ng n ron bằng


bao nhiêu ph thu М ЯƠo đ i t ng Мần бấp бỉ. Nh Я в, Нo đ ph М t p М a đ i
t ng Мần бấp бỉ khпМ nhau nên hƠm m М tiêu rất khпМ nhau ЯƠ Н n đ n quп trình
h М (giải bƠi toпn t i u) Мó th rất ph М t p.

ĐặМ bi t khi đ i t ng Мần бấp бỉ Н n đ n hƠm m М tiêu Мó Н ng lòng khe (Яí


Н nh đ i t ng nhi t) thì quп trình h М rất khó khăn th m Мhí không h i t n u ta
s Н ng МпМ b Мông М Мó trong Toolboб М a Matlab.

1.4. Mô ph ng quá trình luy n m ng n ron khi sử d ng Toolbox c a


Matlab
1.4.1. Ví d v i m ng n ron có m t l i bình th ng

XÐt hÖ thèng phi tuyÕn cÇn nhËn d¹ng cã m« h×nh to¸n häc nh- sau:

f (u) = 0.6 sin(.u) + 0.3 sin(3..u) + 0.1 sin (5..u)

TÝn hiÖu vµo: u (k) = sin(2.k/250)


22
Luận án Tiến sĩ Kỹ thuật 2013

M¹ng n¬ron ®- îc dïng lµ m¹ng truyÒn th¼ng 3 líp cã mét ®Çu vµo vµ mét
®Çu ra. C¸c träng sè trong m¹ng n¬ron ®- îc ®iÒu chØnh ë c¸c kho¶ng Ti=1 sö dông
lan truyÒn ng- îc tÜnh.

Chương trình

% Ch- ¬ng tr×nh ®- îc ghi trong file vd1. m – d:\work.

% ---------------------T¹o c¸c biÕn lµm viÖc-------------------------

% C¸c thêi ®iÓm lÊy mÉu

k=0:1:500;

% TÝn hiÖu vµo u(k) cã d¹ng

u=sin(2*pi*k/250);

% Hµm f[u(k)] hay còng lµ kÕt xuÊt ®Ých cña m¹ng

f=0.6*sin(u*pi)+0.3*sin(3*u*pi)+0.1*sin(5*u*pi);

pause

%----------------------ThiÕt kÕ m¹ng n¬ron-------------------

% NEWFF – t¹o mét m¹ng n¬ron truyÒn th¼ng

% T¹o mét m¹ng n¬ron truyÒn th¼ng cã ba líp:

% Líp nhËp 8 n¬ron tansig, líp Èn 8 n¬ron tansig, líp ra cã 1 n¬ron tansig

% Giíi h¹n ®Çu vµo n»m trong kho¶ng [-1 1]

net=newff([-1 1],[8 8 1],{'tansig' ' tansig' ' purelin'});

pause

%-------------------------LuyÖn m¹ng n¬ron-------------------

% TRAIN huÊn luyÖn m¹ng n¬ron

% KØ nguyªn luyÖn m¹ng lín nhÊt cho phÐp

net.trainparam.epochs=1000;

% TÇn sè hiÓn thÞ qu¸ tr×nh

net.trainparam.show=20;
23
Luận án Tiến sĩ Kỹ thuật 2013

% Sai sè môc tiªu cña m¹ng

net.trainparam.goal=0.00001;

% LuyÖn m¹ng víi kÕt xuÊt ®Çu vµo u, kÕt xuÊt ®Ých lµ f

net=train(net,u,f);

pause

% Khi kÕt thóc qu¸ tr×nh luyÖn m¹ng ta dïng vµ ®- a m¹ng vÒ thuéc tÝnh cña nã

% ADAPT cho phÐp m¹ng n¬ron tù thÝch nghi

[net,y,e]=adapt(net,u,f);

% ------------KÕt thóc ch- ¬ng tr×nh --------------

KÕt qu¶ m« pháng

Sau khi khëi ®éng phÇn mÕm Matlab, t¹i dÊu nh¾c ë cöa sæ Matlab Comand
window ta gâ: >> vd1  .

Khi ®ã ch- ¬ng tr×nh sÏ m« pháng vµ cho kÕt qu¶ nh- sau:

H×nh 1.4 lµ kØ nguyªn luyÖn m¹ng, biÓu thÞ c¸c b- íc tÝnh träng sè cña m¹ng.
Môc tiªu sai sè thùc thiÖn ®- îc sau 65 b- íc tÝnh.

H×nh 1.4: Kû nguyªn luyÖn m¹ng vÝ dô 1

24
Luận án Tiến sĩ Kỹ thuật 2013

1.4.2. Ví d v i m ng n ron có m t l i đ c bi t

Đ minh h a, tпМ giả đ бuất Мấu trúМ m ng n ron đ nh n Н ng МпМ Мh s : 0,


1, 2,...,9. Trong đó hƠm sigmoiН đ М s Н ng lƠm hƠm kíМh ho t. Ví Н nƠв s theo
Мhúng ta qua МпМ Мh ng М a lu n пn. Cũng бin đ М nói, nh n Н ng Мh s Мó th
không sinh ra hƠm m М tiêu Мó Н ng lòng khe. Nh ng đơв, đ thu n l i Мho quп
trình minh h a, tпМ giả Мh n Яí Н nƠв ЯƠ Мh n hƠm kíМh ho t lƠ hƠm sigmoiН Я i
m М đíМh đ sinh ra mặt sai s Мó Н ng lòng khe [4].

Đ bi u Нi n МпМ Мh s , Мhúng ta s Н ng m t ma tr n 57 =35 đ mƣ hóa Мho


mỗi ký tự. T ng ng Я i mỗi ЯeМt đầu ЯƠo б lƠ m t ЯeМt Мó kíМh th М 351,
Я i МпМ thƠnh phần nh n МпМ giп tr hoặМ 0 hoặМ 1.Nh Я в, ta Мó th lựa Мh n l p
n ron đầu ЯƠo Мó 35 n ron. Đ phơn bi t đ Мm i ký tự, Мhúng ta Мho l p đầu ra
М a m ng lƠ 10 n ron. Đ i Я i l p ẩn ta Мh n 5 n ron, ta đ М Мấu trúМ m ng nh
hình 1.5, trong đó:

- VцМ t đầu ЯƠo б, kíМh th М 351

- VцМ t đầu ra l p ẩn в, kíМh th М 51

- VцМ t đầu ra l p ra z, kíМh th М 101

- Ma tr n tr ng s l p ẩn: W1,1, kíМh th М 355

- Ma tr n tr ng s l p ra: W2,1, kíМh th М 510

Hình 1.5: Cấu trúc mạng nơron cho nhận dạng chữ

25
Luận án Tiến sĩ Kỹ thuật 2013

HƠm f đ М Мh n lƠ hƠm sigmoiН Яì thựМ t hƠm nƠв Мũng haв đ М Нùng Мho
m ng n ron nhi u l p ЯƠ h n n a Нo đặМ đi m М a hƠm sigmoiН rất Н sinh ra mặt
sai s Мó Н ng lòng khe hẹp. Ph ng trình М a hƠm sigmoiН lƠ: f  1 / (1  exp(-x))

HƠm sai s s Н ng Мho luв n m ng: J  0.5*  z  t 2 Я i z lƠ đầu ra М a n ron

l p ra ЯƠ t lƠ giп tr đíМh mong mu n.

Hình 1.6: Các kết quả luyện mạng nơ ron với các phương pháp lan
truyền ngược khác nhau (traingd, traingdm, traindx, trainda)

Hình 1.6 trình bƠв k t quả М a quп trình luв n m ng Мho bƠi toпn nh n Н ng Мh
Я i МпМ kỹ thu t lan truв n ng М sai s theo ph ng phпp BatМh GraНient DesМent
(traingd), Batch Gradient Descent with Momentum (traingdm), Variable Learning
Rate (traingda, traingdx). CпМ ph ng phпp nƠв đ u đ М tíМh h p trên Neural
Netаork Toolboб М a Matlab. Nhìn Мhung МпМ ph ng phпp đ u Мho k t quả khп
t t, tuв nhiên đ đ t đ М đ Мhính бпМ nh mong mu n thì th i gian Мần thi t Мho
luв n m ng lƠ khп l n. Th m Мhí Мó tr ng h p tín hi u lỗi hầu nh thaв đổi rất ít
qua МпМ Мhu kỳ luв n m ng.

1.5. T ng quan v tình hình nghiên c u trong vƠ ngoƠi n c


1.5.1. Đi m qua m t s công trình nghiên c u v m ng n ron vƠ ng d ng

CпМ nghiên М u Я b nƣo Мon ng i đƣ đ М ti n hƠnh từ hƠng nghìn năm


naв. Cùng Я i sự phпt tri n М a khoa h М kĩ thu t đặМ bi t lƠ nh ng ti n b trong
ngƠnh đi n t hi n đ i, Яi М Мon ng i bắt đầu nghiên М u МпМ n ron nhơn t o lƠ
hoƠn toƠn tự nhiên. Sự ki n đầu tiên đпnh Нấu sự ra đ i М a m ng n ron nhơn t o

26
Luận án Tiến sĩ Kỹ thuật 2013

Нi n ra ЯƠo năm 1943 khi nhƠ thần kinh h М Warren MМCulloМh ЯƠ nhƠ toпn h М
Walter Pitts Яi t bƠi bпo mô tả МпМh th М МпМ n ron ho t đ ng. H Мũng đƣ ti n hƠnh
бơв Нựng m t m ng n ron đ n giản bằng МпМ m Мh đi n. CпМ n ron М a h đ М
бem nh lƠ МпМ thi t b nh phơn Я i ng ng М đ nh. K t quả М a МпМ mô hình nƠв
lƠ МпМ hƠm logiМ đ n giản Мhẳng h n nh “a OR b” haв “a AND b”.

Ti p b М МпМ nghiên М u nƠв, năm 1949 DonalН Hebb Мho бuất bản Мu n
sách Organization of Behavior. Cu n sпМh đƣ Мhỉ ra rằng МпМ n ron nhơn t o s tr
lên hi u quả h n sau mỗi lần Мhúng đ М s Н ng.

Nh ng ti n b М a mпв tính đầu nh ng năm 1950 giúp Мho Яi М mô hình hóa


МпМ nguвên lý М a nh ng lý thuв t liên quan t i МпМh th М Мon ng i suв nghĩ đƣ tr
thƠnh hi n thựМ. Nathanial RoМhester sau nhi u năm lƠm Яi М t i Мпc phòng thí
nghi m nghiên М u М a IBM đƣ Мó nh ng nỗ lựМ đầu tiên đ mô ph ng m t m ng
n ron. Trong th i kì nƠв tính toпn truв n th ng đƣ đ t đ М nh ng thƠnh Мông rựМ
r trong khi đó nh ng nghiên М u Я n ron Мòn giai đo n s khai. MặМ Нù Я в
nh ng ng i ng h tri t lý “thinking maМhines” (МпМ mпв bi t suв nghĩ) Я n ti p
t М bảo Я Мho l p tr ng М a mình.

Năm 1956 Нự án Dartmouth nghiên c u v trí tu nhân t o (Artificial


IntelligenМe) đƣ m ra th i kỳ phát tri n m i cả trong lĩnh Яực trí tu nhân t o l n
m ng n ron. TпМ đ ng tích cực c a nó lƠ thúМ đẩв h n n a sự quan tâm c a các nhà
khoa h c v trí tu nhân t o và quá trình x lý m М đ n giản c a m ng n ron
trong b nƣo Мon ng i.

Nh ng năm ti p theo М a Нự пn Dartmouth, John Яon Neumann đƣ đ бuất


Яi М mô ph ng МпМ n ron đ n giản bằng МпМh s Н ng r le đi n пp hoặМ đчn Мhơn
không. NhƠ sinh h М Мhuвên nghiên М u Я n ron Frank Rosenblatt Мũng bắt đầu
nghiên М u Я Perceptron. Sau th i gian nghiên М u nƠв PerМeptron đƣ đ М МƠi đặt
trong phần М ng mпв tính ЯƠ đ М бem nh lƠ m ng n ron lơu đ i nhất Мòn đ Мs
Н ng đ n ngƠв naв. PerМeptron m t tầng rất h u íМh trong Яi М phơn lo i m t t p
МпМ đầu ЯƠo Мó giп tr liên t М ЯƠo m t trong hai l p. PerМeptron tính tổng Мó tr ng
s МпМ đầu ЯƠo, r i trừ tổng nƠв Мho m t ng ng ЯƠ Мho ra m t trong hai giп tr
mong mu n Мó th . Tuв nhiên PerМeptron Мòn rất nhi u h n Мh , nh ng h n Мh nƠв
27
Luận án Tiến sĩ Kỹ thuật 2013

đƣ đ М Мhỉ ra trong Мu n sпМh Я PerМeptron М a MarЯin Minskв ЯƠ Seвmour


Papert Яi t năm 1969.

Năm 1959, BernarН WiНroа ЯƠ MarМian Hoff thu М tr ng đ i h М StanforН


đƣ бơв Нựng mô hình ADALINE (ADAptiЯe LINear Elements) ЯƠ MADALINE.
(Multiple ADAptiЯe LINear Elements). CпМ mô hình nƠв s Н ng quв tắМ h М
Least-Mean-Squares (LMS: T i thi u bình ph ng trung bình). Thu t h М Widrow
ậ Hoff thu М lo i thu t h М t i u hóa Мhất l ng m ng, nó Мũng đ М бem nh lƠ
ti n thơn М a thu t h М lan truв n ng М.

M ng ADALINE М a h rất gi ng Я i PerМeptron, trừ hƠm truв n lƠ tuв n


tính. Cả ADALINE ЯƠ PerМeptron Мùng Мh u m t gi i h n nh nhau, đó lƠ МпМ m ng
М a h Мhỉ Мó th giải МпМ bƠi toпn mƠ Мó th phơn lв tuв n tính.

Thu t toпn LMS tìm thấв nhi u ng Н ng thựМ t h n lu t h М PerМeptron.


Đi u nƠв đặМ bi t đúng trong lĩnh ЯựМ М a б lý tín hi u s . Ví Н , hầu h t МпМ
đ ng đi n tho i НƠi s Н ng МпМ m ng ADALINE Мho Яi М lo i nhi u.

Huấn luв n theo ph ng phпp WiНroа-Hoff lƠ m t thu t toпn бấp бỉ giảm


Н М nhất, trong đó hƠm m М tiêu, haв Мòn g i lƠ hƠm Мhất l ng, lƠ bình ph ng
trung bình sai s . Thu t toпn nƠв quan tr ng b i hai lí Нo. Th nhất, nó đ Мs
Н ng r ng rƣi trong МпМ ng Н ng б lý tín hi u s . Th hai, nó giúp ta đ n Я i kỹ
thu t lan truв n ng М Мho МпМ m ng nhi u l p nói Мhung m t МпМh Н НƠng h n.

MặМ Нù thu t toпn LMS thƠnh Мông trong Яi М б lý tín hi u nh ng l i thi u


thƠnh Мông trong Яi М thíМh nghi Мho МпМ m ng nhi u l p. WiНroа đƣ Нừng lƠm Яi М
Я i МпМ m ng n ron trong nh ng năm 1960 ЯƠ bắt đầu НƠnh h t th i gian lƠm Яi М
Я i б lý tín hi u thíМh nghi, ông tr l i Я i m ng n ron trong nh ng năm 1980 Я i
Яi М s Н ng m ng n ron trong đi u khi n thíМh nghi.

Lu t h М PerМeptron М a Frank Rosenblatt ЯƠ thu t toпn LMS М a BernarН


WiНroа ЯƠ MarМian Hoff đƣ đ М thi t k đ huấn luв n МпМ m ng gi ng nh
PerМeptron m t l p. CпМ m ng đ n l p Мh u m t sự bất l i rằng Мhúng Мhỉ Мó th
giải quв t МпМ l p bƠi toпn Мó th phơn lв tuв n tính.

28
Luận án Tiến sĩ Kỹ thuật 2013

Nh ng năm 60 m t Vi n sĩ thu М Vi n HƠn Lơm Nga đ М Мoi lƠ ng i


tiên phong trong Яi М nh n Н ng h th ng trên М s s Н ng m ng n ron. Lý
thuв t nƠв đ М Мông b trong . 3. Цы , А я
, Г я я -
ы - « », ., 1968, 400 .

Trong lu n Яăn М a Paul Werbos năm 1974, đƣ trình bƠв thu t toпn trong ng
Мảnh М a МпМ m ng nói Мhung, Я i m ng n ron nh lƠ m t tr ng h p đặМ bi t. Cho
đ n t n nh ng năm 1980, kỹ thu t lan truв n ng Мm iđ М nghiên М u l i ЯƠ m
r ng m t МпМh đ М l p b i DaЯiН Rumelhart, Geoffreв Hinton ЯƠ RonalН Williams;
DaЯiН Parker, ЯƠ Yanm Le Cun. Thu t toпn đƣ đ М phổ bi n hóa b i Мu n sпМh
Parallel DistributeН ProМessing М a nhóm tпМ giả DaЯiН RumelharН ЯƠ James
MМClellanН. Vi М phổ bi n М a Мu n sпМh nƠв khíМh l m t Нòng thпМ М a Яi М
nghiên М u Я m ng n ron PerМeptron nhi u l p, đ М huấn luв n b i kỹ thu t lan
truв n ng М, mà hi n naв đ М s Н ng r ng rƣi trong m ng n ron.

Năm 1982 trong bƠi bпo g i t i Яi n khoa h М qu М gia, John HopfielН bằng
sự phơn tíМh toпn h М rõ rƠng, m Мh l М, ông đƣ Мhỉ ra МпМh th М МпМ m ng n ron
lƠm Яi М ЯƠ nh ng Мông Яi М Мhúng Мó th thựМ hi n đ М. C ng hi n М a HopfielН
không Мhỉ giп tr М a nh ng nghiên М u khoa h М mƠ Мòn sự thúМ đẩв tr l i МпМ
nghiên М u Я m ng n ron.

Cũng trong th i gian nƠв, m t h i ngh Я i sự tham gia М a Hoa Kỳ ЯƠ Nh t


Bản bƠn Я Яi М h p tпМ/М nh tranh trong lĩnh ЯựМ m ng n ron đƣ đ М tổ Мh М t i
Kвoto, Nh t Bản. Sau h i ngh , Nh t Bản đƣ Мông b nh ng nỗ lựМ М a h trong
Яi М t o ra mпв tính th h th 5. Ti p nh n đi u đó, МпМ t p Мhí đ nh kỳ М a Hoa Kỳ
bƠв t sự lo lắng rằng n М nhƠ Мó th b t t h u trong lĩnh ЯựМ nƠв. Vì th , ngaв
sau đó, Hoa Kỳ nhanh Мhóng huв đ ng quĩ tƠi tr Мho МпМ nghiên М u ЯƠ ng Н ng
m ng n ron.

Năm 1985, Яi n v t lý Hoa Kỳ bắt đầu tổ ch c các cu c h p hƠng năm Я


m ng n ron ng d ng trong tin h c (Neural Networks for Computing).

29
Luận án Tiến sĩ Kỹ thuật 2013

Năm 1987, h i thảo qu c t đầu tiên v m ng n ron М a Vi n các kỹ s đi n


ЯƠ đi n t IEEE (Institute of EleМtriМal anН EleМtroniМ Engineer) đƣ thu hút h n
1800 ng i tham gia.

Trong nh ng th p niên 1980, 1990 МпМ thu t h М phпt tri n Мho m ng n ron
đ ng LDDN (LaвereН Digital DвnamiМ Netаork) trên М s lan truв n ng М, đó lƠ
lan truв n ng М бuвên th i gian BPTT (BaМkRropagation-Through-Time) ЯƠ thu t
h М h i qui th i gian thựМ RTRL (Real_Time Recurrent Learning) dùng cho LDDN.

Vi t Nam, từ nh ng năm 90, Мũng đƣ Мó rất nhi u nhƠ khoa h М quan tơm
đ n lý thuв t Я m ng n ron ЯƠ nh ng ng Н ng М a nó trong nhi u lĩnh ЯựМ khпМ
nhau. Tiên phong trong Яi М đ a ki n th М Я m ng n ron phổ bi n đ n đ М giả lƠ
quв n sпМh “Trí tuệ nhân tao, Mạng nơron phương pháp và ng dụng” М a Nguв n
Đình ThúМ, NXB Giпo Н М năm 2000. Ti p đó phải k đ n quв n “Hệ mờ, mạng
nơron và ng dụng” М a Bùi Công C ng, Nguв n Doƣn Ph М, NXB Khoa h М ЯƠ
Kỹ thu t HƠ n i, 2001; quв n “Hệ mờ & nơron trong kỹ thuật điều khiển” М a
Nguв n Nh Hi n, L i KhắМ Lƣi, NXB Khoa h М tự nhiên ЯƠ Мông ngh . Còn
nh ng Мông trình nghiên М u Я m ng n ron Мó th k đ n nh :

 Nguв n Kỳ Phùng, Nguв n Khoa Vi t Tr ng, “Mô hình hoá các quá trình
xử lý nước thải bằng mạng nơron nhân tạo”, Tr ng Đ i h М Khoa h М Tự
nhiên Đ i h М Qu М gia ThƠnh ph H Chí Minh.

 Đ it ng lƠ mô hình b б lý n М thải, МпМ tпМ giả đƣ бơв Нựng mô


hình, t i u hoп quп trình luв n m ng ЯƠ đƣ ki m Мh ng k t quả Я i sai
s nh .

 Đƣ бơв Нựng đ М Мh ng trình ng Н ng m ng n ron Мho Нự bпo Мhất


l ng đầu ra М a h th ng б lý n М thải. Cùng Я i thu t toпn t i u hoп
m ng n ron khi Мho s nút ẩn thaв đổi đ tìm ra Мấu trúМ m ng t i u
nhất. Ch ng trình đƣ th hi n rõ u Яi t so Я i Мh ng trình m ng n ron
М a Matlab.

 Thu t toпn t i u hoп quп trình luв n m ng lƠ m t b М Мải ti n so Я i


МпМ Мh ng trình ng Н ng m ng n ron thông th ng, Мhẳng h n nh

30
Luận án Tiến sĩ Kỹ thuật 2013

Matlab. V i quп trình lặp l i nhi u lần ЯƠ ghi nh n nh ng m ng Мho k t


quả t t nhất sau mỗi lần lặp, ta Мó th Мh n đ М m ng Мho k t quả t t
h n ЯƠ sai s ổn đ nh h n.

 Đỗ Trung Hải (2008) “ ng dụng lý thuyết mờ và mạng nơron để điều khiển


hệ chuyển động”, Lu n пn ti n sỹ, Tr ng Đ i h М BпМh khoa HƠ N i.

 Nghiên М u ЯƠ đ бuất Мấu trúМ h m - n ron Я i s l p ЯƠ s n ron


thíМh ng (5 l p ЯƠ s n ron l p 2 t i thi u lƠ 2 n ron) nhằm đảm bảo đ
Мhính бпМ ЯƠ t М đ tính toпn Мho h đi u khi n th i gian thựМ.

 Xơв Нựng thu t toпn nh n Н ng trựМ tuв n, М p nh t thíМh nghi thông s


nhằm đảm bảo t i thi u hoп sai l Мh ph М Я Мho Яi М nh n Н ng ЯƠ đi u
khi n h . Vi М ng Н ng đ i s Lie ЯƠ đi u khi n theo ph ng phпp tuв n
tính hoп Мhính бпМ thíМh nghi Мó khả năng ng Н ng tổng quпt Мho m t
l p h đi u khi n Мhuв n đ ng.

 V i h Мhuв n đ ng М th ЯƠ ph М t p lƠ h kh p n i m m Мông trình đƣ


đ a ra thu t toпn mô ph ng h . CпМ k t quả mô ph ng đƣ Мh ng t tính
đúng đắn М a lu t nh n Н ng ЯƠ đi u khi n, Мấu trúМ Мũng nh mô hình
đi u khi n h Мhuв n đ ng.

1.5.2. Các công trình trong vƠ ngoƠi n c nghiên c u v thu t toán h c c a


m ng n ron

Nh ng năm gần đơв, nh ng bi n th М a thu t h М lan truв n ng М Я n


đ М quan tơm nghiên М u ЯƠ đ М Мông b nhằm nơng Мao t М đ h i t М a quп
trình luв n m ng.

Kỹ thu t lan truв n ng М đơв lƠ lan truв n ng М lỗi (haв sai s ) trong
m ng, hƠm lỗi (haв hƠm sai s ) th ng Мh n lƠ hƠm mƠ nó t i thi u hoп đ М sai s
trung bình bình ph ng. Chính Яì Я в, trong quп trình nỗ lựМ thoпt kh i МпМ МựМ ti u
в u, МựМ ti u М М b ЯƠ nh ng mong mu n giảm th i gian thựМ hi n М a mпв tính
khi tìm ki m nghi m t i u, thì Яấn đ nghiên М u đặМ đi m М a МпМ mặt lỗi th ng
đ М Мh n lƠm бuất phпt đi m Мho Яi М Мải ti n haв đ бuất МпМ thu t h М m i.
Trong МпМ nghiên М u nhằm Мải thi n thu t toпn, ng i ta th ng tìm МпМh thaв đổi

31
Luận án Tiến sĩ Kỹ thuật 2013

b М h М đ Мho phцp Мó th Я t qua nh ng МựМ tr đ a ph ng. Không Мó m t giп


tr b М h М бпМ đ nh nƠo Мho МпМ bƠi toпn khпМ nhau. V i mỗi bƠi toпn, b Мh М
th ng đ М lựa Мh n bằng thựМ nghi m theo ph ng phпp th ЯƠ sai, hoặМ s Мó
b М h М phù h p Я i từng Н ng bƠi toпn riêng bi t.

Sau đơв lƠ m t s МпМ Мông trình khoa h М quan tr ng, đ М p đ n Яấn đ Мải
ti n kỹ thu t lan truв n ng М nguвên th в ảnh h ng đ n n i Нung М a lu n пn.

 CпМ Мông trình nghiên М u М a Hagan, M.T., ЯƠ МпМ М ng sự Я m ng n ron, tiêu


bi u lƠ Мu n “Neural Netаorks Design”, PWS Publishing Company, Boston,
1996.

 Công trình М a Kandil N., Khorasani K., Patel R.V., Sood V.K., “Optimum
learning rate for baМkpropagation neural netаorks”, CanaНian ConferenМe on
Electrical and Computer Engineering, pp: 465-468 vol.1, 1993. BƠi bпo nƠв đƣ
đ a ra th i gian thaв đổi t М đ h М t p t i u Мho МпМ m ng BP. K t quả Мho
thấв th i gian huấn luв n Мó th giảm đпng k trong khi không gơв ra bất kỳ Нao
đ ng trong quп trình huấn luв n đó.

 Công trình М a Dimitri P. Bertsekas, “Nonlinear programming, 2nН EНition,


2004”. Bertsekas nói rất tỉ mỉ Я МпМ Яấn đ М th ta th ng phải đ i mặt khi s
Н ng m t thu t toпn t i u. Ví Н , n u Нùng giảm Н М graНient thì Мần phải tính
đ n Мhuв n đi u khi n М p nh t b М nhảв nh th nƠo,… Trong quв n sпМh nƠв
mô tả khп đầв đ МпМ ph ng phпp Мổ đi n khпМ nh Мonjugate graНient, golНen
seМtion,…

 MohammeН A. Otair, WoaliН A. SalameН “SpeeНing Up BaМkPropagation Neural


Netаorks”, JorНan UniЯersitв of SМienМe anН TeМhnologв, Flagstaff, Arizona,
USA ậ June 16-19,2005. BƠi bпo nƠв trình bƠв Я Яi М Мải ti n thu t h М lan
truв n ng М, thu t h М М a h Мó tên lƠ OPB, OptiМal BaМkPropagation. N i
Нung Мhính М a thu t h М lƠ Яi М s Н ng hƠm e mũ Мho Яi М tính toпn sai s đầu
ra М a m ng, “sai s đầu ra” = (1+eбp(“giп tr mong mu n”-“giп tr hi n th i”))
n u “giп tr mong mu n”-“giп tr hi n th i” không ơm ЯƠ “sai s đầu ra” = -
(1+eбp(“giп tr mong mu n”-“giп tr hi n th i”)) n u “giп tr mong mu n”-“giп
tr hi n th i” ơm; thaв Яì Яi М tính sai s đầu ra М a m ng nh truв n th ng “sai
32
Luận án Tiến sĩ Kỹ thuật 2013

s đầu ra” = “giп tr mong mu n”-“giп tr hi n th i”. VƠ h Мh ng minh rằng Я i


Яi М tính toпn sai s nh Я в, t М đ h i t s nhanh h n.

 Công trình М a Chi-Chung Cheung, Sin-Chun Ng, “The multi-phase method in


fast learning algorithms”, International Joint Conference on Neural Networks
(IJCNN) 2009, pp: 552-559. BƠi bпo nƠв đ a ra ph ng phпp Мải ti n kỹ thu t
lan truв n ng М BP with two-phase magnified gradient function (2P-
MGFPROP). C th ph ng phпp 2P-MGFPROP đ М tăng М ng bằng МпМh
phơn Мhia quп trình h М М a m ng ra nhi u giai đo n, Я i mỗi giai đo n thíМh
nghi khпМ nhau s Мh n m t thu t toпn h М khпМ nhau. CпМ k t quả thựМ nghi m
Мho thấв, t М đ h i t nhanh h n gấp 2 lần so Я i МпМ thu t toпn h М nhanh hi n
có.

 Công trình М a Islam, M.; Rana, M.R.; Ahmed, S.U.; Enamul Kabir,
A.N.M.; Shahjahan, M. “Training neural netаork аith МhaotiМ learning rate”
International Conference on Emerging Trends in Electrical and Computer
Technology (ICETECT), pp: 781 ậ 785, 23-24 MarМh 2011. CпМ tпМ giả đ М p
đ n Яi М thaв đổi b М h М m t МпМh hỗn lo n “МhaotiМ learning rate” trong quп
trình М p nh t tr ng s . Đ бuất nƠв đƣ đ М ki m nghi m qua 6 bƠi toпn trong
b Н li u Нùng đ phơn lo i nh ung th Яú, ti u đ ng, b nh tim, thẻ tín Н ng
ÚМ, ngựa ЯƠ th в tinh. Ph ng phпp m i nƠв nhanh h n so Я i BP Я khả năng
khпi quпt ЯƠ Мũng nh t М đ h i t .

 Công trình nghiên М u М a PGS.TS. Nguв n Quang Hoan “Nhận dạng ký tự viết
tay tiếng Việt sử dụng mạng lan truyền ngược” đăng trên bпo Мпo М a h i ngh
Tự đ ng hóa toƠn qu М lần th 6 (VICA6), 2004. BƠi Яi t nghiên М u Яi М k t
h p m ng n ron đ ng Я i giải thu t Нi truв n Мho nh n Н ng ơm ti t ti ng Vi t.
Đ thựМ hi n, tпМ giả đƣ s Н ng m ng n ron đ ng Я i МпМ phần t tr ЯƠ thu t
h М lan truв n ng М lỗi. Trong đó, giải thu t Нi truв n đóng Яai trò t i u МпМ
tr ng s Мho m ng n ron nhằm tăng hi u quả nh n Н ng.

 Công trình nghiên М u М a Nguв n Sĩ Dũng, Lê HoƠi Qu М,“M t s thu t toпn Я


huấn luв n m ng n ron netаork trên М s ph ng phпp Мonjugate GraНient”,
Đ i h М Công nghi p TPHCM ЯƠ Đ i h М BпМh khoa TPHCM.

33
Luận án Tiến sĩ Kỹ thuật 2013

 TпМ giả đƣ tìm đi h ng đi m i đầв tri n Я ng lƠ бơв Нựng thu t toпn m i


Я luв n m ng Нựa ЯƠo ph ng phпp Conjugate GraНient, trong đó đặt
m М tiêu lƠ Мải thi n t М đ h i t М a quп trình huấn luв n m ng n ron.

 Trong bпo Мпo nƠв đƣ trình bƠв М s toпn h М М a Яấn đ М a ph ng


phпp Conjugate GraНient ЯƠ m t thu t toпn m i đ М Яi t trên Matlab 7.1
đ huấn luв n m ng n ron. Xong đ i t ng mƠ tпМ giả пp Н ng lƠ đ i
t ng phi tuв n tĩnh.

 Ph ng phпp nƠв Мó ý nghĩa trong huấn luв n m ng trựМ tuв n online ЯƠ


ng Н ng nh n Н ng ЯƠ đi u khi n trong môi tr ng đ ng.

Trong quп trình luв n m ng n ron, m t nhơn t khпМ Мũng tпМ đ ng rất l n
đ n Яấn đ tìm nghi m t i u đó lƠ b tr ng s kh i t o ban đầu. Trong kỹ thu t lan
truв n ng М nguвên th в ЯƠ МпМ thu t toпn khпМ, b tr ng s ban đầu Нùng Мho
luв n m ng đ u đ М Мh n ng u nhiên Мó th th Мông haв tự đ ng trong m t
khoảng nƠo đó. Đƣ Мó nh ng Мông trình Мh ng minh đ М rằng, thaв Яì bằng МпМh
kh i t o ng u nhiên hƣв tìm b tr ng s kh i t o t i u Мho quп trình luв n m ng.
Tr ng s kh i t o đƣ đ М Мông nh n r ng rƣi lƠ m t trong nh ng ph ng phпp ti p
М n hi u quả trong Яi М thúМ đẩu Мông tпМ đƠo t o m ng n ron [31-43]. Tiêu bi u Мó
th k đ n nh : Nghiên М u М a Shepanski liên quan đ n Яi М đƠo t o m t m ng
truв n thẳng nhi u l p [38]. Tr ng l ng t i u đ М бпМ đ nh bằng МпМh s Н ng
ph ng phпp tính bình ph ng nh nhất Нựa trên m t ma tr n tiêu Мhuẩn. Đ i Я i
m ng m t l p ẩn, ông đ ngh s Н ng m t trong hai ph ng phпp mô ph ng m m
Нẻo hoặМ giải thu t Нi truв n đ kh i t o МпМ tr ng s liên k t gi a đầu ЯƠo ЯƠ l p
ẩn, sau đó tr ng l ng đầu ra đ М tính toпn s Н ng phơn tпМh giп tr . Đơв lƠ m t
ph ng phпp tính toпn rất ph М t p. Còn Yam ЯƠ Choа đ бuất hai ph ng phпp
kh i t o tr ng l ng Нựa trên ph ng phпp bình ph ng nh nhất [40][41]. Trong
[40], h th ng đ М giả đ nh lƠ tuв n tính. CпМ thông s đầu ЯƠo ЯƠ đầu ra thu đ М
bằng ph ng phпp bình ph ng nh nhất tuв n tính. Từ МпМ thông s nƠв, tr ng
l ng ban đầu t i u gi a МпМ l p đ М бпМ đ nh. Tuв nhiên, thu t toпn nƠв không
пp Н ng Мho m ng n ron trong đó s n ron l p ẩn lƠ nh h n s n ron trong МпМ
l p tr М đó М ng Я i m t. Trong [41], МпМ k t quả đầu ra М a l p ẩn đ М gпn giп

34
Luận án Tiến sĩ Kỹ thuật 2013

tr trong Яùng không bƣo hòa ЯƠ tr ng l ng ban đầu t i u gi a đầu ЯƠo ЯƠ l p ẩn


đ М đпnh giп bằng ph ng phпp đ i s tuв n tính. Tuв nhiên, m t s đi u tra khпМ
Мhỉ ra rằng, m ng n ron kh i t o Я i [41] đôi khi thu đ М m t t i u đ a ph ng
бấu, бпМ suất b mắМ kẹt Мho m t s ng Н ng Мó th lên đ n 10%.

Năm 1990, Nguвen ЯƠ WiНroа thúМ đẩв quп trình đƠo t o М a m ng n ron
bằng МпМh thi t l p tr ng l ng ban đầu М a l p ẩn [36]; vì Я в, mỗi nút ẩn đ М
gпn thêm m t lo t МпМ Мh М năng mong mu n khi bắt đầu luв n m ng. Thông qua
бấp hƠm kíМh ho t Я i МпМ phơn đo n tuв n tính, tr ng l ng đ М đпnh giп. Ti p
theo, МпМ ng ng М a m ng đ М lựa Мh n bằng МпМh giả đ nh МпМ bi n đầu ЯƠo bi n
thiên từ -1 đ n 1. Osoаski m r ng ý t ng М a Nguвen ЯƠ WiНroа. Ọng đ ngh
m t ph ng phпp đ бпМ đ nh s l ng n ron l p ẩn ЯƠ s Н ng thông tin đầu ra
mong mu n в=f(б) đ бпМ đ nh tr ng l ng ban đầu [37]. Trong Яí Н đ М
Osoаski đ a ra, tr ng l ng t i u thu đ М sau khi luв n m ng n ron bằng thu t
toпn BP rất gần Я i tr ng l ng ban đầu đ М đ бuất b i thu t toпn m i М a ông.

Hisashi ShimoНaira đ бuất m t ph ng phпp g i lƠ thi t l p giп tr ban đầu


t i u (Optimal initial Яalue setting-OIVS) đ бпМ đ nh sự phơn b МпМ giп tr ban
đầu М a tr ng s ЯƠ Мhi u НƠi М a ЯeМto tr ng [39]. Còn Drago ЯƠ RiНella đ бuất
ph ng phпp g i lƠ SCAWI (StatistiМallв МontrolleН aМtiЯation аeight initialization)
đ tìm МпМ tr ng s ban đầu t i u [33]. H бпМ đ nh đ l n t i đa М a tr ng l ng
thông qua phơn tíМh th ng kê. Có th nói Яi М ảnh h ng М a b tr ng s ban đầu
đ n k t quả luв n m ng n ron lƠ không phải bƠn Мƣi; tuв nhiên, m i mỗi m t m ng
khпМ nhau, l i Мó nh ng ph ng phпp khпМ nhau phù h p. Nh ng Мông trình nghiên
М u gần đơв Мó ảnh h ng đ n n i Нung М a lu n пn:

 Công trình М a Y. F. Yam, T. W. S. Chow, “Determining initial weights of


feedforward neural networks based on least squares method”, Neural Processing
Letters, Vol 2, Issue 2, pp:13-17, 1995. BƠi bпo đ a ra m t thu t toпn t i u hóa
tr ng s ban đầu М a m ng truв n thẳng Нựa trên ph ng phпp đ i s tuв n tính.
V i Яi М s Н ng ph ng phпp nƠв, lỗi m ng ban đầu lƠ rất nh . Sau đó ta Мó th
ti p t М s Н ng kỹ thu t lan truв n ng М đ đi đ n đi m МựМ tr .

35
Luận án Tiến sĩ Kỹ thuật 2013

 Công trình М a JatinНer N.D.Gupta, RanНall S. Seбton, “Comparing


baМkpropagation аith a genetiМ algorithm for neural netаork training”, The
International Journal of Management Science, Omega 27, pp: 679-684, 1999. H
lần đầu tiên đƣ s Н ng GA đ tìm ki m ЯeМto tr ng s М a m ng n ron nhân t o.
H so sпnh lan truв n ng М Я i GA ЯƠ k t quả mỗi giải phпp Мó ngu n g М từ
GA lƠ Я t tr i so Я i МпМ giải phпp lan truв n ng Мt ng ng. GA Мó th đ М
s Н ng đ t i u hóa m t s в u t М a quп trình thi t k ЯƠ huấn luв n m ng
bao g m lựa Мh n t p h p tính năng, t i u hóa Мấu trúМ m ng, h М t p t i u hóa
tham s .

 Công trình nghiên М u М a Gleb BeliakoЯ anН Ajith Abraham “Global


Optimisation of Neural Networks Using a Deterministic Hybrid Approach” đăng
trên Hybrid Information Systems, Abraham A. and Koeppen M. (Eds), Physica-
Verlag Germany, pp 79-92, 2002. Bài báo đ бuất s Н ng ph ng phпp “Мutting
angle” nhằm t i u hóa tr ng s М a m ng. M ng n ron lần đầu đ М h М theo
ph ng phпp “Мutting angle”, sau đó đ М h М theo МпМ kỹ thu t t i u khác.

 Công trình nghiên М u М a P. A. Castillo, M. G. Arenas, J. J. Merelo, G.


Romero, F. Rateb, A. Prieto, “Comparing HвbriН Sвstems to Design anН
Optimize ArtifiМial Neural Netаorks”, Genetic Programming Lecture Notes in
Computer Science Vol 3003, 2004, pp 240-249. Trong bƠi bпo nƠв МпМ tпМ giả đƣ
nghiên М u so sпnh gi a МпМ phцp lai đ t i u hóa МпМ perМeptron nhi u l p ЯƠ
đ a ra m t mô hình t i u hóa Мấu trúМ ЯƠ tr ng s ban đầu М a m ng perМeptron
nhi u l p. K t quả thu đ М Мho thấв mô hình nƠв Мần ít Мhu kỳ huấn luв n h n
nhi u ЯƠ Нo đó tăng t М đ h i t .

 Công trình nghiên М u М a D. Shanthi , G. Sahoo and N. Saravanan, “EЯolЯing


Connection Weights of Artificial Neural Networks Using Genetic Algorithm
аith AppliМation to the PreНiМtion of Stroke Disease”, International Journal of
Soft Computing, Vol 4, Issue 2, pp: 95-102, 2009. BƠi bпo nƠв đ бuất Яi М k t
h p giải thu t Нi truв n GA ЯƠ m ng n ron nhơn t o đ t i u hóa b tr ng s
ban đầu trong quп trình luв n m ng n ron. Nghiên М u nƠв đ М ng Н ng trong
Яi М Нự đoпn b nh đ t quỵ.

36
Luận án Tiến sĩ Kỹ thuật 2013

 Công trình nghiên М u М a Yu-Tzu Chang, Jinn Lin, Jiann-Shing Shieh, Maysam
F. Abbod “Optimization the InitialWeights of ArtifiМial Neural Netаorks Яia
Genetic Algorithm ApplieН to Hip Bone FraМture PreНiМtion” đăng trên t p Мhí
Advances in Fuzzy Systems - Special issue on Hybrid Biomedical Intelligent
Systems, Vol 2012, January 2012 Article No. 6, New York, NY, United States.
BƠi bпo tìm МпМh thi t l p tr ng s t i u ban đầu đ nơng Мao đ Мhính бпМ М a
m ng n ron bằng giải thu t Нi truв n trong Нự bпo бпМ suất gƣв б ng hông.

1.5.3. BƠn lu n

Nh đƣ nói trên, trong quп trình luв n m ng n ron, hƠm sai s th ng


Мh n lƠ hƠm mƠ nó t i thi u hoп đ М sai s trung bình bình ph ng. V в đơв Мhính
lƠ m t bƠi toпn t i u hóa.

Trong МпМ Мông trình nghiên М u Я t i u hóa, GS.TSKH. Nguв n Văn


M nh đƣ tìm ra đ М nhi u bƠi toпn t i u Н n đ n mặt sai s Мó Н ng lòng khe.
Trong quп trình h М t p nghiên М u n М ngoƠi, ông đƣ đ бuất ra m t thu t h М
m i đó lƠ thu t toпn Я t khe. Thu t toпn nƠв t ra rất h u hi u đ Мó th Я t qua
đ М “lòng khe”, tìm ra đi m t i u, trпnh r i ЯƠo МựМ ti u в u, МựМ ti u М М b .
Công trình tiêu ti u, Мó th Мoi nh lƠ m t đóng góp to l n Мho ngƠnh toпn h М Vi t
Nam tr М qu М t đó lƠ:

 Công trình М a N.V. Manh nghiên М u t i MEI, Vi n nghiên М u năng l ng


MatбМoЯa, “Optimization of Multiplв ConneМteН Control Sвstems Using
Methods of Nonlinear Programming./ Thermal Engineering, ISSN: 0040-6015.
1998, vol. 45. No 10, pp. 829-834”, ông s Н ng thu t toпn Я t khe k t h p Я i
ph ng phпp Мhi u affine đ giải quв t bƠi toпn t i u nhi t.

 Nguyen Van Manh anН Bui Minh Tri, “MethoН of “Мleft-oЯerstep” bв


perpendicular direction for solving the unconstrained nonlinear optimization
problem”, AМta MathematiМa VietnamiМa, Яol. 15, N02, 1990.

 Nguyen Van Manh, On “r-Algorithm” for Minimizing “RaЯine” FunМtion


/Proceedings of NCST of Vietnam, 1993. No2, pp. 53-60.

37
Luận án Tiến sĩ Kỹ thuật 2013

 Manh N.V. “AppliМation of the 'Cleft-Over-Step' method of optimization for


iНentifвing the transfer funМtion of МontrolleН plants” Thermal engineering,
ISSN: 0040-6015, 1995, vol. 42, No6, pp. 510-518.

 Manh N.V. “Optimization of the settings of robust Мontrollers bв means of the


cleft-over-step algorithm of nonlinear minimization” Thermal engineering, ISSN:
0040-6015, Y. 1995, vol. 42, No. 10, pages 845-853.

Trong quп trình luв n m ng n ron, Я i mặt sai s Мó Н ng lòng khe đƣ đ М


gi i thi u trong hình 1.3, Мh a Мó m t Мông trình nƠo đ М Мông b trên МпМ t p Мhí
h i thảo trong và ngoài n М đ М p đ n Яi М lƠm th nƠo hi u quả nhất đ tìm ki m
đ М nghi m t i u haв tăng t М đ h i t Я i mặt sai s Н ng nƠв.

Dựa trên nh ng nghiên М u đƣ Мó Я m ng n ron, Я toпn t i u trong ЯƠ


ngoƠi n М; tпМ giả s бơв Нựng m t thu t toпn luв n m ng n ron Мho mặt lỗi đặМ
bi t Мó Н ng lòng khe mƠ trong đó s ng Н ng thu t toпn Я t khe đ М p nh t
b М h М, ng Н ng giải thu t Нi truв n đ t o b tr ng s kh i t o ban đầu.

1.6. K t lu n ch ng 1
Trong Мh ng 1, từ Яi М phơn tíМh МпМ nhơn t trong quп trình h М М a m ng
n ron, tпМ giả nh n thấв rằng, k t quả luв n m ng n ron ph thu М rất l n ЯƠo giп
tr ban đầu М a vec-t tr ng s ЯƠ b М h М. Vi М m ng s h i t đ n đi m t i u
toƠn М М hay không nhi u khi Мòn ph thu М ЯƠo sự maв mắn do Яi М Мh n giп tr
kh i t o lƠ ng u nhiên. Thêm n a, Яi М lựa Мh n b М h М s bằng bao nhiêu đ Мó
th h i t haв ít nhất lƠ tăng t М đ h i t lƠ m t Мơu h i Мũng đ М đặt ra, đặМ bi t
khi mặt lỗi Мó Н ng đặМ bi t. Đ minh Мh ng Мho đi u đó tпМ giả đƣ đ a ra 2 Яí Н :
Яí Н 1, khi mặt lỗi Н ng bình th ng, s Н ng b Мông М trong Toolboб М a
Matlab đ luв n m ng, m ng đƣ luв n thƠnh Мông Мhỉ sau 65 b М tính. Nh ng đ n
Яí Н th 2 Я nh n Н ng Мh Яi t taв thì th i gian luв n m ng lơu h n rất nhi u,
th m Мhí tín hi u lỗi Мòn thaв đổi rất ít qua МпМ Мhu kỳ luв n m ng.

Đ giải quв t Яấn đ nƠв, Мần thi t phải tìm ra m t thu t toпn hi u Мhỉnh МпМ
b М h М nhằm rút ngắn th i gian h i t М a m ng đ ng th i Мũng trпnh đ М Яấn
đ МựМ tr đ a ph ng.

38
Luận án Tiến sĩ Kỹ thuật 2013

Trong Мh ng 2, Нựa ЯƠo nh ng nh n бцt đпnh giп М a Мh ng 1, tпМ giả s


gi i thi u Я thu t toпn Я t khe ЯƠ đ бuất Яi М пp Н ng thu t toпn Я t khe trong
quп trình luв n m ng n ron.

39
Luận án Tiến sĩ Kỹ thuật 2013

CH NG 2: THU T TOÁN V T KHE TRONG QUÁ TRÌNH LUY N


M NG N RON

Tóm tắt: Kỹ thuật lan truyền ngược là một phát minh chính trong nghiên c u
về mạng nơron. Tuy nhiên, thuật toán nguyên th y thì quá chậm đối với hầu hết các
ng dụng thực tế; đặc biệt với các bài toán có mặt sai số dạng khe thì ngay cả với
các biến thể như gradient liên hợp hay qui tắc mô-men cũng tỏ ra yếu. Trong
chương này sẽ trình bày một thuật toán để tính bước học theo nguyên lý vượt khe,
thuật toán vượt khe, nhằm cải tiến tốc độ hội tụ c a quá trình tìm kiếm nghiệm tối
ưu và vấn đề cài đặt thuật toán này kết hợp với kỹ thuật lan truyền ngược trong bài
toán luyện mạng nơron.

2.1. Thu t toпn Я t khe

2.2. ng Н ng thu t toпn Я t khe trong quп trình luв n m ng n ron

2.3. Minh h a thu t toпn

2.4. K t lu n Мh ng 2

2.1. Thu t toán v t khe


2.1.1. Đ t v n đ

N.Z.Shor giả thi t Нùng toпn t kцo giƣn không gian đ lƠm tăng t М đ h i
t М a thu t toпn graНient trong Яi М giải bƠi toпn t i u hóa không đi u ki n:[5]

Min J(u) u∈En

u là vec-t trong không gian EuМliНe n Мhi u.

Ph ng phпp “r-Algorithm” t ng ng Я i Мông th М lặp Мho b i b М th k


nh sau:

u k  u k-1   k s k-1 , k  1, 2, 


sk-1  Bk BTk J ' u k 1 
s k-1 , u k 1  E n

40
Luận án Tiến sĩ Kỹ thuật 2013

Trong đó u lƠ ЯeМ-t bi n М a hƠm m М tiêu J(u) t i b М lặp th k;  k lƠ đ


НƠi b М М a hƠm theo h ng Мhuв n đ ng sk-1; Мhỉ s trên T ký hi u Мhuв n Я М a
ma tr n hoặМ ЯeМ-t , J’(uk-1) lƠ graНient М a hƠm t i đi m uk-1. Bk lƠ ma tr n bi n đổi
không gian, đ М бпМ đ nh Нựa trên toпn t kцo giƣn không gian nh sau:

Bk  Bk 1 Rk , B0  I ma tr n đ n Я

 1  r rT
Rk  I    1 kT k
 k  rk rk

   
rk  BkT1  J ' u k 1  J ' u k 2 

Trong đó Rk lƠ toпn t kцo giƣn không gian theo h ng rk Я i h s 0<ρ<1.

H ng Мhuв n đ ng sk-1 lƠ hoƠn toƠn бпМ đ nh b i (2) ÷(6) t i mỗi b М lặp


k. M i quan tơm Мhính М a Мhúng ta trong phần nƠв lƠ ph ng phпp бпМ đ nh đ НƠi
b М  k , nó t o ra sự h i t hi u quả ЯƠ đ М Нùng quв М.

M t ЯƠi Мông th М бпМ đ nh giп tr  k nh sau:

  arg min J u k 1   .s k 1 
k

  a b  k  a, b  const  0

(3.3)

 k   k 1 q ,0  q  1

CпМ Мông th М бпМ đ nh đ НƠi b М k đ М МпМ tпМ giả đ a ra khпМ Я i mỗi


l p hƠm m М tiêu ЯƠ th ng Мó nhi u tham s đòi h i phải Мh n giп tr phù h p Мho
mỗi l p hƠm М th . Đi u nƠв không Н НƠng ЯƠ lƠ nguвên nhơn Мản tr trong МпМ
ng Н ng. Vì Я в, hi u quả thựМ М a “r-Algorithm” b gi i h n, lúМ nƠв, sự lôi Мu n
М a nó b thu nh l i.

2.1.2. Tính h i t vƠ đi u ki n t i u

a. Tính hội tụ

Chúng ta bi t rằng t М đ h М МựМ đ i mƠ Мó th ổn đ nh đ i Я i thu t toпn


giảm Н М nhất thì đ М Мhia hai b i giп tr riêng МựМ đ i М a ma tr n Hessian, đ i
41
Luận án Tiến sĩ Kỹ thuật 2013

Я i hƠm m М tiêu Н ng toƠn ph ng. Hình Н ng М a hƠm m М tiêu Мó th lƠ rất khпМ


nhau trong МпМ Яùng khпМ nhau М a không gian tham s . V i МпМ hƠm khe thì đ
Мong s rất khпМ nhau theo МпМ h ng khпМ nhau, Нo đó Яi М бпМ đ nh b М h М lƠ
không thu n l i.

Chúng ta đƣ nghiên М u Я hƠm m М tiêu, М th lƠ nghiên М u Я hƠm m М


tiêu Мó Н ng lòng khe m М 1.3 Мh ng 1. Nguвên nhơn М a Яi М h i t Мh m lƠ
Яi М thaв đổi đ Н М М a mặt trên đ ng đi М a quỹ đ o. Hai bên khe rƣnh rất Н М
tuв nhiên đпв М a nó thì l i hầu nh bằng phẳng, quĩ đ o s Я t qua mặt lỗi rất
nhanh Мho đ n khi nó r i ЯƠo thung lũng Мó đ nghiêng thoai thoải ЯƠ mất rất nhi u
th i gian bên khe rƣnh đ r i ti n Мh m Мh p đ n đi m МựМ ti u đôi khi đ n mất ổn
đ nh khi r i ЯƠo thung lũng, hình 2.1 mô tả m t quỹ đ o Нao đ ng Я i hƠm m М tiêu
Н ng lòng khe.

Hình 2.1: Quỹ đạo dao động với sai số dạng lòng khe

M t ph ng phпp Мó th giúp ta Яấn đ nƠв lƠ Нùng qui tắМ mô-men. T М là


khi quĩ đ o nhảв qua nhảв l i trên khe rƣnh, bi n thiên tr ng s s đổi Нấu liên t М
ЯƠ nh Я в s Мho ta s trung bình Мho m t thaв đổi nh Мhính бпМ, nh Я в m ng
Мó th ổn đ nh đпв khe rƣnh. đó nó bắt đầu Нi Мhuв n Мh m Нần theo quпn tính.
Tuy nhiên, đ i Я i nh ng bƠi toпn mƠ nghi m t i u nằm đпв b lõm, thì mô-men
Мũng Мhẳng giúp đ М gì mƠ đôi khi Мòn gơв ra nguв hi m n u mô-men l i đẩв quĩ
đ o lên Мùng m t khoảng МпМh phía bên kia М a khe r i М бoaв Яòng t o thƠnh

42
Luận án Tiến sĩ Kỹ thuật 2013

Нao đ ng. Đó Мũng Мhính lƠ Мпi l i ЯƠ h i М a Яi М Нùng mô-men Мho Н ng bƠi toпn
Я i mặt lỗi lòng khe.

M t ph ng phпp khпМ s Н ng t М đ h М thíМh nghi VLBP (Variable


Learning rate BaМk Propagation algorithm). Chúng ta Мó th nơng Мao sự h i t n u
Мhúng ta tăng t М đ h М trên Яùng phẳng М a mặt lỗi ЯƠ r i thì giảm t М đ h М khi
mƠ đ Мong М a mặt lỗi tăng. Nghĩa lƠ, Мhúng ta Мó th nơng Мao sự h i t bằng Яi М
đi u Мhỉnh t М đ h М trong quп trình huấn luв n, Яấn đ М a Мhúng ta s lƠ, бпМ
đ nh khi nƠo thaв đổi t М đ h М ЯƠ bằng bao nhiêu, haв nói МпМh khпМ, Мhúng ta Мần
bi t Мhúng ta đang đơu trên hƠm m М tiêu. Tuв nhiên đi u tr ng i Мhính Я i МпМ
ph ng phпp VLBP lƠ МпМ đi u Мhỉnh Мó th Мần 5 hoặМ 6 tham s đ М lựa Мh n
tr М. Thông th ng thì Яấn đ thựМ hi n М a thu t toпn lƠ nh в Мảm Я i sự thaв đổi
trong МпМ tham s đó. Sự lựa Мh n М a МпМ tham s thì Мũng ph thu М bƠi toпn.

Tính b М h М theo nguвên lý Я t khe lƠ m t ph ng phпp t ra rất m nh


đ giải quв t bƠi toпn t i u, đặМ bi t lƠ МпМ bƠi toпn Я i mặt Мhất l ng Н ng lòng
khe, tr М khe.

Tuв nhiên, tr М khi đ n Я i thu t toпn Я t khe thì Мhúng ta hƣв tìm hi u Я
Яấn đ đi u ki n t i u, b i Яì nó ảnh h ng đ n nh ng suв nghĩ М a Мhúng ta trong
nh ng бuất phпt đi m М a bất kỳ m t thu t toпn t i u nƠo.

b. Điều kiện tối ưu

Ta s đi đ nh nghĩa m t s khпi ni m Я đi m t i u. Chúng ta giả đ nh rằng


đi m t i u lƠ đi m МựМ ti u М a hƠm m М tiêu. Ta бцt МпМ khпi ni m sau tr М khi
đi đ n МпМ đi u ki n t i u.

Cực tiểu mạnh

Đi m u* lƠ МựМ ti u m nh М a J(u) n u m t s Яô h ng  >0 t n t i, đ


J(u*) < J(u + u) Я i m i u mà   u  0 . Nói МпМh khпМ, n u Мhúng ta Н Мh

Мhuв n theo m i МпМh từ đi m МựМ ti u m nh m t khoảng nh theo bất kỳ h ng


nƠo hƠm s tăng.

Cực tiểu toàn cục

43
Luận án Tiến sĩ Kỹ thuật 2013

Đi m u* lƠ m t МựМ ti u toƠn М М Нuв nhất М a J(u) n u J(u*) < J(u + u) Я i


m i u ≠ 0. Đ i Я i МựМ ti u m nh, u*, hƠm Мó th nh h n J(u*) t i МпМ đi m lơn
М n nh М a u*. Cho nên đôi khi МựМ ti u m nh Мòn g i lƠ МựМ ti u М М b . Đ i Я i
МựМ ti u toƠn М М thì hƠm s lƠ nh nhất so Я i m i đi m khпМ trong không gian
tham s .

Cực tiểu yếu

Đi m u* lƠ m t МựМ ti u в u М a J(u) n u nó không phải lƠ МựМ ti u m nh, ЯƠ


m t s Яô h ng  >0 t n t i, đ J(u*) ≤ J(u + u) Я i m i u mà   u  0 .

Chúng ta đƣ đ nh nghĩa Я đi m МựМ ti u. Ti p theo ta đ n Я i m t s đi u


ki n mƠ Мần phải thoả mƣn đ Мó đi m t i u. S Н ng khai tri n Taвlor đ ti p М n
МпМ đi u ki n đó.

   
J u   J u *  u  J u *  J u 
T
u u
u  u  J u 
1 T 2
u  ...,
u u *
*
2

trong đó u = u ậ u*

Điều kiện th nhất

N u u mƠ rất nh thì b М Мao nhất trong ph ng trình

   
J u   J u *  u  J u *  J u 
T
u u
u  u  J u 
1 T 2
u  ...,
u u *
*
2

s lƠ không đпng k ЯƠ ta Мó th бấp бỉ hƠm lƠ:

   
J u   J u *  u  J u *  J u 
T
u u *
u

Đi m u* lƠ m t đi m МựМ ti u thí đi m, ЯƠ đi u nƠв nói lên rằng Мó th tăng


n u u ≠ 0. Đ đi u nƠв бảв ra thì J u T u  0 . Tuв nhiên, n u s h ng nƠв
u u *

mƠ Н ng J u T u  0 thì đi u nƠв nói rằng


u u *

   
J u *  u  J u *  J u 
T
u u *
u  J u *  

44
Luận án Tiến sĩ Kỹ thuật 2013

Nh ng đi u nƠв lƠ m t sự mơu thu n, khi mƠ u* lƠ m t đi m МựМ ti u в u.


Cho nên, m t lựa Мh n Нuв nhất phải lƠ J u T u  0 . Khi đi u nƠв phải đúng
u u *

Мho bất kỳ u, chúng ta có J u  u u  0*

Cho nên graНient phải bằng 0 t i đi m МựМ ti u. Đơв lƠ đi u ki n Мần (nh ng


không đ ) đ u* lƠ m t đi m МựМ ti u М М b (haв Мòn g i lƠ МựМ ti u m nh). Bất kỳ
МпМ đi m thoả mƣn ph ng trình J u  u u  0 đ
* М g i lƠ МпМ đi m tĩnh.

Điều kiện th hai

Giả s rằng ta Мó đi m tĩnh u*. Khi graНient М a J(u) bằng 0 t i tất Мả МпМ
đi m tĩnh, khai tri n Мhuỗi Taвlor s lƠ:

   
J u *  u  J u *  u  J u 
1 T 2
u  ...,
2 u u *

Nh tr М, Мhúng ta s Мhỉ бцt МпМ đi m đó trong lơn М n nh М a u*, Яì u

lƠ nh ЯƠ J(u) Мó th đ М бấp бỉ b i hai s h ng đầu trong ph ng trình. Cho nên


đi m МựМ ti u m nh (МựМ ti u М М b ) s t n t i, u*, n u u T  2 J u  u u u  0 *

Đ Мho đi u nƠв lƠ đúng Я i m i u ≠ 0 thì вêu Мầu ma tr n Hessian phải lƠ


ma tr n бпМ đ nh Н ng. Theo đ nh nghĩa, m t ma tr n A бпМ đ nh Н ng n u
z T Az  0 đ i Я i bất kỳ ЯeМt z ≠ 0. A lƠ bпn бпМ đ nh Н ng n u z T Az  0

Đ i Я i ЯцМt z bất kỳ. Chúng ta Мó th ki m tra МпМ đi u ki n đó b i Яi М


ki m tra МпМ giп tr riêng М a ma tr n. N u tất Мả МпМ giп tr riêng mƠ Н ng, thì ma
tr n lƠ бпМ đ nh Н ng. N u tất Мả МпМ giп tr riêng không ơm thì ma tr n lƠ бпМ đ nh
bпn Н ng.

Ma tr n Hessian бпМ đ nh Н ng lƠ m t đi u ki n th hai, đi u ki n đ Мho


Яi М t n t i МựМ ti u m nh (đi u ki n đ đ t n t i МựМ ti u М М b ). M t МựМ ti u Мó
th Я n lƠ МựМ ti u m nh n u s h ng th hai М a Мhuỗi Taвlor lƠ 0, nh ng s h ng
th ba lƠ Н ng. Cho nên đi u ki n th hai lƠ đi u ki n Мần Мho МựМ ti u m nh n u
ma tr n Hessian бпМ đ nh bпn Н ng.

Đ tổng k t đi u ki n t i u ta đi đ n МпМ đi u sau:

45
Luận án Tiến sĩ Kỹ thuật 2013

- CпМ đi u ki n Мần Мho u* lƠ m t МựМ ti u, m nh hoặМ в u, М a J(u) lƠ


J u  u u*  0 và  2 J u  u u* бпМ đ nh bпn Н ng.

- CпМ đi u ki n đ Мho u* lƠ m t đi m МựМ ti u m nh (МựМ ti u М М b ) М a


J(u) là J u  u u  0 và  2 J u  u u бпМ đ nh Н
* *
ng.

2.1.3. Thu t toán v t khe

Chúng ta nh n thấв rằng МпМ đi u ki n t i u nói Мhung Мhỉ lƠ nh ng đi u


ki n Мần mƠ không đ đ i Я i МựМ ti u toƠn М М. MƠ МпМ thu t toпn đƣ Мó thì đ u
không đảm bảo МhắМ Мhắn rằng s tìm đ М đi m МựМ ti u toƠn М М mƠ Мhỉ Мó khả
năng nơng Мao М h i tìm đ n đi m МựМ ti u toƠn М М mƠ thôi.

Nh Я в, Я i nh ng hƠm m М tiêu ph М t p thì МƠng khó khăn h n trong quп


trình tìm nghi m s t i u ЯƠ Я n Мó th b tắМ t i tr М М a khe tr М khi đ t đ М
đi m МựМ ti u, n u hƠm m М tiêu Мó Н ng khe. Có th Мó m t Мhi n l М ti p theo đ
giải quв t ti p Яấn đ khi mƠ gặp bƠi toпn khe núi nƠв lƠ sau khi đ t t i gần tr М khe
bằng ph ng phпp graНient Я i b Мh Мđ М tính bằng МựМ ti u hoп theo đ ng
(hoặМ Я i b М h М М đ nh) Мhúng ta s Н Мh Мhuв n Н М theo đпв khe hẹp nh sự
ti m М n Нần theo Н ng hình h М М a đпв khe hẹp ЯƠ lúМ nƠв thì ng i ta Мó th giả
thi t Н ng hình h М đó lƠ đ ng thẳng hoặМ бấp бỉ Мong b М hai.

Ta đƣ bi t МпМ thu t toпn t i u hoп lặp đ М бơв Нựng trên hai khпi ni m М
bản lƠ h ng thaв đổi hƠm m М tiêu (h ng tìm ki m) ЯƠ đ НƠi b М. Quп trình đó
đ М mô tả nh sau:

uk+1 = uk+  k sk, k = 0,1,…

Trong đó: uk, uk+1 lƠ đi m đầu ЯƠ đi m Мu i М a b М lặp th k; sk lƠ ЯeМt


Мhỉ h ng thaв đổi МпМ bi n s trong không gian n Мhi u;  k đ М g i lƠ đ НƠi
b М. CпМ thu t toпn t i u thông th ng thì khпМ nhau Я h ng Мhuв n đ ng,
hoặМ (ЯƠ) quв tắМ đi u Мhỉnh đ НƠi b М.

Sự khпМ bi t М bản М a ph ng phпp Я t khe so Я i МпМ ph ng phпp khпМ


lƠ quв tắМ đi u Мhỉnh b М. Theo quв tắМ đi u Мhỉnh b М М a ph ng phпp Я t
khe thì đ НƠi b М М a đi m tìm ki m mỗi b М lặp không nh h n đ НƠi b М
46
Luận án Tiến sĩ Kỹ thuật 2013

nh nhất mƠ t i đó hƠm m М tiêu đ t giп tr МựМ ti u (đ a ph ng) theo h ng


Мhuв n đ ng t i b М lặp đó. Đi u nƠв th hi n rất rõ trong МпМ nguвên lý М bản
М a ph ng phпp Я t khe.

2.1.3.1. Giới thiệu

Cho bƠi toпn t i u ЯƠ giải bƠi toпn t i u không đi u ki n:

MinJ(u) u En (2.1)

u là vec-t trong không gian EuМliНe n Мhi u

Công th М lặp Мho b i b М th k nh sau:

uk+1 = uk+  k sk, k = 0,1,… (2.2)

trong đó: u lƠ ЯeМt bi n М a hƠm m М tiêu J(u) t i b М lặp th k;

 k lƠ đ НƠi b М М a hƠm theo h ng Мhuв n đ ng sk.

H ng Мhuв n đ ng sk lƠ hoƠn toƠn бпМ đ nh t i mỗi b М lặp k (бпМ đ nh sau). M i


quan tâm chính đơв lƠ ph ng phпp бпМ đ nh đ НƠi b М k

M t ЯƠi Мông th М бпМ đ nh giп tr  k . Ví Н :[1], [2]

  arg min J u k 1   .s k 1 
k

  a b  k  a, b  const  0 (2.3)

 k   k 1 q ,0  q  1

CпМ Мông th М бпМ đ nh đ НƠi b М k đ М МпМ tпМ giả đ a ra khпМ Я i mỗi


l p hƠm m М tiêu ЯƠ th ng Мó nhi u tham s đòi h i phải Мh n giп tr phù h p Мho
mỗi l p hƠm М th .

Đ i Я i МпМ hƠm m М tiêu mƠ Мó Н ng khe thì МпМ b М Мhuв n đ ng (2.3)


kцm hi u quả, trong phần sau Мhúng ta giả thi t Мông th М Нuв nhất đ nh nghĩa đ
НƠi b М  k . Công th М đ М g i lƠ “nguвên lý Я t khe”. Giп tr  k tìm đ Мb i
nguвên lý đ М g i lƠ “b МЯ t khe".

47
Luận án Tiến sĩ Kỹ thuật 2013

2.1.3.2. Nguyên lý vượt khe

Hình 2.2: Hàm khe

HƠm “khe” lƠ hƠm mƠ mặt đ ng m М М a nó đ М kцo НƠi ra ЯƠ k t quả lƠ


t o ra m t khe НƠi, hình 2.2. Có nghĩa lƠ đ Мong М a hƠm m М tiêu rất khпМ nhau
đ i Я i МпМ h ng khпМ nhau. Trên Мả hai phía М a “khe”, graНient М a hƠm m М
tiêu Мó h ng ng М l i. Xцt đi m X đặt ЯƠo m t phía М a “khe” ЯƠ Y trên phía
khпМ. Hầu h t tr ng h p МпМ đi m X ЯƠ Y đ u thoả mƣn bất đẳng th М sau:

J s' ( X ) T J s' (Y )  0 (2.4)

Trong đó J s' ( X ) ký hi u phцp Мhi u М a J ' ( X ) lên h ng S.

Ký hi u: h    J u k 1   .S k 1  (2.5)

 
k

Ta có: hk'   
J u k 1   .S k 1

 
 J ' u k 1   .S k 1 S k 1
T
(2.6)

th  = 0 và    k ЯƠo Мông th М (2.6) ta thu đ М:

 
hk' 0  J s' u k 1 S k 1
T
(2.7)


hk'  k   J s' u k 1   .S k 1 
T
 
 J s' u k 1 S k 1
T
(2.8)

Ta đ М đi u ki n sau:

  T
 
hk'  k .hk' 0  J s' u k 1 S k 1 J s' u k
T
S k 1  0 (2.9)

48
Luận án Tiến sĩ Kỹ thuật 2013

D thấв rằng bất ph ng trình (2.9) lƠ t ng đ ng Я i (2.4) n u S k-1 = Sk,


uk-1 = X, uk = Y.

Đi u ki n (2.9) đòi h i t i mỗi b М lặp Мhuв n đ ng М a hƠm m М tiêu,


đ М g i lƠ nguвên lý “Я t khe"

Đ đảm bảo tính đ n đi u М a hƠm m М tiêu trong quп trình t i u hoп, đ


НƠi b М  k phải thoả mƣn bất ph ng trình sau:

J(uk+  k Sk) < J(uk). (2.10)

(2.10) đòi h i t i mỗi b М lặp

Xцt bƠi toпn МựМ ti u hoп không rƠng bu М:

J(u)  min, u En

trong đó, u lƠ ЯeМt МựМ ti u hoп trong không gian EuМliНe n Мhi u, J(u) lƠ hƠm
m М tiêu b Мhặn Н i ЯƠ thoả mƣn đi u ki n:

lim J x  b
u 
(2.11)

Thu t toпn t i u hoп bƠi toпn (2.1) Мó ph ng trình lặp nh Н ng sau:

uk+1 = uk +  k Sk, k = 0,1...

trong đó uk và uk+1 lƠ đi m đầu ЯƠ đi m Мu i М a b М lặp th k, sk lƠ ЯцМt


Мhỉ h ng thaв đổi МпМ bi n s trong không gian n Мh u;  k lƠ đ НƠi b М

k đ c xác đ nh theo nguyên lỦ v t khe thì đ c g i lƠ b cv t


khe, còn ph ng trình (2.2) g i lƠ thu t toán v t khe.

Nguвên lý Я t khe đƣ nêu trên phпt bi u rằng đi m đầu ЯƠ đi m Мu i М a


mỗi b М lặp t i u hoп luôn nằm Я hai phía đi m МựМ ti u М a hƠm m c tiêu xét
Н М theo h ng Мhuв n đ ng t i b М đó. Nói МпМh khпМ, n u t i đi m đầu hƠm m М
tiêu thaв đổi theo Мhi u giảm, thì đ n đi m Мu i nó phải Мó бu h ng tăng.

Quỹ đ o tìm ki m t i u theo nguвên lý Я t khe t o ra m t b М tranh hình


h М, tựa nh đi m tìm ki m t i mỗi lần lặp đ u b МЯ t qua lòng khe М a hƠm

49
Luận án Tiến sĩ Kỹ thuật 2013

m М tiêu. Đ М th hoп nguвên lý Я t khe, ta бцt hƠm m t bi n sau đ i Я i mỗi


b М lặp:


h   J u k   .S k  (2.12)

Giả s sk lƠ h ng М a hƠm m М tiêu t i đi m uk. Theo đi u ki n (2.11), t n


t i m t giп tr  *  0 bц nhất, sao Мho h() đ t МựМ ti u:

 *  arg min h ,   0 (2.13)

N u J(uk), Мũng t М lƠ h(), khả Яi liên t М, ta Мó đ nh nghĩa b МЯ t khe


nh sau:

h '  
  v
 
 0, h  v  h0 (2.14)

Trong đó,  v lƠ b МЯ t quп, t М b МЯ t khe.

Đ th bi n thiên М a hƠm h(), khi quỹ đ o t i u thaв đổi từ đi m đầu uk


đ n đi m Мu i uk+1 th hi n hình 2.3, ta thấв rằng, khi giп tr  tăng Нần từ 0 Я t
qua đi m МựМ ti u  * М a h() t i giп tr  v , quỹ đ o t i u hoп t ng ng ti n Н М
theo h ng sk theo quan h

uk+1 = uk +  k Sk, thựМ hi n

m t đ НƠi b М  v *. Đ


th nƠв Мũng Мhỉ ra rằng, бцt theo
h ng Мhuв n đ ng, thì hƠm m М
tiêu thaв đổi theo Мhi u giảm Нần
từ đi m uk, Мòn khi đ t đi m uk+1
thì nó đƣ Мhuв n sang бu h ng
tăng.

Hình 2.3: Xác định bước vượt khe  v

N u ta s Н ng b М Мhuв n đ ng theo đi u ki n (2.13) thì Мó th tắМ tr М


khe ЯƠ thu t toпn t i u hoп t ng ng b tắМ l i đó. Còn n u quп trình t i u hoп
theo đi u ki n (2.14) thì s không Мho phцp đi m tìm ki m r i ЯƠo lòng khe tr М

50
Luận án Tiến sĩ Kỹ thuật 2013

khi đ t l i giải t i u, đ ng th i nó Я ra m t quỹ đ o luôn Я t lòng khe. Đ quп


trình lặp Мó hi u quả h i t Мao ЯƠ ổn đ nh, đi u ki n (2.14) đ М thaв đổi b i:

 v   *  arg min h , h v   h*   h 0  h*  (2.15)


 0

Trong đó, 0 < λ < 1 đ М g i lƠ h s Я t

 
h*  h  *

 
h0  h  0

2.1.3.3. Xác định bước vượt khe

Vi М lựa Мh n đ НƠi b М h М trong bƠi toпn khe hẹp Мó ý nghĩa đặМ bi t


quan tr ng. N u đ НƠi b М h М mƠ quп nh thì t n th i gian thựМ hi n М a mпв
tính. N u đ НƠi b М h М l n thì Мó th gơв tr ng i Мho Яi М tìm ki m Яì khó theo
Нõi đ М sự u n l n М a khe hẹp. Do Я в, Яấn đ b М h М thíМh nghi Я i khe hẹp
lƠ Мần thi t trong quп trình tìm ki m nghi m t i u. Trong m М nƠв, ta đ a ra m t
МпМh rất hi u quả ЯƠ đ n giản tìm b М “Я t khe". Giả s J(u) liên t М ЯƠ thoả mƣn
đi u ki n limJ(u) =  khi u   ЯƠ t i mỗi b М lặp k, đi m uk-1 ЯƠ ЯцМ t Мhuв n

đ ng sk-1 đƣ бпМ đ nh. Cần phải бпМ đ nh đ НƠi b М  k thoả mƣn (2.9)

N u thaв h* trong (2.15) b i Мl ng h  h * , h  h * thì ta Я n nh n đ М


b МЯ t khe theo đ nh nghĩa. Vì Я в, đ đ n giản hoп Яi М l p trình nên lấв giп tr
bц nhất М a h đ М tính m t МпМh đ n giản trong mỗi b М lặp t ng ng, mƠ không
Мần бпМ đ nh Мhính бпМ h*. Đi u đó đ ng th i lƠm giảm đпng k s lần tính giп tr
hƠm m М tiêu. Ta Мó  k бпМ đ nh theo thu t toпn sau:

Đầu ЯƠo: đi m kh i t o, u ЯƠ h ng tìm ki m s

Đầu ra: đ НƠi b МЯ t khe 

CпМ tham s : a=0.5, đ Мhính бпМ  và 

Ta thựМ hi n МпМ b М sau:

B М 1:

Giả s  = a >0 tính hk  

51
Luận án Tiến sĩ Kỹ thuật 2013

N u hk    hk 0  thì  = 0,  = a, sang b М2

N u hk    hk 0  thì lặp gán:  = ;  = 1,5 Мho đ n khi hk     hk   sang


b М2

B М 2:

N u      ,   0 thì sang b М 3.

Tính          và hk   , trong đó  = 0,1.

N u hk    hk   thì  =  và quay l i b М 2.

N u hk    hk   thì  =  ЯƠ quaв l i b М 2.

B М 3:

Gi nguвên giп tr m i  =  ЯƠ Мhấp nh n b М “Я t khe"  k   . Quá


trình бпМ đ nh b МЯ t khe k t thúМ.

Có hai tham s (giп tr kh i t o a ЯƠ đ Мhính бпМ) đòi h i Мh n giп tr thíМh


h p, nh ng m t giп tr М th ít lƠm thaв đổi hi u quả М a thu t toпn ЯƠ  ph thu М
trựМ ti p ЯƠo giải phпp t i u. Vì Я в, Мó th đ a ra m t hằng s Мho m i tr ng h p
a = 0,5;  = 0,01.

CпМ tr ng h p Мh n đ НƠi b М mƠ бцt trên “h quв Мhi u” lƠ hƠm m М


tiêu Н ng lòng khe:

ng h p 1: Giп tr  k thoả mƣn đi u ki n МựМ ti u hƠm J(u) theo h

sk đ đ t t i đúng lòng khe lƠ   arg min J u k 1   .s k 1  .


- Tr ng

- Tr ng h p 2: Giп tr  k thoả mƣn h th М sau đ Мh a đ t t i lòng khe lƠ

0  1   k  ,  2  0 . L- hằng s Lipshitz, lƠ giп tr М n trên М a đ Н М t i đa


2  L
1

М a hƠm m М tiêu.

- Tr ng h p 3: Giп tr  k Я t qua lòng khe lƠ


d
d

J u k   .s k  0
  v

52
Luận án Tiến sĩ Kỹ thuật 2013

 Xác định bước vượt khe

Vi М lựa Мh n đ НƠi b М h М trong bƠi toпn khe hẹp Мó ý nghĩa đặМ bi t quan
tr ng. N u đ НƠi b М h М mƠ quп nh thì t n th i gian thựМ hi n М a mпв tính.
N u đ НƠi b М h М l n thì Мó th gơв tr ng i Мho Яi М tìm ki m Яì khó theo Нõi
đ М sự u n l n М a khe hẹp. Do Я в, Яấn đ b М h М thíМh nghi Я i khe hẹp lƠ
Мần thi t trong quп trình tìm ki m nghi m t i u. Trong m М nƠв, ta đ a ra m t МпМh
rất hi u quả ЯƠ đ n giản tìm b М “Я t khe". Giả s J(u) liên t М ЯƠ thoả mƣn đi u
ki n limJ(u) =  khi u   ЯƠ t i mỗi b М lặp k, đi m uk-1 ЯƠ ЯцМ t Мhuв n đ ng

sk-1 đƣ бпМ đ nh. Cần phải бпМ đ nh đ НƠi b М  k thoả mƣn đi u ki n (2.7).

Đ n đơв, Мhúng ta đƣ Мó đ М m t thu t toпn đầв đ đ tính b Мh МЯ t khe,


hình 2.4.

53
Luận án Tiến sĩ Kỹ thuật 2013

Hình 2.4: Lưu đồ thuật toán tính bước vượt khe


2.1.3.4. Ví dụ

Đ minh h a thu t toпn Я t khe, ta lƠm m t b М lặp (thựМ hi n bằng taв)


trong quп trình tìm ki m l i giải М a bƠi toпn t i u.

Giả s ta Мó hƠm J(u) = (u1 ậ 5)2 + (u2 - 5)2, Мần МựМ ti u hóa hƠm nƠв theo
ph ng phпp h nhanh nhất,  k бпМ đ nh theo nguвên lý Я t khe.

54
Luận án Tiến sĩ Kỹ thuật 2013

Hình 2.5: Bước lặp k = 1

Đi m bắt đầu u0 = (6;6) Я i J(u0)=2, Ta có:

J  u  J  u 
 2  u1  5 ;  2  u2  5 .
u1 u2

B М lặp k = 1 (бem hình 2.5):

u1  u 0   s 0
s 0   J '  u 0    2  2

Tìm đ НƠi b М 1

B М 1(1): Cho   a  0.5

J  u 0  0.5s0   0  J  u 0  nên   a  0.5 ; a=1.5a=0.75; quaв l i b М 1.

B М 1(2):

J  u 0  0.75s0   0.5  J  u 0  0.5s 0  nên   a  0.75 ; sang b М 2.

B М 2:   0.5  0.1 0.75  0.5  0.525;

J  u 0  0.525s0   0.005  J  u 0  0.5s0  và  J u 0  nên sang b М 3.

B М 3:     0.525; Tính u1 u0   s0 , u1=(4,95;4,95) Я i

J  u1   0.005 .
theo

Мho đ n khi J  u k    Мho tr


B М lặp k=2. T ng tự nh b М lặp Я i k-1, quп trình lặp nƠв М ti p Нi n
М.

55
Luận án Tiến sĩ Kỹ thuật 2013

2.2. ng d ng thu t toán v t khe trong quá trình luy n m ng n ron


Nguвên lý М bản М a t i u hóa đƣ đ М khпm phп trong th kỷ th 17 b i
МпМ nhƠ toпn h М nh Kepler, Fermat, Neаton, ЯƠ Leibnizt. Ngaв từ nh ng năm
1950, МпМ nguвên lý t i u đƣ đ М nghiên М u ЯƠ phпt tri n ti p đ h ng t i m t
m М đíМh rằng lƠm sao thựМ hi n đ М МпМ thu t toпn đó Я i t М đ Мao trên n n МпМ
mпв tính kỹ thu t s . ThƠnh Мông М a sự М gắng đó đƣ kíМh thíМh Яi М nghiên М u
МпМ thu t toпn m i, ЯƠ Яi М nghiên М u Я МпМ thu t toпn t i u tr thƠnh m t ngƠnh
quan tr ng trong toпn h М. CпМ nghiên М u Я m ng n ron ngƠв naв Мũng ng Н ng
Мông М toпn h М đó đ giải quв t Яấn đ trong quп trình huấn luв n m ng n ron.

Có th nhấn m nh rằng tất Мả МпМ thu t toпn mƠ Мhúng đƣ bi t nh thu t toпn


graНient liên h p haв thu t toпn LeЯenberg-MarquarНt, … đ u s Н ng kỹ thu t lan
truв n ng М đ huấn luв n m ng n ron, t М lƠ МпМ sai s đ М б lý từ l p Мu i
Мùng đ n l p đầu tiên М a m ng.

V в, quп trình luв n m ng n ron Мhính lƠ quп trình t i u hóa tham s М a


m ng, mƠ đơв trong ph m Яi nghiên М u М a lu n пn lƠ kỹ thu t lan truв n ng М.
Sự khпМ nhau gi a МпМ thu t toпn th hi n МпМh mƠ МпМ k t quả М a МпМ đ o hƠm
đ М s Н ng đ М p nh t МпМ tr ng s .

Chúng ta đƣ thấв rằng giảm Н М nhất lƠ m t thu t toпn đ n giản, ЯƠ thông


th ng Мh m nhất. Thu t toпn graНient liên h p ЯƠ ph ng phпp Neаton’s nói
Мhung mang đ n sự h i t nhanh h n [26]. Khi nghiên М u Я МпМ thu t toпn nhanh
h n thì th ng r i ЯƠo hai tr ng phпi. Tr ng phпi th nhất phпt tri n Я МпМ kỹ
thu t tìm ki m. CпМ kỹ thu t tìm ki m bao g m МпМ ý t ng nh Яi М thaв đổi t М đ
h М, s Н ng qui tắМ mô-men, b М h М thíМh nghi. Tr ng phпi khпМ М a nghiên
М u nhằm ЯƠo МпМ kỹ thu t t i u hóa s Мhuẩn, đi n hình lƠ ph ng phпp graНient
liên h p, haв thu t toпn LeЯengerg-MarquarНt (m t bi n th М a ph ng phпp
Neаton). T i u hóa s đƣ lƠ m t Мh đ nghiên М u quan tr ng Я i 30, 40 năm, nó
Н ng nh lƠ nguвên nhơn đ tìm ki m МпМ thu t toпn huấn luв n nhanh.

Nh đƣ phпt bi u trong Мh ng 1 m t nhơn t ảnh h ng đ n hi u lựМ ЯƠ đ


h i t М a giải thu t lan truв n ng М sai s lƠ b М h М α. Không Мó m t giп tr бпМ
đ nh nƠo Мho МпМ bƠi toпn khпМ nhau. V i mỗi bƠi toпn, b М h М th ng đ М lựa
56
Luận án Tiến sĩ Kỹ thuật 2013

Мh n bằng thựМ nghi m theo ph ng phпp th ЯƠ sai. Giп tr α l n lƠm tăng t М quп
trình h i t . Đi u nƠв không phải lúМ nƠo Мũng Мó l i Яì n u ngaв từ đầu ta đƣ Мho lƠ
m ng nhanh h i t thì rất Мó th m ng s h i t s m ngaв t i m t МựМ ti u đ a
ph ng gần nhất mƠ không đ t đ М đ sai s nh mong mu n. Tuв nhiên, đặt giп
tr b М h М quп nh thì m ng s h i t rất Мh m, th m Мhí m ng Мó th Я tđ М
qua МпМ МựМ ti u М М b ЯƠ Яì Я в Н n đ n h М mƣi mƠ không h i t . Hình 2.6 mô tả
m t hƠm Мó МпМ đ ng đ ng m М b kцo НƠi, Мong t o thƠnh khe. V i МпМ hƠm Н ng
nh th nƠв, Мh n b М h М bằng bao nhiêu đ không b tắМ t i tr М khe.

Hình 2.6: Các đường đồng m c dạng khe

Trong phần nƠв tпМ giả trình bƠв m t kỹ thu t Я t khe đ пp Н ng Мho Яi М
tìm b tr ng s t i u М a m ng. Sau đó Мhúng ta s s Н ng m t Яí Н đ n giản đ
nói rằng kỹ thu t lan truв n ng М giảm Н М nhất (SDBP) Мó Яấn đ Я i sự h i t ЯƠ
tпМ giả s trình bƠв sự k t h p gi a thu t toпn Я t khe ЯƠ kỹ thu t lan truв n ng М
nhằm Мải ti n tính h i t М a l i giải.

Hình 2.7 mô tả thu t toпn huấn luв n m ng n ron MLP bằng thu t h М lan
truв n ng МЯ ib Мh МЯ t khe. Thu t toпn đ tính b Мh МЯ t khe đ М
trình bày trên hình 2.4.

57
Luận án Tiến sĩ Kỹ thuật 2013

Hình 2.7: Lưu đồ thuật toán huấn luyện mạng nơron MLP với bước học vượt khe

2.3. Minh h a thu t toán


BƠi toпn Яí Н đ minh h a Мho thu t toпn huấn luв n Я i b Мh МЯ t khe
nh sau: Cho m t ЯeМ-t đầu ЯƠo t i đầu ЯƠo m ng, m ng n ron phải trả l i Мho
Мhúng ta bi t đầu ЯƠo ấв lƠ Мпi gì.

2.3.1. Công tác chuẩn b

M М tiêu: МƠi đặt thƠnh Мông ph ng phпp luв n m ng n ron bằng th t М


lan truв n ng Мk th pЯ ib М h М tính theo nguвên lý Я t khe đ tìm nghi m
t i u toƠn М М đ i Я i mặt sai s Мó Н ng lòng khe.

58
Luận án Tiến sĩ Kỹ thuật 2013

V i Яi М s Н ng ph ng phпp giảm nhanh nhất đ М p nh t tr ng s М a


m ng, ta Мần МпМ thông tin liên quan đ n đ o hƠm riêng М a hƠm lỗi lấв trên từng
tr ng s , nghĩa lƠ Яấn đ Мòn l i М a Мhúng ta trong Мông tпМ Мhuẩn b lƠ trình bƠв
МпМ Мông th М ЯƠ thu t toпn М p nh t tr ng s trong МпМ l p ẩn ЯƠ l p ra.

V i m t t p m u Мho tr М, Мhúng ta s tính đ o hƠm hƠm sai s bằng МпМh


lấв tổng đ o hƠm hƠm lỗi trên từng m u trong t p đó. Ph ng phпp phơn tíМh ЯƠ
tính đ o hƠm nƠв Нựa trên “qui tắМ Мhuỗi”.

Đ i Я i m ng tuв n tính đ n l p (ADLINE) đ o hƠm riêng đ М tính toпn


m t МпМh thu n l i. Đ i Я i m ng nhi u l p thì sai s không lƠ m t hƠm t ng minh
М a МпМ tr ng s trong МпМ l p ẩn, Мhúng ta s s Н ng lu t Мhuỗi đ tính toán các
đ o hƠm. Đ Н М М a ti p tuв n Я i đ ng Мong sai s trong mặt Мắt theo tr М а g i
lƠ đ o hƠm riêng М a hƠm lỗi J lấв theo tr ng s đó, ký hi u lƠ J/а, Нùng quв tắМ

J J w1 wn

w w1 w2 w
Мhuỗi ta Мó . ...

2.3.1.1. Điều chỉnh trọng số lớp ra

G i: b: tr ng s l p ra

z: đầu ra М a n ron l p ra.

t: giп tr đíМh mong mu n

yj: đầu ra М a n ron trong l p ẩn

 b j y j nên v/bj = yj (b
M 1
Я: tổng tr ng hóa v  qua Мhỉ s М a МпМ
j 0

n ron l p đầu ra)

Ta s Н ng J = 0.5*(z-t)2, nên J/z = (z-t).

HƠm kíМh ho t n ron l p ra lƠ sigmoiН z=g(Я), Я i z/v = z(1-z).

J J z v
 . .   z  t .z 1  z . y
b z v b
Ta có: (2.16)

Từ đó ta Мó Мông th М М p nh t tr ng s l p ra nh sau (b qua МпМ Мhỉ s ):

59
Luận án Tiến sĩ Kỹ thuật 2013

b  . z  t .z.1  z . y (2.17)

Ta s s Н ng Мông th c (2.17) [21] trong th t М DIEUCHINHTRONGSO()


đ đi u Мhỉnh tr ng s l p ra, trong đó Мó m t đi m nhấn m nh lƠ t М đ h М α đ М
tính theo nguвên lý Я t khe, đơв lƠ m М tiêu М a nghiên М u.

void DIEUCHINHTRONGSO(int k)
{
int i,j;
float temp;
SAISODAURA();
for(i=0;i<SLNRLA;i++)
{
for(j=0;j<SLNRLR;j++)
{
temp = -TOCDOHOC*y[i]*z[j]*(1-z[j])*SSLR[j];
MTTSLR[i][j] = MTTSLR[i][j] + temp + QUANTINH*BTMTTSLR[i][j];
BTMTTSLR[i][j] = temp;
}
}
}

2.3.1.2. Điều chỉnh trọng số lớp ẩn

Đ o hƠm hƠm m М tiêu М a m ng đ i Я i m t tr ng s l p ẩn đ М tính theo


qui tắМ Мhuỗi, J a   J y . y u . u a  .

G i: a: tr ng s l p ẩn

в: đầu ra М a m t n ron trong l p ẩn

xi: МпМ thƠnh phần М a ЯeМt ЯƠo М a l p ЯƠo

 ai xi nên u/ai = xi
N 1
u: tổng tr ng hóa u 
i 0

k: Мhỉ s М a МпМ n ron trong l p ra

60
Luận án Tiến sĩ Kỹ thuật 2013

L p ẩn tự Мhúng không gơв ra lỗi nh ng nó góp phần tпМ đ ng ЯƠo sai s М a


J K 1 J zk vk
y k  0 zk vk y
l p ra. Ta Мó

 .z v  đ
Ta Мhỉ бцt Мho m t n ron l p ẩn nên Мhỉ s М a l p ẩn ta l М b Мho đ n

ng J
z
giản. Đ n đơв ta nh n thấв l М lan truв n ng М Я l p ẩn,

v   k k  k  k
Мhỉ s k nói rằng  J  zk   z  t .z . 1  z (Мông th М nƠв đ
z 
  
М
k k

 y   b , Я i Мhỉ s k ta Мó  v y   b . Đ n đơв, s h ng đầu tiên


suв ra từ m М 3.1.1) thu М n ron nƠo trong l p ra. Nh ta đƣ bi t thì Я lƠ tổng tr ng

hóa, nên v

 J a    J y . y u . u a  đƣ đ М hoƠn thƠnh.


k
k

М a

   zk  tk .zk .1  zk  .bk , trong Мông th М nƠв ta đƣ l М b Мhỉ s М a


J K 1
y k  0

М gắn Я i в (Яi t đầв đ phải lƠ  J  , Я i j=0...M-1).


 yi 
n ron l p ẩn, Мпi mƠ đ

Ti p theo, ta бцt s h ng th hai  y u  , s h ng nƠв Нi n tả sự bi n đổi М a đầu

ra М a m t n ron thu М l p ẩn theo tổng tr ng hóa МпМ thƠnh phần vec-t đầu ЯƠo
М a l p ЯƠo. Ta Мó m i quan h gi a в ЯƠ u theo hƠm kíМh ho t n ron

1  e 
y 1 u
, nên  y u   y.1  y  . Còn l i s h ng th ba  u a  lƠ sự

bi n đổi М a đầu ra М a n ron l p ẩn theo tr ng s l p ẩn. Vì u lƠ tổng tr ng hóa М a

 ai xi nên ta có ngay  u ai   xi . Tóm l i,


N 1
các thƠnh phần vec-t đầu ЯƠo u 
i 0

ta Мó đ o hƠm hƠm m М tiêu theo m t tr ng s М a l p ẩn:

   zk  tk .zk .1  zk  .bk . y.1  y  .xi


J K 1
ai k  0
(2.18)

Từ đơв ta đi đ n Мông th М đi u Мhỉnh tr ng s Мho l p ẩn:

61
Luận án Tiến sĩ Kỹ thuật 2013

ai   .   zk  tk .zk .1  zk  .bk . y.1  y .xi


K 1
(2.19)
k 0

Trong Мông th М (2.19) Мhỉ s i bi u th n ron th i М a l p ЯƠo, Мhỉ s k bi u


th n ron th k l p ra; trong Мông th М Мhúng ta đƣ không bi u th Мhỉ s j, Мhỉ s
bi u th n ron l p ẩn.

Ta s s Н ng Мông th М (2.19) [21] trong th t М DIEUCHINHTRONGSO()


đ đi u Мhỉnh tr ng s l p ẩn, t М đ h М α đ М tính theo nguвên lý Я t khe.
Phần mƣ th t М DIEUCHINHTRONGSO() đ М trình bƠв nh sau, trong đó
bi n temp ki u float Мhính lƠ giп tr bi n thiên tr ng s ЯƠ bi n temp đ М tính theo
Мông th М (2.19). (M t phần trong Мông th М (2.19) đ М tính trong th t М
SAISOLOPAN().)
void DIEUCHINHTRONGSO(int k)
{
int i,j;
float temp;
SAISOLOPAN();
for(i=0;i<SLNRLV;i++)
{
for(j=0;j<SLNRLA;j++)
{
temp = -TOCDOHOC*x[i]*y[j]*(1-y[j])*SSLA[j];
MTTSLA[i][j] = MTTSLA[i][j] + temp +
QUANTINH*BTMTTSLA[i][j];
BTMTTSLA[i][j] = temp;
}
}
}

2.3.2. C u trúc m ng

Từ МпМ thông tin thu đ М từ МпМ m М 2.3 ЯƠ m М 2.1, Мùng Я i вêu Мầu М a
bƠi toпn Яí Н đƣ nêu trong m М 1.4.2. là nh n bi t МпМ ký tự lƠ МпМ Мh s 0, 1, .., 9.

62
Luận án Tiến sĩ Kỹ thuật 2013

NgoƠi ra tпМ giả còn đ a thêm Яí Н n a lƠ nh n bi t МпМ Мh Мпi: a, b, c, d, e, g, h, i,


k, l.

Hình 1.5 đƣ mô tả Мấu trúМ М a m ng n ron nhi u l p Я i 35 n ron l p ЯƠo,


5 n ron l p ẩn ЯƠ 10 n ron l p ra; hàm f đ М lựa Мh n lƠ sigmoiН.

f 
1  exp  -x 
1

Chúng ta Мũng nói m t ЯƠi đi u Я Яi М s Н ng bias. Có th МпМ n ron có


hoặМ không Мó МпМ bias. Bias Мho phцp m ng đi u Мhỉnh ЯƠ tăng М ng thêm s М
m nh М a m ng. Đôi khi ta mu n trпnh đ i s М a hƠm f bằng giп tr không khi mƠ
tất Мả МпМ đầu ЯƠo М a m ng bằng không, h s bias s lƠm Мпi Яi М lƠ trпnh Мho tổng
tr ng hóa bằng không. Trong Мấu trúМ m ng hình 1.5 ta b qua sự tham gia М a МпМ
bias. M t ЯƠi đi u bƠn lu n thêm Я Яi М lựa Мh n Мho bƠi toпn М a Мhúng ta m t
Мấu trúМ m ng nh th nƠo Мho t i u lƠ Мh a giải quв t đ М, đơв Мhúng ta Мhỉ
m i lƠm t t Яi М nƠв Нựa trên sự th sai. Ti p theo, đi u gì s бảв ra n u Мhúng ta
thi t k m t m ng Мần phải Мó nhi u h n hai l p? S l ng n ron trong l p ẩn lúМ
đó s lƠ bao nhiêu? Vấn đ nƠв đôi khi phải Нự bпo tr М hoặМ Мũng Мó th phải qua
Яi М nghiên М u ЯƠ thựМ nghi m. M t m ng n ron Мó t t haв không thì Яi М đầu tiên
lƠ phải Мh n đ М m t Мấu trúМ m ng t t. C th lƠ ta s lựa Мh n hƠm kíМh ho t
(transfer funМtion) lƠ Мпi nƠo trong m t lo t МпМ hƠm đƣ Мó (бem bảng 2.1). Ta Мũng
Мó th tự бơв Нựng lấв m t hƠm kíМh ho t Мho riêng bƠi toпn М a Мhúng ta mƠ không
s Н ng МпМ hƠm Мó sẵn đó. Giả s , Яi М lựa Мh n s b m t Мấu trúМ m ng nh trên
hình 1.5 lƠ hoƠn tất. Chúng ta s bắt taв ЯƠo Мông Яi М huấn luв n m ng, t М lƠ
Мhỉnh đ nh МпМ b s (а) М a m ng. N u sau m t nỗ lựМ huấn luв n mƠ ta không đ t
đ М МпМ b s t i u (а*) thì Мấu trúМ m ng mƠ ta Мh n kia Мó th Мó Яấn đ , Нĩ
nhiên, ta phải lƠm l i Мông Яi М nƠв từ đầu, t М lƠ Мh n m t Мấu trúМ m ng khпМ, ЯƠ
huấn luв n l i... Sau quп trình huấn luв n m ng, Мhúng ta Мó th gặp phải Яấn đ lƠ
m t s n ron trong m ng Мhẳng tham gia gì ЯƠo Мông Яi М М a bƠi toпn Мả, nó th
hi n МпМ h s tr ng а n i Я i n ron đó gần bằng zero. Tất nhiên, ta s b n ron
đó đi Мho Яi М t i u b nh ЯƠ th i gian ho t đ ng М a m ng.

63
Luận án Tiến sĩ Kỹ thuật 2013

2.3.3. Các th vi n vƠ hƠm m ng

Bảng 2.1. Các hàm kích hoạt (transfer function) tiêu biểu [6]

Tên hàm Mô t hƠm Bi u t ng Hàm Matlab

0 if x  0
f 
1 if x  0
Hard Limit Hardlim

1 if x  0
f 
Symmetrical Hard
 1 if x  0
Hardlims
Limit

Linear f x Purelin

f 
1  exp  -x 
1
Log-sigmoid logsig

2.3.3.1. Thư viện

Trong t p Нinhnghia.h, hƠm sigmoiН đ М phпt bi u Мùng Я i đ o hƠm М a


nó, hƠm nƠв Мó đặМ đi m lƠ rất phẳng đ i Я i МпМ đầu ЯƠo l n Нo đó Н sinh ra mặt
Мhất l ng Мó Н ng khe núi hẹp. V в Мó m t Мơu h i đặt ra lƠ, Мó bắt bu М tất Мả МпМ
n ron trong m t l p thì phải Мó МпМ hƠm kíМh ho t gi ng nhau? Cơu trả l i lƠ không,
ta Мó th đ nh nghĩa m t l p М a МпМ n ron Я i МпМ hƠm kíМh ho t khпМ nhau. Chúng
ta s Н ng hƠm kíМh ho t mƠ haв đ М s Н ng trong kỹ thu t m ng n ron, hàm
sigmoiН Мho toƠn b МпМ n ron trong m ng.

#define SIGMF(x) 1/(1 + exp(-(double)x))

#define DSIGM(y) (float)(y)*(1.0-y))

S l ng n ron đầu ЯƠo М a m ng bằng s thƠnh phần М a ЯeМ-t đầu ЯƠo б


Я i kíМh th М 35×1.

#define SLNRLV 35 // SO LUONG NO RON LOP VAO

S l ng n ron l p ẩn lƠ 5, ЯeМ-t đпp ng đầu ra l p ẩn lƠ в Я i kíМh th М


5×1. Có th nói Мh a Мó Мông trình nƠo nói Я kíМh th М М a l p ẩn m t МпМh М
th . Tuв nhiên, n u Мh n kíМh th М l p ẩn l n quп thì không nên đ i Я i МпМ bƠi

64
Luận án Tiến sĩ Kỹ thuật 2013

toпn mƠ МпМ đầu ЯƠo (ЯeМ-t б) Н b nhi u tпМ đ ng, b i rằng Я i m t m ng mà có


l p ẩn kíМh th М l n thì m ng n ron s rất “nh в Мảm”, Нo đó m t nhi u nh tпМ
đ ng lên đầu ЯƠo Мũng Мó th lƠm ảnh h ng đ n đпp ng đầu ra М a m ng trong
quп trình s Н ng m ng.

#define SLNRLA 5 // SO LUONG NO RON LOP AN

S l ng n ron l p ra lƠ 10. Ta Мũng Мó th Мh n lƠ 1 n ron đ i Я i bƠi toпn


nƠв, tuв nhiên Я i МпМh lựa Мh n nh Я в thì s rất khó khăn Мho Мhúng ta trong Яi М
giải quв t вêu Мầu М a bƠi toпn, ЯeМ-t đầu ra М a l p ra lƠ z Я i kíМh th М 10×1.

#define SLNRLR 10 // SO LUONG NO RON LOP RA

Trong МпМ thu t toпn t i u lặp, Мó m t khпi ni m lƠ đi u ki n Нừng thu t


toпn. Có nhi u ph ng пn đ Нừng l i giải. đơв ta s Н ng m t ph ng phпp rất
phổ bi n đó lƠ đ nh nghĩa m t giп tr ng ng sai s đ Нừng l i giải ЯƠ Мoi nh đƣ
đ tđ М nghi m М a bƠi toпn, haв lƠ đƣ tìm đ М b tr ng s t i u. V в, đ nh
nghĩa giп tr ng ng lƠ bao nhiêu? Nó Мó th ảnh h ng đ n Яấn đ mƠ Мhúng ta g i
lƠ tổng quпt hóa М a m ng. M t m ng Мó khả năng tổng quпt hóa t t haв không thì
m t trong nh ng в u t ảnh h ng đó lƠ Яi М Нừng luв n m ng s m haв mu n, t М
lƠ liên quan đ n Яi М đ nh nghĩa giп tr ng ng sai s . Giп tr ng ng sai s mƠ ta s
Н ng đ Нừng Яi М huấn luв n m ng n u giп tr hƠm m М tiêu đ t t i lƠ epsilon.

#define EPSILON 0.06 // SAI SO TRUNG BINH BINH PHUONG


DE DUNG QUA TRINH LUYEN MANG

Ta Мũng đ nh nghĩa m t giп tr МựМ đ i Мho s b М lặp trong quп trình huấn
luв n m ng lƠ BLTD, n u s b М lặp Я t quп giп tr nƠв thì Мhúng ta Мoi nh quп
trình huấn luв n m ng thất b i.

#define BLTD 30000 // BUOC LAP TOI DA

Giп tr FD đ М s Н ng trong thu t toпn tính b Мh МЯ t khe.

#define FD 1e-1

Cũng liên quan đ n Яấn đ khả năng tổng quпt hóa М a m ng, Яi М lựa Мh n
tƠi li u h М Мho m ng ảnh h ng đ n năng lựМ М a m ng sau khi đƣ đ М huấn
luв n. NgoƠi ra, Яi М Мh n t p h s huấn luв n Мũng ảnh h ng đ n Мhi phí th i
65
Luận án Tiến sĩ Kỹ thuật 2013

gian đ luв n m ng, ЯƠ mỗi m t t p h s huấn luв n khпМ nhau đ ng nhiên Мũng
s đem l i m t mặt Мhất l ng khпМ nhau М a m ng. Trong t p taphuanluyen.h
trình bƠв b tƠi li u Нùng đ huấn luв n m ng. B tƠi li u nƠв g m МпМ ЯeМ-t m u
đầu ЯƠo ЯƠ ЯeМ-t đпp ng đíМh. Bảng 2.2 М a m М 2.3.4.2. s trình bƠв Я k t quả
М a Яi М luв n m ng Я i t p h s luв n m ng đƣ Мho đ minh h a khả năng М a
thu t toпn Я t khe.

2.3.3.2. Hàm khởi tạo trọng số

LƠ hƠm kh i t o МпМ giп tr tr ng s s đ М s Н ng Мho МпМ m ng n ron.


Cấu trúМ Н li u М a giп tr tr ng s đ М kh i t o ЯƠ thi t l p m t lần bằng Яi М g i
hàm KHOITAOMANG(). HƠm s kh i t o mảng hai Мhi u М a МпМ tr ng s l p ẩn ЯƠ
l p ra Я i МпМ giп tr ng u nhiên Мhuẩn hóa Я i Нải đặМ bi t. V i hƠm kíМh ho t lƠ
hƠm sigmoiН thì ta Мh n giп tr nƠв lƠ 0.5. Trong m М 2.3.4. Мhúng ta s Мh в th
Мh ng trình luв n m ng nhi u lần đ thấв rằng Я i Яi М бuất phпt từ m t đi m bất
kỳ khпМ nhau trong không gian tr ng s М a mỗi lần Мh в lƠ ảnh h ng đ n quп
trình tìm ki m đi m МựМ ti u, бem th ng kê bảng 2.2 và 2.3.

Mô tả hƠm KHOITAOMANG()trong đo n mƣ sau:


int KHOITAOMANG()
{
for(i=0;i<SLNRLV;i++)
for(j=0;j<SLNRLA;j++)
{
MTTSLA[i][j] = -0.5+ (float) rand()/RAND_MAX;
BTMTTSLA[i][j] = 0;
}
for(i=0;i<SLNRLA;i++)
for(j=0;j<SLNRLR;j++)
{
MTTSLR[i][j] = -0.5 + (float) rand()/RAND_MAX;
BTMTTSLR[i][j] = 0;
}
}

66
Luận án Tiến sĩ Kỹ thuật 2013

2.3.3.3. Thủ tục tính bước học vượt khe

Trong m М 2.1 М a lu n пn đƣ trình bƠв Я nguвên lý Я t khe Мũng nh


thu t toпn đ tính b Мh МЯ t khe, sau đơв lƠ đo n mƣ tính b М h М. Th t М
TINHBUOCHOCVUOTKHE() s đ М g i trong HUANLUYENVUOTKHE() sau mỗi
b М lặp. Khi Мhúng ta s Н ng b Мh Мđ М tính theo nguвên lý Я t khe thì
đ ng nhiên mпв tính s mất m t khoảng th i gian đ thựМ hi n МпМ phцp toпn М a
thu t toпn. Tuв nhiên, nh bảng 2.2 và 2.3 trong m М 2.3.4 th ng kê thì thấв rằng s
b М lặp М a quп trình luв n m ng l i giảm đi th t rõ r t.
void TINHBUOCHOCVUOTKHE(void)
{
float XL,XU,FL[SLMHL],temp;
int i,t,j;
if(NBS==0)
{
A=0.5;
GAMA=0.1;
TOCDOHOC=A;
}
for(t=0;t<SLMHL;t++)
FL[t]=FX[t];
XL=0;
BUOC1:
TOCDOHOC=A;
BUOCLAP();
HAMMUCTIEU();
for(t=0;t<SLMHL;t++)
F[t] = ECM[t];
for(t=0;t<SLMHL;t++)
if(F[t]>FL[t])
{
XU=A;
goto BUOC2;
}
//XL=A;
for(t=0;t<SLMHL;t++)

67
Luận án Tiến sĩ Kỹ thuật 2013

FL[t]=F[t];
XL=A;
A=1.5*A;
XU=A;
goto BUOC1;
BUOC2:
if(FD>=(XU-XL))
goto BUOC3;
A=XL+GAMA*(XU-XL);
temp=TOCDOHOC;
TOCDOHOC=A;
BUOCLAP();
HAMMUCTIEU();
TOCDOHOC=temp;
for(t=0;t<SLMHL;t++)
F[t] = ECM[t];
for(t=0;t<SLMHL;t++)
if(FL[t]>F[t])
{
XU=A;
for(j=0;j<SLMHL;j++)
FL[j]=F[j];
goto BUOC2;
}
for(t=0;t<SLMHL;t++)
if(F[t]>FL[t])
{
for(j=0;j<SLMHL;j++)
FL[j]=F[j];
Xl=A;
goto BUOC3;
}
BUOC3:
for(t=0;t<SLMHL;t++)
FX[t]=F[t];
NBS=NBS+1;
TOCDOHOC=A;
}

68
Luận án Tiến sĩ Kỹ thuật 2013

2.3.3.4. Thủ tục huấn luyện mạng, HUANLUYENVUOTKHE()

Trong th t М nƠв Мó m t Яòng lặp Нo…аhile, mỗi Яòng lặp lƠ m t b М lặp


trong quп trình luв n m ng. M t trong hai в u t k t thúМ Яi М huấn luв n m ng lƠ,
n u giп tr hƠm m М tiêu đ t t i sai s epsilon=0.06, hoặМ s b М lặp Я t quп
3000 lần lặp. N u в u t th nhất th a mƣn thì m ng đ М huấn luв n бong ЯƠ sẵn
sƠng Мho ng i Нùng s Н ng m ng, Мòn n u gặp в u t th hai thì Мoi nh Яi М
huấn luв n m ng b thất b i.

HUANLUYENVUOTKHE()s g i TINHBUOCHOCVUOTKHE() mỗi m t lần lặp

đ Мó đ Мb Мh МЯ t khe, sau đó BUOCLAP() s đ М g i đ lan truв n ti n,


tính toпn đầu ra. M t th t М DIEUCHINHTRONGSO() s đ М g i ti p ngaв sau đó
đ đi u Мhỉnh МпМ tr ng s l p ẩn ЯƠ l p ra Нựa ЯƠo thông tin Я sai s đầu ra so Я i
t p m u đíМh Мùng Я i b Мh МЯ t khe.

Trong gói phần m m Мũng đ a thêm hai th t М, m t lƠ


HUANLUYENCODINH(), th t М nƠв s huấn luв n m ng Я i b М h М Мh n М đ nh
lƠ 0.2 ЯƠ th hai lƠ HUANLUYENGIAMDAN() Я i b М h М giảm Нần tính theo Мông
th М (2.20) đ giúp ta so sпnh Я i МпМh huấn luв n theo b М h М tính theo nguвên
lý Я t khe. M М 2.3.4.2 trong Мh ng nƠв s th ng kê 20 lần luв n m ng Я i ba
th t М nƠв.

toc _ do _ hoc  so _ buoc _ lap*b  c


a
(2.20)

Trong đó a, b, М lƠ МпМ hằng s .

2.3.4. K t qu ch y ch ng trình vƠ so sánh

2.3.4.1. Chạy chương trình

Sau khi l p trình bằng Visual C++, Мh в Мh ng trình, Мhúng ta Мần lựa Мh n
m t trong ba ph ng пn từ bƠn phím: М, g, Я t ng ng Я i Яi М lựa Мh n b Мh М
М đ nh (Яi t tắt lƠ М), b М h М giảm Нần theo Мông th М (2.20) (Яi t tắt lƠ g), haв
b М h М Я t khe tính theo thu t toпn Я t khe bằng th t М

69
Luận án Tiến sĩ Kỹ thuật 2013

TINHBUOCHOCVUOTKHE() (Яi t tắt lƠ Я) đ М s Н ng đ luв n m ng. CпМh th М


nh p từ bƠn phím đ lựa Мh n b Мh Мđ М mô tả ngaв sau đơв:

LUA CHON LOAI BUOC HOC

CO DINH: c, GIAM DAN: g, NGUYEN LY VUOT KHE: v

v [enter]

Quп trình luв n m ng bắt đầu, n u quп trình tìm ki m b tr ng s m ng thất


b i thì Мh ng trình s thông bпo rằng quп trình luв n m ng thất b i, Мòn n u Яi М
luв n m ng thƠnh Мông thì Мh ng trình s Мho Мhúng ta bi t s b М lặp М a quп
trình luв n m ng; k t quả М a hai ma tr n tr ng s l p ẩn ЯƠ l p ra ЯƠ вêu Мầu
Мhúng ta đ a ЯeМ-t б đầu vào đ ki m tra m ng. CпМh th М nh p ЯeМ-t б từ bƠn
phím nh sau (g m Мó 7 hƠng, mỗi hƠng 5 giп tr ; giп tr hoặМ 0 hoặМ lƠ 1), Яí Н ta
nh p mƣ М a s 6

0 0 1 1 0
0 1 0 0 0
1 0 0 0 0
1 1 1 1 0
1 0 0 0 1
1 0 0 0 1
0 1 1 1 0
VƠ Мhúng ta Мh Мơu trả l i М a m ng.

*******************************************

* CHUONG TRINH HUAN LUYEN MANG NO-RON *

* BUOC HOC TINH THEO NGUYEN LY VUOT KHE *

*******************************************

DANG HUAN LUYEN MANG THEO BUOC VUOT KHE...

MANG DA DUOC HUAN LUYEN XONG SAU: 34 BUOC LAP!

MA TRAN TRONG SO LOP AN MTTSLA[slnrlv][slnrla]:

-0.513496 +0.764902 +0.833890 -1.213335 +0.821022

70
Luận án Tiến sĩ Kỹ thuật 2013

-0.714510 -0.330939 +0.718113 -0.010856 +1.041344

+0.203121 -0.493358 -0.615304 +1.198389 +1.225473

+0.680735 +0.133827 -1.207137 -0.042108 +1.715010

+0.013734 -0.783505 +0.020761 +0.770050 -0.108593

+0.823171 -1.643064 +1.088796 -1.139771 -0.177110

+0.773920 +0.239387 -1.654652 +0.578060 -0.869230

+0.727297 -0.028404 +0.788829 -1.379023 -1.399395

+0.630254 +0.221009 -0.569163 +0.697461 +1.071346

-0.596292 -0.348468 -0.012247 +0.122078 +1.245557

-1.321880 -0.141454 -0.235088 +2.864328 +1.306939

+0.129423 +0.415885 -0.756748 +0.563398 +0.069821

+0.516451 +0.032283 +0.209667 -0.963300 -0.187824

+1.728189 -0.967244 -1.690552 -0.385068 -0.347820

+1.109388 +0.452760 -0.649945 -1.479361 -0.492071

-0.545680 +0.580958 -0.643666 -0.058043 +0.681030

-0.139105 +0.502492 -0.103526 -0.416014 +1.761168

-0.466114 +1.729941 +0.325881 +0.715679 -0.409421

-0.666974 +1.983714 +0.425334 -0.192603 +1.008505

-0.766750 +0.952648 -0.091599 -0.618372 +0.769775

+0.390731 -0.222322 -1.175726 -0.874193 -0.480719

+0.303599 -0.226470 +0.460789 -0.324308 -0.687494

-0.466552 -0.199729 +0.305401 -0.112127 -0.616490

-1.078721 +0.571089 +1.299650 -0.068734 +0.194324

-1.218586 +1.362693 +0.992297 +1.284863 +0.102053

71
Luận án Tiến sĩ Kỹ thuật 2013

-0.601627 +0.353629 +1.566376 -0.162777 -1.226421

+0.335808 +0.359233 -0.639406 +1.286489 -0.565971

+0.091049 +0.309190 -0.607970 -0.996621 +0.297518

-0.203598 +0.343273 +0.885806 -1.437262 +0.819597

-0.382919 +0.682280 +0.220937 +0.767746 -2.170041

+0.120224 +0.210313 +0.441168 +0.792983 -1.223393

+0.468991 +0.842258 -1.504078 +0.576556 +0.084106

-0.352618 -1.862809 +0.389202 +1.284403 +0.617516

-0.908492 -1.645394 +1.693434 -0.538605 +0.292108

+0.802787 +1.271673 -0.906446 +1.124133 -0.188477

MA TRAN TRONG SO LOP RA MTTSLR[slnrla][slnrlr]:

+2.951620 -4.526521 -3.790868 -2.230710 -1.738504

-2.769717 +1.312588 -4.664436 -2.827789 +2.371747

-0.364274 +2.201062 -3.916823 -3.320487 -4.069728

-1.782830 -4.044702 +3.170280 -4.158247 -3.187445

-6.282814 +0.281494 -1.669756 +1.434243 +1.132807

-2.987375 -3.486474 -0.478021 -4.107324 +4.076324

-1.912957 -2.763546 -3.092701 +1.134861 +2.352585

-5.310641 +3.295428 +0.162167 -2.746308 -2.727656

-2.506175 -2.950514 +0.563975 +2.650147 -2.085773

-2.361584 -0.225960 -4.947299 +3.709565 -3.014404

FINISH.

72
Luận án Tiến sĩ Kỹ thuật 2013

2.3.4.2. So sánh các phương án

Chúng ta s lần l t luв n m ng theo ba ph ng пn, ph ng пn th nhất lƠ


b М h М М đ nh bằng 0.2, ph ng пn th hai lƠ b М h М giảm Нần (bắt đầu từ giп
tr 1) sau mỗi b М lặp theo Мông th М (2.20), ph ng пn th ba lƠ b М h М tính
theo nguвên lý Я t khe. Mỗi ph ng пn, Мhúng ta th luв n 20 lần Мho m t t p h
s luв n m ng. K t quả Мho ta bảng 2.2.

V ib М h М М đ nh, ta thấв rằng s b М lặp Мần Мó đ m ng đ М huấn


luв n thƠnh Мông lƠ rất l n, trung bình lƠ 10000 Мhu kỳ, nguвên nhơn Мó th Нo
b М h М Мh n lƠ bц (0.2). Tuв nhiên, n u th Мh n b М h М l n h n (0.3) thì k t
quả lƠ s lần luв n m ng thất b i nhi u h n. Nh trong bảng 2.2 th ng kê thì đƣ bảв
lần thất b i trong tổng s 20 lần luв n m ng Я i b М h М lƠ 0.2.

V ib М h М tính theo Мông th М (2.20) thì ba lần thất b i, s b М lặp đ


luв n m ng thƠnh Мông khп ổn đinh, tuв nhiên Мhúng ta Мũng thấв rằng, theo bảng
2.2 đƣ th ng kê thì Я i b М h М tính theo nguвên lý Я t khe, t М đ h i t Мao h n
Я i trung bình 37 b М lặp ta đƣ luв n m ng бong, s lần thất b i khi luв n m ng
Мũng đ М giảm đi.

M t nh М đi m М a ph ng пn tính b Мh МЯ t khe lƠ Мhi phí th i gian


đ mпв tính б lý tính toпn b М h М trong mỗi b М lặp l n Нo ta đ nh nghĩa hằng
s FD=1-e4 nh , thu t toпn s phải lặp nhi u lần đ thoпt kh i đi u ki n nƠв (b М
2 М a thu t toпn Я t khe). Tuв nhiên, Я tổng Мhi phí th i gian luв n m ng thì l i
Мó l i h n.

73
Luận án Tiến sĩ Kỹ thuật 2013

Bảng 2.2: Tập hồ sơ mẫu đầu vào {0 1 2 3 4 5 6 7 8 9}

T B c h c c đ nh 0.2 B c h c gi m d n t 1 B cv t khe

1 Thất b i Thất b i Thất b i

2 7902 (b М lặp) 3634 (b М lặp) 23 (b М lặp)

3 7210 2416 50

4 12370 2908 34

5 Thất b i 2748 31

6 9700 3169 42

7 Thất b i 2315 43

8 10073 2375 33

9 11465 Thất b i 34

10 8410 2820 33

11 10330 2618 32

12 Thất b i 2327 39

13 Thất b i 3238 44

14 9652 2653 Thất b i

15 11980 2652 31

16 12607 Thất b i 53

17 Thất b i 2792 31

18 8165 2322 42

19 10130 2913 42

20 Thất b i 2689 33

T n TB: 10000 b c l p, 7 Trung bình: 2740 b c TB: 37 b c l p, 2


gk t th t b i/20 l p, 3 th t b i/20 th t b i/20

74
Luận án Tiến sĩ Kỹ thuật 2013

Bảng 2.3: Tập hồ sơ mẫu đầu vào { a b c d e g h i k l}

T B c h c c đ nh 0.2 B c h c gi m d n t 1 B cv t khe

1 11212 (b М lặp) Thất b i 41 (b М lặp)

2 Thất b i 3735 (b М lặp) 28

3 8211 2436 49

4 11365 2868 34

5 8871 2848 35

6 Thất b i Thất b i 26

7 Thất b i 2341 33

8 11120 2165 36

9 10129 2769 35

10 8860 3220 32

11 9816 2210 32

12 Thất b i 2727 37

13 9712 3018 Thất b i

14 Thất b i 2571 44

15 10010 2541 37

16 11368 3186 33

17 Thất b i 2146 39

18 10923 Thất b i 32

19 Thất b i 2923 45

20 Thất b i 2678 31

T n TB: 10133 b c l p, 8 Trung bình: 2728 b c TB: 36 b c l p, 1


gk t th t b i/20 l p, 3 th t b i/20 th t b i/20

75
Luận án Tiến sĩ Kỹ thuật 2013

2.4. K t lu n ch ng 2
Trong Мh ng 2, tпМ giả đƣ gi i thi u Я m t thu t toпn m i đ tìm b М h М,
phù h p Мho mặt lỗi Мó Н ng khe lƠ thu t toпn Я t khe. Đ Мó th tìm đ М l i giải
t i u Мho bƠi toпn s Н ng m ng n ron Мó mặt lỗi Н ng lòng khe, tпМ giả đƣ đ a ra
mô hình k t h p thu t toпn Я t khe ЯƠ lan truв n ng М. Đó lƠ М s đ МƠi đặt
thƠnh Мông th t М huấn luв n m ng theo ph ng phпp Я t khe k t h p Я i kỹ
thu t lan truв n ng М đi tìm b tr ng s t i u. Đ Мh ng minh Мho đ бuất nƠв tпМ
giả đƣ đ a ra m t Яí Н Я nh n Н ng Мh Яi t taв ЯƠ Мó sự so sпnh gi a b Мh М
Я t khe Я i МпМ b М h М khпМ th ng haв đ М s Н ng trong Toolboб М a
Matlab. CпМ k t quả mô ph ng Мho thấв sự đúng đắn М a đ бuất nƠв.

76
Luận án Tiến sĩ Kỹ thuật 2013

CH NG 3: Đ XU T MỌ HÌNH K T H P GI I THU T DI TRUY N


VÀ THU T TOÁN V T KHE Đ C I TI N QUÁ TRÌNH H C C A
M NG N RON MLP Cị M T L I Đ C BI T

Tóm tắt: Trong chương này, tác giả sẽ trình bày về việc ng dụng giải thuật di
truyền để tìm bộ trọng số khởi tạo ban đầu và vấn đề cài đặt thuật toán này kết hợp
với thuật toán vượt khe nhằm nâng cao khả năng và tốc độ hội tụ trong quá trình
luyện mạng nơron.

3.1. Đặt Яấn đ

3.2. Luв n m ng n ron k t h p thu t toпn Я t khe ЯƠ giải thu t Нi truв n

3.3. Áp Н ng mô hình k t h p giải thu t Нi truв n ЯƠ thu t toпn Я t khe


trong quп trình luв n m ng n ron ЯƠo bƠi toпn nh n Н ng

3.4. K t lu n Мh ng 3

3.1. Đ tv nđ

Trong quп trình luв n m ng n ron, hai в u t ảnh h ng m nh m đ n Яi М


tìm đ М b tr ng s t i u М a m ng lƠ b М h М ЯƠ ЯeМ-t kh i t o tr ng s ban
đầu. Trong МпМ nghiên М u nhằm Мải thi n thu t toпn, ng i ta th ng tìm МпМh thaв
đổi b М h М đ Мho phцp Мó th Я t qua nh ng МựМ tr đ a ph ng. Không Мó m t
giп tr b М h М бпМ đ nh nƠo Мho МпМ bƠi toпn khпМ nhau. V i mỗi bƠi toпn, b М
h М th ng đ М lựa Мh n bằng thựМ nghi m theo ph ng phпp th ЯƠ sai, hoặМ s
Мó b М h М phù h p Я i từng Н ng bƠi toпn riêng bi t. V i bƠi toпn mƠ mặt lỗi Мó
Н ng lòng khe, Мh ng 2 đƣ đ бuất Яi М s Н ng thu t toпn Я t khe đ tìm b М
h М phù h p Я i mặt lỗi Н ng nƠв. Còn m t nhơn t khпМ lƠ b tr ng s kh i t o ban
đầu, nó Мó ảnh h ng М th th nƠo đ n k t quả М a luв n m ng n ron, đặМ bi t khi
mặt lỗi Мó Н ng lòng khe. Đ đпnh giп nhơn t nƠв, tпМ giả th đi luв n m ng n ron
trong m t s tr ng h p sau:

77
Luận án Tiến sĩ Kỹ thuật 2013

3.1.1. Kh o sát đ h i t c a quá trình luy n m ng n ron bằng kỹ thu t lan


truy n ng c nguyên th y v i các b kh i t o tr ng s ban đ u khác
nhau.

Kỹ thu t lan truв n ng М đơв lƠ lan truв n ng М lỗi trong m ng, hƠm lỗi
th ng Мh n lƠ hƠm mƠ nó t i thi u hoп đ М sai s trung bình bình ph ng. CпМh
th М hi u Мhỉnh tr ng s М a thu t toпn lƠ ng Мh ng Я i ЯeМt GraНient М a hƠm
sai s trung bình bình ph ng. Đ i Я i m ng n ron nhi u l p thì hƠm sai s trung
bình bình ph ng th ng ph М t p ЯƠ Мó nhi u МựМ tr М М b . CпМ giп tr kh i t o
М a МпМ tr ng s ảnh h ng rất m nh đ n l i giải Мu i Мùng. N u МпМ tr ng s đ М
kh i t o Я i giп tr l n thì ngaв từ đầu tổng tín hi u ЯƠo đƣ Мó giп tr tuв t đ i l n ЯƠ
lƠm Мho đầu ra М a m ng Мhỉ đ t 2 giп tr 0 ЯƠ 1. Đi u nƠв lƠm Мho h th ng s b
tắМ t i m t МựМ ti u М М b hoặМ t i m t Яùng bằng phẳng nƠo đó gần ngaв đi m
бuất phпt. CпМ tr ng s nƠв th ng đ М kh i t o bằng nh ng s ng u nhiên nh .
Theo nghiên М u М a Wessels ЯƠ BarnarН [42], thì Яi М kh i t o МпМ tr ng s liên
3 ki 
 
k t wij nên trong ph m Яi ki ,3 v i ki lƠ s liên k t М a МпМ n ron j t i

n ron i.

Hi n naв, b Мông М Neural Netаork Toolboб đƣ tíМh h p sẵn m t s thu t


toпn luв n m ng ЯƠ b М h М khпМ nhau đ Мhúng ta lựa Мh n; Мòn b tr ng s ban
đầu ph М Я Мho quп trình luв n m ng đ u lấв ng u nhiên trong m t khoảng nƠo đó.

Đ thấв rõ đ М sự ảnh h ng М a ЯeМ-t kh i t o tr ng s ban đầu đ n đ


h i t М a quп trình luв n m ng n ron ta бцt hai Яí Н sau:

a). Xét hệ thống phi tuyến tĩnh cần nhận dạng có mô hình toán học như sau:

y(u) = 0.6 sin(.u) + 0.3 sin(3..u) + 0.1 sin (5..u)

Chúng ta phпt tín hi u u(k) = sin(2.k/250) ЯƠo h th ng trên ЯƠ đo tín hi u


ra в(k). S Н ng b m u (u(k),в(k)) nƠв đ luв n m ng.

M ng n ron đ М Нùng lƠ m ng truв n thẳng 3 l p, Мó m t đầu ЯƠo, m t đầu


ra. L p nh p Мó 8 neural, l p ẩn Мó 8 neural, l p ra Мó 1 neural, hƠm kíМh ho t М a
Мả 3 l p đ u lƠ hƠm tansig. Sai s Мho phцp đ luв n m ng thƠnh Мông lƠ 10 -5. Ta s
Н ng kỹ thu t lan truв n ng МЯ ib М h М М đ nh bằng 0.2.
78
Luận án Tiến sĩ Kỹ thuật 2013

G i IW1,1 lƠ ma tr n tr ng s l p nh p, ma tr n Мó 1 hƠng 8 М t. G i LW2,1 là


ma tr n tr ng s l p ẩn, ma tr n Мó 8 hƠng, 8 М t. G i LW3,2 lƠ ma tr n tr ng s l p
ra, ma tr n Мó 8 hƠng, 1 М t. V i mỗi lần luв n m ng khпМ nhau t М Я i b tr ng s
ban đầu [IW1,1, LW2,1, LW3,2] lựa Мh n ng u nhiên khпМ nhau Мhúng ta l i thu đ М
m t b tr ng s t i u khпМ nhau, s kỷ nguвên luв n m ng (KNLM) Мũng khпМ
nhau. C th :

Bảng 3.1

TT KNLM Sai s (10-6) TT KNLM Sai s (10-6)


1 66 9.8065 8 24 9.9681

2 11 5.8464 9 45 9.1789

3 28 9.8923 10 62 9.5743

4 22 9.4931 11 55 9.2574
5 46 9.9981 12 37 9.6842

6 29 9.9062 13 29 7.1969

7 207 9.5439 14 60 9.2586

Căn М ЯƠo bảng 3.1 ta thấв Я i m t thu t toпn không đổi, Мấu trúМ, tham s
М a m ng Мh n nh nhau thì k t quả М a quп trình luв n m ng ph thu М ЯƠo b
kh i t o tr ng s ban đầu.

b). Xét hệ thống động học phi tuyến cần nhận dạng có mô hình toán học như
sau:

y = 0.00005 - 0.05y - 0.0005u ậ 0.5uy

Chúng ta phпt m t tín hi u ng u nhiên Мó gi i h n Я biên đ từ 0 đ n


2L/seМ Я i th i gian lấв m u lƠ 0.1s ЯƠo h th ng trên ЯƠ đo tín hi u ra. Lấв t p
m u ЯƠo, ra nƠв đ luв n m ng, Tổng th i gian đặt lƠ 100 s, do đó s t o ra đ М
1000 b m u ЯƠo ra Н i Н ng m t mảng Н li u.

Cấu trúМ m ng n ron đ М Мh n nh sau:

M ng g m Мó hai l p: L p vào có 4 n ron, hƠm kíМh ho t lƠ hƠm tansig; l p


ra có 1 n ron, hƠm kíМh ho t lƠ hƠm purelin.
79
Luận án Tiến sĩ Kỹ thuật 2013

IW1,1 lƠ ma tr n tr ng s l p nh p, ma tr n Мó 1 hƠng 4 М t.

LW2,1 lƠ ma tr n tr ng s l p ẩn, ma tr n Мó 4 hƠng, 1 М t.

LW1,2 lƠ ma tr n tr ng s m Мh Яòng phản h i từ đầu ra tr l i đầu ЯƠo, ma


tr n Мó 1 hƠng, 4 М t. Ta s Н ng kỹ thu t lan truв n ng МЯ ib М h М М đ nh
bằng 0.2. Sai s Мho phцp đ luв n m ng thƠnh Мông lƠ 10-12.

V i mỗi lần luв n m ng khпМ nhau t М Я i b tr ng s ban đầu [IW1,1,


LW2,1, LW1,2] lựa Мh n ng u nhiên khпМ nhau Мhúng ta l i thu đ М m t b tr ng s
t i u khпМ nhau, s kỷ nguвên luв n m ng (KNLM) Мũng khпМ nhau. C th :

Bảng 3.2:

TT KNLM Sai s (10-12) TT KNLM Sai s (10-12)

1 210 9.2147 8 301 8.9754

2 151 9.6782 9 229 9.2367

3 234 8.6745 10 234 9.2476

4 193 9.3657 11 167 9.9874

5 271 9.2486 12 205 9.5789

6 146 7.6842 13 212 9.3487

7 231 8.6575 14 203 9.3578

Căn М ЯƠo bảng 3.2 ta thấв Я i m t thu t toпn không đổi, Мấu trúМ, tham s М a
m ng Мh n nh nhau thì k t quả М a quп trình luв n m ng ph thu М ЯƠo b kh i
t o tr ng s ban đầu.

3.1.2. Kh o sát đ h i t c a quá trình luy n m ng n ron có m t l i đ c bi t


bằng kỹ thu t lan truy n ng c k t h p thu t toán v t khe v i các b
kh i t o tr ng s ban đ u khác nhau.

Khi s Н ng m ng n ron đ бấp бỉ m t s đ i t ng phi tuв n, Мó th Н n


đ n mặt lỗi khi luв n m ng Мó Н ng lòng khe [27], [28]. V i nh ng đ i t ng ph М
t p nƠв khi бấp бỉ ta Мần Мh n m ng n ron Мó nhi u l p ЯƠ đặМ bi t Мần Мh n hƠm

80
Luận án Tiến sĩ Kỹ thuật 2013

kíМh ho t lƠ hƠm sigmoiН đ Н sinh ra mặt lỗi Мó nhi u МựМ tr М М b ЯƠ Мó Н ng


lòng khe.

Мh ng 1, tпМ giả đƣ Мh ng minh đ М rằng khi s Н ng b Мông М Neural


Network Toolbox đ luв n m ng n ron Мó mặt lỗi đặМ bi t nƠв thì m ng h i t rất
Мh m th m Мhí không h i t . Trong Мh ng 2, tпМ giả đƣ đ бuất Я thu t toпn Я t
khe ЯƠ ph ng phпp tính b Мh МЯ t khe đ М p nh t tr ng s М a m ng n ron.
Có th nh n thấв rằng b Мh МЯ t khe u Яi t h n hẳn МпМ ph ng phпp М p nh t
b М h М khпМ nh b М h М М đ nh, b М h М giảm Нần qua bảng th ng kê k t quả
luв n m ng. C th s lần luв n m ng thất b i ЯƠ s kỷ nguвên luв n m ng giảm đi
đпng k . Trong phần nƠв, Я n s Н ng kỹ thu t lan truв n ng М k t h p Я i thu t
toпn Я t khe đ luв n m ng n ron Мó mặt lỗi Н ng lòng khe, tпМ giả s đi đпnh giп
sự ảnh h ng М a b kh i t o tr ng s ban đầu đ n Яấn đ tìm nghi m t i u toƠn
М М.

Đ minh h a, nhóm tпМ giả Я n đ бuất Мấu trúМ m ng n ron đ nh n Н ng


МпМ Мh s : 0, 1, 2, ...,9. Trong đó hƠm sigmoiН đ М s Н ng Я i m М đíМh sinh ra
mặt sai s Мó Н ng lòng khe.

Đ bi u Нi n МпМ Мh s , Мhúng ta s Н ng m t ma tr n 57 =35 đ mƣ hóa


Мho mỗi ký tự. T ng ng Я i mỗi ЯeМt đầu ЯƠo б lƠ m t ЯeМt Мó kíМh th М
351, Я i МпМ thƠnh phần nh n МпМ giп tr hoặМ 0 hoặМ 1. Nh Я в, ta Мó th lựa
ch n l p n ron đầu ЯƠo Мó 35 n ron. Đ phơn bi t đ Мm i ký tự, Мhúng ta Мho
l p đầu ra М a m ng lƠ 10 n ron. Đ i Я i l p ẩn ta Мh n 5 n ron, ta có Мấu trúМ
m ng nh hình1.5.

HƠm f đ М Мh n lƠ hƠm sigmoiН Яì thựМ t hƠm nƠв Мũng haв đ М Нùng


Мho m ng n ron nhi u l p ЯƠ h n n a Нo đặМ đi m М a hƠm sigmoiН rất Н sinh ra
mặt sai s Мó Н ng lòng khe hẹp. Ph ng trình М a hƠm sigmoiН
là: f  1 / (1  exp(-x))

HƠm sai s s Н ng Мho luв n m ng: J  0.5*  z  t  Я i z lƠ đầu ra М a


2

n ron l p ra ЯƠ t lƠ giп tr đíМh mong mu n.

81
Luận án Tiến sĩ Kỹ thuật 2013

B tr ng s kh i t o ban đầu Я i m ng 3 l p g m Мó ma tr n tr ng s l p ẩn
Мó kíМh th М lƠ 35×5 ЯƠ ma tr n tr ng s l p ra Мó kíМh th М lƠ 5×10 đ М lấв lƠ
m t s ng u nhiên бung quanh đi m 0.5 lƠ trung đi m М a hƠm kíМh ho t sigmoiН.
Sau khi l p trình ЯƠ Мho luв n m ng 14 lần ta Мó đ М bảng 3.3.

Bảng 3.3
TT KNLM TT KNLM
1 37 8 35
2 Thất b i 9 29

3 42 10 46
4 33 11 38

5 35 12 39

6 28 13 Thất b i
7 44 14 30

Căn М ЯƠo bảng 3.3 ta thấв Я i m t thu t toпn không đổi, Мấu trúМ, tham s
М a m ng Мh n nh nhau thì k t quả М a quп trình luв n m ng ph thu М ЯƠo b
kh i t o tr ng s ban đầu, th m Мhí Мòn Мó 2 lần luв n m ng thất b i trong tổng s
14 lần luв n m ng. Đi u đó đ М giải thíМh: Нo bản Мhất М a giải thu t h М lan
truв n ng М sai s lƠ ph ng phпp giảm đ l Мh graНient nên Яi М kh i t o giп tr
ban đầu М a b tr ng s МпМ giп tr nh ng u nhiên s lƠm Мho m ng h i t Я МпМ
giп tr МựМ ti u khпМ nhau. N u gặp maв thì m ng s h i t đ М Я giп tr МựМ ti u
tổng th , Мòn n u không m ng Мó th r i ЯƠo МựМ tr đ a ph ng ЯƠ không thoпt ra
đ М Н n đ n luв n m ng thất b i.

Nh Я в, tпМ giả đƣ đi phơn tíМh sự ảnh h ng М a ЯeМ-t kh i t o tr ng s


ban đầu trong quп trình luв n m ng n ron. Sự ảnh h ng đó đ М đпnh giá trong 3
Яí Н đặМ tr ng Мho Яi М бấp бỉ МпМ đ i t ng khпМ nhau: phi tuв n tĩnh, đ ng h М
phi tuв n ЯƠ phi tuв n đặМ bi t. Thông qua Яi М nghiên М u ЯƠ thựМ nghi m trên
mпв tính Мho ta thấв: V i МпМ mặt lỗi thông th ng Яi М kh i t o b tr ng s ban
đầu ng u nhiên trong m t khoảng nƠo đó Мhỉ ảnh h ng đ n th i gian luв n m ng;
Мòn Я i mặt lỗi đặМ bi t Мó nhi u МựМ tr ЯƠ Н ng lòng khe, nó Мòn Мó th lƠm Мho
82
Luận án Tiến sĩ Kỹ thuật 2013

quп trình luв n m ng thất b i Нo r i ЯƠo МựМ tr М М b Яì бuất phпt từ Яùng không
Мh a МựМ tr toƠn М М. Đơв lƠ m t k t lu n quan tr ng, lƠm ti n đ Мho Яi М đ бuất
ph ng phпp tính toпn b kh i t o tr ng s ban đầu thaв Мho Яi М kh i t o ng u
nhiên, từ đó tăng đ Мhính бпМ ЯƠ t М đ h i t М a quп trình luв n m ng n ron.

3.2. Đ xu t mô hình k t h p gi i thu t di truy n vƠ thu t toán v t


khe trong quá trình luy n m ng n ron

3.2.1. Đ t v n đ

Quп trình luв n m ng n ron thựМ Мhất lƠ giải bƠi toпn t i u nhằm М p nh t МпМ
tr ng s sao Мho hƠm lỗi đ t МựМ ti u, hoặМ nh h n m t giп tr Мho phцp nƠo đó.

Thu t toán hi n naв th ng đ М s Н ng trong quп trình luв n m ng n ron lƠ


thu t toпn graНien liên h p haв thu t toпn LeЯenberg - MarquarНt Я i kỹ thu t lan
truв n ng М ЯƠ Мòn Мó th g i lƠ kỹ thu t lan truв n ng М.

Kỹ thu t lan truв n ng М h i t đ n m t giải phпp mƠ nó t i thi u hoп đ М sai


s trung bình bình ph ng Яì МпМh th М hi u Мhỉnh tr ng s ЯƠ h s bias М a thu t
toпn lƠ ng Мh ng Я i ЯeМt GraНient М a hƠm sai s trung bình bình ph ng đ i
Я i tr ng s . Tuв nhiên, đ i Я i m ng MLP Мó mặt Мhất l ng Н ng lòng khe thì
hƠm sai s trung bình bình ph ng th ng ph М t p ЯƠ Мó nhi u МựМ tr М М b , Яì
th МпМ phцp lặp huấn luв n m ng Мó th Мhỉ đ t đ М đ n МựМ tr М М b М a hƠm
sai s trung bình bình ph ng mƠ không đ t đ n đ М МựМ tr tổng th . CпМ giп tr
kh i t o М a МпМ tr ng s ảnh h ng rất m nh đ n l i giải Мu i Мùng. CпМ tr ng s
nƠв th ng đ М kh i t o bằng nh ng s ng u nhiên nh . Vi М kh i t o tất Мả МпМ
tr ng s bằng nhau s lƠm Мho m ng h М không t t. N u МпМ tr ng s đ М kh i t o
Я i giп tr l n thì ngaв từ đầu tổng tín hi u ЯƠo đƣ Мó giп tr tuв t đ i l n ЯƠ lƠm Мho
hƠm sigmoiН Мhỉ đ t 2 giп tr 0 ЯƠ 1. Đi u nƠв lƠm Мho h th ng s b tắМ ngaв t i
m t МựМ ti u М М b hoặМ t i m t Яùng bằng phẳng nƠo đó gần ngaв t i đi m бuất
phпt. Giп tr kh i đ ng ban đầu М a МпМ tr ng s trên l p th l М a m ng s đ М
Мh n ng u nhiên nh trong khoảng [-1/n, 1/n], trong đó n lƠ s tr ng s n i t i l p l.
Do bản Мhất М a giải thu t h М lan truв n ng М sai s lƠ ph ng phпp giảm đ l Мh
graНient nên Яi М kh i đ ng МпМ giп tr ban đầu М a МпМ tr ng s МпМ giп tr nh ng u

83
Luận án Tiến sĩ Kỹ thuật 2013

nhiên s lƠm Мho m ng h i t Я МпМ giп tr МựМ ti u khпМ nhau. N u gặp maв thì
m ng s h i t đ М Я giп tr МựМ ti u tổng th .

Xu th hi n naв М a Мông ngh thông tin lƠ k t h p u đi m М a МпМ kỹ thu t


riêng lẻ. CпМ kỹ thu t m ng n ron, thu t giải Нi truв n, logiМ m , … đang đ Мk t
h p Я i nhau đ hình thƠnh Мông ngh tính toпn m m.

CпМ nghiên М u Я GA k t h p Я i ANN bắt đầu b i Montana anН DaЯis. Năm


1989 МпМ ông đƣ Мó bпo Мпo Я Яi М ng Н ng thƠnh Мông GA trong m ng ANN. H
đƣ Мh ng minh đ М rằng GA tìm đ М b tr ng s t i u t t h n BP trong m t s
tr ng h p. Từ đó đ n nƠв МпМ nghiên М u Я sự k t h p nƠв đƣ Мh ng minh đ М
tính u Яi t М a nó.

CпМ nghiên М u k t h p GA ЯƠ ANN (xem thêm trong [14]) g m:

- Dùng GA đ ti n б lý đầu ЯƠo Мho ANN:

+ Ch n Н li u (ph ng phпp bi u Нi n Н li u, rút g n Н li u) t i u khi


không Мó nhi u thông tin Я Н li u, …

+ Kh i t o b tr ng Мho ANN

- Dùng GA đ h u б lý đầu ra Мho m t hoặМ nhi u ANN: tìm b tr ng s tổng


h p k t quả t i u từ k t quả М a МпМ mô hình ANN thƠnh Яiên (đƣ huấn
luв n) trong ki n trúМ tổng h p giúp ra quв t đ nh, …

- GA Нùng trong МпМ mô đun đ М l p tпМ đ ng đ n k t quả М a ANN: thaв th


kỹ thu t lan truв n ng М.

- Dùng GA đ бпМ đ nh: ki n trúМ, МпМ tham s đi u khi n ANN, …

Đ so sпnh giải thu t Нi truв n ЯƠ lan truв n ng М sai s , ta s Н ng l i bƠi


toпn nh n Н ng Мh Яi t đƣ trình bƠв trong МпМ Мh ng tr М, Мh n tham s Мhung
Мho Мả hai ph ng phпp:

- M ng n ron s Н ng lƠ m ng m t l p ẩn

- S neural trong l p ẩn: 5

- Ng ng sai s Нừng lặp: 0.1 hoặМ quп 20000 Яòng lặp

84
Luận án Tiến sĩ Kỹ thuật 2013

Tham s М a thu t lan truв n ng М sai s :

-B М h М: 0.2

Tham s М a giải thu t Нi truв n:

-S l ng quần th : 20

- XпМ suất lai: 0.46

- XпМ suất đ t bi n: 0.1

Sau đơв lƠ bảng th ng kê s b М lặp đ m ng h i t Я i mỗi ph ng пn


trong 20 lần th nghi m khпМ nhau.

(-) : m ng không h i t (s lần lặp l n h n 20000)


Bảng 3.4: So sánh GA và BP với sai số là 0.1

TT GA BP TT GA BP
1 1356 - 12 865 1890

2 729 3156 13 - 2348


3 1042 2578 14 758 -

4 1783 3640 15 - 2647


5 - - 16 968 3378

6 879 - 17 1034 -
7 1102 2102 18 779 3018

8 - 2671 19 890 2781


9 891 - 20 904 2585

10 902 2470 TB: 4 TB: 6 thất

11 728 3018 thất b i b i

Ta thấв rằng giải thu t Нi truв n Мó khả năng đ t đ М вêu Мầu Я h i t (sai
s ≤ 0.1) t М tìm Яùng Мh a МựМ tr toƠn М М Н НƠng h n so Я i kỹ thu t lan truв n
ng М sai s . Haв nói МпМh khпМ kỹ thu t lan truв n ng М sai s Н r i ЯƠo Яùng

85
Luận án Tiến sĩ Kỹ thuật 2013

Мh a МựМ ti u М М b h n giải thu t Нi truв n. Trong 20 lần Мh в, GA Мhỉ Мó 4 lần


không tìm đ М МựМ tr toƠn М М trong khi đó BP lƠ 6 lần.
V n bƠi toпn trên ta thaв đổi ng ng sai s Нừng lặp lƠ 0.001 ta đ М bảng sau:

Bảng 3.5: So sánh GA và BP với sai số là 0.001

TT GA BP TT GA BP
1 - 8019 12 3012 -
2 - 9190 13 - 8601
3 3021 - 14 - 11032

4 - 8701 15 - 9963
5 - - 16 - 3378

6 2371 10923 17 - 9021


7 - 8971 18 -

8 - 9801 19 - -

9 - - 20 - 10914

10 - - TB: 15 thất b i TB 7 thất b i

11 2038 7781

Qua k t quả nƠв Мó th nh n thấв rằng Мhỉ rất ít tr ng h p GA đ t đ М giп


tr sai s mong mu n. K t h p k t quả trong bảng 3.4 và 3.5 ta Мó bảng so sпnh khả
năng h i t М a m ng n ron khi thaв đổi sai s Нừng lặp.
Bảng 3.6: So sánh GA và BP với sai số khác nhau

Sai s Нừng lặp S lần h i t trong 20 lần luв n m ng

GA BP

0.1 16 14

0.001 4 13

86
Luận án Tiến sĩ Kỹ thuật 2013

Nh n бцt 1: Nh М Мh tìm ki m trải r ng, ng u nghiên ЯƠ mang tính Мh n l М


tự nhiên nên: GA th ng tìm ra đ М Яùng Мh a МựМ tr toƠn М М, nh ng khó đ t
đ М МựМ tr toƠn М М. M t mặt ta mu n GA Нuв trì sự đa Н ng quần th (trải r ng
không gian tìm ki m) đ trпnh h i t s m đ n МựМ tr М М b ; mặt khпМ, khi “đã
khoanh vùng được cực trị toàn cục”, ta mu n GA thu hẹp Яùng tìm ki m đ “chỉ ra
được cực trị toàn cục”. M М tiêu th nhất th ng Н đ t đ М bằng МпМh Мh n hƠm
thíМh nghi ЯƠ ph ng phпp tпi t o quần th phù h p. Đ đ t đ М m М tiêu th hai
đòi h i Мhúng ta phải Мhia quп trình ti n hóa thƠnh hai giai đo n, trong giai đo n hai
ta phải Мhỉnh l i: МпМ toпn t lai, đ t bi n, tпi t o; ph ng phпp Мh n l М; đпnh giп
đ thíМh nghi; Мũng nh Мhỉnh s a l i МпМ tham s М a quп trình ti n hóa đ Мó th
đ n МựМ tr toƠn М М. Vi М thựМ thi m t mô hình nh th s rất ph М t p. Do đó, Мần
phải k t h p GA Я i МпМ ph ng phпp t i u М М b khпМ.

Nh n бцt 2: CпМ ph ng phпp h М trong ANN thựМ hi n Яi М “tìm ki m М М b ”


trong không gian tr ng s (Нựa trên thông tin Я đ o hƠm М a lỗi) nên Мó hai nh М
đi m. Th nhất b tr ng s thu đ М th ng không lƠ t i u toƠn М М. Th hai quп
trình h М Мó th không h i t hoặМ h i t rất Мh m. Do đó, Мần phải k t h p МпМ
ph ng phпp h М “mang tính cục bộ” М a ANN Я i МпМ thu t giải “mang tính toàn
cục” nh thu t giải Нi truв n.

Từ nh n бцt 1 ЯƠ 2, ta thấв rằng Мó th k t h p GA ЯƠ ANN nhằm nơng Мao hi u


quả М a ANN. GA s khoanh Яùng Мh a МựМ ti u toƠn М М М a hƠm lỗi, sau đó ANN
бuất phпt từ b tr ng s nƠв đ ti n đ n МựМ ti u toƠn М М.

Trong phần nƠв s trình bƠв Я giải thu t Нi truв n (GA) k t h p Я i thu t toпn
“Я t khe” đ Мh ngự quỹ đ o ЯƠ rút ngắn th i gian М a quп trình tìm ki m t i u
Я i mặt sai s ph М t p Н ng lòng khe.

3.2.2. Thu t toán

Có nhi u МпМh đ k t h p giải thu t Нi truв n ЯƠo m ng n ron nh ng МпМh


đ n giản ЯƠ khп hi u quả lƠ ta thựМ hi n lai ghцp hai giải thu t n i ti p nhau.

V i m t Мấu trúМ m ng Мho tr М, ta бuất phпt bằng giải thu t Нi truв n, đi


tìm t p МпМ tr ng s t t nhất đ i Я i m ng. M t quần th N Мhuỗi đ М kh i t o

87
Luận án Tiến sĩ Kỹ thuật 2013

ng u nhiên. Mỗi Мhuỗi lƠ m t bản mƣ hoп М a m t t p tr ng s М a m ng. Sau G th


h ti n hoп, 5% МпМ Мп th t t nhất trong G th h s đ М l u gi l i. CпМ Мп th nƠв
sau đó s đ М giải mƣ ЯƠ đ М đ a ЯƠo m ng n ron бơв nên МпМ mô hình đ h М.
Sau quп trình h М, t p tr ng s nƠo Мho k t quả Нự bпo t t nhất s đ М gi l i lƠm
thông s М a m ng n ron Мho Яi М Нự bпo đó.

1. Kh i t o ng u nhiên t o m t quần th ban đầu P 0  (a10 , a20 ,...., a0 )

2. Tính toпn giп tr thíМh nghi f ( ait ) М a mỗi nhi m sắМ th ait trong quần th

P t hi n t i.

3. Căn М ЯƠo giп tr thíМh nghi t o ra МпМ nhi m sắМ th m i bằng МпМh Мh n
l М МпМ nhi m sắМ th Мha mẹ, пp Н ng МпМ thu t toпn lai t o ЯƠ đ t bi n.

4. Lo i b nhi m sắМ th Мó đ thíМh nghi kцm đ t o Мhỗ Мho quần th m i.

5. Tính toпn МпМ giп tr thíМh nghi М a МпМ nhi m sắМ th m i f (ai't ) chèn vào
quần th .

6. Tăng s l ng các th h n u Мh a đ t đ n đi u ki n k t thúМ và lặp l i từ


b М 3. Khi đ t đ n đi u ki n k t thúМ thì Нừng l i ЯƠ đ a ra nhi m sắМ th t t nhất.

CпМ phцp toпn Нi truв n s Н ng trong МпМ thựМ nghi m đ М trình bƠв nh sau:

Khởi tạo quần thể:

Quп trình nƠв t o ra ng u nhiên m t b  gen (  lƠ kíМh th М М a quần th ),


mƣ hóa МпМ gen theo s thựМ ta đ М đ НƠi nhi m sắМ th lƠ L, t p h p  nhi m sắМ
th nƠв s t o thƠnh m t quần th ban đầu.

Hàm thích nghi:

HƠm thíМh nghi đ М s Н ng đơв Мó Н ng nh sau:

TSSE  f    tij  zij 


s m
(3.1)
i 1 j 1

Trong đó s lƠ tổng s МпМ m u h М, m lƠ s l ng МпМ n ron l p ra, G lƠ tổng


bình ph ng lỗi М a S m u ЯƠ zij lƠ đầu ra М a m ng n ron.
88
Luận án Tiến sĩ Kỹ thuật 2013

Chọn lọc

CпМ giп tr thíМh nghi đ М tính toпn và thựМ hi n phép Мh n l М bằng ph ng


pháp lựa Мh n bánh xe roulette. K t quả lƠ МпМ Мп th Я i đ thíМh nghi Мao đ М
Мh n ЯƠo th h k ti p М a quần th .

Lai tạo

Phцp lai t o k t h p МпМ đặМ đi m Мó trong Мп th Мha mẹ hình thƠnh nên Мп th


Мon bằng МпМh ph i ghцp МпМ đo n t ng ng từ МпМ th Мha mẹ. V trí lai t o đ М
lựa Мh n tùв theo đ thíМh nghi trong mỗi th h theo ph ng trình sau:

Cr  ROUND[Ffit (i, j )  L]  [0.....L] (3.2)

V i ROUND(.) lƠ hƠm бпМ đ nh s nguвên gần nhất th a mƣn. N u Я trí lai t o


МƠng l n МпМ th Мon s Мh a nhi u đặМ đi m trong Мп th mẹ.

Đột biến

Đ trпnh r i ЯƠo МпМ đi m t i u М М b , МпМ Мп th đ М thaв đổi m t МпМh ng u


nhiên Я i Я trí đ t bi n Mr nh sau:

M r  ROUND[( L  Cr )  Mb / L]  0...Mb  (3.3)

V i Mb lƠ gi i h n trên М a Я trí đ t bi n. Theo th i gian, đ thíМh nghi s Нần


tăng ЯƠ МпМ phцp lai t o đ t bi n Мũng đ М thựМ hi n. Quп trình ti n hóa s đ c
thựМ hi n Мho đ n khi đ t đ n đ thíМh nghi mong mu n.

V i Яi М lai ghцp nƠв, giải thu t lan truв n ng М sai s l М b đi m t s


b М sau:

- Không kh i t o МпМ giп tr tr ng s ban đầu Яì t p tr ng s đƣ đ М lấв từ


k t quả М a giải thu t Нi truв n.

- ThƠnh phần quпn tính trong МпМ ph ng trình hi u Мhỉnh tr ng s lƠ không


Мần thi t Яì t p tr ng s бuất phпt đƣ khп gần l i giải; tпМ Н ng Мh ng Нao đ ng ЯƠ
thaв đổi đ t ng t МпМ tr ng s theo h ng khпМ Я i h ng М a l i giải tr nên không
Мần thi t.

89
Luận án Tiến sĩ Kỹ thuật 2013

Hình 3.1: Sơ đồ thuật toán kết hợp giải thuật vượt khe và di truyền cho
luyện mạng MP
Thu t toпn k t h p giải thu t Я t khe ЯƠ giải thu t Нi truв n Мho m ng MLP
đ М đ бuất trong hình 3.1. Nó bao g m hai giai đo n luв n m ng. Giai đo n đầu
tiên s Н ng thu t toпn Нi truв n Я i b М truв n thẳng nhằm đẩв nhanh toƠn b
quá trình luв n m ng. Thu t toпn Нi truв n thựМ hi n tìm ki m toƠn М М và tìm ki m
t i u gần đi m ban đầu (tr ng l ng vec-t ) cho giai đo n th hai. Trong đó, mỗi
nhi m sắМ th đ М s Н ng đ mã hóa các tr ng s М a m ng n ron. Hàm thích
nghi (hàm m М tiêu) Мho МпМ thu t toán Нi truв n đ М бпМ đ nh lƠ tổng bình ph ng
lỗi (TSSE) М a m ng n ron t ng ng. Do đó, bài toán s tr thƠnh t i u hóa
không gi i h n nhằm tìm m t t p h p МпМ bi n quв t đ nh giảm thi u hƠm m М tiêu.
Trong giai đo n th 2 s s Н ng kỹ thu t lan truв n ng М Я i МпМ b Мh Мđ М
thaв đổi theo thu t toпn Я t khe đƣ đ М đ бuất hình 2.4.

90
Luận án Tiến sĩ Kỹ thuật 2013

3.3. Áp d ng mô hình k t h p gi i thu t di truy n vƠ thu t toán v t


khe trong quá trình luy n m ng n ron vƠo bƠi toán nh n d ng

Tr l i Яí Н Я nh n Н ng Мh Яi t taв 0,1,2,… 9.

Vi М МƠi đặt thu t toпn trên Matlab đ М ti n hƠnh nh sau:

/* Giai đo n 1*/

Kh i t o МпМ nhi m sắМ th m t МпМh ng u nhiên Мho th


h hi n t i, kh i t o МпМ tham s lƠm Яi М ЯƠ đặt nhi m sắМ th
đầu tiên lƠ nhi m sắМ th t t nhất best_chromosome.

a- Lặp từ i=1 đ n kíМh th М quần th , thựМ hi n Мông


Яi М sau:

- Kh i t o sub_total_fitness bằng 0 ЯƠ
sub_best_chromosome lƠ rỗng

b- Lặp từ j=1 đ n đ НƠi М a nhi m sắМ th , thựМ hi n МпМ Мông Яi М sau:

- ThựМ hi n th t М truв n thẳng Мho m ng MLP (s Н ng hƠm ho t


hóa là sigmoid).

- Tính toán hàm m М tiêu (lỗi h th ng М a m ng n ron)

- Tính toпn lỗi tổng М ng total_fitness bằng МпМh tíМh lũв


sub_total_fitness

c- L u best_chromosome vào sub_best_chromosome

d- So sánh các sub_best_chromosome Я i nhau ЯƠ đặt sub_best_chromosome


l n nhất lƠ best_chromosome.

e- Lặp từ i=0 đ n kíМh th М quần th /2, thựМ hi n МпМ th t М sau:

- Kh i t o sub_total_fitness bằng 0 ЯƠ sub_best_chromosome lƠ rỗng

- Lặp từ j=1 t i đ НƠi nhi m sắМ th , thựМ hi n МпМ Мông Яi М sau:

* Ch n МпМ nhi m sắМ th Мha mẹ s Н ng ph ng phпp lựa Мh n theo


bánh xe roulette

91
Luận án Tiến sĩ Kỹ thuật 2013

* Áp Н ng МпМ phцp lai t o ЯƠ đ t bi n

- Lặp từ k=1 đ n đ НƠi nhi m sắМ th , thựМ hi n МпМ Мông Яi М sau:

* ThựМ hi n th t М truв n thẳng Мho m ng MLP

* Tính toпn МпМ giп tr hƠm m М tiêu Мho МпМ nhi m sắМ th Мha mẹ.

- Tính toán sub_total_fitness bằng МпМh tíМh lũв giп tr hƠm m М tiêu
М a mỗi nhi m sắМ th .

- L u best_chromosome vào sub_best_chromosome

g- Thaв th th h Мũ bằng th h m i n u th a mƣn đi u ki n Нừng.

/* Giai đo n 2 */

- Đặt best_chromosome lƠ ЯцМ t tr ng s kh i t o, thi t l p Мấu trúМ m ng


n ron MLP.

- Tính toпn đầu ra thựМ t М a m ng MLP truв n thẳng.

- Tính toпn lỗi gi a đầu ra thựМ t ЯƠ đầu ra mong mu n.

- C p nh t МпМ tr ng s bằng kỹ thu t lan truв n ng М, М p nh t МпМ h s


h М bằng thu t toпn Я t khe.

END

Các k t qu thực nghi m khi luy n m ng MLP k t h p gi i thu t v t khe vƠ


di truy n.

M ng MLP đ М luв n Я i b МпМ ký tự m u Мh Я i kíМh th М7б5đ М


trình bƠв trên. CпМ giп tr ban đầu nh s đầu ЯƠo (35), s l ng l p ẩn (1), s
n ron l p ẩn (5), МпМ kỹ thu t luв n m ng khпМ nhau, mƣ hóa đầu ЯƠo ЯƠ đầu ra
nhằm kh i t o МпМ tr ng s đƣ đ Мđ М p trên. Đ ki m tra khả năng М a m ng
Мho quп trình nh n Н ng Мh , Мhúng tôi đ бuất m t tham s đпnh giп Мhất l ng
М a m ng lƠ tỷ l lỗi nh n Н ng đ М tính theo Мông th М:

92
Luận án Tiến sĩ Kỹ thuật 2013

Các tham số luyện mạng:

KíМh th М quần th = 20 XпМ suất lai t o = 0.46 Mƣ hóa bằng s thựМ

Đ НƠi nhi m sắМ th = 225 Đ Мhính бпМ mong mu n = 90% S th h : 20

Lỗi h th ng mong mu n=0.06

Kết quả luyện mạng như sau:

S th h 1 5 10 15 20

Tổng thíМh nghi 9.5563 8.1638 6.1383 5.724 5.697

S Мhu kỳ luв n 5 10 15 20 33

Tỷ l lỗi 93.33% 60.33% 40.67% 37.33% 0%

TSSE 0.4956 0.3274 0.1387 0.0864 0.0589

Nh Я в, sau 20 th h đƣ đ t đ n вêu Мầu М a bƠi toпn. Giп tr thíМh nghi trung


bình đ t đ М lƠ 5.679. K t quả М a giai đo n 1 đ М s Н ng đ kh i t o tr ng s
Мho giai đo n 2. V i sự thaв đổi b М h М theo giải thu t Я t khe, sau 33 Мhu kỳ
luв n m ng lỗi h th ng đƣ đ t đ n m М đíМh 0.0589 ЯƠ đ Мhính бпМ М a quп trình
nh n Н ng lƠ 100%. Ho t đ ng М a m ng MLP Мó k t h p giải thu t Я t khe ЯƠ Нi
truв n Мho nh n Н ng Мh đ М th hi n trên hình 3.2

Hình 3.2: Hoạt động c a mạng MLP cải tiến

93
Luận án Tiến sĩ Kỹ thuật 2013

3.4. K t lu n ch ng 3
Trong Мh ng 3 Мhúng ta đƣ nghiên М u các ví d c th đ thấy sự ảnh
h ng c a vec-t kh i t o tr ng s ban đầu đ n k t quả c a quá trình luy n m ng.
Đ ng th i Мũng đi phơn tíМh đпnh giп u nh М đi m c a giải thu t di truy n và
thu t h c lan truy n ng c sai s trong bài toán nh n d ng. Giải thu t di truy n
đ c bi t đ n nh m t giải thu t tìm ki m dựa trên h c thuy t v ch n l c tự nhiên
ЯƠ nó Мho phцp ta đ t đ c t i cực tr toàn c М. Do đó, пp Н ng giải thu t di truy n
vào bài toán t i u hoп tr ng s m ng n ron nhơn t o là m t cách ti p c n ti m
năng.

Trong Мh ng nƠв, tпМ giả đ бuất Яi М s Н ng giải thu t Нi truв n k t h p


Я i thu t toпn “Я t khe” đ Мải ti n quп trình luв n m ng n ron Мó mặt lỗi đặМ bi t
ЯƠ minh h a thông qua ng Н ng nh n Н ng Мh . Có th đпnh giп đ М rằng ph ng
phпp nƠв đƣ tăng khả năng ЯƠ t М đ h i t М a m ng n ron Мó mặt lỗi Н ng “lòng
khe”.

94
Luận án Tiến sĩ Kỹ thuật 2013

K T LU N CHUNG VÀ Đ XU T H NG NGHIểN C U

 So sánh luy n m ng n ron có m t l i đ c bi t v i các ph ng pháp khác


nhau

Đ thấв đ М hi u quả М a Яi М пp Н ng giải thu t Нi truв n Я i thu t toпn Я t


khe trong quп trình luв n m ng n ron s Н ng kỹ thu t lan truв n ng М, tпМ giả đƣ
đ a ra m t Яí Н trong su t МпМ Мh ng М a lu n пn lƠ bƠi toпn nh n Н ng Мh Яi t
tay.

Мh ng 2, bƠi toпn nh n Н ng Мh Яi t đ М l p trình trên phần m m C++.


Trong Яí Н m ng n ron đ М luв n Я i 3 ph ng phпp có b М h М khпМ nhau lần
l t lƠ b М h М М đ nh, b М h М giảm Нần ЯƠ b Мh МЯ t khe.

V ib М h М М đ nh, ta thấв rằng s b М lặp Мần Мó đ m ng đ М huấn


luв n thƠnh Мông lƠ rất l n, trung bình lƠ 10000 Мhu kỳ, nguвên nhơn Мó th Нo
b М h М Мh n lƠ bц (0.2). Tuв nhiên, n u th Мh n b М h М l n h n (0.3) thì k t
quả lƠ s lần luв n m ng thất b i nhi u h n. Nh trong bảng 2.2 th ng kê thì đƣ bảв
lần thất b i trong tổng s 20 lần luв n m ng Я i b М h М lƠ 0.2.

V ib М h М tính theo Мông th М (2.20) thì ba lần thất b i, s b М lặp đ


luв n m ng thƠnh Мông khп ổn đinh, tuв nhiên Мhúng ta Мũng thấв rằng, theo bảng
2.2 đƣ th ng kê thì Я i b М h М tính theo nguвên lý Я t khe, t М đ h i t Мao h n
Я i trung bình 37 b М lặp ta đƣ luв n m ng бong, s lần thất b i khi luв n m ng
Мũng đ М giảm đi.

Мh ng 1 ЯƠ Мh ng 3 bƠi toпn nh n Н ng Мh Яi t đ М l p trình trên Matlab.


Trong Мh ng 1 b Мông М Neural Network Toolboб đ М s Н ng đ luв n m ng.

Các tham số luyện mạng:

KíМh th М ký tự = 5 б 7 S đầu ra = 10 S đầu ЯƠo = 35

S n ron l p ẩn = 5 Đ Мhính бпМ mong mu n = 90% Tỷ l h М: 0.6

Lỗi h th ng mong mu n=0.06

95
Luận án Tiến sĩ Kỹ thuật 2013

Kết quả luyện mạng như sau:

S Мhu kỳ luв n 20 60 100 130 200

Tỷ l lỗi 93.33% 60.33% 40.67% 37.33% 0%

TSSE 0.8136 0.6848 0.2834 0.2823 0.06

Trong Мh ng 3, m ng n ron đ М luв n Я i sự k t h p М a thu t toпn Я t khe


ЯƠ giải thu t Нi truв n

Các tham số luyện mạng:

KíМh th М quần th = 20 XпМ suất lai t o = 0.46 Mƣ hóa bằng s thựМ

Đ НƠi nhi m sắМ th = 225 Đ Мhính бпМ mong mu n = 90% S th h : 20

Lỗi h th ng mong mu n=0.06

Kết quả luyện mạng như sau:

S th h 1 5 10 15 20

Tổng thíМh nghi 9.5563 8.1638 6.1383 5.724 5.697

S Мhu kỳ luв n 5 10 15 20 33

Tỷ l lỗi 93.33% 60.33% 40.67% 37.33% 0%

TSSE 0.4956 0.3274 0.1387 0.0864 0.0589

Nh Я в, lỗi h th ng test 1 khi s Н ng luв n m ng MLP bằng giải thu t BG


thuần túв lƠ 0.06 sau 200 Мhu kỳ luв n m ng. Đ i Я i test 2, sau 20 th h đƣ đ t
đ n вêu Мầu М a bƠi toпn. Giп tr thíМh nghi trung bình đ t đ М lƠ 5.679. K t quả
М a giai đo n 1 đ М s Н ng đ kh i t o tr ng s Мho giai đo n 2. V i sự thaв đổi
b М h М theo giải thu t Я t khe, sau 33 Мhu kỳ luв n m ng lỗi h th ng đƣ đ t
đ n m М đíМh 0.0589 ЯƠ đ Мhính бпМ М a quп trình nh n Н ng lƠ 100%. Ho t đ ng
М a m ng MLP thuần túв ЯƠ m ng MLP Мó k t h p giải thu t Я t khe ЯƠ Нi truв n
Мho nh n Н ng Мh đ М th hi n trên hình a

96
Luận án Tiến sĩ Kỹ thuật 2013

Hình a: So sánh hoạt động c a mạng MLP thuần túy và MLP cải tiến
Qua Яi М nghiên М u ЯƠ thựМ nghi m trên mпв tính Мho ta thấв: Я i nh ng Мấu
trúМ m ng n ron mƠ mặt lỗi Мó Н ng lòng khe, Я n s Н ng kỹ thu t lan truв n
ng М nh ng Яi М пp Н ng giải thu t Нi truв n k t h p Я i thu t toпn “Я t khe” đ
luв n m ng s Мho ta đ Мhính бпМ ЯƠ t М đ h i t nhanh h n nhi u so Я i ph ng
pháp gradient.

K t quả nghiên М u nƠв đ М giải thíМh nh sau:

- K t quả luв n m ng n ron ph thu М rất l n ЯƠo giп tr ban đầu М a vec-t
tr ng s . Vi М s Н ng giải thu t Нi truв n thựМ hi n quп trình tìm ki m toƠn
М М Мho phцp Мó đ М vec-t tr ng s ban đầu t t Мho giai đo n sau М a quп
trình luв n m ng.

- Khi mặt lỗi đặМ bi t Мó Н ng lòng khe, n u luв n m ng bằng thu t toпn
graНien liên h p haв thu t toпn LeЯenberg ậ Marquardt s Мh m h i t ЯƠ
gặp phải Яấn đ МựМ tr đ a ph ng. Thu t toпn “Я t khe” nhằm tìm ki m
МпМ b М h М t i u trong giai đo n 2 М a quп trình luв n m ng nên đƣ khắМ
ph М МпМ nh М đi m nƠв ЯƠ Нo đó lƠm tăng t М đ h i t Мũng nh đ Мhính
бпМ М a quп trình luв n m ng.

Vi М s Н ng giải thu t Нi truв n k t h p Я i thu t toпn “Я t khe” Мó th ng


Н ng đ luв n m t s Мấu trúМ m ng n ron mƠ Мó mặt lỗi đặМ bi t khпМ. Vì Я в, k t
quả nghiên М u nƠв Мó th ng Н ng Мho nhi u bƠi toпn khпМ trong lĩnh ЯựМ Яi n
thông, đi u khi n, ЯƠ Мông ngh thông tin.

97
Luận án Tiến sĩ Kỹ thuật 2013

 Những đóng góp chính c a lu n án

1. Đ бuất m t Н ng thu t toпn Я t khe đ giải bƠi toпn t i u Я i hƠm m М


tiêu Мó Н ng đặМ bi t, Н ng lòng khe.

2. Phơn tíМh, đпnh giп đ h i t М a quп trình luв n m ng n ron ph thu М ЯƠo
b tr ng s kh i t o ban đầu ЯƠ b М h М.

3. Đ бuất mô hình k t h p giải thu t Нi truв n ЯƠ thu t toпn Я t khe trong quп
trình luв n m ng n ron Мó mặt lỗi đặМ bi t. Trong đó giải thu t Нi truв n Мó
Яai trò thựМ hi n quп trình tìm ki m toƠn М М đ Мó đ М ЯeМ-t tr ng s ban
đầu t t Мho giai đo n sau М a quп trình luв n m ng. Còn thu t toпn Я t khe
lƠ đ tìm b М h М t i u, lƠm tăng t М đ h i t Мũng nh đ Мhính бпМ М a
quп trình luв n m ng.

4. Đ ki m Мh ng k t quả nghiên М u, m t Яí Н Я nh n Н ng Мh Яi t taв đƣ


đ М đ a ra đ luв n m ng Я i nh ng ph ng phпp khпМ nhau.

 Đ xu t h ng nghiên c u

- Bổ sung ЯƠo Toolboб Matlab m t lựa Мh n tính b М h М m i: b Мh МЯ t


khe.

- ng Н ng thu t toпn nƠв Мho m t s bƠi toпn trong lĩnh ЯựМ đi u khi n, tự
đ ng hóa ЯƠ kỹ thu t đi n t .

- Phпt tri n mô hình k t h p Мho МпМ bƠi toпn t i u Мó hƠm m М tiêu ph М t p


khác.

98
Luận án Tiến sĩ Kỹ thuật 2013

CÁC CỌNG TRÌNH ĐÃ CỌNG B


1. ắReseach and Development of an adaptive control system for extremal
systems”; Cong Nguyen Huu, Dung Nguyen Tien, Nga Nguyen Thi Thanh,
The 2009 international forum on strategic technologies (IFOST 2009),
October 21-23, 2009, Ho Chi Minh city, Vietnam; page 235-238.
2. “Nghiên cứu ứng dụng mạng hồi quy thời gian liên tục trong nhận dạng
và điều khiển hệ thống xử lý nước thải”; Nguв n H u Công, Nguв n Th
Thanh Nga, Ph m Văn H ng; T p Мhí khoa h М Мông ngh Đ i h М Thпi
Nguвên s 12 t p 74 năm 2010; trang 4-8.
3. Research on the application of genetic algorithm combined with the “cleft-
overstep” algorithm for improving learning process of MLP neural
network with special error surface.; Cong Nguyen Huu, Nga Nguyen Thi
Thanh, Huв Nguвen Ph ng; The 7th International Conference on Natural
Computation (ICNC'11) and the 8th International Conference on Fuzzy
Systems and Knowledge Discovery (FSKD'11), 26-28 July, Shanghai, China,
2011; page 222-227.
4. Đ tƠi nghiên М u khoa h М Мấp b “Nghiên cứu thuật toán tìm nghiệm tối
ưu toàn cục trong quá trình luyện mạng nơron - ứng dụng để nhận dạng,
điều khiển đối tượng động học phi tuyến”. Ch nhi m đ tƠi: Nguв n Th
Thanh Nga, Nghi m thu Мhính th М năm 2011.

5. “Research to improve a learning algorithm of neural networks”; Cong


Nguyen Huu, Nga Nguyen Thi Thanh,Ngoc Van Dong; T p Мhí Khoa h М
Công ngh - Đ i h М Thпi Nguвên, thпng 5 năm 2012; page 53-58.
6. “The Influence of Initial Weights During Neural Network Training”;
Cong Nguyen Huu, Nga Nguyen Thi Thanh, Huy Vu Ngoc, Anh Bui Tuan;
T p Мhí Khoa h М Công ngh МпМ Tr ng Đ i h М Kỹ thu t, No.95 (2013);
page 18-25.
Trong tổng số 06 công trình tác giả đã công bố, tiêu biểu có: bài báo số 03 được
nằm trong danh sách ISI, và đề tài NCKH cấp bộ số 04 mà tác giả làm ch
nhiệm đề tài.

99
Luận án Tiến sĩ Kỹ thuật 2013

TÀI LI U THAM KH O
[1] Bùi Công C ng, Nguy n Doƣn Ph c. Hệ mờ, mạng nơron và ng dụng. Nhà
xuất bản Khoa h c và kỹ thu t. Hà N i 2001.
[2] Nguy n H u Công, ng dụng mạng nơron trong nhận dạng hệ thống phi tuyến,
T p chí Khoa h c và Công ngh Thái Nguyên, s 3 ậ 2007.

[3] Nguy n Quang Hoan. Một số mô hình và luật điều khiển mạng nơron dùng
trong điều khiển. H i ngh toàn qu c lần th nhất v Tự đ ng hóa. Hà N i, 20-
22/4/1994.

[4] Nguy n Th Vinh, Tìm nghi m bài toán t i u tĩnh theo thu t toпn Я t khe
bằng m ng n ron, Lu n Яăn th М sĩ, 2007
[5] Bùi Minh Trí, Tối ưu hóa, t p II, Nhà xuất bản Khoa h c và Kỹ thu t Hà n i,
2005.
[6] Lê Minh Trung. Giáo trình mạng nơron nhân tạo. Nhà xuất bản th ng kê. 1999.

[7] Nguy n M nh Tùng. Nghiên c u ng dụng mạng nơron nhân tạo cho các bài
toán đo lường. Lu n án ti n sĩ kỹ thu t, tr ng đ i h c Bách Khoa Hà N i,
2003.

[8] Nguy n Quang Hoan (1996), “M t s thu t h c c a m ng n ron”, Tuyển tập các
báo cáo khoa học Hội nghị toàn quốc lần th II về Tự động hóa, tr.220ậ229.

[9] Chu Văn Hỷ (1998), “Đi u khi n thích nghi phi tuy n trên М s m ng n ron
RBF”, Tuyển tập các báo cáo khoa học Hội nghị toàn quốc lần th III về Tự
động hóa, tr.238ậ241.

[10] Nguy n Doƣn Ph c, Phan Xuân Minh (2000), Điều khiển tối ưu và bền
vững, Nhà xuất bản Khoa h c và Kỹ thu t, Hà N i.

[11] Nguy n Doƣn Ph c, Lý thuyết điều khiển nâng cao, Nhà xuất bản Khoa h c
và Kỹ thu t Hà n i, 2005.
[12] Nguy n Đình ThúМ ЯƠ HoƠng Đ c Hải, Trí tuệ nhân tạo – Mạng nơ ron,
phương pháp và ng dụng, Nhà xuất bản Giáo d c, Hà n i.
[13] Đỗ Trung Hải (2008), “ ng dụng lý thuyết mờ và mạng nơron để điều khiển
hệ chuyển động”, lu n án ti n sỹ kỹ thu t, Đ i h c Bách Khoa Hà N i.

100
Luận án Tiến sĩ Kỹ thuật 2013

[14] Lê Hoàng Thái (2004), “Xây dựng phát triển ng dụng một số mô hình kết
hợp giữa mạng nơron (NN), logic mờ (FL) và thuật giải di truyền (GA)”, Lu n
án ti n sĩ tin h М, Đ i h c Khoa h c Tự nhiên Thành ph H Chí Minh, Vi t
Nam.

[15] Kolmogorov A. N. (1957). “On the representation of continuous functions of


many variables by superposition of continuous function of one variable and
addition”. Dokl, Akad, Nauk SSSR, 114, 953-956, Trans. Am. Math-Soc. 2(28),
55-59.

[16] Blum, E. K. and L. K. Li. “Approximation Theory and feedforward


networks", Neural Networks, 1991, Vol. 4, pp. 511-515.

[17] Cotter, N. E. “The Stone-Weierstrass theorem and its application to neural


networks", IEEE Transactions on Neural Networks, 1990, Vol. 1, pp. 290-295.

[18] Funahashi, K. “On the approximate realization of continuous mappings by


neural networks", Neural Networks, 1989, Vol. 2, pp. 183-192.

[19] Hornik, K. “Approximation capabilities of multilayer feedforward


networks", Neural Networks, 1991, Vol. 4, pp. 251-257.

[20] Hecht-Nielsen, R. 1987. “Kolmogorov’s mapping neural network existence


theorem”. Proceeding of the IEEE International Conference on Neural Networks
(pp. 11-13), New York, IEEE Press.

[21] Hecht-Nielsen, R. 1989. “Theory of backpropagation neural network”. In


Proceedings of the International Ioint Conference on Neural Networks, pp. I-
593-P605, Washington DC., june 1989. IEEE TAB Neural Network Committee.

[22] Lorentz, G. G. “Approximation of Functions”, Holt, Rinehart and Winston,


N.Y., 1966. Meyer, Y. Ondulettes et Operateurs, Hermann, Paris, 1990.

[23] Jeffrey T. Spooner, Mangredi Maggiore, Raúl Ordónez, Kelvin M. Passino


(2002), Stable Adaptive Control and Estimation for Nonlinear Systems: Neural
and Fuzzy Approximator Techniques, Wiley Interscience, USA.

101
Luận án Tiến sĩ Kỹ thuật 2013

[24] Jyh-Shing Roger Jang, Chuen-Tsai Sun, Eiji Mizutani (1996), Neuro-Fuzzy
and Soft Computing: A Computational Approach to Learning and Machine
Intelligence, Prentice Hall, USA.

[25] L. Davis, “Hand book of Genetic Algorithms”, Van Nostrand Reinhold, New
York, 1991.
[26] D.E. Goldberg, “Genetic Algorithms in Search, Optimization, and Machine
Learning”, Addison-Wesley Pub. Comp. Inc., Reading, MA, 1989
[27] Cong Huu Nguyen, Thanh Nga Thi Nguyen, Phuong Huy Nguyen, “
Research on the application of genetic algorithm combined with the “cleft-
overstep” algorithm for improving learning process of MLP neural network
with special error surface”, ICNC 2011,July, Shanghai China, 223-227.
[28] Nguyen Van Manh and Bui Minh Tri, “Method of “cleft-overstep” by
perpendicular direction for solving the unconstrained nonlinear optimization
problem”, Acta Mathematica Vietnamica, vol. 15, N02, 1990.
[29] Hagan, M.T., H.B. Demuth and M.H Beal, Neural Networks Design, PWS
Publishing Company, Boston, 1996.
[30] Simon Haykin, Neural Networks – A Comprehensive Foundation,
Macmillan, 1994.
[31] L.-Y. Bottou, Reconnaissance de la parole par reseaux multi-couches,
Proceedings of the International Workshop Neural Networks Application,
Neuro-Nimes'88, EC2 and Chambre de Commerce et d'Industrie de Nimes,
1988, pp. 197-217.
[32] T. Denoeux, R. Lengellé, Initializing back propagation networks with
prototypes, Neural Networks 6 (1993),pp 351-363.
[33] G.P. Drago, S. Ridella, Statistically controlled activation weight
initialization (SCAWI), IEEE Trans. Neural Networks 3 (1992) 627-631.
[34] J.-P. Martens, A stochastically motivated random initialization of pattern
classifying MLPs, Neural Process. Lett. 3 (1996) 23-29.
[35] T. Masters, Practical Neural Network Recipes in C++, Academic Press,
Boston, 1993.

102
Luận án Tiến sĩ Kỹ thuật 2013

[36] D. Nguyen, B. Widrow, Improving the learning speed of 2-layer neural


networks by choosing initial values of the adaptive weights, International Joint
Conference on Neural Networks, Vol. 3, San Diego, CA (1990) 21-26.
[37] S. Osowski, New approach to selection of initial values of weights in neural
function approximation, Electron. Lett. 29 (1993) 313-315.
[38] J.F. Shepanski, Fast learning in arti"cial neural systems: multilayer
perceptron training using optimal estimation, IEEE International Conference on
Neural Networks 1, IEEE Press, New York, 1988, pp. 465-472.
[39] H. Shimodaira, A weight value initialization method for improving learning
performance of the back propagation algorithm in neural networks, Proceedings
of the International Conference on Tools with Arti"cial Intelligence, New
Orleans, LA, 1994, pp. 672-675.
[40] Y.F. Yam, T.W.S. Chow, Determining initial weights of feedforward neural
networks based on least squares method, Neural Process. Lett. 2 (1995) 13-17.
[41] Y.F. Yam, T.W.S. Chow, A new method in determining the initial weights of
feedforward neural networks, Neurocomputing 16 (1997) 23-32.
[42] L.F.A. Wessels, E. Barnard, Avoiding false local minima by proper
initialization of connections, IEEE Trans. Neural Networks 3 (1992) 899-905.
[43] N. Weymaere, J.P. Martens, On the initialization and optimization of
multilayer perceptrons, IEEE Trans. Neural Networks 5 (1994) 738-751.
[44] D. Anthony, E. Hines, “The use of genetic algorithms to learn the most
appropriate inputs to neural network”, Application of the International
Association of Science and Technology for Development-IASTED, June, 1990,
223ậ226.
[45] L. Fauselt, “Fundamentals of Neural Networks”, Prentice-Hall, International
Inc., Englewood CliGs, NJ, 1994.
[46] R.K. Al Seyab, Y. Cao (2007), “Nonlinear system identification for
predictive control using continuous time recurrent neural networks and
automatic differentiation”, School of Engineering Cranfield University, College
Road, Cranfield, Bedford MK43 0AL, UK, Science Direct
[47] Cong Nguyen Huu; Nam Nguyen Hoai, “Optimal control for a distributed
parameter and delayed – time system based on the numerical method”, Teth

103
Luận án Tiến sĩ Kỹ thuật 2013

international conference on Control, Automotion, Robotics and vision


(ICARCV’2008).
[48] M.Norgaard, O.Ravn, N.K. Poulsen and L.K. Hansen. Neural Network for
Modelling and Control of Dynamic System. Springer 2000.
[49] Kumpati S. Narendra fellow, IEEE, and Kannan parthasarathy. Identification
and control of Dynamical Systems Using Neural Networks.
[50] JaroslaЯa ŽilkoЯп, JaroslaЯ Timko, Peter GiroЯský, “Nonlinear System
Control Using Neural Networks”, Department of Electrical Drives and
Mechatronic, Technical University of Kosice, Hungary.
[51] Maciej Lawrynczuk (2010), “Training or neural models for predictive
control”, Insitute of control and computation Engineering, Faculty of
Electronics and Information Technology, Warsaw University of Technology, ul.
Nowowiejska 15/19, 00-665 Warsaw, Poland, Neurocomputing 73.
[52] A. Griewank, J. David, U. Jean, ADOL-C: a package for the automatic
differentiation of algorithms written in C/C++, ACM Transactions on
Mathematical Software 22 (2) (1996) 131ậ167.
[53] S.P. Moustakidis, G.A. Rovithakis, and J.B. Theocharis (2006), “An
Adaptive Neuro-Fuzzy Control Approach for Nonlinear Systems via Lyapunov
Function Derivative Estimation”, The 2006 IEEE International Symposium on
Intelligent Control, Munich, Germany, pp.1602ậ1607.
[54] S. Seshagiri and H. K. Khalil (2000), “Output feedback control of nonlinear
systems using RBF neural networks”, IEEE Transactions on Neural Networks,
Vol. 11, No. 1, pp. 69ậ79.
[55] S.S. Ge, C. C. Hang, Tao Zhang (1999), “Adaptive Neural Network Control
of Nonlinear Systems by State and Output Feedback", IEEE Transactions on
Systems, Man, and Cybernetics, Part B: Cybernetics, Vol. 29, No. 6.
[56] Tianping Zhang and Shuzhi Sam Ge (2006), “Robust Adaptive Neural
Control of SISO Nonlinear Systems with Unknown Nonlinear Dead-Zone and
Completely Unknown Control Gain”, The 2006 IEEE International Symposium
on Intelligent Control, Munich, Germany, pp.88ậ93.
[57] Tomohisa Hayakawa (2005), “A New Characterization on the
Approximation of Nonlinear Functions via Neural Networks: An Adaptive

104
Luận án Tiến sĩ Kỹ thuật 2013

Control Perspective”, The 44th IEEE Conference on Decision and Control, and
the European Control Conference, Spain, pp.4117ậ4122.
[58] Tomohisa Hayakawa, Wassim M. Haddad, James M. Bailey, Naira
Hovakimyan (2005), “Passivity-Based Neural Network Adaptive Output
Feedback Control for Nonlinear Nonnegative Dynamical Systems", IEEE
Transactions on Neural Networks, Vol. 16, No. 2, pp.387ậ398.
[59] Tomohisa Hayakawa, Wassim M. Haddad, Naira Hovakimyan, VijaySekhar
Chellaboina (2005), “Neural Network Adaptive Control for Nonlinear
Nonnegative Dynamical Systems", IEEE Transactions on Neural Networks, Vol.
16, No. 2, pp.399ậ413.
[60] Tomohisa Hayakawa, Wassim M. Haddad, and Naira Hovakimyan (2008),
“Neural Network Adaptive Control for a Class of Nonlinear Uncertain
Dynamical Systems with Asymptotic Stability Guarantees", IEEE Transactions
on Neural Networks, Vol. 19, No. 1, pp.80ậ89.
[61] T. Zhang, S. S. Ge, C. C. Hang (2000), “Stable Adaptive Control for a Class
of Nonlinear Systems using a Modified Lyapunov Function", IEEE Transactions
on Automatic Control, Vol. 45, No. 1, pp.129ậ132.

105
Luận án Tiến sĩ Kỹ thuật 2013

PH L C 1: M T S KI N TH C C S LIểN QUAN Đ N Đ TÀI


Gi i thi u v m ng n ron
I.1. Đ nh nghĩa
M ng n ron nhơn t o, Artificial Neural Network (ANN) g i tắt lƠ m ng
n ron, neural network, lƠ m t mô hình б lý thông tin ph ng theo МпМh th М б lý
thông tin М a МпМ h n ron sinh h М. Nó đ М t o lên từ m t s l ng l n МпМ phần
t (g i lƠ phần tử xử lý hay nơron) k t n i Я i nhau thông qua МпМ liên k t (g i lƠ
trọng số liên kết) lƠm Яi М nh m t th th ng nhất đ giải quв t m t Яấn đ М th
nƠo đó.
M t m ng n ron nhơn t o đ М Мấu hình Мho m t ng Н ng М th (nh n
Н ng m u, phơn lo i Н li u,...) thông qua m t quп trình học từ t p МпМ m u huấn
luв n. V bản Мhất h М Мhính lƠ quп trình hi u Мhỉnh tr ng s liên k t gi a МпМ
n ron.
M t n ron lƠ m t đ n Я x lý thông tin và là thành phần М bản c a m t
m ng n ron. Cấu trúc c a m t n ron đ c mô tả trên hình Н i.

Hình 1: Nơron nhân tạo


Các thành phần М bản c a m t n ron nhơn t o bao g m:
♦ T p các đ u vào: Là các tín hi u vào (input signals) c a n ron, các tín
hi u nƠв th ng đ М đ a ЯƠo Н i d ng m t vec-t r m chi u.
♦ T p các liên k t: Mỗi liên k t đ c th hi n b i m t tr ng s (g i là tr ng
s liên k t ậ Synaptic weight). Tr ng s liên k t gi a tín hi u vào th j v i n ron k
th ng đ c kí hi u là w . Thông th ng, các tr ng s nƠв đ c kh i t o m t cách
kj

106
Luận án Tiến sĩ Kỹ thuật 2013

ng u nhiên th i đi m kh i t o m ng ЯƠ đ c c p nh t liên t c trong quá trình h c


m ng.
♦ B t ng (Summing function): Th ng Нùng đ tính tổng c a tíМh МпМ đầu
vào v i tr ng s liên k t c a nó.
♦ Ng ng (còn g i là m t đ l ch - bias): Ng ng nƠв th ng đ М đ a ЯƠo
nh m t thành phần c a hàm truy n.
♦ HƠm truy n (Transfer function): HƠm nƠв đ М Нùng đ gi i h n ph m vi
đầu ra М a mỗi n ron. Nó nh n đầu ЯƠo lƠ k t quả М a hƠm tổng ЯƠ ng ng đƣ cho.
Thông th ng, ph m Яi đầu ra М a mỗi n ron đ М gi i h n trong đo n [0,1] hoặМ [-
1, 1]. CпМ hƠm truв n rất đa Н ng, Мó th lƠ МпМ hƠm tuв n tính hoặМ phi tuв n. Vi М
lựa Мh n hƠm truв n nƠo lƠ tuỳ thu М ЯƠo từng bƠi toпn ЯƠ kinh nghi m М a ng i
thi t k m ng.
♦ Đ u ra: Là tín hi u đầu ra c a m t n ron, Я i mỗi n ron s có t i đa lƠ
m t đầu ra.
Nh Я в t ng tự nh n ron sinh h М, n ron nhơn t o Мũng nh n МпМ tín hi u
đầu ЯƠo, б lý (nhơn МпМ tín hi u nƠв Я i tr ng s liên k t, tính tổng МпМ tíМh thu
đ М r i g i k t quả t i hƠm truв n), ЯƠ Мho m t tín hi u đầu ra (lƠ k t quả М a hƠm
truв n).
Mô hình m ng n ron
Mặc dù mỗi n ron đ n lẻ có th thực hi n nh ng ch М năng б lý thông tin
nhất đ nh, s c m nh c a tính toпn n ron Мh y u Мó đ c nh sự k t h p МпМ n ron
trong m t ki n trúc th ng nhất. M t m ng n ron lƠ m t mô hình tính toпn đ c xác
đ nh qua các tham s : ki u n ron (nh lƠ МпМ nút n u ta coi cả m ng n ron lƠ m t
đ th ), ki n trúc k t n i (sự tổ ch c k t n i gi a МпМ n ron) ЯƠ thu t toán h c (thu t
toпn Нùng đ h c cho m ng).
V bản chất m t m ng n ron Мó Мh М năng nh lƠ m t hàm ánh x F: X →
Y, trong đó X lƠ không gian tr ng thпi đầu vào (input state space) và Y là không
gian tr ng thпi đầu ra (output state space) c a m ng. Các m ng chỉ đ n giản là làm
nhi m v ánh x các vec-t r đầu vào x ∈ X sang các vec-t r đầu ra y ∈ Y thông qua
“b l М” (filter) các tr ng s . T М lƠ в = F(б) = s(W, б), trong đó W lƠ ma tr n tr ng
s liên k t. Ho t đ ng c a m ng th ng là các tính toán s thực trên các ma tr n.
Mô hình m ng n ron đ М s Н ng r ng rƣi nhất lƠ mô hình m ng nhi u tầng
truв n thẳng (MLP: Multi Laвer PerМeptron). M t m ng MLP tổng quпt lƠ m ng Мó

107
Luận án Tiến sĩ Kỹ thuật 2013

n (n≥2) l p (thông th ng l p đầu ЯƠo không đ М tính đ n): trong đó g m m t l p


đầu ra (l p th n) ЯƠ (n-1) l p ẩn.

L p ЯƠo L p ẩn 1 L p ẩn (n-1) L p ra

Hình 2: Mạng MLP tổng quát


Cấu trúМ М a m t m ng MLP tổng quпt Мó th mô tả nh sau:
♦ Đầu ЯƠo lƠ МпМ ЯeМ-t r (б1, x2,..., xp) trong không gian p Мhi u, đầu ra lƠ МпМ
vec-t r (в1, y2,..., yq) trong không gian q Мhi u. Đ i Я i МпМ bƠi toпn phơn lo i, p
Мhính lƠ kíМh th М М a m u đầu ЯƠo, q Мhính lƠ s l p Мần phơn lo i. Xцt Яí Н
trong bƠi toпn nh n Н ng Мh s : Я i mỗi m u ta l u t a đ (б,в) М a 8 đi m trên
Мh s đó, ЯƠ nhi m Я М a m ng lƠ phơn lo i МпМ m u nƠв ЯƠo m t trong 10 l p
t ng ng Я i 10 Мh s 0, 1, …, 9. Khi đó p lƠ kíМh th М m u ЯƠ bằng 8 б 2 = 16;
q lƠ s l p ЯƠ bằng 10.
♦ Mỗi n ron thu М l p sau liên k t Я i tất Мả МпМ n ron thu М l p li n tr М
nó.
♦ Đầu ra М a n ron l p tr М lƠ đầu ЯƠo М a n ron thu М l p li n sau nó.
Ho t đ ng М a m ng MLP nh sau: t i l p đầu ЯƠo МпМ n ron nh n tín hi u
ЯƠo б lý (tính tổng tr ng s , g i t i hƠm truв n) r i Мho ra k t quả (lƠ k t quả М a
hƠm truв n); k t quả nƠв s đ М truв n t i МпМ n ron thu М l p ẩn th nhất; МпМ
n ron t i đơв ti p nh n nh lƠ tín hi u đầu ЯƠo, б lý ЯƠ g i k t quả đ n l p ẩn th
2;…; quп trình ti p t М Мho đ n khi МпМ n ron thu М l p ra Мho k t quả.
M t s k t quả đƣ đ М Мh ng minh:
♦ Bất kì m t hƠm Boolean nƠo Мũng Мó th bi u Нi n đ М b i m t m ng
MLP 2 l p trong đó МпМ n ron s Н ng hƠm truв n sigmoiН.

108
Luận án Tiến sĩ Kỹ thuật 2013

♦ Tất cả các hàm liên t М đ u có th xấp xỉ b i m t m ng MLP 2 l p s d ng


hàm truy n sigmoiН Мho МпМ n ron l p ẩn và hàm truy n tuy n tính Мho МпМ n ron
l p ra v i sai s nh tùy ý.
♦ M i hàm bất kỳ đ u có th xấp xỉ b i m t m ng MLP 3 l p s d ng hàm
truy n sigmoid cho các n ron l p ẩn và hàm truy n tuy n tính cho các n ron l p ra.
Quá trình h c c a m ng n -ron
Các ph ng pháp h c
Khái ni m: H c là quá trình c p nh t tr ng s sao cho giá tr hàm lỗi là nh
nhất.
M t m ng n ron đ c huấn luy n sao cho v i m t t p các vec-t r đầu vào
X, m ng có khả năng t o ra t p các vec-t r đầu ra mong mu n Y c a nó. T p X
đ c s d ng cho huấn luy n m ng đ c g i là t p huấn luy n (training set). Các
phần t x thu М X đ c g i là các m u huấn luy n (training example). Quá trình
huấn luy n bản chất là sự thaв đổi các tr ng s liên k t c a m ng. Trong quá trình
này, các tr ng s c a m ng s h i t dần t i các giá tr sao cho v i mỗi vec-t r đầu
vào x từ t p huấn luy n, m ng s cho ra vec-t r đầu ra в nh mong mu n
Có ba ph ng phпp h c phổ bi n là h c có giám sát (supervised learning),
h c không giám sát (unsupervised learning) và h М tăng М ng (Reinforcement
learning):
H c có giám sát trong các m ng n ron
H c có giám sát có th đ М бem nh Яi c xấp xỉ m t ánh x : X→ Y, trong
đó X lƠ t p các vấn đ và Y là t p các l i giải t ng ng cho vấn đ đó. CпМ m u (x,
y) v i x = (x1, x2,..., xn) ∈ X, y = (yl, y2,..., ym) ∈ Y đ М Мho tr c. H c có giám sát
trong các m ng n ron th ng đ c thực hi n theo МпМ b c sau:
♦ B1: Xây dựng cấu trúc thích h p cho m ng n ron, Мhẳng h n có (n + 1)
n ron ЯƠo (n n ron Мho bi n ЯƠo ЯƠ 1 n ron Мho ng ng x0), m n ron đầu ra, và
kh i t o các tr ng s liên k t c a m ng.
♦ B2: Đ a m t vec-t r x trong t p m u huấn luy n X vào m ng
♦ B3: Tính vec-t r đầu ra z c a m ng
♦ B4: So sánh vec-t r đầu ra mong mu n t (là k t quả đ c cho trong t p
huấn luy n) v i vec-t r đầu ra z do m ng t o ra; n u có th thì đпnh giп lỗi.

109
Luận án Tiến sĩ Kỹ thuật 2013

♦ B5: Hi u Мhỉnh МпМ tr ng s liên k t theo m t МпМh nƠo đó sao Мho lần
ti p theo khi đ a vec-t r б ЯƠo m ng, vec-t r đầu ra z s gi ng Я i t h n.
♦ B6: N u Мần, lặp l i МпМ b М từ 2 đ n 5 Мho t i khi m ng đ t t i tr ng thпi
h i t . Vi М đпnh giп lỗi Мó th thựМ hi n theo nhi u МпМh, МпМh Нùng nhi u nhất lƠ
s Н ng lỗi t М th i: Err = (z - t), hoặМ Err = еz - tе; lỗi trung bình bình ph ng
(MSE: mean-square error): Err = (z- t)2/2;
Có hai lo i lỗi trong đпnh giп m t m ng n ron. Th nhất, g i lƠ lỗi rõ rƠng
(apparent error), đпnh giп khả năng бấp бỉ МпМ m u huấn luв n М a m t m ng đƣ
đ М huấn luв n. Th hai, g i lƠ lỗi ki m tra (test error), đпnh giп khả năng tổng
quп hóa М a m t m ng đƣ đ М huấn luв n, t М khả năng phản ng Я i МпМ vec-t r
đầu ЯƠo m i. Đ đпnh giп lỗi ki m tra Мhúng ta phải bi t đầu ra mong mu n Мho МпМ
m u ki m tra.
Thu t toпn tổng quпt trên Мho h М Мó giпm sпt trong МпМ m ng n ron Мó
nhi u МƠi đặt khпМ nhau, sự khпМ nhau Мh в u lƠ МпМh МпМ tr ng s liên k t đ М
thaв đổi trong su t th i gian h М. Trong đó tiêu bi u nhất lƠ thu t toпn lan truв n
ng М.
Thu t toán lan truy n ng c
II.3.1. Một vài điều về thuật toán lan truyền ngược
Có m t ЯƠi l p khпМ nhau М a МпМ lu t huấn luв n m ng bao g m: huấn
luв n k t h p, huấn luв n М nh tranh,… Huấn luв n Мhất l ng m ng, performanМe
learning, lƠ m t l p quan tr ng khпМ М a lu t huấn luв n, trong ph ng phпp nƠв thì
МпМ thông s m ng đ М đi u Мhỉnh đ t i u hóa Мhất l ng М a m ng. Thu t toпn
lan truв n ng М lƠ m t phпt minh Мhính trong nghiên М u Я m ng n -ron, thu М
lo i thu t h М Мhất l ng m ng (h М Мó giпm sпt). Ng М Нòng th i gian, Мhúng ta
thấв rằng sau khoảng m i năm k từ khi lan truв n ng М bắt đầu đ М thai
nghцn, năm 1974, thì thu t h М lan truв n ng Мđ М Мhính th М nghiên М u l i ЯƠ
m r ng ra m t МпМh đ М l p b i DaЯiН Rumelhart, Geoffeв Hinton ЯƠ RonalН
Williams; DaЯiН Parker ЯƠ Yann Le Cun. Thu t toпn đƣ đ М phổ bi n hóa b i Мu n
sпМh Parallel DistributeН ProМessing М a nhóm tпМ giả DaЯiН Rumelhart ЯƠ James
Mc Clelland. Tuy nhiên, thu t toпn nguвên th в thì quп Мh m Мh p đ i Я i hầu h t
МпМ ng Н ng thựМ t [1], Мó nhi u lý Нo Мho Яi М h i t Мh m trong đó Мó sự ảnh
h ng М a b М h М.

110
Luận án Tiến sĩ Kỹ thuật 2013

NhắМ l i rằng lan truв n ng М, ti n thơn М a nó lƠ thu t h М WiНoа-Hoff


(thu t toпn LMS, Least Mean Square), lƠ m t thu t toпn бấp бỉ giảm Н М nhất.
Gi ng Я i lu t h М LMS, hƠm m М tiêu lƠ trung bình bình ph ng sai s . Đi m
khпМ gi a thu t toпn LMS ЯƠ lan truв n ng М Мhỉ lƠ МпМh mƠ МпМ đ o hƠm đ М
tính. Đ i Я i m ng tuв n tính m t l p đ n giản, sai s lƠ hƠm tuв n tính t ng
minh М a МпМ tr ng s , ЯƠ МпМ đ o hƠm М a nó liên quan t i МпМ tr ng s Мó th đ М
tính toпn m t МпМh Н НƠng. Trong МпМ m ng nhi u l p Я i МпМ hƠm phi tuв n, m i
quan h gi a МпМ tr ng s m ng ЯƠ sai s lƠ МựМ kỳ ph М t p. Đ tính МпМ đ o hƠm,
Мhúng ta Мần s Н ng lu t Мhuỗi.
Chúng ta đƣ thấв rằng giảm Н М nhất lƠ m t thu t toпn đ n giản, ЯƠ thông
th ng Мh m nhất. Thu t toпn graНient liên h p ЯƠ ph ng phпp Neаton’s nói
Мhung mang đ n sự h i t nhanh h n [6]. Khi nghiên М u Я МпМ thu t toпn nhanh
h n thì th ng r i ЯƠo hai tr ng phпi. Tr ng phпi th nhất phпt tri n Я МпМ kỹ
thu t tìm ki m. CпМ kỹ thu t tìm ki m bao g m МпМ ý t ng nh Яi М thaв đổi t М đ
h М, s Н ng qui tắМ mô-men, b М h М thíМh nghi. Tr ng phпi khпМ М a nghiên
М u nhằm ЯƠo МпМ kỹ thu t t i u hóa s Мhuẩn, đi n hình lƠ ph ng phпp graНient
liên h p, haв thu t toпn LeЯengerg-MarquarНt (m t bi n th М a ph ng phпp
Neаton). T i u hóa s đƣ lƠ m t Мh đ nghiên М u quan tr ng Я i 30, 40 năm, nó
Н ng nh lƠ nguвên nhơn đ tìm ki m МпМ thu t toпn huấn luв n nhanh.
Ta bi t rằng, thu t toпn LMS đ М đảm bảo đ h i t t i m t l i giải МựМ ti u
hóa trung bình bình ph ng sai s , mi n lƠ t М đ h М không quп l n. Đi u nƠв lƠ
đúng b i Яì trung bình bình ph ng sai s Мho m t m ng tuв n tính m t l p lƠ m t
hƠm toƠn ph ng. HƠm toƠn ph ng Мhỉ Мó m t đi m tĩnh. H n n a, ma tr n
Hessian М a hƠm toƠn ph ng lƠ hằng s , Мho nên đ Н М М a hƠm theo h ng lƠ
không thaв đổi, ЯƠ МпМ hƠm đ ng m М Мó Н ng hình e-lip.
Lan truy n ng М giảm Н М nhất (SDBP) Мũng nh LMS, nó Мũng lƠ m t
thu t toпn бấp бỉ giảm Н М nhất Мho Яi М МựМ ti u trung bình bình ph ng sai s .
Th t Я в, lan truв n ng М giảm Н М nhất lƠ t ng đ ng thu t toпn LMS khi s
Н ng trên m ng tuв n tính m t l p.

111
Luận án Tiến sĩ Kỹ thuật 2013

(1985).

.
.
.C

112
Luận án Tiến sĩ Kỹ thuật 2013

phân

lo i

nhau,
gradient descend.
Tóm lại, khi giải quв t bƠi toпn bằng m ng n ron theo th t М truв n ng М
Мó nh ng Яấn đ rút ra lƠ:
- S Мó bao nhiêu n ron trong m ng, bao nhiêu ngõ vào, bao nhiêu ngõ ra và
bao nhiêu l p ẩn. CƠng nhi u l p ẩn bƠi toпn tr nên ph М t p nh ng Мó th giải
quв t đ М nh ng Яấn đ l n.
- Thu t toпn Back propagation Мung Мấp m t ph ng phпp “xấp xỉ” Мho Яi М
tìm trong không gian trọng số (nhằm tìm ra nh ng trọng số phù h p Мho m ng).
Chúng ta МƠng lấв giп tr М a tham số học МƠng nh bao nhiêu thì sự thaв đổi trọng
số МƠng nh bấв nhiêu ЯƠ quỹ đạo không gian học s МƠng trơn. Tuв nhiên đi u nƠв
l i lƠm Мho tốc độ học Мh m đi. Trпi l i, n u Мhúng ta Мh n tham số tốc độ học quá
l n, sự thaв đổi l n М a МпМ trọng số Мó th lƠm Мho m ng tr nên không ổn đ nh.
V mặt ý t ng, tất Мả МпМ n ron trong m ng nên Мh n Мùng m t tốc độ học, tham
số học  nên gпn m t giп tr nh . CпМ n ron Я i nhi u ngõ vào nên Мh n m t tham
số tốc độ học nh h n đ gi m t thời gian học t ng tự Мho nhau Мho tất Мả МпМ
n ron trong m ng.

113
Luận án Tiến sĩ Kỹ thuật 2013

II.3.2. Hi u qu c a lan truy n ng c

(w)

tr ng hóa a j   w ji z i , v i
i

ji ;
trên
(w).

(w)
2
(w ) g O(w)

(w) đ lan truв n ng М (w)


(w2)
(w) -

.
II.4. Các v n đ trong xơy dựng m ng MLP
II.4.1. Chuẩn b dữ li u
a. Kích thước mẫu
Không có nguyên tắМ nƠo h ng d n kíМh th c m u phải lƠ bao nhiêu đ i
v i m t bƠi toпn Мho tr c. Hai y u t quan tr ng ảnh h ng đ n kíМh th c m u:
♦ D ng hƠm đíМh: khi hƠm đíМh МƠng ph c t p thì kíМh th c m u cần tăng.
♦ Nhi u: khi d li u b nhi u (thông tin sai hoặc thi u thông tin) kíМh th c
m u cần tăng.

114
Luận án Tiến sĩ Kỹ thuật 2013

Đ i v i m ng truy n thẳng, Мho hƠm đíМh Мó đ ph c t p nhất đ nh, kèm m t


l ng nhi u nhất đ nh thì đ chính xác c a mô hình luôn có m t gi i h n nhất đ nh.
Có th cần t p m u vô h n đ đ t đ n gi i h n Мhính бпМ. Nói МпМh khпМ đ chính
xác c a mô hình lƠ hƠm theo kíМh th c t p m u. Khi kíМh th c m u tăng, đ
chính xác s đ c cải thi n - lúМ đầu nhanh, nh ng Мh m dần khi ti n đ n gi i h n.
D ng tổng quát c a m i liên h gi a sai s ЯƠ kíМh th c m u nh sau:

Hình 3: Mối liên hệ giữa sai số và kích thước mẫu


Trong thựМ hƠnh th ng gặp phải 2 vấn đ sau:
♦ Đ i v i hầu h t bài toán thực t , m u b ràng bu c chặt ch v i d li u có
sẵn. Ta th ng không Мó đ cs l ng m u mong mu n.
♦ KíМh th c m u Мũng Мó th b gi i h n b i b nh hoặc khả năng l u tr
c a máy tính. N u tất cả các d li u đ ng th i đ c gi trong b nh su t th i gian
luy n, kíМh th c b nh máy tính s b chi m d ng nghiêm tr ng.
N u l u tr trên đĩa s cho phép dùng m u l n h n nh ng thao tпМ đ М đĩa từ
th h này sang th h khác khi n cho ti n trình ch m đi rất nhi u.
Chú ý: vi М tăng kíМh th c m u không lƠm tăng th i gian luy n. Nh ng t p
m u l n h n s yêu cầu ít th h luy n h n. N u ta tăng gấp đôi kíМh th c c a
m u, mỗi th h luy n s t n th i gian khoảng gấp đôi, nh ng s th h cần luy n s
giảm đi m t n a. Đi u nƠв Мó nghĩa lƠ kíМh th c m u (Мũng Мó nghĩa lƠ đ chính
xác c a mô hình) không b gi i h n b i th i gian luy n.
Lu t c b n là: S d ng m u l n nhất có th sao Мho đ khả năng l u tr
trong b nh trong (n u l u tr đ ng th i) hoặМ trên đĩa từ (đ th i gian đ c từ đĩa).

115
Luận án Tiến sĩ Kỹ thuật 2013

b. Mẫu con
Trong xây dựng mô hình cần chia t p m u thành 2 t p con: m t đ xây dựng
mô hình g i là t p huấn luy n (training set), và m t đ ki m nghi m mô hình g i là
t p ki m tra (test set). Thông th ng dùng 2/3 m u cho huấn luy n và 1/3 cho ki m
tra. Đi u nƠв lƠ đ tránh tình tr ng quá kh p (overfitting).
c. Sự phân tầng mẫu
N u ta tổ ch c m u sao cho mỗi m u trong quần th đ u Мó М h i nh nhau
thì t p m u đ c g i là t p m u đ i di n. Tuy nhiên khi ta xây dựng m t m ng đ
бпМ đ nh xem m t m u thu c m t l p hay thu c m t lo i nƠo thì đi u ta mong mu n
là các l p có cùng ảnh h ng lên m ng, đ đ t đ М đi u này ta có th s d ng m u
phân tầng. Xét ví d sau:
Giả s ta xây dựng mô hình nh n d ng ch cái vi t tay ti ng Anh, và ngu n
d li u c a ta có 100.000 ký tự mà mỗi ký tự đ c kèm theo m t mã cho bi t nó là
ch cái nào. Ch cái xuất hi n th ng xuyên nhất là e, nó xuất hi n 11.668 lần
chi m khoảng 12%; ch cái xuất hi n ít nhất là ch z, chỉ có 50 lần chi m 0,05%.
Tr c h t do gi i h n c a b nh máy tính, giả s b nh chỉ có th x lý
đ c 1300 m u. Ta t o hai d ng t p m u: t p m u đ i di n và t p m u phân tầng.
V i t p m u đ i di n, ch e s xuất hi n 152 lần (11,67% c a 1300) trong khi đó
ch z chỉ xuất hi n m t lần (0,05% c a 1300). Ng c l i ta có th t o t p m u phân
tầng đ mỗi ch có 50 m u. Ta thấy rằng n u chỉ có th dùng 1300 m u thì t p m u
phân tầng s t o ra mô hình t t h n. Vi М tăng s m u c a z từ 1 lên 50 s cải thi n
rất nhi u đ chính xác c a z, trong khi n u giảm s m u c a e từ 152 xu ng 50 s
chỉ giảm Мhút ít đ chính xác c a e.
Bây gi giả s ta dùng máy tính khác có b nh đ đ x lý m t l ng m u
gấp 10 lần, nh Я y s m u s tăng lên 13000. Rõ rƠng Яi М tăng kíМh th c m u s
giúp Мho mô hình Мhính бпМ h n. Tuв nhiên ta không th dùng t p m u phân tầng
nh trên n a vì lúc này ta s cần t i 500 m u cho ch z trong khi ta chỉ có 50 m u
trong ngu n d li u. Đ giải quy t đi u này ta t o t p m u nh sau: t p m u g m tất
cả các ch hi m v i s lần xuất hi n c a nó và kèm thêm thông tin v ch có nhi u
m u nhất. Chẳng h n ta t o t p m u có 50 m u c a ch z (đó lƠ tất cả) và 700 m u
c a ch e (ch mà ta có nhi u m u nhất).
Nh Я y trong t p m u c a ta, ch e có nhi u h n Мh z 14 lần. N u ta mu n
các ch z Мũng Мó nhi u ảnh h ng nh МпМ Мh e, khi h c ch z ta cho chúng tr ng

116
Luận án Tiến sĩ Kỹ thuật 2013

s l n h n 14 lần. Đ lƠm đ М đi u này ta có th can thi p chút ít vào quá trình lan
truy n ng c trên m ng. Khi m u h c là ch z, ta thêm vào 14 lần đ o hƠm, nh ng
khi m u là ch e ta chỉ thêm vào 1 lần đ o hàm. cu i th h , khi c p nh t các
tr ng s , mỗi ch z s có ảnh h ng h n mỗi ch e là 14 lần, và tất cả các ch z
g p l i s có bằng có ảnh h ng bằng tất cả các ch e.
d. Chọn biến
Khi t o m u cần ch n các bi n s d ng trong mô hình. Có 2 vấn đ cần quan
tâm:
♦ Cần tìm hi u cách bi n đổi thông tin sao cho có l i cho m ng h n: thông
tin tr М khi đ a ЯƠo m ng cần đ c bi n đổi d ng thích h p nhất, đ m ng đ t
đ c hi u suất cao nhất. Xét ví d v bài toán dự đoпn m t ng i có mắc b nh ung
th haв không. Khi đó ta Мó tr ng thông tin v ng i nƠв lƠ “ngƠв thпng năm
sinh”. M ng s đ t đ c hi u quả Мao h n khi ta bi n đổi tr ng thông tin này sang
thƠnh “tuổi”. Th m chí ta có th quy tuổi v m t trong các giá tr : 1 = “trẻ em”
(Н i 18), 2 = “thanh niên” (từ 18 đ n Н i 30), 3 = “trung niên” (từ 30 đ n Н i
60) ЯƠ 4 = “giƠ” (từ 60 tr lên).
♦ Ch n trong s các bi n đƣ đ c bi n đổi bi n nào s đ М đ a ЯƠo mô
hình: không phải bất kì thông tin nào v m u Мũng Мó l i cho m ng. Trong ví d dự
đoпn ng i có b ung th haв không trên, nh ng thu М tính nh “ngh nghi p”,
“n i sinh s ng”, “ti u s gia đình”,… lƠ nh ng thông tin có ích. Tuy nhiên nh ng
thông tin nh “thu nh p”, “s Мon Мпi”,… lƠ nh ng thông tin không cần thi t.
II.4.2. Xác đ nh các tham s cho m ng
a. Chọn hàm truyền
Không phải bất kỳ hƠm truв n nƠo Мũng Мho k t quả nh mong mu n. Đ trả
l i Мho Мơu h i «hàm truyền như thế nào được coi là tốt ? » lƠ đi u không h đ n
giản. Có m t s quв tắМ khi Мh n hƠm truв n nh sau:
♦ Không Нùng hƠm truв n tuв n tính tầng ẩn. Vì n u Нùng hƠm truв n
tuв n tính tầng ẩn thì s lƠm mất Яai trò М a tầng ẩn đó: Xцt tầng ẩn th i:
Tổng tr ng s ni = wiai-1 + bi
ai = f(ni) = wf ni +bf (hƠm truв n tuв n tính)
Khi đó: tổng tr ng s t i tầng th (i + 1)
ni+1 = wi+1ai + bi+1

117
Luận án Tiến sĩ Kỹ thuật 2013

= wi+1[wf ni +bf] + bi+1


= wi+1 [wf(wiai-1 + bi) + bf] + bi+1
= Wai-1 + b
Nh Я в ni+1 = Wai-1 + b, ЯƠ tầng i đƣ không Мòn giп tr n a.
♦ Ch n МпМ hƠm truв n sao Мho ki n trúМ m ng n ron lƠ đ i б ng (t М lƠ Я i
đầu ЯƠo ng u nhiên thì đầu ra Мó phơn b đ i б ng). N u m t m ng n ron không
đ i б ng thì giп tr đầu ra s l Мh sang m t bên, không phơn tпn lên toƠn b mi n
giп tr М a output. Đi u nƠв Мó th lƠm Мho m ng r i ЯƠo tr ng thпi bƣo hòa, không
thoпt ra đ М.
Trong thựМ t ng i ta th ng s Н ng МпМ hƠm truв n Н ng ậ S. M t hƠm
s(u) đ М g i lƠ hƠm truв n Н ng ậ S n u nó th a mƣn 3 tính Мhất sau:
ậ s(u) là hƠm b Мhặn: t М lƠ t n t i МпМ hằng s C1 ≤ C2 sao Мho: C1 ≤ s(u) ≤
C2 Я i m i u.
ậ s(u) lƠ hƠm đ n đi u tăng: giп tr М a s(u) luôn tăng khi u tăng. Do tính Мhất
th nhất, s(u) b Мhặn, nên s(u) s ti m М n t i giп tr М n trên khi u Нần t i Н ng Яô
cùng, ЯƠ ti m М n giп tr М n Н i khi u Нần t i ơm Яô Мùng.
ậ s(u) lƠ hƠm khả Яi: t М lƠ s(u) liên t М ЯƠ Мó đ o hƠm trên toƠn tr М s .
Có 3 Н ng hƠm kíМh ho t th ng đ М Нùng trong thựМ t :
*Hàm dạng bước:
x0 x 
stepx    stepx   
1 1
0 x0 0 x 

*Hàm dấu:
x0 x 
stepx    stepx   
1 1
 1 x0  1 x 

*Hàm sigmoid: Sigmoid( x) 


1
1 e   x  

M t hƠm truв n Н ng - S đi n hình ЯƠ đ М пp Н ng r ng rƣi lƠ hƠm


Sigmoid.

118
Luận án Tiến sĩ Kỹ thuật 2013

b. Xác định số nơron tầng ẩn


Câu h i ch n s l ng noron trong tầng ẩn c a m t m ng MLP th nào là
khó, nó ph thu c vào bài toán c th và vào kinh nghi m c a nhà thi t k m ng.
N u t p d li u huấn luy n đ c chia thành các nhóm v i МпМ đặМ tính t ng tự
nhau thì s l ng các nhóm này có th đ c s d ng đ ch n s l ng n ron ẩn.
Trong tr ng h p d li u huấn luy n nằm rải rác và không ch a МпМ đặc tính chung,
s l ng k t n i có th gần bằng v i s l ng các m u huấn luy n đ m ng có th
h i t . Có nhi u đ ngh cho vi c ch n s l ng n ron tầng ẩn h trong m t m ng
MLP. Chẳng h n h phải th a mãn h>(p-1)/(n+2), trong đó p lƠ s l ng m u huấn
luy n và n là s l ng đầu vào c a m ng. Càng nhi u nút ẩn trong m ng, thì càng
nhi u đặc tính c a d li u huấn luy n s đ c m ng nắm bắt, nh ng th i gian h c
s МƠng tăng.
M t kinh nghi m khác cho vi c ch n s l ng nút ẩn là s l ng nút ẩn bằng
v i s t i u МпМ М m m (fuzzy clusters)[8]. Phát bi u nƠв đƣ đ c ch ng minh
bằng thực nghi m. Vi c ch n s tầng ẩn Мũng lƠ m t nhi m v khó. Rất nhi u bài
toпn đòi h i nhi u h n m t tầng ẩn đ có th giải quy t t t.
Đ tìm ra mô hình m ng n ron t t nhất, Ishikawa and Moriyama (1995) s
d ng h c cấu trúc có quên (structural leanrning with forgetting), t c là trong th i
gian h c cắt b đi МпМ liên k t có tr ng s nh . Sau khi huấn luy n, chỉ các noron có
đóng góp ЯƠo giải quy t bài toán m i đ c gi l i, chúng s t o nên b б ng Мho
mô hình m ng n ron.
c. Khởi tạo trọng số
Tr ng th ng đ c kh i t o bằng ph ng phпp th sai, nó mang tính chất
kinh nghi m và ph thu c vào từng bài toán. Vi М đ nh nghĩ th nào là m t b tr ng
t t Мũng không h đ n giản. M t s quy tắc khi kh i t o tr ng:
♦ Kh i t o tr ng sao cho m ng n ron thu đ c là cân bằng (v i đầu vào
ng u nhiên thì sai s lan truy n ng c cho các ma tr n tr ng s là xấp xỉ bằng
nhau):
|ΔW1/W1| = |ΔW2/W2| = |ΔW3/W3|

N u m ng n ron không Мơn bằng thì quп trình thaв đổi tr ng s m t s ma


tr n là rất nhanh trong khi m t s ma tr n khác l i rất ch m, th m Мhí không đпng
k . Do đó đ các ma tr n nƠв đ t t i giá tr t i u s mất rất nhi u th i gian.

119
Luận án Tiến sĩ Kỹ thuật 2013

♦ T o tr ng sao cho giá tr k t xuất c a các nút có giá tr trung gian. (0.5 n u
hàm truy n là hàm Sigmoid). Rõ ràng n u ta không bi t gì v giá tr k t xuất thì giá
tr gi a là h p lý. Đi u nƠв Мũng giúp ta trпnh đ c các giá tr thái quá.
Th t c kh i t o tr ng th ng đ c áp d ng:
ậ B1: Kh i t o các tr ng s nút ẩn (và các tr ng s c a các cung liên k t trực ti p
gi a nút nh p và nút xuất, n u có) giá tr ng u nhiên, nh , phân b đ u quanh 0.
ậ B2: Kh i t o m t n a s tr ng s c a nút xuất giá tr 1, và n a kia giá tr -1.
Gi i thu t di truy n
Giải thu t Нi truв n (GenetiМ Algorithms - GA) đƣ đ М đ М p trong rất
nhi u tƠi li u, trong đó Мó МпМ Мông trình М a D.E. GolНberg [26] ЯƠ Thomas BaМk
[27]. Trong phần nƠв Мhỉ trình bƠв МпМ khпi ni m М bản Я giải thu t Нi truв n ЯƠ
khả năng ng Н ng М a nó.

I.2. Tóm t t v gi i thu t di truy n

Từ tr М t i naв, trong МпМ nghiên М u ЯƠ ng Н ng tin h М đƣ бuất hi n


nhi u bƠi toпn Мh a tìm ra đ М ph ng phпp giải nhanh ЯƠ h p lý. Phần l n đó lƠ
các bài toпn t i u nảв sinh trong МпМ ng Н ng. Đ giải МпМ bƠi toпn nƠв ng i ta
th ng phải tìm đ n m t giải thu t hi u quả mƠ k t quả thu đ М Мhỉ lƠ бấp бỉ t i
u. Trong nhi u tr ng h p Мhúng ta Мó th s Н ng giải thu t бпМ suất, tuв không
bảo đảm k t quả t i u nh ng Мũng Мó th Мh n МпМ giп tr sao Мho sai s đ t đ М
s nh nh mong mu n.

Theo l i giải бпМ suất, Яi М giải bƠi toпn quв Я quп trình tìm ki m trên
không gian t p h p МпМ l i giải Мó th . Tìm đ М l i giải t t nhất ЯƠ quп trình đ М
hi u lƠ t i u. V i mi n tìm ki m nh , m t s thu t toпn Мổ đi n đ М s Н ng. Tuв
nhiên đ i Я i МпМ mi n l n, phải s Н ng МпМ kỹ thu t trí tu nhơn t o đặМ bi t, giải
thu t Нi truв n lƠ m t trong nh ng Мông М đó. ụ t ng М a giải thu t Нi truв n lƠ
mô ph ng nh ng gì mƠ tự nhiên đƣ thựМ hi n. GA hình thƠnh Нựa trên quan ni m
Мho rằng: quп trình ti n hóa tự nhiên lƠ quп trình hoƠn hảo nhất, h p lý nhất ЯƠ tự nó
đƣ mang tính t i u.

Giải thuật di truyền áp dụng quá trình tiến hóa tự nhiên để giải các bài toán
tối ưu trong thực tế (từ tập các lời giải có thể ban đầu thông qua nhiều bước
120
Luận án Tiến sĩ Kỹ thuật 2013

tiến hóa hình thành các tập hợp mới với lời giải tốt hơn và cuối cùng sẽ tìm
được lời giải gần tối ưu).

Giải thu t Нi truв n lƠ m t kỹ thu t М a khoa h М mпв tính nhằm tìm ki m


giải phпp thíМh h p Мho МпМ bƠi toпn t i u tổ h p (combinatorial optimization).
Giải thu t Нi truв n lƠ m t phơn ngƠnh М a giải thu t ti n hóa Я n Н ng МпМ nguвên
lý М a ti n hóa nh Нi truв n, đ t bi n, Мh n l М tự nhiên, và trao đổi Мhцo.

Giải thu t Нi truв n th ng đ М ng Н ng nhằm s Н ng ngôn ng mпв tính


đ mô ph ng quп trình ti n hoп М a m t t p h p nh ng đ i Нi n trừu t ng (g i lƠ
nh ng nhi m sắМ th ) М a МпМ giải phпp Мó th (g i lƠ nh ng cá thể) Мho bƠi toпn t i
u hóa Яấn đ . T p h p nƠв s ti n tri n theo h ng Мh n l М nh ng giải phпp t t
h n.

Thông th ng, nh ng giải phпp đ М th hi n Н i Н ng nh phơn Я i nh ng


Мhuỗi 0 ЯƠ 1, nh ng l i mang nhi u thông tin mƣ hóa khпМ nhau. Quп trình ti n hóa
бảв ra từ m t t p h p nh ng Мп th hoƠn toƠn ng u nhiên tất Мả МпМ th h . Trong
từng th h , tính thíМh nghi М a t p h p nƠв đ М Мl ng, nhi u Мп th đ М
Мh n l М đ nh h ng từ t p h p hi n th i (Нựa ЯƠo thể trạng), đ М s a đổi (bằng
đ t bi n hoặМ tổ h p l i) đ hình thƠnh m t t p h p m i. T p h p nƠв s ti p t М
đ М Мh n l М lặp đi lặp l i trong МпМ th h k ti p М a giải thu t.

Giải thu t Нi truв n Мũng nh МпМ thu t toпn ti n hoп đ u đ М hình thƠnh
Нựa trên m t quan ni m đ М Мoi lƠ m t tiên đ phù h p Я i thựМ t khпМh quan. Đó
lƠ quan ni m "Quá trình ti n hoп tự nhiên lƠ quп trình hoƠn hảo nhất, h p lý nhất ЯƠ
tự nó đƣ mang tính t i u". Quп trình ti n hoп th hi n tính t i u Мhỗ th h sau
bao gi Мũng t t h n th h tr М.

Quп trình phпt tri n М a giải thu t Нi truв n Мó th đ М Мhỉ ra qua МпМ m М
th i gian sau:

1960: ụ t ng đầu tiên Я Tính toпn ti n hoп đ М ReМhenberg gi i thi u


trong Мông trình "EЯolution Strategies" (CпМ Мhi n l М ti n hoп). ụ t ng nƠв sau
đó đ М nhi u nhƠ nghiên М u phпt tri n.

121
Luận án Tiến sĩ Kỹ thuật 2013

1975: Giải thu t gen do John Holland phпt minh ЯƠ đ М phпt tri n b i ông
Мùng Я i МпМ đ ng nghi p ЯƠ nh ng sinh Яiên. Cu n sпМh "AНaption in Natural anН
ArtifiМial Sвstems" (Sự thíМh nghi trong МпМ h tự nhiên ЯƠ nhơn t o) бuất bản năm
1975 đƣ tổng h p МпМ k t quả М a quп trình nghiên М u ЯƠ phпt tri n đó.

1992: John Koza đƣ Нùng GA đ бơв Нựng МпМ Мh ng trình giải quв t m t
s bƠi toпn ЯƠ g i ph ng phпp nƠв lƠ "l p trình gen".

NgƠв naв giải thu t Нi truв n МƠng tr nên quan tr ng, đặМ bi t lƠ trong lĩnh
ЯựМ t i u hoп, m t lĩnh ЯựМ Мó nhi u bƠi toпn thú Я , đ М ng Н ng nhi u trong
thựМ ti n nh ng th ng khó ЯƠ Мh a Мó giải thu t hi u quả đ giải.

I.3. Các khái ni m c b n

Giải thu t Нi truв n Нựa ЯƠo quп trình ti n hoп trong tự nhiên nên МпМ khпi
ni m ЯƠ thu t ng М a nó đ u Мó liên quan đ n МпМ thu t ng М a Нi truв n h М.

I.3.1. Cá thể, nhiễm sắc thể

M t Мп th trong giải thu t Нi truв n, bi u Нi n m t giải phпp М a bƠi toпn.


Tuy nhiên không gi ng Я i trong tự nhiên, m t Мп th Мó nhi u nhi m sắМ th
(NST),Мó 1 thì g i lƠ th đ n b i, Мòn n u Мó nhi u thì lƠ th đa b i, đơв đ gi i
h n trong giải thu t Нi truв n ta quan ni m m t Мп th Мó m t nhi m sắМ th . Do đó
khпi ni m Мп th ЯƠ nhi m sắМ th trong giải thu t Нi truв n Мoi nh lƠ t ng đ ng.

M t NST đ М t o thƠnh từ nhi u gen, mỗi gen Мó th Мó МпМ giп tr khпМ


nhau đ quв đ nh m t tính tr ng nƠo đó. Trong GA, m t gen đ М Мoi nh m t phần
t trong Мhuỗi NST.

I.3.2. Quần thể

Quần th lƠ m t t p h p МпМ Мп th Мó Мùng m t s đặМ đi m nƠo đấв. Trong


giải thu t Нi truв n ta quan ni m quần th lƠ m t t p МпМ l i giải М a m t bƠi toпn.

I.3.3. Các toán tử di truyền

a. Ch n lựa

Trong tự nhiên, quп trình Мh n l М ЯƠ đấu tranh sinh t n đƣ lƠm thaв đổi МпМ
Мп th trong quần th . Nh ng Мп th t t, thíМh nghi đ М Я i đi u ki n s ng thì Мó

122
Luận án Tiến sĩ Kỹ thuật 2013

khả năng đấu tranh l n h n, Нo đó Мó th t n t i ЯƠ sinh sản. CпМ Мп th không thíМh


nghi đ М Я i đi u ki n s ng thì Нần mất đi. Dựa ЯƠo nguвên lý М a quп trình Мh n
l М ЯƠ đấu tranh sinh t n trong tự nhiên, Мh n lựa МпМ Мп th trong GA Мhính lƠ МпМh
Мh n МпМ Мп th Мó đ thíМh nghi t t đ đ a ЯƠo th h ti p theo hoặМ đ Мho lai
ghцp, Я i m М đíМh lƠ sinh ra МпМ Мп th m i t t h n. Có nhi u МпМh đ lựa Мh n
nh ng Мu i Мùng đ u nhằm đпp ng m М tiêu lƠ МпМ Мп th t t s Мó khả năng đ М
Мh n Мao h n.

b. Lai ghép

Lai ghцp trong tự nhiên lƠ sự k t h p МпМ tính tr ng М a b mẹ đ sinh ra th


h Мon. Trong giải thu t Нi truв n, lai ghцp đ М Мoi lƠ m t sự tổ h p l i МпМ tính
Мhất (thƠnh phần) trong hai l i giải Мha mẹ nƠo đó đ sinh ra m t l i giải m i mƠ Мó
đặМ tính mong mu n lƠ t t h n th h Мha mẹ. Đơв lƠ m t quп trình бảв ra Мh в u
trong giải thu t Нi truв n.

c. Đ t bi n

Đ t bi n lƠ m t sự bi n đổi t i m t (haв m t s ) gen М a nhi m sắМ th ban


đầu đ t o ra m t nhi m sắМ th m i. Đ t bi n Мó бпМ suất бảв ra thấp h n lai ghцp.
Đ t bi n Мó th t o ra m t Мп th m i t t h n hoặМ бấu h n Мп th ban đầu. Tuв
nhiên trong giải thu t Нi truв n thì ta luôn mu n t o ra nh ng phцp đ t bi n Мho
phцp Мải thi n l i giải qua từng th h .

I.4. Mô hình gi i thu t di truy n

123
Luận án Tiến sĩ Kỹ thuật 2013

Bắt đầu

Nhận các tham số


của bài toán

Khởi tạo quần thể


ban đầu

Tính giá trị thích nghi

Điều kiện
dừng

Sinh sản

Lai ghép
Lựa chọn giải pháp tốt
nhất

Đột biến

Kết
thúc

Hình 4: Mô hình c a giải thuật di truyền


V i МпМ khпi ni m đ М nêu trên, giải thu t Нi truв n đ М mô tả nh sau:

1.[B t đ u] Nh n МпМ tham s Мho thu t toпn.

2.[Kh i t o] Sinh ng u nhiên m t quần th g m n Мп th (lƠ n l i giải Мho


bài toán).

3. [Qu n th m i] T o quần th m i bằng МпМh lặp l i МпМ b М sau Мho đ n


khi quần th m i hoƠn thƠnh.

a.[Thích nghi] Мl ng đ thíМh nghi eval(x) М a mỗi Мп th .

124
Luận án Tiến sĩ Kỹ thuật 2013

b.[Ki m tra] Ki m tra đi u ki n k t thúМ giải thu t.

c.[Ch n l c] Ch n hai Мп th b mẹ từ quần th Мũ theo đ thíМh nghi


М a Мhúng (Мп th Мó đ thíМh nghi МƠng Мao thì МƠng Мó nhi u khả năng đ М
Мh n)

d.[Lai ghép] V i m t бпМ suất lai ghцp đ М Мh n, lai ghцp hai Мп th


b mẹ đ t o ra m t Мп th m i.

e.[Đ t bi n] V i m t бпМ suất đ t bi n đ М Мh n, bi n đổi Мп th m i

4. [Ch n k t qu ] N u đi u ki n Нừng đ М th a mƣn thì thu t toпn k t thúМ


ЯƠ trả Я l i giải t t nhất trong quần th hi n t i.

Mặc dù GA có khả năng đ t t i cực tr toàn c c cho quá trình tìm ki m


nh ng Нo có k t h p nh ng y u t ng u nhiên nên t М đ tìm ki m nói chung là rất
ch m. Mặt khác nó không th hoƠn toƠn đ t đ c t i cực tr toàn c c mà chỉ cho
nh ng k t quả бung quanh đó. Đ i l p v i GA, giải thu t lan truy n ng c sai s
(BP) l i cho phép đ t đ c nh ng cực tr n u nh đi m xuất phát c a quá trình tìm
ki m nằm trong vùng cực tr toàn c c.

125
Luận án Tiến sĩ Kỹ thuật 2013

PH L C 2: MÃ NGU N CH NG TRÌNH LUY N M NG N RON V I


B C H C V T KHE NH N D NG Đ I T NG
% Lap trinh tong quat cho thuat toan vuot khe
% Date:15-10-2011
% Version 1
%-------------------------------------------------------
a=ap;
u0=up;
% huongtim
d1=subs(Ju1,u1);%d1=diff(J,u1)
d2=subs(Ju2,u2);%d2=diff(J,u2)
Ju=[d1 d2];
s0=-Ju;
PPThammuctieu
%J=(u1-5)^2+(u2-5)^2;
Jtruoc=J;
%Buoc 1 ----------------------------------------
%XL=anpha
%XU=beta
XL=a;
u01=u0+XL*s0;
u1=u01(1);
u2=u01(2);
%J=(u1-5)^2+(u2-5)^2;
PPThammuctieu
Jsau=J;
if Jsau > Jtruoc %Jsau=Jsau; Jtruoc=Jtruoc
XL=0;
XU=a;
else
XL=a;
b=1.5*a;
XU=b;
Jtruoc=Jsau;
end
u02=u0+XU*s0;
u1=u02(1);
u2=u02(2);
PPThammuctieu
Jsau=J;
while Jsau<Jtruoc
% if Jsau > Jtruoc`
% F=Jtruoc;
% break
% else
XL=a;
b=1.5*a;
XU=b;
Jtruoc=Jsau;
u03=u0+XU*s0;
126
Luận án Tiến sĩ Kỹ thuật 2013

u1=u03(1);
u2=u03(2);
PPThammuctieu
Jsau=J;
end
%end
if Jsau > Jtruoc
F = Jtruoc;
end
% Buoc 2 ---------------------------------------
% FL1=abs(XU-XL)
while (abs(XU-XL)>FD)
%FL=abs(XU-XL);
%FL1=FL;
% if FL <=FD
% break
% else
TH=XL+gama*(XU-XL);
teta = TH;
u04=u0+TH*s0;
u1=u04(1);
u2=u04(2);
PPThammuctieu
Jsau=J;
if Jsau<F
XU =TH;
Jtruoc = F;
else
XL=TH;
u05=u0+XL*s0;
u1=u05(1);
u2=u05(2);
PPThammuctieu
Jtruoc=J;
end
% end
end
tocdohoc=TH;
% if abs(XU-XL)<=FD
% XL=XU
% end
c=tocdohoc
%Gradient------------------------------
e{3}=t(:,k)-x{3};
J=J+sum(e{3}.^2);
Ju1=diff(J,u1);
Ju2=diff(J,u2);
%Ham muc tieu
e{3}=t(:,k)-x{3};
J=J+sum(e{3}.^2);

127
Luận án Tiến sĩ Kỹ thuật 2013

%------------------------------------------
% Lap trinh tong quat cho thuat toan vuot khe
% Date:15-10-2011
% Version 1
%-------------------------------------------------------
function y = PPTbexulynuocthai(p,t)
clc
clear;
%Nhap du lieu vao he thong
L=3;%so lop
g=inline('1./(1+exp(-x))');%Activation function
unl=[5 16 3];%The units of each layers
% lt=0.3;% learning rate
J=1;
sum=0;
sum1=0;
%Initital the Weights and biases
for i=1:L-1
for n=1:unl(i)
for m=1:unl(i+1)
w{i}(m,n)=1*rand;%The Weights
end
end
for m=1:unl(i+1)
b{i}(m,1)=1*rand;% The biases
end
end
w{L}=eye(unl(L));
while (J>0.00001)& sum<1000
sum=sum+1;%Number of Loops
J=0;
for k=1:length(p)
x{1}=p(:,k);% Inputs vector
% Feed forward Propagation
for i=1:L-1
s{i}=w{i,1}*x{i}+b{i};
x{i+1}=g(s{i});
%x{i+1};
end
%The caculatar error
PPThammuctieu
%Feed back Propagation
for i=L-1:-1:1
e{i}=(x{i+1}.*(1-
x{i+1})).*(w{i+1}'*e{i+1});
thuattoanvuotkhe%Su dung thuat toan vuot khe de xac
%dinh toc do hoc cua mang neural
deltw{i}=(c.*e{i})*x{i};
w{i}=w{i}+deltw{i};% The modify
Weights

128
Luận án Tiến sĩ Kỹ thuật 2013

deltb{i}=(c.*e{i}).*ones(unl(i+1),1);
b{i}=b{i}+deltb{i};% The modify
biases
end
end
J=J/2;
if mod(sum,100)==0
sum1=sum1+1;
data(sum1,1)=sum;
data(sum1,2)=J;
end
end
% Example a value
x{1} = [22 35 1 6 36]';
for i=1:L-1
s{i}=w{i}*x{i}+b{i};
x{i+1}=g(s{i});
end
x{i+1}
%x{L}
semilogy(data(:,1),data(:,2)),grid
%-------------------------------

129
Luận án Tiến sĩ Kỹ thuật 2013

PH L C 3: MÃ NGU N CH NG TRÌNH LUY N M NG N RON


V IB CH CV T KHE Đ NH N D NG CH VI T

dinhnghia.h
/*
*=======================================================================*
*------------------------------------------------------------------------
*
* DE TAI : HUAN LUYEN MANG NO-RON VOI BUOC HOC TINH THEO NGUYEN LY
VUOT KHE *
* NGON NGU : C
* TRINH DICH : VISUAL C++
* TEN TEP : dinhnghia.h
*-----------------------------------------------------------------------*
*=======================================================================*
*/
#define SIGMF(x) 1/(1 + exp(-(double)x))//HAM KICH HOAT NO RON
#define DSIGM(y) (float)(y)*(1.0-y))//DAO HAM CUA HAM KICH HOAT NO RON
#define SLNRLV 35 // SO LUONG NO RON LOP VAO
#define SLNRLA 5 // SO LUONG NO RON LOP AN
#define SLNRLR 10 // SO LUONG NO RON LOP RA
#define EPSILON 0.06 // SAI SO TRUNG BINH BINH PHUONG DE DUNG QUA
TRINH LUYEN MANG
#define SLMHL 18 // SO LUONG MAU HUAN LUYEN MANG
#define STEPinit 0.5 // GIA TRI KHOI TAO BUOC HOC, CO THE DUNG CHO
NHIEU TRUONG HOP
#define DCBH 0.0001 // DIEU CHINH BUOC HOC
#define MSDCBH 5 // MAU SO DIEU CHINH BUOC HOC
#define TSDCBH 5 // TU SO DIEU CHINH BUOC HOC
#define BLTD 30000 // BUOC LAP TOI DA
#define FD 1e-1 //

taphuanluyen.h
/*
*====================================================================*
*-----------------------------------------------------------------------*
* DE TAI : HUAN LUYEN MANG NO-RON VOI BUOC HOC TINH THEO NGUYEN LY
VUOT KHE *
* NGON NGU : C
* TRINH DICH : VISUAL C++
* TEN TEP : taphuanluyen.h
*-----------------------------------------------------------------------*
*=======================================================================*
*/
#include "dinhnghia.h"
//TAP MAU HUAN LUYEN DAU VAO
int TAPHUANLUYEN[SLMHL][SLNRLV] =
{
{ 0,1,1,1,1,1,0, /* 0 */
1,0,0,0,0,0,1,
1,0,0,0,0,0,1,
1,0,0,0,0,0,1,
0,1,1,1,1,1,0 },

{ 0,0,0,0,0,0,0, /* 1 */
0,1,0,0,0,0,1,
1,1,1,1,1,1,1,
0,0,0,0,0,0,1,

130
Luận án Tiến sĩ Kỹ thuật 2013

0,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,1, /* 2 */
1,0,0,0,0,1,1,
1,0,0,0,1,0,1,
1,0,0,1,0,0,1,
0,1,1,0,0,0,1 },

{ 1,0,0,0,0,1,0, /* 3 */
1,0,0,0,0,0,1,
1,0,0,1,0,0,1,
1,1,1,0,1,0,1,
1,0,0,0,1,1,0 },

{ 0,0,0,1,1,0,0, /* 4 */
0,0,1,0,1,0,0,
0,1,0,0,1,0,0,
1,1,1,1,1,1,1,
0,0,0,0,1,0,0 },

{ 1,1,1,0,0,1,0, /* 5 */
1,0,1,0,0,0,1,
1,0,1,0,0,0,1,
1,0,1,0,0,0,1,
1,0,0,1,1,1,0 },

{ 0,0,1,1,1,1,0, /* 6 */
0,1,0,1,0,0,1,
1,0,0,1,0,0,1,
1,0,0,1,0,0,1,
0,0,0,0,1,1,0 },

{ 1,0,0,0,0,0,0, /* 7 */
1,0,0,0,0,0,0,
1,0,0,1,1,1,1,
1,0,1,0,0,0,0,
1,1,0,0,0,0,0 },

{ 0,1,1,0,1,1,0, /* 8 */
1,0,0,1,0,0,1,
1,0,0,1,0,0,1,
1,0,0,1,0,0,1,
0,1,1,0,1,1,0 },

{ 0,1,1,0,0,0,0, /* 9 */
1,0,0,1,0,0,1,
1,0,0,1,0,0,1,
1,0,0,1,0,1,0,
0,1,1,1,1,0,0 },

{ 1,1,1,1,0,0,0, /* 4 */
0,0,0,1,0,0,0,
0,0,0,1,0,0,0,
0,0,0,1,0,0,0,
1,1,1,1,1,1,1 },

{ 1,1,1,1,0,1,0, /* 5 */
1,0,0,1,0,0,1,
1,0,0,1,0,0,1,
1,0,0,1,0,0,1,
1,0,0,0,1,1,0 },

131
Luận án Tiến sĩ Kỹ thuật 2013

{ 1,0,0,0,0,0,0, /* 7 */
1,0,0,0,0,0,0,
1,0,0,1,0,0,0,
1,1,1,1,1,1,1,
0,0,0,1,0,0,0 },

{ 0,1,0,0,0,1,0, /* 3 */
1,0,0,0,0,0,1,
1,0,0,1,0,0,1,
1,0,1,0,1,0,1,
0,1,1,0,1,1,0 },

{ 1,0,0,0,0,1,1, /* 2 */
1,0,0,0,1,0,1,
1,0,0,1,0,0,1,
1,0,1,0,0,0,1,
1,1,0,0,0,0,1 },

{ 1,1,1,1,0,0,0, /* 4 */
0,0,0,1,0,0,0,
0,0,0,1,0,0,0,
1,1,1,1,1,1,1,
0,0,0,1,0,0,0 },

{ 1,1,1,1,1,1,1, /* 0 */
1,0,0,0,0,0,1,
1,0,0,0,0,0,1,
1,0,0,0,0,0,1,
1,1,1,1,1,1,1 },

{ 0,1,1,0,0,0,1, /* 9 */
1,0,0,1,0,0,1,
1,0,0,1,0,0,1,
1,0,0,1,0,0,1,
0,1,1,1,1,1,1 } };

//DAU RA MONG MUON TUONG UNG


int DRMM[SLMHL][SLNRLR] =
{
{ 1,0,0,0,0,0,0,0,0,0 }, /* 0 */
{ 0,1,0,0,0,0,0,0,0,0 }, /* 1 */
{ 0,0,1,0,0,0,0,0,0,0 }, /* 2 */
{ 0,0,0,1,0,0,0,0,0,0 }, /* 3 */
{ 0,0,0,0,1,0,0,0,0,0 }, /* 4 */
{ 0,0,0,0,0,1,0,0,0,0 }, /* 5 */
{ 0,0,0,0,0,0,1,0,0,0 }, /* 6 */
{ 0,0,0,0,0,0,0,1,0,0 }, /* 7 */
{ 0,0,0,0,0,0,0,0,1,0 }, /* 8 */
{ 0,0,0,0,0,0,0,0,0,1 }, /* 9 */
{ 0,0,0,0,1,0,0,0,0,0 }, /* 4 */
{ 0,0,0,0,0,1,0,0,0,0 }, /* 5 */
{ 0,0,0,0,0,0,0,1,0,0 }, /* 7 */
{ 0,0,0,1,0,0,0,0,0,0 }, /* 3 */
{ 0,0,1,0,0,0,0,0,0,0 }, /* 2 */
{ 0,0,0,0,1,0,0,0,0,0 }, /* 4 */
{ 1,0,0,0,0,0,0,0,0,0 }, /* 0 */
{ 0,0,0,0,0,0,0,0,0,1 } };/* 9 */

backprop5.c
/*
*=======================================================================*

132
Luận án Tiến sĩ Kỹ thuật 2013

*------------------------------------------------------------------------
*
* DE TAI : HUAN LUYEN MANG NO-RON VOI BUOC HOC TINH THEO NGUYEN LY
VUOT KHE *
* NGON NGU : C
* TRINH DICH : VISUAL C++
* TEN TEP : backprop.c
*------------------------------------------------------------------------
*
*=======================================================================*
*/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "taphuanluyen.h"
#include "dinhnghia.h"
/************************** DINH NGHIA CAC BIEN TOAN CUC
****************************/
float MTTSLA[SLNRLV][SLNRLA]; //MA TRAN TRONG SO LOP AN
float MTTSLR[SLNRLA][SLNRLR]; //MA TRAN TRONG SO LOP RA
float BTMTTSLA[SLNRLV][SLNRLA];//BIEN THIEN MA TRAN TRONG SO LOP AN
float BTMTTSLR[SLNRLA][SLNRLR];//BIEN THIEN MA TRAN TRONG SO LOP RA
float x[SLNRLV]; //VEC-TO DAU VAO LOP VAO
float y[SLNRLA]; //VEC TO DAU RA LOP AN
float z[SLNRLR]; //VEC TO DAU RA LOP RA
float HW1[SLNRLV][SLNRLA]; //KHONG SU DUNG
float HW2[SLNRLV][SLNRLA]; //KHONG SU DUNG
float OW1[SLNRLA][SLNRLR]; //KHONG SU DUNG
float OW2[SLNRLA][SLNRLR]; //KHONG SU DUNG
float SSLA[SLNRLA]; //SAI SO LOP AN
float SSLR[SLNRLR]; //SAI SO LOP RA
int PATR[SLMHL];
float ECM[SLMHL];
float TOCDOHOC=2; //TOC DO HOC
int SOBUOCLAP=0;
float BVK=0; //BUOC VUOT KHE
int NBS=0;
float FX[SLMHL];
float F[SLMHL];
float A,GAMA;
float QUANTINH=0.1; //TOAN HANG QUAN TINH
int MTDVKT[35]; //MA TRAN DAU VAO KIEM TRA
long int itr;
int HTHL; //HOAN THANH HUAN LUYEN
int LCBH; //LUA CHON BUOC HOC
int RESET; //RESET MANG
int RES=1; //RESET MANG
int SDM; //SU DUNG MANG
/*************** KET THUC DINH NGHIA CAC BIEN TOAN CUC ****************/

/*************************** CAC NGUYEN MAU HAM ***********************/

int KHOITAOMANG();
void QUATRINHHUANLUYEN();
void DAPUNGDAURA(int afer[]);
float GIATRIHAMMUCTIEU(int x[],float y[],int SIZE);
void DIEUCHINHTRONGSO(int k);
void HAMMUCTIEU();
void BUOCLAP();

/***************************** CAC HAM VA CAC THU TUC ******************/

133
Luận án Tiến sĩ Kỹ thuật 2013

/*----------------------------------------------------------------------
Ten Ham: KHOITAOMANG
Mo ta: 1. KHOI TAO MA TRAN TRONG SO LOP AN, VOI CACS GIA TRI
NGAU NHIEN BI CHAN
2. KHOI TAO MA TRAN TRONG SO LOP RA, VOI CACS GIA
TRI NGAU NHIEN BI CHAN
Cac dau vao: KHONG CO
Gia tri tra ve: 1
--------------------------------------------------------------------*/

int KHOITAOMANG()
{
int i,j;
int ch;
int num;

NBS=0;
HTHL=2;
RESET=0;
RES=1;
MHL=0;
srand(time(0));
for(i=0;i<SLNRLV;i++)
for(j=0;j<SLNRLA;j++)
{
MTTSLA[i][j] = -0.5+ (float) rand()/RAND_MAX;
BTMTTSLA[i][j] = 0;
}

for(i=0;i<SLNRLA;i++)
for(j=0;j<SLNRLR;j++)
{
MTTSLR[i][j] = -0.5 + (float) rand()/RAND_MAX;
BTMTTSLR[i][j] = 0;
}

for(i=0;i<SLMHL;i++)
PATR[i] = 0;

for(i=0;i<35;i++)
MTDVKT[i]=0;
return 1;
}

/*---------------------------------------------------------------------
Ten Thu tuc: TOCDOHOCZERO
Mo ta: 1. CAC DAU RA CUA MANG VAN LA ZERO, VI TOC DO HOC LA
ZERO.
2. CAC SAI SO HOAN TOAN BANG VOI CAC DAU RA MONG
MUON.
3. THU TUC NAY DUNG DE PHUC VU CHO VIEC TINH
TOAN BUOC VUOT KHE.
Cac dau vao: KHONG CO
Gia tri tra ve: KHONG CO
------------------------------------------------------------------------
*/

void TOCDOHOCZERO(void)
{
int t;
TOCDOHOC=0;

134
Luận án Tiến sĩ Kỹ thuật 2013

BUOCLAP();
HAMMUCTIEU();
for(t=0;t<SLMHL;t++)
FX[t] = ECM[t];
}

/*---------------------------------------------------------------------
Ten Thu tuc: TINHBUOCHOCVUOTKHE
Ngay sua : 03-11-2007
Phien ban : V2
Mo ta: THU TUC TINH BUOC HOC THEO NGUYEN LY VUOT KHE
Cac dau vao: KHONG CO
Gia tri tra ve: KHONG CO
----------------------------------------------------------------------*/

void TINHBUOCHOCVUOTKHE(void)
{
float XL,XU,FL[SLMHL],temp;
int i,t,j;
if(NBS==0)
{
A=0.5;
GAMA=0.1;
TOCDOHOC=A;
}
for(t=0;t<SLMHL;t++)
FL[t]=FX[t];
XL=0;

BUOC1:

TOCDOHOC=A;
BUOCLAP();
HAMMUCTIEU();
for(t=0;t<SLMHL;t++)
F[t] = ECM[t];
if(F[t]>FL[t])
{
XU=A;
goto BUOC2;
}
//XL=A;
for(t=0;t<SLMHL;t++)
FL[t]=F[t];
XL=A;
A=1.5*A;
XU=A;
goto BUOC1;
BUOC2:

if(FD>=(XU-FL))
goto BUOC3;
A=XL+GAMA*(XU-XL);
temp=TOCDOHOC;
TOCDOHOC=A;
BUOCLAP();
HAMMUCTIEU();
TOCDOHOC=temp;
for(t=0;t<SLMHL;t++)
F[t] = ECM[t];
for(t=0;t<SLMHL;t++)

135
Luận án Tiến sĩ Kỹ thuật 2013

if(FL[t]>F[t])
{
XU=A;
for(j=0;j<SLMHL;j++)
FL[j]=F[j];
goto BUOC2;
}
for(t=0;t<SLMHL;t++)
if(F[t]>FL[t])
{
for(j=0;j<SLMHL;j++)
FL[j]=F[j];
XL=A;
goto BUOC2;
}
BUOC3:
for(t=0;t<SLMHL;t++)
FX[t]=F[t];
NBS=NBS+1;
TOCDOHOC=A;
}
/*-----------------------------------------------------------------------
----
Ten Thu tuc: TINHTOANBUOCHOC
Mo ta: TINH TOAN TOC DO HOC SAU MOI BUOC LAP
Cac dau vao: KHONG CO
Gia tri tra ve: KHONG CO
-----------------------------------------------------------------------*/
void TINHTOANBUOCHOC()
{
TOCDOHOC=TSDCBH/(SOBUOCLAP*0.001+MSDCBH);
}

/*-----------------------------------------------------------------------
Ten Thu tuc: BUOCLAP
Mo ta: DIEU CHINH CAC TRONG SO CUA MANG
Cac dau vao: KHONG CO
Gia tri tra ve: KHONG CO
------------------------------------------------------------------------
*/

void BUOCLAP()
{
int i;
i=0;
//LUA CHON MAU HUAN LUYEN NGAU NHIEN: i = (int)(SLMHL*rnd), VOI
0<rnd<1
do
{
i = (int)(SLMHL*(float) rand() / RAND_MAX);
}while(PATR[i]);
DAPUNGDAURA(TAPHUANLUYEN[i]);
DIEUCHINHTRONGSO(i);
}
/*-----------------------------------------------------------------------
Ten Thu tuc: HUANLUYENCODINH
Mo ta: HUAN LUYEN MANG DE TB-BINH PHUONG SAI SO DAU RA NHO HON
EPSILON CHO TRUOC
BUOC HOC LA MOT HANG SO.
Cac dau vao: KHONG CO
Gia tri tra ve: KHONG CO

136
Luận án Tiến sĩ Kỹ thuật 2013

-----------------------------------------------------------------------*/

void HUANLUYENCODINH()
{
int t,l;
printf("\nDANG HUAN LUYEN MANG VOI BUOC HOC CO DINH...\n");
START:
if(RES==0)
printf("\nKHOI DONG VA HUAN LUYEN LAI MANG!");
KHOITAOMANG();
//Luyen mang
do
{
TOCDOHOC=0.2;
BUOCLAP();
HAMMUCTIEU();
l = 1;
for(t=0;t<SLMHL;t++)
{
PATR[t] = ECM[t] < EPSILON;
l = l && (PATR[t]);
}
SOBUOCLAP++;
RESET++;
if(RESET>15000)break;
if(SOBUOCLAP>BLTD)
{
HTHL=0;
printf("\nQUA TRINH HUAN LUYEN MANG THAT BAI! \n");
printf("\nDE NGHI HUAN LUYEN LAI! \n");
break;
}
}while(!l);//while(!l && !kbhit());
if(RESET>15000)
{
RES=0;
goto START;
}
if(SOBUOCLAP<BLTD)
{
printf("\n\nMANG DA DUOC HUAN LUYEN XONG SAU: ");
printf("%ld",RESET);
printf(" BUOC LAP!\n\n");
}
}
/*-----------------------------------------------------------------------
-
Ten Thu tuc: HUANLUYENGIAMDAN
Mo ta: HUAN LUYEN MANG DE TB-BINH PHUONG SAI SO DAU RA NHO HON
EPSILON CHO TRUOC
BUOC HOC DUOC TINH THEO PHUONG PHAP GIAM DAN DON
GIAN
Cac dau vao: KHONG CO
Gia tri tra ve: KHONG CO
-------------------------------------------------------------------------
-*/

void HUANLUYENGIAMDAN()
{
int t,l;
printf("\n\nDANG HUAN LUYEN MANG VOI BUOC HOC GIAM DAN...\n");

137
Luận án Tiến sĩ Kỹ thuật 2013

START:
if(RES==0)
printf("\n\nKHOI DONG VA HUAN LUYEN LAI MANG!");
KHOITAOMANG();
//Luyen mang
do
{
TINHTOANBUOCHOC();
BUOCLAP();
HAMMUCTIEU();
l = 1;
for(t=0;t<SLMHL;t++)
{
PATR[t] = ECM[t] < EPSILON;
l = l && (PATR[t]);
}
SOBUOCLAP++;
RESET++;
if(RESET>3000)break;
if(SOBUOCLAP>BLTD)
{
HTHL=0;
printf("\nQUA TRINH HUAN LUYEN MANG THAT BAI! \n");
printf("\nDE NGHI HUAN LUYEN LAI! \n");
break;
}
}while(!l);//while(!l && !kbhit());
if(RESET>3000)
}
if(SOBUOCLAP<BLTD)
{
HTHL=1;
printf("\n\nMANG DA DUOC HUAN LUYEN XONG SAU: ");
printf("%ld",RESET);
printf(" BUOC LAP!\n\n");
}
}
/*-----------------------------------------------------------------------
-
Ten Thu tuc: HUANLUYENVUOTKHE
Mo ta: HUAN LUYEN MANG DE TB-BINH PHUONG SAI SO DAU RA NHO HON
EPSILON CHO TRUOC
BUOC HOC DUOC TINH THEO NGUYEN LY VUOT KHE
Cac dau vao: KHONG CO
Gia tri tra ve: KHONG CO
------------------------------------------------------------------------
*/

void HUANLUYENVUOTKHE()
{
int t,l;
printf("\n\nDANG HUAN LUYEN MANG THEO BUOC VUOT KHE...\n");
START:
if(RES==0){
printf("\nKHOI DONG VA HUAN LUYEN LAI MANG!");
}
KHOITAOMANG();
TOCDOHOCZERO();
TINHBUOCHOCVUOTKHE();
//Luyen mang

138
Luận án Tiến sĩ Kỹ thuật 2013

do
{
TINHBUOCHOCVUOTKHE();
BUOCLAP();
HAMMUCTIEU();

l = 1;
for(t=0;t<SLMHL;t++)
{
PATR[t] = ECM[t] < EPSILON;
l = l && (PATR[t]);
}
SOBUOCLAP++;
RESET++;
// printf("lan lap thu %d\n",RESET);
if(RESET>100)break;
if(SOBUOCLAP>BLTD)
{
HTHL=0;
printf("\nQUA TRINH HUAN LUYEN MANG THAT BAI! \n");
printf("\nDE NGHI HUAN LUYEN LAI! \n");
break;
}

}while(!l);//while(!l && !kbhit());


if(RESET>100)
{
RES=0;
goto START;
}
if(SOBUOCLAP<BLTD)
{
HTHL=1;
printf("\n\nMANG DA DUOC HUAN LUYEN XONG SAU: ");
printf("%ld",RESET);
printf(" BUOC LAP!\n\n");
}
}

/*-----------------------------------------------------------------------
-
Ten Thu tuc: DAPUNGDAURA
Mo ta: TINH CAC DAU RA LOP AN, y, VA DAU RA LOP RA, z, TU DAU
VAO LOPA VAO, x.
Cac dau vao: VEC-TO DAU VAO x[i]
Gia tri tra ve: KHONG CO
------------------------------------------------------------------------
*/

void DAPUNGDAURA(int afer[])


{
int i,j;
float totin;

for(i=0;i<SLNRLV;i++)
x[i] = (float)afer[i];
for(j=0;j<SLNRLA;j++)
{
totin = 0;
for(i=0;i<SLNRLV;i++)
totin = totin + x[i]*MTTSLA[i][j];

139
Luận án Tiến sĩ Kỹ thuật 2013

y[j] = SIGMF(totin);
}
for(j=0;j<SLNRLR;j++)
{
totin = 0;
for(i=0;i<SLNRLA;i++)
totin = totin + y[i]*MTTSLR[i][j];
z[j] = SIGMF(totin);
}
}

/*-----------------------------------------------------------------------
Ten Ham: TB_BINHPHUONGSAISO
Mo ta: TINH BINH PHUONG SAI SO DAU RA CUA MANG THEO VEC-TO DAU
RA VA VEC-TO DICH
Cac dau vao: 1. VEC-TO DAU RA MONG MUON DRMM[i],
2. VEC-TO DAU RA CU LOP RA z[i],
3. SO LUONG NO-RON CUA LAOP DAU RA, SLNRLR
Gia tri tra ve: TRUNG BINH BINH PHUONG SAI SO DAU RA CUA LOP RA
------------------------------------------------------------------------
*/

float TB_BINHPHUONGSAISO(int a[],float b[],int SIZE)


{
int i;
float e=0;

for(i=0;i<SIZE;i++)
e = e + ((float)a[i] - b[i])*(a[i] - b[i]);
e = 0.5 * e;
return e;
}

/*-----------------------------------------------------------------------
-
Ten Thu tuc: SAISODAURA
Mo ta: TINH SAI SO DAU RA CUA MANG THEO VEC-TO DAU RA VA VEC-TO
DICH
1. VEC-TO DAU RA MONG MUON DRMM[i],
2. VEC-TO DAU RA CU LOP RA z[i],
Cac dau vao: SO THU TU MAU
Gia tri tra ve: KHONG CO
------------------------------------------------------------------------
*/

void SAISODAURA(int i)
{
int j;
for(j=0;j<SLNRLR;j++)
SSLR[j] = 0;

for(j=0;j<SLNRLR;j++)
SSLR[j] = z[j] - (float)DRMM[i][j];
}
/*-----------------------------------------------------------------------
Ten Thu tuc: SAISOLOPAN
Mo ta: TINH SAI SO DAU RA CUA LOP AN THEO SAI SO LOP RA VA DAO
HAM CUA SIGMF
Cac dau vao: KHONG CO
Gia tri tra ve: KHONG CO
-----------------------------------------------------------------------*/

140
Luận án Tiến sĩ Kỹ thuật 2013

void SAISOLOPAN()
{
int i,j;
for(i=0;i<SLNRLA;i++)
SSLA[i] = 0;

for(i=0;i<SLNRLA;i++)
for(j=0;j<SLNRLR;j++)
SSLA[i] = SSLA[i] + MTTSLR[i][j]*z[j]*(1-z[j])*SSLR[j];
}

/*-------------------------------------------------------------------
Ten Thu tuc: DIEUCHINHTRONGSO
Mo ta: CAP NHAT MA TRAN TRONG SO LOP AN VA LOP RA
Cac dau vao: SO THU TU MAU
Gia tri tra ve: KHONG CO
----------------------------------------------------------------------*/

void DIEUCHINHTRONGSO(int k)
{
int i,j;
float temp;

SAISODAURA(k);
SAISOLOPAN();

for(i=0;i<SLNRLA;i++)
{
for(j=0;j<SLNRLR;j++)
{
temp = -TOCDOHOC*y[i]*z[j]*(1-z[j])*SSLR[j];
MTTSLR[i][j] = MTTSLR[i][j] + temp +
QUANTINH*BTMTTSLR[i][j];
BTMTTSLR[i][j] = temp;
}
}
for(i=0;i<SLNRLV;i++)
{
for(j=0;j<SLNRLA;j++)
{
temp = -TOCDOHOC*x[i]*y[j]*(1-y[j])*SSLA[j];
MTTSLA[i][j] = MTTSLA[i][j] + temp +
QUANTINH*BTMTTSLA[i][j];
BTMTTSLA[i][j] = temp;
}
}
}

/*----------------------------------------------------------------------
Ten Thu tuc: HAMMUCTIEU
Mo ta: TINH BINH PHUONG SAI SO DAU RA CUA MANG THEO VEC-TO DAU
RA VA VEC-TO DICH
Cac dau vao: KHONG CO
Gia tri tra ve: KHONG CO
---------------------------------------------------------------------*/

void HAMMUCTIEU()
{
int i;

141
Luận án Tiến sĩ Kỹ thuật 2013

for(i=0;i<SLMHL;i++)
{
DAPUNGDAURA(TAPHUANLUYEN[i]);
ECM[i]=TB_BINHPHUONGSAISO(DRMM[i],z,SLNRLR);
}
}

/*----------------------------------------------------------------------
Ten Thu tuc: KIEMTRAMANG
Mo ta: NGUOI SU DUNG NHAP MA TRAN DAU VAO, TINH TOAN DAP UNG
DAU RA CUA MANG
Cac dau vao: KHONG CO
Gia tri tra ve: KHONG CO
------------------------------------------------------------------------
*/

void KIEMTRAMANG()
{
int i,j,t,ind;
float temp;
float tempz1[SLNRLR];
float tempz2[3];
ind=0;

for(;;)
{
printf("\n\nXIN MOI DUA VEC-TO DAU VAO DE KIEM TRA
MANG\n\n");
for(i=0;i<7;i++)
{
for(j=0;j<5;j++)
scanf("%d",&MTDVKT[j*7+i]);
printf("\n");
}
printf("\n\nDAP UNG DAU RA CUA MANG:\n");
DAPUNGDAURA(MTDVKT);
for(i=0;i<SLNRLR;i++)
printf("\nNO-RON %d, Z = %f",i,z[i]);
for(i=0;i<SLNRLR;i++)
tempz1[i]=z[i];
printf("\n\nBA DAU RA CO DAP UNG CAO NHAT UNG VOI VEC-TO DAU
VAO:\n");
for(t=0;t<3;t++)
{
temp=0;
ind=0;
for(i=0;i<SLNRLR;i++)
if(temp<=tempz1[i])
{
temp=tempz1[i];
ind=i;
}
tempz2[t]=temp;
printf("\nDAU RA THU %d LA %3.0f%%",ind,
tempz2[t]*100);
tempz1[ind]=0;
}

temp=z[0];
ind=0;

142
Luận án Tiến sĩ Kỹ thuật 2013

for(i=0;i<SLNRLR;i++)
if(temp<=z[i])
{
temp=z[i];
ind=i;
}
printf("\n\nKET LUAN CUA MANG NO-RON:\n");
printf("\nVEC-TO DAU VAO MANG LA MA CUA KY TU:
%d",ind);

}
}

/*----------------------------------------------------------------------
Ten Thu tuc: MATRANTRONGSOLOPAN
Mo ta: IN MA TRAN TRONG SO LOP AN RA MAN HINH
Cac dau vao: KHONG CO
Gia tri tra ve: KHONG CO
------------------------------------------------------------------------
*/

void MATRANTRONGSOLOPAN()
{
int i,j;
printf("\n\nMA TRAN TRONG SO LOP AN MTTSLA[slnrlv][slnrla]:\n\n");
for(i=0;i<SLNRLV;i++)
{
for(j=0;j<SLNRLA;j++)
{
if(MTTSLA[i][j]>=0)
printf("+%f ",MTTSLA[i][j]);
else
printf("%f ",MTTSLA[i][j]);
}
printf("\n");
}
}

/*----------------------------------------------------------------------
Ten Thu tuc: MATRANTRONGSOLOPRA
Mo ta: IN MA TRAN TRONG SO LOP RA RA MAN HINH
Cac dau vao: KHONG CO
Gia tri tra ve: KHONG CO
---------------------------------------------------------------------*/

void MATRANTRONGSOLOPRA()
{
int i,j;
printf("\n\nMA TRAN TRONG SO LOP RA MTTSLR[slnrla][slnrlr]:\n\n");
for(j=0;j<SLNRLR;j++)
{
for(i=0;i<SLNRLA;i++)
{
if(MTTSLR[i][j]>=0)
printf("+%f ",MTTSLR[i][j]);
else
printf("%f ",MTTSLR[i][j]);
}
printf("\n");
}
}

143
Luận án Tiến sĩ Kỹ thuật 2013

/******************************* HAM CHINH ***********************/

void main(int argc,char *argv[])


{
int read;
char c;

KHOITAOMANG();

printf("*******************************************\n\n");
printf("* CHUONG TRINH HUAN LUYEN MANG NO-RON *\n\n");
printf("* BUOC HOC TINH THEO NGUYEN LY VUOT KHE *\n\n");
printf("*******************************************\n\n");
/*
printf("/Vao\\ /~~~~Lop an~~~~\\ /~~~~~Lop ra~~~~~\\\n");
printf(" -- ------- ---- --------- ---- \n");
printf("| | | | | |Y | | | | Z\n");
printf("|X |->| W11 |->| f1 |->| W21 |->| f2 |-->\n");
printf("| | | (35x5)| | | | (5x10) | | |\n");
printf("| | | | | | | | | |\n");
printf(" -- ------- ---- --------- ---- \n");
printf("\\35/ \\__Y=f1(W11.X)__/ \\__Z=f1(W11.X)___/ \n\n");
printf(" f=sigm(net) \n\n");

printf("\nSU DUNG MANG: TRUOC KHI HOC, t, SAU KHI HOC, s.\n");
SDM = getchar();
if(SDM=='t')
KIEMTRAMANG();// SU DUNG MANG TRUOC KHI HUAN LUYEN

else if(SDM=='s')
{
printf("\n\nLUA CHON LOAI BUOC HOC\n");
printf("\nCO DINH: c, GIAM DAN: g, NGUYEN LY VUOT KHE:
v\n\n");
c = getchar();
}
LCBH = getchar();
switch(LCBH)
{
case 'c':
HUANLUYENCODINH();
break;
case 'g':
HUANLUYENGIAMDAN();
break;
case 'v':
HUANLUYENVUOTKHE();
break;
}
*/
HUANLUYENVUOTKHE();
if(HTHL==1)//NEU MANG DA DUOC HUAN LUYEN XONG
{
MATRANTRONGSOLOPAN();
MATRANTRONGSOLOPRA();
// KIEMTRAMANG();
}

144

You might also like