Đề tài Mạng nơ-Ron nhân tạo truyền thẳng nhiều lớp

Tài liệu Đề tài Mạng nơ-Ron nhân tạo truyền thẳng nhiều lớp: Lời cảm ơn Em xin bày tỏ lòng biết ơn sâu sắc tới GS.TS. Hà Quang Thụy, thày đã hướng dẫn, chỉ dạy tận tình để em hoàn thành luận văn này. Em xin chân thành cảm ơn các thày, cô giáo khoa Công nghệ thông tin - Trường Đại học công nghệ - Đại học Quốc gia Hà nội đã truyền thụ kiến thức cho em trong suốt quá trình học tập vừa qua. Tôi cũng xin cảm ơn cơ quan, bạn bè đồng nghiệp, gia đình và những người thân đã cùng chia sẻ, giúp đỡ, động viên, tạo mọi điều kiện thuận lợi để tôi hoàn thành nhiệm vụ học tập và cuốn luận văn này. Hà nội, ngày 09 tháng 11 năm 2007 Học viên Phạm Thị Hoàng Nhung 4 Mục lục Lời cảm ơn............................................................................................................... i Mục lục .............................................................................................................. 4 Danh sách hình vẽ.................................................................................................. 7 D...

pdf94 trang | Chia sẻ: hunglv | Lượt xem: 1625 | Lượt tải: 1download
Bạn đang xem trước 20 trang mẫu tài liệu Đề tài Mạng nơ-Ron nhân tạo truyền thẳng nhiều lớp, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Lời cảm ơn Em xin bày tỏ lòng biết ơn sâu sắc tới GS.TS. Hà Quang Thụy, thày đã hướng dẫn, chỉ dạy tận tình để em hoàn thành luận văn này. Em xin chân thành cảm ơn các thày, cô giáo khoa Công nghệ thông tin - Trường Đại học công nghệ - Đại học Quốc gia Hà nội đã truyền thụ kiến thức cho em trong suốt quá trình học tập vừa qua. Tôi cũng xin cảm ơn cơ quan, bạn bè đồng nghiệp, gia đình và những người thân đã cùng chia sẻ, giúp đỡ, động viên, tạo mọi điều kiện thuận lợi để tôi hoàn thành nhiệm vụ học tập và cuốn luận văn này. Hà nội, ngày 09 tháng 11 năm 2007 Học viên Phạm Thị Hoàng Nhung 4 Mục lục Lời cảm ơn............................................................................................................... i Mục lục .............................................................................................................. 4 Danh sách hình vẽ.................................................................................................. 7 Danh sách bảng biểu ............................................................................................. 9 MỞ ĐẦU ............................................................................................................ 10 CHƯƠNG 1 - MẠNG NƠ-RON NHÂN TẠO TRUYỀN THẲNG NHIỀU LỚP.................................................................................................... 13 1.1 Giới thiệu về mạng nơ-ron nhân tạo.......................................................... 13 1.1.1 Khái niệm cơ bản................................................................................ 13 1.1.2 Mô hình mạng nơ-ron nhân tạo.......................................................... 15 1.1.3 Khả năng ứng dụng của mạng nơ-ron nhân tạo ................................. 18 1.2 Mạng nơ-ron lan truyền thẳng nhiều lớp................................................... 19 1.2.1 Mạng perceptron một lớp ................................................................... 19 1.2.2 Mạng perceptron nhiều lớp ................................................................ 22 1.2.3 Một số vấn đề cần chú ý khi sử dụng mạng MLP.............................. 30 Kết luận chương .............................................................................................. 33 CHƯƠNG 2 - KẾT HỢP GIẢI THUẬT DI TRUYỀN VỚI GIẢI THUẬT LAN TRUYỀN NGƯỢC SAI SỐ ĐỂ TỐI ƯU HOÁ TRỌNG SỐ MẠNG NƠ-RON NHÂN TẠO ....................................................... 34 2.1 Giới thiệu giải thuật di truyền ................................................................... 34 2.1.1 Giới thiệu............................................................................................ 34 2.1.2 Tư tưởng chính của giải thuật di truyền ............................................. 35 2.1.3 Giải thuật di truyền đơn giản.............................................................. 37 2.1 Ứng dụng giải thuật di truyền vào bài toán tối ưu hoá trọng số của mạng nơ-ron nhân tạo ......................................................................................... 41 2.2.1 Xây dựng hàm giá .............................................................................. 42 2.2.2 Mã hoá nhiễm sắc thể ......................................................................... 42 2.2.3 Lai ghép .............................................................................................. 43 5 2.2.4 Đột biến .............................................................................................. 44 2.2.5 Thử nghiệm ........................................................................................ 45 2.2.6 Giải thuật đề xuất ............................................................................... 49 2.3 Kết hợp giải thuật di truyền với giải thuật lan truyền ngược sai số để tối ưu hoá trọng số mạng nơ-ron nhân tạo .......................................................... 51 2.3.1 Đặt vấn đề........................................................................................... 51 2.3.2 Kết hợp giải thuật di truyền và giải thuật lan truyền ngược sai số..... 53 Kết luận chương .............................................................................................. 55 CHƯƠNG 3 - ỨNG DỤNG MẠNG NƠ RON NHÂN TẠO VÀO VIỆC DỰ BÁO LƯU LƯỢNG NƯỚC ĐẾN HỒ HOÀ BÌNH ...................... 57 3.1 Điều kiện địa lý, tự nhiên, khí tượng thuỷ văn lưu vực sông Đà .............. 57 3.1.1 Vị trí địa lý.......................................................................................... 57 3.1.2 Địa hình .............................................................................................. 58 3.1.3 Điều kiện địa chất............................................................................... 58 3.1.4 Điều kiện thổ nhưỡng......................................................................... 58 3.1.5 Đặc điểm khí hậu................................................................................ 58 3.1.6 Đặc điểm chế độ thuỷ văn .................................................................. 59 3.1.7 Thống kê dữ liệu thu thập được.......................................................... 63 3.2 Các phương pháp dự báo........................................................................... 64 3.2.1 Dựa trên mô hình vật lý...................................................................... 64 3.2.2 Dựa trên mô hình toán........................................................................ 66 3.2.3 Hướng tiếp cận mới ............................................................................ 67 3.3 Một số chỉ tiêu đánh giá kết quả dự báo.................................................... 67 3.4 Dự báo lưu lượng đến hồ Hoà Bình trước 10 ngày................................... 68 3.4.1 Phần mềm xây dựng ........................................................................... 68 3.4.2 Số liệu sử dụng ................................................................................... 69 3.4.3 Các tham số ........................................................................................ 70 3.4.4 Các phương án dự báo........................................................................ 70 Kết luận chương .............................................................................................. 75 KẾT LUẬN .......................................................................................................... 76 6 TÀI LIỆU THAM KHẢO .................................................................................. 78 PHỤ LỤC 80 Phụ lục A - Giới thiệu về phần mềm dự báo................................................... 80 Phụ lục B - Mẫu học thử nghiệm so sánh các phương pháp lai ghép và đột biến............................................................................................................ 85 Phụ lục C - Số liệu học và kiểm tra trong bài toán dự báo lưu lượng nước đến hồ Hoà Bình .............................................................................................. 86 7 Danh sách hình vẽ Hình 1.1 Cấu tạo của tế bào nơ-ron sinh học............................................................. 14 Hình 1.2 Mô hình nơ-ron nhân tạo............................................................................. 14 Hình 1.3 Mạng nơ-ron nhân tạo chỉ có một nút và có sự phản hồi............................ 16 Hình 1.4 Mạng nơ-ron truyền thẳng một lớp............................................................. 16 Hình 1.5 Mạng nơ-ron truyền thẳng nhiều lớp .......................................................... 17 Hình 1.6 Mạng nơ-ron hồi quy một lớp.................................................................... 17 Hình 1.7 Sự khác nhau giữa hồi quy tuyến tính và mạng nơ-ron ............................. 19 Hình 1.8 Mạng perceptron một lớp............................................................................ 20 Hình 1.9 Thực hiện hàm XOR bằng mạng MLP ....................................................... 22 Hình 1.10 Lan truyền tín hiệu trong quá trình học theo phương pháp lan truyền ngược sai số........................................................................................................ 23 Hình 1.11 Sai số E được xét là hàm của trọng số W ................................................. 25 Hình 1.12 Minh họa về ý nghĩa của quán tính trong thực tế..................................... 30 Hình 1.13 Hàm sigmoid g(x) = 1/(1+e-x) .................................................................. 30 Hình 1.14 Nội suy hàm y = sin(x/3) + v, 0≤ x ≤ 20 sử dụng MLP............................ 32 Hình 2.1 Sự sinh sản đơn giản phân bố các chuỗi con cháu nhờ sử dụng bánh xe roulette với các khe hở tỷ lệ với độ thích nghi................................................... 38 Hình 2.2 Lưu đồ thuật toán của giải thuật di truyền đơn giản ................................... 41 Hình 2.3 Mã hoá nhị phân trọng số theo phương pháp GENITOR ........................... 43 Hình 2.4 Ví dụ về phương pháp mã hoá trọng số bằng số thực................................. 43 Hình 2.5 Lai ghép nút (crossover-nodes)................................................................... 44 Hình 2.6 Kết hợp giải thuật di truyền và giải thuật lan truyền ngược sai số ............. 54 Hình 3.1: Bản đồ phân bố các trạm trên sông Đà ...................................................... 61 Hình 3.2 Mô hình dự báo dựa trên công nghệ học máy............................................. 67 Hình 3.3 Giao diện chính của phần mềm thử nghiệm ............................................... 69 Hình 3.3 Kết quả dự báo với dữ liệu kiểm tra theo phương án 1 .............................. 71 Hình 3.4 Kết quả dự báo với dữ liệu kiểm tra theo phương án 1 trên đồ thị scatter.. 72 Hình 3.5 Kết quả dự báo với dữ liệu kiểm tra theo phương án 2 .............................. 73 8 Hình 3.6 Kết quả dự báo với dữ liệu kiểm tra theo phương án 2 trên đồ thị scatter.. 73 Hình 3.7 Kết quả dự báo với dữ liệu kiểm tra theo phương án 3 .............................. 74 Hình 3.8 Kết quả dự báo với dữ liệu kiểm tra theo phương án 3 trên đồ thị scatter.. 74 9 Danh sách bảng biểu Bảng 2.1 Các chuỗi của bài toán mẫu và các giá trị thích nghi.....................................38 Bảng 2.2 So sánh các phương pháp đột biến.................................................................45 Bảng 2.3 So sánh các phương pháp lai ghép.................................................................46 Bảng 2.4 Kết quả thử nghiệm so sánh GA và BP với ngưỡng sai số 0.0005................48 Bảng 2.5 Kết quả thử nghiệm với giải thuật đề xuất .....................................................50 Bảng 2.6 Kết quả thử nghiệm so sánh GA’ và BP với ngưỡng sai số 0.0005 ..............52 Bảng 2.7 So sánh khả năng hội tụ của mạng khi sử dụng hai phương pháp học GA’ và BP với sai số dừng lặp khác nhau..........................................................................53 Bảng 2.8 Kết quả thử nghiệm giải thuật kết hợp GA’ và BP với ngưỡng sai sô 0.0005 ...............................................................................................................................54 Bảng 3.1 Thống kê số liệu mưa thu thập được..............................................................63 Bảng 3.2 Thống kê số liệu lưu lượng thu thập được .....................................................64 10 MỞ ĐẦU Dự báo thuỷ văn là công việc dự báo trước một cách có khoa học về trạng thái biến đổi các yếu tố thuỷ văn trong tương lai. Đây là một ngành khoa học có nhiệm vụ báo trước sự xuất hiện các yếu tố thủy văn trên cơ sở nghiên cứu các quy luật của chúng. Hiện nay có rất nhiều bài toán dự báo thuỷ văn được đặt ra như dự báo dòng chảy, dự báo mực nước, dự báo lưu lượng nước trên sông, dự báo lũ, và dự báo các hiện tượng khác trên sông ngòi và hồ... [3]. Tùy vào quan điểm phân chia mà tồn tại một số phân loại dự báo thủy văn. Chẳng hạn, theo yêu cầu phục vụ thì có các loại dự báo như dự báo cho nông nghiệp, dự báo cho giao thông, dự báo cho chống lũ lụt; còn theo đối tượng dự báo thì có các loại dự báo mực nước, dự báo lưu lượng, dự báo bùn cát… Tuy nhiên, phân loại dự báo theo thời gian là một phân loại điển hình với các loại dự báo là ngắn hạn, trung hạn, dài hạn và siêu dài hạn. Dự báo ngắn hạn với khoảng thời gian dự báo từ một đến ba ngày. Dự báo trung hạn với khoảng thời gian dự báo dài hơn dự báo ngắn hạn nhưng tối đa không quá mười ngày. Dự báo dài hạn có khoảng thời gian dự báo từ hơn mười ngày đến một năm. Khi thời gian dự báo lớn hơn một năm đó là dự báo siêu dài hạn. Thuỷ văn là một quá trình tự nhiên phức tạp, chịu tác động của rất nhiều yếu tố. Tính biến động của các yếu tố này phụ thuộc vào cả không gian và thời gian nên gây khó khăn rất lớn cho quá trình dự báo, tìm ra được mối liên quan giữa các yếu tố. Thêm vào đó, do thiếu các trạm quan trắc cần thiết và thiếu sự kết hợp giữa các ngành liên quan cho nên dữ liệu quan trắc thực tế thường là không đầy đủ, không mang tính chất đại diện. Yêu cầu chung mà tất cả các bài toán dự bảo thủy văn cần phải giải quyết là làm cách nào để có thể phân tích và sử dụng chuỗi dữ liệu có trong quá khứ để dự đoán được giá trị tương lai. Hiện nay, có rất nhiều phương pháp dự báo đã được đưa ra dựa trên mô hình vật lý và mô hình toán học. Trong nhiều trường hợp, kết quả nghiên cứu dự báo thủy văn theo các mô hình nói trên đã đạt được một số thành công đáng ghi nhận [1]. Tuy nhiên, vấn đề tìm kiếm phương pháp đủ tốt, đáp ứng các yêu cầu thực tế giải quyết bài toán dự báo thuỷ văn vẫn là nội dung nghiên cứu thời sự hiện nay. Ở trong nước, tại Viện Khí tượng Thủy văn có hàng chục công trình nghiên cứu liên quan tới dự báo thủy văn, đặc biệt có tới 4 đề tài cấp Nhà nước [3]. Trên thế giới, việc áp dụng các phương pháp của khai phá dữ liệu (đặc biệt là các phương pháp học máy mạng neuron và kết hợp với thuật toán gene) vào dự báo thủy văn đã trở thành nội dung nghiên cứu dự báo thủy văn thời sự trong thời gian gần đây [5-7,12-14, 19]. Khai phá dữ liệu là một trong những lĩnh vực nghiên cứu của khoa học máy tính hiện nay đang được phát triển rất mạnh mẽ. Nó kết hợp giữa học máy, công nghệ cơ sở 11 dữ liệu và một số chuyên ngành khác để tìm ra những tri thức, bao gồm cả các thông tin dự báo, từ những cơ sở dữ liệu lớn. Luận văn này tập trung khảo sát một số phương pháp học máy tiên tiến, thực hiện việc kết hợp giữa phương pháp học máy mạng neuron [5-7,9-20] với thuật toán gene [4,8,21] và ứng dụng vào bài toán dự báo lưu lượng nước đến hồ Hòa Bình. Luận văn tập trung khảo sát một số công trình nghiên cứu liên quan trên thế giới [5-7, 12-14, 19]. Demetris F. Lekkas [12] cung cấp một khung nhìn phương pháp luận về các phương pháp dự báo dòng chảy. Ibrahim Can cùng các đồng tác giả [5] và Cristiane Medina Finzi Quintao cùng các đồng tác giả [19] công bố một số kết quả nghiên cứu cập nhật về dự báo dòng chảy của một số dòng sông tại Thổ Nhĩ Kỳ và Brazin. Đặc biệt, các công trình này đã cung cấp cách thức đánh giá kết quả thực nghiệm các phương pháp dự báo thủy văn được đề cập. Các công trình nghiên cứu khác về phương pháp mạng nơron, thuật toán gene và kết hợp chúng được luận văn sử dụng để làm nền tảng khoa học cho các nghiên cứu phát triển. Luận văn đã hoàn thành phần mềm thử nghiệm và tiến hành thực nghiệm trên bộ dữ liệu được thu thập tin cậy thông qua hệ thống đo đạc thủy văn dọc sông Đà, nguồn nước chính chảy vào hồ Hòa Bình. Đóng góp khoa học của luận văn là một báo cáo khoa học đã được trình bày tại Hội thảo khoa học quốc gia Một số vấn đề chọn lọc về Công nghệ thông tin và Truyền thông lần thứ X được tổ chức tại Đại Lải vào tháng 9/2007 với kết quả thực hiện cho dự báo nước trước 10 ngày có chỉ số R2 khá cao, lên tới 0.8737 [2]. Cải tiến do luận văn đề xuất kết hợp đột biến BIASED với đột biến UNBIASED trong đó đột biến BIASED sẽ đóng vai trò chủ đạo nhằm vượt ra khỏi cực trị địa phương (D. Montana and L. Davis [16]) là có ý nghĩa. Các kết quả thực nghiệm cải tiến trên cho thấy mọi tiêu chí đánh giá đều tốt lên, chỉ số R2 nâng lên 0.8742 (so với 0.8737 [2]), sai số quân phương là 72.28 m3/s (so với 76.10 m3/s [2]). Nội dung chính của luận văn được tổ chức thành 3 chương có nội dung được mô tả như dưới đây. Chương I. Mạng nơ-ron nhân tạo truyền thẳng nhiều lớp. Chương này trình bày những lý thuyết cơ bản về mạng nơ-ron nhân tạo, tập trung nghiên cứu mạng truyền thẳng nhiều lớp. Chương này cung cấp một cách nhìn tổng quát nhất, và những vấn đề về quá trình huấn luyện mạng và thuật toán học của mạng mà tập trung chủ yếu vào thuật toán lan truyền ngược sai số. Chương II. Kết hợp giải thuật di truyền với giải thuật lan truyền ngược sai số để tối ưu hoá trọng số mạng nơ-ron nhân tạo. Chương này trình bày về lý thuyết của giải thuật di truyền và khả năng ứng dụng của giải thuật này kết hợp với thuật toán lan truyền ngược sai số nhằm đạt tới một kết quả tốt hơn đối với bài toán tối ưu trọng số mạng nơ-ron nhân tạo. 12 Chương III. Ứng dụng mạng nơ ron nhân tạo vào việc dự báo lưu lượng nước đến hồ Hoà Bình. Chương này giới thiệu sơ lược về bộ dữ liệu sử dụng, các phương pháp đánh giá kết quả dự báo và tập trung vào thử nghiệm các phương pháp để dự báo lưu lượng nước đến hồ Hoà Bình trước mười ngày, từ đó đánh giá được khả năng ứng dụng các phương pháp học máy đã trình bày trong dự báo chuỗi thời gian, cụ thể là dự báo lưu lượng. Phần kết luận tổng kết những kết quả đã đạt được của luận văn và hướng phát triển nghiên cứu tiếp theo. Phần phụ lục giới thiệu về phần mềm dự báo và hướng dẫn cách thức cơ bản sử dụng phần mềm. 13 CHƯƠNG 1 - MẠNG NƠ-RON NHÂN TẠO TRUYỀN THẲNG NHIỀU LỚP Mạng nơ-ron nhân tạo được coi là một công cụ mạnh để giải quyết các bài toán có tính phi tuyến, phức tạp và đặc biệt trong các trường hợp mà mối quan hệ giữa các quá trình không dễ thiết lập một cách tường minh. Có nhiều loại mạng nơ-ron khác nhau trong đó mạng nơ-ron truyền thẳng nhiều lớp là một trong những mạng nơ-ron thông dụng nhất. Đã có nhiều nghiên cứu sử dụng mạng nơ-ron truyền thẳng nhiều lớp trong bài toán dự báo [5][7], [10], [14] và đã chứng tỏ đây là hướng tiếp cận rất hiệu quả. Trong chương này chúng ta sẽ tìm hiểu những kiến thức về mạng nơ-ron nhân tạo, mạng nơ-ron truyền thẳng nhiều lớp và khả năng ứng dụng của chúng trong bài toán dự báo. 1.1 Giới thiệu về mạng nơ-ron nhân tạo 1.1.1 Khái niệm cơ bản Theo các nhà nghiên cứu sinh học về bộ não, hệ thống thần kinh của con người bao gồm khoảng 100 tỷ tế bào thần kinh, thường gọi là các nơ-ron. Mỗi tế bào nơ- ron gồm ba phần: • Thân nơ-ron với nhân bên trong (gọi là soma), là nơi tiếp nhận hay phát ra các xung động thần kinh. • Một hệ thống dạng cây các dây thần kinh vào (gọi là dendrite) để đưa tín hiệu tới nhân nơ-ron. Các dây thần kinh vào tạo thành một lưới dày đặc xung quanh thân nơ-ron, chiếm diện tích khoảng 0,25 mm2 • Đầu dây thần kinh ra (gọi là sợi trục axon) phân nhánh dạng hình cây, có thể dài từ một cm đến hàng mét. Chúng nối với các dây thần kinh vào hoặc trực tiếp với nhân tế bào của các nơ-ron khác thông qua các khớp nối (gọi là synapse). Thông thường mỗi nơ-ron có thể có từ vài chục cho tới hàng trăm ngàn khớp nối để nối với các nơ-ron khác. Có hai loại khớp nối, khớp nối kích thích (excitatory) sẽ cho tín hiệu qua nó để tới nơ-ron còn khớp nối ức chế (inhibitory) có tác dụng làm cản tín hiệu tới nơ-ron. Người ta ước tính mỗi nơ-ron trong bộ não của con người có khoảng 104 khớp nối (hình 1.1) Chức năng cơ bản của các tế bào nơ-ron là liên kết với nhau để tạo nên hệ thống thần kinh điều khiển hoạt động của cơ thể sống. Các tế bào nơ-ron truyền tín hiệu cho nhau thông qua các dây thần kinh vào và ra, các tín hiệu đó có dạng xung điện và được tạo ra từ các quá trình phản ứng hoá học phức tạp. Tại nhân tế bào, khi điện 14 thế của tín hiệu vào đạt tới một ngưỡng nào đó thì nó sẽ tạo ra một xung điện dẫn tới trục dây thần kinh ra. Xung này truyền theo trục ra tới các nhánh rẽ và tiếp tục truyền tới các nơ-ron khác. Hình 1.1 Cấu tạo của tế bào nơ-ron sinh học Với mục đích tạo ra một mô hình tính toán phỏng theo cách làm việc của nơ-ron trong bộ não con người, vào năm 1943, các tác giả McCulloch và Pitts [15] đã đề xuất một mô hình toán cho một nơ-ron như sau: Hình 1.2 Mô hình nơ-ron nhân tạo Trong mô hình này, một nơ-ron thứ i sẽ nhận các tín hiệu vào xj với các trọng số tương ứng là wij , tổng các thông tin vào có trọng số là 1 m ij j j w x = ∑ Thông tin đầu ra ở thời điểm t+1 được tính từ các thông tin đầu vào như sau: ( 1) ( )ij j iout t g tw x θ⎛ ⎞+ = −⎜ ⎟⎝ ⎠∑ (1.1) Trong đó g là hàm kích hoạt (còn gọi là hàm chuyển) có dạng là hàm bước nhảy, nó đóng vai trò biến đổi từ thông tin đầu vào thành tín hiệu đầu ra w1 wm Nếu f > 0 Nếu f ≤ 0 ⎩⎨ ⎧= 0 1 )( fg (1.2) 15 Như vậy, out = 1 (ứng với việc nơ-ron tạo tín đầu ra) khi tổng các tín hiệu vào lớn hơn ngưỡng θi , còn out = 0 (nơ-ron không tạo tín hiệu ở đầu ra) khi tổng các tín hiệu vào nhỏ hơn ngưỡng θi. Trong mô hình nơ-ron của McCulloch và Pitts, các trọng số wij thể hiện ảnh hưởng của khớp nối trong liên kết giữa nơ-ron j (nơ-ron gửi tín hiệu) và nơ-ron i (nơ-ron nhận tín hiệu). Trọng số wij dương ứng với khớp nối kích thích, trọng số âm ứng với khớp nối ức chế còn wij bằng 0 khi không có liên kết giữa hai nơ-ron. Hàm chuyển g ngoài dạng hàm bước nhảy còn có thể chọn nhiều dạng khác nhau và sẽ được đề cập ở các phần sau. Thông qua cách mô hình hoá đơn giản một nơ-ron sinh học như trên, McCulloch và Pitts đã đưa ra một mô hình nơ-ron nhân tạo có tiềm năng tính toán quan trọng. Nó có thể thực hiện các phép toán lô-gíc cơ bản như AND, OR và NOT khi các trọng số và ngưỡng được chọn phù hợp. Sự liên kết giữa các nơ-ron nhân tạo với các cách thức khác nhau sẽ tạo nên các loại mạng nơ-ron nhân tạo (Artificial Neural Network - ANN) với những tính chất và khả năng làm việc khác nhau. 1.1.2 Mô hình mạng nơ-ron nhân tạo Như đã được giới thiệu, mạng nơ-ron nhân tạo là một hệ thống xử lý thông tin được xây dựng trên cơ sở tổng quát hoá mô hình toán học của nơ-ron sinh học và phỏng theo cơ chế làm việc của bộ não con người. Mạng nơ-ron nhân tạo được thể hiện thông qua ba thành phần cơ bản: mô hình của nơ-ron, cấu trúc và sự liên kết giữa các nơ-ron, phương pháp học được áp dụng cho mạng nơ-ron. a. Các phần tử xử lý Việc xử lý thông tin tại mỗi nơ-ron có thể xem là gồm hai phần: xử lý tín hiệu vào (input) và đưa tín hiệu ra (output). Tương ứng với phần vào của mỗi nơ-ron là một hàm tương tác (interaction) f, hàm này kết hợp các thông tin truyền tới nơ-ron và tạo thành thông tin đầu vào tổng hợp (gọi là net input) của nơ-ron đó . Một nơ-ron thứ i trong mạng thường có hàm fi ở dạng tuyến tính như sau : 1 m i i ij j i j f net w x θ = ∆ = −∑ (1.3) Thao tác thứ hai trong mỗi nơ-ron là tính giá trị đầu ra tương ứng với giá trị đầu vào f thông qua hàm kích hoạt hay còn gọi là hàm chuyển g(f) (hàm kích hoạt). Một số hàm chuyển thường được sử dụng: 16 • Hàm bước nhảy ⎪⎩ ⎪⎨ ⎧ < ≥= 00 01 )( fkhi fkhi fg (1.4) • Hàm dấu ⎪⎩ ⎪⎨ ⎧ <− ≥== 01 01 )sgn()( fkhi fkhi ffg (1.5) • Hàm sigmoid fe fg λ−+= 1 1)( hoặc 1 1 2)( −+= − fefg λ (1.6) b. Liên kết trong mạng nơ-ron nhân tạo Mạng nơ-ron nhân tạo gồm các nơ-ron và liên kết có trọng số giữa chúng. ANN tạo nên một hệ thống xử lý thông tin làm việc trên cơ sở phỏng theo cách làm việc của hệ thống các nơ-ron trong bộ não con người. Tuy nhiên, trong bộ não của con người, các tế bào nơ-ron liên kết với nhau chằng chịt và tạo nên một mạng lưới vô cùng phức tạp. Các loại mạng nơ-ron nhân tạo được xác định bởi cách liên kết giữa các nơ-ron , trọng số của các liên kết đó và hàm chuyển tại mỗi nơ-ron. Các hình vẽ dưới đây thể hiện các cách kết nối khác nhau. Hình 1.3 Mạng nơ-ron nhân tạo chỉ có một nút và có sự phản hồi Hình 1.4 Mạng nơ-ron truyền thẳng một lớp 17 (Single-layer feedforward network) Mạng nơ-ron truyền thẳng một lớp là loại mạng chỉ có lớp nơ-ron đầu vào và một lớp nơ-ron đầu ra (thực chất lớp nơ-ron đầu vào không có vai trò xử lý, do đó ta nói mạng chỉ có một lớp). Loại mạng này còn được gọi là mạng perceptron một lớp. Mỗi nơ-ron đầu ra có thể nhận tín hiệu từ các đầu vào x1, x2, …, xm để tạo ra tín hiệu đầu ra tương ứng. Hình 1.5 Mạng nơ-ron truyền thẳng nhiều lớp (Multil-layer feedforward network). Trong mạng nơ-ron truyền thẳng nhiều lớp, lớp nhận tín hiệu vào của mạng gọi là lớp vào (input layer), nó thường không thực hiện việc chuyển đổi thông tin mà chỉ làm chức năng nhận tín hiệu. Tín hiệu ra của mạng được đưa ra từ lớp ra (output layer). Các lớp ở giữa lớp vào và lớp ra gọi là các lớp ẩn. Trong mạng truyền thẳng (feedforward network) không có nút nào mà đầu ra của nó là đầu vào của một nút khác trên cùng lớp với nó hoặc lớp trước. Mạng có phản hồi (feedback network) là mạng mà đầu ra của một nơ-ron có thể trở thành đầu vào của nơ-ron trên cùng một lớp hoặc của lớp trước đó. Mạng feedback có chu trình khép khín gọi là mạng quy hồi (recurrent network) Hình 1.6 Mạng nơ-ron hồi quy một lớp Lớp vào Các lớp ẩn Lớp ra 18 c. Các luật học của mạng nơ-ron nhân tạo Như đã được đề cập ở phần đầu luật học là một trong ba yếu tố quan trọng tạo nên một mạng nơ-ron nhân tạo. Có hai vấn đề cần học đối với mỗi mạng nơ-ron nhân tạo đó là học tham số (parameter learning) và học cấu trúc (structure learning). Học tham số là việc thay đổi trọng số của các liên kết giữa các nơ-ron trong một mạng, còn học cấu trúc là việc điều chỉnh cấu trúc của mạng bao gồm thay đổi số lớp nơ-ron, số nơ-ron của mỗi lớp và cách liên kết giữa chúng. Hai vấn đề này có thể được thực hiện đồng thời hoặc tách biệt. Về mặt phương pháp học, có thể chia ra làm ba loại: học có giám sát hay còn gọi là học có thầy (supervised learning), học tăng cường (reinforcement learning) và học không có giám sát hay còn gọi là học không có thầy ( unsupperviced learning). 1.1.3 Khả năng ứng dụng của mạng nơ-ron nhân tạo Đặc trưng của mạng nơ-ron nhân tạo là khả năng học và xử lý song song. Nó có thể gần đúng mối quan hệ tương quan phức tạp giữa các yếu tố đầu vào và đầu ra của các quá trình cần nghiên cứu và khi đã học được thì việc kiểm tra độc lập thường cho kết quả tốt. Sau khi đã học xong, mạng nơ-ron nhân tạo có thể tính toán kết quả đầu ra tương ứng với bộ số liệu đầu vào mới. Về mặt cấu trúc, mạng nơ-ron nhân tạo là một hệ thống gồm nhiều phần tử xử lý đơn giản cùng hoạt động song song. Tính năng này của ANN cho phép nó có thể được áp dụng để giải các bài toán lớn. Về khía cạnh toán học, theo định lý Kolmogorov, một hàm liên tục bất kỳ f( x1, x2,.. , xn ) xác định trên khoảng In ( với I =[0,1]) có thể được biểu diễn dưới dạng: 2 1 1 1 ( ) ( ( )) n n j ij i j i f x xχ ψ+ = = = ∑ ∑ (1.7) trong đó : χj , Ψij là các hàm liên tục một biến. Ψij là hàm đơn điệu, không phụ thuộc vào hàm f. Mặt khác, mô hình mạng nơ-ron nhân tạo cho phép liên kết có trọng số các phần tử phi tuyến (các nơ-ron đơn lẻ) tạo nên dạng hàm tổng hợp từ các hàm thành phần. Do vậy, sau một quá trình điều chỉnh sự liên kết cho phù hợp (quá trình học), các phần tử phi tuyến đó sẽ tạo nên một hàm phi tuyến phức tạp có khả năng xấp xỉ hàm biểu diễn quá trình cần nghiên cứu. Kết quả là đầu ra của nó sẽ tương tự với kết quả đầu ra của tập dữ liệu dùng để luyện mạng. Khi đó ta nói mạng nơ-ron nhân tạo đã học được mối quan hệ tương quan đầu vào - đầu ra của quá trình và lưu lại mối quan hệ tương quan này thông qua bộ trọng số liên kết giữa các nơ- ron. Do đó, mạng nơ-ron nhân tạo có thể tính toán trên bộ số liệu đầu vào mới để đưa ra kết quả đầu ra tương ứng. 19 Hồi qui tuyến tính Xấp xỉ bằng mạng nơron Y = a1X + a2 Y=f(X, a1, …. , an) Hình 1.7 Sự khác nhau giữa hồi quy tuyến tính và mạng nơ-ron Với những đặc điểm đó, mạng nơron nhân tạo đã được sử dụng để giải quyết nhiều bài toán thuộc nhiều lĩnh vực của các ngành khác nhau. Các nhóm ứng dụng mà mạng nơ-ron nhân tạo đã được áp dụng rất có hiệu quả là: • Bài toán phân lớp: Loại bài toán này đòi hỏi giải quyết vấn đề phân loại các đối tượng quan sát được thành các nhóm dựa trên các đặc điểm của các nhóm đối tượng đó. Đây là dạng bài toán cơ sở của rất nhiều bài toán trong thực tế: nhận dạng chữ viết, tiếng nói, phân loại gen, phân loại chất lượng sản phẩm,… • Bài toán dự báo: Mạng nơ-ron nhân tạo đã được ứng dụng thành công trong việc xây dựng các mô hình dự báo sử dụng tập dữ liệu trong quá khứ để dự đoán số liệu trong tương lai. Đây là nhóm bài toán khó và rất quan trọng trong nhiều ngành khoa học. • Bài toán điều khiển và tối ưu hoá: Nhờ khả năng học và xấp xỉ hàm mà mạng nơ-ron nhân tạo đã được sử dụng trong nhiều hệ thống điều khiển tự động cũng như góp phần giải quyết những bài toán tối ưu trong thực tế. Tóm lại, mạng nơ-ron nhân tạo được xem như là một cách tiếp cận đầy tiềm năng để giải quyết các bài toán có tính phi tuyến, phức tạp và đặc biệt là trong tình huống mối quan hệ bản chất vật lý của quá trình cần nghiên cứu không dễ thiết lập tường minh. 1.2 Mạng nơ-ron lan truyền thẳng nhiều lớp 1.2.1 Mạng perceptron một lớp Mạng perceptron một lớp do F.Rosenblatt đề xuất năm 1960 [15] là mạng truyền thẳng chỉ một lớp vào và một lớp ra không có lớp ẩn. Trên mỗi lớp này có thể có 20 một hoặc nhiều nơ-ron. Mô hình mạng nơ-ron của Rosenblatt sử dụng hàm ngưỡng đóng vai trò là hàm chuyển. Do đó, tổng của các tín hiệu vào lớn hơn giá trị ngưỡng thì giá trị đầu ra của nơ-ron sẽ là 1, còn trái lại sẽ là 0. Ngay từ khi mạng Perceptron một lớp được đề xuất nó đã được sử dụng để giải quyết bài toán phân lớp. Một đối tượng sẽ được nơ-ron i phân vào lớp A nếu Tổng thông tin đầu vào : ij j iw x θ>∑ Trong đó wij là trọng số liên kết từ nơ-ron j tới nơ-ron i , xj là đầu vào từ nơ-ron j, và θ là ngưỡng của nơ-ron i. Trong trường hợp trái lại đối tượng sẽ được phân vào lớp B. Việc huấn luyện mạng dựa trên phương pháp học có giám sát với tập mẫu học là {(x(k), d(k))}, k= 1,2, …, p .Trong đó d(k) = [d1(k), d2(k), …, dn(k)]T là đầu ra quan sát được tương ứng với đầu vào x(k) = [x1(k), x2(k), …, xm(k)]T (với m là số đầu vào, n là số đầu ra và p là cặp mẫu đầu vào - đầu ra dùng cho việc học). Như vậy chúng ta mong rằng sau quá trình học, đầu ra tính toán được y(k) = [y1(k), y2(k), …, yn(k)]T sẽ bằng với đầu ra của mẫu học d(k) ( ) ( ) ( ) ( ) 1 ( ) ( ) m k T k k k i i ij j i j y g w x g w x d = = = =∑ với i=1, 2, …, n ; k = 1,2 , …, p (1.8) ` Hình 1.8 Mạng perceptron một lớp . . x1 x2 xm =-1 y1 y2 yn w11 w12 w1m wn1 wn2 wnm e d Đầu ra tính toán Đầu ra mong muốn d2 e2 . . e d (w1m = θ1 , w2m = θ2 , wnm = θn ) Outi = 1 nếu neti ≥ θ 0 nếu neti < θ với neti = ∑wijxj là tổng thông tin đầu vào của nơ-ron i 21 Để bắt đầu quá trình luyện mạng, các trọng số được gán giá trị ngẫu nhiên trong khoảng [-3, 3]. Sau đó hiệu chỉnh các trọng số cho phù hợp với mẫu học để làm giảm sai số giữa y(k) và d(k) Các bước tiến hành : • Xác định ngẫu nhiên bộ trọng số. • Với mỗi mẫu học (x(k), d(k)) , k=1,2, …, p thực hiện các bước: o Tính giá trị y(k) theo công thức o Xác định sai số δi tại nơ-ron i: δi = di – yi , trong đó di là giá trị đầu ra quan sát được và yi là giá trị đầu ra tính toán tại nơ-ron thứ i o Tính ∆wij là số gia của trọng số wij (trọng số liên kết giữa đầu vào j tới nơ-ron i) theo công thức: ∆wij =ηδixj trong đó η là tốc độ học (0<η<1) o Hiệu chỉnh wij(t+1) = wij(t) + ∆wij =wij(t) +ηδi(t)xj(t) trong đó wij(t+1) là trọng số sau khi điều chỉnh ở lần học tại thời điểm t Rosenblatt đã chứng minh rằng quá trình học của mạng Perceptron sẽ hội tụ tới bộ trọng số W, biểu diễn đúng các mẫu học với điều kiện là các mẫu này biểu thị các điểm rời rạc của một hàm khả tách tuyến tính nào đó (f: Rn → R được gọi là khả tách tuyến tính nếu các tập {F-1(xk)}, với xk thuộc miền trị của f, có thể tách được với nhau bởi các siêu phẳng trong không gian Rn ). Năm 1969, Minsky và Papert đã chứng minh một cách chặt chẽ rằng lớp hàm thể hiện sự phụ thuộc giữa đầu vào và đầu ra có thể học bởi mạng Perceptron một lớp là lớp hàm khả tách tuyến tính. Khả tách tuyến tính là trường hợp tồn tại một mặt siêu phẳng để phân cách tất cả các đối tượng của một lớp này với một lớp khác, ví dụ một mặt phẳng sẽ phân chia không gian ba chiều thành hai vùng riêng biệt. Mở rộng ra, nếu có n đầu vào , n>2 thì công thức 1 n ij j i i w x θ = =∑ tạo nên một siêu phẳng có n-1 chiều trong không gian n chiều, nó chia không gian đó thành hai nửa. Trong nhiều bài toán thực tế đòi hỏi chia các vùng của các điểm trong một siêu không gian thành các lớp riêng biệt. Loại bài toán này gọi là bài toán phân lớp. Bài toán phân lớp có thể giải quyết bằng cách tìm các tham số thích hợp cho một siêu phẳng để nó có thể chia không gian n chiều thành các vùng riêng biệt. Với tính chất của như đã nêu trên, mạng perceptron một lớp có thể mô tả các hàm logic như AND, OR và NOT. Tuy nhiên nó không thể hiện được hàm XOR. Như vậy chứng tỏ mô hình perceptron một lớp không thể giải quyết bài toán này. Vấn đề này sẽ được giải quyết bằng mô hình mạng nơ-ron perceptron nhiều lớp (Multilayer Perceptron - MLP). 22 1.2.2 Mạng perceptron nhiều lớp Mạng perceptron nhiều lớp (Multilayer Perceptron –MLP) còn được gọi là mạng truyền thẳng nhiều lớp là sự mở rộng của mô hình mạng perceptron với sự bổ sung thêm những lớp ẩn và các nơ-ron trong các lớp ẩn này có hàm chuyển (hàm kích hoạt) dạng phi tuyến. Mạng MLP có một lớp ẩn là mạng nơ-ron nhân tạo được sử dụng phổ biến nhất, nó có thể xấp xỉ các hàm liên tục được định nghĩa trên một miền có giới hạn cũng như những hàm là tập hợp hữu hạn của các điểm rời rạc. a. Giải quyết bài toán XOR với mạng MLP Ta thấy có thể dùng hai đường thẳng để phân tách với trường hợp hàm XOR. -0,5+x1+x2=0 và -1,5+x1+x2=0 Hay ta giải hệ bất phương trình Dễ thấy mỗi bất phương trình ở trên có thể được thực hiện bằng một nơ-ron và đầu ra của hai nơ-ron này (2 bất phương trình) là đầu vào của một hàm AND. Do vậy có thể sử dụng mạng MLP sau để thực hiện chức năng của hàm XOR như sau: Hình 1.9 Thực hiện hàm XOR bằng mạng MLP b. Thuật toán học theo phương pháp lan truyền ngược sai số Thuật toán học theo phương pháp lan truyền ngược sai số do Rumelhart và các cộng sự đề xuất [20] là một trong số những kết quả nghiên cứu quan trọng nhất đối 1 1 X1 X2 -0,5 1,5 -1 1 -1 1 1 -1,5 1 Y=X1 XOR X2 X X -0,5+x1+x2 > 0 -1,5+x1+x2 < 0 -0,5 + x1 + x2 > 0 1,5 - x1 - x2 > 0 23 với sự phát triển của mạng nơ-ron nhân tạo. Thuật toán này được áp dụng cho mạng truyền thẳng nhiều lớp trong đó các nơ-ron có thể sử dụng các hàm chuyển là các hàm liên tục có các dạng khác nhau. Thuật toán sử dụng một tập các mẫu gồm các cặp đầu vào - đầu ra để luyện mạng. Với mỗi cặp đầu vào - đầu ra (x(k),d(k)) thuật toán lan truyền ngược sai số thực hiện hai giai đoạn sau: • Giai đoạn thứ nhất, mẫu đầu vào x(k) được truyền từ lớp vào tới lớp ra, và ta có kết quả đầu ra tính toán được là y(k). • Giai đoạn tiếp theo, tín hiệu lỗi được tính toán từ sự khác nhau giữa đầu ra quan sát được d(k) với đầu ra tính toán y(k) sẽ được lan truyền ngược lại từ lớp ra đến các lớp trước để điều chỉnh các trọng số của mạng. Để làm ví dụ ta xét mạng truyền thẳng có một lớp ẩn dưới đây, đối với các mạng có kích thước lớn hơn thì thao tác cũng tương tự. Mạng nơ-ron được xét có m nơ-ron ở lớp vào, l nơ-ron trong lớp ẩn và n nơ-ron ở lớp ra. Đường kẻ liền thể hiện luồng tín hiệu được truyền từ đầu vào tới đầu ra còn các đường kẻ nét đứt thể hiện luồng tín hiệu lỗi được truyền ngược trở lại từ đầu ra. Hình 1.10 Lan truyền tín hiệu trong quá trình học theo phương pháp lan truyền ngược sai số Chúng ta xét một cặp đầu vào - đầu ra để luyện mạng (x,d), để đơn giản chúng ta bỏ ký hiệu mũ k thể hiện số thứ tự của cặp mẫu này trong bộ mẫu dùng để luyện mạng. Khi đưa vào đầu vào x, nơ-ron thứ q trong lớp ẩn sẽ nhận tín hiệu vào của mạng là: Lớp vào Lớp ẩn Lớp ra wiq zq (q=1,…, l) 24 ∑ = = m j jqjq xvnet 1 (1.9) nơ-ron q ở lớp ẩn sẽ tính toán và tạo kết quả ở đầu ra của nó là: ∑ = == m j jqjqq xvgnetgz 1 )()( (1.10) Do đó tín hiệu vào của nơ-ron thứ i trên lớp ra sẽ là: 1 1 1 ( ) l l m i iq q iq qj j q q j net w z w g v x = = = = =∑ ∑ ∑ (1.11) Và cuối cùng, đầu ra của nơ-ron i trên lớp ra sẽ là: 1 1 1 ( ) ( ) ( ( )) l l m i i iq q iq qj j q q j y g net g w z g w g v x = = = = = =∑ ∑ ∑ (1.12) Công thức trên cho biết quá trình lan truyền tín hiệu từ đầu vào qua lớp ẩn tới đầu ra. Tiếp theo chúng ta xét tín hiệu lỗi được lan truyền ngược lại từ lớp ra. Trước hết, đối với mỗi cặp giá trị vào – ra chúng ta xây dựng một hàm giá như sau: [ ] 2 22 1 1 1 1 1 1 1( ) ( ) ( ) ( ) 2 2 2 n n n l i i i i i iq q i i i q E w d y d g net d g w z = = = = ⎡ ⎤= − = − = −⎢ ⎥⎣ ⎦∑ ∑ ∑ ∑ (1.13) Như vậy với một tập gồm p mẫu học, chúng ta lần lượt xây dựng được p hàm giá như vậy. Việc học của mạng hay nhiệm vụ của giải thuật thực chất là tìm kiếm tập trọng số W trong không gian RM (M là số trọng số có trong mạng) để lần lượt tối thiểu hoá các hàm giá như vậy. Điều đáng chú ý là việc tối thiểu hoá được tiến hành liên tiếp nhau và theo chu kỳ đối với các hàm giá. Để tối thiểu hoá các hàm giá như vậy, giải thuật lan truyền ngược sai số sử dụng phương pháp giảm gradient để điều chỉnh các trọng số liên kết giữa các nơ-ron. Bản chất của phương pháp này là khi sai số E được vẽ như hàm của tham số gây ra sai số sẽ phải có một cực tiểu tại bộ giá trị nào đó của tham số. Khi quan sát độ dốc của đường cong, chúng ta quyết định phải thay đổi tham số thế nào để có thể tiến gần đến cực tiểu cần tìm kiếm hơn. Trong hình vẽ dưới đây, giá trị của trọng số phải giảm nếu đạo hàm dE/dW là dương 25 Hình 1.11 Sai số E được xét là hàm của trọng số W Bằng biểu thức, chúng ta có thể biểu diễn phương pháp giảm gradient như sau: ∆w= w(new) – w(old) = -η.∂E/∂w (1.14) Ở đây η là hằng số dương xác định tốc độ giảm giá trị của w, còn dấu âm chỉ chiều giảm gradient. Áp dụng phương pháp giảm gradient đối với các trọng số liên kết giữa các nơ- ron trong lớp ẩn tới các nơ-ron của lớp ra ta có: iq iq Ew w η ∂∆ = − ∂ (1.15) Do hàm sai số E là một hàm phức tạp và là hàm gián tiếp của trọng số wiq (công thức 1.13). Sử dụng nguyên tắc tính đạo hàm của hàm gián tiếp cho iq E w ∂ ∂ ta có: [ ] [ ]'( )i iiq i i i q oi q i i iq y netEw d y g net z z y net w η η ηδ∆⎡ ⎤⎡ ⎤ ⎡ ⎤∂ ∂∂ ⎡ ⎤∆ = − = − =⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎣ ⎦∂ ∂ ∂⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦ (1.16) Trong đó δoi là tín hiệu sai số và chỉ số oi có nghĩa là nút thứ i trong trên lớp ra. Tín hiệu sai số được tính như sau: [ ] [ ]'( )ioi i i i i i i yE E d y g net net y net δ ∆ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤∂∂ ∂=− = − = −⎢ ⎥ ⎢ ⎥ ⎢ ⎥∂ ∂ ∂⎣ ⎦ ⎣ ⎦ ⎣ ⎦ (1.17) Trong đó neti là tín hiệu vào của nơ-ron thứ i trên lớp ra và g’(neti) = ∂g(neti)/∂net. Kết quả này tương tự luật học delta áp dụng cho mạng perceptron một lớp với đầu vào bây giờ là đầu ra zq của lớp ẩn. W W dE/dw = tan α > tan α 0 E 26 Để điều chỉnh trọng số của các liên kết giữa lớp vào tới lớp ẩn ta cũng sử dụng phương pháp giảm gradient và lấy đạo hàm theo các biến trung gian như đã áp ở trên. Xét liên kết giữa nơ-ron thứ j ở lớp vào và nơ-ron thứ q trên lớp ra: q q q qj qj q qj q q qj net z netE E Ev v net v z net v η η η⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤∂ ∂ ∂∂ ∂ ∂∆ = − = − = −⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥∂ ∂ ∂ ∂ ∂ ∂⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ (1.18) Từ công thức (1.13) mỗi thành phần lỗi [di-yi] , i=1, 2,…, n, là hàm của zq do vậy công thức trên có thể tiếp tục biến đổi: ( ) ( ) ( ) 1 ' ' n qj i i i iq q j i v d y g net w g net xη = ⎡ ⎤∆ = −⎣ ⎦∑ (1.19) Sử dụng công thức (1.13) chúng ta viết lại biểu thức (1.15) như sau: ( ) 1 ' n qj oi iq q j hq j i v d w g net x xη µδ = ⎡ ⎤∆ = =⎣ ⎦∑ (1.20) Trong đó δhq là tín hiệu lỗi của nơ-ron thứ q trong lớp ẩn và được định nghĩa như sau: ( ) 1 ' n q hq q oi iq iq q q zE E g net w net z net δ δ∆ = ⎡ ⎤ ⎡ ⎤ ⎡ ⎤∂∂ ∂=− = − =⎢ ⎥ ⎢ ⎥ ⎢ ⎥∂ ∂ ∂⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ∑ (1.21) Với netq là tín hiệu vào của nơ-ron thứ q, như vậy tín hiệu lỗi của nơ-ron trên lớp ẩn khác với tín hiệu lỗi của nơ-ron trên lớp ra (xem công thức 1.17 và 1.21). Vì sự khác nhau này, thủ tục điều chỉnh trọng số được gọi là luật học delta mở rộng. Nhìn lại công thức (1.21) tín hiệu lỗi δhq của nơ-ron thứ q trong lớp ẩn được xác định từ các tín hiệu lỗi δoi, của các nơ-ron trên lớp ra. Tổng quát đối với lớp bất kỳ, luật lan truyền ngược có dạng: jinputioutputjiij xxw __ηδηδ ==∆ (1.22) Trong đó “output_i ” là đầu ra của nơ-ron i và “ input_j ” là đầu vào của nơ-ron j, δi là tín hiệu học được định nghĩa trong công thức (4.10) Từ các phân tích trên, thuật toán lan truyền ngược sai số được xây dựng như sau: Xét một mạng nơ-ron truyền thẳng có Q lớp, q = 1, 2, …, Q, và gọi neti và yi là tín hiệu vào và ra của nơ-ron thứ i trong lớp q. Mạng này có m đầu vào và n đầu ra. Đặt qwij là trọng số của liên kết từ nơ-ron thứ j trong lớp q-1 tới nơ-ron thứ i trong lớp q. 27 Đầu vào : Một tập các cặp mẫu học {(x(k),d(k)) | k= 1, 2, …, p } và véc tơ đầu vào được bổ sung thêm x(k)m+1 = - 1 . Bước 0 (khởi tạo) Chọn một hằng số η > 0 và Emax (dung sai cho phép). Khởi tạo ngẫu nhiên các trọng số trong khoảng giá trị nhỏ. Đặt E =0 và k = 1. Bước 1 (thực hiện một quá trình lặp cho việc huấn luyện mạng) Sử dụng mẫu học thứ k : Tại lớp vào (q =1), với mọi i ta có : qyi = 1yi = x(k)i Bước 2 (Lan truyền tín hiệu từ lớp vào tới lớp ra) ( ) ⎟⎟⎠ ⎞ ⎜⎜⎝ ⎛== ∑ − j i q ij q i q i q ywgnetgy 1 Bước 3 (Xác định tín hiệu lỗi Qδi tại lớp ra) ( ) ( ) ( )iQiQkiiQ n i i Qk i netgyd EydE ' , 2 1 )( 2 1 )( −= +−= ∑ = δ Bước 4 (Lan truyền ngược sai số) Lan truyền ngược sai số để điều chỉnh các trọng số và tính toán tín hiệu lỗi q-1δi cho các lớp trước: i q i q ij q yw 1−=∆ δη và ijqoldijqnewijq www ∆+= ( )1 1'q q q qi i ji j j g net wδ δ− −= ∑ với q = Q, Q-1, …, 2 Bước 5 (Kiểm tra điều kiện lặp) Kiểm tra: if ( k < p ) then Begin k=k+1; Goto bước1; End Else Goto bước6; 28 Bước 6 (Kiểm tra lỗi tổng cộng hiện thời đã chấp nhận được chưa) If (E < Emax) then {kết thúc quá trình học và đưa ra bộ trọng số cuối cùng} Else Begin E=0; K=1; Goto bước1 {để bắt đầu một lần học tiếp theo }; End; Mỗi lần toàn bộ tập mẫu học được lan truyền qua mạng được gọi là một epoch. Số epoch phụ thuộc vào từng trường hợp cụ thể và sự khởi tạo ban đầu. Có trường hợp thuật toán phải sau hàng chục nghìn epoch mới hội tụ tới lời giải. Nếu tham số khởi tạo không phù hợp có thể làm cho quá trình học không đạt kết quả mong muốn. Đối với mỗi epoch ta tính sai số trung bình của mạng theo công thức sau: 2 1 1 ( ) . p n i i k i y d RMS p n = = − = ∑∑ (1.23) Trong đó p là số mẫu được dùng để luyện mạng, n là số biến của véc-tơ đầu ra. Sai số RMS thường được dùng để đánh giá kết quả học của mạng nơ-ron. c. Một số yếu tố ảnh hưởng đến quá trình học theo phương pháp lan truyền ngược sai số Khởi tạo các trọng số Các giá trị được khởi tạo ban đầu cho các trọng số trong mạng lan truyền ngược sai số ảnh hưởng rất lớn đến kết quả học cuối cùng của mạng. Các giá trị này thường được khởi tạo ngẫu nhiên trong phạm vi giá trị tương đối nhỏ. Thông thường hàm chuyển sử dụng cho mạng MLP là hàm sigmoid, do vậy nếu ta chọn các giá trị trọng số khởi tạo lớn thì các hàm này có thể bão hoà ngay từ đầu và dẫn tới hệ thống có thể bị tắc ngay tại một cực tiểu địa phương hoặc tại một vùng bằng phẳng nào đó gần điểm xuất phát. Theo nghiên cứu của Wessels và Barnard, năm 1992 [18], thì việc khởi tạo các trọng số liên kết wij nên trong phạm vi 3 / , 3 /i ik k⎡ ⎤−⎣ ⎦ với ki là số liên kết của các nơ-ron j tới nơ-ron i . Hằng số học η 29 Hằng số học η cũng là một yếu tố quan trọng ảnh hưởng đến hiệu quả và độ hội tụ của giải thuật lan truyền ngược sai số. Không có hằng số η phù hợp cho tất cả các bài toán khác nhau. Hằng số học này thường được chọn bằng thực nghiệm cho mỗi bài toán ứng dụng cụ thể bằng phương pháp thử sai. Trong nhiều ứng dụng thực tế cho thấy một hằng số học có thể phù hợp ở thời điểm bắt đầu của quá trình học nhưng lại không phù hợp với giai đoạn sau của quá trình học. Do đó, có một phương pháp hiệu quả hơn đó là sử dụng hằng số học thích nghi. Một cách xử lý đơn giản cho vấn đề này đó là kiểm tra xem các trọng số mới có làm giảm hàm giá hay không, nếu không thì có thể các trọng số đã vượt quá xa vùng cực tiểu và như vậy hằng số η cần phải giảm. Trái lại, nếu sau vài vòng lặp hàm giá liên tục giảm thì ta có thể thử tăng hằng số η để đẩy nhanh hơn tốc độ hội tụ đến giá trị cực tiểu. Năm 1991, trong nghiên cứu của mình Hertz và các cộng sự [9] đã đề xuất luật điều chỉnh hằng số học như sau: trong đó ∆E là thay đổi của hàm giá, a và b là các hằng số dương, việc ∆E luôn nhỏ hơn 0 được đánh giá dựa trên k bước lặp liên tiếp. Hằng số quán tính Tốc độ học của giải thuật lan truyền ngược sai số có thể rất chậm nếu hằng số học nhỏ, nhưng nếu hằng số học lớn thì nó lại có thể gây ra sự dao động lớn trong quá trình tìm giá trị cực tiểu theo phương pháp giảm gradient. Để giải quyết vấn đề này người ta thường thêm thành phần quán tính vào các phương trình hiệu chỉnh trọng số như sau: ∆w(t) = -η∇E(t) + α ∆w( t-1) (α là hằng số quán tính, α∈[ 0, 1] ) Nhờ thành phần này, quá trình học có thể vượt qua điểm cực tiểu địa phương để tìm đến điểm cực tiểu toàn cục, đồng thời thành phần quán tính cũng ngăn cản sự thay đổi đột ngột của các trọng số theo hướng khác với hướng mà lời giải đang di chuyển đến. ∆ +a nếu ∆E luôn nhỏ hơn 0 (hàm giá liên tục được giảm) -bη nếu ∆E >0 0 trong các trường hợp còn lại 30 Hình 1.12 Minh họa về ý nghĩa của quán tính trong thực tế Hàm giá: Trong phần nghiên cứu trên hàm giá được chọn là hàm bình phương sai số 2 1 1( ) ( ) 2 n i i i E w d y = = −∑ . Tuy nhiên, nó có thể được thay thế bằng một hàm F(yi, di) bất kỳ có đạo hàm và đạt cực tiểu khi hai đối số di và yi bằng nhau. Thông thường hàm giá được chọn có dạng : 1 1 ( ) n p i i i E d y p = = −∑ với 1≤ p ≤ ∞ (1.24) Như vậy khi chọn p = 2 ta có hàm giá là hàm bình phương sai số như đã xét ở trên. 1.2.3 Một số vấn đề cần chú ý khi sử dụng mạng MLP Mạng nơ-ron perceptron nhiều lớp là loại mạng nơ-ron được sử dụng trong nhiều ứng dụng thực tế. Tuy nhiên, để mạng có thể đưa ra kết quả tốt, chúng ta cần quan tâm đến một số vấn đề có ảnh hưởng khá quan trọng đến hiệu quả làm việc của nó bao gồm: vấn đề chuẩn hoá số liệu đầu vào, vấn đề học chưa đủ và học quá của mạng, vấn đề lựa chọn một cấu trúc mạng phù hợp với bài toán. a. Vấn đề chuẩn hoá số liệu đầu vào Mạng MLP thường sử dụng hàm chuyển là hàm sigmoid có dạng như sau: Hình 1.13 Hàm sigmoid g(x) = 1/(1+e-x) 0 x g(x) = 1/(1+e-x) 1 2 3-3 -2 -1 1 0.5 31 Với dạng hàm này, giá trị ở đầu ra của mỗi nơ-ron nằm trong phạm vi khoảng (0,1) và nó đạt các giá trị bão hoà ( xấp xỉ 0 hay 1 ) khi ⎢x ⎢ lớn. Do đó, khi đầu vào của mạng có giá trị tuyệt đối lớn thì ta cần chuẩn hoá nó về khoảng có giá trị nhỏ, nếu không thì các nơ-ron tại các lớp ẩn ngay ban đầu đã có thể đạt giá trị bão hoà và quá trình học của mạng không đạt kết quả mong muốn. Với dạng hàm như trên thì giá trị đầu vào của mạng thường được chuẩn hoá về khoảng thuộc đoạn [-3, 3] . Mặt khác, do tín hiệu đầu ra của nơ-ron nằm trong khoảng giá trị (0,1) nên các giá trị đầu ra thực tế trong các mẫu học cũng cần chuẩn hoá về khoảng giá trị này để có thể dùng cho quá trình luyện mạng. Do vậy trong quá trình tính toán, để có các giá trị thực tế ở đầu ra của mạng chúng ta cần phải chuyển các giá trị trong khoảng (0,1) về miền các giá trị thực tế. b. Vấn đề học chưa đủ và học quá thuộc của mạng Vấn đề mấu chốt khi xây dựng một mạng nơ-ron nhân tạo là làm thế nào mạng có khả năng tổng quát hoá cao để đưa ra kết quả tốt cả với những trường hợp đầu vào của mạng không nằm trong tập mẫu đã dùng để luyện mạng. Giống như các mô hình hồi quy phi tuyến khác, đối với mạng nơ-ron nhân tạo ta cũng phải giải quyết hai vấn đề là ANN học chưa đủ (underfitting) và học quá (overfitting). Khi mạng có cấu trúc (số nút ẩn và liên kết) cũng như số lần học chưa đủ so với nhu cầu của bài toán thì sẽ dẫn tới tình trạng mạng không đủ khả năng mô tả gần đúng mối quan hệ tương quan giữa đầu vào và đầu ra của quá trình cần dự báo và dẫn tới học chưa đủ. Trái lại, nếu mạng quá phức tạp (quá nhiều nút ẩn và quá nhiều tham số) và được học “quá khít” đối với các mẫu dùng để luyện mạng thì có thể dẫn tới tình trạng mạng học cả thành phần nhiễu lẫn trong các mẫu đó, đây là tình trạng “học quá thuộc” của mạng. Vấn đề nêu trên có thể làm cho nhiều loại mạng nơ-ron, đặc biệt là mạng MLP có thể có những trường hợp cho kết quả dự đoán rất sai lệch với thực tế. Một số giải pháp cho vấn đề học quá của mạng: • Sử dụng tập số liệu có tính đại diện tốt để luyện mạng: Đây được xem là một cách khá tốt để tránh hiện tượng overfitting. Khi tập mẫu dùng để luyện mạng thể hiện được nhiều trạng thái có thể xẩy ra của quá trình cần nghiên cứu thì sau khi học mạng sẽ có khả năng tổng quát hoá tương đối tốt từ tập dữ liệu đó và sẽ không chịu ảnh hưởng nhiều của hiện tượng overfitting. Ngoài ra một số biện pháp dưới đây cũng có thể góp phần quan trọng giúp khắc phục hiện tượng overfitting của mạng. • Lựa chọn cấu trúc mô hình phù hợp: Việc lựa chọn mô hình của mạng (số lớp ẩn, số nơ-ron trên mỗi lớp ẩn) có ảnh hưởng quan trọng đến hiện tượng học chưa đủ (underfitting) và học quá (overfitting) của mạng. Nghiên cứu của Steve Lawrence và C.Lee Giles [11] về bài toán nội suy hàm y = sin(x/3) + v, 0≤ x ≤20. 32 với v là biến ngẫu nhiên nằm trong khoảng (- 0.25 , 0.25) cho thấy nếu mạng chỉ gồm một nút ẩn thì mạng không thể học được hàm này. Mạng có hai nút ẩn có khả năng tổng quát hoá tốt nhất (tuy không chính xác hoàn toàn với các mẫu nhưng nó tạo nên giáng điệu gần với hàm cần xấp xỉ nhất và nó đã không quá khít với nhiễu của mẫu học). Các mạng có độ phức tạp hơn (10 nút ẩn, 50 nút ẩn) tuy nó có thể học khá chính xác các mẫu được sử dụng nhưng chính điều này lại làm cho nó học quá nhiều cả thành phần nhiễu nên khả năng tổng quát hoá giảm và dẫn tới hiện tượng học quá (overfitting). Hình 1.14 Nội suy hàm y = sin(x/3) + v, 0≤ x ≤ 20 sử dụng MLP • Dừng học đúng lúc: Năm 1991, trong một nghiên cứu về vấn đề học quá của mạng, hai tác giả Nelson và Illingworth [17] đã đưa ra giải pháp dừng học đúng lúc để tránh hiện tượng học quá của mạng như sau: o Tập mẫu được chia làm hai phần: một phần dùng để luyện mạng và phần còn lại để kiểm thử. o Sử dụng các giá trị khởi tạo nhỏ o Sử dụng hằng số tốc độ học có giá trị thấp. o Tính toán sự thay đổi lỗi kiểm thử trong quá trình luyện mạng. o Dừng học khi thấy lỗi kiểm thử bắt đầu tăng c. Lựa chọn kích thước mạng Các công trình dựa trên định lý của Kolmogorov dự kiến rằng toàn bộ các ánh xạ liên tục từ [0,1]p đến [0,1]n đều có thể được xấp xỉ bằng một mạng perceptron ba lớp có lớp vào gồm p nơ-ron, lớp ra gồm n nơ-ron và lớp ẩn gồm (2p+1) nơ-ron. Tuy nhiên không thể chỉ ra được chính xác số lượng nơ-ron tối ưu trong mạng, tính chất của các nơ-ron, tức là dạng phi tuyến cụ thể thực hiện phép xấp xỉ này. 33 Một số công trình nghiên cứu về chủ đề này cho rằng số nơ-ron tối ưu ở lớp ẩn thường nhỏ hơn (2p+1). Ngoài ra cũng cần phải nói cơ sở dữ liệu học phải có kích thước phù hợp với kiến trúc mạng. Theo Vapnik và Chervonenkis, cơ sở dữ liệu học phải có số mẫu thoả mãn: N ≈ 10.Nw, ở đó Nw là số trọng số của mạng. (1.18) Gọi số nơ-ron thuộc lớp ẩn là L, số nơ-ron ở lớp vào là p thì trọng số của các kết nối giữa lớp vào và lớp ẩn thứ nhất (kể cả ngưỡng) là: D=(p+1).L (1.19) Theo một số kết quả nghiên cứu, số mẫu của cơ sở dữ liệu học cần phải thoả mãn N ≈ 4.D (1.20) Khi số lượng mẫu của cơ sở dữ liệu học chưa đạt đến giới hạn cần thiết thì ta nên làm giảm số lượng các kết nối để tránh hiện tượng học thuộc lòng. Kết luận chương Trong chương này chúng ta đã tìm hiểu các khái niệm, cấu trúc và khả năng ứng dụng của mạng nơ-ron nhân tạo. Luận văn đã trình bày chi tiết về mạng nơ-ron nhiều lớp truyền thẳng và các thuật toán học đối với loại mạng này. Mạng nơ-ron nhân tạo được coi là một công cụ mạnh, mềm dẻo để giải quyết các bài toán có tính phi tuyến, phức tạp và đặc biệt trong các trường hợp mà mối quan hệ giữa các quá trình không dễ thiết lập một cách tường minh. Do đó, khả năng ứng dụng của nó là rất lớn đặc biệt trong bài toán dự báo. Trong chương tiếp theo, chúng ta sẽ nghiên cứu giải thuật di truyền và ứng dụng giải thuật di truyền vào việc tối ưu hoá trọng số của mạng nơ- ron nhân tạo. 34 CHƯƠNG 2 - KẾT HỢP GIẢI THUẬT DI TRUYỀN VỚI GIẢI THUẬT LAN TRUYỀN NGƯỢC SAI SỐ ĐỂ TỐI ƯU HOÁ TRỌNG SỐ MẠNG NƠ-RON NHÂN TẠO Trong chương trước chúng ta đã nghiên cứu giải thuật “lan truyền ngược sai số”, đây là một phương pháp học của mạng nơ-ron nhân tạo, nó cho phép điều chỉnh trọng số của mạng để tối thiểu hoá hàm sai số E. Giải thuật này hoạt động dựa trên cơ chế giảm gradient, với những hàm đơn giản có một cực trị thì phương pháp giảm gradient đưa ta đến cực trị toàn cục. Tuy nhiên, chúng ta biết rằng hàm sai số E trong mạng nơ-ron nhiều lớp là một hàm có bề mặt rất phức tạp với rất nhiều cực trị địa phương, do đó phương pháp này không thể đảm bảo cho ta tìm thấy được một cực trị toàn cục trên bề mặt hàm giá này. Chính vì vậy, để cải thiện giải thuật, người ta thường tìm cách thay đổi hằng số học hoặc thêm vào đó thành phần quán tính để cho phép có thể vượt qua những cực trị địa phương trong quá trình tìm kiếm [8,9,10,16,18,20,21]. Việc lựa chọn hằng số học và hằng số quán tính cũng là một vấn đề rất khó khăn, bởi vì nếu chúng quá lớn đôi khi dẫn đến tình trạng không ổn định của quá trình tìm kiếm, còn nếu chọn quá nhỏ thì lại dẫn đến tốc độ học chậm và khả năng vượt qua các cực trị địa phương thấp. Quá trình tìm kiếm trên những hàm giá như thế này đã được chứng minh là một bài toán NP đầy đủ nghĩa là ta không thể sử dụng được một giải pháp tổng quát có độ phức tạp đa thức để đạt đến kết quả. Giải thuật di truyền (Genetic Algorithms-GA) đượ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 và nó cho phép ta đạt được tới cực trị toàn cục. Luận văn nghiên cứu việc sử dụng giải thuật di truyền vào bài toán tối ưu hoá trọng số của mạng nơ-ron nhân tạo giúp mạng có thể học được tốt hơn [8]. 2.1 Giới thiệu giải thuật di truyền Giải thuật di truyền đã được đề cập trong rất nhiều tài liệu, trong đó có các công trình của D.E. Goldberg [8] và Thomas Back [4]. Phần này chỉ trình bày các khái niệm căn bản của giải thuật di truyền cũng như khả năng ứng dụng của nó. 2.1.1 Giới thiệu Từ trước đến nay, trong các nghiên cứu và ứng dụng tin học đã xuất hiện nhiều bài toán chưa tìm ra được phương pháp giải nhanh và hợp lý. Phần lớn đó là các bài toán tối ưu nảy sinh trong các ứng dụng. Để giải các bài toán này người ta thường phải tìm đến một giải thuật hiệu quả mà kết quả thu được chỉ là xấp xỉ tối ưu. Trong 35 nhiều trường hợp chúng ta có thể sử dụng giải thuật xác suất, tuy không bảo đảm kết quả tối ưu nhưng có thể chọn các giá trị sao cho sai số đạt được sẽ nhỏ như mong muốn. Theo lời giải xác suất, việc giải bài toán quy về quá trình tìm kiếm trên không gian tập hợp các lời giải có thể. Tìm được lời giải tốt nhất và quá trình được hiểu là tối ưu. Với miền tìm kiếm nhỏ, một số thuật toán cổ điển được sử dụng. Tuy nhiên đối với các miền lớn, phải sử dụng các kỹ thuật trí tuệ nhân tạo đặc biệt, giải thuật di truyền là một trong những công cụ đó. Ý tưởng của GA là mô phỏng những gì mà tự nhiên đã thực hiện. GA hình thành dựa trên quan niệm cho rằng: quá trình tiến hoá tự nhiên là quá trình hoàn hảo nhất, hợp lý nhất và 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 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) [4]. Những vấn đề căn bản được đặt ra là: Áp dụng di truyền tự nhiên vào giải thuật di truyền như thế nào? Cách biểu diễn tập hợp các lời giải ra sao? Chúng ta sẽ tìm hiểu chi tiết vấn đề này trong phần tiếp theo. 2.1.2 Tư tưởng chính của giải thuật di truyền Giải thuật di truyền là một loại thuật toán mô phỏng các hiện tượng tự nhiên: kế thừa và đấu tranh sinh tồn để cải tiến lời giải và khảo sát không gian lời giải. Khái niệm kế thừa và đấu tranh sinh tồn được giải thích qua ví dụ về sự tiến hoá của một quần thể thỏ như sau: Có một quần thể thỏ. Trong số đó có một số con nhanh nhẹn và thông minh hơn những con khác. Những chú thỏ nhanh nhẹn và thông minh có xác suất bị chồn, cáo ăn thịt nhỏ hơn, do đó chúng tồn tại để làm những gì tốt nhất có thể: tạo thêm nhiều thỏ tốt. Dĩ nhiên, một số thỏ chậm chạp, đần độn cũng sống chỉ vì may mắn. Quần thể những chú thỏ còn sống sót sẽ bắt đầu sinh sản. Việc sinh sản này sẽ tạo ra một hỗn hợp tốt về “nguyên liệu di truyền thỏ”: Một số thỏ chậm chạp có con với những con thỏ nhanh, một số thỏ nhanh với thỏ nhanh, một số thỏ thông minh với thỏ đần độn,… Và trên tất cả, thiên nhiên thỉnh thoảng lại ném vào một con thỏ “hoang dã” bằng cách làm đột biến nguyên liệu di truyền thỏ. Những chú thỏ con, do kết quả này sẽ nhanh hơn và thông minh hơn những con trong quần thể gốc vì có nhiều bố mẹ nhanh nhẹn và thông minh hơn đã thoát chết khỏi chồn, cáo. (Thật hay là những con chồn cáo cũng trải qua những tiến trình tương tự, nếu không những con thỏ sẽ trở nên nhanh chóng và thông minh đến nỗi những con chồn, cáo không thể bắt chúng được). 36 Khi tìm kiếm lời giải tối ưu, GA cũng thực hiện các bước tương ứng với câu chuyện đấu tranh sinh tồn của loài thỏ. GA cũng sử dụng các thuật ngữ vay mượn của di truyền học. Ta có thể nói về các cá thể (hay kiểu gen, cấu trúc) trong một quần thể, những cá thể này cũng còn được gọi là các nhiễm sắc thể (chromosome). Điều này có thể gây một chút nhầm lẫn: mỗi tế bào của một cơ thể của một chủng loại đã cho mang một số loại nhiễm sắc thể nào đó (ví dụ ở người có 46 nhiễm sắc thể), nhưng trong GA ta chỉ nói về những cá thể có một nhiễm sắc thể. Các nhiễm sắc thể được tạo thành từ các đơn vị - các gen - biểu diễn trong một chuỗi tuyến tính. Mỗi gen kiểm soát một hoặc nhiều đặc trưng. Gen với những đặc trưng nhất định có vị trí nhất định trong nhiễm sắc thể. Bất cứ đặc trưng nào của cá thể cũng có thể tự biểu hiện một cách phân biệt và gen có thể nhận một số giá trị khác nhau. Một nhóm các gen (nhiễm sắc thể) sẽ biểu diễn một lời giải của bài toán đang giải (ý nghĩa, cấu trúc của nhiễm sắc thể được người sử dụng xác định trước). Một tiến trình tiến hoá được thực hiện trên một quần thể các nhiễm sắc thể tương ứng với một quá trình tìm kiếm lời giải trong không gian lời giải. Thực ra, GA thuộc lớp các thuật toán xác suất, nhưng lại rất khác những thuật toán ngẫu nhiên vì chúng kết hợp các phần tử tìm kiếm trực tiếp và ngẫu nhiên. Khác biệt quan trọng giữa phương pháp tìm kiếm của GA và các phương pháp tìm kiếm khác là GA duy trì và xử lý một tập các lời giải (quần thể) - tất cả các phương pháp khác chỉ xử lý một điểm trong không gian tìm kiếm. Chính vì thế, GA mạnh hơn các phương pháp tìm kiếm hiện có rất nhiều. Cấu trúc của giải thuật di truyền đơn giản tương tự như cấu trúc của bất kì một chương trình tiến hoá nào. Ở bước lặp t, giải thuật di truyền duy trì một quần thể các lời giải (các nhiễm sắc thể), { }1 2( ) , ,...,t t tnP t x x x= . Mỗi lời giải tix được lượng giá để biết được độ “thích nghi” của nó. Sau đó ở lần lặp thứ t+1, một quần thể mới được hình thành bằng cách chọn giữ lại những cá thể thích nghi nhất. Một số cá thể của quần thể này trải qua những biến đổi nhờ lai tạo (phép lai) và đột biến (phép đột biến), hình thành nên những lời giải mới. Phép lai kết hợp các tính chất của hai nhiễm sắc thể ‘cha’ và ‘mẹ’ để tạo ra các nhiễm sắc thể ‘con’ bằng cách hoán vị các đoạn gen tương ứng của cha và mẹ. Ví dụ: nếu cha mẹ được biểu diễn bằng vectơ 5 chiều (a1,b1,c1,d1,e1) và (a2,b2,c2,d2,e2), thì lai tạo, hoán vị tại vị trí thứ 2 sẽ sinh ra các nhiễm sắc thể con (a1,b1,c2,d2,e2) và (a2,b2,c1,d1,e1). Phép lai cho phép trao đổi thông tin giữa các lời giải. Khác với phép lai, phép đột biến thay đổi một cách ngẫu nhiên một hay nhiều gen của nhiễm sắc thể được chọn, thay đổi này được thực hiện với một xác suất thể hiện tốc độ đột biến. Phép đột biến cho phép đưa thêm các thông tin mới vào quần thể làm cho chất liệu di truyền phong phú thêm. 37 Sau đây chúng ta sẽ tìm hiểu về một giải thuật di truyền đơn giản. 2.1.3 Giải thuật di truyền đơn giản a. Cấu trúc của giải thuật di truyền đơn giản Trong giải thuật di truyền đơn giản, hệ gen của cá thể được biểu diễn thành một chuỗi nhị phân gồm 2 giá trị 0 và 1. Mỗi thành phần trong chuỗi số gọi là allele (gen tương ứng). Giải thuật di truyền đơn giản bao gồm 3 toán tử sau: - Tái tạo (Reproduction) - Lai ghép (Crossover) - Đột biến (Mutation) Xét ví dụ bài toán hộp đen như sau: Cho một hộp đen với một dãy 5 công tắc ở đầu vào. Một tổ hợp các trạng thái của 5 công tắc ứng với một tín hiệu ra (output) của hàm f, biểu diễn theo toán học là f(s), trong đó s là một tổ hợp các trạng thái cụ thể của 5 công tắc. Mục tiêu của bài toán là phải đặt các công tắc như thế nào để đặt được giá trị tối đa có thể có của hàm f. Với những phương pháp khác của bài toán tối ưu, chúng ta có thể làm việc trực tiếp với bộ các thông số (việc đặt các công tắc) và bật tắt các công tắc từ một trạng thái này sang trạng thái khác bằng cách dùng những quy tắc chuyển đổi theo phương pháp chuyên biệt. Với giải thuật di truyền đơn giản, đầu tiên ta mã hoá dãy các công tắc thành một chuỗi có chiều dài xác định. Cách mã hoá rất tự nhiên: dùng chuỗi dài 5 kí tự gồm các giá trị 0 và 1, với quy ước ‘0’ = tắt, ‘1’ = mở. Ví dụ: chuỗi 11101 nghĩa là công tắc thứ 4 tắt, 4 công tắc còn lại mở. Với giải thuật di truyền đơn giản, ta không cần biết nguyên tắc làm việc của hộp đen. Giải thuật di truyền đơn giản bắt đầu với một quần thể các chuỗi và sau đó sẽ phát sinh thành công những quần thể chuỗi khác. Với bài toán hộp đen, một sự bắt đầu ngẫu nhiên bằng cách tung đồng tiền (ngửa = ‘1’, sấp= ‘0’) có thể sản sinh quần thể ban đầu có kích thước n=4 như sau: 01101 11000 01000 10011 Tiếp theo, dưới sự tác động của các toán tử di truyền, quần thể trên sẽ tiến hoá để cho ra đời quần thể mới có độ thích nghi cao hơn. Tái tạo: Tái tạo là một quá trình trong đó các chuỗi biểu diễn cá thể được sao chép lại tuỳ theo giá trị của hàm mục tiêu f (hàm thích nghi). Toán tử này được xem là quá trình 38 chọn lọc trong tự nhiên. Hàm mục tiêu f(i) được gán cho mỗi cá thể trong quần thể. Việc sao chép lại các chuỗi tuỳ theo giá trị thích nghi của chúng có nghĩa là: Những chuỗi có giá trị thích nghi cao hơn sẽ có nhiều cơ hội đóng góp các chuỗi con cho thế hệ tiếp theo. Thao tác sinh sản hay còn gọi là thao tác chọn cha mẹ được điều khiển bằng cách quay bánh xe roulette, trong đó mỗi chuỗi trong quần thể chiếm một khe có kích thước tỉ lệ với độ thích nghi (fitness) của nó trên bánh xe. Giả sử các chuỗi của quần thể ban đầu đã khởi tạo trong bài toán hộp đen có các giá trị hàm thích nghi như trong bảng sau. Lấy tổng độ thích nghi của 4 chuỗi, chúng ta được 1170. Ta sẽ tính tỉ lệ % độ thích nghi của từng chuỗi trong quần thể: Bảng 2.1 Các chuỗi của bài toán mẫu và các giá trị thích nghi STT Chuỗi Độ thích nghi Tỉ lệ (%) 1 01101 169 14.4 2 11000 576 49.2 3 01000 64 5.5 4 10001 361 30.9 Tổng cộng 1170 100.0 Bánh xe rollete được đánh trọng số phù hợp cho sự tái tạo của thế hệ này được thể hiện trên hình sau: 1 14.4% 2 49.2% 3 5.5% 4 30.9% Hình 2.1 Sự sinh sản đơn giản phân bố các chuỗi con cháu nhờ sử dụng bánh xe roulette với các khe hở tỷ lệ với độ thích nghi Với bài toán hộp đen, để sinh sản chúng ta chỉ cần quay bánh xe roulette 4 lần đối với bài toán này, chuỗi 1 có giá trị thích nghi là 169, đại diện cho 14.4% bánh xe roulette, và cứ mỗi lần quay xác suất chọn chuỗi 1 là 0.144. Tương tự với các chuỗi còn lại. Mỗi khi chúng ta yêu cầu một thế hệ khác, một vòng quay đơn giản của bánh xe đánh trọng số sẽ chọn ra được ứng cử viên để sinh sản. Bằng cách này, những chuỗi thích nghi hơn sẽ có một số lượng con cháu lớn hơn trong thế hệ kế tiếp. 39 Lai ghép: Mỗi khi một chuỗi được chọn để sinh sản, một bản sao chính xác của chuỗi đó sẽ được tạo ra. Các bản sao này được đưa vào bể ghép đôi (matingpool). Toán tử lai ghép đơn giản có thể được tiến hành theo hai bước: Bước 1: Các thành viên của các chuỗi đơn giản mới ở trong bể ghép được ghép đôi với nhau một cách ngẫu nhiên. Bước 2: Mỗi cặp chuỗi sẽ trải qua việc ghép chéo như sau: Một số nguyên chỉ vị trí k dọc theo chuỗi sẽ được lựa chọn qua giá trị ngẫu nhiên nằm trong khoảng từ 1 đến chiều dài chuỗi L-1 ([1, L-1]). Hai chuỗi mới sẽ được tạo ra bằng cách hoán đổi tương ứng các chuỗi ký tự từ vị trí 1 đến k và từ k+1 đến L của hai chuỗi cha-mẹ cho nhau. Ví dụ: xét 2 chuỗi A1 và A2 từ quần thể ban đầu: A1 = 0110|1 A2 = 1100|0 Giả sử trong khi chọn một số ngẫu nhiên nằm trong khoảng từ 1 đến 4, chúng ta được k = 4 (như được chỉ ra bằng dấu ngăn cách “|”). Kết quả của việc ghép chéo làm sinh ra hai chuỗi mới A’1 và A’2, trong đó dấu ’ có nghĩa là các chuỗi này là phần tử của thế hệ mới. A’1 = 01100 A’2 = 11001 Cơ chế sinh sản và ghép chéo đơn giản, bao gồm việc sinh số ngẫu nhiên, sao chép chuỗi và trao đổi các chuỗi thành phần. Tuy nhiên, điểm cần nhấn mạnh là việc sinh sản và trao đổi thông tin có cấu trúc (dù là một cách ngẫu nhiên) của cả quá trình ghép chéo làm cho các giải thuật di truyền tăng thêm sức mạnh. Đột biến: Nếu sự sinh sản theo độ thích nghi kết hợp với sự ghép chéo cho giải thuật di truyền có năng lực xử lý tốt hơn, thì sự đột biến đóng một vai trò quyết định thứ hai trong hoạt động của giải thuật di truyền. Sự đột biến là cần thiết bởi vì: cho dù sự sinh sản và ghép chéo đã tìm kiếm hiệu quả và tái kết hợp lại các gen với nhau, nhưng thỉnh thoảng chúng có thể làm mất một vài gen hữu ích nào đó (bít 1 hay bít 0 tại những vị trí đặc biệt nào đó). Trong các hệ thống gen nhân tạo, toán tử đột biến sẽ chống lại sự mất mát không được khôi phục đó. Trong giải thuật di truyền đơn giản, đột biến là sự thay đổi ngẫu nhiên và không thường xuyên (với xác xuất nhỏ) trị số vị trí của một chuỗi. Trong việc mã hóa nhị phân của bài toán hộp đen có nghĩa là chỉ cần đổi 1 thành 0 và ngược lại. Sự đột biến là một hoạt động ngẫu nhiên trong 40 không gian chuỗi, khi được dùng cùng với sự sinh sản và ghép chéo nó sẽ là một chính sách bảo hiểm chống lại nguy cơ mất mát những gen quan trọng. Ba toán tử tái tạo, lai ghép, đột biến được áp dụng lặp đi lặp lại để tạo ra nhiễm sắc thể mới. Coi như một thế hệ mới tương ứng với một quá trình sinh sản đã được tạo xong bao gồm một quần thể các chuỗi nhiễm sắc thể, trong giải thuật di truyền có thể sinh ra nhiều thế hệ. b. Sơ đồ giải thuật di truyền đơn giản Giải thuật di truyền bao gồm các bước sau: 1. Khởi tạo quần thể ban đầu của các chuỗi nhiễm sắc thể. 2. Xác định giá trị hàm mục tiêu cho mỗi một chuỗi nhiễm sắc thể. 3. Tạo các chuỗi nhiễm sắc thể mới bằng sinh sản từ các chuỗi nhiễm sắc thể hiện tại, có tính đến ghép chéo và đột biến xảy ra (nếu có). 4. Xác định hàm mục tiêu cho các chuỗi nhiễm sắc thể mới và đưa nó vào trong một quần thể mới. 5. Nếu điều kiện dừng đã thỏa mãn thì dừng lại và trả về chuỗi nhiễm sắc thể tốt nhất cùng với giá trị hàm mục tiêu của nó, nếu không thì quay về bước 3. Lưu đồ thuật toán: 41 Hình 2.2 Lưu đồ thuật toán của giải thuật di truyền đơn giản 2.1 Ứng dụng giải thuật di truyền vào bài toán tối ưu hoá trọng số của mạng nơ-ron nhân tạo Như chúng ta đã biết sử dụng giải thuật lan truyền ngược sai số để tối ưu hoá trọng số của mạng nơ-ron nhân tạo đang được sử dụng rộng rãi hiện nay. Tuy nhiên, giải thuật này hoạt động theo cơ chế giảm gradient nên nó khó có thể tìm ra được cực trị toàn cục. Trong nghiên cứu của mình tôi sử dụng giải thuật di truyền để tối ưu hoá trọng số của mạng giúp quá trình học của mạng được tốt hơn. Để có thể sử dụng được giải thuật di truyền vào việc học của mạng nơ-ron cần phải thực hiện một số bước như sau: - Xây dựng hàm giá - Mã hoá nhiễm sắc thể - Thực hiện giải thuật di truyền Tạo quần thể ban đầu của các chuỗi nhiễm sắc thể Xác định giá trị hàm mục tiêu của các chuỗi nhiễm sắc thể Tạo các chuỗi nhiễm sắc thể bằng cách sinh sản từ các chuỗi nhiễm sắc thể hiện tại. (Có xét đến ghép chéo và đột biến xảy ra) Tính toán các giá trị mục tiêu của các chuỗi nhiễm sắc thể mới và đưa nó vào một quần thể mới Kiểm tra xem điều kiện dừng đã thoả mãn chưa? Kết thúc Y N 42 2.2.1 Xây dựng hàm giá Hàm giá này sẽ được sử dụng để tạo nên độ phù hợp của các cá thể và của cả quần thể trong GA. Trong nghiên cứu này tôi sử dụng hàm sai số căn quân phương RMSE của tập mẫu học. ( )2 1 1 1 p n ij ij i j RMSE y d pn = = = −∑∑ (2.1) Trong đó: - yij, dij là đầu ra của mạng và đầu ra mong muốn của đầu ra thứ j tại mẫu học thứ i - n là số đầu ra của mạng - p là số mẫu học Trong quá trình tiến hoá của toàn bộ quần thể, hàm giá này sẽ dần dần đạt tới cực tiểu toàn cục. 2.2.2 Mã hoá nhiễm sắc thể Mỗi cá thể trong GA sẽ thay mặt cho một bộ trọng số của mạng nơ-ron. Ở đây ta không cần phải phân biệt trọng số nào ở lớp nào mà ta chỉ cần trải tất cả các trọng số lên sơ đồ gen của nhiễm sắc thể. a. Mã hoá nhị phân Một phương pháp mã hoá nhiễm sắc thể khá nổi tiếng do Whitley cùng các đồng tác giả [21] đề xuất gọi là GENITOR. Có một số phiên bản của GENITOR, về cơ bản mỗi trọng số của mạng được mã hoá thành một chuỗi bit như trên hình dưới. Index-bit để chỉ ra rằng kết nối có tồn tại hay không (bằng 1 - có kết nối, bằng 0 – không có kết nối). Chuỗi bit nhị phân còn lại sẽ biểu diễn giá trị của trọng số. Whitley sử dụng 8-bit để mã hoá dải giá trị từ -127 đến +127 số 0 được mã hoá 2 lần. Với cách mã hoá này các toán tử đột biến, lai ghép thực hiện khá đơn giản. Tuy nhiên, muốn tăng độ chính xác của việc mã hoá cần phải tăng số bit mã hoá trên một trọng số. Do đó, chiều dài của nhiễm sắc thể sẽ tăng theo dẫn đến việc thực thi thuật toán sẽ chậm. 43 Hình 2.3 Mã hoá nhị phân trọng số theo phương pháp GENITOR b. Mã hoá số thực Montana D. và Davis L. [16] mã hoá trực tiếp các trọng số bằng các số thực là các giá trị của các trọng số. Điều này làm tăng độ chính xác của phép mã hoá cũng như giảm được kích thước của nhiễm sắc thể. Trong nghiên cứu của mình chúng tôi cũng sử dụng phương pháp này để thực hiện việc mã hoá trọng số của mạng. Các gen (trọng số) được khởi tạo ngẫu nhiên trong khoảng (-3, +3). Tuy nhiên với kỹ thuật mã hoá này ta cần thay đổi các toán tử lai ghép, đột biến cho phù hợp. Hình 2.4 Ví dụ về phương pháp mã hoá trọng số bằng số thực 2.2.3 Lai ghép Có một số cách tiếp cận trong lai ghép giữa các nhiễm sắc thể [16]. 44 a. Lai ghép trọng số (crossover-weights) Toán tử lai ghép này sẽ đưa một giá trị vào mỗi vị trí của nhiễm sắc thể con bằng cách lấy ngẫu nhiên một giá trị tại cùng vị trí của nhiễm sắc thể cha hoặc mẹ. b. Lai ghép nút (crossover-nodes) Việc lai ghép được thực hiện giữa các nút cùng vị trí của cha và mẹ. Mỗi khi hai nút tại một lớp nào đó được lai ghép các trọng số của tất cả các liên kết đầu vào tới các nút đó sẽ được hoán vị cho nhau (hình 2.5). Hình 2.5 Lai ghép nút (crossover-nodes) 2.2.4 Đột biến a. Đột biến trọng số (mutate weights) Một gen (trọng số) được lựa chọn ngẫu nhiên với một xác suất pmutation để tiến hành đột biến. Có hai phương pháp đột biến trọng số [16] là: UNBIASED: với mỗi gen được chọn đột biến nó sẽ được thay thế bằng một giá trị ngẫu nhiên xung quanh 0. BIASED: với mỗi gen được chọn đột biến nó sẽ được cộng thêm một giá trị ngẫu nhiên. Montana [16] đã thử nghiệm hai phương pháp đột biến trọng số này. Kết quả phương pháp BIASED chạy tốt hơn. Điều này có thể được giải thích là do khi chạy bộ giá trị các trọng số có xu hướng tốt hơn. Do đó, việc đột biến thay thế giá trị gốc bằng các giá trị ngẫu nhiên xung quanh giá trị gốc (BIASED) sẽ cho kết quả tốt hơn là thay thế bằng các giá trị ngẫu nhiên xung quanh 0 (UNBIASED). 45 b. Đột biến nút (mutate nodes) Toán tử đột biến nút sẽ chọn ra n nút không phải là các nút đầu vào. Tất cả các liên kết tới các nút này sẽ lần lượt được cộng thêm một giá trị ngẫu nhiên. 2.2.5 Thử nghiệm a. Thử nghiệm giải thuật di truyền với các phương pháp đột biến khác nhau So sánh hai phương pháp đột biến ‘đột biến trọng số BIASED’ và ‘đột biến nút’, cả hai phương pháp này đều sử dụng phương pháp ‘lai ghép trọng số’. Thử nghiệm với mẫu học dạng hình sin gồm 30 mẫu, chi tiết trong phụ lục B. Các tham số giống nhau với cả hai phương án: - Số lượng quần thể: 100 - Xác suất lai: 0.3 - Xác suất đột biến: 0.1 - Ngưỡng dừng lặp: 0.05 Việc thử nghiệm được tiến hành với 100 lần chạy mỗi phương án. Dưới đây là bảng thống kê các lần chạy và số thế hệ cần thiết để đạt được yêu cầu về sai số. (1) – phương án ‘đột biến trọng số BIASED’ (2) – phương án ‘đột biến nút’ Bảng 2.2 So sánh các phương pháp đột biến STT (1) (2) STT (1) (2) STT (1) (2) 1 61 100 36 134 50 71 59 151 2 227 21 37 143 35 72 133 157 3 152 33 38 59 151 73 40 43 4 97 15 39 35 231 74 66 85 5 27 33 40 188 37 75 112 20 6 60 170 41 522 97 76 87 85 7 164 593 42 38 48 77 163 32 8 181 152 43 39 514 78 794 55 9 31 104 44 487 76 79 55 167 10 57 116 45 205 163 80 260 139 11 167 101 46 99 37 81 141 101 12 146 91 47 75 72 82 674 63 13 780 647 48 153 44 83 67 91 14 342 56 49 26 40 84 102 108 15 100 377 50 62 58 85 52 43 16 235 515 51 146 59 86 235 155 17 138 42 52 152 105 87 85 58 18 44 54 53 80 18 88 100 29 46 19 71 118 54 63 67 89 27 80 20 316 161 55 905 43 90 49 58 21 37 153 56 66 298 91 48 22 22 70 96 57 71 369 92 276 48 23 80 45 58 134 158 93 443 565 24 68 100 59 36 163 94 32 144 25 249 20 60 523 28 95 56 130 26 123 82 61 22 56 96 246 67 27 55 41 62 39 69 97 66 146 28 89 33 63 82 58 98 341 105 29 39 24 64 8 129 99 215 44 30 77 43 65 219 60 100 72 329 31 247 150 66 128 37 32 159 60 67 35 15 33 73 11 68 84 35 34 130 40 69 55 22 35 67 5 70 99 101 Trung bình 152.67 112.65 Nhận xét: Kết quả trung bình sau 112.65 thế hệ phương pháp ‘đột biến nút’ đã đạt yêu cầu, nhỏ hơn nhiều so với phương pháp ‘đột biến trọng số BIASED’ là 152.67 thế hệ. b. Thử nghiệm giải thuật di truyền với các phương pháp lai ghép khác nhau So sánh hai phương pháp lai ghép là ‘lai ghép trọng số’ và ‘lai ghép nút’ cả hai phương pháp này đều sử dụng phương pháp ‘đột biến nút’. Các tham số giống nhau với cả hai phương án: - Số lượng quần thể: 100 - Xác suất lai: 0.3 - Xác suất đột biến: 0.1 - Ngưỡng dừng lặp: 0.05 Việc thử nghiệm được tiến hành với 100 lần chạy mỗi phương án. Dưới đây là bảng thống kê số thế hệ cần thiết trong từng lần chạy để đạt được yêu cầu về sai số là 0.05. (1) – phương án ‘lai ghép nút’ (2) – phương án ‘lai ghép trọng số’ Bảng 2.3 So sánh các phương pháp lai ghép STT (1) (2) STT (1) (2) STT (1) (2) 1 294 100 36 176 50 71 183 151 2 202 21 37 32 35 72 113 157 3 21 33 38 50 151 73 120 43 47 4 42 15 39 114 231 74 42 85 5 50 33 40 29 37 75 42 20 6 43 170 41 18 97 76 57 85 7 73 593 42 179 48 77 155 32 8 108 152 43 46 514 78 69 55 9 127 104 44 114 76 79 488 167 10 31 116 45 21 163 80 203 139 11 46 101 46 139 37 81 39 101 12 54 91 47 79 72 82 25 63 13 48 647 48 82 44 83 182 91 14 68 56 49 74 40 84 55 108 15 59 377 50 55 58 85 32 43 16 130 515 51 35 59 86 35 155 17 61 42 52 186 105 87 56 58 18 135 54 53 88 18 88 145 29 19 70 118 54 32 67 89 172 80 20 77 161 55 147 43 90 36 58 21 83 153 56 59 298 91 32 22 22 12 96 57 131 369 92 50 48 23 66 45 58 1268 158 93 277 565 24 44 100 59 122 163 94 23 144 25 24 20 60 65 28 95 44 130 26 150 82 61 211 56 96 20 67 27 187 41 62 25 69 97 56 146 28 60 33 63 26 58 98 25 105 29 30 24 64 50 129 99 184 44 30 67 43 65 66 60 100 26 329 31 28 150 66 124 37 32 47 60 67 10 15 33 178 11 68 44 35 34 39 40 69 8 22 35 159 5 70 109 101 Trung bình 99.13 112.65 Nhận xét: Kết quả trung bình sau 99.13 thế hệ phương pháp ‘lai ghép nút’ đã đạt yêu cầu thấp hơn một chút so với phương pháp ‘lai ghép trọng số’ là 112.65 thế hệ. c. Thử nghiệm so sánh giải thuật di truyền và giải thuật lan truyền ngược sai số Thử nghiệm hai phương pháp với bài toán nổi tiếng XOR. Có 4 mẫu học như sau: X1 X2 Y 0 0 0 0 1 1 1 0 1 1 1 0 Tham số chung cho cả hai phương pháp: 48 - Mạng nơ-ron sử dụng là mạng có một lớp ẩn - Số nơ-ron trong lớp ẩn: 2 - Ngưỡng sai số dừng lặp: 0.05 hoặc quá 10000 vòng lặp Tham số của giải thuật lan truyền ngược sai số: - Hằng số học: 0.3 Tham số của giải thuật di truyền: - Số lượng quần thể: 100 - Xác suất lai: 0.3 - Xác suất đột biến: 0.1 - Sử dụng phương pháp lai ghép nút và đột biến nút Sau đây là bảng thống kê số bước lặp để mạng hội tụ với mỗi phương án trong 100 lần thử nghiệm khác nhau. GA: giải thuật di truyền BP: giải thuật lan truyền ngược sai số - : mạng không hội tụ (số lần lặp lớn hơn 10000) Bảng 2.4 Kết quả thử nghiệm so sánh GA và BP với ngưỡng sai số 0.0005 STT GA BP STT GA BP STT GA BP 1 1075 1515 36 283 - 71 1936 - 2 613 1005 37 - 1417 72 2004 3827 3 4629 1613 38 692 2863 73 2550 1594 4 372 1121 39 703 - 74 628 - 5 - - 40 - 1827 75 298 1754 6 678 1770 41 - 1930 76 612 2665 7 777 - 42 254 1848 77 461 - 8 704 - 43 - - 78 812 911 9 - 1666 44 527 - 79 1088 - 10 2198 1618 45 - 4613 80 206 - 11 1392 3397 46 2307 - 81 1051 - 12 - - 47 285 1591 82 - 1323 13 5645 5569 48 - 1612 83 - 2319 14 - 2822 49 1663 - 84 479 2495 15 2330 - 50 - 1457 85 - - 16 - 2935 51 1067 - 86 1931 - 17 426 1373 52 - 2462 87 566 4041 18 844 2023 53 793 - 88 730 1833 19 875 - 54 261 2710 89 594 - 20 - 3320 55 5262 - 90 - - 49 21 790 2397 56 - - 91 - 1555 22 - 1176 57 - 1325 92 1986 1493 23 1542 - 58 635 1279 93 252 1850 24 714 - 59 326 - 94 243 1195 25 629 2018 60 929 - 95 739 - 26 550 - 61 3106 1572 96 - - 27 566 - 62 6286 3351 97 903 1238 28 1462 - 63 692 - 98 - - 29 1238 1751 64 - - 99 2149 - 30 844 - 65 - 2879 100 760 3040 31 - - 66 487 1729 32 791 1150 67 209 1347 33 1153 1604 68 910 - Số lần mạng hội tụ 70 58 34 - 7368 69 - 2083 35 - 1558 70 2505 1050 Trung bình 1228.59 2152.53 Kết quả trong 100 lần chạy : - Giải thuật di truyền chạy thành công được 70 lần trung bình 1228.59 vòng lặp một lần chạy. - Giải thuật lan truyền ngược sai số chạy thành công được 58 lần trung bình 2152.53 vòng lặp. Ta có thể thấy rằng giải thuật di truyền có khả năng đạt được yêu cầu về hội tụ (sai số ≤ 0.05) tức tìm vùng chứa cực trị toàn cục dễ dàng hơn so với giải thuật lan truyền ngược sai số. Hay nói cách khác giải thuật lan truyền ngược sai số dễ rơi vào vùng chứa cực tiểu cục bộ hơn giải thuật di truyền. Trong 100 lần chạy, GA chỉ có 30 lần không tìm được cực trị toàn cục trong khi đó BP là 42 lần. 2.2.6 Giải thuật đề xuất Trong thử nghiệm so sánh GA với BP ở trên ta thấy: tuy GA có khả năng đưa mạng vùng chứa cực tiểu toàn cục dễ dàng hơn so với BP tuy nhiên vẫn còn nhiều trường hợp GA không làm mạng hội tụ được (trong thử nghiệm trên 30/100 lần mạng không hội tụ với GA). Nguyên nhân nào đã làm cho mạng rơi vào cực tiểu địa phương mà không thoát ra được? Sau nhiều lần thử nghiệm, chúng tôi nhận thấy rất nhiều trường hợp mạng không thể hội tụ vì một số giá trị trọng số của mạng đã quá lớn. Có thể giải thích điều này là do phương pháp đột biến sử dụng là chỉ đột biến kiểu BIASED (phần 2.2.4). Phương pháp đột biến này sẽ cộng vào trọng số được đột biến một giá trị ngẫu nhiên xung quanh 0. Như Montana D. và Davis L. [16] đã thử nghiệm và nhận xét rằng phương pháp đột biến này là hiệu quả hơn UNBIASED (trọng số được đột biến sẽ được thay thế bằng một giá trị ngẫu nhiên xung quanh 0) do kế thừa được tính "tốt" của thế hệ trước. Tuy nhiên một số trường hợp đột biến kiểu BIASED sẽ đẩy một số trọng số ngày càng rời xa gốc 0 và có thể mạng sẽ rơi 50 vào cực tiểu cục bộ mà không thoát ra được. Làm sao có thể tận dụng được những ưu điểm của đột biến dạng BIASED nhưng lại giúp mạng không rơi vào cực tiểu cục bộ chúng tôi đề xuất một phương pháp đột biến như sau: Kết hợp đột biến BIASED với đột biến UNBIASED trong đó đột biến BIASED sẽ đóng vai trò chủ đạo (xác suất đột biến lớn hơn). Đột biến UNBIASED được đưa thêm vào với mục đích giúp cho các trọng số có giá trị quá lớn chuyển về các giá trị nhỏ (giá trị ngẫu nhiên xung quanh 0). Do đó, có thể giúp mạng thoát khỏi cực tiểu cục bộ. Việc thử nghiệm giải thuật cải tiến được tiến hành với các tham số giống như thuật toán GA trong thử nghiệm 2.3.5 nhưng có kết hợp thêm đột biến UNBIASED với xác suất đột biến nhỏ: 0.03. Sau đây là số lần lặp để mạng hội tụ với phương pháp đột biến đề xuất : Bảng 2.5 Kết quả thử nghiệm với giải thuật đề xuất STT Số lần lặp STT Số lần lặp STT Số lần lặp 1 8510 36 277 71 1538 2 1052 37 1339 72 654 3 404 38 457 73 2986 4 215 39 - 74 190 5 912 40 2153 75 568 6 - 41 3177 76 169 7 7322 42 7414 77 201 8 873 43 627 78 - 9 4701 44 4248 79 6371 10 1014 45 1076 80 - 11 - 46 272 81 292 12 825 47 219 82 - 13 840 48 - 83 838 14 2835 49 6985 84 9910 15 157 50 2552 85 1207 16 216 51 473 86 4587 17 8552 52 8128 87 418 18 976 53 - 88 326 19 258 54 809 89 - 20 1151 55 4745 90 5244 21 481 56 - 91 216 22 4024 57 9084 92 514 23 835 58 1133 93 516 24 839 59 5617 94 1047 25 305 60 164 95 728 26 729 61 186 96 896 27 2935 62 525 97 900 28 614 63 8968 98 813 51 29 890 64 334 99 565 30 1020 65 1522 100 4819 31 1816 66 461 32 6075 67 5859 33 223 68 323 Số lần mạng hội tụ 89 34 - 69 533 35 1667 70 630 Trung bình 2135.61 Có thể rút ra một số nhận xét sau thử nghiệm này: - Số lần mạng hội tụ tăng lên rất nhiều so với đột biến chỉ dùng phương pháp BIASED (89 so với 70). - Số lần lặp để mạng hội tụ của phương pháp cải tiến cao hơn nhiều so với đột biến chỉ dùng phương pháp BIASED (2135.61 so với 1228.59). Có nghĩa là phương pháp cải tiến có nhiều khả năng đưa mạng về trạng thái hội tụ tuy nhiên thời gian hội tụ trung bình dài hơn so với phương pháp đột biến chỉ dùng BIASED. 2.3 Kết hợp giải thuật di truyền với giải thuật lan truyền ngược sai số để tối ưu hoá trọng số mạng nơ-ron nhân tạo 2.3.1 Đặt vấn đề 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 do có kết hợp những yếu tố ngẫu nhiên nên tốc độ 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ả xung quanh đó. Đối lập với GA, giải thuật lan truyền ngược sai số (BP) lại cho phép đạt được những cực trị nếu như điểm xuất phát của quá trình tìm kiếm nằm trong vùng cực trị toàn cục. Để chứng minh nhận xét này chúng ta sẽ xem xét thử nghiệm sau: Thử nghiệm được tiến hành với bài toán XOR có các tham số như trong thử nghiệm 2.2.5c. Riêng giá trị sai số dừng lặp giảm đi 100 lần là: 0.0005. Khi đạt được giá trị sai số rất nhỏ như vậy có thể coi mạng đã đạt được gần chính xác vị trí cực tiểu toàn cục. Thử nghiệm so sánh hai giải thuật: GA’ - giải thuật di truyền sử dụng phương pháp đột biến đề xuất (2.2.6) BP - giải thuật lan truyền ngược sai số Sau đây là bảng thống kê số bước lặp để mạng hội tụ với mỗi phương án trong 100 lần thử nghiệm khác nhau. 52 Bảng 2.6 Kết quả thử nghiệm so sánh GA’ và BP với ngưỡng sai số 0.0005 STT GA’ BP STT GA’ BP STT GA’ BP 1 - 4329 36 - 3150 71 - - 2 - - 37 2216 - 72 - 3811 3 - 7599 38 - 6215 73 - - 4 - 5122 39 - 3299 74 - 5214 5 - 5741 40 - - 75 - - 6 1791 - 41 - 4142 76 - 5388 7 - 6796 42 - - 77 - 3458 8 - - 43 - 9778 78 - - 9 2882 - 44 - - 79 - - 10 - 6960 45 - 6099 80 - - 11 - - 46 - 4066 81 6291 - 12 - 3792 47 - 3420 82 - - 13 - 2905 48 - 3974 83 - 4567 14 3860 - 49 - - 84 - - 15 - 6098 50 - - 85 - - 16 - - 51 - 3424 86 - 5535 17 - 5307 52 - 7975 87 - 5532 18 - 5935 53 - - 88 - 4443 19 - - 54 - 4838 89 - - 20 - 4014 55 - 6510 90 - - 21 - - 56 - 3979 91 - - 22 - 4710 57 - - 92 - 3523 23 - - 58 - 5583 93 - - 24 - 4314 59 - 3207 94 - - 25 - - 60 - 4802 95 - 6073 26 - 3798 61 - 5154 96 - 5708 27 - 3735 62 - 4030 97 - 4090 28 - 7098 63 - 5222 98 - - 29 - - 64 - - 99 - - 30 - - 65 - 3916 100 - - 31 - - 66 - 3940 32 - 8349 67 - - 33 - - 68 - 6560 Số lần mạng hội tụ 6 57 34 - 2987 69 - 3149 35 874 5030 70 - 4121 Trung bình 2985.67 4956.39 Qua thử nghiệm này có thể dễ dàng nhận thấy rằng chỉ rất ít trường hợp GA’ đạt được giá trị sai số mong muốn. Kết hợp với kết quả trong bảng 2.4 và 2.5 ta có thể tóm tắt khả năng hội tụ của mạng với hai phương pháp học: giải thuật di truyền và giải thuật lan truyền ngược sai số khi ngưỡng sai số dừng lặp khác nhau. 53 Bảng 2.7 So sánh khả năng hội tụ của mạng khi sử dụng hai phương pháp học GA’ và BP với sai số dừng lặp khác nhau Số lần hội tụ trong 100 lần thử nghiệm Sai số dừng lặp GA’ BP 0.05 89 58 0.0005 6 57 Từ bảng 2.7 ta có nhận xét: GA có thể đạt đến vùng chứa cực tiểu toàn cục (sai số 0.05) dễ dàng hơn so với BP (89 lần so với 58 lần). Tuy nhiên, để đạt đến chính xác vị trí cực tiểu toàn cục (sai số 0.0005) thì GA lại rất kém (chỉ có 6 lần). Trong khi đó, hầu hết các trường hợp BP khi đã đưa mạng đến được vùng chứa cực tiểu toàn cục (sai số 0.05) thì BP sẽ đưa mạng đến chính xác cực tiểu toàn cục (sai số 0.0005). Do đó, việc kết hợp GA và BP có nhiều cơ hội đưa mạng đến được chính xác cực tiểu toàn cục. 2.3.2 Kết hợp giải thuật di truyền và giải thuật lan truyền ngược sai số Có thể kết hợp cả GA và BP nhằm đạt tới một kết quả trọn vẹn của bài toán tối ưu trọng số mạng nơ-ron nhân tạo. Trong giải thuật kết hợp này, GA được sử dụng như một bộ khởi tạo cho BP. Tập trọng số được mã hoá thành các nhiễm sắc thể và được tiến hoá nhờ GA. Kết thúc quá trình tiến hoá, bộ trọng số tốt nhất tương ứng với cá thể ưu việt nhất trong quần thể được lựa chọn làm những trọng số khởi tạo cho giải thuật BP. Nó chính là bộ tham số cho phép xác định điểm gần cực trị nhất của hàm giá. Với sự kết hợp này, giải thuật BP sẽ cần phải được thay đổi một vài yếu tố : - Giải thuật không tự khởi tạo trọng số mà nhận các trọng số từ GA. - Thành phần quán tính được loại bỏ để làm tăng tốc độ của quá trình hội tụ và loại bỏ dao động. 54 Hình 2.6 Kết hợp giải thuật di truyền và giải thuật lan truyền ngược sai số Việc thử nghiệm giải thuật kết hợp này được tiến hành với bài toán XOR ngưỡng sai số mong muốn là 0.0005. Giải thuật di truyền sử dụng phương pháp đột biến đề xuất (2.2.6). Các tham số cũng như các phần trước. Giải thuật gồm hai bước chính : - (1) GA sẽ đưa mạng đạt đến sai số 0.05 - (2) BP sẽ nhận bộ trọng số tốt nhất của GA đóng vai trò là trọng số khởi tạo (có sai số 0.05) để đưa mạng đến sai số mong muốn 0.0005. Bảng 2.8 Kết quả thử nghiệm giải thuật kết hợp GA’ và BP với ngưỡng sai sô 0.0005 STT (1) (2) STT (1) (2) STT (1) (2) 1 352 1366 36 4273 - 71 434 1793 2 924 2354 37 396 3428 72 - - 3 2520 1853 38 2636 - 73 320 1325 4 591 1260 39 509 1858 74 - - 5 362 1511 40 - - 75 751 1436 6 6949 1750 41 336 1988 76 876 1420 7 604 1768 42 568 922 77 - - 8 695 1730 43 4159 3411 78 1138 4423 9 348 2058 44 4235 1436 79 6986 1736 10 304 2372 45 265 2013 80 439 2724 11 2108 3171 46 2929 1548 81 640 3496 12 6109 1406 47 257 2692 82 472 2014 13 2615 1328 48 674 327 83 - - Khởi tạo tập trọng số Giải thuật di truyền Giữ lại nhiễm sắc thể tốt nhất Tập các trọng số Học bằng giải thuật lan truyền ngược sai số có thay đổi 55 14 653 3173 49 2370 5923 84 5173 1530 15 416 1265 50 242 2906 85 520 2769 16 2702 1783 51 594 1948 86 - - 17 535 2177 52 4925 861 87 3675 881 18 2856 1426 53 127 1248 88 373 2266 19 347 814 54 622 2006 89 632 1244 20 2800 1474 55 784 536 90 851 1331 21 1281 1184 56 272 6247 91 3852 1901 22 - - 57 8297 2247 92 3728 2300 23 3090 1399 58 7299 1356 93 1700 2806 24 426 2177 59 634 1434 94 - - 25 1685 1961 60 442 6227 95 3448 1020 26 1373 3254 61 220 1978 96 772 1850 27 1249 1993 62 3227 4801 97 332 4244 28 165 941 63 1177 - 98 1253 1826 29 605 1439 64 - - 99 764 1480 30 895 2082 65 704 4860 100 952 1499 31 708 2301 66 3922 1161 32 6097 2084 67 460 958 33 260 3072 68 613 1305 Số lần mạng hội tụ 90 87 34 8761 1914 69 - - 35 308 2376 70 164 1850 Trung bình 1778.956 2103.506 Nhận xét: - Cũng giống như lần thử nghiệm trước giải thuật di truyền sử dụng đột biến kết hợp (2.2.6), kết quả mạng hội tụ với sai số 0.05 rất cao (90/100). - Trong 90 lần nhận trọng số khởi tạo từ GA, BP có 87 lần đưa mạng từ sai số 0.05 về sai số 0.0005. Chỉ có 3 lần BP không đưa mạng đến yêu cầu sai số mong muốn (lần thử nghiệm thứ 36, 38, 63). - So sánh với việc sử dụng GA và BP riêng rẽ thì giải thuật kết hợp này cho kết quả tốt hơn rất nhiều. Kết luận chương Trong chương này chúng ta đã nghiên cứu các khái niệm và khả năng ứng dụng của giải thuật di truyền cũng như cách thức để tiến hành thực hiện một bài toán bằng giải thuật di truyền. 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 và nó cho phép ta đạt được tới cực trị toàn cục. Do đó, áp dụ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 chương này chúng tôi đã nghiên cứu và thử nghiệm một số phương án và đưa ra một số cải tiến về phương pháp đột biến giúp cho quá trình học của mạng nơ-ron được tốt hơn. Ngoài ra chúng tôi cũng kết hợp giải thuật di truyền và giải thuật lan truyền ngược sai số nhằm đạt tới một kết 56 quả trọn vẹn của bài toán tối ưu trọng số mạng nơ-ron nhân tạo. Trong chương tiếp theo chúng ta sẽ nghiên cứu việc ứng dụng mạng nơ-ron nhân tạo với các phương pháp học kết hợp đã đề cập trong chương này vào việc dự báo lưu lượng nước đến hồ Hoà Bình. 57 CHƯƠNG 3 - ỨNG DỤNG MẠNG NƠ RON NHÂN TẠO VÀO VIỆC DỰ BÁO LƯU LƯỢNG NƯỚC ĐẾN HỒ HOÀ BÌNH Luận văn đề cập tới bài toán dự báo lưu lượng dòng chảy đến hồ Hoà Bình phục vụ tốt mục tiêu điều tiết vận hành hồ. Nguồn nước chính cung cấp cho hồ Hoà Bình là nguồn nước từ sông Đà. Dọc theo hệ thống sông Đà có các trạm đo quan trắc khí tượng và thuỷ văn bắt đầu hoạt động từ năm 1902. Trạm đo thuỷ văn gần hồ Hoà Bình nhất là trạm đo Tà Bú. Dự báo nước đến hồ Hoà Bình thực chất là dự báo lưu lượng nước tại trạm Tà Bú. Trong chương này, luận văn trình bày một số nội dung liên quan đến bài toán dự báo và một số thử nghiệm sử dụng những nghiên cứu trong chương 2 để dự báo nước đến hồ Hoà Bình trước 10 ngày. 3.1 Điều kiện địa lý, tự nhiên, khí tượng thuỷ văn lưu vực sông Đà Sông Đà là chi lưu lớn nhất của sông Hồng bắt nguồn từ dãy Ngụy Sơn thuộc tỉnh Vân Nam Trung Quốc chảy vào Việt Nam theo hướng Tây Bắc – Đông Nam ở độ cao trên 1500m sau đó ngoặt sang hướng Đông ở Pa Vinh, khi tới thị xã Hòa Bình thì sông chảy theo hướng Bắc đổ vào sông Hồng ở Trung Hà. Sông Đà có diện tích lưu vực 52.900 km2 trong đó 50.6% thuộc phần lãnh thổ Việt Nam, bao gồm phần trung và hạ lưu sông và chiếm 37% diện tích tập trung nước của sông Hồng. Sông Đà có chiều dài dòng chính là 980km (phần thuộc lãnh thổ Việt Nam dài 540 km). Lưu vực sông Đà có dạng hình thuôn dài chạy dọc theo hướng Tây Bắc – Đông Nam, kéo dài từ 20o40’ đến 25o00’ độ vĩ Bắc và từ 100o22’ đến 105o24’ độ kinh Đông với chiều dài lưu vực 690km (phần thuộc lãnh thổ Việt Nam là 380 km) và chiều rộng bình quân lưu vực 76km (phần trong nước là 80 km). Chiều rộng lưu vực lớn nhất là 165 km thuộc tỉnh Lai Châu còn phần hẹp nhất 25km, thuộc tỉnh Hòa Bình. Độ dốc bình quân lòng sông trung bình 0.41‰, trong đó độ dốc lòng sông thuộc lãnh thổ Trung Quốc là 2,54‰. 3.1.1 Vị trí địa lý Lưu vực sông Đà nằm giữa các dãy núi cao và trung bình chạy dài theo hướng Tây Bắc - Đông Nam. Đặc điểm nổi bật của lưu vực sông Đà là các dạng địa hình núi cao và cao nguyên đều cao và bị chia cắt theo chiều thẳng đứng rất mạnh. Điều nhận thấy rõ rệt là địa hình núi và cao nguyên ở đây có sự sắp xếp song song có ảnh hưởng lớn đến khí hậu của vùng. Có thể nói lưu vực sông Đà chia làm 3 nhóm địa hình: Nhóm kiểu địa hình núi, nhóm kiểu địa hình cao nguyên, nhóm kiểu địa hình thung lũng. 58 3.1.2 Địa hình Địa hình lưu vực sông Đà thuộc vùng Tây Bắc nước ta từ biên giới Việt - Trung, Việt - Lào tới Lai Châu, Mường Lay chủ yếu là các dãy núi ở độ cao trên 1000 m. Địa hình có hình dáng đường sống núi hẹp, có đỉnh cao nhất đạt tới 3076 m, chủ yếu cấu tạo bởi granit, ven rìa xen đá phiến và đá vôi. 3.1.3 Điều kiện địa chất Về cấu trúc địa chất, sông Đà là vùng có cấu trúc địa chất phức tạp và chưa ổn định. Toàn bộ lưu vực phân bố rộng trên nền đá vôi, tạo nên cấu trúc Karst phức tạp, có nhiều đứt gãy ngang. Ba đới đứt gãy chính là đứt gãy sông Hồng, đứt gãy Điện Biên – Lai Châu và đứt gãy sông Mã. Về các hoạt động địa chấn, do lưu vực có địa hình núi chia cắt nên có nhiều quá trình ngoại sinh huỷ hoại, quá trình xói mòn đất, kết hợp với cấu trúc địa chất kém ổn định thường diễn ra các hoạt động địa chấn như động đất. Ngoài ra trong vùng còn thường xuyên có động đất kích thích xảy ra như nứt, trượt, sạt lở đất đặc biệt ở các vùng dốc cao, do tổng hợp của nhiều nguyên nhân khác nhau gây ra: do tác động của trọng lực, do hoạt hoá trở lại của các đứt gãy kiến tạo, vv ... các quá trình địa chất này chủ yếu xảy ra trong giai đoạn đầu khi các hồ chứa tích nước. Các kết quả nghiên cứu trong nhiều năm qua cho thấy cùng với sự tích nước của hồ chứa, các hoạt động địa chất đã tăng lên, hiện tượng động đất kích thích xảy ra mạnh mẽ nhất ở khu vực xung quanh đập thuộc địa phận Thị xã Hoà Bình. 3.1.4 Điều kiện thổ nhưỡng Tây Bắc là vùng rừng núi cao, có độ chia cắt mạnh nhất Việt Nam; riêng với lưu vực sông Đà, thổ nhưỡng có đặc điểm chủ yếu là trên nền đá vôi và đất phong hoá trên nền đá vôi. Tuy nhiên, do địa hình chia cắt mạnh và diễn biến khác biệt về chế độ khí hậu, thuỷ văn giữa các tiểu vùng sinh thái nên loại hình phân bố thổ nhưỡng của lưu vực sông Đà rất đa dạng và phong phú. 3.1.5 Đặc điểm khí hậu Có thể nói rằng khí hậu vùng lưu vực sông Đà là khí hậu nhiệt đới, gió mùa vùng núi với hai mùa rõ rệt. Mùa đông lạnh, suốt mùa đông duy trì một tình trạng hanh khô điển hình, có sương muối và ít mưa (mùa khô) trùng với mùa gió Đông Bắc, kéo dài từ tháng Mười Một năm trước tới tháng Ba năm sau. Mùa hè trùng với mùa gió Tây Nam, nóng có gió tây khô nóng và nhiều mưa (mùa mưa), kéo dài từ tháng Năm tới tháng Chín hàng năm. Giữa hai mùa (tháng Tư, tháng Mười) là thời kỳ chuyển tiếp, nền nhiệt ẩm và có tính ôn hoà. 59 Về cơ bản, mùa mưa gần như trùng với mùa nóng và mùa khô trùng với mùa lạnh. Mưa đá cũng thường xảy ra trong thời kỳ quá độ từ mùa lạnh sang mùa nóng. Lượng mưa ở vùng lưu vực sông Đà phân bố rất không đều phụ thuộc vào đặc điểm của địa hình, giá trị trung bình năm biến đổi khá mạnh mẽ từ 1300-3200mm. Vùng mưa lớn Hoàng Liên – Sa Pa đạt tới trên 2000mm, trong khi vùng mưa ít Nam Sơn La chỉ đạt 1200 - 1600mm. Tương ứng với vùng mưa lớn cũng là vùng có lượng ẩm phong phú quanh năm, đồng thời vùng mưa ít cũng là vùng thiếu ẩm, chủ yếu là trong mùa Đông. Lưu vực sông Đà có độ ẩm cao và ít thay đổi. Độ ẩm tuyệt đối dao động trong phạm vi từ 11 - 32mb và độ ẩm tương đối khá cao, trung bình năm trong toàn vùng lưu vực sông Đà dao động trong khoảng từ 80 – 85% và không chênh lệch nhiều giữa các vùng (mùa nóng độ ẩm không khí trung bình khoảng 84 – 87%, mùa lạnh có khí hậu khô lạnh, độ ẩm không khí chỉ có 72 – 75%). Lượng bốc hơi lớn nhất (đo bằng ống Piche) dao động trong phạm vi khá rộng, từ 666 đến 1052 mm/năm. Thời kỳ giữa mùa khô đến đầu mùa mưa (II-V) có lượng bốc hơi lớn nhất, đạt 70-150mm/tháng. Vào thời kỳ còn lại, lượng bốc hơi dao động trong khoảng 40-70mm/tháng. Toàn lưu vực sông Đà chịu tác động của cơ chế gió mùa Đông Nam Á với hai mùa gió: gió mùa đông và gió mùa hạ. Gió mùa đông bị chi phối bởi không khí cực đới lục địa và không khí nhiệt đới biển Đông đã biến tính. Gió mùa hạ bị chi phối bởi ba khối không khí: không khí nhiệt đới biển Bắc Ấn Độ Dương (gió Tây Nam), không khí xích đạo (gió Nam) và không khí biển Thái Bình Dương. Cơ chế gió mùa và sự thay đổi điều kiện bức xạ theo chu kỳ năm tạo nên biến đổi tuần hoàn năm của hầu hết các yếu tố khí hậu, nổi bật nhất là sự hình thành và diễn biến của các mùa. 3.1.6 Đặc điểm chế độ thuỷ văn a. Mạng lưới sông ngòi Sông ngòi trong lưu vực sông Đà có những đặc điểm khác so với những vùng Đông Bắc. Dòng chính của sông Đà có hướng trùng kiến tạo của khu Tây Bắc. Sông suối trong lưu vực sông Đà thuộc loại sông trẻ, thung lũng sông hẹp, nhiều đoạn có dạng hẻm vực sâu, chứng tỏ địa hình mới được nâng lên rất mạnh. Phần lớn lòng sông cao hơn mặt biển từ 100 - 500m. Do đó sông đang đào lòng mạnh, trắc diện hẹp, bồi tụ ít và lắm thác ghềnh. Thượng lưu sông Đà kể từ nguồn tới Pắc Ma, dòng sông chảy theo hướng Tây Bắc - Đông Nam. Lòng sông đoạn này hẹp, mùa cạn rộng, trung bình 40 - 60m. Độ 60 dốc lớn chỉ tính từ biên giới Việt Trung tới Lai Châu dài khoảng 125km, đạt độ dốc bình quân tới 160cm/km. Trung lưu sông Đà từ Pắc Ma tới Suối Rút, sông vẫn chảy theo hướng Tây Bắc - Đông Nam. Dòng sông chảy giữa hai bờ núi rất cao. Độ dốc đáy sông giảm xuống rõ rệt, còn khoảng 38 - 40cm/km nhưng thác ghềnh còn nhiều. Về mùa cạn, lòng sông rộng trung bình 90 - 100m. Tại hạ lưu sông Đà từ Suối Rút tới cửa sông (Trung Hà), lòng sông mở rộng rõ rệt, trung bình khoảng 200m về mùa cạn. Độ dốc dòng sông giảm không nhiều. Ngoài Thác Bờ, trên đoạn này không còn thác nữa, trong khi đó bãi bồi lại khá nhiều. Từ suối Rút, sông Đà chảy theo hướng Tây Đông cho tới Hoà Bình. Qua Hoà Bình, sông Đà chuyển theo hướng Tây Nam - Đông Bắc. Chính những khối núi Ba Vì, Viên Nam, Đối Thôi đã buộc sông Đà phải đổi hướng như vậy. Thung lũng sông trên đoạn này mở rộng tới 10km, giao thông tương đối thuận lợi. Không kể những phụ lưu lớn, dòng chính sông Đà có mạng lưới thuỷ văn phân bố không đồng đều. Mật độ sôn

Các file đính kèm theo tài liệu này:

  • pdfMSc07_Pham_Thi_Hoang_Nhung_Thesis.pdf