30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
ĐIều khiển ổn định mực chất lỏng dùng mạng nơron
1. TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ
BỘ 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
CÁN BỘ HƯỚNG DẪN SINH VIÊN THỰC HIỆN
Ths. Nguyễn Hoàng Dũng Lương Thái Điền (1063860)
Phan Thành Nhân (1063891)
Ngành: Cơ Điện Tử - Khóa: 32
Tháng 12/2010
2. Trường Đại Học Cần Thơ Cộng Hòa Xã Hội Chủ Nghĩa Việt Nam
Khoa Công Nghệ Độc lập – Tự do – Hạnh phúc
Bộ 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
1. Họ và tên sinh viên: MSSV:
- 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
3. Ý KIẾN CỦA CÁN BỘ HƯỚNG DẪN SINH VIÊN ĐĂNG KÝ
Ths. Nguyễn Hoàng Dũng Lương Thái Điền
Phan Thành Nhân
Ý KIẾN CỦA BỘ MÔN HỘI ĐỒNG XÉT LUẬN VĂN TỐT NGHIỆP
4. NHẬN XÉT LUẬN VĂN TỐT NGHIỆP
CỦ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
5. NHẬN XÉT LUẬN VĂN TỐT NGHIỆP
CỦ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
6. LỜ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
7. LỜ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ơ.
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 độ)…
9. ABSTRACT
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) ...
10. Mục lục
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 1
MỤ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
11. Mục lục
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 2
CHƯƠ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
12. Mục lục hình
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 3
MỤ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
13. Mục lục hình
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 4
Hì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
Hình 5.8: Kết quả điều khiển của mạng nơron nhận dạng PID...........................57
14. Chương I: Giới thiệu đề tài
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 5
CHƯƠNG I
GIỚI THIỆU ĐỀ TÀI
1.1 Đặt vấn đề
Hệ ổn định mực chất lỏng RT010 của hãng Gunt-Hamburg là một hệ điều
khiển hoàn chỉnh điều khiển bằng PID và đang được tổ chức thực tập tại PTN Đ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ơ. Năm 2010, Kỹ sư Đinh Hiền Nhân, lớp Kỹ thuật Điều khiển K32 đã xây
dựng công cụ giao tiếp giữa MATLAB và thiết bị RTxxx trong đề tài LVTN của
mình dưới sự hướng dẫn của TS. Nguyễn Chí Ngôn. Việc giao tiếp thành công giữa
MATLAB và hệ RTxxx mở ra một khả năng lớn trong việc thiết kế các bộ điều
khiển hiện đại khác và trực tiếp điều khiển RTxxx trên MATLAB, một cách dễ
dàng.
Đề 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.
15. Chương II: Giới thiệu về mạng nơron
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 6
CHƯƠ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
mạng nơron:
Không gian vũ trụ:
16. Chương II: Giới thiệu về mạng nơron
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 7
Phi 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...
Giao thông:
Hướng dẫn giao thông tự động, phân tích cảnh báo tình trạng giao thông,
xác định đường đi tối ưu.
Ngân hàng:
Kiểm soát các hóa đơn, chứng từ và các tài liệu khác, dự báo chứng khoán,
kiểm tra mục tín dụng...
Quân sự:
Vũ khí tự động, truy tìm mục tiêu, phân biệt đối tượng, nhận dạng tín hiệu và
hình ảnh, các ứng dụng trong tàu ngầm, xử lý tín hiệu radar,...
Điện tử:
Giải mã, dự báo lỗi chíp, tổng hợp âm thanh, mô hình hóa hệ thống,...
Giải trí:
Phim hoạt hình, kỹ xảo điện ảnh.
Tài chính:
Định giá bất động sản, tư vấn nợ, thế chấp, phân tích khă năng tài chính của
công ty,...
Công nghiệp:
Kiểm soát các lò nung, kiểm soát các quy trình công nghiệp, phân tích và
thiết kế sản phẩm, dự báo chất lượng sản phẩm,...
Y học:
Phân tích tế bào ung thư, thiết kế các bộ phận giả cho cơ thể,...
Dầu khí:
Thăm dò quặng.
Robotics:
Điều khiển tay máy, camera robots,...
Ngôn ngữ:
Nhận dạng giọng nói, tổng hợp âm thanh và chữ viết, nén âm thanh, phân
loại nguyên âm.
Thông tin:
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
17. Chương II: Giới thiệu về mạng nơron
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 8
Tạ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):
f =
m
j
j
j x
w
1
=wT
x -
- Hàm toàn phương (quadtic function):
f = b
x
w
m
j
j
j
1
2
- Hàm cầu (spherical function):
f = b
w
x
w
x
b
w
x T
m
j
j
j
)
(
)
(
)
( 2
1
2
2
Trong đó b là mức ngưỡng của tế bào thần kinh. Ngõ ra của tế bào thần kinh
được cho bởi biểu thức:
y = a (f)
Hàm a(f) là hàm tác động hay hàm truyền (transfer function). Các hàm tác
động thường dùng là:
18. Chương II: Giới thiệu về mạng nơron
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 9
- Hàm hardlim:
Hình 2.1: Hàm hardlim
- Hàm purelin:
Hình 2.2: Hàm purelin
- Hàm logsig:
Hình 2.3: Hàm logsig
- Hàm tansig:
Hình 2.4: Hàm tansig
19. Chương II: Giới thiệu về mạng nơron
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 10
Mô 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
20. Chương II: Giới thiệu về mạng nơron
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 11
2.4.1 Mạng một lớp
Là mạng chỉ gồm một lớp nơron:
Hình 2.6: Mạng nơron một lớp
Trong mạng này, các ngõ vào p1, p2, pR của vector p lần lượt kết nối với từng
nơron thông qua các trọng số của ma trận w
Với :
- R số lượng phần tử của vector ngõ vào p
- Số nơron của lớp
Ngõ ra của mạng:
R
j
i
j
j
i
i
i b
p
w
n
f
a ,
)
(
(i=1,2,…,S; j=1,2,…R)
f là hàm truyền (hay hàm kích hoạt)
21. Chương II: Giới thiệu về mạng nơron
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 12
Hì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
22. Chương II: Giới thiệu về mạng nơron
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 13
Cá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).
23. Chương II: Giới thiệu về mạng nơron
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 14
2.6 Một số loại mạng nơron
2.6.1 Mạng Perceptron
Mạng Perceptron do Frank Rosenblatt đề nghị năm 1962. Perceptron là mạng
chỉ gồm 1 lớp, lớp này có thể có 1 hoặc nhiều nơron, hàm truyền là hàm hardlim.
Hình 2.10: Mạng Perceptron
Luật học Perceptron: là quá trình thay đổi trọng số và mức ngưỡng của mạng
ssao ngõ sai số giữa ngõ ra mong muốn và ngõ ra thực là bé nhất.
Cho K mẫu dữ liệu vào ra:
{(x(1),d(1)); (x(2),d(2));…;(x(K),d(K))}
Trong đó x =[ x1,x2,…xm]T
và d =[d1,d2,…dn]T
(m là số ngõ vào, n là số
ngõ ra). Thuật toán học Perceptron là một trường hợp đặc biệt của thuật toán học
tổng quát. Thuật toán học Perceptron được tóm tắt như sau:
- Bước 1: chọn tốc độ học η >0
- Bước 2: khởi động:
Gán sai số E=0
Gán biến chạy k=1
Gán các vector trọng số wi(k) (i=1,2…,n) bằng các giá trị ngẫu nhiên
nhỏ bất kỳ.
- Bước 3: quá trình huấn luyện bắt đầu, tính:
24. Chương II: Giới thiệu về mạng nơron
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 15
yi(k)= step(wi
T
(k)x(k) = step
m
j
j
ij k
x
k
w
1
)
(
)
(
- Bước 4: cập nhật các vector trọng số:
Wi(k+1) = wi(k) + η(di(k)-y(k)x(k)
- Bước 5: tính sai số tích lũy:
E=E + 0.5 ||d(k) – y(k)||2
- 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=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
25. Chương II: Giới thiệu về mạng nơron
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 16
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à:
m
j
j
qj
q x
v
net
1
Tín hiệu ra của tế bào thần kinh thứ q ở lớp ẩn là:
m
j
j
qj
h
q
h
q x
v
a
net
a
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
m
j
j
qj
h
l
q
iq
q
h
iq
l
q
jq
iq
i x
v
a
w
net
a
w
z
w
net
1 1
1
1
)
(
Tín hiệu ra của tế bào thần kinh thứ i ở lớp ra là:
m
j
j
qj
h
l
q
iq
l
q
jq
iq
i
i x
v
a
w
a
z
w
a
net
a
y
1
1
0
1
0
0 )
(
Giả sử ta có tập dữ liệu huấn luyện mạng gồm K mẫu (x(k),d(k),k=1,2..K).
Tiêu chuẩn để huấn luyện mạng là làm tối thiểu sai số:
2
1 1
0
2
1
0
1
2
2
1
)
(
2
1
)
(
2
1
)
,
(
n
i
l
q
jq
iq
i
n
i
i
i
n
i
i
i z
w
a
d
net
a
d
y
d
v
w
E
x1
x2
xm
v11
vlm
w11
wn
x1
x1
x1
z1
z2
zl
26. Chương II: Giới thiệu về mạng nơron
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 17
2
1 1
0 )
(
2
1
n
i
l
q
q
h
iq
i net
a
w
a
d
Á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
w
)
(
)
(
)
1
(
)
(
))
(
(
))
(
)
(
(
)
(
)
( '
0 k
z
k
net
a
k
y
k
d
w
net
net
y
y
k
E
w
k
E
q
i
i
i
iq
i
i
i
i
iq
Đặt
))
(
(
)
(
)
(
)
(
)
( '
0 k
net
a
k
y
k
d
net
y
y
k
E
k i
i
i
i
i
i
oi
Khi đó ta có:
)
(
)
(
)
(
)
1
( k
z
k
k
w
k
w q
oi
iq
iq
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
v
)
(
)
(
)
1
(
)
(
))
(
(
)
(
))
(
(
))
(
)
(
(
)
(
)
(
'
1
'
0 k
x
k
net
a
k
w
k
net
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
qj
Đặt:
))
(
(
)
(
))
(
(
))
(
)
(
(
)
(
)
( '
1
'
0 k
net
a
k
w
k
net
a
k
y
k
d
net
z
z
k
E
k q
h
n
i
iq
i
i
i
q
q
q
hq
Và
))
(
(
)
(
)
(
)
( '
1
k
net
a
k
w
k
k q
h
n
i
iq
oi
hq
Khi đó ta lại có:
)
(
)
(
)
(
)
1
( k
x
k
k
v
k
v j
hq
qj
qj
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
27. Chương II: Giới thiệu về mạng nơron
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 18
Gán các trọng số
)
(k
wiq
,
)
(k
vqj
(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).
Lớp ẩn: )
(
)
(
)
(
1
k
x
k
v
k
net j
m
j
qj
q
zq(k) = ah(netq(k))
Lớp ra :
l
q
jq
iq
i k
z
k
w
k
net
1
)
(
)
(
)
(
yi(k)= a0(neti(k))
- Bước 4: (lan truyền ngược sai số) Cập nhật trọng số của mạng:
Lớp ra:
))
(
(
)
(
)
(
)
( '
0 k
net
a
k
y
k
d
k i
i
i
oi
)
(
)
(
)
(
)
1
( k
z
k
k
w
k
w q
oi
iq
iq
Lớp ẩn:
))
(
(
)
(
)
(
)
( '
1
k
net
a
k
w
k
k q
h
n
i
iq
oi
hq
)
(
)
(
)
(
)
1
( k
x
k
k
v
k
v j
hq
qj
qj
- Bước 5: Tính sai số tích lũy:
n
i
i
i k
y
k
d
E
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.
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ũ:
- a0(f)= e-f
- Hàm tổng ngõ vào của tế bào thần kinh ở lớp ra là hàm tuyến tính
- Hàm kích hoạt của tế bào thần kinh ở lớp ẩn là hàm tuyến tính
28. Chương II: Giới thiệu về mạng nơron
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 19
- 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ó:
l
q
x
iq
l
q
q
iq
i
q
q
e
w
z
w
y
1
2
||
||
1
)
(
)
(
||
|| q
T
q
q x
x
x
Trong đó:
- q
m
là tâm của hàm cơ sở thứ q (trọng số của lớp ẩn)
q
là độ phân tán của hàm cơ sở thứ k
- l
i
w
là trọng số ở lớp ra (của ngõ ra thứ i)
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
- Bước 2: khởi động:
Gán sai số E=0
Gán biến chạy k=1
Gán các trọng số )
(k
wi ,(i=1,2..n; q=1,2...l) bằng các giá trị ngẫu nhiên bất
kỳ
- Bước 3: tính ngõ ra của mạng với tín hiệu vào x(k):
q
q
x
q e
k
z
2
||
||
)
(
29. Chương II: Giới thiệu về mạng nơron
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 20
l
q
q
iq
i z
w
y
1
- Bước 4: cập nhật trọng số lớp ra của mạng:
)
(
))
(
)
(
(
)
(
)
1
( k
z
k
y
k
d
k
w
k
w q
i
i
iq
iq
- Bước 5: tính sai số tích lũy:
n
i
i
i k
y
k
d
E
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
- Bắt đầu từ mạng có kích thước nhỏ rồi tăng dần lên
30. Chương II: Giới thiệu về mạng nơron
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 21
Quy 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
Xác định các biến vào ra
Thu thập dữ liệu
Tiền xử lý dữ liệu
Chọn mô hình mạng nơron
Huấn luyện mạng
Thử nghiệm mạng
Tinh chỉnh mạng
Ứng dụng
Kết thúc
Đạt ?
Đạt ?
Đạt
Đạt
Không
31. Chương III: Giới thiệu về Neural Network Toolbox của Matlab
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 22
CHƯƠ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:
Tên hàm Chức năng- Cú pháp lệnh
Network
- Tạo một mạng nơron, cú pháp:
Network
Newc
Tạo một mạng cạnh tranh, cú pháp:
net = newc(PR,S,KLR,CLR)
với:
- Net là tên mạng cần tạo
32. Chương III: Giới thiệu về Neural Network Toolbox của Matlab
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 23
- 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
- S số lượng nơron
- KLR tốc độ học Kohonen (mặc định là 0.01)
- CLR tốc độ học chắc chắn
Newcf
Tạo một mạng xếp tầng truyền thẳng, cú pháp:
net = newcf(PR,[S1 S2...SNl],{TF1,
...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
- Si kích thước lớp thứ i, có Nl lớp
- TFi hàm truyền lớp thứ i (mặc định là hàm
‘tansig’)
- BTF giải thuật huấn luyện cho mạng (mặc định là
‘traingd’)
- BLF giải thuật học trọng số và ngưỡng cho mạng
(mặc định là giải thuật ‘learngdm’)
- PF hàm thực thi (mặc định là ‘mse’)
Newdtdnn
Tạo mạng Elman, cú pháp:
net = newdtdnn(PR,[D1 D2...DN1],[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
- Di vector trì hoãn cho lớp thứ i
- Si kích thước lớp thứ i, có Nl lớp
- TFi hàm truyền cho lớp thứ i (mặc định là hàm
‘tansig’)
- BTF giải thuật huấn luyện cho mạng (mặc định là
‘trainlm’)
- BLF giải thuật học trọng số, ngưỡng (mặc định là
‘learngdm’)
- PF hàm thực thi (mặc định là ‘mse’)
Newelm
Tạo mạng Elman, cú pháp:
net = newelm(PR,[S1 S2...SNl],{TF1
...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
33. Chương III: Giới thiệu về Neural Network Toolbox của Matlab
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 24
- Si kích thước lớp thứ i, có Nl lớp
- TFi hàm truyền cho lớp thứ i (mặc định là hàm
‘tansig’)
- BTF giải thuật huấn luyện cho mạng (mặc định là
‘trainlm’)
- BLF giải thuật học trọng số, ngưỡng (mặc định là
‘learngdm’)
- PF hàm thực thi (mặc định là ‘mse’)
Newff
Tạo mạng truyền thẳng nhiều lớp, cú pháp
net = newff(PR,[S1
S2...SNl],{TF1...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
- Si kích thước lớp thứ i, có Nl lớp
- TFi hàm truyền cho lớp thứ i (mặc định là hàm
‘tansig’)
- BTF giải thuật huấn luyện cho mạng (mặc định là
‘trainlm’)
- BLF giải thuật học trọng số, ngưỡng (mặc định là
‘learngdm’)
- PF hàm thực thi (mặc định là ‘mse’)
Newfftd
Tạo mạng truyền thẳng với ngõ vào trì hoãn, cú pháp:
net = newfftd(PR,ID,[S1
S2...SNl],{TF1...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
- Si kích thước lớp thứ i, có Nl lớp
- TFi hàm truyền cho lớp thứ i (mặc định là hàm
‘tansig’)
- BTF giải thuật huấn luyện cho mạng (mặc định là
‘trainlm’)
- BLF giải thuật học trọng số, ngưỡng (mặc định là
‘learngdm’)
- PF hàm thực thi (mặc định là ‘mse’)
Newgrnn
Tạo mạng hồi quy, cú pháp:
net = newgrnn(P,T,spread)
Với:
- 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
- T là ma trận S x Q của Q vector ngõ ra mong
34. Chương III: Giới thiệu về Neural Network Toolbox của Matlab
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 25
muốn
- spread độ phân tán của hàm cơ sở xuyên tâm RBF
(mặc định là 1)
Newhop
Taọ một mạng Hopfield, cú pháp:
net = newhop(T)
Với:
- 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)
Newlin
Tạo lớp tuyến tính, cú pháp:
net = newlin(PR,S,ID,LR)
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
- S là số phần tử của vector ngõ ra
- ID là vector trì hoãn ngõ vào (mặc định là [0])
- LR tốc độ học (mặc định là 0.01)
Newlind
Thiết kế lớp tuyến tính, cú pháp:
net = newlind(P,T,Pi)
Với:
- 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
- Si kích thước lớp thứ i, có Nl lớp
- TFi hàm truyền cho lớp thứ i (mặc định là hàm
‘tansig’)
- BTF giải thuật huấn luyện cho mạng (mặc định là
‘trainlm’)
- BLF giải thuật học trọng số, ngưỡng (mặc định là
‘learngdm’)
- PF hàm thực thi (mặc định là ‘mse’)
Newlvq
Tạo mạng lượng tử, cú pháp:
net = newlvq(PR,S1,PC,LR,LF)
35. Chương III: Giới thiệu về Neural Network Toolbox của Matlab
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 26
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
- S1 là số nơron lớp ẩn
- PC
- LR tốc độ học (mặc định là 0.01)
- LF hàm học (mặc định là ‘ learrlv2’)
Newnarx
Tạo mạng truyền thẳng nhiều lớp với hồi tiếp từ ngõ
ra về ngõ vào, cú pháp:
net = newnarx(PR,ID,OD,[S1 S2...SNl],{TF1
TF2...TFNl},BTF,BLF,PF)
Với:
- 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
- ID là vector trì hoãn ngõ vào
- OD vector trì hoãn ngõ ra
- Si kích thước lớp thứ i, có Nl lớp
- TFi hàm truyền cho lớp thứ i (mặc định là hàm
‘tansig’)
- BTF giải thuật huấn luyện cho mạng (mặc định là
‘trainlm’)
- BLF giải thuật học trọng số, ngưỡng (mặc định là
‘learngdm’)
- PF hàm thực thi (mặc định là ‘mse’)
Newnarxsp
Tạo mạng NARX, cú pháp:
net = newnarxsp({PR1 PR2},PR,ID,OD,[S1
S2...SNl],{TF1 TF2...TFNl},
BTF,BLF,PF)
Với:
- Net là tên mạng cần tạo
- PRi ma trận Ri x 2 chứa giá trị nhỏ nhất và lớn
nhất Ri phần tử ngõ vào
- ID vector trì hoãn ngõ vào
- OD vector trì hoãn ngõ ra
- Si kích thước lớp thứ i, có Nl lớp
- TFi hàm truyền cho lớp thứ i (mặc định là hàm
‘tansig’)
- BTF giải thuật huấn luyện cho mạng (mặc định là
‘trainlm’)
- BLF giải thuật học trọng số, ngưỡng (mặc định là
‘learngdm’)
- PF hàm thực thi (mặc định là ‘mse’)
Newp Tạo Perceptron, cú pháp:
36. Chương III: Giới thiệu về Neural Network Toolbox của Matlab
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 27
net = newp(PR,S,TF,LF)
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
- S là số lượng nơron
- TF hàm truyền (mặc định là hàm ‘hardlim’)
- LF hàm học (mặc định là ‘learnp’)
Newpnn
Tạo mạng xác suất, cú pháp:
net = newpnn(P,T,spread)
Với:
- 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
- T là ma trận S x Q của Q vector ngõ ra mong
muốn
- Spread là độ phân tán của hàm cơ sở xuyên tâm
(mặc định là 0.1)
Newrb
Thiết kế mạng RBF, cú pháp:
net = newrb(P,T,goal,spread,MN,DF)
Với:
- 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
- T là ma trận S x Q của Q vector ngõ ra mong
muốn
- Goal là sai số trung bình cần thiết (mặc định là 0)
- Spread độ phân tán của hàm cơ sở xuyên tâm (mặc
định là 1)
- MN số lượng nơron tối đa (mặc định là Q)
- DF là số lượng nơron thêm vào giữa những cái
trình bày (mặc định là 25)
Newrbe
Thiết kế chính xác mạng RBF, cú pháp:
net = newrbe(P,T,spread)
Với:
- 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
- T là ma trận S x Q của Q vector ngõ ra mong
muốn
- Spread là độ phân tán của hàm cơ sở xuyên tâm
(mặc định là 1)
Newsom
Tạo mạng tự tổ chức, cú pháp:
net = newsom(PR,[D1,D2,..], TFCN,
DFCN,OLR,OSTEPS,TLR,TND)
Với:
- Net là tên mạng cần tạo
37. Chương III: Giới thiệu về Neural Network Toolbox của Matlab
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 28
- 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 kích thước lớp thứ i
- TFCN là hàm Topo (mặc định là ‘hextop’)
- DFCN hàm khoản cách (mặc định là ‘linkdist’)
- OLR là tốc độ học giai đoạn điều chỉnh (mặc định
là 0.9)
- OSTEPS bước điều chỉnh (mặc định là 1000)
- TLR tốc độ học điều chỉnh (mặc định là 0.02)
- TND cận điều chỉnh (mặc định là 1)
Một số giải thuật học trong matlab:
Giải thuật học
learncon Conscience bias learning function
learngd Gradient descent weight/bias learning function
learngdm
Gradient descent with momentum weight/bias learning
function
learnh Hebb weight learning function
learnhd Hebb with decay weight learning rule
learnis Instar weight learning function
learnk Kohonen weight learning function
learnlv1 LVQ1 weight learning function
learnlv2 LVQ2 weight learning function
learnos Outstar weight learning function
learnp Perceptron weight and bias learning function
learnpn Normalized perceptron weight and bias learning function
learnsom Self-organizing map weight learning function
learnwh Widrow-Hoff weight and bias learning rule
Một số giải thuật huấn luyện trong matlab:
Giải thuật huấn luyện
trainb Batch training with weight and bias learning rules
trainbfg BFGS quasi-Newton backpropagation
38. Chương III: Giới thiệu về Neural Network Toolbox của Matlab
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 29
trainbfgc
BFGS quasi-Newton backpropagation for use with NN model
reference adaptive controller
trainbr Bayesian regularization
trainc Cyclical order incremental update
traincgb Powell-Beale conjugate gradient backpropagation
traincgf Fletcher-Powell conjugate gradient backpropagation
traincgp Polak-Ribiesre conjugate gradient backpropagation
traingd Gradient descent backpropagation
traingda Gradient descent with adaptive learning rule backpropagation
traingdm Gradient descent with momentum backpropagation
traingdx
Gradient descent with momentum and adaptive learning rule
backpropagation
trainlm Levenberg-Marquardt backpropagation
trainoss One step secant backpropagation
trainr Random order incremental training with learning functions
trainrp Resilient backpropagation (Rprop)
trains Sequential order incremental training with learning functions
trainscg trainscg
Một số hàm truyền sử dụng trong matlab:
Hàm truyền
Tên hàm Miêu tả
compet Competitive transfer function
hardlim Hard limit transfer function
hardlims Symmetric hard limit transfer function
logsig Log-sigmoid transfer function
netinv Inverse transfer function
poslin Positive linear transfer function
purelin Linear transfer function
39. Chương III: Giới thiệu về Neural Network Toolbox của Matlab
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 30
radbas Radial basis transfer function
satlin Saturating linear transfer function
satlins Symmetric saturating linear transfer function
softmax Softmax transfer function
tansig Hyperbolic tangent sigmoid transfer function
tribas Triangular basis transfer function
3.2 Thiết kế mạng nơron dùng giao diện ‘nntool’
Matlab hỗ trợ giao diện thiết kế mạng nơron rất hay đó là công cụ ‘nntool’.
Sau đây là một số bước tạo một mạng nơron với ‘nntool’:
- Bước 1: Mở công cụ ‘nntool’. Gõ dòng lệnh ‘nntool’, giao diện thiết kế
mạng nơron sẽ xuất hiện
Hình 3.1: Giao diện ‘nntool’ trong matlab
40. Chương III: Giới thiệu về Neural Network Toolbox của Matlab
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 31
- Bước 2: Tạo mới một mạng nơron. Chúng ta chọn ‘new’ để tạo một mạng
nơron mới. Khi đó sẽ có một hộp thoại khác xuất hiện. Trong thẻ ‘network’
ta chọn các thông số cho mạng
Hình 3.2: Giao diện ‘network’ của ‘nntool’
- Name là tên mạng cần tạo
- Network type là loại mạng (Perceptron,RBF...)
- Input range là giới hạn ngõ vào
- Training function là giải thuật huấn luyện
- Adaption learning function là giải thuật học
- Performance function là hàm thực thi
- Number of layers : số lớp
- Properties for: cấu trúc lớp
- Number of neurons: số nơron của lớp
- Tranfer function: hàm truyền của lớp
Ở thẻ ‘data’ là một số dữ liệu dùng để huấn luyện mạng
41. Chương III: Giới thiệu về Neural Network Toolbox của Matlab
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 32
Hình 3.3: Giao diện ‘data’ trong ‘nntool’
Với:
- Name là tên của dữ liệu
- Data type là loại dữ liệu mà chúng ta muốn tạo, có thể là ngõ vào
(inputs), ngõ ra mong muốn (targets), hay sai số (errors)...
- Value : giá trị của dữ liệu.
Mỗi lần khai báo xong một dữ liệu (ngõ vào, ngõ ra, sai số,...) chúng ta chọn
‘create’ để hoàn thành. Cuối cùng , trở lại thẻ ‘network’ và chọn ‘create’ để tạo
mạng nơron với các thông số chúng ta đã lựa chọn
- Bước 3: Huấn luyện mạng.
Trở lại hộp thoại ban đầu của nntool chúng ta sẽ thấy xuất hiện tên mạng vừa
tạo, ở đây là ‘network1’. Mạng chúng ta vừa tạo chưa được huấn luyện nên không
thể sử dụng, muốn huấn luyện mạng ta chọn ‘open’, sau đó chọn thẻ ‘train’
42. Chương III: Giới thiệu về Neural Network Toolbox của Matlab
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 33
Hình 3.4: Giao diện ‘train’ của ‘nntool’
Trong ‘train’ gồm có 3 phần
- Training Info: lựa chọn thông tin ngõ vào (inputs) và ngõ ra mong muốn
(targets) cho mạng cần huấn luyện
- Validation and testing:
- Training Parameters: gồm có lựa chọn chu kỳ học (epochs), sai số mục
tiêu (goal)...
Cuối cùng là chọn Train network để huấn luyện mạng
Hình 3.5: Giao diện huấn luyên mạng nơron của ‘nntool’
43. Chương III: Giới thiệu về Neural Network Toolbox của Matlab
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 34
Sau khi mạng đã hoàn chỉnh chúng ta sẽ ‘export’ vào workspace hay save lại
Hình 3.6: Giao diện ‘export’ của ‘nntool’
3.3 Thiết kế mạng nơron dùng Neural Network Toolbox trong Simulink
Matlab simulink cũng hộ trợ thiết kế mạng nơron bằng cách ghép các khối
của mạng nơron lại với nhau. Đầu tiên chúng ta gõ lệnh ‘simulink’, simulink sẽ xuất
hiện, sau đó chọn công cụ Neural Network Toolbox.
Hình 3.7: Công cụ Neural Network Toolbox
44. Chương III: Giới thiệu về Neural Network Toolbox của Matlab
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 35
Neural Network Toolbox gồm có:
- Control Symtems : là mô hình mạng nơron, chúng ta chỉ add vào các file và
lựa chọn một số thông số cho phù hợp để chạy
Hình 3.8: Control systems
- Net Input Functions: đây là hàm ngõ vào của mạng nơron, gồm có hàm
‘nhân’ và hàm ‘cộng’
Hình 3.9: Net input functions
45. Chương III: Giới thiệu về Neural Network Toolbox của Matlab
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 36
- Transfer Functions: hàm truyền của mạng
Hình 3.10: Transfer function
- Weight Functions: hàm trọng số
Hình 3.11: Weight function
46. Chương III: Giới thiệu về Neural Network Toolbox của Matlab
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 37
Để tạo một mạng nơron với matlab simulink, chúng ta thực hiện 2 bước:
- Bước 1: mở một file simulink mới bằng cách nhấn ‘Ctrl+N” hoặc chọn
File→New→Model
- Bước 2: lựa chọn các khối trong ‘Net Input Function’, ‘Transfer Function’
hay ‘Weight Function’ và kết nối chúng với nhau theo một cấu trúc mạng đã định
trước.
3.4 Ví dụ về thiết kế một mạng nơron
Thiết kế mạng nơron giải phương trình y=x2
:
Tập dữ liệu huấn luyện mạng
X Y
0 0
1 1
2 4
5 25
6 36
Thiết kế mạng sử dụng lệnh
Trong matlab chọn File→New→M-file và gõ đoạn lệnh vào
Hình 3.12: Tập lệnh huấn luyện mạng nơron
47. Chương III: Giới thiệu về Neural Network Toolbox của Matlab
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 38
Sau đó chọn Debug→Save and run. Các thông số về chu kỳ huấn luyện, sai
số...
Hình 3.13: Các thông số huấn luyện mạng
Mạng được tạo thành một khối trong simulink
Hình 3.14: Mạng nơron sau khi huấn luyện
48. Chương III: Giới thiệu về Neural Network Toolbox của Matlab
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 39
Kiểm tra hoạt động của mạng với vector ngõ vào test=[1.5 3 4 5.5]
Hình 3.15: Kiểm tra hoạt động của mạng nơron
Thiết kế mạng sử dụng giao diện ‘nntool’: tạo mạng truyền thẳng có 2 lớp
tên ‘net1’, số nơron lớp ẩn là 5, lớp ra là 1, hàm truyền lớp ẩn là ‘logsig’, hàm
truyền lớp ra là ‘purelin’, vector ngõ vào x=[0 1 2 5 6], ngõ ra mong muốn y=[0 1 4
25 36]
Hình 3.16: Thiết kế mạng nơron sử dụng giao diện “nntool’
49. Chương III: Giới thiệu về Neural Network Toolbox của Matlab
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 40
Huấn luyện mạng với ngõ vào x, ngõ ra mong muốn y :
Hình 3.17: Huấn luyện mạng nơron
Sau khi huấn luyện xong chúng ta có thể save lại hay export vào wordspace
Hình 3.18: Xuất và lưu mạng vừa huấn luyện
50. Chương III: Giới thiệu về Neural Network Toolbox của Matlab
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 41
Thử kiểm tra lại mạng với vector ngõ vào test=[1.5 3 4 5.5]
Hình 3.19: Kiểm tra mạng vừa huấn luyện
Nhận xét: mạng nơron hoạt động chưa được chính xác. Để khắc phục chúng
ta có thể:
- Thêm dữ liệu huấn luyện, dữ liệu huấn luyện nhiều thì mạng sẽ nhận
dạng chính xác hơn, khả năng xấp xỉ tốt hơn.
- Thay đổi số nơron trong lớp ẩn, thay đổi số nơron trong lớp ẩn để mạng
hoạt động tốt hơn, số nơron quá nhiều hay quá ít sẽ dẫn đến tình trạng
mạng bị quá khớp hay không nhớ hết các mẫu học
- Thay đổi hàm truyền, phải lựa chọn hàm truyền cho phù hợp, thông
thường người ta hay sử dụng hàm tansig, logsig và purelin
51. Chương IV: Giới thiệu về thiết bị RT010 và mô hình điều khiển
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 42
CHƯƠNG IV
GIỚI THIỆU VỀ THIẾT BỊ RT010 VÀ MÔ HÌNH ĐIỀU KHIỂN
4.1 Giới thiệu về thiết bị điều khiển mực chất lỏng RT010
Bộ điều khiển mực chất lỏng RT010 là một trong bốn bộ thí nghiệm về điều
khiển trong phòng thí nghiệm điều khiển quá trình, đó là : điều khiển mực chất lỏng
(Liquid level control) RT010, điều khiển lưu lượng (Flow control) RT020, điều
khiển áp suất (Pressure control) và RT030 điều khiển nhiệt độ (Temperature
control) RT040.
Bộ điều khiển RT010 cho phép người dùng có thể thao tác điều khiển như
điều khiển on/off, điều khiển PID,…thông qua phần mềm Labview do nhà sản xuất
cung cấp. Hiện nay, thiết bị RT 010 còn có thể giao tiếp với phần mềm Matlab
thông qua một khối giao tiếp “RT010 interface” do bạn Đinh Hiền Nhân thiết kế.
Với khối giao tiếp này người sử dụng có thể tạo ra các bộ điều khiển khác nhau như
: điều khiển mờ, mạng nơron,… để điều khiển thiết bị. Thông qua quá trình thiết kế
và kiểm nghiệm hoạt động của các bộ điều khiển, người sử dụng sẽ hiểu rõ hơn về
kỹ thuật điều khiển tự động.
Hình 4.1: Thiết bị điều khiển mực chất lỏng RT010
52. Chương IV: Giới thiệu về thiết bị RT010 và mô hình điều khiển
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 43
Cấu tạo bên ngoài của thiết bị:
Hình 4.2: Cấu tạo bộ điều khiển mực chất lỏng RT010
Trong đó:
1 Bình cung cấp nước
2 Máy bơm
3 Bình quan sát mực chất lỏng
4 Ống dẫn đo áp suất
5 Ống xả nước tràn
6 Van xả điện tỉ lệ
7 Switch khởi động Bơm
8 Công tác chính
9 Đèn hiển thị cho máy bơm
10 Đèn hiển thị van xả
11 Nút ấn mở van xả tay
53. Chương IV: Giới thiệu về thiết bị RT010 và mô hình điều khiển
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 44
Chúng ta chú ý đến các yếu tố chính ảnh hưởng đến việc điều khiển, đó là :
- Máy bơm: bơm nước từ bình cung cấp nước đến bình quan sát, công suất
máy bơm dao động từ 0% đến 100% tương ứng với điện áp 0V đến 12V
- Van xả: xả nước từ bình quan sát xuống bình cung cấp nước, tỉ lệ xả của van
dao động từ 0% đến 100%
- Chiều cao mực nước trong bình quan sát là 18cm
4.2 Giới thiệu về khối giao tiếp ‘RT010 Interface’
Khối giao tiếp ‘RT010 Interface’ làm nhiệm vụ giao tiếp giữa thiết bị RT010
với phần mềm Matlab với ba thông số:
- U điều khiển tốc độ máy bơm có giá trị đặt vào thay đổi từ 0 đến 100 tương
đương máy bơm hoạt động từ 0% đến 100%.
- Z điều khiển tỉ lệ van xả có giá trị đặt vào thay đổi từ 0 đến 100 tương đương
van xả với tỉ lệ từ 0% đến 100%.
- Y là giá trị chiều cao mực chất lỏng thay đổi trong khoảng 0 đến 18 tương
đương mực nước từ 0Cm đến 18Cm.
Hình 4.3: Khối giao tiếp RT010 Interface
4.3 Giới thiệu về phương pháp điều khiển dùng mô hình ngược
Điều khiển ngược trực tiếp:
Là phương pháp điều khiển vòng hở mà trong đó bộ điều khiển là mô hình
ngược của đối tượng. Giả sử đối tượng phi tuyến được mô tả bởi phương trình
))
1
(
),...,
(
),
1
(
),...,
(
(
)
1
(
))
(
),...,
1
(
(
),
(
),...,
1
(
(
)
(
m
t
u
t
u
n
t
y
t
y
f
t
y
m
t
u
t
u
n
t
y
t
y
f
t
y
Nếu sử dụng luật điều khiển:
))
1
(
),...,
1
(
),
1
(
),...,
(
),
1
(
(
)
( 1
m
t
u
t
u
n
t
r
t
r
t
r
f
t
u
54. Chương IV: Giới thiệu về thiết bị RT010 và mô hình điều khiển
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 45
Ta có sơ đồ điều khiển ngược trực tiếp:
Hình 4.4: Nguyên tắc điều khiển ngược trực tiếp
Dễ thấy rằng tín hiệu ra y(t) của đối tượng đồng nhất với tín hiệu đặt r(t).
Mặc dù nguyên tắc điều khiển ngược rất đơn giản nhưng chiến lược này hầu như
không thể thực hiện được trong các ứng dụng thực tế do không thể rút ra được mô
hình ngược toán học của đối tượng. Do đó một giải pháp đưa ra là sử dụng mạng
nơron (NN- neural network) để nhận dạng đặc tính động học ngược của đối tượng.
Hình 4.5: Mô hình ngược
Có hai cách ước lượng thông số của mô hình ngược:
Ước lượng off-line: thông số của mô hình ngược được ước lượng dựa vào tập
dữ liệu vào ra của đối tượng (đã thu tập trước) sao cho sai số lệch giữa tín hiệu kích
ở đầu vào u(t) và tín hiệu đầu ra û(t,θ) của mô hình ngược là tối thiểu.
f-1
(.) f(.)
r(t+1) u(t) y(t+1)
NN
q-1
q-m+1
q-1
q-n+1
y(t+1)
u(t-1)
u(t-1)
y(t)
y(t-n+1)
u(t)
55. Chương IV: Giới thiệu về thiết bị RT010 và mô hình điều khiển
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 46
Hình 4.6: Nguyên tắc ước lượng thông số mô hình ngược off-line
Ước lượng on-line: thông số mô hình ngược được cập nhật trực tuyến sao
cho sai lệch giữa tín hiệu ra của đối tượng và tín hiệu đặt là tối thiểu.
Hình 4.7: Nguyên tắc ước lượng thông số mô hình ngược on-line
Mô hình ngược sau khi nhận dạng sẽ được sử dụng như bộ điều khiển bằng
cách thay thế tín hiệu ra y(t+1) bằng tín hiệu vào chuẩn r(t+1).
Hình 4.8: Điều khiển dùng mô hình ngược
Đối tượng
Mô hình ngược
u
û
y
r(t) û(t) y(t)
Đối tượng
Mô hình ngược
NN
q-1
q-m+1
q-1
q-n+1
r(t+1)
u(t-1)
u(t-1)
y(t)
y(t-
u(t)
Đối tượng
y(t+1)
56. Chương IV: Giới thiệu về thiết bị RT010 và mô hình điều khiển
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 47
Điều khiển bồn nước đơn dùng mô hình ngược:
Hình 4.9: Hệ bồn chứa chất lỏng
Xét bồn nước có tiết diện ngang thay đổi theo độ cao như hình 4.9. Phương
trình vi phân mô tả hệ thống là:
min
max
min
max
'
)
(
)
(
2
)
(
)
(
1
)
(
A
h
h
A
A
h
A
t
gh
a
C
t
ku
h
A
t
h D
Trong đó:
- u(t) : điện áp điều khiển máy bơm (0≤ u(t) ≤12V)
h(t) : độ cao mực chất lỏng trong bồn chứa (cm)
- A(h): tiết diện ngang bồn chứa (cm2)
- hmax : độ cao cực đại của bồn chứa
- Amin, Amax: tiết diện ngang cực đại và cực tiểu
- k : hệ số tỉ lệ với công suất máy bơm
- a : tiết diện van xả (cm2)
- g : gia tốc trọng trường (981cm/sec2)
- CD : hệ số xả
Thông số của bồn đơn được chọn như sau hmax=50cm, Amax=200cm2
, Amin=100cm2
,
a=1cm2
, k=20cm3
/sec, CD=0.6.
dt
t
h
t
u
t
h
t
h
t
0
)
(
1962
6
.
0
)
(
300
)
(
2
100
1
)
(
Từ phương trình trên ta có thể suy ra rằng:
))
(
),
(
(
)
1
( t
u
t
h
f
t
h
Do đó dễ thấy mô hình ngược của bồn:
))
(
),
1
(
(
ˆ
ˆ 1
t
h
t
h
f
u
h(t)
u(t)
qin
qout
57. Chương IV: Giới thiệu về thiết bị RT010 và mô hình điều khiển
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 48
Sử dụng mạng thần kinh để nhận dạng mô hình ngược trên. Sơ đồ lấy dữ
liệu:
Hình 4.10: Sơ đồ thu thập dữ liệu hệ bồn đơn
Dữ liệu dùng để huấn luyện mạng nơron
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
58. Chương IV: Giới thiệu về thiết bị RT010 và mô hình điều khiển
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 49
Huấn luyện mạng nơron từ dữ liệu thu thập được:
close all;
% Tải dữ liệu huấn luyện
load data
y=[y1(2:1000)';y1(1:999)'];
u=[u1(1:999)'];
% Tiền xử lý dữ liệu huấn luyện
y=y/100;
u=u/100;
% Huấn luyện mạng nơron
net=newff(minmax(y),[6 1],{'tansig','purelin'},'traingdx');
net.trainParam.epochs=1000;
net=train(net,y,u);
% Xuất mạng ra khối simulink
gensim(net,-1);
Điều khiển hệ bồn đơn dùng mô hình ngược vừa huấn luyện
Hình 4.12: Sơ đồ điều khiển trực tiếp hệ bồn đơn dùng mô hình ngược
59. Chương IV: Giới thiệu về thiết bị RT010 và mô hình điều khiển
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 50
Kết quả điều khiển hệ bồn đơn dùng mô hình ngược trực tiếp
Hình 4.13: Kết quả điều khiển hệ bồn đơn dùng mô hình ngược
Nhận xét: mạng nơron sau khi huấn luyện xấp xỉ đặc tính động học ngược
của bồn chứa được sử dụng để điều khiển bồn chứa theo sơ đồ hình 4.12. Kết quả
mô phỏng ở hình4.13 cho thấy mực chất lỏng trong bồn chứa thay đổi theo tín hiệu
vào dạng hàm nấc khá tốt. Tuy nhiên đáp ứng của hệ thống có sai số xác lập tại
những điểm làm việc mà mạng nơron chưa nhận dạng được chính xác đặc tính động
học ngược của hệ bồn chứa.
Điều khiển thuận:
Hình 4.14: Điều khiển thuận
Trong trường hợp mô hình ngược không thể nhận dạng hoàn toàn chính xác
đặc tính động học ngược của đối tượng, điều này thường xảy ra ở thực tế, có thể sử
dụng thêm bộ điều khiển PID kinh điển để triệt tiêu sai số do mô hình theo sơ đồ ở
hình 4.15.
r(t) y(t)
Đối tượng
Mô hình ngược
Điều khiển PID
60. Chương IV: Giới thiệu về thiết bị RT010 và mô hình điều khiển
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 51
Sơ đồ điều khiển thuận hệ bồn đơn dùng mô hình ngược:
Hình 4.15: Sơ đồ điều khiển thuận
Do đối tượng bồn đơn là hệ phi tuyến bậc nhất nên ta chỉ cần sử dụng bộ
điều khiển PI là đủ. Với thông số bộ điều khiển PI được chọn là Kp= 50, KI= 0.001.
Kết quả ở hình 4.16 cho thấy đáp ứng của hệ thống hoàn toàn bám theo tín
hiệu đặt tại mọi điểm làm việc, không còn sai số xác lập như kết quả điều khiển ở
hình 4.13.
Hình 4.16: Kết quả điều khiển thuận
61. Chương V: Kết quả điều khiển ổn định mực chất lỏng thiết bị RT010 dùng mạng nơron
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 52
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
5.1 Bộ điều khiển trực tiếp sử dụng mô hình ngược
Để thiết kế bộ điều khiển này trước hết phải thu thập dữ liệu vào ra của thiết
bị RT010, sau đó dùng dữ liệu thu thập được để huấn luyện mạng nơron. Sơ đồ thu
thập dữ liệu vào ra của bộ điều khiển mực chất lỏng RT010
Hình 5.1: Sơ đồ thu thập dữ liệu của thiết bị RT010
62. Chương V: Kết quả điều khiển ổn định mực chất lỏng thiết bị RT010 dùng mạng nơron
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 53
Dữ liệu vào ra dùng để huấn luyện mạng nơron
Hình 5.2: Dữ liệu vào ra của thiết bị RT010
Tập lệnh huấn luyện mạng nơron
close all;
% Tải dữ liệu huấn luyện
load data_in_out
y=[y1(2:400)';y1(1:399)'];
u=[u1(1:399)'];
% Tiền xử lý dữ liệu huấn luyện
y=y/10;
u=u/10;
% Huấn luyện mạng nơron
net=newff(minmax(y),[5 1],{'tansig','purelin'});
net.trainParam.epochs=1000;
net =train(net,y,u);
% Xuất mạng ra khối simulink
gensim(net,-1)
63. Chương V: Kết quả điều khiển ổn định mực chất lỏng thiết bị RT010 dùng mạng nơron
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 54
Sơ đồ điều khiển mực chất lỏng thiết bị RT010 dùng mô hình ngược:
Hình 5.3: Sơ đồ điều khiển thiết bị RT010 dùng mô hình ngược trực tiếp
Kết quả:
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
Mạng nơron sau khi huấn luyện nhận dạng tốt đặc tính động học ngược của
thiết bị điều khiển mực chất lỏng RT010. Sai số tương đối nhỏ, dao động trên dưới
trong khoảng 0.7 cm
64. Chương V: Kết quả điều khiển ổn định mực chất lỏng thiết bị RT010 dùng mạng nơron
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 55
5.2 Bộ điều khiển mô phỏng PID
PID là bộ điều khiển thường được sử dụng trong các hệ thống điều khiển tự
động. Mặc dù có nhiều hạn chế nhưng bộ điều khiển này lại rất dễ sử dụng, các
thông số P,I,D được chỉnh sửa dựa vào việc thử sai thực tế nên đáp ứng tương đối
tốt yêu cầu người sử dụng. Ở đây sẽ sử dụng số liệu vào ra của bộ PID điều khiển
thiết bị RT010 để huấn luyện mạng nơron. Cụ thể, dữ liệu vào là sai số độ cao mực
nước đặt trước và độ cao mực nước thực tế, dữ liệu ra là công suất điều khiển máy
bơm.
Sơ đồ thu thập dữ liệu vào ra của PID:
Hình 5.5: Sơ đồ thu thập dữ liệu của bộ điều khiển PID
65. Chương V: Kết quả điều khiển ổn định mực chất lỏng thiết bị RT010 dùng mạng nơron
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 56
Kết quả điều khiển của bộ PID
Hình 5.6: Kết quả điều khiển thiết bị RT010 của PID
Tập lệnh huấn luyện mạng nơron
%Tai du lieu huan luyen
load new;
p=[p';i';d'];
t=out';
%Tien xu ly du lieu
p=p/100;
t=t/100;
net=newff(minmax(p),[10 1],{'tansig','purelin'},'traingdx');
%Huan luyen mang noron
net=train(net,p,t);
%Xuat ra khoi Simulink
gensim(net,-1)
66. Chương V: Kết quả điều khiển ổn định mực chất lỏng thiết bị RT010 dùng mạng nơron
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 57
Sơ đồ điều khiển mạng nơron
Hình 5.7: Sơ đồ điều khiển của mạng nơron nhận dạng PID
Kết quả:
Hình 5.8: Kết quả điều khiển của mạng nơron nhận dạng PID
67. Chương V: Kết quả điều khiển ổn định mực chất lỏng thiết bị RT010 dùng mạng nơron
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 58
Nhận xét: mạng nơron nhận dạng khá chính xác hoạt động của bộ điều khiển
PID.
Khi dùng bộ điều khiển mạng nơron điều khiển mô hình lý thuyết ta thấy tín hiệu
ngõ ra bám sát với tín hiệu mong muốn. Nhưng khi thiết kế bộ điều khiển mạng
nơron cho thiết bị RT010 thì sai số giữa tín hiệu ra với tín hiệu mong muốn đặt
trước lại dao động khá lớn. Điều này là do mô hình thực tế bị ảnh hưởng bởi tốc độ
đáp ứng, sai số hệ thống,…nên mạng nơron chưa nhận dạng tốt được đối tượng.
5.3 Hạn chế
Bộ điều khiển ổn định mực chất lỏng của thiết bị RT010 dùng mạng nơron
tuy đã hoàn thành và đáp ứng tốt tại các điểm đặt trước nhưng vẫn còn dao động
khá lớn (khoảng 2%).
5.4 Hướng phát triển
Để bộ điều khiển đạt hiệu quả và bám sát tín hiệu đặt trước chúng ta có thể
kết hợp bộ điều khiển mạng nơron với PID để cải thiện bộ điều khiển mạng nơron.
Hay có thể dùng mạng nơron để tinh chỉnh các hệ số Ki,Kp,Kd của bộ điều khiển
PID vì PID hiện tại đang điều khiển tốt hơn so với giải thuật chỉ dùng mạng nơron.
Chúng ta cũng có thể sử dụng mạng nơron để điều khiển các thiết bị RT020
(điều khiển lưu lượng chất lỏng), RT030 (điều khiển áp suất), RT040 (điều khiển
nhiệt độ),...
68. Kết luận và kiến nghị
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 59
KẾT LUẬN VÀ KIẾN NGHỊ
Sau một thời gian tìm hiểu về mạng nơron, công cụ Neural Network Toolbox
và thiết bị RT010, chúng tôi đã thiết kế được bộ điều khiển ổn định mực chất lỏng
trên thiết bị RT010 dùng mạng nơron.
Do thiết bị điều khiển mực chất lỏng RT010 là hệ phi tuyến và đáp ứng khá
chậm nên bộ điều khiển dùng mạng nơron rất khó bám sát được các tín hiệu đặt
trước. Để việc điều khiển ổn định mực chất lỏng đạt hiệu quả cao chúng ta nên kết
hợp với các bộ điều khiển khác như bộ điều khiển PID ...
69. Tài liệu tham khảo
SVTH: Lương Thái Điền & Phan Thành Nhân Trang 60
TÀI LIỆU THAM KHẢO
Tiếng Việt
[1] Huỳnh Thái Hoàng, Hệ Thống Điều Khiển Thông Minh, Đại Học Quốc Gia
TP.HCM năm 2006.
[1] Nguyễn Chí Ngôn, Giáo Trình Mạng Nơron Nhân Tạo, Đại Học Cần Thơ năm
2008.
[2] Nguyễn Thị Phương Hà, Huỳnh Thái Hoàng, Lý Thuyết Điều Khiển Tự Động,
Đại Học Quốc Gia TP.HCM năm 2005.
[3] Nguyễn Như Hiền, Lại Khắc Lãi, Hệ Mờ và Nơron Trong Kỹ Thuật Điều Khiển,
NXB Khoa Học Tự Nhiên và Công Nghệ năm 2007
Tiếng Anh
[1] Neural Network Toolbox, Matlab 2007
[2] Daniel Graupe, Principles of Artificial Neural Networks 2007
Địa chỉ Website tham khảo:
www.mathworks.com
www.updatesoft.com