Mạng nơron nhân tạo và mô hình thống kê kinh điển

Một phần của tài liệu 27710 (Trang 70)

Chƣơng 5 Mô hình hóa hệ thống xử lý nƣớc thải sử dụng mạng nơron

5.2. Mạng nơron nhân tạo và mô hình thống kê kinh điển

ĐIỂN

Mục tiêu chính của công việc mô hình hóa vẫn là tìm mối liên hệ giữa các thông số của hệ thống. Cả hai mạng nơron nhân tạo và mô hình thống kê kinh điển đều nhằm tới mục tiêu đó. Song giữa chúng có nhiều điểm tương đồng và cũng có những nét đặc trưng riêng.

5.2.1. Sự tƣơng đồng

Các thành phần của hai loại mô hình cũng như thuật ngữ sử dụng tương đồng và có ý nghĩa, vai trò như nhau [14];

Bảng 5.1 các thuật ngữ của mạng nơron và mô hình thống kê.

Mạng nơron nhân tạo Mô hình thống kê

Thông số đầu vào (in put) Biến độc lập (Independent variable)

Thông số đầu ra (out put) Giá trị được dự báo (Predicted value)

Giá trị luyện được (Training values ) Biến phụ thuộc (Dependent variable)

Lỗi (Errors) Sai số (Residuals)

Luyện mạng hay quá trình học để thu được các trọng số (Training or learning)

Hàm lỗi hay hàm chi phí (Error function or cost function)

Tiêu chí ước lượng (Estimation criterion)

Dữ liệu để luyện (Patterns or training pairs)

Các quan sát (Observation)

Các trọng số (Weights) Các hệ số (Parameter estimates)

Tổng quát hóa (Generilisation) Nội suy và ngoại suy (Interpolation and

extrapolation)

Cả mạng nơron nhân tạo lẫn mô hình thống kê đều tìm cách thu được những hệ số hay trọng số để diễn đạt mỗi quan hệ giữa đầu vào và đầu ra của hệ thống. Với mạng nơron thì thông qua hoạt động của hàm truyền còn với mô hình thống kê thì thông qua các hàm hồi quỵ

5.2.2. Sự khác nhau

5.2.2.1. Về mục tiêu

Mô hình thống kê đi xây dựng phương pháp luận tổng quát để đạt được tối ưu với ý nghĩa thống kê.

Mạng nơron nhân tạo quan tâm đến khả năng dự báo chính xác và tìm hiểu cơ chế hoạt động của vấn đề.

5.2.2.2. Phƣơng pháp tiếp cận mô hình

Mặc dù mạng nơron nhân tạo và mô hình thống kê được xem là tương đương nhau trong thời gian dài, nhưng điều này chỉ có ý nghĩa trong những ứng dụng mà bản chất vấn đề đơn giản, các mối liên hệ là tuyến tính hay xấp xỉ tuyến tính. Còn trong những ứng dụng thực tế có mối liên hệ phức tạp và thường là kết quả của những hàm phi tuyến phức tạp thì lúc này mô hình thống kê tỏ ra rất hạn chế. Ngược lại, mạng nơron nhân tạo tỏ ra rất linh hoạt và hiệu quả. Ví dụ các thông số đầu ra của một trạm xử lý nước thải được xem là một hàm phức hợp của các thông số đầu vào và các thông số vận hành, chưa có một mô hình toán học mô tả đầy đủ các mối liên hệ đó. Trong những trường hợp như vậy, ứng dụng mô hình mạng nơron nhân tạo là một hướng đi cần thiết.

5.3. ỨNG DỤNG TRONG BÀI TOÁN XỬ LÝ NƢỚC THẢI

Trong bài toán xử lý nước thải, sử dụng mạng nơron đã được phát triển trong vòng một vài thập niên trở lại đâỵ Hiện nay phần lớn các hệ thống xử lý nước thải đều vận dụng những nguyên lý cơ lý, hóa sinh,…Vì các quá trình xảy ra trong đó rất phức tạp, để giải quyết vấn đề này người ta đã dùng nguyên lý chiếc hộp trắng hoặc mô hình thống kê kinh điển nhưng kết quả đạt được chưa cao, nhất là khi quá trình sinh hóa xảy rạ

Đó cũng là lý do mà hiện nay ngày càng nhiều các công trình nghiên cứu về khả năng ứng dụng mạng nơron nhân tạo để mô phỏng các quá trình xử lý trong kỹ thuật môi trường. Trong đó có thể kể đến một vài công trình nghiên cứu ứng dụng mạng nơron trong kỹ thuật môi trường của: Nguyễn Khoa Việt Trường [11]; Michael Hack and Manfre Kohnẹ[17]; Maged M. Hamed, Mona G. Khalafallah, Ezzat Ạ Hassanien, [18]; C.Ạ Gontarski, P.R. Rodrigues, M. Mori, L.F. Prenem, [19]; J.C. Chen, N.B. Chang, W.K. Shieh, [20].

Trong luận văn này, tác giả sẽ tìm hiểu ứng dụng của mạng nơron để dự báo đầu ra của một hệ thống xử lý nước thảị Vì sao sử dụng mạng nơron kết quả nhận được lại tốt hơn những công cụ khác? Chúng ta có thể giải thích như sau:

Trong quá trình xây dựng mô hình có hai nguyên nhân gây ra sai số:

Nguyên nhân thứ nhất: là do ánh xạ không cùng dạng với hàm đích. Bản chất mối quan hệ giữa thông số đầu vào và đầu ra của quá trình xử lý nước thải là quan hệ phi tuyến rất phức tạp. Do đó, nếu sử dụng các phương pháp có ưu thế về xấp xỉ các hàm tuyến tính xem ra không khả thị Còn các mô hình vật lý, hoạt động theo nguyên tắc chiếc hộp trắng cũng chỉ diễn đạt được một phần nào đó bản chất hiện tượng xảy ra bên trong hệ thống, mà chưa đưa ra một mô hình vật lý tổng quát cho một hệ thống xử lý nước thảị Trong khi đó, mạng nơron hoạt động theo nguyên lý chiếc hộp đen lại tỏ ra ưu thế hơn hẳn, chúng có thể xấp xỉ các hàm phi tuyến có độ phức tạp bất kỳ với một sai số mong muốn.

thông tin (do các biến độc lập không chứa đủ các thông tin cần thiết để xác định biến phụ thuộc). Và mạng nơron chấp nhận nhiễu là một trong những yếu tố quan trọng để nó được đưa vào ứng dụng trong thực tế [16].

5.4. PHÁT TRIỂN MÔ HÌNH5.4.1. Phƣơng pháp luận 5.4.1. Phƣơng pháp luận

Vấn đề đặt ra trong phần này là làm như thế nào để người ta tạo ra được một mô hình mạng nơron phù hợp để áp dụng cho một bài toán cụ thể. Cơ sở phương pháp luận của nó là gì? Và các bước tiến hành như thế nàỏ

Khi phát triển mô hình mạng nơron người ta tiến hành thực hiện các bước sau:

Hình 5.4. Các bước phát triển mô hình

5.4.1.1. Thu thập dữ liệu và xử lý dữ liệu

Dữ liệu đóng một vai trò quan trọng trong các giải pháp ứng dụng mạng nơron. Chất lượng, độ tin cậy, tính sẵn có và phù hợp của dữ liệu được sử dụng để phát triển hệ thống giúp cho các giải pháp thành công. Trong bất kỳ quá trình xây dựng mô hình nào, hiểu rõ tường tận dữ liệu là công việc hết sức quan trọng. Mô hình mạng nơron cũng không nằm trong trường hợp ngoại lệ [15] và công tác xử lý sơ bộ

dữ liệu có ảnh hưởng mật thiết đến quá trình chạy mô hình. Các mô hình đơn giản cũng có thể đạt được những kết quả nhất định nếu như dữ liệu được xử lý tốt, thể hiện được những thông tin quan trọng. Bên cạnh đó các mô hình tốt chưa chắc cho ta kết quả mong muốn nếu như dữ liệu đưa vào quá phức tạp và rắc rốị Thông thường, trước khi xử lý sơ bộ dữ liệu, người ta sẽ chia dữ liệu thành các nhóm có vai trò khác nhau (nhóm để luyện mạng, nhóm để kiểm chứng,…) và các biến khác nhau sẽ dao động trong những khoảng giá trị khác nhaụ Để đảm bảo rằng tất cả các biến đều bình đẳng với nhau trong quá trình luyện mạng, các biến nên được chuẩn hóa (H.R. Maier, G.C. Dandy, 2000 [15]). Ngoài ra, các biến có thể được chuẩn hóa tương ứng với giới hạn của hàm truyền được sử dụng ở lớp rạ

5.4.1.2. Xây dựng mô hình

* Xác định thông số đầu vào mô hình.

Trong quá trình xây dựng mô hình thì việc lựa chọn các biến đầu vào hợp lý là rất quan trọng. Song không ít trường hợp khi ứng dụng mạng nơron người thiết lập thường ít chú trọng đến vấn đề nàỵ Lý do chính là các mạng nơron nhân tạo phụ thuộc vào các lớp dữ liệu cho sẵn, trong khi đó các phương pháp thống kê truyền thống lại sử dụng phương pháp tiếp cận từ các mô hình, nghĩa là cấu trúc của mô hình xác định trước, dưới sự giúp đỡ của công cụ phân tích hoặc kinh nghiệm sẵn có trước khi xác định các thông số của mô hình. Với cách tiếp cận dữ liệu của mạng nơron nhân tạo thì chúng có khả năng xác định cấu trúc mô hình nào cần thiết cho dữ liệu nhập vàọ Nhưng vấn đề đặt ra là khi ta chạy mô hình mạng nơron với một số lượng lớn các giá trị đầu vào và dựa vào mạng nơron để xác định các thông số đầu vào quan trọng của mô hình, thường dẫn đến tăng kích thước của mạng. Điều này dẫn tới một số bất lợi như giảm tốc độ xử lý của mạng và làm tăng số lượng dữ liệu cần thiết để ước lượng các trọng số có hiệu quả, nhất là khi gặp phải những bài toán phức tạp, với nhiều giá trị đầu vào và nếu không có sự sàng lọc để ưu tiên, lựa chọn các biến đầu vào một cách hợp lý thì vấn đề càng trở nên trầm trọng. Do đó, chúng ta phải sử dụng các kỹ thuật phân tích để xác định các thông số đầu vào thích

* Xác định cấu trúc của mạng.

Cấu trúc của mạng được xác định bởi số lượng các trọng số kết nối (các thông số tự do) và cách thức hình thành các “dòng chảy” (la truyền dữ liệu trong mạng). Công việc xác định cấu trúc của mạng là một trong những nhiệm vụ quan trọng nhất nhưng cũng khó khăn nhất trong xây dựng mô hình.

Phương pháp thực hiện xây dựng mạng nơron bao gồm việc xác định sự liên kết giữa các nơron, đồng thời xác định cấu trúc của mạng bao gồm số lớp ẩn, số nơron trong từng lớp.

Tuy nhiên, các thực nghiệm cho thấy rằng, số lớp ẩn sử dụng trong mạng không nên vượt quá 4 lớp. Bên cạnh đó, việc chọn lựa số đầu vào mạng cũng mang một tính chất quyết định đến cấu trúc của mạng để có được khả năng tổng quát hóa tốt.

Ta có thể thực hiện lựa chọn số nơron trong các lớp ẩn bằng cách bắt đầu bằng một số nào đó dựa trên các luật. Sau khi thực hiện huấn luyện, kiểm tra lỗi tổng quát hóa của từng cấu trúc, có thể tăng hoặc giảm số các nơron.

Bất kể phương pháp nào thì luật tổng quát nhất là thực hiện chọn cấu trúc mạng cho ta lỗi tổng quát hóa trên tập dữ liệu huấn luyện là nhỏ nhất. Khi thực hiện điều chỉnh, nên giữ các tham số còn lại không thay đổi để tránh tạo ra các cấu trúc khác có khả năng đưa lại các phức tạp không cần thiết trong quá trình lựa chọn số tối ưu các nơron trong lớp ẩn.

5.4.1.3. Luyện mạng

Quá trình tối ưu hóa các trọng số kết nối được gọi là quá trình “luyện” mạng hay quá trình “học”. Nó tương đương với quá trình ước lượng các tham số trong các mô hình thống kê kinh điển. Mục tiêu của việc huấn luyện mạng đó là tìm ra tập các trọng số cho ta giá trị nhỏ nhất toàn cục của chỉ số hiệu năng hay hàm lỗị

Vấn đề đặt ra là khi nào kết thúc quá trình huấn luyện. Có hai quan điểm trong vấn đề này:

Quan điểm thứ nhất cho rằng chỉ nên ngừng huấn luyện chừng nào không có tiến triển nào của hàm lỗi nữa đối với dữ liệu trên một số tập các tham số của mạng

được chọn ngẫu nhiên. Nói cách khác là xác định được khả năng đạt đến được điểm cực tiểu toàn cục lớn nhất.

Quan điểm thứ hai lại cho rằng cần thực hiện xem xét thường xuyên khả năng tổng quát hóa của mạng bằng cách: sau một số chu kỳ nào đó thực hiện kiểm tra và kiểm tra sự tổng quát hóa của mạng, sau đó lại tiếp tục quá trình huấn luyện.

Cả hai quan điểm này đều thống nhất rằng kết quả kiểm tra trên tập kiểm định là chính xác nhất bởi lẽ nó thể hiện trực tiếp kết quả lời của mạng sau khi được huấn luyện.

Việc thực hiện huấn luyện mạng còn cần phải xem xét khả năng của mạng nơron với một số nào đó lần thực hiện huấn luyện mạng trên các tập khởi tạo ban đầu của các tham số. Sau khi thực hiện huấn luyện trên tất cả các tham số này cần thực hiện đánh giá lại kết quả, từ đó đưa ra kết luận về số lần tối đa thực hiện huấn luyện cho mạng cho từng bài toán cụ thể của mình.

Một phương pháp khác là thực hiện vẽ đồ thị có thể theo dõi trạng thái lỗi của mạng, từ đó có thể quan sát được các vùng mà mạng có trạng thái không thay đổi đối với dữ liệu vàọ Thông thường, số lần tối đa thực hiện huấn luyện cho mạng thường có khoảng biến thiên lớn: từ vài nghìn cho đến vài chục, vài trăm nghìn chu kỳ, việc theo dõi được trạng thái của mạng đối vơi tập huấn luyện và khả năng tổng quát hóa để có thể ngừng khi cần là khá quan trọng. Có thể thực hiện cập nhật đồ thị sau mỗi chu kỳ để có thể theo dõi được các tham số nàỵ

5.4.1.4. Kiểm chứng mạng

Một khi mạng đã được luyện, khả năng của chúng phải được kiểm chứng bằng một tập dữ liệu độc lập theo tiêu chí đã chọn. Nếu lỗi trong quá trình kiểm chứng có sự khác biệt nhiều so với lỗi được nghi nhận trong quá trình luyện, điều đó chứng tỏ hai khả năng xảy ra: Một là hai tập dữ liệu đã được sử dụng không đại diện được cho tổng thể, hai là mạng đã được luyện quá khớp. Quá trình kiểm chứng kém đôi khi cũng do cấu trúc của mạng thiếu hoặc đầu vào chưa xử lý,…

* Sử dụng mô hình cho công tác nghiên cứu: Một mạng nơron đã được huấn luyện với cơ sở dữ liệu hoàn chỉnh sẽ là một công cụ rất tốt cho công tác nghiên cứụ Bản thân mạng đã chứa đựng những thông tin về quá trình mà nó “học” được nên ta có thể sử dụng để khảo sát mỗi liên hệ giữa đầu vào và đầu ra của bài toán dự báo dữ liệu điều này góp phần hoàn thiện hơn các lý thuyết của quá trình dự báo dữ liệụ

* Sử dụng mô hình cho thiết kế: Khi thiết kế bất kỳ hệ thống nào, các quá trình xử lý thường được ước tính thông qua các công cụ mô phỏng. Mạng nơron sau khi được huấn luyện tỏ ra rất hữu ích khi thiết kế các hệ thống tương tự mà nó đã được huấn luyện. Mạng sẽ cung cấp các thông số hữu ích hỗ trợ quá trình đưa ra quyết định và lựa chọn các thông số vận hành phù hợp với các thông số đầu vào công cụ hệ thống cần thiết kế.

5.4.2. Xây dựng chƣơng trình máy tính

Có rất nhiều chương trình được hỗ trợ để chạy các ứng dụng của mạng nơron. Có thể kể đến như: Neural Works Predict, Neural Solution, Neural Network Toolbox,…Trong đó, bộ công cụ Neural Network Toolbox của Matlab được xem là rất hữu ích cho các ứng dụng kỹ thuật.

Matlab (Matrix Laboratory) là một ngôn ngữ lập trình thực hành bậc cao được sử dụng để giải các bài toán về kỹ thuật. Matlab tích hợp được việc tính toán, thể hiện kết quả, cho phép lập trình, giao diện làm việc rất dễ dàng cho người sử dụng. Với Matlab, tất cả các vấn đề và giải pháp đều được trình bày bằng ngôn ngữ các ký hiệu toán học rất quen thuộc và dễ hiểụ Có thể kể ra một số mảng ứng dụng tiêu biểu của Matlab như:

 Sử dụng các hàm có sẵn trong thư viện, các phép tính toán học thông thường.

 Cho phép lập trình tạo ra những ứng dụng mới

 Cho phép mô phỏng các mô hình thực tế

 Phân tích, khảo sát và hiển thị dữ liệu

 Cho phép phát triển, giao tiếp với một số phần mềm khác như C++.

Matlab là một hệ thống tương giao, các phần tử dữ liệu là một mảng (mảng này không đòi hỏi về kích thước). Chúng cho phép giải quyết các vấn đề liên quan đến lập trình bằng máy tính, đặc biệt sử dụng các phép tính về ma trận hay véctơ.

Bộ công cụ mạng nơron (Neural Network Toolbox) nằm trong nhóm công cụ phân tích dữ liệu và thống kê của Matlab. Ta có thể sử dụng công cụ này để tạo ra các mạng nơron; luyện và mô phỏng mạng với các dữ liệu đầu vào, đầu ra trên môi trường Matlab. Xem [10].

Trong phạm vi luận văn này, tác giả xây dựng giao diện ứng dụng được thiết kế bằng công cụ “Graphic User Interface” dựa trên ngôn ngữ lập trình của Matlab.

Giao diện bao gồm các phần sau:

* Dữ liệu: gồm hai phần chính: thao tác dữ liệu và xử lý dữ liệu

Một phần của tài liệu 27710 (Trang 70)

Tải bản đầy đủ (PDF)

(110 trang)