Academia.eduAcademia.edu
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) ........ x1x1 x1xn   2 J ( x)   2 J ( x)      xi x j  nn .... .... .... (1.1)  2 J ( x)  2 J ( x) ........ xn x1 xn xn Ma trËn nµy cßn gäi lµ Hessian: H(x)  2J(x). Gi¶ sö H(x) x¸c ®Þnh d- ¬ng vµ cã c¸c gi¸ trÞ riªng s¾p xÕp theo thø tù gi¶m dÇn: 1(x)  2(x) .... n(x) > 0. 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,5x, 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 xD xD  (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 57 =35 đ mƣ hóa Мho mỗi ký tự. T ng ng Я i mỗi ЯeМt đầu ЯƠo б lƠ m t ЯeМt Мó kíМh th М 351, Я i МпМ thƠnh phần nh n МпМ giп tr hoặМ 0 hoặМ 1.Nh Я в, ta Мó th lựa Мh n l p n ron đầu ЯƠo Мó 35 n ron. Đ phơn bi t đ Мm i ký tự, Мhúng ta Мho l p đầu ra М a m ng lƠ 10 n ron. Đ i Я i l p ẩn ta Мh n 5 n ron, ta đ М Мấu trúМ m ng nh hình 1.5, trong đó: - VцМ t đầu ЯƠo б, kíМh th М 351 - VцМ t đầu ra l p ẩn в, kíМh th М 51 - VцМ t đầu ra l p ra z, kíМh th М 101 - Ma tr n tr ng s l p ẩn: W1,1, kíМh th М 355 - Ma tr n tr ng s l p ra: W2,1, kíМh th М 510 Hình 1.5: Cấu trúc mạng nơron cho nhận dạng chữ 25 Luận án Tiến sĩ Kỹ thuật 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 k1 s k-1 , u k 1  E n  40 Luận án Tiến sĩ Kỹ thuật 2013 Trong đó u lƠ ЯeМ-t bi n М a hƠm m М tiêu J(u) t i b НƠ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  BkT1  J ' u k 1  J ' u k 2  Trong đó Rk lƠ toпn t kцo giƣn không gian theo h 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 k1   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 k1 S k 1 T  hk'  k   J s' u k 1   .S k1 Ta đ М đi u ki n sau:    T    J s' u k1 S k1 T   hk'  k .hk' 0  J s' u k 1 S k 1 J s' u k T ng S. T S k1  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  h0 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 k1  . - 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 57 =35 đ mƣ hóa Мho mỗi ký tự. T ng ng Я i mỗi ЯeМt đầu ЯƠo б lƠ m t ЯeМt Мó kíМh th М 351, Я i МпМ thƠnh phần nh n МпМ giп tr hoặМ 0 hoặМ 1. Nh Я в, ta Мó th lựa ch n l p n ron đầu ЯƠo Мó 35 n ron. Đ phơn bi t đ Мm i ký tự, Мhúng ta Мho l p đầu ra М a m ng lƠ 10 n ron. Đ i Я i l p ẩn ta Мh n 5 n ron, ta có Мấu trúМ m ng nh hình1.5. HƠm f đ М Мh n lƠ hƠm sigmoiН Яì thựМ t hƠm nƠв Мũng haв đ М Нùng Мho m ng n ron nhi u l p ЯƠ h n n a Нo đặМ đi m М a hƠm sigmoiН rất Н sinh ra mặt sai s Мó Н ng lòng khe hẹp. Ph 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 stepx   0 *Hàm dấu: 1 stepx    1 x0 1 stepx   0 x x0 1 stepx    1 x x0 x0 *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