i LỜI CAM ĐOAN Tôi xin cam đoan tất cả các nội dung của luận văn này hoàn toàn được hình thành và phát triển từ quan điểm của chính cá nhân tôi, dưới sự hướng dẫn chỉ bảo của PGS.TS Lê Bá Dũng. Các số liệu kết quả có được trong luận văn tốt nghiệp là hoàn toàn trung thực. Học viên Nguyễn Tô Hoán
ii LỜI CẢM ƠN Để hoàn thành chương trình cao học và viết luận văn này, tôi đã nhận được sự hướng dẫn, giúp đỡ và chỉ bảo nhiệt tình của thầy giáo, cô giáo Trường Đại học Công nghệ thông tin và Truyền thông- Đại học Thái Nguyên. Đặc biệt là các thầy của Viện công nghệ thông tin Hà Nội đã tận tình dạy bảo cho tôi trong suốt thời gian học tập tại trường. Tôi xin gửi lời cảm ơn đến PGS.TS Lê Bá Dũng đã dành nhiều thời gian và tâm huyết hướng dẫn tôi hoàn thành luận văn này. Mặc dù tôi đã cố gắng hoàn thiện luận văn bằng tất cả năng lực của mình, song không thể tránh khỏi những thiếu sót, rất mong nhận được sự đóng góp quý báu của các thầy giáo, cô giáo và các bạn. Tôi xin chân thành cảm ơn!
iii MỤC LỤC LỜI CAM ĐOAN... i LỜI CẢM ƠN... ii MỤC LỤC... iii DANH MỤC CÁC HÌNH VẼ... v DANH MỤC CÁC BẢNG BIỂU... vi DANH MỤC CÁC TỪ VIẾT TẮT... vii MỞ ĐẦU... 1 Chương 1. TỔNG QUAN VỀ MẠNG NƠRON NHÂN TẠO VÀ HỆ MỜ... 3 1.1 Cấu trúc và mô hình mạng nơron... 3 1.1.1 Mô hình một nơron sinh học... 3 1.1.2 Mô hình một nơron nhân tạo... 4 1.2 Cấu tạo và phương thức làm việc của mạng nơron... 7 1.2.1 Mạng nơron truyền thẳng một lớp... 8 1.2.2 Mạng nơron truyền thẳng nhiều lớp... 9 1.2.3 Mạng nơron phản hồi... 9 1.2.4 Mạng nơron hồi quy... 10 1.3 Các luật học... 10 1.3.1 Học có giám sát... 11 1.3.2 Học không có giám sát... 12 1.3.3 Học củng cố... 13 1.4 Hệ mờ và mạng nơron... 14 1.4.1 Kiến trúc của hệ mờ tổng quát... 14 1.4.2 Sự kết hợp giữa logic mờ và mạng neural... 20 1.5 Kết luận chương... 22 Chương 2. MÔ HÌNH MẠNG ANFIS VÀ KHẢ NĂNG ỨNG DỤNG... 22 2.1 Hệ suy diễn mờ dựa trên mạng thích nghi... 23
iv 2.1.1 Các mô hình kết hợp giữa hệ mờ và mạng nơron... 23 2.1.2 Luật mờ if then và hệ thống suy diễn mờ... 24 2.1.3 Mạng thích nghi... 26 2.1.4 Cấu trúc mạng ANFIS... 27 2.2 Thuật toán ANFIS... 29 2.2.1 Thuật toán học lan truyền ngược... 29 2.2.2 Thuật toán học lai... 35 2.3 Khả năng ứng dụng của mạng ANFIS... 37 Chương 3. ỨNG DỤNG MÔ HÌNH MẠNG ANFIS TRONG BÀI TOÁN PHÂN TÍCH ĐÁNH GIÁ DỰ BÁO MỰC NƯỚC VÀ THỬ NGHIỆM... 39 3.1 Bài toán dự báo mực nước... 39 3.1.1 Một số khái quát cơ bản về khí hậu, môi trường tự nhiên... 39 3.1.2 Sự cần thiết của việc dự báo mực nước... 41 3.1.3 Cần phải thích nghi... 43 3.2 Ứng dụng mạng ANFIS trong dự báo mực nước... 45 3.2.1 Thiết kế suy diễn nơron mờ thích nghi... 45 3.2.2 Xây dựng mô hình ANFIS cho xử lý số liệu... 50 3.3 Đánh giá kết quả thực hiện chương trình... 57 3.4 Kết luận và hướng phát triển... 58 3.4.1 Kết luận... 58 3.4.2. Hướng phát triển... 59 TÀI LIỆU THAM KHẢO... 60
v DANH MỤC CÁC HÌNH VẼ Hình 1.1. Cấu trúc của một nơron sinh học điển hình... 3 Hình 1.2. Mô hình một nơron nhân tạo... 4 Hình 1.3. Đồ thị các dạng hàm truyền... 7 Hình 1.4. Mạng truyền thẳng một lớp... 8 Hình 1.5. Mô hình cấu trúc của mạng nơron truyền thẳng nhiều lớp... 9 Hình 1.6. Mạng nơron phản hồi... 9 Hình 1.7. Mạng hồi quy một lớp có nối ngược... 10 Hình 1.8. Mạng quy hồi nhiều lớp có nối ngược... 10 Hình 1.9. Sơ đồ học tham số có giám sát... 12 Hình 1.10. Sơ đồ học tham số không có giám sát... 13 Hình 1.11. Kiến trúc của hệ mờ tổng quát... 14 Hình 1.12. Hệ mờ nhiều đầu vào - một đầu ra... 15 Hình 1.13. Hàm thuộc hệ mờ một đầu vào một luật... 17 Hình 1.14. Hàm thuộc hệ mờ hai đầu vào - một luật... 18 Hình 1.15. Mô hình hệ mờ - neural... 22 Hình 2.1. Hệ thống suy luận mờ... 25 Hình 2.2. Mạng thích nghi... 26 Hình 2.3. Cấu trúc của ANFIS... 27 Hình 2.4. Mạng ba lớp lan truyền ngược... 29 Hình 3.1. Hình ảnh đập Hồ thủy điện Thác Bà... 43 Hình 3.2. Các phương trình minh họa cho việc thực thi mạng... 50 Hình 3.3. Biểu diễn đồ thị các dữ liệu vào ra... 51 Hình 3.4. Biểu diễn kết quả mực nước thực tế dự báo qua mô hình A... 52 Hình 3.5. Biểu diễn kết quả mực nước thực tế dự báo qua mô hình B... 52 Hình 3.6. Biểu diễn kết quả mực nước thực tế dự báo qua mô hình C... 53 Hình 3.7. Biểu diễn kết quả mực nước thực tế dự báo qua mô hình D... 54 Hình 3.8. Biểu diễn kết quả mực nước thực tế dự báo qua mô hình E... 54
vi DANH MỤC CÁC BẢNG BIỂU Bảng 3.1. Lưu lượng dòng chảy đến các hồ sẽ biến đổi chậm trong 12 tháng45 Bảng 3.3. Các mô hình dự báo đầu ra mực nước hồ với các đầu vào khác nhau 51 Bảng 3.4. Biểu diễn số liệu đo thực và các dự báo theo mô hình bảng 3.3... 55 Bảng 3.5. Mô hình dự báo theo ANFIS so sánh với các số liệu dự báo... 56 của hồ Thác Bà theo tài liệu công bố... 56
vii ANN ANFIS MIMO MISO LSE DANH MỤC CÁC TỪ VIẾT TẮT Artificial Neural Network Mạng nơron nhân tạo Adaptive Neural Fuzzy Insference System Hệ suy luận mờ Multi Input Multi Output Hệ mờ nhiều đầu vào - nhiều đầu ra Multi Input Single Output Hệ mờ nhiều đầu vào - một đầu ra Least Squara Error Phương pháp ước lượng sai số bình phương cực tiểu
1 MỞ ĐẦU Ngày nay, các mạng nơron nhân tạo, Artificial Neural Network (ANN) gọi tắt là mạng nơron đã được ứng dụng thành công, các nhà khoa học và các kĩ sư trong những năm gần đây đã có nhiều nghiên cứu ứng dụng trong việc xấp xỉ hàm, nhận dạng và điều khiển, xử lý ảnh, dự đoán chuỗi thời gian, Hệ mờ nơ ron là một sự kết hợp giữa logic mờ và và khả năng học của mạng nơron. Một trong những sự kết hợp đó là hệ mờ nơron thích nghi (ANFIS - Adaptive Neuro Fuzzy Inference System). Hệ thống này có khả năng tối ưu hóa hệ mờ dựa trên các tập mẫu có sẵn. Các hệ mờ - nơron và các công cụ thống kê là các phương pháp khác nhau được sử dụng trong các bài toán dự báo như dự báo các chỉ số kinh tế, tài chính. Các mạng nơron chứa một số lượng lớn các thông số đầu vào cho phép việc học bên trong các quan hệ không tuyến tính hiện tại trong chuỗi thời gian, tăng cường khả năng dự báo. Trong những năm gần đây, nhiều bài toán dự báo được các chuyên gia đã tin tưởng và sử dụng các hệ thống thông minh khác nhau, trong đó Mạng Nơron nhân tạo và hệ suy luận mờ - nơron (ANFIS) cũng được ứng dụng trong lĩnh vực này. Bài toán dự báo mực nước hồ thủy điện là một trong những yêu cầu của sự phát triển kinh tế xã hội của tỉnh Yên Bái. Trong luận văn này, mực nước của hồ thủy điện được dự báo bằng cách sử dụng hệ suy luận mờ dựa trên mạng thích nghi (ANFIS), luận văn bao gồm các nội dung sau: Chương 1. Tổng quan về mạn nơron nhân tạo và hệ mờ Chương 2. Mô hình mạng Anfis và khả năng ứng dụng Chương 3. Ứng dụng mô hình mạng Anfis trong bài toán phân tích đánh giá dự báo mực nước và thử nghiệm Do các yêu cầu trên nên em chọn làm đề tài Mạng ANFIS và ứng
2 dụng cho dự báo mực nước hồ thủy điện Thác Bà cho luận văn tốt nghiệp của mình. Đề tài này, em trình bày một hệ thống suy luận mờ dựa trên mạng thích nghi ANFIS để dự báo mực nước lâu dài, dự báo mực nước hàng năm, phục vụ cho phát triển kinh tế xã hội của tỉnh Yên Bái.
3 Chương 1. TỔNG QUAN VỀ MẠNG NƠRON NHÂN TẠO VÀ HỆ MỜ 1.1 Cấu trúc và mô hình mạng nơron 1.1.1 Mô hình một nơron sinh học Qua quá trình nghiên cứu về bộ não, người ta thấy rằng: bộ não con người bao gồm khoảng 10 11 nơron tham gia vào khoảng 10 15 kết nối trên các đường truyền. Mỗi đường truyền này dài khoảng hơn một mét. Các nơron có nhiều đặc điểm chung với các tế bào khác trong cơ thể, ngoài ra chúng còn có những khả năng mà các tế bào khác không có được, đó là khả năng nhận, xử lý và truyền các tín hiệu điện hóa trên các đường mòn nơron, các con đường này tạo nên hệ thống giao tiếp của bộ não. Hình 1.1. Cấu trúc của một nơron sinh học điển hình Mỗi nơron sinh học có 3 thành phần cơ bản: Các nhánh vào hình cây (dendrites) Thân tế bào (cell body)
4 Sợi trục ra (axon) Các nhánh hình cây truyền tín hiệu vào đến thân tế bào. Thân tế bào tổng hợp và xử lý cho tín hiệu đi ra. Sợi trục truyền tín hiệu ra từ thân tế bào này sang nơron khác. Điểm liên kết giữa sợi trục của nơron này với nhánh hình cây của nơron khác gọi là synapse. Liên kết giữa các nơron và độ nhạy của mỗi synapse được xác định bởi quá trình hóa học phức tạp. Một số cấu trúc của nơron được xác định trước lúc sinh ra. Một số cấu trúc được phát triển thông qua quá trình học. Trong cuộc đời cá thể, một số liên kết mới được hình thành, một số khác bị hủy bỏ. Như vậy nơron sinh học hoạt động theo cách thức sau: nhận tín hiệu đầu vào, xử lý các tín hiệu này và cho ra một tín hiệu output. Tín hiệu output này sau đó được truyền đi làm tín hiệu đầu vào cho các nơron khác. Dựa trên những hiểu biết về nơron sinh học, con người xây dựng nơron nhân tạo với hy vọng tạo nên một mô hình có sức mạnh như bộ não. 1.1.2 Mô hình một nơron nhân tạo Mô hình toán học của mạng nơron sinh học được đề xuất bởi McCulloch và Pitts, thường được gọi là nơron M-P, ngoài ra nó còn được gọi là phần tử xử lý và được ký hiệu là PE (Processing Element). Mô hình nơron có m đầu vào x 1, x 2,,x m, và một đầu ra y i như sau: Hình 1.2. Mô hình một nơron nhân tạo
5 Giải thích các thành phần cơ bản: Tập các đầu vào: Là các tín hiệu vào (input signals) của nơron, các tín hiệu này thường được đưa vào dưới dạng một vector m chiều. Tập các liên kết (các trọng số): Mỗi liên kết được thể hiện bởi một trọng số (thường được gọi là trọng số liên kết - Synaptic weight). Trọng số liên kết giữa tín hiệu vào thứ j với nơron i thường được ký hiệu là w ij. Thông thường, các trọng số này được khởi tạo một cách ngẫu nhiên ở thời điểm khởi tạo mạng và được cập nhật liên tục trong quá trình học mạng. Bộ tổng (Hàm tổng - Summing function): Thường dùng để tính tổng của tích các đầu vào với trọng số liên kết của nó. Ngưỡng (còn gọi là một độ lệch - bias): Ngưỡng này thường được đưa vào như một thành phần của hàm truyền. Hàm truyền (Transfer function): Hàm này dùng để giới hạn phạm vi đầu ra của mỗi nơron. Nó nhận đầu vào là kết quả của hàm tổng và ngưỡng đã cho. Thông thường, phạm vi đầu ra của mỗi nơron được giới hạn trong đoạn [0,1] hoặc [-1,1]. Các hàm truyền rất đa dạng, có thể là các hàm tuyến tính hoặc phi tuyến. Việc lựa chọn hàm truyền tùy thuộc vào từng bài toán và kinh nghiệm của người thiết kế mạng. Đầu ra: Là tín hiệu đầu ra của một nơron, với mỗi nơron sẽ có tối đa một đầu ra. Xét về mặt toán học, cấu trúc của một nơron i được mô tả bằng cặp biểu thức sau: yi f ( neti i ) và neti wijx n j 1 j (1.1)
6 Trong đó: x 1, x 2, x m là các tín hiệu đầu vào, còn w i1, w i2,,w im là các trọng số kết nối của nơron thứ i, net i là hàm tổng, f là hàm truyền, θ i là một ngưỡng, y i là tín hiệu đầu ra của nơron. Như vậy, tương tự như nơron sinh học, nơron nhân tạo cũng nhận các tín hiệu đầu vào, xử lý (nhân các tín hiệu này với trọng số liên kết, tính tổng các tích thu được rồi gửi kết quả đến hàm truyền), và cho một tín hiệu đầu ra (là kết quả của hàm truyền). Hàm truyền có thể có các dạng sau: Hàm bước: 1 khi x 0 y 0 khi x 0 (1.2) Hàm giới hạn chặt: (hay còn gọi là hàm bước) 1 khi x 0 y sgn( x) 1 khi x 0 (1.3) Hàm bậc thang: 1 khi x 1 y sgn( x) x khi 0 x 1 0 khi x 0 (1.4) Hàm ngưỡng đơn cực: 1 y x 1 e với >0 (1.5) Hàm ngưỡng hai cực: 2 y 1 x e 1 với >0 (1.6)
7 Đồ thị các dạng hàm truyền được biểu diễn như sau: Hình 1.3. Đồ thị các dạng hàm truyền 1.2 Cấu tạo và phương thức làm việc của mạng nơron Mạng nơron nhân tạo (Artificial Neural Network) là một cấu trúc mạng được hình thành nên bởi số lượng các nơron nhân tạo liên kết với nhau. Mỗi nơron có các đặc tính đầu vào, đầu ra và thực hiện một số chức năng tính toán cục bộ. Với việc giả lập các hệ thống sinh học, các cấu trúc tính toán, mạng nơron có thể giải quyết được các lớp bài toán nhất định như: Bài toán xếp loại, bài toán lập lịch, bài toán tìm kiếm, bài toán nhận dạng mẫu... Các bài toán phức tạp cao, không xác định. Tuy nhiên, sự liên kết giữa một bài toán bất kỳ trong thực tế với một giải pháp mạng nơron lại là một việc không dễ dàng. Xét một cách tổng quát, mạng nơron là một cấu trúc xử lý song song thông tin phân tán mang các đặc tính nổi bật sau: - Là một mô hình tính toán dựa trên bản chất của nơron - Bao gồm một số lượng rất lớn các nơron liên kết với nhau - Mạng nơron có khả năng học, khái quát hóa tập dữ liệu học thông qua
8 việc gán và hiệu chỉnh các trọng số liên kết. - Tổ chức theo kiểu tập hợp mang lại cho mạng nơron khả năng tính toán rất lớn, trong đó không có rron nào mang thông tin riêng biệt. 1.2.1 Mạng nơron truyền thẳng một lớp Mô hình mạng nơron truyền thẳng một lớp là mô hình liên kết cơ bản và đơn giản nhất. Các nơron tổ chức lại với nhau tạo thành một lớp, đường truyền tín hiệu được truyền theo một hướng nhất định nào đó. Các đầu vào được nối với các nơron theo các trọng số khác nhau, sau quá trình xử lý cho ra một chuỗi các tín hiệu ra. Mạng nơron là mô hình LTU thì nó được gọi là mạng Perception, còn mạng nơron là mô hình LGU thì nó được gọi là mạng Adaline. Hình 1.4. Mạng truyền thẳng một lớp Với mỗi giá trị đầu vào x = [ x 1,x 2,...,x n ]T. Qua quá trình xử lý của mạng ta sẽ thu được một bộ tương ứng các giá trị đầu ra là y = [y 1,y 2,...,y n ]T được xác định như sau: Trong đó: m y f ( w x ). i 1, n (1.7) i i j 1 m : Số tín hiệu vào n : Số tín hiệu ra ij j i W i T = [ w i1, w i2,...,w in ] T là véc tơ trọng số của nơron thứ i f i: Hàm kích hoạt các nơron thứ i i : Là ngưỡng của nơron thứ i
9 1.2.2 Mạng nơron truyền thẳng nhiều lớp Với mạng nơron truyền thẳng một lớp ở trên khi phân tích một bài toán phức tạp sẽ gặp rất nhiều khó khăn, để khắc phục vấn đề này người ta đưa ra mô hình mạng nơron truyền thẳng nhiều lớp bằng việc kết hợp với một số lớp nơron lại với nhau. Lớp nhận tín hiệu vào gọi là lớp vào, lớp đưa ra tín hiệu ra của mạng được gọi là lớp ra. Các lớp ở giữa lớp vào và lớp ra được gọi là các lớp ẩn. Hình 1.5. Mô hình cấu trúc của mạng nơron truyền thẳng nhiều lớp 1.2.3 Mạng nơron phản hồi Kiến trúc phản hồi (Feedback architecture): Là kiểu kiến trúc mạng có các kết nối từ nơron đầu ra tới nơron đầu vào. Mạng lưu lại các trạng thái trước đó, và trạng thái tiếp theo không chỉ phụ thuộc vào các tín hiệu đầu vào mà còn phụ thuộc vào các trạng thái trước đó của mạng. Mạng Hopfield thuộc loại này. Hình 1.6. Mạng nơron phản hồi
10 1.2.4 Mạng nơron hồi quy Mạng quy hồi một lớp có nối ngược Hình 1.7. Mạng hồi quy một lớp có nối ngược Mạng quy hồi nhiều lớp có nối ngược Hình 1.8. Mạng quy hồi nhiều lớp có nối ngược 1.3 Các luật học Mạng nơron có một số ưu điểm so với máy tính truyền thống. Cấu trúc song song của mạng nơron rất thích hợp cho nhưng ứng dụng đòi hỏi tốc độ nhanh theo thời gian thực. Khả năng huấn luyện của mạng nơron có thể khai thác để phát triển hệ học thích nghi. Mặt khác, với khả năng tổng quát hóa của mạng nơron, nó có thể áp dụng để điều khiển nhiều tham số phức tạp đồng thời từ đó giải quyết dễ dàng một số bài toán NP - đầy đủ (NP - Complete). Các luật học đóng vai trò quan trọng trong việc xác định một mạng nơron nhân tạo. Một cách đơn giản về khái niệm học của mạng nơron là cập nhật trọng số trên cơ sở các mẫu. Theo nghĩa rộng thì học có thể được chia thành hai loại: Học tham số và học cấu trúc.