Nghiên cứu lí thuyết về thuật toán vượt khe và xây dựng thuật toán

28 523 1
Nghiên cứu lí thuyết về thuật toán vượt  khe và xây dựng thuật toán

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Nghiên cứu lí thuyết về thuật toán vượt khe và xây dựng thuật toán tính bước học vượt khe. Xây dựng thuật toán huấn luyện mạng nơron bằng kỹ thuật lan tuyền ngược kết hợp với thuật toán vượt khe Nghiên cứu lí thuyết về thuật toán vượt khe và xây dựng thuật toán tính bước học vượt khe. Xây dựng thuật toán huấn luyện mạng nơron bằng kỹ thuật lan tuyền ngược kết hợp với thuật toán vượt khe Nghiên cứu lí thuyết về thuật toán vượt khe và xây dựng thuật toán tính bước học vượt khe. Xây dựng thuật toán huấn luyện mạng nơron bằng kỹ thuật lan tuyền ngược kết hợp với thuật toán vượt khe Nghiên cứu lí thuyết về thuật toán vượt khe và xây dựng thuật toán tính bước học vượt khe. Xây dựng thuật toán huấn luyện mạng nơron bằng kỹ thuật lan tuyền ngược kết hợp với thuật toán vượt khe

1 MỞ ĐẦU Tính cấp thiết đề tài Trong nhiều lĩnh vực điều khiển, tự động hóa, cơng nghệ thơng tin…, nhận dạng đối tượng vấn đề mấu chốt định thành công toán Một nhược điểm dùng mạng nơron chưa có phương pháp luận chung thiết kế cấu trúc mạng cho toán nhận dạng điều khiển mà phải cần tới kiến thức chuyên gia Mặt khác xấp xỉ mạng nơron với hệ phi tuyến khó khăn luyện mạng khơng tìm điểm tối ưu tồn cục Hiện nay, việc nghiên cứu thuật tốn tìm nghiệm tối ưu toàn cục luyện mạng nơron số tác giả nghiên cứu áp dụng Tuy nhiên sử dụng mạng nơron để xấp xỉ số đối tượng phi tuyến mà mặt lỗi sinh có dạng lịng khe, việc huấn luyện mạng gặp nhiều khó khăn Nội dung đề tài nghiên cứu thuật tốn tìm điểm tối ưu tồn cục q trình luyện mạng nơron thuật tốn vượt khe có kết hợp với giải thuật di truyền Mục tiêu luận án - Đề xuất mô hình kết hợp thuật tốn vượt khe giải thuật di truyền để huấn luyện mạng nơron - Xây dựng công cụ phần mềm luyện mạng nơron cho số tốn có mặt lỗi đặc biệt, làm sở bổ sung vào Neural Toolbox Matlab Nội dung luận án - Nghiên cứu lí thuyết thuật tốn vượt khe xây dựng thuật tốn tính bước học vượt khe - Xây dựng thuật toán huấn luyện mạng nơron kỹ thuật lan tuyền ngược kết hợp với thuật toán vượt khe - Đề xuất thuật toán huấn luyện mạng nơron kỹ thuật lan truyền ngược có sử dụng giải thuật di truyền kết hợp với thuật toán vượt khe - Viết cài đặt chương trình huấn luyện mạng nơron C++ - Viết cài đặt chương trình huấn luyện mạng nơron Matlab CHƢƠNG MẠNG NƠRON VÀ QUÁ TRÌNH HỌC CỦA MẠNG NƠRON 1.1 Giới thiệu mạng nơron trình học mạng 1.1.1 nơron Mạng nơron phƣơng pháp học Mạng nơron nhân tạo, gọi tắt mạng nơron, mơ hình xử lý thông tin theo cách thức xử lý thông tin hệ nơron sinh học Nó tạo lên từ số lượng lớn phần tử (gọi nơron) kết nối với thông qua liên kết (gọi trọng số liên kết) làm việc thể thống để giải vấn đề cụ thể Một mạng nơron nhân tạo cấu hình cho ứng dụng cụ thể (nhận dạng mẫu, phân loại liệu, ) thơng qua q trình học từ tập mẫu huấn luyện Về chất học q trình hiệu chỉnh trọng số liên kết nơron cho giá trị hàm lỗi nhỏ Có ba phương pháp học phổ biến học có giám sát, học khơng giám sát học tăng cường Học có giám sát phương pháp sử dụng phổ biến nhất, tiêu biểu kỹ thuật lan truyền ngược 1.1.2 Đánh giá nhân tố trình học 1.1.2.1 Khởi tạo trọng số Do chất giải thuật học lan truyền ngược sai số phương pháp giảm độ lệch gradient nên việc khởi tạo giá trị ban đầu trọng số giá trị nhỏ ngẫu nhiên làm cho mạng hội tụ giá trị cực tiểu khác 1.1.2.2 Bước học α Việc chọn số học ban đầu quan trọng Với tốn ta lại có phương án chọn hệ số học khác Khi trình huấn luyện theo kỹ thuật lan truyền ngược hội tụ, ta chưa thể khẳng định hội tụ đến phương án tối ưu Ta cần phải thử với số điều kiện ban đầu để đảm bảo thu phương án tối ưu 1.2 Nhận dạng hệ thống sử dụng mạng nơron 1.2.1 Nhận dạng hệ thống 1.2.1.1 Tại phải nhận dạng Bài toán nhận dạng vấn đề đặt lên hàng đầu nhiều lĩnh vực khác như: điện tử y sinh, điện tử viễn thơng, hệ thống điện, tự động hóa điều khiển… Ví dụ như: nhận dạng vân tay, nhận dạng ký tự, ảnh, tiếng nói, phát chẩn đoán bệnh 1.2.2 Nhận dạng hệ thống sử dụng mạng nơron 1.2.2.1 Khả sử dụng mạng nơron nhận dạng Xét trường hợp đối tượng phi tuyến có độ phức tạp cao, sử dụng phương pháp giải tích thơng thường để nhận dạng khó khăn, chí khơng thực hiểu biết nghèo nàn đối tượng Vì nhà khoa học đưa ý tưởng sử dụng công cụ tính tốn mềm hệ mờ, mạng nơron, đại số gia tử để xấp xỉ nhận dạng đối tượng Mạng nơron công cụ hữu hiệu để nhận dạng mơ hình đối tượng, phương pháp ta khơng biết mơ hình tốn thực đối tượng hồn tồn sử dụng kết xấp xỉ để thay đối tượng 1.2.2.2 Mơ hình nhận dạng hệ thống sử dụng mạng nơron Nhận dạng gồm: nhận dạng mơ hình nhận dạng tham số Nhận dạng mơ hình q trình xác định mơ hình đối tượng thơng số sở đầu vào đầu đối tượng Mơ hình thu sau nhận dạng gọi tốt thể đối tượng Như sử dụng mơ hình thay cho đối tượng để dự báo, kiểm tra điều khiển Mạng nơron huấn luyện để mơ hình hóa quan hệ vào Đối tượng y u đối tượng Như quy Mạng nơron trình nhận dạng mơ hình có - ˆ y chất thuật tốn luyện Hình 1.2: Mơ hình nhận dạng mạng Cấu trúc mạng nơron giải toán nhận dạng mơ hình đa dạng, tùy thuộc vào tốn cụ thể Nhận dạng tham số huấn luyện mạng, biểu diễn Hình 1.2 Tín hiệu sai số e y ˆ y sở cho q trình luyện mạng Mạng nơron mạng nhiều lớp dạng khác sử dụng nhiều thuật luyện mạng khác 1.2.2.3 Nhận dạng hệ thống sử dụng mạng nơron Nhận dạng hệ thống cần hai giai đoạn lựa chọn mô hình tối ưu tham số Đối với mạng nơron lựa chọn số nút ẩn, số lớp ẩn (cấu trúc mạng) tương đương với mơ hình lựa chọn Mạng huấn luyện theo kiểu giám sát với kỹ thuật lan truyền ngược, dựa vào luật học sai số hiệu chỉnh Tín hiệu sai số lan truyền ngược qua mạng Kỹ thuật lan truyền ngược sử dụng phương pháp giảm gradient để xác định trọng mạng tương đương với tối ưu tham số 1.3 Mặt lỗi đặc biệt luyện mạng nơron 1.3.1 Mặt lỗi đặc biệt luyện mạng nơron Hình 1.3: Mặt sai số dạng lịng khe e Hình 1.3 mơ tả mặt sai số, có vài điều đặc biệt cần ý mặt sai số này: độ dốc biến đổi cách mạnh mẽ khơng gian tham số Vì lý đó, khó lựa chọn tốc độ học phù hợp cho thuật tốn giảm dốc 1.3.2 Ví dụ v bi toỏn dn n mt li c bit Đặc điểm khe toán tối -u hoá ngµnh nhiƯt[28] Sử dụng mạng nơron để nhận dạng đối tượng Với hệ thống có độ phi tuyến cao làm để nhận dạng đối tượng ln câu hỏi đặt với Vì tính phi tuyến mạng nơron (hàm kích hoạt phi tuyến), chúng dùng để mô tả hệ thống phi tuyến phức tạp Luyện mạng nơron có hai trình, trình ánh xạ trình học Học thực chất trình lan truyền ngược Thực kỹ thuật lan truyền ngược giải toán tối ưu tĩnh với hàm mục tiêu mặt sai số Hình dạng mặt sai số phụ thuộc vào số lớp nơron loại hàm kích hoạt Trong mặt sai số với mạng tuyến tính lớp có cực tiểu đơn độ dốc khơng đổi, mặt sai số với mạng nhiều lớp có nhiều điểm cực tiểu cục bộ, bị kéo dài, uốn cong tạo thành khe, trục khe độ dốc thay đổi dải rộng vùng khác không gian tham số Thực tế, việc chọn hàm kích hoạt nào, chọn số lớp mạng nơron phụ thuộc vào đối tượng cần xấp xỉ Như vậy, độ phức tạp đối tượng cần xấp xỉ khác nên hàm mục tiêu khác dẫn đến trình học (giải tốn tối ưu) phức tạp Đặc biệt đối tượng cần xấp xỉ dẫn đến hàm mục tiêu có dạng lịng khe (ví dụ đối tượng nhiệt) trình học khó khăn chí khơng hội tụ ta sử dụng cơng cụ có Toolbox Matlab Mơ q trình luyện mạng nơron sử dụng 1.4 Toolbox Matlab 1.4.1 Mô huấn luyện 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 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) Mạng nơron sử dụng mạng truyền Hình 1.4: Kỷ nguyên luyện mạng ví dụ thẳng lớp có đầu vào ®Çu 1.4.2 Mơ huấn luyện mạng nơron có mặt lỗi đặc biệt Để minh họa, tác giả đề xuất cấu trúc mạng nơ ron để nhận dạng chữ số: 0, 1, 2, ,9 Trong hàm sigmoid sử dụng làm hàm kích hoạt f / (1 exp(-x)) Hình 1.5: Cấu trúc mạng nơron cho nhận dạng chữ Hình 1.6 trình bày kết trình luyện mạng cho tốn nhận dạng chữ với kỹ thuật lan truyền ngược sai số theo phương pháp Batch Gradient Descent (traingd), Batch Gradient Descent with Momentum (traingdm), Variable Learning Rate (traingda, traingdx) Các phương pháp tích hợp Neural Network Toolbox Matlab Nhìn chung phương pháp cho kết tốt, nhiên để đạt độ xác mong muốn thời gian cần thiết cho luyện mạng lớn Thậm chí có trường hợp tín hiệu lỗi thay đổi qua chu kỳ luyện mạng Hình 1.6: Các kết luyện mạng nơ ron với phương pháp lan truyền ngược khác (traingd, traingdm, traindx, trainda) 1.5 Tổng quan tình hình nghiên cứu ngồi nƣớc 1.6 Kết luận chƣơng Trong chương 1, tác giả phân tích nhân tố q trình học mạng nơron Tác giả nhận thấy rằng, kết luyện mạng nơron phụ thuộc lớn vào giá trị ban đầu vec-tơ trọng số bước học Việc mạng hội tụ đến điểm tối ưu tồn cục hay khơng nhiều phụ thuộc vào may mắn việc chọn giá trị khởi tạo ngẫu nhiên Thêm nữa, việc lựa chọn bước học để hội tụ hay tăng tốc độ hội tụ câu hỏi đặt ra, đặc biệt mặt lỗi có dạng đặc biệt Để minh chứng cho điều tác giả đưa ví dụ: Ở ví dụ 1, mặt lỗi dạng bình thường, sử dụng cơng cụ Toolbox Matlab để luyện mạng, mạng luyện thành cơng sau 65 bước tính Đến ví dụ thứ nhận dạng chữ viết tay thời gian luyện mạng lâu nhiều, chí tín hiệu lỗi cịn thay đổi qua chu kỳ luyện mạng Để giải vấn đề này, cần thiết phải tìm thuật tốn hiệu chỉnh bước học nhằm rút ngắn thời gian hội tụ mạng đồng thời tránh vấn đề cực trị địa phương CHƢƠNG 2: THUẬT TOÁN VƢỢT KHE TRONG Q TRÌNH LUYỆN MẠNG NƠRON 2.1 Thuật tốn vƣợt khe Cho toán tối ưu giải toán tối ưu không điều kiện: MinJ(u) u En (2.1) u vec-tơ không gian Euclide n chiều Công thức lặp bước thứ k: uk+1 = uk+ k sk, k = 0,1,…(2.2) đó: u : vectơ biến hàm Hình 2.2: Hàm khe mục tiêu J(u) bước lặp thứ k; k độ dài bước hàm theo hướng chuyển động sk Hướng chuyển động sk hoàn toàn xác định bước lặp k Hàm “khe” hàm mà mặt đồng mức kéo dài kết tạo khe dài, hình 2.2 Trên hai phía “khe”, gradient hàm mục tiêu có hướng ngược lại Xét điểm X đặt vào phía “khe” Y phía khác Hầu hết trường hợp điểm X Y thoả mãn bất đẳng thức sau: J s' ( X ) T J s' (Y ) hk' k hk' J s' u k (2.4) T S k ' s J u k T S k (2.9) Dễ thấy bất phương trình (2.9) tương đương với (2.4) Sk-1 = Sk, uk-1 = X, uk = Y Điều kiện (2.9) đòi hỏi bước lặp chuyển động hàm mục tiêu, gọi nguyên lý “vượt khe" Để đảm bảo tính đơn điệu hàm mục tiêu trình tối ưu hố, độ dài bước k phải thoả mãn bất phương trình sau: J(uk+ k v * (2.10) bước lặp Sk) < J(uk) arg h , h v h* h0 h* (2.15) Trong đó, < λ < gọi hệ số vượt h* h * ; h h Xác định bước vượt khe Hình 2.4: Lưu đồ thuật tốn tính bước vượt khe 2.2 Ứng dụng thuật tốn vƣợt khe trình luyện mạng nơron Hình 2.7 mơ tả thuật tốn huấn luyện mạng nơron MLP thuật học lan truyền ngược với bước học vượt khe Thuật tốn để tính bước học vượt khe trình bày hình 2.4 10 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 tốn Bài tốn ví dụ để minh họa cho thuật toán huấn luyện với bước học vượt khe sau: Cho vec-tơ đầu vào tới đầu vào mạng, mạng nơron phải trả lời cho biết đầu vào 2.3.1 Công tác chuẩn bị 2.3.1.1 Điều chỉnh trọng số lớp Gọi: b: trọng số lớp ra; z: đầu nơron lớp t: giá trị đích mong muốn; yj: đầu nơron lớp ẩn 14 -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 2.3.4.2 So sánh phương án Bảng 2.2: Tập hồ sơ mẫu đầu vào {0 9} TT Bƣớc học cố định 0.2 Thất bại 7902 (bước lặp) Bƣớc học giảm dần từ Thất bại 3634 (bước lặp) Bƣớc vƣợt khe Thất bại 23 (bước lặp) 7210 2416 50 12370 2908 34 Thất bại 2748 31 9700 3169 42 Thất bại 2315 43 10073 2375 33 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 15 11980 2652 Thất bại 31 15 Thất bại 53 Thất bại 2792 31 18 8165 2322 42 19 10130 2913 42 20 Thất bại 2689 33 16 12607 17 Tổng TB: 10000 bƣớc lặp, TB: 2740 bƣớc lặp, TB: 37 bƣớc lặp, kết thất bại/20 thất bại/20 thất bại/20 Với bước học cố định, ta thấy số bước lặp cần có để mạng huấn luyện thành công lớn, trung bình 10000 chu kỳ, ngun nhân bước học chọn bé (0.2) Tuy nhiên, thử chọn bước học lớn (0.3) kết số lần luyện mạng thất bại nhiều Như bảng 2.2 thống kê bảy lần thất bại tổng số 20 lần luyện mạng với bước học 0.2 Với bước học giảm dần từ ba lần thất bại, số bước lặp để luyện mạng thành công ổn đinh, nhiên thấy rằng, theo bảng 2.2 thống kê với bước học tính theo nguyên lý vượt khe, tốc độ hội tụ cao với trung bình 37 bước lặp ta luyện mạng xong, số lần thất bại luyện mạng giảm Một nhược điểm phương án tính bước học vượt khe chi phí thời gian để máy tính xử lý tính tốn bước học bước lặp lớn ta định nghĩa số FD=1-e4 nhỏ, thuật toán phải lặp nhiều lần để thoát khỏi điều kiện (bước thuật toán vượt khe) Tuy nhiên, tổng chi phí thời gian luyện mạng có lợi 2.4 Kết luận chƣơng Trong chương 2, tác giả giới thiệu thuật tốn để tìm bước học, phù hợp cho mặt lỗi có dạng khe thuật tốn vượt khe Để tìm lời giải tối ưu cho toán sử dụng mạng nơron có mặt lỗi dạng lịng khe, tác giả đưa mơ hình kết hợp 16 thuật tốn vượt khe lan truyền ngược Đó sở để cài đặt thành công thủ tục huấn luyện mạng theo phương pháp vượt khe kết hợp với kỹ thuật lan truyền ngược tìm trọng số tối ưu Để chứng minh cho đề xuất tác giả đưa ví dụ nhận dạng chữ viết tay có so sánh bước học vượt khe với bước học khác thường hay sử dụng Toolbox Matlab Các kết mô cho thấy đắn đề xuất CHƢƠNG 3: ĐỀ XUẤT MƠ HÌNH KẾT HỢP GIẢI THUẬT DI TRUYỀN VÀ THUẬT TỐN VƢỢT KHE ĐỂ CẢI TIẾN Q TRÌNH HỌC CỦA MẠNG NƠRON MLP CÓ MẶT LỖI ĐẶC BIỆT Đặt vấn đề 3.1 Trong trình luyện mạng nơron, trọng số khởi tạo ban đầu, có ảnh hưởng cụ thể đến kết luyện mạng nơron, đặc biệt mặt lỗi có dạng lịng khe Để đánh giá nhân tố này, tác giả thử luyện mạng nơron số trường hợp sau: 3.1.1 Khảo sát độ hội tụ trình luyện mạng nơron kỹ thuật lan truyền ngƣợc nguyên thủy với khởi tạo trọng số ban đầu khác Để thấy rõ ảnh hưởng vec-tơ khởi tạo trọng số ban đầu đến độ hội tụ trình luyện mạng nơron ta xét hai ví dụ sau: a) Xét hệ thống phi tuyến tĩnh cần nhận dạng có mơ hình tốn học 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) vào hệ thống đo tín hiệu y(k) Sử dụng mẫu (u(k),y(k)) để luyện mạng Mạng nơron dùng mạng truyền thẳng lớp, có đầu vào, đầu Lớp nhập có neural, lớp ẩn có neural, lớp có neural, hàm kích hoạt lớp hàm tansig Sai số cho phép để luyện mạng thành công 10-5 Ta sử dụng kỹ thuật lan truyền 17 ngược với bước học cố định 0.2 Bộ trọng số khởi tạo ban đầu ngẫu nhiên Bảng 3.1 TT KNLM Sai số (10-6) TT KNLM Sai số (10-6) 66 9.8065 24 9.9681 11 5.8464 45 9.1789 28 9.8923 10 62 9.5743 22 9.4931 11 55 9.2574 46 9.9981 12 37 9.6842 29 9.9062 13 29 7.1969 207 9.5439 14 60 9.2586 Căn vào bảng 3.1 ta thấy với thuật tốn khơng đổi, cấu trúc, tham số mạng chọn kết trình luyện mạng phụ thuộc vào 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 tốn học sau:  y = 0.00005 - 0.05y - 0.0005u – 0.5uy Phát tín hiệu ngẫu nhiên có giới hạn biên độ từ đến 2L/sec với thời gian lấy mẫu 0.1s vào hệ thống đo tín hiệu Lấy tập mẫu vào, để luyện mạng, Tổng thời gian đặt 100s, tạo 1000 mẫu vào dạng mảng liệu Cấu trúc mạng nơron: Mạng gồm có hai lớp: Lớp vào có nơron, hàm kích hoạt hàm tansig; lớp có nơron, hàm kích hoạt hàm purelin Ta sử dụng kỹ thuật lan truyền ngược với bước học cố định 0.2 Sai số cho phép để luyện mạng thành công 10-12 Bảng 3.2: TT KNLM Sai số (10-12) TT KNLM Sai số (10-12) 210 9.2147 301 8.9754 18 151 9.6782 229 9.2367 234 8.6745 10 234 9.2476 193 9.3657 11 167 9.9874 271 9.2486 12 205 9.5789 146 7.6842 13 212 9.3487 231 8.6575 14 203 9.3578 Căn vào bảng 3.2 ta thấy với thuật tốn khơng đổi, cấu trúc, tham số mạng chọn kết trình luyện mạng phụ thuộc vào khởi tạo trọng số ban đầu 3.1.2 Khảo sát độ hội tụ q trình luyện mạng nơron có mặt lỗi đặc biệt kỹ thuật lan truyền ngƣợc kết hợp thuật toán vƣợt khe với khởi tạo trọng số ban đầu khác Trong phần này, sử dụng kỹ thuật lan truyền ngược kết hợp với thuật tốn vượt khe để luyện mạng nơron có mặt lỗi dạng lòng khe, tác giả đánh giá ảnh hưởng khởi tạo trọng số ban đầu đến vấn đề tìm nghiệm tối ưu tồn cục Để minh họa, nhóm tác giả đề xuất cấu trúc mạng nơ ron để nhận dạng chữ số: 0, 1, 2, ,9 Trong hàm sigmoid sử dụng với mục đích sinh mặt sai số có dạng lịng khe Để biểu diễn chữ số, ta sử dụng cấu trúc mạng hình1.5 Bộ trọng số khởi tạo ban đầu với mạng lớp gồm có ma trận trọng số lớp ẩn có kích thước 35×5 ma trận trọng số lớp có kích thước 5×10 lấy số ngẫu nhiên xung quanh điểm 0.5 trung điểm hàm kích hoạt sigmoid Sau lập trình cho luyện mạng 14 lần ta có bảng 3.3 Bảng 3.3 TT KNLM TT KNLM TT KNLM 19 37 28 11 38 Thất bại 44 12 39 42 35 13 Thất bại 33 29 14 30 35 10 46 Căn vào bảng 3.3 ta thấy với thuật tốn khơng đổi, cấu trúc, tham số mạng chọn nhau; kết trình luyện mạng phụ thuộc vào khởi tạo trọng số ban đầu, chí cịn có lần luyện mạng thất bại tổng số 14 lần luyện mạng Điều giải thích: chất giải thuật học lan truyền ngược sai số phương pháp giảm độ lệch gradient nên việc khởi tạo giá trị ban đầu trọng số giá trị nhỏ ngẫu nhiên làm cho mạng hội tụ giá trị cực tiểu khác Nếu gặp may mạng hội tụ giá trị cực tiểu tổng thể, cịn khơng mạng rơi vào cực trị địa phương khơng dẫn đến luyện mạng thất bại Như vậy, thông qua việc nghiên cứu thực nghiệm máy tính cho ta thấy: Với mặt lỗi thơng thường việc khởi tạo trọng số ban đầu ngẫu nhiên khoảng ảnh hưởng đến thời gian luyện mạng; cịn với mặt lỗi đặc biệt có nhiều cực trị dạng lịng khe, cịn làm cho trình luyện mạng thất bại rơi vào cực trị cục xuất phát từ vùng khơng chứa cực trị tồn cục Đây kết luận quan trọng, làm tiền đề cho việc đề xuất phương pháp tính tốn khởi tạo trọng số ban đầu thay cho việc khởi tạo ngẫu nhiên, từ tăng độ xác tốc độ hội tụ q trình luyện mạng nơron 3.2 Mơ hình kết hợp giải thuật di truyền thuật toán vƣợt khe trình luyện mạng nơron 3.2.1 Đặt vấn đề 20 Xu công nghệ thông tin kết hợp ưu điểm kỹ thuật riêng lẻ Các kỹ thuật mạng nơron, thuật giải di truyền, logic mờ, … kết hợp với để hình thành cơng nghệ tính tốn mềm Các nghiên cứu GA kết hợp với ANN bắt đầu Montana and Davis Năm 1989 ơng có báo cáo việc ứng dụng thành công GA mạng ANN Họ chứng minh GA tìm trọng số tối ưu tốt BP số trường hợp Từ đến nghiên cứu kết hợp chứng minh tính ưu việt Để so sánh giải thuật di truyền lan truyền ngược sai số, ta sử dụng lại tốn nhận dạng chữ viết trình bày chương trước, chọn tham số chung cho hai phương pháp: - Mạng nơron sử dụng mạng lớp ẩn - Số neural lớp ẩn: - Ngưỡng sai số dừng lặp: 0.1 20000 vòng lặp Tham số thuật lan truyền ngược sai số: - Bước học: 0.2 Tham số giải thuật di truyền: - Số lượng quần thể: 20 - Xác suất lai: 0.46 - Xác suất đột biến: 0.1 Sau bảng thống kê số bước lặp để mạng hội tụ với phương án 20 lần thử nghiệm khác (-) : mạng không hội tụ (số lần lặp lớn 20000) Bảng 3.4: So sánh GA BP với sai số 0.1 TT GA BP TT GA BP 1356 - 12 865 1890 729 3156 13 - 2348 21 1042 2578 14 758 - 1783 3640 15 - 2647 - - 16 968 3378 879 - 17 1034 - 1102 2102 18 779 3018 - 2671 19 890 2781 891 - 20 904 2585 10 902 2470 TB: TB: 728 3018 thất bại thất bại 11 Ta thấy giải thuật di truyền có khả đạt yêu cầu hội tụ (sai số ≤ 0.1) tức tìm vùng chứa cực trị tồn cục dễ dàng so với kỹ thuật lan truyền ngược sai số Hay nói cách khác kỹ thuật lan truyền ngược sai số dễ rơi vào vùng chứa cực tiểu cục giải thuật di truyền Trong 20 lần chạy, GA có lần khơng tìm cực trị tồn cục BP lần Vẫn toán ta thay đổi ngưỡng sai số dừng lặp 0.001 ta bảng sau: Bảng 3.5: So sánh GA BP với sai số 0.001 TT GA BP TT GA BP - 8019 12 3012 - - 9190 13 - 8601 3021 - 14 - 11032 - 8701 15 - 9963 - - 16 - 3378 2371 10923 17 - 9021 - 8971 18 - - 9801 19 - - - - 20 - 10914 22 10 - - TB: 15 thất TB thất 11 2038 7781 bại bại Qua kết nhận thấy trường hợp GA đạt giá trị sai số mong muốn Kết hợp kết bảng 3.4 3.5 ta có bảng so sánh khả hội tụ mạng nơron thay đổi sai số dừng lặp Bảng 3.6: So sánh GA BP với sai số khác Sai số dừng Số lần hội tụ 20 lần luyện mạng lặp GA BP 0.1 16 14 0.001 13 Nhận xét 1: Nhờ chế tìm kiếm trải rộng, ngẫu nghiên mang tính chọn lọc tự nhiên nên: GA thường tìm vùng chứa cực trị tồn cục, khó đạt cực trị tồn cục Một mặt ta muốn GA trì đa dạng quần thể để tránh hội tụ sớm đến cực trị cục bộ; mặt khác, “đã khoanh vùng cực trị toàn cục”, ta muốn GA thu hẹp vùng tìm kiếm để “chỉ cực trị toàn cục” Mục tiêu thứ thường dễ đạt cách chọn hàm thích nghi phương pháp tái tạo quần thể phù hợp Để đạt mục tiêu thứ hai đòi hỏi phải chia q trình tiến hóa thành hai giai đoạn, giai đoạn hai ta phải chỉnh lại: toán tử lai, đột biến, tái tạo; phương pháp chọn lọc; đánh giá độ thích nghi; chỉnh sửa lại tham số q trình tiến hóa để đến cực trị toàn cục Việc thực thi mơ phức tạp Do đó, cần phải kết hợp GA với phương pháp tối ưu cục khác Nhận xét 2: Các phương pháp học ANN thực việc “tìm kiếm cục bộ” không gian trọng số (dựa thông tin đạo hàm lỗi) nên có hai nhược điểm Thứ trọng số thu 23 thường không tối ưu tồn cục Thứ hai q trình học không hội tụ hội tụ chậm Do đó, cần phải kết hợp phương pháp học “mang tính cục bộ” ANN với thuật giải “mang tính tồn cục” thuật giải di truyền Từ nhận xét 2, ta thấy kết hợp GA ANN nhằm nâng cao hiệu ANN GA khoanh vùng chứa cực tiểu toàn cục hàm lỗi, sau ANN xuất phát từ trọng số để tiến đến cực tiểu toàn cục Trong phần trình bày giải thuật di truyền (GA) kết hợp với thuật toán “vượt khe” để chế ngự quỹ đạo rút ngắn thời gian trình tìm kiếm tối ưu với mặt sai số phức tạp dạng lịng khe 3.2.2 Thuật tốn Có nhiều cách để kết hợp giải thuật di truyền vào mạng nơron cách đơn giản hiệu ta thực lai ghép hai giải thuật nối tiếp Với cấu trúc mạng cho trước, ta xuất phát giải thuật di truyền, tìm tập trọng số tốt mạng Một quần thể N chuỗi khởi tạo ngẫu nhiên Mỗi chuỗi mã hoá tập trọng số mạng Sau G hệ tiến hoá, 5% cá thể tốt G hệ lưu giữ lại Các cá thể sau giải mã đưa vào mạng nơron xây nên mơ hình để học Sau q trình học, tập trọng số cho kết dự báo tốt giữ lại làm thông số mạng nơron cho việc dự báo Thuật tốn kết hợp giải thuật vượt khe giải thuật di truyền cho mạng MLP đề xuất hình 3.1 Nó bao gồm hai giai đoạn luyện mạng Giai đoạn sử dụng thuật toán di truyền với bước truyền thẳng nhằm đẩy nhanh tồn q trình luyện mạng Thuật tốn di truyền thực tìm kiếm tồn cục tìm kiếm tối ưu gần điểm ban đầu (trọng lượng vec-tơ) cho 24 giai đoạn thứ hai Trong đó, nhiễm sắc thể sử dụng để mã hóa trọng số mạng nơron Hàm thích nghi (hàm mục tiêu) cho thuật toán di truyền xác định tổng bình phương lỗi (TSSE) mạng nơron tương ứng Do đó, tốn trở thành tối ưu hóa khơng giới hạn nhằm tìm tập hợp biến định giảm thiểu hàm mục tiêu Trong giai đoạn thứ sử dụng kỹ thuật lan truyền ngược với bước học thay đổi theo thuật toán vượt khe đề xuất hình 2.4 Hình 3.1: Sơ đồ thuật toán kết hợp giải thuật vượt khe di truyền cho luyện mạng MP 3.3 Áp dụng mơ hình kết hợp giải thuật di truyền thuật tốn vƣợt khe q trình luyện mạng nơron vào tốn nhận dạng 25 Trở lại ví dụ nhận dạng chữ viết tay 0,1,2,… Cài đặt thuật toán thực Matlab Các kết thực nghiệm luyện mạng MLP kết hợp giải thuật vƣợt khe di truyền Mạng MLP luyện với ký tự mẫu chữ với kích thước x Các giá trị ban đầu số đầu vào (35), số lượng lớp ẩn (1), số nơron lớp ẩn (5), kỹ thuật luyện mạng khác nhau, mã hóa đầu vào đầu nhằm khởi tạo trọng số đề cập Các tham số luyện mạng: Kích thước quần thể = 20 Xác suất lai tạo = 0.46 Mã hóa số thực Độ dài nhiễm sắc thể = 225 Độ xác mong muốn = 90% Số hệ: 20 Lỗi hệ thống mong muốn=0.06 Kết luyện mạng sau: Số hệ 10 15 20 Tổng thích nghi 9.5563 8.1638 6.1383 5.724 5.697 Số chu kỳ 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 luyện Như vậy, sau 20 hệ đạt đến yêu cầu tốn Giá trị thích nghi trung bình đạt 5.679 Kết giai đoạn sử dụng để khởi tạo trọng số cho giai đoạn Với thay đổi bước học theo giải thuật vượt khe, sau 33 Hình 3.2: Hoạt động mạng MLP cải tiến 26 chu kỳ luyện mạng lỗi hệ thống đạt đến mục đích 0.0589 độ xác trình nhận dạng 100% Hoạt động mạng MLP có kết hợp giải thuật vượt khe di truyền cho nhận dạng chữ thể hình 3.2 3.4 Kết luận chƣơng Trong chương này, tác giả đề xuất việc sử dụng giải thuật di truyền kết hợp với thuật toán “vượt khe” để cải tiến q trình luyện mạng nơron có mặt lỗi đặc biệt minh họa thông qua ứng dụng nhận dạng chữ Có thể đánh giá phương pháp tăng khả tốc độ hội tụ mạng nơron có mặt lỗi dạng “lịng khe” 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 phƣơng pháp khác Qua việc nghiên cứu thực nghiệm máy tính cho ta thấy: với cấu trúc mạng nơ ron mà mặt lỗi có dạng lịng khe, sử dụng kỹ thuật lan truyền ngược việc áp dụng giải thuật di truyền kết hợp với thuật toán “vượt khe” để luyện mạng cho ta độ xác tốc độ hội tụ nhanh nhiều so với phương pháp gradient Kết nghiên cứu giải thích sau: - Kết luyện mạng nơron phụ thuộc lớn vào giá trị ban đầu vec-tơ trọng số Việc sử dụng giải thuật di truyền thực q trình tìm kiếm tồn cục cho phép có vec-tơ trọng số ban đầu tốt cho giai đoạn sau trình luyện mạng - Khi mặt lỗi đặc biệt có dạng lịng khe, luyện mạng thuật toán gradien liên hợp hay thuật toán Levenberg – Marquardt chậm hội tụ gặp phải vấn đề cực trị địa phương Thuật toán “vượt khe” nhằm tìm kiếm bước học tối ưu giai đoạn trình 27 luyện mạng nên khắc phục nhược điểm làm tăng tốc độ hội tụ độ xác trình luyện mạng Việc sử dụng giải thuật di truyền kết hợp với thuật toán “vượt khe” ứng dụng để luyện số cấu trúc mạng nơ ron mà có mặt lỗi đặc biệt khác Vì vậy, kết nghiên cứu ứng dụng cho nhiều toán khác lĩnh vực viễn thông, điều khiển, công nghệ thông tin * Những đóng góp luận án - Đề xuất dạng thuật toán vượt khe để giải toán tối ưu với hàm mục tiêu có dạng đặc biệt, dạng lịng khe - Phân tích, đánh giá độ hội tụ trình luyện mạng nơron phụ thuộc vào trọng số khởi tạo ban đầu bước học - Đề xuất mơ hình kết hợp giải thuật di truyền thuật tốn vượt khe q trình luyện mạng nơron có mặt lỗi đặc biệt Trong giải thuật di truyền có vai trị thực q trình tìm kiếm tồn cục để có vec-tơ trọng số ban đầu tốt cho giai đoạn sau trình luyện mạng Cịn thuật tốn vượt khe để tìm bước học tối ưu, làm tăng tốc độ hội tụ độ xác q trình luyện mạng - Để kiểm chứng kết nghiên cứu, ví dụ nhận dạng chữ viết tay đưa để luyện mạng với phương pháp khác * Đề xuất hƣớng nghiên cứu - Bổ sung vào Toolbox Matlab lựa chọn tính bước học mới: bước học vượt khe - Ứng dụng thuật toán cho số toán lĩnh vực đ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 cho tốn tối ưu có hàm mục tiêu phức tạp khác 28 CÁC CÔNG TRÌNH Đà CƠNG BỐ “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 nhận dạng điều khiển hệ thống xử lý nước thải”; Nguyễn Hữu Cơng, Nguyễn Thị Thanh Nga, Phạm Văn Hưng; Tạp chí khoa học công nghệ Đại học Thái Nguyê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, Huy Nguyen 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 cứu khoa học cấp “Nghiên cứu thuật tốn tìm nghiệm tối ưu tồn cục q 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: Nguyễn Thị Thanh Nga, Nghiệm thu thức 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 chí Khoa học Công nghệ - Đại học Thái Nguyên, tháng 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 chí Khoa học Công nghệ Trường Đại học 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áo số 03 nằm danh sách ISI, đề tài NCKH cấp số 04 mà tác giả làm chủ nhiệm đề tài ... nơron MLP thuật học lan truyền ngược với bước học vượt khe Thuật tốn để tính bước học vượt khe trình bày hình 2.4 10 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... Trong giai đoạn thứ sử dụng kỹ thuật lan truyền ngược với bước học thay đổi theo thuật toán vượt khe đề xuất hình 2.4 Hình 3.1: Sơ đồ thuật toán kết hợp giải thuật vượt khe di truyền cho luyện mạng... hợp cho mặt lỗi có dạng khe thuật tốn vượt khe Để tìm lời giải tối ưu cho tốn sử dụng mạng nơron có mặt lỗi dạng lịng khe, tác giả đưa mơ hình kết hợp 16 thuật toán vượt khe lan truyền ngược Đó

Ngày đăng: 30/08/2014, 13:05

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan