Luận án Tiến sĩ Kỹ thuật
2013
M CL C
M
CH
Đ U ............................................................................................................................... 7
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
1.4.1. Ví d v i m ng n ron có m t l i bình th
22
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
CH
ng 1 ....................................................................................................... 38
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
CH
NG 3: Đ
TOÁN V
ng 2 ....................................................................................................... 76
XU T MỌ HÌNH K T H P THU T DI TRUY N VÀ THU T
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
CÁC T
2013
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
LDDN
LaвereН Digital DвnamiМ Netаork, m ng n ron đ ng
LMS
Least Mean Square, trung bình bình ph
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
М
М бuвên tơm
ng nh nhất
М
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
M
2013
Đ 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
ph
2013
ng phпp luв n m ng n ron, trong đó kỹ thu t lan truв n ng
r ng rƣi h n Мả.
đó Мhúng ta Мó th lựa Мh n МпМ b
Мđ
М ng Н ng
М 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
ph
ng phпp tìm ki m М a GA ЯƠ МпМ
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
М
- Xơв Нựng thu t toпn huấn luв n m ng n ron bằng kỹ thu t lan truв n ng
М
h МЯ
t khe.
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 Я
Ph
М Мó
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.
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
nh ph
Я
ng phпp graНient không tìm đ
t qua đ
h
М МựМ ti u, Мòn thu t toпn Я
ng, Яí Н
t khe Мó th
М lòng khe đ đ n đi m t i u.
- Nghiên М u sự ảnh h
ph
ng phпp thông th
ng giп tr ban đầu khi giải bƠi toпn t i u tĩnh bằng
ng phпp s , đặМ bi t khi hƠm m М tiêu Мó Н ng lòng khe. Giп tr ban đầu ảnh
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
- Đ бuất mô hình k t h p thu t toпn Я
2013
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
Ch
ng
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
tình hình nghiên М u trong ЯƠ ngoƠi n
nghiên М u М a МпМ Мh
Ch
ng ЯƠ Н ng đặМ bi t. Tóm tắt Я
М, từ đó lƠm бuất phпt đi m Мho n i Нung
ng ti p theo.
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 МЯ
Мh ng Мho hi u quả М a b
t khe trong quп trình h М М a m ng n ron. Đ minh
М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 đ
h М khпМ nhau. Cu i Мh
Ch
t
М luв n m ng Я i МпМ ph
ng phпp М p nh t b
ng s Мó đпnh giп hi u quả М a МпМ ph
М
ng phпp nƠв.
ng 3, tпМ giả đ a ra МпМ Яí Н Я luв n m ng n ron trên nh ng đ i
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
CH
2013
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 М
learning). H М Мó giпm sпt lƠ ph
ng phпp h М đ
trong đó tiêu bi u nhất là kỹ thu t lan truy n ng
ng (Reinforcement
c s d ng phổ bi n nhất và
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
М tпМ giả gi i thi u trong phụ lục 1.
Мs đ
đơв, 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
sai s trung bình bình ph
thu t toпn lƠ ng
ph
М h
М h i t đ n m t giải phпp mƠ nó t i thi u hoп đ
М
ng Яì МпМh th М hi u Мhỉnh tr ng s ЯƠ h s bias М a
ng Я i ЯeМt GraНient М a hƠm sai s trung bình bình
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
М МựМ tr tổng th . CпМ giп tr kh i t o М a МпМ tr ng
ng mƠ không đ t đ n đ
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
truв n ng
М sai s lƠ b
ng đ n hi u lựМ ЯƠ đ h i t М a giải thu t lan
М 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
nghi m theo ph
М h М th
ng đ
М lựa Мh n bằng thựМ
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
nhất mƠ không đ t đ
М đ sai s nh mong mu n. Tuв nhiên, đặt giп tr b
quп nh thì m ng s h i t rất Мh m, th m Мhí m ng Мó th Я
tđ
ng gần
Мh М
М 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
th Я i m t s đi u ki n ban đầu đ đảm bảo thu đ
1.1.2.3.
М ph
ng пn t i u. Ta Мần phải
ng пn t i u.
Hằng số quán tính
T М đ h М М a giải thu t lƠm truв n ng
s h М l n. M t ph
ng phпp th
М sai s Мó th Нao đ ng khi hằng
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
Я ih
М
ng khпМ
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
1.2.
Мhu kỳ tr
М.
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 Я
tri n Я
t b М. Nguвên nhơn М a sự phпt
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
Hi n naв, robot đ
i khi m th trong h М t p ЯƠ sinh ho t.
М М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
đi u khi n
y(t)
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
nh mong mu n thì phải hi u bi t Я đ i t
h М mô tả đ i t
ng Мó đ
М Мhất l
ng
ng, t М lƠ Мần phải Мó m t mô hình toпn
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
i ta th
ng phơn Мhia МпМ ph
ng Мần nh n Н ng đ
М g i lƠ mô hình hóa.
ng phпp mô hình hóa ra lƠm hai lo i:
15
Luận án Tiến sĩ Kỹ thuật
- Ph
ng phпp lý thuв t.
- Ph
ng phпp thựМ nghi m.
Ph
ng phпp lý thuв t lƠ ph
2013
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
М ađ it
ng. CпМ quan h nƠв đ
bằng, ... Н
i Н ng nh ng ph
Trong МпМ tr
đ it
ng bên ngoƠi
М mô tả theo quв lu t lý ậ hóa, quв lu t Мơn
ng trình toпn h М.
ng h p mƠ sự hi u bi t Я nh ng quв lu t giao ti p bên trong
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
hoƠn thi n n t Яi М бơв Нựng mô hình đ i t
ЯƠ ra в(t) М a đ i t
đó đ
ng trên М s quan sпt tín hi u ЯƠo u(t)
ng sao Мho mô hình thu đ
th a mƣn МпМ вêu Мầu М a ph
ng phпp thựМ nghi m đ
М bằng ph
ng phпp thựМ nghi m
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
phпp giải tíМh thông th
ng phi tuв n Мó đ ph М t p Мao, n u s Н ng ph
ng
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
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. Vì Я в МпМ nhƠ khoa h М đƣ đ a ra ý
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 nh ng
ng phпp nƠв ta không bi t đ
М mô hình toпn thựМ sự М a đ i t
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
hoп Мho МпМ đầu ЯƠo không đ
2013
М 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
đ it
ng: s đầu ЯƠo, s đầu ra, МпМ đ i l
quв lu t thaв đổi М a МпМ đ i l
Tuв nhiên không phải đ i t
М tiên ta Мần phải Мó nh ng hi u bi t Я
ng Я t lý ЯƠo ra, Нải giп tr М a Мhúng,
ng trong h haв mô hình toпn h М М bản М a nó,…
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
mong mu n. Khi thông s М a đ i t
l
ng lƠ Мần thi t đ Яi М đi u khi n đ t Мhất
ng mong mu n. Khi thông s М a đ i t
(đ i t
ng tự thaв đổi trong quп trình lƠm Яi М
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
Nh n Н ng th
ng Мó thông s bất bi n.
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
trên М s đầu ЯƠo ЯƠ đầu ra М a đ i t
Mô hình thu đ
t
ng ЯƠ thông s
ng.
М sau khi nh n Н ng g i lƠ t t n u nó th hi n đ
ng. Nh Я в Мó th s Н ng mô hình thaв Мho đ i t
đi u khi n. M ng n ron đ
Nh
ng
М đúng đ i
ng đ Нự bпo, ki m tra ЯƠ
М luв n đ mô hình hóa quan h ЯƠo ra М a đ i t
ng.
Я в 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
th ng đ
М bi u Нi n trên Hình 1.2
Đ it
ng gi ng nh mô hình truв n
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 đ
luв n theo ki u giпm sпt Я i kỹ thu t lan truв n ng
Мhỉnh. Tín hi u sai s đ
s Н ng ph
đ
М lan truв n ng
М huấn
М, Нựa ЯƠo lu t h М sai s hi u
М qua m ng. Kỹ thu t lan truв n ng
ng phпp giảm graНient đ бпМ đ nh МпМ tr ng М a m ng Яì Я в t
ng Я i t i u tham s . M ng n ron đ
М
ng
М 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 đ
đ t i thi u sai s bình ph
m t hƠm truв n ng
М huấn luв n
ng gi a đầu ra М a m ng ЯƠ đầu ЯƠo h th ng, бпМ đ nh
М. 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
Ph
ng phпp nh n Н ng khпМ Мần phải h
ММ ah .
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
ni m mặt Мhất l
ng М a m ng ЯƠ Н n đ n khпi
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 . Có th ghi nh n rằng Мó th s
Hình 1.3: Mặt sai số dạng lòng khe
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)
........
x1x1
x1xn
2 J ( x)
2 J ( x)
xi x j nn
....
....
....
(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.
1(x) >> n(x)
NÕu x¶y ra:
(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:
+ b, x + c,
x En .
J(x) = 0,5x,
A x
Trong ®ã:
– ma trËn x¸c ®Þnh d- ¬ng, b – vÐc t¬ h»ng, c – h»ng sè.
A
Theo (1.1), Hessian cña (1.3) lµ H(x) =
(1.3)
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µ:
( A)
max ( 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:
2
2
( x* ) lim sup x x* / inf x x*
0 xD
xD
(1.5)
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в đ
trình luв n m ng n ron. Lan truв n ng
М s Н ng nhất trong quп
М 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
t
ng Мần бấp бỉ. Nh Я в, Нo đ ph М t p М a đ i
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
Н nh đ i t
ng Мần бấp бỉ Н n đ n hƠm m М tiêu Мó Н ng lòng khe (Яí
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Н đ
Мhúng ta qua МпМ Мh
М s Н ng lƠm hƠm kíМh ho t. Ví Н nƠв s theo
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 57 =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
М 351,
Я 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
М 351
-
VцМ t đầu ra l p ẩn в, kíМh th
М 51
-
VцМ t đầu ra l p ra z, kíМh th
М 101
-
Ma tr n tr ng s l p ẩn: W1,1, kíМh th
М 355
-
Ma tr n tr ng s l p ra: W2,1, kíМh th
М 510
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
HƠm f đ
2013
М М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 đ
Netаork Toolboб М a Matlab. Nhìn Мhung МпМ ph
t t, tuв nhiên đ đ t đ
М tíМh h p trên Neural
ng phпp đ u Мho k t quả khп
М đ М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 đ
r trong khi đó nh ng nghiên М u Я n ron Мòn
nh ng ng
М nh ng thƠnh Мông rựМ
giai đo n s khai. MặМ Нù Я в
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ý
trong b nƣo Мon ng
m М đ n giản c a m ng n ron
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 đƣ đ
trong phần М ng mпв tính ЯƠ đ
М МƠi đặt
М б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
Least-Mean-Squares (LMS: T i thi u bình ph
ậ Hoff thu М lo i thu t h М t i u hóa Мhất l
ti n thơn М a thu t h М lan truв n ng
Н ng quв tắМ h М
ng trung bình). Thu t h М Widrow
ng m ng, nó Мũng đ
М бem nh lƠ
М.
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
trung bình sai s . Thu t toпn nƠв quan tr ng b i hai lí Нo. Th nhất, nó đ
ng
М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
đ n t n nh ng năm 1980, kỹ thu t lan truв n ng
Мm iđ
ng h p đặМ bi t. Cho
М 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, đ
truв n ng
М, mà hi n naв đ
М huấn luв n b i kỹ thu t lan
М 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 đ
không Мhỉ
М. C ng hi n М a HopfielН
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
lan truв n ng
М, đó lƠ
М б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 đ
l
М Мh
ng trình ng Н ng m ng n ron Мho Нự bпo Мhất
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
МпМ Мh
ng trình ng Н ng m ng n ron thông th
М Мải ti n so Я i
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
đ
М quan tơm nghiên М u ЯƠ đ
М Я n
М Мô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
М
m ng, hƠm lỗi (haв hƠm sai s ) th
trung bình bình ph
đơв lƠ lan truв n ng
М lỗi (haв sai s ) trong
ng Мh n lƠ hƠm mƠ nó t i thi u hoп đ
М sai s
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
b
М h М đ Мho phцp Мó th Я
tr b
2013
t qua nh ng МựМ tr đ a ph
ng. Không Мó m t giп
М h М бпМ đ nh nƠo Мho МпМ bƠi toпn khпМ nhau. V i mỗi bƠi toпn, b
th
ng đ
М lựa Мh n bằng thựМ nghi m theo ph
b
М h М phù h p Я i từng Н ng bƠi toпn riêng bi t.
Мh М
ng phпp th ЯƠ sai, hoặМ s Мó
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
mô tả khп đầв đ МпМ ph
М nhảв nh th nƠo,… Trong quв n sпМh nƠв
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
lan truв n ng
ng phпp Мải ti n kỹ thu t
М 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ựa ЯƠ th в tinh. Ph
ng, b nh tim, thẻ tín Н ng
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
TпМ giả đƣ tìm đi h
2013
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
phпp Conjugate GraНient ЯƠ m t thu t toпn m i đ
đ huấn luв n m ng n ron. Xong đ i t
t
ng
М Яi t trên Matlab 7.1
ng mƠ tпМ giả пp Н ng lƠ đ i
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
ph
ng phпp tính bình ph
ng t i u đ
М бпМ đ nh bằng МпМh s Н ng
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
ph
ng đầu ra đ
М tính toпn s Н ng phơn tпМh giп tr . Đơв lƠ m t
ng phпp tính toпn rất ph М t p. Còn Yam ЯƠ Choа đ бuất hai ph
kh i t o tr ng l
ng Нựa trên ph
[40], h th ng đ
М giả đ nh lƠ tuв n tính. CпМ thông s đầu ЯƠo ЯƠ đầu ra thu đ
bằng ph
l
ng phпp bình ph
ng phпp bình ph
ng phпp
ng nh nhất [40][41]. Trong
М
ng nh nhất tuв n tính. Từ МпМ thông s nƠв, tr ng
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
tr trong Яùng không bƣo hòa ЯƠ tr ng l
đ
М đпnh giп bằng ph
2013
ng ban đầu t i u gi a đầu ЯƠo ЯƠ l p ẩn
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 đ
бấu, бпМ suất b mắМ kẹt Мho m t s
М m t t i u đ a ph
ng
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
theo, МпМ ng
ng М a m ng đ
ng phпp đ бпМ đ nh s l
ng М a Nguвen ЯƠ WiНroа. Ọng đ ngh
ng n ron l p ẩn ЯƠ s Н ng thông tin đầu ra
mong mu n в=f(б) đ бпМ đ nh tr ng l
Osoаski đ a ra, tr ng l
ng t i u thu đ
toпn BP rất gần Я i tr ng l
М đпnh giп. Ti p
М 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
m t ph
ng đ
ng ban đầu đ
Hisashi ShimoНaira đ бuất m t ph
ng ban đầu [37]. Trong Яí Н
đ
М
М sau khi luв n m ng n ron bằng thu t
М đ бuất b i thu t toпn m i М a ông.
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
thông qua phơn tíМh th ng kê. Có th nói Яi М ảnh h
ng
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
М u gần đơв Мó ảnh h
ng phпp khпМ nhau phù h p. Nh ng Мông trình nghiên
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
V i Яi М s Н ng ph
ng phпp đ i s tuв n tính.
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
GA lƠ Я
М Я i GA ЯƠ k t quả mỗi giải phпp Мó ngu n g М từ
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), PhysicaVerlag 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 đ
ph
ng phпp “Мutting angle”, sau đó đ
М h М theo
М 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
Мh n lƠ hƠm mƠ nó t i thi u hoп đ
М sai s trung bình bình ph
ng
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
m i đó lƠ thu t toпn Я
đ
n
М ngoƠi, ông đƣ đ бuất ra m t thu t h М
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 Я
ph
t khe k t h p Я i
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 đ
h i thảo trong và ngoài n
đ
М
М Мông b trên МпМ t p Мhí
М đ М 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
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
b
trong ЯƠ
ng Н ng thu t toпn Я
t khe đ М p nh t
М 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
Trong Мh
ng 1
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 đ
đ МựМ tr đ a ph
М Яấn
ng.
38
Luận án Tiến sĩ Kỹ thuật
Trong Мh
ng 2, Нựa ЯƠo nh ng nh n бцt đпnh giп М a Мh
gi i thi u Я thu t toпn Я
2013
ng 1, tпМ giả s
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
CH
NG 2: THU T TOÁN V
2013
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 Я
2.2.
t khe
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
2.1. Thu t toán v
ng 2
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
nh sau:
ng phпp “r-Algorithm” t
ng ng Я i Мông th М lặp Мho b i b
М th k
u k u k-1 k s k-1 , k 1, 2,
sk-1 Bk BTk J ' u k1
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
НƠi b
М М a hƠm theo h
М lặp th k; k lƠ đ
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 BkT1 J ' u k 1 J ' u k 2
Trong đó Rk lƠ toпn t kцo giƣn không gian theo h
H
ng Мhuв n đ ng sk-1 lƠ hoƠn toƠn бпМ đ nh b i (2) ÷(6) t i mỗi b
k. M i quan tơm Мhính М a Мhúng ta trong phần nƠв lƠ ph
b
ng rk Я i h s 0<ρ<1.
М k , nó t o ra sự h i t hi u quả ЯƠ đ
М Нùng quв
М lặp
ng phпp бпМ đ nh đ НƠi
М.
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
l p hƠm m М tiêu ЯƠ th
М k đ
М МпМ tпМ giả đ a ra khпМ Я i mỗi
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
Я i hƠm m М tiêu Н ng toƠn ph
2013
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
Мũng Мhẳng giúp đ
đпв b lõm, thì mô-men
М 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
ph
tr
đơu trên hƠm m М tiêu. Tuв nhiên đi u tr ng i Мhính Я i МпМ
ng phпp VLBP lƠ МпМ đi u Мhỉnh Мó th Мần 5 hoặМ 6 tham s đ
М. Thông th
М lựa Мh n
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 Я
Яấn đ đi u ki n t i u, b i Яì nó ảnh h
t khe thì Мhúng ta hƣв tìm hi u Я
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
trong đó u = u ậ u*
1 T 2
u J u
u ...,
2
u u *
Điều kiện th nhất
N u u mƠ rất nh thì b М Мao nhất trong ph
J u J u * u J u * J u
T
u u
*
u
ng trình
1 T 2
u J u
u ...,
2
u u *
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
mƠ Н
ng J u T
u u *
u u *
u 0 . Tuв nhiên, n u s h ng nƠв
u 0 thì đi u nƠв nói rằng
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
Мho bất kỳ u, chúng ta có J u u u 0
u u *
u 0 . Khi đi u nƠв phải đúng
*
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ỳ
ng trình J u u u 0 đ
МпМ đi m thoả mƣn ph
*
М 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 *
Nh tr
1 T 2
u J u
u ...,
2
u u *
М, М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
zT Az 0 đ i Я i bất kỳ ЯeМt z ≠ 0. A lƠ bпn бпМ đ nh Н
A
бпМ đ nh Н
ng n u zT Az 0
ng n u
Đ 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Ơ Н
tr n lƠ бпМ đ nh Н
bпn Н
ng, thì ma
ng. N u tất Мả МпМ giп tr riêng không ơm thì ma tr n lƠ бпМ đ nh
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
(hoặМ Я i b
Мh Мđ
М tính bằng МựМ ti u hoп theo đ
М 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
thi t Н ng hình h М đó lƠ đ
đ
ng thaв đổi hƠm m М tiêu (h
М бơв Нựng trên hai khпi ni m М
ng tìm ki m) ЯƠ đ НƠi b
uk+1 = uk+ k sk, k = 0,1,…
Мhỉ h
М lặp th k; sk lƠ ЯeМt
ng thaв đổi МпМ bi n s trong không gian n Мhi u; k đ
М. CпМ thu t toпn t i u thông th
hoặМ (ЯƠ) quв tắМ đi u Мhỉnh đ НƠi b
Sự khпМ bi t М bản М a ph
lƠ
М. Quп trình đó
М mô tả nh sau:
Trong đó: uk, uk+1 lƠ đi m đầu ЯƠ đi m Мu i М a b
b
i ta Мó th giả
ng thẳng hoặМ бấp бỉ Мong b М hai.
Ta đƣ bi t МпМ thu t toпn t i u hoп lặp đ
bản lƠ h
ng
quв tắМ đi u Мhỉnh b
khe thì đ НƠi b
ng thì khпМ nhau Я h
ng Мhuв n đ ng,
М.
ng phпp Я
t khe so Я i МпМ ph
М. Theo quв tắМ đi u Мhỉnh b
М М a đi m tìm ki m
М g i lƠ đ НƠi
mỗi b
М М a ph
ng phпp khпМ
ng phпp Я
t
М 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
t khe.
ng phпp Я
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
quan tâm chính
đơв lƠ ph
ng phпp бпМ đ nh đ НƠi b
M t ЯƠi Мông th М бпМ đ nh giп tr k . Ví Н :[1], [2]
М lặp k (бпМ đ nh sau). M i
М k
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
l p hƠm m М tiêu ЯƠ th
М k đ
М МпМ tпМ giả đ a ra khпМ Я i mỗi
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 М đ
nguвên lý đ
М g i lƠ “b
М g i lƠ “nguвên lý Я
МЯ
t khe”. Giп tr k tìm đ
Мb i
t khe".
47
Luận án Tiến sĩ Kỹ thuật
2.1.3.2.
2013
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
tiêu Мó h
ng khпМ nhau. Trên Мả hai phía М a “khe”, graНient М a hƠm m М
ng ng
khпМ. Hầu h t tr
М l i. Xцt đi m X đặt ЯƠo m t phía М a “khe” ЯƠ Y trên phía
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
Ký hi u: h J u k 1 .S k1
k
Ta có: hk'
(2.5)
T
J u k 1 .S k 1
J ' u k 1 .S k 1 S k 1
th = 0 và k ЯƠo Мông th М (2.6) ta thu đ
hk' 0 J s' u k1 S k 1
T
hk' k J s' u k 1 .S k1
Ta đ
М đi u ki n sau:
T
J s' u k1 S k1
T
hk' k .hk' 0 J s' u k 1 S k 1 J s' u k
T
ng S.
T
S k1 0
(2.6)
М:
(2.7)
(2.8)
(2.9)
48
Luận án Tiến sĩ Kỹ thuật
D thấв rằng bất ph
ng trình (2.9) lƠ t
2013
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
đ
М g i lƠ nguвên lý “Я
М lặp Мhuв n đ ng М a hƠm m М tiêu,
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
J(uk+ k Sk) < J(uk).
ng trình sau:
(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 Н
lim J x b
i ЯƠ thoả mƣn đi u ki n:
(2.11)
u
Thu t toпn t i u hoп bƠi toпn (2.1) Мó ph
uk+1 = uk + k Sk, k = 0,1...
ng trình lặp nh Н ng sau:
trong đó uk và uk+1 lƠ đi m đầu ЯƠ đi m Мu i М a b
Мhỉ h
ng thaв đổi МпМ bi n s trong không gian n Мh u; k lƠ đ НƠi b
k đ
khe, còn ph
c xác đ nh theo nguyên lỦ v
t khe thì đ
ng trình (2.2) g i lƠ thu t toán v
Nguвên lý Я
mỗi b
М lặp th k, sk lƠ ЯцМt
t khe đƣ nêu
М
c g i lƠ b
cv
t
t khe.
trên phпt bi u rằng đi m đầu ЯƠ đi m Мu i М a
М 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
Quỹ đ o tìm ki m t i u theo nguвên lý Я
h М, tựa nh đi m tìm ki m t i mỗi lần lặp đ u b
ng tăng.
t khe t o ra m t b М tranh hình
МЯ
t qua lòng khe М a hƠm
49
Luận án Tiến sĩ Kỹ thuật
m М tiêu. Đ М th hoп nguвên lý Я
b
М lặp:
h J u k .S k
Giả s sk lƠ h
2013
t khe, ta бцt hƠm m t bi n sau đ i Я i mỗi
(2.12)
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
nh sau:
h '
v
0, h v h0
Trong đó, v lƠ b
МЯ
t khe
(2.14)
МЯ
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 Я
qua đi m МựМ ti u * М a h() t i giп tr v , quỹ đ o t i u hoп t
theo h
t
ng ng ti n Н М
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ắМ
khe ЯƠ thu t toпn t i u hoп t
ng ng b tắМ l i
tr М
đó. 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 Я
trình lặp Мó hi u quả h i t Мao ЯƠ ổn đ nh, đi u ki n (2.14) đ
v * arg min h , h v h* h 0 h*
t lòng khe. Đ quп
М thaв đổi b i:
(2.15)
0
Trong đó, 0 < λ < 1 đ
М g i lƠ h s Я
h* h *
t
h0 h 0
Xác định bước vượt khe
2.1.3.3.
Vi М lựa Мh n đ НƠi b
quan tr ng. N u đ НƠi b
М h М trong bƠi toпn khe hẹp Мó ý nghĩa đặМ bi t
М 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 đ
n М a khe hẹp. Do Я в, Яấn đ b
М sự u n l
М 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
đ ng sk-1 đƣ бпМ đ nh. Cần phải бпМ đ nh đ НƠi b
N u thaв h* trong (2.15) b i
b
МЯ
Мl
М lặp k, đi m uk-1 ЯƠ ЯцМ t Мhuв n
М k thoả mƣn (2.9)
ng h h * , h h * thì ta Я n nh n đ
М
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
Đầu ra: đ НƠi b
МЯ
t khe
ng tìm ki m s
CпМ tham s : a=0.5, đ Мhính бпМ và
Ta thựМ hi n МпМ b
B
М sau:
М 1:
Giả s = a >0 tính hk
51
Luận án Tiến sĩ Kỹ thuật
N u hk hk 0 thì = 0, = a, sang b
2013
М2
N u hk hk 0 thì lặp gán: = ; = 1,5 Мho đ n khi
b
hk hk
sang
М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
N u hk hk thì = ЯƠ quaв l i b
B
М 2.
М 2.
М 3:
Gi nguвên giп tr m i = ЯƠ Мhấp nh n b
trình бпМ đ nh b
МЯ
М “Я
t khe" k . Quá
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
a = 0,5; = 0,01.
CпМ tr
ng h p Мh n đ НƠi b
ng h p
М 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 k1 .
- Tr
ng
k
- Tr
0 1 k
ng h p 2: Giп tr k thoả mƣn h th М sau đ Мh a đ t t i lòng khe lƠ
1
, 2 0 . L- hằng s Lipshitz, lƠ giп tr М n trên М a đ Н М t i đa
2 L
М a hƠm m М tiêu.
- Tr
ng h p 3: Giп tr k Я
t qua lòng khe lƠ
d
J u k .s k
d
v
0
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
tr ng. N u đ НƠi b
N u đ НƠi b
đ
М sự u n l
М h М trong bƠi toпn khe hẹp Мó ý nghĩa đặМ bi t quan
М h М mƠ quп nh thì t n th i gian thựМ hi n М a mпв tính.
М h М l n thì Мó th gơв tr ng i Мho Яi М tìm ki m Яì khó theo Нõi
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
sk-1 đƣ бпМ đ nh. Cần phải бпМ đ nh đ НƠi b
Đ n đơв, Мhúng ta đƣ Мó đ
М lặp k, đi m uk-1 ЯƠ ЯцМ t Мhuв n đ ng
М k thoả mƣn đi u ki n (2.7).
М 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
Tìm đ НƠi b
B
М 1
2
М 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
B
М 1(2):
J u 0 0.75s0 0.5 J u 0 0.5s 0 nên a 0.75 ; sang b
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
B
М
J u1 0.005 .
3:
0.525; Tính
Мho đ n khi J u k Мho tr
B
М 1.
М lặp k=2. T
ng tự nh b
u1
theo
u0 s0 ,
М 2.
М 3.
u1=(4,95;4,95)
Я i
М 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
2.2.
ng d ng thu t toán v
2013
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 đƣ đ
m М đíМh rằng lƠm sao thựМ hi n đ
М nghiên М u ЯƠ phпt tri n ti p đ h
ng t i m t
М МпМ 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
h М, s Н ng qui tắМ mô-men, b
ng nh Яi М thaв đổi t М đ
М 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
h i t М a giải thu t lan truв n ng
ng 1 m t nhơn t ảnh h
М sai s lƠ b
ng đ n hi u lựМ ЯƠ đ
М 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
Мh n bằng thựМ nghi m theo ph
2013
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
tr b
ng gần nhất mƠ không đ t đ
М đ sai s nh mong mu n. Tuв nhiên, đặt giп
М 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 Мó МпМ đ
nh th nƠв, Мh n b
ng đ ng m М b kцo НƠi, Мong t o thƠnh khe. V i МпМ hƠm Н ng
М 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
lan truв n ng
Мk th pЯ ib
ng phпp luв n m ng n ron bằng th t М
М 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
V i Яi М s Н ng ph
2013
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ắМ
Мhuỗi ta Мó
2.3.1.1.
J J w1 wn
.
...
w w1 w2 w
Đ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
Я: tổng tr ng hóa v
b j y j nên v/bj = yj (b
M 1
j 0
qua Мhỉ s М a МпМ
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).
Ta có:
J J z v
. . z t .z 1 z. y
b z v b
(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
b . z t .z.1 z. y
2013
(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 đ
qui tắМ Мhuỗi, J a J y. y u . u a .
G i:
М tính theo
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
u: tổng tr ng hóa u
ai xi nên u/ai = xi
N 1
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
l p ra. Ta Мó
y k 0 zk vk y
.z v đ
Ta Мhỉ бцt Мho m t n ron l p ẩn nên Мhỉ s М a l p ẩn ta l
giản. Đ n đơв ta nh n thấв l
Мhỉ s k nói rằng J
z
k
ng J
zk
z
М lan truв n ng
М b Мho đ n
М Я l p ẩn,
z t .z . 1 z (Мông th М nƠв đ М
k
vk k k k
y b , Я i Мhỉ s k ta Мó v y b . Đ n đơв, s h ng đầu tiên
J a J y. y u . u a đƣ đ М hoƠn thƠnh.
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
М a
k
k
J K 1
zk tk .zk .1 zk .bk , trong Мông th М nƠв ta đƣ l М b Мhỉ s М a
y k 0
n ron l p ẩn, Мпi mƠ đ
М gắn Я i в (Яi t đầв đ phải lƠ J
, Я i j=0...M-1).
yi
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
y 1
1 e
u
gi a в ЯƠ u theo hƠm kíМh ho t n ron
, 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
các thƠnh phần vec-t đầu ЯƠo u
ai xi
N 1
i 0
nên ta có ngay u ai xi . Tóm l i,
ta Мó đ o hƠm hƠm m М tiêu theo m t tr ng s М a l p ẩn:
J K 1
zk tk .zk .1 zk .bk . y.1 y .xi
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ý Я
Phần mƣ th t М DIEUCHINHTRONGSO() đ
t khe.
М 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 đ
Мông th М (2.19). (M t phần trong Мông th М (2.19) đ
М tính theo
М 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 đ
f
М lựa Мh n lƠ sigmoiН.
1
1 exp -x
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
đó s lƠ bao nhiêu? Vấn đ nƠв đôi khi phải Нự bпo tr
ng n ron trong l p ẩn lúМ
М 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
Hard Limit
Limit
Linear
f x
Log-sigmoid
Bi u t
0 if x 0
f
1 if x 0
1 if x 0
f
1 if x 0
Symmetrical Hard
2.3.3.1.
Mô t hƠm
f
ng
Hàm Matlab
Hardlim
Hardlims
Purelin
1
1 exp -x
logsig
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
Я i kíМh th
ng n ron đầu ЯƠo М a m ng bằng s thƠnh phần М a ЯeМ-t đầu ЯƠo б
М 35×1.
#define SLNRLV
S l
35
// SO LUONG NO RON LOP VAO
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
th . Tuв nhiên, n u Мh n kíМh th
М
М М a l p ẩn m t МпМh М
М 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
S l
5
// SO LUONG NO RON LOP AN
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
#define SLNRLR
10
М 10×1.
// 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.
phổ bi n đó lƠ đ nh nghĩa m t giп tr ng
đ tđ
đơв ta s Н ng m t ph
ng sai s đ Нừng l i giải ЯƠ Мoi nh đƣ
М nghi m М a bƠi toпn, haв lƠ đƣ tìm đ
nghĩa giп tr ng
ng phпp rất
ng lƠ bao nhiêu? Nó Мó th ảnh h
М b tr ng s t i u. V в, đ nh
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
luв n m ng lƠ BLTD, n u s b
М lặp Я
М lặp trong quп trình huấn
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
Giп tr FD đ
#define FD
30000
// BUOC LAP TOI DA
М s Н ng trong thu t toпn tính b
Мh МЯ
t khe.
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 đƣ đ
luв n. NgoƠi ra, Яi М Мh n t p h s huấn luв n Мũng ảnh h
М huấn
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 đ
s đem l i m t mặt Мhất l
ng nhiên Мũng
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 Я
2.3.3.2.
t khe.
Hàm khởi tạo trọng số
LƠ hƠm kh i t o МпМ giп tr tr ng s s đ
Cấu trúМ Н li u М a giп tr tr ng s đ
М s Н ng Мho МпМ m ng n ron.
М 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
trình tìm ki m đi m МựМ ti u, бem th ng kê
ng đ n quп
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
2.3.3.3.
2013
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ý Я
thu t toпn đ tính b
Мh МЯ
TINHBUOCHOCVUOTKHE() s
t khe, sau đơв lƠ đo n mƣ tính b
đ
t khe Мũng nh
М h М. Th t М
М 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
2.3.3.4.
2013
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
3000 lần lặp. N u в u t th nhất th a mƣn thì m ng đ
sƠng Мho ng
М lặp Я
t quп
М huấn luв n бong ЯƠ sẵn
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
Trong
gói
phần
Мh МЯ
t khe.
m m
Мũng
đ a
thêm
hai
th
HUANLUYENCODINH(), th t М nƠв s huấn luв n m ng Я i b
lƠ 0.2 ЯƠ th hai lƠ HUANLUYENGIAMDAN() Я i b
t khe. M М 2.3.4.2 trong Мh
th t М nƠв.
toc _ do _ hoc
m t
lƠ
М h М Мh n М đ nh
М 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
lý Я
t М,
М h М tính theo nguвên
ng nƠв s th ng kê 20 lần luв n m ng Я i ba
a
so _ buoc _ lap*b c
(2.20)
Trong đó a, b, М lƠ МпМ hằng s .
2.3.4. K t qu ch y ch
2.3.4.1.
ng trình vƠ so sánh
Chạy chương trình
Sau khi l p trình bằng Visual C++, Мh в Мh
m t trong ba ph
ng пn từ bƠn phím: М, g, Я t
ng trình, Мhúng ta Мần lựa Мh n
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
tính
М
h М
Я
t
khe
theo
thu t
toпn
Я
t
khe
bằng
th
t М
69
Luận án Tiến sĩ Kỹ thuật
TINHBUOCHOCVUOTKHE() (Яi t tắt lƠ Я) đ
nh p từ bƠn phím đ lựa Мh n b
Мh Мđ
2013
М s Н ng đ luв n m ng. CпМh th М
М 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
2.3.4.2.
So sánh các phương án
Chúng ta s lần l
b
2013
t luв n m ng theo ba ph
М h М М đ nh bằng 0.2, ph
ng пn th hai lƠ b
tr 1) sau mỗi b
М lặp theo Мông th М (2.20), ph
theo nguвên lý Я
t khe. Mỗi ph
ng пn, ph
ng пn th nhất lƠ
М h М giảm Нần (bắt đầu từ giп
ng пn th ba lƠ b
М h М tính
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
V ib
М h М lƠ 0.2.
М 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
Я i trung bình 37 b
Мũng đ
М h М tính theo nguвên lý Я
t khe, t М đ h i t Мao h n
М lặp ta đƣ luв n m ng бong, s lần thất b i khi luв n m ng
М giảm đi.
M t nh
М đi m М a ph
đ mпв tính б lý tính toпn b
ng пn tính b
Мh МЯ
М h М trong mỗi b
t khe lƠ Мhi phí th i gian
М 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
cv
t khe
1
Thất b i
2
7902 (b
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
gk t
TB: 10000 b
Thất b i
B
М lặp)
c l p, 7
th t b i/20
3634 (b
Thất b i
М lặp)
Trung bình: 2740 b
l p, 3 th t b i/20
23 (b
c
TB: 37 b
М lặp)
c l p, 2
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
1
B
c h c c đ nh 0.2
11212 (b
М lặp)
B
c h c gi m d n t 1
Thất b i
B
cv
t khe
41 (b
2
Thất b i
3735 (b
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
gk t
TB: 10133 b
c l p, 8
th t b i/20
М lặp)
М lặp)
Trung bình: 2728 b
l p, 3 th t b i/20
28
c
TB: 36 b
c l p, 1
th t b i/20
75
Luận án Tiến sĩ Kỹ thuật
2.4.
K t lu n ch
Trong Мh
2013
ng 2
ng 2, tпМ giả đƣ gi i thi u Я m t thu t toпn m i đ tìm b
phù h p Мho mặt lỗi Мó Н ng khe lƠ thu t toпn Я
t khe. Đ Мó th tìm đ
М h М,
М 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
thƠnh Мông th t М huấn luв n m ng theo ph
thu t lan truв n ng
М. Đó lƠ М s đ МƠi đặt
ng phпp Я
t khe k t h p Я i kỹ
М đ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
Я
t khe Я i МпМ b
М h М khпМ th
ng haв đ
М s
Мh М
Н 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
CH
2013
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
3.1.
ng 3
Đ tv nđ
Trong quп trình luв n m ng n ron, hai в u t ảnh h
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 b
М h М đ Мho phцp Мó th Я
giп tr b
h М th
Мó b
ng m nh m đ n Яi М
i ta th
t qua nh ng МựМ tr đ a ph
ng tìm МпМh thaв
ng. Không Мó m t
М h М бпМ đ nh nƠo Мho МпМ bƠi toпn khпМ nhau. V i mỗi bƠi toпn, b
ng đ
М lựa Мh n bằng thựМ nghi m theo ph
М
ng phпp th ЯƠ sai, hoặМ s
М 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
th
М
đơв lƠ lan truв n ng
ng Мh n lƠ hƠm mƠ nó t i thi u hoп đ
th М hi u Мhỉnh tr ng s М a thu t toпn lƠ ng
sai s trung bình bình ph
bình bình ph
ng th
М lỗi trong m ng, hƠm lỗi
М sai s trung bình bình ph
Мh
ng. CпМh
ng Я i ЯeМt GraНient М a hƠm
ng. Đ i Я i m ng n ron nhi u l p thì hƠm sai s trung
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
k t wij nên trong ph m Яi
3
ki ,3
ki
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 Н
Cấu trúМ m ng n ron đ
М
i Н ng m t mảng Н li u.
М М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
khe ЯƠ ph
ng phпp tính b
Có th nh n thấв rằng b
b
М h М khпМ nh b
Мh МЯ
Мh МЯ
ng 2, tпМ giả đƣ đ бuất Я thu t toпn Я
t khe đ М p nh t tr ng s М a m ng n ron.
t khe u Яi t h n hẳn МпМ ph
М h М М đ nh, b
t
ng phпp М p nh t
М 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
toпn Я
М k t h p Я i thu t
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 57 =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
М
351, Я 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
là: f 1 / (1 exp(-x))
HƠm sai s s Н ng Мho luв n m ng:
ng trình М a hƠm sigmoiН
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Н.
М bảng 3.3.
Sau khi l p trình ЯƠ Мho luв n m ng 14 lần ta Мó đ
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 đó đ
truв n ng
М sai s lƠ ph
М giải thíМh: Нo bản Мhất М a giải thu t h М lan
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
Яí Н đặМ tr ng Мho Яi М бấp бỉ МпМ đ i t
ng đó đ
М đпnh giá trong 3
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
s trung bình bình ph
toпn lƠ ng
Мh
М.
М h i t đ n m t giải phпp mƠ nó t i thi u hoп đ
М sai
ng Яì МпМh th М hi u Мhỉnh tr ng s ЯƠ h s bias М a thu t
ng Я i ЯeМt GraНient М a hƠm sai s trung bình bình ph
Я i tr ng s . Tuв nhiên, đ i Я i m ng MLP Мó mặt Мhất l
hƠm sai s trung bình bình ph
ng th
ng đ i
ng Н ng lòng khe 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
М МựМ tr tổng th . CпМ giп tr
ng mƠ không đ t đ n đ
kh i t o М a МпМ tr ng s ảnh h
nƠв th
ng đ
ng rất m nh đ n l i giải Мu i Мùng. CпМ tr ng s
М 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 đ
tr
М rằng GA tìm đ
М b tr ng s t i u t t h n BP trong m t s
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
toпn nh n Н ng Мh Яi t đƣ trình bƠв trong МпМ Мh
Мho Мả hai ph
М sai s , ta s Н ng l i bƠi
ng tr
М, Мh n tham s Мhung
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
Tham s М a thu t lan truв n ng
-B
2013
М sai s :
М 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
thíМh nghi ЯƠ ph
ng Н đ t đ
М bằng МпМh Мh n hƠm
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
Nh n бцt 2: CпМ ph
ng phпp t i u М М b khпМ.
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 đ
sau đó s đ
М giải mƣ ЯƠ đ
М l u gi l i. CпМ Мп th nƠв
М đ 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 , a 20 ,...., a 0 )
2. Tính toпn giп tr thíМh nghi f ( a it ) М a mỗi nhi m sắМ th a it 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 (a i't ) chèn vào
quần th .
6. Tăng s l
b
ng các th h n u Мh a đ t đ n đi u ki n k t thúМ và lặp l i từ
М 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
mƣ hóa МпМ gen theo s thựМ ta đ
М М a quần th ),
М đ НƠ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
TSSE f tij zij
s
đơв Мó Н ng nh sau:
m
(3.1)
i 1 j 1
Trong đó s lƠ tổng s МпМ m u h М, m lƠ s l
bình ph
ng МпМ n ron l p ra, G lƠ tổng
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
Cr ROUND[F fit (i, j ) L]
М
ng trình sau:
[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:
Mr 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
b
М sai s l
М b đi m t s
М 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
nhi m sắМ th đ
ng vec-t ) cho giai đo n th hai. Trong đó, mỗi
М 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 đ
lỗi (TSSE) М a m ng n ron t
М бпМ đ nh lƠ tổng bình ph
ng
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
thaв đổi theo thu t toпn Я
t khe đƣ đ
М đ бuất
М Я i МпМ b
Мh Мđ
М
hình 2.4.
90
Luận án Tiến sĩ Kỹ thuật
3.3.
2013
Á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
h М bằng thu t toпn Я
М, М p nh t МпМ h s
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 đ
trình bƠв
М luв n Я i b МпМ ký tự m u Мh Я i kíМh th
trên. CпМ giп tr ban đầu nh s đầu ЯƠo (35), s l
М7б5đ
М
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
М a m ng lƠ tỷ l lỗi nh n Н ng đ
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 đ
Мho giai đo n 2. V i sự thaв đổi b
М s Н ng đ kh i t o tr ng s
М 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 Я
truв n Мho nh n Н ng Мh đ
t khe ЯƠ Нi
М 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
K t lu n ch
3.4.
Trong Мh
h
ng 3
ng 3 Мhúng ta đƣ nghiên М u các ví d c th đ thấy sự ảnh
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
thu t h c lan truy n ng
đ
2013
М đi m c a giải thu t di truy n và
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 Я
khe trong quп trình luв n m ng n ron s Н ng kỹ thu t lan truв n ng
đ a ra m t Яí Н trong su t МпМ Мh
t
М, tпМ giả đƣ
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 đ
Trong Яí Н m ng n ron đ
М luв n Я i 3 ph
l
М h М giảm Нần ЯƠ b
t lƠ b
М h М М đ nh, b
V ib
М l p trình trên phần m m C++.
ng phпp có b
М h М М đ nh, ta thấв rằng s b
Мh МЯ
М h М khпМ nhau lần
t khe.
М 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
V ib
М h М lƠ 0.2.
М 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
Я i trung bình 37 b
Мũng đ
М h М tính theo nguвên lý Я
t khe, t М đ h i t Мao h n
М lặp ta đƣ luв n m ng бong, s lần thất b i khi luв n m ng
М giảm đi.
Мh
Trong Мh
ng 1 ЯƠ Мh
ng 3 bƠi toпn nh n Н ng Мh Яi t đ
ng 1 b Мông М Neural Network Toolboб đ
М l p trình trên Matlab.
М s Н ng đ luв n m ng.
Các tham số luyện mạng:
KíМh th
М ký tự = 5 б 7
S n ron l p ẩn = 5
S đầu ra = 10
S đầu ЯƠo = 35
Đ М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 đ
М a giai đo n 1 đ
b
М lƠ 5.679. K t quả
М s Н ng đ kh i t o tr ng s Мho giai đo n 2. V i sự thaв đổi
М 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 Я
Мho nh n Н ng Мh đ
t khe ЯƠ Нi truв n
М 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
МпМ b
ng. Thu t toпn “Я
t khe” nhằm tìm ki m
М 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 Я
lƠ đ tìm b
t khe
М 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
Đ xu t h
ng phпp khпМ nhau.
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 “cleftoverstep” 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
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.
[1] Bùi Công C
[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, 2022/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.
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.
[11]
[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.
Đỗ 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.
[13]
100
Luận án Tiến sĩ Kỹ thuật
[14]
2013
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. I593-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
[24]
2013
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.
D.E. Goldberg, “Genetic Algorithms in Search, Optimization, and Machine
Learning”, Addison-Wesley Pub. Comp. Inc., Reading, MA, 1989
[26]
Cong Huu Nguyen, Thanh Nga Thi Nguyen, Phuong Huy Nguyen, “
Research on the application of genetic algorithm combined with the “cleft-
[27]
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.
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.
[31]
T. Denoeux, R. Lengellé, Initializing back propagation networks with
prototypes, Neural Networks 6 (1993),pp 351-363.
[32]
[33]
G.P.
Drago,
S.
Ridella,
Statistically controlled
activation
weight
initialization (SCAWI), IEEE Trans. Neural Networks 3 (1992) 627-631.
J.-P. Martens, A stochastically motivated random initialization of pattern
classifying MLPs, Neural Process. Lett. 3 (1996) 23-29.
[34]
T. Masters, Practical Neural Network Recipes in C+ + , Academic Press,
Boston, 1993.
[35]
102
Luận án Tiến sĩ Kỹ thuật
[36]
2013
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.
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.
[38]
[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.
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.
[40]
[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.
D. Anthony, E. Hines, “The use of genetic algorithms to learn the most
appropriate inputs to neural network”, Application of the International
[44]
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
Cong Nguyen Huu; Nam Nguyen Hoai, “Optimal control for a distributed
parameter and delayed – time system based on the numerical method”, Teth
[47]
103
Luận án Tiến sĩ Kỹ thuật
2013
international conference on Control, Automotion, Robotics and vision
(ICARCV’2008).
M.Norgaard, O.Ravn, N.K. Poulsen and L.K. Hansen. Neural Network for
Modelling and Control of Dynamic System. Springer 2000.
[48]
Kumpati S. Narendra fellow, IEEE, and Kannan parthasarathy. Identification
and control of Dynamical Systems Using Neural Networks.
[49]
[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.
A. Griewank, J. David, U. Jean, ADOL-C: a package for the automatic
differentiation of algorithms written in C/C+ + , ACM Transactions on
[52]
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.
S. Seshagiri and H. K. Khalil (2000), “Output feedback control of nonlinear
systems using RBF neural networks”, IEEE Transactions on Neural Networks,
[54]
Vol. 11, No. 1, pp. 69ậ79.
S.S. Ge, C. C. Hang, Tao Zhang (1999), “Adaptive Neural Network Control
of Nonlinear Systems by State and Output Feedback", IEEE Transactions on
[55]
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.
Tomohisa Hayakawa (2005), “A New Characterization on the
Approximation of Nonlinear Functions via Neural Networks: An Adaptive
[57]
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.
Tomohisa Hayakawa, Wassim M. Haddad, James M. Bailey, Naira
Hovakimyan (2005), “Passivity-Based Neural Network Adaptive Output
[58]
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.
Tomohisa Hayakawa, Wassim M. Haddad, and Naira Hovakimyan (2008),
“Neural Network Adaptive Control for a Class of Nonlinear Uncertain
[60]
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
PH L C 1: M T S
KI N TH C C
S
2013
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
ng u nhiên
th i đi m kh i t o m ng ЯƠ đ
2013
c c p nh t liên t c trong quá trình h c
m ng.
♦ B t ng (Summing function): Th
vào v i tr ng s liên k t c a nó.
ng Нùng đ tính tổng c a tíМh МпМ đầu
♦ Ng ng (còn g i là m t đ l ch - bias): Ng
nh m t thành phần c a hàm truy n.
♦ HƠm truy n (Transfer function): HƠm nƠв đ
ng nƠв th
ng đ
М đ a ЯƠo
М Нù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
thi t k m ng.
i
♦ Đ 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
n (n≥2) l p (thông th
ng l p đầu ЯƠo không đ
2013
М 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 đ
MLP 2 l p trong đó МпМ n ron s Н ng hƠm truв n sigmoiН.
М b i m t m ng
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 đ
trong các m ng n ron th
ng đ
М Мho tr
c thực hi n theo МпМ b
c. H c có giám sát
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
kh i t o các tr ng s liên k t c a m ng.
ng x0), m n ron đầu ra, và
♦ 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
(MSE: mean-square error): Err = (z- t)2/2;
ng
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
NhắМ l i rằng lan truв n ng
2013
М, 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 trên m ng tuв n tính m t l p.
ng đ
ng thu t toпn LMS khi s
Bâ
.
.
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
n ron trong m ng.
ng tự Мho nhau Мho tất Мả МпМ
113
Luận án Tiến sĩ Kỹ thuật
II.3.2. Hi u qu c a lan truy n ng
2013
c
.
(w)
tr ng hóa a j w ji zi , v
i
i
;
ji
trên
(w).
(w)
(w )
2
g O(w)
đ lan truв n ng
(w)
М
(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
v i m t bƠi toпn Мho tr
ng d n kíМh th
c m u phải lƠ bao nhiêu đ i
c. Hai y u t quan tr ng ảnh h
ng đ n kíМh th
♦ D ng hƠm đíМh: khi hƠm đíМh МƠng ph c t p thì kíМh th
c m u:
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
m u cần tăng.
c
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 Мó đ
♦ KíМh th
cs l
ng m u mong mu n.
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
s l n h n 14 lần. Đ lƠm đ
2013
М đ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
tuв n tính
tầng ẩn. Vì n u Нùng hƠm truв n
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
s(u) đ
i ta th
ng s Н ng МпМ hƠm truв n Н ng ậ S. M t hƠm
М 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:
1
stepx
0
*Hàm dấu:
1
stepx
1
x0
1
stepx
0
x
x0
1
stepx
1
x
x0
x0
*Hàm sigmoid: Sigmoid( x)
1 e
x
x
1
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 đ
s МƠng tăng.
c m ng nắm bắt, nh ng th i gian h c
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 đ
mô hình m ng n ron.
c gi l i, chúng s t o nên b б
ng Мho
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
th
ng phải tìm đ n m t giải thu t hi u quả mƠ k t quả thu đ
u. Trong nhi u tr
i ta
М Мhỉ lƠ бấp бỉ t i
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ừng th h , tính thíМh nghi М a t p h p nƠв đ
Мh n l М đ nh h
М
tất Мả МпМ th h . Trong
Мl
ng, nhi u Мп th đ
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 đ
Нựa trên m t quan ni m đ
М hình thƠnh
М М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
bao gi Мũng t t h n th h tr
Мhỗ th h sau
М.
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п đ
trong Мông trình "EЯolution Strategies" (CпМ Мhi n l
đó đ
М ReМhenberg gi i thi u
М 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
s bƠi toпn ЯƠ g i ph
ng trình giải quв t m t
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ú Я , đ
thựМ ti n nh ng th
I.3.
М ng Н ng nhi u trong
ng khó ЯƠ Мh a Мó giải thu t hi u quả đ giải.
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
M t NST đ
ng đ
ng.
М 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 đ
4. [Ch n k t qu ] N u đi u ki n Нừng đ
М Мh n, bi n đổi Мп th m i
М 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
(BP) l i cho phép đ t đ
c sai s
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}.*(1x{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
PH L C 3: MÃ NGU N CH
V IB
CH CV
2013
NG TRÌNH LUY N M NG N RON
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,
0,1,0,0,0,0,1,
1,1,1,1,1,1,1,
0,0,0,0,0,0,1,
/* 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,1,0,0,0,0,0,0,0,0
{ 0,0,1,0,0,0,0,0,0,0
{ 0,0,0,1,0,0,0,0,0,0
{ 0,0,0,0,1,0,0,0,0,0
{ 0,0,0,0,0,1,0,0,0,0
{ 0,0,0,0,0,0,1,0,0,0
{ 0,0,0,0,0,0,0,1,0,0
{ 0,0,0,0,0,0,0,0,1,0
{ 0,0,0,0,0,0,0,0,0,1
{ 0,0,0,0,1,0,0,0,0,0
{ 0,0,0,0,0,1,0,0,0,0
{ 0,0,0,0,0,0,0,1,0,0
{ 0,0,0,1,0,0,0,0,0,0
{ 0,0,1,0,0,0,0,0,0,0
{ 0,0,0,0,1,0,0,0,0,0
{ 1,0,0,0,0,0,0,0,0,0
{ 0,0,0,0,0,0,0,0,0,1
}, /*
}, /*
}, /*
}, /*
}, /*
}, /*
}, /*
}, /*
}, /*
}, /*
}, /*
}, /*
}, /*
}, /*
}, /*
}, /*
}, /*
} };/*
0
1
2
3
4
5
6
7
8
9
4
5
7
3
2
4
0
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
void
void
float
void
void
void
KHOITAOMANG();
QUATRINHHUANLUYEN();
DAPUNGDAURA(int afer[]);
GIATRIHAMMUCTIEU(int x[],float y[],int SIZE);
DIEUCHINHTRONGSO(int k);
HAMMUCTIEU();
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