- Tính sai lệch: e(k)=r(k)y(k)
4. Mạng Nơron
4.1 Cơ sở về mạng Nơron
Đầu tiên ta cần phải nắm rõ khái niệm về mạng nơron:
Mạng nơron là sự tái tạo bằng kĩ thuật những chức năng của hệ thần kinh con người. Trong quá trình tái tạo không phải tất cả các chức năng của bộ nào con người có đều được tái tạo mà chỉ có những chức năng cần thiết. Bên cạnh đó còn có những chức năng mới được tạo ra nhằm giải quyết một bài toán điều khiển định trước.
Để hiểu rõ hơn về mạng nơron ta cần tìm hiểu cấu trúc của một nơron tự nhiên. Cụ thể bạn có thể xem trong tài liệu [2], pp. 203-205. Một tính chất cơ bản của mạng Nơron sinh học mà ta cần lưu ý là các đáp ứng theo kích thích có khả năng thay đổi theo thời gian. Các đáp ứng có thể tăng lên, giảm đi hoặc hoàn toàn biến mất.Qua các nhánh axon liên kết tế bào nơron này với tế bào nơron khác, sự thay đổi trạng thái của một nơron cũng kéo theo sự thay đổi trạng thái của các nơron khác và do đó là sự thay đổi của toàn bộ mạng nơron. Việc thay đổi trạng thái của mạng nơron có thể thực hiện qua một quá trình dạy hoặc do khả năng học tự nhiên. Mạng nơron nhân tạo chính là sự thay thế tính chất đó của mạng nơron tự nhiên bằng một mô hình toán học tương đương. Mạng nơron có thể được chế tạo bằng nhiều cách khác nhau vì vậy trong thực tế tồn tại rất nhiều kiểu mạng nơron nhân tạo. W1 W 2 f a P2 P1
Đứng về mặt mặt hệ thống, một nơron là một hệ thống MISO quen thuộc với nhiều đầu vào và một đầu ra. Cấu trúc của một nơron gồm một bộ tổng và một hàm truyền f(n).
Quan hệ giữa các đầu vào ra của một nơron được biểu diễn bằng phương trình toán học như sau:
+ b = * + b = Wp +b
a = f(n), trong đó f là hàm truyền, w là trọng số và b là tham số bù. Một số hàm f cơ bản thường được sử dụng:
Hàm a = f(a) Mô tả
a = tansig(n) a = -1
a = logsig(n) a =
a = radbas(n) a =
a = purelin(n) a = n
4.2 Cấu trúc mạng nơron
Để xây dựng được hệ thống điều khiển tự động trước tiên phải xây dựng được mô hình thích hợp cho đối tượng và xác định các tham số của mô hình. Ở đây mô hình được sử dụng thay thế cho đối tượng là một mạng nơron. Như vậy vấn đề của chúng ta là phải xác đinh được một cấu trúc mạng nơron hợp lý và huấn luyện các tham số của mạng. Đây chính là bài toán nhận dạng đối tượng bằng mạng nơron. Nó là bài toán đầu tiên cũng là bài toán quan trọng nhất trong quá trình thiết kế bộ điều khiển trên cơ sở mạng nơron.
Ta có thể phân loại mạng nơron thành 3 loại như sau:
- Mạng nơron động học tuyến tính : Quan hệ vào/ra của mạng có tính chất động học tuyến tính.
- Mạng nơron phi tuyến tĩnh: Quan hệ vào/ra của mạng có tính chất phi tuyến tĩnh.
- Mạng nơron động học phi tuyến: Quan hệ vào/ra của mạng có tính chất động học phi tuyến.
4.3 Huấn luyện mạng nơronNguyên tắc huấn luyện Nguyên tắc huấn luyện
Huấn luyện mạng là công việc xác đinh vector trọng số wi có trong từng nơron của mạng sao cho mạng nơron có khả năng tạo ra cá đáp ứng đầu ra mong muốn khi cùng được kích thích bằng một lượng thông tin đầu vào của hệ thống đó.
Đầu vào Lớp vào Lớp ẩn Lớp ra
Để huấn luyện người ta cho tác động hàng loạt kích thích xk, k =1, 2...có khả năng lặp lại trong quá trình mạng làm việc. Những tác động này gọi là kích thích mẫu. Các giá trị y’k tương ứng tại đầu ra của mạng được so sánh với đáp ứng mẫu yk cho trước. Các phần tử của vector trọng số wi, i = 1, 2,...,n có trong tất cả n nơron của mạng được hiệu chỉnh theo từng bước huấn luyện sao cho tổng các sai lệch Ek = |e(k)|2 = | y’k - yk|2 là nhỏ nhất. Thực chất của bài toán huấn luyện mạng là giải bài toán tối ưu tham số và để thực hiện bài toán đó cần phải xây dựng được phiến hàm mục đích mô tả rõ sai lệch.
Đối tượng
Để thấy rõ hơn về quá trình huấn luyện mạng nơron, bạn có thể xem thêm ở tài liệu [2], pp. 214-215 về mạng nơron MLP 3 lớp. Như vậy việc huấn luyện mạng ở đây chính là giải bài toán tối ưu với sự hỗ trợ của thuật toán tìm kiếm ngược Gradient.
Với mạng MLP truyền thẳng, khi huấn luyện mạng với một mẫu cho trước mà thuật toán xác định vector trọng số không hội tụ, người ta sẽ nghĩ tới mạng nhiều lớp (MLP) và mạng này phải có quan hệ phi tuyến không chỉ nằm ở lớp nơron đầu ra. Một trong những phương pháp được ứng dụng nhiều trong thực tế để giải quyết bài toán huấn luyện mạng MLP truyền thẳng là thuật toán lan truyền ngược (Backpropagation) được đề cập trong tài liệu [2], pp. 223-227.