Mục tiêu của đề tài: Xây dựng bộ điều khiển dùng mạng nơron để điều khiển ổn định mực chất lỏng thiết bị RT010 6.. Các nội dung của đề tài: Tập thuyết trình của luận văn Chương I: Giới
Trang 1BỘ MÔN TỰ ĐỘNG HÓA
LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC
ĐIỀU KHIỂN ỔN ĐỊNH MỰC CHẤT
LỎNG DÙNG MẠNG NƠRON
Phan Thành Nhân (1063891)
Ngành: Cơ Điện Tử - Khóa: 32
Tháng 12/2010
Trang 2Bộ Môn Tự Động Hóa -o0o -
Cần Thơ, ngày tháng năm 2010
PHIẾU ĐĂNG KÝ ĐỀ TÀI LUẬN VĂN TỐT NGHIỆP
NĂM HỌC: 2010 – 2011
- Lương Thái Điền 1063860
- Phan Thành Nhân 1063891
Ngành Cơ Điện Tử, khóa 32
2 Tên đề tài: Điều khiển ổn định mực chất lỏng dùng mạng nơron
3 Địa điểm thực hiện: Phòng thực tập Điều Khiển Quá Trình, thuộc Bộ Môn Tự Động Hóa – Khoa Công Nghệ - Trường Đại Học Cần Thơ
4 Họ và tên cán bộ hướng dẫn: Ths Nguyễn Hoàng Dũng
5 Mục tiêu của đề tài: Xây dựng bộ điều khiển dùng mạng nơron để điều khiển ổn định mực chất lỏng thiết bị RT010
6 Các nội dung của đề tài:
Tập thuyết trình của luận văn
Chương I: Giới thiệu đề tài
Chương II: Giới thiệu về mạng nơron
Chương III: Giới thiệu về Neural Network Toolbox của Matlab
Chương IV: Giới thiệu về thiết bị RT010 và mô hình điều khiển
Chương V: Kết quả điều khiển ổn định mực chất lỏng của thiết bị RT010 dùng mạng nơron
Bộ điều khiển ổn định mực chất lỏng dùng mạng nơron
7 Các yêu cầu hỗ trợ cho việc thực hiện đề tài: Cán bộ hướng dẫn, tài liệu tham khảo, phòng thực tập Điều Khiển Quá Trình, thiết bị RT010
8 Kinh phí dự trù cho việc thực hiện đề tài
Trang 3Ths Nguyễn Hoàng Dũng Lương Thái Điền
Phan Thành Nhân
Trang 4CỦA CÁN BỘ HƯỚNG DẪN
Họ và tên sinh viên : Lương Thái Điền
Phan Thành Nhân Lớp : Cơ Điện Tử - Khóa 32
Cán bộ hướng dẫn : Ths Nguyễn Hoàng Dũng
Tên đề tài : ĐIỀU KHIỂN ỔN ĐỊNH MỰC CHẤT LỎNG
DÙNG MẠNG NƠRON
Nội dung luận văn tốt nghiệp:
Nhận xét của cán bộ hướng dẫn:
Cán bộ hướng dẫn
Trang 5CỦA CÁN BỘ PHẢN BIỆN
Họ và tên sinh viên : Lương Thái Điền
Phan Thành Nhân Lớp : Cơ Điện Tử - Khóa 32
Cán bộ phản biện :
Tên đề tài : ĐIỀU KHIỂN ỔN ĐỊNH MỰC CHẤT LỎNG DÙNG MẠNG NƠRON Nội dung luận văn tốt nghiệp:
Nhận xét của cán bộ phản biện:
Cán bộ phản biện
Trang 6LỜI CẢM ƠN
Đầu tiên chúng tôi xin gởi lời cảm ơn và bày tỏ lòng biết ơn sâu sắc đến Thầy Ths Nguyễn Hoàng Dũng giáo viên hướng dẫn đề tài, Thầy đã giúp đỡ tận tình, góp phần to lớn để chúng tôi hoàn thành đề tài này
Chúng tôi xin chân thành cảm ơn Thầy TS Nguyễn Chí Ngôn đã quan tâm, giúp đỡ chúng tôi rất nhiều Chúng tôi cũng xin cảm ơn Cô Nguyễn Thị Thanh Thủy và quý Thầy Cô Bộ môn Tự Động Hóa - Khoa Công Nghệ - Trường Đại Học Cần Thơ đã giúp đỡ chúng tôi trong suốt thời gian thực hiện đề tài này
Và cảm ơn Bộ môn Tự Động Hóa - Khoa Công Nghệ - Trường Đại Học Cần Thơ đã hỗ trợ thiết bị để chúng tôi có thể hoàn thành đề tài này đúng thời gian qui định
Lương Thái Điền
Phan Thành Nhân
Trang 7LỜI NÓI ĐẦU
Mạng nơron nhận tạo là một lĩnh vực xuất hiện đã khá lâu nhưng chỉ mới phát triển trong những thập niên gần đây Việc phát triển của mạng nơron nhân tạo
đã mở ra một cái nhìn mới, một hướng đi mới cho công nghệ tự động Những hệ thống điều khiển, những cổ máy không chỉ hoạt động theo chương trình định sẵn
mà còn biết tự suy luận và tự xử lý
Đề tài “ Điều khiển ổn định mực chất lỏng dùng mạng nơron” nhằm mục đích tìm hiểu và tạo ra một bộ điều khiển mạng nơron điều khiển ổn định mực chất lỏng của thiết bị RT010 trong phòng thực tập Điều khiển quá trình thuộc bộ môn Tự Động Hóa, khoa Công Nghệ, trường Đại Học Cần Thơ
Trang 8
TÓM TẮT ĐỀ TÀI
Ổn định mực chất lỏng là một vấn đề thực tế đang được rất nhiều người quan tâm đến Thông thường, giải pháp được đưa ra là sử dụng các bộ điều khiển kinh điển PI, PD hay PID Ở đây chúng tôi sử dụng mạng nơron để thiết kế một bộ điều khiển ổn định mực chất lỏng cho thiết bị RT010 (điều khiển mực chất lỏng) Sau khi hoàn thành, bộ điều khiển đã hoạt động khá tốt với sai số chấp nhận được (khoảng 2%) Từ kết quả này, người sử dụng có thể bổ sung và phát triển để tạo ra các bộ điều khiển dùng mạng nơron điều khiển các thiết bị khác như RT020 (điều khiển lưu lượng), RT030 (điều khiển áp suất), RT040 (điều khiển nhiệt độ)…
Trang 9ABSTRACT
The stabilizing of liquid level is a problem which is interested in many people Generally, the solutions are using PI, PD or PID controller In this thesis, we used neural network to design a stable liquid level controller for RT010 device (level control) As a result, the controller worked well with acceptable errors (about 2%) From the result, users can improve and develop to create neural network controllers for control other devices such as RT020 (flow control), RT030 (pressure control), RT040 ( temperature control)
Trang 10MỤC LỤC
CHƯƠNG I: GIỚI THIỆU ĐỀ TÀI 5
1.1 Đặt vấn đề 5
1.2 Giới hạn của đề tài 5
1.3 Phương hướng giải quyết 5
CHƯƠNG II: GIỚI THIỆU VỀ MẠNG NƠRON 6
2.1 Lịch sử phát triển và ứng dụng của mạng nơron 6
2.2 Tế bào thần kinh và bộ não người 7
2.3 Mạng nơron nhân tạo 8
2.4 Phân loại mạng nơron 10
2.4.1 Mạng một lớp 11
2.4.2 Mạng nhiều lớp 12
2.5 Huấn luyện mạng nơron 13
2.6 Một số loại mạng nơron 14
2.6.1 Mạng Perceptron 14
2.6.2 Mạng truyền thẳng nhiều lớp 15
2.6.3 Mạng hàm cơ sở xuyên tâm (RBF) 18
2.7 Qui trình thiết kế mạng nơron 20
CHƯƠNG III: GIỚI THIỆU VỀ NEURAL NETWORK TOOLBOX CỦA MATLAB 22
3.1 Thiết kế mạng dùng tập lệnh (sử dụng các file ‘*.m’) 22
3.2 Thiết kế mạng nơron dùng giao diện ‘nntool’ 30
3.3 Thiết kế mạng nơron dùng Neural Network Toolbox trong Simulink 33
3.4 Ví dụ về thiết kế một mạng nơron 37
Trang 11CHƯƠNG IV: GIỚI THIỆU VỀ THIẾT BỊ RT010 VÀ MÔ HÌNH ĐIỀU
KHIỂN 42
4.1 Giới thiệu về thiết bị điều khiển mực chất lỏng RT010 42
4.2 Giới thiệu về khối giao tiếp ‘RT010 Interface’ 44
4.3 Giới thiệu về phương pháp điều khiển dùng mô hình ngược 44
CHƯƠNG V: KẾT QUẢ ĐIỀU KHIỂN ỔN ĐỊNH MỰC CHẤT LỎNG CỦA THIẾT BỊ RT010 DÙNG MẠNG NƠRON 52
5.1 Bộ điều khiển trực tiếp sử dụng mô hình ngược 52
5.2 Bộ điều khiển mô phỏng PID 55
5.3 Hạn chế 58
5.4 Hướng phát triển 58
KẾT LUẬN VÀ KIẾN NGHỊ 59
TÀI LIỆU THAM KHẢO 60
Trang 12MỤC LỤC HÌNH
Hình 2.1: Hàm hardlim 9
Hình 2.2: Hàm purelin 9
Hình 2.3: Hàm logsig 9
Hình 2.4: Hàm tansig 9
Hình 2.5: Mô hình một nơron đơn giản 10
Hình 2.6: Mạng nơron một lớp 11
Hình 2.7: Mô hình một lớp nơron 12
Hình 2.8: Mạng nơron nhiều lớp 12
Hình 2.9: Sơ đồ mạng nơron nhiều lớp rút gọn 13
Hình 2.10: Mạng Perceptron 14
Hình 2.11: Mạng truyền thẳng nhiều lớp 15
Hình 2.12: Quan hệ vào ra của các tín hiệu trong mạng truyền thẳng 16
Hình 2.13:Mạng hàm cơ sở xuyên tâm 19
Hình 2.14: Qui trình thiết kế một mạng nơron 21
Hình 3.1: Giao diện ‘nntool’ trong matlab 30
Hình 3.2: Giao diện ‘network’ của ‘nntool’ 31
Hình 3.3: Giao diện ‘data’ trong ‘nntool’ 32
Hình 3.4: Giao diện ‘train’ của ‘nntool’ 33
Hình 3.5: Giao diện huấn luyên mạng nơron của ‘nntool’ 33
Hình 3.6: Giao diện ‘export’ của ‘nntool’ 34
Hình 3.7: Công cụ Neural Network Toolbox 34
Hình 3.8: Control systems 35
Hình 3.9: Net input functions 35
Hình 3.10: Transfer function 36
Hình 3.11: Weight function 36
Hình 3.12: Tập lệnh huấn luyện mạng nơron 37
Hình 3.13: Các thông số huấn luyện mạng 38
Trang 13Hình 3.14: Mạng nơron sau khi huấn luyện 38
Hình 3.15: Kiểm tra hoạt động của mạng nơron 39
Hình 3.16: Thiết kế mạng nơron sử dụng giao diện “nntool’ 39
Hình 3.17: Huấn luyện mạng nơron 40
Hình 3.18: Xuất và lưu mạng vừa huấn luyện 40
Hình 3.19: Kiểm tra mạng vừa huấn luyện 41
Hình 4.1: Thiết bị điều khiển mực chất lỏng RT010 42
Hình 4.2: Cấu tạo bộ điều khiển mực chất lỏng RT010 43
Hình 4.3: Khối giao tiếp RT010 Interface 44
Hình 4.4: Nguyên tắc điều khiển ngược trực tiếp 45
Hình 4.5: Mô hình ngược 45
Hình 4.6: Nguyên tắc ước lượng thông số mô hình ngược off-line 46
Hình 4.7: Nguyên tắc ước lượng thông số mô hình ngược on-line 46
Hình 4.8: Điều khiển dùng mô hình ngược 46
Hình 4.9: Hệ bồn chứa chất lỏng 47
Hình 4.10: Sơ đồ thu thập dữ liệu hệ bồn đơn 48
Hình 4.11: Dữ liệu vào ra hệ bồn đơn dùng nhận dạng mô hình ngược 48
Hình 4.12: Sơ đồ điều khiển trực tiếp hệ bồn đơn dùng mô hình ngược 49
Hình 4.13: Kết quả điều khiển hệ bồn đơn dùng mô hình ngược 50
Hình 4.14: Điều khiển thuận 50
Hình 4.15: Sơ đồ điều khiển thuận 51
Hình 4.16: Kết quả điều khiển thuận 51
Hình 5.1: Sơ đồ thu thập dữ liệu của thiết bị RT010 52
Hình 5.2: Dữ liệu vào ra của thiết bị RT010 53
Hình 5.3: Sơ đồ điều khiển thiết bị RT010 dùng mô hình ngược trực tiếp 54
Hình 5.4: Kết quả điều khiển thiết bị RT010 dùng mô hình ngược trực tiếp 54
Hình 5.5: Sơ đồ thu thập dữ liệu của bộ điều khiển PID 55
Hình 5.6: Kết quả điều khiển thiết bị RT010 của PID 56
Hình 5.7: Sơ đồ điều khiển của mạng nơron nhận dạng PID 57
Trang 14Đề tài này nhằm mục tiêu sử dụng công cụ sẵn có để xây dựng Bộ điều khiển dùng mạng nơron để điều khiển thiết bị RT010
1.2 Giới hạn của đề tài
Điều khiển ổn định mực chất lỏng của thiết bị RT010 sử dụng mạng nơron
Bộ điều khiển được thiết kế dựa vào các công cụ của phần mềm MATLAB nhằm mục tiêu có thể điều khiển mực chất lỏng ổn định tại các độ cao đặt trước
1.3 Phương hướng giải quyết
Để điều khiển ổn định mực chất lỏng dùng mạng nơron đối với hệ bồn
RT010 chúng tôi sẽ thực hiện một số vấn đề sau:
- Tìm hiểu về thiết bị RT010 của phòng thí nghiệm điều khiển quá trình
- Nghiên cứu công cụ giao tiếp có sẵn giữa thiết bị RT010 với phần mềm MATLAB
- Tìm hiểu về công cụ Neural Network Toolbox của MATLAB
- Tìm hiểu giải thuật điều khiển mạng nơron, PID hiện tại đối với thiết bị RT010
- Thiết kế bộ điều khiển dùng mạng nơron cho thiết bị RT010
Trang 15CHƯƠNG II
GIỚI THIỆU VỀ MẠNG NƠRON
2.1 Lịch sử phát triển và ứng dụng của mạng nơron
Năm 1890, nhà tâm lý học William James đã đưa ra nhận xét : khi hai quá trình cơ bản của bộ não tác động lẫn nhau hoặc xảy ra lần lượt thì một trong chúng
sẽ truyền kích thích đến quá trình còn lại
Năm 1936, Alan Turing là người đầu tiên sử dụng bộ não như một mô hình
xử lý thông tin Năm 1943, Warren McCulloch và Walter Pitts đã đề xuất cách thức hoạt động của các nơron, họ đã tạo ta một mạng neuron đơn giản bằng các mạch điện Từ đó các nhà khoa học lao vào nghiên cứu chế tạo các bộ máy thông minh
Năm 1949, Donal Hebb đề xuất một giải thuật huấn luyện mạng nơron rất nổi tiếng mà ngày nay nó vẫn còn được sử dụng
Thập niên 50 là thời kỳ mà mạng nơron phát triển cả phần cứng lẫn phần mềm Nathaniel Rochester và một số người khác từ các phòng thí nghiệm của IBM
đã xây dựng phần mềm mô phỏng mạng nơron dựa trên giải thuật của Hebb
Năm 1957, Frank Rosenblatt bắt đầu nghiên cứu về mạng Perceptron và đã thành công trong việc thiết kế Mark I Perceptron neuroncomputer, đó là mạng nơron cổ điển nhất vẫn còn sử dụng tới ngày nay
Năm 1959, Bernard Widrow và Marcian Hoff đã xây dựng mạng Adaline, nó
là áp dụng đầu tiên của mạng nơron vào thực tế để dập tiếng vọng trên đường dây điện thoại Năm 1967, Avalanche áp dụng các mạng nơron vào việc nhận dạng giọng nói, điều khiển motor và một số ứng dụng khác
Từ năm 1969 đến 1981 mạng nơron rơi vào trạng thái im lặng cả về nghiên cứu và ứng dụng Tuy nhiên, có thể kể đến các bài báo của Marvin Minsky và Seymour Papert bình luận về mạng Perceptron, các nghiên cứu về quá trình học của mạng nhiều lớp, mạng tự tổ chức (Self Organization) của Teuvo Kohonen, mạng kiểu bộ nhớ kết hợp (BAM- Bidirectional Associative Memory) cảu Anderdon và mạng ART( Adaptive Resonance Theory neural networks) của Capenter
Năm 1982, John Hopfield công bố một công trình về mạng nơron một lớp trên National Academy of Sciences, nó được coi là một động cơ để lôi kéo các nhà khoa học quay trở lại nghiên cứu mạng nơron Đây là thời kỳ phục hưng của các nghiên cứu và ứng dụng mạnh mẽ của mạng nơron với các nghiên cứu về giải thuật lan truyền ngược sai số (Backpropagation of eror), mạng Boltzman, mạng Neocognitron của Fukushima
Từ cuối thập niên 80, đầu thập niên 90 đến nay, mạng nơron đã khẳng định được vị trí của mình trong nhiều ứng dụng khác nhau Các lĩnh vực ứng dụng của
Trang 16Phi thuyền không người lái, mô phỏng đường bay, tăng cường khả năng điều khiển, mô phỏng các chi tiết trong máy bay, phi thuyền, dự báo hỏng hóc
Nén âm thanh và hình ảnh, dịch máy,
Nhìn chung mạng nơron đã được áp dụng vào hầu hết các lĩnh vực công nghiêp và dịch vụ
2.2 Tế bào thần kinh và bộ não người
Bộ não con người là một hệ thống xử lý thông tin phức hợp, phi tuyến và song song có khả năng học, ghi nhớ, tổng quát hóa và xử lý lỗi Bộ não con người gồm khoản 1011 tế bào thần kinh (gọi tắt là nơron) sinh học, mỗi tế bào gồm 3 thành phần chính:
- Thân tế bào (soma)
- Một trục (axon) dẫn đến các đầu dây thần kinh ra
- Một hệ thống hình cây các đầu dây thần kinh vào
Trang 17Tại các đầu dây thần kinh có các khớp thần kinh (synape) để kết nối với các đầu dây thần kinh khác Có hai loại khớp nối khớp kích thích (axcitatory) hoặc khớp nối ức chế (inhibitory)
Tín hiệu truyền trong các dây thần kinh vào và dây thần kinh ra của tế bào thần kinh là tín hiệu phát sinh thông qua quá trình phản ứng và giải phóng chất hữu
cơ Các chất này được phát ra từ các khớp nối dẫn tới các dây thần kinh vào sẽ làm tăng hay giảm điện thế của nhân tế bào Khi điện thế này đạt đến một ngưỡng nào
đó, sẽ tạo ra một xung điện dẫn đến trục dây thần kinh ra Xung này truyền theo trục tới các nhánh rẽ, khi chạm tới khớp nối với các tế bào thần kinh khác sẽ giải phóng các chất truyền điện Quá trình lan truyền tín hiện cứ như thế cho đến đầu ra cuối cùng
2.3 Mạng nơron nhân tạo
Mạng nơron nhân tạo (gọi tắt là mạng nơron) có thể xem như là mô hình toán học đơn giản của bộn não con người Mạng nơron gồm các nơron kết nối với nhau bởi các liên kết Mỗi kết nối kèm theo một trọng số đặc trưng cho tính kích thích hay ức chế giữa các nơron
Quá trình xử lý thông tin của một nơron có thể chia thành hai phần: xử lý ở ngõ vào và xử lý ở ngõ ra Hàm xử lý ở ngõ vào là hàm tổng có dạng như sau:
- Hàm tuyến tính (linear function):
Trang 19Mô hình một nơron đơn giản:
Hình 2.5: Mô hình một nơron đơn giản
Trong đó:
- p=[p1, p2, pR ]là vector ngõ vào
- w=[w1,1, w1,2, w1,R]là trọng số kết nối
- a là ngõ ra
- b là giá trị ngưỡng của nơron
Khi đó ngõ ra của nơron : a=f(p*w+b)=f(n)
2.4 Phân loại mạng nơron
Mạng nơron nhân tạo gồm nhiều nơron liên kết chặt chẽ với nhau Người ta phân loại mạng nơron dựa vào kiểu kết nối giữa các nơron và dựa vào số lớp nơron trong mạng
Phân loại theo kiểu kết nối giữa các nơron:
Dựa vào kiểu kết nối ta có mạng truyền thẳng (feedforward Neural Network)
và mạng hồi quy (recurrent Neural Network) Trong mạng truyền thẳng các nơron kết nối theo một hướng nhất định, không tạo thành chu trình Ngược lại, các mạng hồi quy cho phép các kết nối nơron tạo thành chu trình, với đỉnh là các nơron và cung là các kết nối giữa chúng Các nơron nhận tín hiệu vào gọi là nơron vào, các nơron đưa thông tin ra gọi là nơron ra, các nơron còn lại gọi là nơron ẩn
Phân loại theo số lớp nơron:
Các nơron trong mạng có thể được tổ chức thành các lớp theo nguyên tắc các nơron ở lớp này chỉ được kết nối với các nơron ở lớp khác, không cho kết nối giữa các nơron trên cùng một lớp, hoặc từ nơron lớp dưới lên nơron lớp trên, cũng không cho kết nối nhảy qua một lớp Lớp nhận tín hiệu vào gọi là lớp vào, lớp đưa tín hiệu
ra gọi là lớp ra, các lớp ở giữa gọi là lớp ẩn Thông thường lớp vào không tham gia vào quá trình tín toán của mạng nơron nên khi tính số lớp người ta không kể lớp vào
Trang 21Hình 2.7: Mô hình một lớp nơron
2.4.2 Mạng nhiều lớp
Là mạng gồm lớp vào, các lớp ẩn và lớp ra Lớp vào không tính số lớp vì không tham gia vào quá trình tính toán, nó chỉ có nhiệm vụ tiếp nhận thông tin ngõ vào
Một mạng có thể có nhiều lớp, mỗi lớp sẽ có một ma trận trọng số và một vector ngưỡng b, một vector ngõ ra a Quá trình tính toán trên mạng lần lượt tính toán trên từng lớp, trên mỗi lớp hoàn toàn giống như mạng một lớp, ngõ ra của lớp trước sẽ là ngõ vào của lớp sau
Hình 2.8: Mạng nơron nhiều lớp
Trang 22Các kí hiệu a1, a2, a3, f1, f2, f3,lần lượt là ngõ ra và hàm truyền của lớp thứ nhất, thứ 2 và thứ 3 Mỗi lớp nơron có thể có hàm tổng ngõ vào và hàm truyền khác nhau tùy theo mục đích và nhiệm vụ của từng mạng
Mạng trên có thể biểu diễn như sau
Hình 2.9: Sơ đồ mạng nơron nhiều lớp rút gọn 2.5 Huấn luyện mạng nơron
Huấn luyện mạng là quá trình thay đổi các trọng số kết nối cũng như cấu trúc của mạng sao cho phù hợp với các mẫu học Có 3 phương pháp học, đó là: học có giám sát, học không giám sát và học tăng cường
Học có giám sát: là giải thuật điều chỉnh các trọng số kết nối dựa vào sự khác biệt giữa ngõ ra thực tế của mạng với ngõ ra mong muốn, ứng với một tập tín hiệu vào
Giả sử ta có tập mẫu học là {(p,t)}, với p là vector vào, t là vector ngõ ra mong muốn, nghĩa là ứng với ngõ vào p thì ngõ ra phải đúng là t Gọi ngõ ra thực tế của mạng là a, thì giải thuật học phải điều chỉnh mạng sao cho sai số e=|t-a| nhỏ hơn một tiêu chuẩn nào đó
Học không giám sát: trong phương pháp học không giám sát không đòi hỏi phải có ngõ ra mong muốn Trong quá trình huấn luyện, chỉ có tập dữ liệu vào được đưa vào mạng, mạng tự điều chỉnh theo nguyên tắc gộp các mẫu dữ liệu vào có đặc điểm tương tự thành nhóm Có hai giải thuật học không giám sát là : học cạnh tranh (competitive learning) và cấu hình tự tổ chức (self orgranizing feature maps)
Học tăng cường: là giải thuật đặc biệt của học có giám sát Thay vì phải có người giám sát cung cấp ngõ ra mong muốn thì giải thuật này sẽ được ước lượng ngõ ra tốt nhất ứng với một ngõ vào cho trước Tiều biểu cho học tăng cường là giải thuật di truyền (GA)
Trang 24) ( ) (
- Bước 7: kết thúc một chu kì huấn luyện
Nếu E=0 thì kết thúc quá trình học
Nếu E≠0 thì gán E=0, k=1 và trở lại bước 3 bắt đầu một chu kì huấn luyện mới
2.6.2 Mạng truyền thẳng nhiều lớp
Là mạng truyền thẳng có từ hai lớp tế bào thần kinh trở lên Lớp tế bào thần kinh nối với ngõ vào gọi là lớp vào (thường lớp vào không thực hiện phép toán xử lý), lớp tế bào thần kinh nối với ngõ ra gọi là lớp ra, lớp tế bào thần kinh không nối trực tiếp với ngõ vào và ngõ ra gọi là lớp ẩn Mạng truyền thẳng nhiều lớp có thể giải được các bài toán phức tạp Thuật toán huấn luyện mạng truyền thẳng nhiều lớp
là thuật toán lan truyền ngược Thuật toán lan truyền ngược thực hiện hai bước truyền thông tin Thứ nhất, mẫu dữ liệu vào x(k) được truyền từ ngõ vào đến ngõ ra, kết quả của việc truyền theo hướng thuận là tạo ra tín hiệu y(k) ở ngõ ra của mạng Sau đó sai số sai lệch giữa ngõ ra mong muốn d(k) và ngõ ra thực tế y(k) được truyền ngược từ lớp ra trở về lớp trước đó để cập nhật trọng số của mạng Do thuật toán huấn luyện mạng truyền thẳng là thuật toán lan truyền ngược nên mạng này còn gọi là mạng lan truyền ngược
Hình 2.11: Mạng truyền thẳng nhiều lớp
Trang 25 Thuật toán lan truyền ngược (Back Propagation - BP):
Xét mạng thần kinh có m tế bào thần kinh ở lớp vào, l tế bào thần kinh lớp ẩn
và n tế bào thần kinh lớp ra Kí hiệu trọng số của tế bào thần kinh thứ q của lớp ẩn
là vq, trọng số của tế bào thần kinh thứ I ở lớp ra là wi Gọi hàm tác động của tế bào thần kinh lớp ẩn là ah, của lớp ra là a0 Quan hệ của các tín hiệu truyền trong mạng như sau:
Hình 2.12: Quan hệ vào ra của các tín hiệu trong mạng truyền thẳng
Tổng trọng số của các tín hiệu vào tế bào thần kinh thứ q ở lớp ẩn là:
q h
z
1
) (
Tổng trọng số của các tín hiệu vào tế bào thần kinh thứ i ở lớp ra là:
l
q iq q
h iq l
q
jq iq
l
q iq l
q
jq iq i
y
1 1
0 1
1
0 1
2
2
1 ) ( 2
1 ) (
2
1 ) ,
n
i
i i
Trang 26Áp dụng thuật toán suy giảm độ dốc, trọng số của lớp ra được cập nhật:
iq iq
iq
w
k E k
w k
a k y k d w
net net
y y
k E w
k
E
q i
i i
iq
i i
i i
k E
i i i
( )
1 ( k w k k z k
Tương tự trọng số của lớp ẩn được cập nhật bởi công thức:
qj qj
qj
v
k E k
v k
(
(
)(
)
(
' 1
'
a k y k
d
v
net net
z z
k E
v
k
E
j q
h n
i
iq i
i i
qj q q
q q
( )
1
'
0 net k w k a net k a
k y k d net
z z
k E
n
i
iq i
i i
q
q q
1
k net a k w k
n
i
iq oi
( ) 1 ( k v k k x k
Thuật toán lan truyền ngược được tóm tắt như sau:
- Bước 1: chọn tốc độ học η >0, chọn sai số cực đại Emax
- Bước 2: khởi động:
Gán sai số E=0
Gán biến chạy k=1
Trang 27 Gán các trọng số w iq (k), v qj (k) (i=1,2 n; j=1,2 m; q=1,2 l) bằng các giá trị ngẫu nhiên nhỏ bất kỳ
- Bước 3: (truyền thuận dữ liệu) Tính ngõ ra của mạng với tính hiệu vào là x(k)
1
k x k v k
m
j qj
net
1
) ( ) ( )
oi
) ( ) ( )
( )
1
k net a k w k
n
i
iq oi
( ) 1 ( k v k k x k
E
1
2
))()((21
- Bước 6: Nếu k<K thì gán k=k+1 và trở lại bước 3
Nếu k=K thì tiếp tục bước 7
- Bước 7: Kết thúc một chu kỳ huấn luyện
Nếu E<Emax thì kết thúc quá trình học
Nếu E≥Emax thì gán E=0, k=1 và trở lại bước 3 bắt đầu một chu kỳ huấn luyện mới
2.6.3 Mạng hàm cơ sở xuyên tâm (RBF)
Mạng RBF là một trường hợp đặc biệt của mạng truyền thẳng hai lớp
Trong đó:
- Hàm tổng ngõ vào của tế bào thần kinh ở lớp ẩn là hàm cầu
- Hàm kích hoạt của tế bào thần kinh ở lớp ẩn là hàm mũ:
Trang 28- Mức ngưỡng của tế bào thần kinh bằng 0 (b=0)
Hình 2.13:Mạng hàm cơ sở xuyên tâm
Xét mạng RBF có m ngõ vào, n ngõ ra, l là số nơron ở lớp ẩn, ta có:
q
q iq i
q qe w z
w y
) (
Thuật toán huấn luyện mạng RBF:
Vì mạng RBF là trường hợp đặc biệt của mạng truyền thẳng nên có thể áp dụng thuật toán lan truyền ngược để huấn luyện
- Bước 1: chọn tốc độ học η>0, chọn sai số cực đại Emax
Trang 29E E
1
2
)) ( ) ( ( 2
1
- Bước 6:
Nếu k<K thì gán k=k+1 và trở lại bước 3
Nếu k=K thì tiếp tục bước 7
- Bước 7: kết thúc một chu kỳ huấn luyện
Nếu E<Emax thì kết thúc quá trình học
Nếu E ≥ Emax thì gán E=0, k=1 và trở lại bước 3 bắt đầu một chu kỳ huấn luyện mới
Mặc dù mạng RBF và mạng truyền nhiều lớp đều là mạng truyền thẳng nhưng chất lượng mạng RBF lại tốt hơn và mạng RBF không gặp các vấn đề liên quan đến cực trị cục bộ khi huấn luyện Tuy nhiên mạng RBF thường đáp ứng chậm trong giai đoạn nhớ do lượng lớn tế bào thần kinh ở lớp ẩn
2.7 Qui trình thiết kế mạng nơron
Để thiết kế và ứng dụng mạng nơron một cách có hiệu quả, đòi hỏi người thiết kế phải có một số kinh nghiệm và kĩ thuật nhất định như xử lý dữ liệu, thay đổi cấu trúc mạng, định nghĩa lại hàm mục tiêu,
Xử lý dữ liệu : trước khi huấn luyện ta có thể chuẩn hóa dữ liệu mẫu theo một tỉ lệ nhất định sao cho dữ liệu vào ra nằm trong khoảng giới hạn nào đó, thông thường thì khoản này là [-1 1] Gọi p là vector dữ liệu cần xử lý, pmin và pmax là giá trị cực tiểu và cực đại tương ứng của p, p1 là vector p sau khi xử lý, ta có:
p1=2*(p-pmin)/(pmax – pmin)-1
Khi ta huấn luyện với tập dữ liệu đã chuẩn hóa thì các trọng số và ngưỡng sẽ điều chỉnh theo tập dữ liệu này Vì vậy khi sử dụng mạng thì phải xử lý vector ngõ
ra Gọi p3 là vector ngõ ra của mạng, p2 là vector ngõ ra sau khi đã xử lý, ta có:
p2=0.5(p3+1)*(pmax – pmin) + pmin
Chọn thước của mạng:
Chọn kích thước mạng đúng góp phần nâng cao hiệu quả của mạng và giảm thời gian huấn luyện Nếu ta chọn mạng có quá nhiều nút, mạng sẽ rất dễ bị quá khớp, lỗi phát sinh sẽ lớn Ngược lại thì mạng sẽ không thể nhớ các mẫu huấn luyện, không có khả năng biểu diễn được sự phụ thuộc của kết quả mong muốn Có
2 cách để chọn kích thước mạng khá hiệu quả, đó là:
- Bắt đầu từ mạng có kích thước lớn sau đó giảm dần xuống
Trang 30Quy trình thiết kế một mạng nơron có thể được tóm tắt như sau:
Hình 2.14: Qui trình thiết kế một mạng nơron
Không
Xác định bài toán Bắt đầu
Đạt Không
Trang 31CHƯƠNG III
GIỚI THIỆU VỀ NEURAL NETWORK TOOLBOX CỦA MATLAB
MATLAB là một chương trình viết cho máy tính PC nhằm hỗ trợ cho các tính toán khoa học và kĩ thuật với các phần tử cơ bản là ma trận trên máy tính do công ty "The MATHWORKS" viết ra Với sự phát triển không ngừng, matlab đã trở thành một công cụ mạnh mẽ và không thể thiếu đối với hầu hết các lĩnh vực như: kinh tế, điện tử, điều khiển tự động Đối với mạng nơron, matlab hỗ trợ tương đối đầy đủ cho người sử dụng để thiết kế các mạng nơron theo các mục đích khác nhau,
đó là thiết kế bằng lệnh trên các tập tin có phần mở rộng ‘.m’, thiết kế bằng giao diện với công cụ ‘nntool’ và thiết kế bằng các khối trong Neural Network Toolbox của Simulink
3.1 Thiết kế mạng dùng tập lệnh (sử dụng các file ‘*.m’)
Các file có phần mở rộng ‘.m’ thường được soạn thảo bởi MATLAB Editor Khởi động MATLAB Editor bằng một trong các cách sau:
- Nhấp chuột vào biểu tượng trên menu bar của cửa sổ lệnh
- File → New → M-file
- Nhấp vào biểu tượng MATLAB Editor trên desktop (nếu có)
Cấu trúc của một script file như sau:
% -
% Phần viết sau dấu ‘%’ ở đây dùng cho lệnh help
% Thông thường phần này mô tả chức năng, cách sử dụng,
% ví dụ minh họa hay những lưu ý đặc biệt mà tác giả mong muốn
% trợ giúp cho người sử dụng
% -
[global tênbiến1, tênbiến2,… ] % Khai báo biến toàn cục (nếu có)
<các câu lệnh> % phần trình bày câu lệnh
Các lệnh tạo một mạng nơron trong matlab:
Trang 32- PR ma trận R x 2 chứa giá trị nhỏ nhất và lớn nhất của R phần tử ngõ vào
với:
- net là tên mạng cần tạo
- PR ma trận R x 2 chứa giá trị nhỏ nhất và lớn nhất của R phần tử ngõ vào
- BTF,BLF,PF)
Với:
- Net là tên mạng cần tạo
- PR ma trận R x 2 chứa giá trị nhỏ nhất và lớn nhất của R phần tử ngõ vào
- Di vector trì hoãn cho lớp thứ i
Với:
- Net là tên mạng cần tạo
- PR ma trận R x 2 chứa giá trị nhỏ nhất và lớn nhất của R phần tử ngõ vào
Trang 33Với:
- Net là tên mạng cần tạo
- PR ma trận R x 2 chứa giá trị nhỏ nhất và lớn nhất của R phần tử ngõ vào
Với:
- Net là tên mạng cần tạo
- PR ma trận R x 2 chứa giá trị nhỏ nhất và lớn nhất của R phần tử ngõ vào
- Net là tên mạng cần tạo
- P là ma trận R x Q của Q vector ngõ vào
Trang 34- Net là tên mạng cần tạo
- T là ma trận R x Q của Q vector ngõ ra mong muốn (giá trị phải là +1 hoặc -1)
- Net là tên mạng cần tạo
- P ma trận R x Q của Q vector ngõ vào
- T ma trận S x Q của Q vector ngõ ra mong muốn
- Pi mảng của trạng thái trì hoãn ngõ vào ban đầu gồm 1xID phần tử
Newlrn
Tạo mạng có lớp hồi quy, cú pháp:
net = newlrn(PR,[S1 S2 SNl],{TF1 TF2 TFNl},BTF,BLF,PF)
Với:
- Net là tên mạng cần tạo
- PR ma trận R x 2 chứa giá trị nhỏ nhất và lớn nhất của R phần tử ngõ vào