1.2 HUẤN LUYỆN MẠNG 1.2.1 Nguyên tắc huấn luyện mạng Huấn luyện mạng là công việc xác định các véc tơ trọng số wicó trong từng nơ roncủa mạng sao cho mạng nơ ron có khả năng tạo ra các đ
Trang 1-
Luận văn thạc sỹ khoa học
Tìm hiểu mạng nơ ron và ứng dụng mạng nơ ron trong kĩ
thuật điều khiển
Ngành: tự động hoá & điều khiển
Nguyễn thái sơn Người hướng dẫn khoa học: pgs.ts phan xuân minh
Hà nội 2008
Trang 2M ỤC LỤC
Lời cam đoan………
Mục lục………
Danh mục các hình vẽ………
LỜI MỞ ĐẦU………
CHƯƠNG 1: MẠNG NƠ RON NHÂN TẠO……… 1
1.1: Mô hình mạng nơ ron nhân tạo……… 1
1.1.1: Cấu trúc một nơ ron nhân tạo……… 1
1.1.2: Các cấu trúc cơ bản của mạng nơ ron nhân tạo…… 4
1.2: Huấn luyện mạng……… 6
1.2.1: Nguyên tắc huấn luyện mạng……… 6
1.2.2: Cấu trúc và phương pháp huấn luyện trong các mạng
nơ ron tiêu biêu……… 8
1.2.2.1: Mạng truyền thẳng……… 8
1.2.2.2: Mạng RBF……… 16
1.2.2.3: Mạng tự tổ chức Kohonen……… 20
1.2.2.4: Mạng hồi quy……… 22
1.2.2.5: Mạng nơ ron động……… 26
CHƯƠNG 2: ỨNG DỤNG MẠNG NƠ RON TRONG NHẬN DẠNG HỆ THỐNG PHI TUYẾN……… 30
2.1: Giới thiệu……… 30
2.2: Nhận dạng đối tượng động học phi tuyến……… 32
2.2.1: Mô tả đối tượng……… 32
Trang 32.2.2: Nhận dạng đối tượng……… 33
2.2.3: Kết luận……… 41
CHƯƠNG 3: ỨNG DỤNG MẠNG NƠ RON TRONG BÀI TOÁN ĐIỀU KHIỂN……… 42
3.1: Giới thiệu……… 42
3.2: Điều khiển dự đoán trên mô hình……… 43
3.2.1: Nhận dạng hệ thống……… 43
3.2.2: Điều khiển dự đoán dựa trên mô hình……… 45
3.2.3: Khối điều khiển dự báo trên mô hình bằng mạng nơ ron của Matlab……… 47
3.3: Điều khiển NARMA-L2……… 54
3.3.1: Nhận dạng mẫu NARMA-L2……… 54
3.3.2: Bộ điều khiển NARMA-L2……… 55
3.3.3: Khối điều khiển NARMA-L2 của Matlab……… 57
3.4: Điều khiển theo mô hình mẫu……… 63
3.4.1: Thiết kế bộ điều khiển nơ ron theo mô hình mẫu……… 65
3.4.2: Kết luận……… 74
3.5: Kết luận……… 74
KẾT LUẬN CHUNG……… 75
PHỤ LỤC……… 76
TÀI LIỆU THAM KHẢO……… 113
Trang 4CHƯƠNG 1 MẠNG NƠ RON NHÂN TẠO
1.1 MÔ HÌNH MẠNG NƠ RON NHÂN TẠO
1.1.1 Cấu trúc một nơ ron nhân tạo
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 hướng trước
Mạng nơ ron bao gồm vô số các nơ ron được liên kết truyền thông với nhau trong mạng Một nơ ron chứa đựng các thành phần cơ bản:
- Thân nơ ron được giới hạn trong một màng membran và trong cùng
là nhân Từ thân nơ ron còn có rất nhiều đường rẽ nhánh tạm gọi là
có một rễ đầu ra Bởi vậy nếu xem nơ ron như một khâu điều khiển thì nó chính là khâu có nhiều đầu vào, một đầu ra (MISO) Một tính chất rất cơ
bản của mạng nơ ron sinh học 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 các nơ
Trang 5ron khác, sự thay đổi trạng thái của một nơ ron cũng sẽ kéo theo sự thay đổi trạng thái của những 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
Sự thay thế những tính chất này bằng một mô hình toán học tương
đương được gọi là mạng nơ ron nhân tạo Mạng nơ ron nhân tạo 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
Đại lượng đầu vào vô hướng p được truyền thông qua một đường dây có
hệ số trọng w Tích số wp là đối số của hàm truyền f, tạo nên đầu ra vô
Hình 1.1 : Mô hình một nơ ron nhân tạo không có trọng số
Hình 1.2 : Mô hình một nơ ron nhân tạo có trọng số
Trang 6hướng a Nơ ron ở hình 2 có hệ số bias b, có vai trò giống như một trọng số
nhưng đầu vào cố định bằng 1 Cả w và b đều là các tham số vô hướng có thể thay đổi được của một nơ ron Ý tưởng trung tâm của mạng nơ ron là có thể điều chỉnh các thông số này để thu được các hành vi theo yêu cầu Vì
thế chúng ta có thể huấn luyện mạng nơ ron để thực hiện một công việc cụ
thể hoặc mạng nơ ron sẽ tự điều chỉnh thông số để đạt được kết quả như ý muốn
Ở đây, f là hàm truyền, trong đó có 3 loại thường dùng, như sau:
a) Hàm truyền Hard-limit
Hàm truyền Hard-limit giới hạn đầu ra của một nơ ron hoặc bằng 0 nếu đối số đầu vào n nhỏ hơn 0; hoặc bằng 1 nếu n lớn hơn hoặc bằng 0 Hàm truyền này được sử dụng trong mạng Perceptron
b) Hàm truyền tuyến tính
Hình 1.3: Hàm truyền Hard-lim
Hình 1.4: Hàm truyền tuyến tính
Trang 7Các mạng nơ ron của loại này thường được dùng như là các bộ xấp xỉ tuyến tính
c) Hàm truyền sigmoid
Hàm truyền này thường được dùng trong các mạng nơ ron lan truyền
ngược
1.1.2 Các cấu trúc cơ bản của mạng nơ ron nhân tạo
Liên kết các đầu vào và ra của nhiều nơ ron với nhau ta được một mạng
nơ ron Việc ghép nối các nơ ron trong mạng với nhau có thể theo một nguyên tắc bất kỳ nào đó Ở một mạng, các nơ ron được phân biệt với nhau thông qua vị trí của nó trong mạng, cụ thể là:
- Nhóm nơ ron đầu vào (input layer) là những nơ ron nhận thông tin
từ môi trường bên ngoài vào trong mạng Chúng có vị trí ngoài cùng “bên trái” và được nối với các nơ ron khác trong mạng từ (rễ) đầu ra
- Nhóm nơ ron được các nơ ron khác trong mạng kết nối tới thông qua (rễ) đầu vào được gọi là nơ ron đầu ra (output layer) Những nơ ron đầu ra có vị trí ngoài cùng “bên phải” và có nhiệm vụ đưa tín
hiệu của mạng ra bên ngoài
- Những nơ ron còn lại không thuộc hai nhóm trên được gọi là nơ ron bên trong (hidden layer)
Hình 1.5: Hàm truy ền sigmoid
Trang 8Như vậy, một mạng nơ ron cũng có chức năng của một hệ truyền đạt và
xử lý tín hiệu từ đầu vào đến đầu ra của mạng Các nơ ron trong một mạng thường được chọn cùng một loại, chúng được phân biệt với nhau qua véc tơ hàm trọng số w
Một mạng nơ ron được chia thành các lớp, mỗi lớp bao gồm nhiều nơ ron có cùng một chức năng trong mạng
Hình 1.6 là mô hình của một mạng nơ ron ba lớp Mạng có R đầu vào
p1, p2, , pnvà S đầu ra a3
1, a3 , , a3
S Các tín hiệu đầu vào được đưa đến S
nơ ron đầu vào, các nơ ron này làm thành lớp đầu vào của mạng (input layer) Đầu ra của các nơ ron này được đưa đến đầu vào của các nơ ron tiếp theo, các nơ ron này không trực tiếp tiếp xúc với môi trường xung quanh và làm thành lớp trung gian trong mạng (hidden layer) Đầu ra của các nơ ron này được đưa đến các nơ ron đưa tín hiệu ra môi trường bên ngoài, thuộc
lớp các nơ ron đầu ra (output layer)
Mạng nơ ron mà ở đó không tồn tại bất kỳ một mạch hồi tiếp nào kể cả hồi tiếp nội lẫn hồi tiếp từ đầu ra trở về đầu vào, được gọi là mạng truyền
Hình 1.6: M ạng nơ ron ba lớp truyền thẳng
Trang 9thẳng (feedforward network) Ngược lại, mạng có đường phản hồi từ đầu ra
của một nơ ron tới đầu vào của nơ ron cùng lớp hoặc thuộc lớp phía trước
có tên gọi là mạng hồi tiếp (feedback network)
Mạng nơ ron bao gồm một hay nhiều lớp trong (lớp trung gian) được
gọi là mạng MLP (multilayer perceptrons network) Còn mạng chỉ có một
lớp, vừa là lớp vào vừa là lớp trung gian và cũng là lớp ra thì mạng đó có
có thể thay thế mạng nơ ron nhiều lớp thành mạng nơ ron một lớp
1.2 HUẤN LUYỆN MẠNG
1.2.1 Nguyên tắc huấn luyện mạng
Huấn luyện mạng là công việc xác định các véc tơ trọng số wicó trong từng nơ roncủa mạng sao cho mạng nơ ron có khả năng tạo ra các đáp ứng đầu ra mong muốn (giống như tín hiệu ra của một hệ thống) 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 đó Như vậy, có thể xem việc huấn luyện mạng là tạo ra cho mạng khả năng của một thiết bị
xấp xỉ thông tin
Để huấn luyện, người ta cho tác động vào mạng hàng loạt kích thích x(k)
, 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 được gọi là kích thích mẫu Các giá trị ~ k( )
y
-tương ứng tại đầu ra
Trang 10của mạng được so sánh với đáp ứng mẫu y
cho trước Các phần tử của những véc tơ 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
2 ( )
rõ ràng sai lệch Hình 1.7 mô tả nguyên lý huấn luyện một mạng nơ ron
Có hai phương pháp huấn luyện mạng là phương pháp học có giám sát
và học không có giám sát
Trong phương pháp học có giám sát, khi các đầu vào tác động vào
mạng, đầu ra của mạng sẽ được so sánh với các mục tiêu Khi đó, ta sẽ sử
dụng luật huấn luyện để điều chỉnh trọng số và bias của mạng để đưa đầu ra của mạng về gần với mục tiêu
Hình 1.7: Nguyên t ắc huấn luyện mạng
Trang 11Trong phương pháp học không có giám sát, trọng số và bias của mạng được chỉnh định tương ứng với đầu vào của mạng mà thôi, không có các đầu ra mục tiêu
1.2.2 Cấu trúc và phương pháp huấn luyện trong các mạng Nơ ron tiêu biêu
Trang 12Cấu trúc mạng nơ ron sớm nhất là mạng Perceptron một lớp do Frank Rosenblatt phát minh năm 1957, chỉ bao gồm một lớp đơn các nút đầu ra; các đầu vào được nối trực tiếp với đầu ra thông qua một loạt các trọng số Tổng của trọng số và các đầu vào được tính trên các nút, nếu giá trị này
vượt ngưỡng (thường là 0) và nơ ron sẽ nhận giá trị là 1; ngược lại, nơ ron
sẽ nhận giá trị là -1
* Thuật toán huấn luyện
Các perceptron được huấn luyện bằng một thuật toán học đơn giản gọi
là luật Delta Phương pháp này tính toán các sai lệch giữa đầu ra thực tế với
bộ số đầu ra theo mẫu, và sử dụng nó để điều chỉnh các trọng số, vì thế đây
là cách thực hiện theo kiểu ngược hướng gradient
Cụ thể:
Với nơ ron thứ j có hàm kích hoạt g(x) thì luật Delta cho trọng số thứ i của
nơ ron thứ j (wji) được tính như sau:
Trong trường hợp này, ta muốn di chuyển qua một “không gian trọng số”
của nơ ron (không gian bao gồm tất cả các giá trị có thể có của tất cả các
trọng số của nơ ron) tương ứng với gradient của hàm sai lệch Để làm điều
Trang 13đó, ta đi tìm đạo hàm riêng của sai lệch tương ứng với từng trọng số Đối
với trọng số thứ i, đạo hàm riêng được viết như sau:
Ta sẽ viết lại hj dưới dạng tổng của tất cả k trọng số của mỗi trọng số wjk
nhân với đẩu vào xk tương ứng:
Trang 14Luật Delta thường được dùng dưới dạng đơn giản hơn cho một Perceptron với hàm kích hoạt tuyến tính như sau:
với các hàm truyền phi tuyến sẽ cho phép mạng học các quan hệ tuyến tính
và phi tuyến giữa các véc tơ đầu vào và đầu ra Lớp đầu ra tuyến tính sẽ trả kết quả ngoài khoảng từ -1 đến +1 Mặt khác, nếu ta muốn khống chế đầu
ra của mạng (ví dụ trong khoảng từ 0 đến 1), ta có thể sử dụng hàm truyền sigmoid ở đầu ra (ví dụ như hàm logsig)
Trang 15* Thuật toán huấn luyện
Mạng nơ ron nhiều lớp sử dụng rất nhiều phương pháp huấn luyện, nhưng phổ biến nhất vẫn là phương pháp lan truyền ngược Nội dung cơ
bản của phương pháp như sau: từ một mẫu học cụ thể ( )k
- người ta lại hiệu chỉnh trọng số của các nơ ron thuộc
lớp phía trước, ví dụ như ( )k
y , i = 1, 2, …, n gồm Q lớp với mỗi lớp có np nơ ron, p =
1, 2, …, Q Gọi cip, zip, p = 1, 2, …, Q là đối số hàm a(.) cũng như đầu ra của nơ ron thứ i thuộc lớp p trong mạng Ký hiệu wijp, j = 1, 2, …, np-1; i =
1, 2, …, np là trọng số chuyển zjp-1 thành zip Như vậy thì:
Hình 1.9: Mạng Perceptron nhiều lớp
Trang 161 1
p m
Trang 17* Phương pháp huấn luyện
Về phương pháp huấn luyện, với mạng Adaline, ta dùng phương pháp bình phương tối thiểu LMS
ij j i
è ø
,
~ 1
è ø
,
1
w w w
i
i im
, i = 1, 2,…, n (x là đầu vào, y là đầu ra)
Nhiệm vụ huấn luyện mạng là xác định các trọng số wij, i = 1, 2, , n ; j =
1, 2, , m để tại bước điều khiển thứ k bất kỳ luôn có đáp ứng đầu ra
( )
k k
k m
x x
Trang 18có là wij(k)ở ngay bước thứ k trước đó một cách đơn giản như sau:
Trang 191.2.2.2 Mạng RBF (Radial Basis Function)
Mạng RBF là một công cụ mạnh để nội suy trong không gian nhiều chiều RBF được ứng dụng trong rất nhiều mảng của mạng nơ ron, ở đó chúng có thể thay thế cho các lớp ẩn có sử dụng hàm sigmoid trong mạng Perceptron nhiều lớp
a) Cấu trúc mạng
* Mô hình nơ ron
Ta có thể thấy biểu thức cho đầu vào của nơ ron radbas khác so với những nơ ron khác Ở đây, đầu vào cho hàm truyền radbas là chiều dài véc
tơ giữa véc tơ trọng số w và véc tơ đầu vào p, sau đó nhân với bias b
Hàm truyền của nơ ron radial basis là:
Trang 20Hàm truyền radbas có giá trị tối đa là 1 khi đầu vào của nó là 0 Khi khoảng cách giữa w và p giảm xuống thì đầu ra sẽ tăng lên Vì thế, nơ ron radial basis giống như một thiết bị dò, sẽ sinh ra giá trị 1 khi mà w giống p Bias b đóng vai trò giúp thay đổi độ nhạy của nơ ron
Cụ thể: nếu nơ ron radial basis có véc tơ trọng số khác với véc tơ đầu vào thì đầu ra sẽ tiến tới 0 Những giá trị này chỉ có tác động nhỏ đến đầu ra
của mạng Ngược lại, nếu véc tơ trọng số gần với véc tơ đầu vào thì đầu ra
sẽ tiến tới 1 Trong trường hợp đó, thì các trọng số ở lớp thứ hai sẽ chuyển giá trị này đến các nơ ron tuyến tính ở lớp thứ hai Trong thực tế, nếu chỉ
có một nơ ron radial basis có đầu ra là 1, còn tất cả các đầu ra còn lại có giá
Hình 1.13: M ạng RBF
Trang 21trị là 0 (hoặc gần với 0) thì đầu ra của lớp tuyến tính sẽ là trọng số đầu ra
của nơ ron chủ động Tuy nhiên, đây chỉ là một trường hợp rất hiếm gặp Mạng RBF có ưu điểm là không bị điểm cực tiểu cục bộ như mạng Perceptron nhiều lớp Đó là vì chỉ những thông số được hiệu chỉnh trong quá trình học mới là ánh xạ tuyến tính từ lớp ẩn cho đến lớp đầu ra Sự tuyến tính đảm bảo rằng đường cong sai lệch là dạng bình phương và vì thế chỉ có một điểm cực tiểu đơn
Tuy nhiên, nó cũng có nhược điểm là đòi hỏi hàm radial basis phải có
độ bao phủ tốt đối với không gian đầu vào Các trọng tâm của RBF được xác định dựa theo sự phân bố của dữ liệu đầu vào, chứ không dựa theo nhiệm vụ dự báo Vì thế, các nguồn biểu thị có thể bị lãng phí trong vùng không gian đầu vào nhưng không liên quan đến nhiệm vụ học Cách thức phổ biến là liên kết từng điểm dữ liệu với trọng tâm riêng của nó, mặc dù điều này có thể khiến hệ thống tuyến tính được giải quyết tại lớp cuối cùng khá rộng, và đòi hỏi các kĩ thuật co ngắn
b) Huấn luyện mạng
Với cấu trúc như trên của mạng RBF, ta sẽ có phương trình của đầu ra y
của mạng như sau:
trong đó: N là số nơ ron của lớp ẩn, ci là véc tơ trung tâm của nơ ron thứ i
và ai là các trọng số của nơ ron tuyến tính đầu ra Ở dạng cơ bản, tất cả đầu vào đều nối với mỗi nơ ron ở lớp ẩn Hàm cơ bản có dạng Gaussian:
Trang 22Đối với một số nhiệm vụ, cần xác định hàm mục tiêu và chọn các thông số
để tối thiểu hoá giá trị của nó Hàm mục tiêu phổ biến nhất là hàm tối thiểu bình phương:
trị của hàm đó được xác định trên một số điểm hữu hạn: y(pi) = bi, i = 1, 2,
…, N Đưa các điểm pi đã biết đến trọng tâm của các hàm radial basis và đánh giá những giá trị của hàm trên các điểm tương tự g ij = r( p j- p i ), các trọng số được tính từ phương trình sau:
w w
w
N N
Trang 23toán học bình phương tối thiểu trực giao (Orthogonal Least Square Learning Algorithm) Bề rộng của RBF thường được cố định đến giá trị tỉ lệ với khoảng cách dài nhất giữa các trọng tâm được chọn
- Giả nghịch đảo cho các trọng số tuyến tính: Sau khi các trọng tâm
ci được cố định, các trọng số làm tối thiểu hoá sai lệch tại đầu ra được tính toán với phương pháp giả nghịch đảo tuyến tính:
w = G b+ (1.26)
trong đó các đầu vào của G là những giá trị của hàm radial basis tính toán tại các điểm pi: g ij = r( p j- c i ) Sự tồn tại của hàm tuyến tính này chứng tỏ rằng, không giống mạng Perceptron nhiều lớp,
mạng RBF có duy nhất một điểm cực tiểu cục bộ (khi các trọng tâm
đã được cố định)
- Phương pháp huấn luyện ngược hướng gradient của các trọng số tuyến tính: Một thuật toán huấn luyện nữa là ngược hướng gradient Trong phương pháp này, các trọng số được điều chỉnh tại mỗi bước
bằng cách dịch chuyển chúng theo hướng đối diện với gradient của hàm mục tiêu
Trang 24sắp xếp các điểm trong không gian đầu vào phối hợp với không gian đầu
ra Không gian đầu vào có thể có kích thước và cấu trúc khác với không gian đầu ra và mạng tự tổ chức sẽ bảo quản điều này
a) Cấu trúc mạng
Cấu trúc này giống như mạng cạnh tranh nhưng không có bias Hàm truyền
cạnh tranh cho ra giá trị 1 với thành phần đầu ra a1
i tương ứng với i* - nơ ron ”giành thắng lợi ” Tất cả các thành phần đầu ra khác trên a1 đều nhận giá trị 0
Như hình trên ta thấy, mạng tự tổ chức bao gồm các nơ ron, mỗi nơ ron có
một véc tơ trọng số có kích thước tương tự như kích thước của các véc tơ đầu vào Các nơ ron sắp xếp theo một khoảng cách đều đặn trong một lưới hình chữ nhật hoặc hình lục giác Bản đồ tự tổ chức mô tả một quá trình sắp xếp từ không gian đầu vào có kích thước cao hơn cho đến không gian
thấp hơn Thủ tục đặt một véc tơ từ không gian dữ liệu lên trên bản đồ chính là việc tìm một nơ ron có véc tơ đầu vào gần nhất với véc tơ từ không gian dữ liệu và đặt toạ độ bản đồ của nơ ron này vào véc tơ của chúng ta
Hình 1.14: M ạng tự tổ chức
Trang 25b) Phương pháp huấn luyện
Quá trình học trong mạng tự tổ chức diễn ra cho mỗi véc tơ trong một thời điểm, không phụ thuộc vào việc mạng được huấn luyện trực tiếp hay được huấn luyện kiểu thích nghi
Việc huấn luyện sử dụng phương pháp học cạnh tranh Khi một ví dụ
huấn luyện được đưa vào mạng, mạng sẽ tính toán khoảng cách Ơclit của tất cả các véc tơ trọng số Nơ ron có véc tơ trọng số gần với đầu vào nhất sẽ được gọi là BMU (Best Matching Unit) Các trọng số của BMU và các nơ ron gần với nó được điều chỉnh tiến về véc tơ đầu vào Biên độ của sự thay đổi sẽ giảm dần theo thời gian và theo khoảng cách từ BMU Công thức để
cập nhật cho nơ ron có véc tơ trọng số Wv(t) là :
( 1) ( ) ( , ) ( )( ( ) ( ))
Wv t+ =Wv t +q v t a t D t - Wv t (1.29)
trong đó a( )t là hệ số học và D(t) là véc tơ đầu vào Hàm lân cận q( , )v t phụ thuộc vào khoảng cách giữa BMU và nơ ron v Ở dạng đơn giản nhất, hàm nhận giá trị 1 cho tất cả các nơ ron đủ gần với BMU và bằng 0 với các nơ ron còn lại; nhưng thông thường hàm Gaussian sẽ được chọn Bất kể là
dạng nào thì hàm lân cận cũng rút ngắn lại theo thời gian Quá trình này được lặp lại mỗi khi có một véc tơ đầu vào tác động
1.2.2.4 Mạng hồi quy
Đối lập với các mạng truyền thẳng, mạng hồi quy có hai hướng dòng
chảy dữ liệu Trong khi mạng truyền thẳng truyền dữ liệu một cách tuyến tính từ đầu vào cho tới đầu ra thì mạng hồi quy còn có thể truyền dữ liệu từ các giai đoạn xử lý sau cho đến giai đoạn xử lý trước
a) Mạng Elman
* Cấu trúc
Trang 26Thông thường, mạng Elman là mạng hai lớp, có phản hồi từ đầu ra của
lớp đầu tiên tới đầu vào của lớp đầu tiên Việc kết nối kiểu hồi quy cho phép mạng Elman vừa phát hiện vừa tạo ra các mẫu biến đổi theo thời gian
Mạng Elman có nơ ron tansig trong lớp ẩn (lớp hồi quy) và các nơ ron purelin tại lớp ra Sự kết hợp này rất đặc biệt ở chỗ các mạng hai lớp với các hàm truyền này có thể xấp xỉ bất cứ hàm nào với độ chính xác tuỳ ý Chỉ có một yêu cầu duy nhất là lớp ẩn phải có đủ nơ ron Trong mạng có thành phần trễ để chứa dữ liệu từ bước trước, có thể được sử dụng tại bước
hiện thời Vì vậy, mạng có thể học từ các mẫu thời gian cũng như các mẫu không gian
* Phương pháp huấn luyện
Các bước để huấn luyện mạng Elman cụ thể như sau:
- Toàn bộ chuỗi đầu vào được đưa vào mạng, các đầu ra của chúng được tính toán và so sánh với chuỗi mục tiêu để tạo ra chuỗi sai lệch
Hình 1.15: M ạng Elman
Trang 27- Với mỗi bước thời gian, sai lệch được lan truyền ngược để tìm các gradient của sai lệch cho mỗi trọng số và bias Đại lượng gradient này thực chất là một xấp xỉ bởi vì phần đóng góp của các trọng số
và các bias với các sai lệch thông qua kết nối hồi quy có trễ đã bị
Hình 1.16: M ạng Hopfield
Trang 28Mạng nơ ron này có thể được kiểm tra với một hoặc nhiều véc tơ đầu vào Sau khi cho các điều kiện ban đầu, mạng sẽ tạo ra tín hiệu đầu ra, tín hiệu này sẽ được phản hồi về để trở thành tín hiệu vào Quá trình này được lặp đi lặp lại cho đến khi đầu ra ổn định
* Thuật toán huấn luyện mạng
Ta có quan hệ giữa đầu vào và đầu ra của mạng Hopfield như sau:
è ø
,
~ 1
è ø
,
1
w w w
i
i im
Trang 29Cuối cùng, với giá trị gia tăng ( )k
ij
w
D trên ta sẽ thu được sự hiệu chỉnh
wij(k+1) tại bước thứ k + 1 từ các giá trị đã có wij(k) ở ngay bước thứ k trước
đó như sau:
wij k+ = w ij k + Dw ij k (1.32)
1.2.2.5 Mạng Nơ ron động (Dynamic Neural Network)
Mạng nơ ron được chia thành hai nhóm: mạng động và tĩnh Các mạng tĩnh (truyền thẳng) không có chứa các thành phần phản hồi và trễ; đầu ra được tính toán trực tiếp từ đầu vào thông qua các kết nối truyền thẳng Trong mạng nơ ron động, đầu ra không chỉ phụ thuộc vào các đầu vào hiện
tại của mạng mà còn phụ thuộc vào đầu vào, đầu ra hiện tại hoặc trước đó cũng như trạng thái của mạng Mạng động cũng có thể chia thành 2 nhóm: mạng chỉ có kết nối dạng truyền thẳng và mạng có kết nối phản hồi hoặc
hồi quy (như đã trình bày ở mục Mạng hồi quy)
a) Cấu trúc mạng
Cấu trúc của mạng nơ ron động bao gồm nhiều lớp, mỗi lớp được cấu tạo bởi các thành phần sau:
- Bộ ma trận trọng số của lớp đó, có thể được kết nối từ các lớp khác
hoặc từ các đầu vào bên ngoài, cùng với hàm luật trọng số để kết
hợp trọng số của ma trận với đầu vào của nó và đường trễ (tapped delay line TDL)
- Véc tơ bias
- Hàm truyền
Mạng có các đầu vào được nối với các trọng số đặc biệt, gọi là các trọng
số đầu vào, kí hiệu là IWij (trong đó j là kí hiệu số của véc tơ đầu vào đưa vào trọng số, i là kí hiệu số của lớp mà trọng số nối với) Các trọng số nối
Trang 30một lớp với các lớp khác gọi là trọng số lớp LWij (trong đó j là kí hiệu số
của lớp đi vào trọng số, i là kí hiệu số của lớp tại đầu ra của trọng số)
Hình sau mô tả ví dụ cấu trúc của mạng nơ ron động ba lớp Lớp đầu tiên có ba trọng số liên quan: một trọng số đầu vào, một trọng lớp từ lớp
thứ nhất, một trọng số lớp từ lớp thứ ba Hai trọng số lớp đều có thành phần
trễ
Một số cấu trúc mạng nơ ron động tiêu biểu bao gồm:
* Mạng FTDNN (Focused Time-Delay Neural Network)
Hình 1.18: Mạng nơ ron động
Hình 1.19: Mạng FTDNN
Trang 31Đây là mạng Focused Time-Delay, thuộc dạng mạng nơ ron động truyền
thẳng, bao gồm mạng truyền thẳng và có thành phần trễ tại đầu vào Mạng này phù hợp với dự đoán theo thời gian
* Mạng DTDNN (Distributed Tape-Delay Neural Network)
Mạng FTDNN có thành phần trễ nhưng chỉ ở đầu vào của lớp đầu tiên Ta
Trang 32Những mạng nêu trên mới chỉ có các thành phần động tại lớp đầu vào hoặc trong một mạng truyền thẳng Mạng NARX là mạng động kiểu hồi quy, có kết nối phản hồi với một vài lớp trong mạng Mạng này có thể ứng dụng trong dự đoán, lọc phi tuyến hoặc trong mô hình hoá hệ thống động học phi tuyến
b) Phương pháp huấn luyện mạng
Các mạng nơ ron động cũng được huấn luyện theo thuật toán ngược hướng gradient giống như trong các mạng tĩnh Tuy nhiên, cách thức thực
hiện các thuật toán trong mạng nơ ron động thường khác một chút và gradient được tính theo cách phức tạp hơn
Trang 33CHƯƠNG 2 ỨNG DỤNG MẠNG NƠ RON TRONG NHẬN DẠNG HỆ THỐNG
PHI TUYẾN
2.1 GIỚI THIỆU
Việc mô hình hoá, nhận dạng các hệ thống động học tuyến tính và phi tuyến bằng cách sử dụng dữ liệu đo được là một vấn đề quan trọng trong lĩnh vực thiết kế Nhận dạng hệ thống dựa trên phương pháp bình phương cực tiểu có thể được chia làm hai nhóm: nhóm theo cách thức tiền định và nhóm theo cách thức thống kê Những kĩ thuật này được sử dụng để nhận
dạng một vài thông số hệ thống Trong những phương pháp nhận dạng không cần tham số, mạng nơ ron đang là kĩ thuật mới được phát triển Với những tính năng nổi bật như tính song song, khả năng thích nghi, sự ổn định và khả năng di truyền, kĩ thuật này được sử dụng rộng rãi để nhận
dạng các hệ thống phi tuyến
Tuỳ theo từng trường hợp ứng dụng cụ thể, ta sẽ phải lựa chọn cấu trúc mạng nơ ron (số lớp trong mạng, số nơ ron trong mỗi lớp, số khâu trễ trong đường dây trễ) sao cho hợp lý Từ đó, ta sẽ xác định tham số tối ưu cho hệ
thống
Mạng nơ ron dùng để nhận dạng đối tượng động học phi tuyến mà bên trong đối tượng có thể có một số khâu phi tuyến như: khâu có đặc tính phi tuyến dạng hình sin, khâu bão hoà, khâu giới hạn tốc độ, … Để nhận dạng các đối tượng này, ta có thể xây dựng một cấu trúc mạng nơ ron truyền
thẳng gồm 2 lớp, trong đó:
- Các đường dây trễ (TDL) ở đầu vào có ý nghĩa biểu diễn tính chất động học của hệ thống Số khâu trễ trong đường dây trễ sẽ tăng theo số bậc của hệ thống cần được nhận dạng
Trang 34- Lớp thứ nhất (Layer 1) bao gồm S1 nơ ron và có hàm truyền là hàm
‘tansig’ với ý nghĩa biểu diễn tính chất phi tuyến của hệ thống
- Lớp thứ hai (Layer 2) bao gồm 1 nơ ron và có hàm ‘purelin’ với ý nghĩa tổng hợp các tín hiệu từ lớp thứ nhất
- Một đầu vào p(k), qua các khâu trễ vào mạng
- Một đầu ra, đầu ra này được phản hồi vào các mạng qua các khâu trễ
Sơ đồ mô hình mạng nơ ron của đối tượng động học phi tuyến trong trường hợp này có dạng như sau:
Các bước cần thực hiện để nhận dạng một đối tượng động học phi tuyến bao gồm:
- Tạo tín hiệu ngẫu nhiên P
- Xác định đáp ứng đầu ra T của đối tượng với tín hiệu vào đã tạo ở trên
- Tạo mạng nơ ron có cấu trúc hợp lý để nhận dạng đối tượng (xác định cấu trúc mạng nơ ron nhận dạng đối tượng)
- Huấn luyện mạng nơ ron với bộ P, T của đối tượng đã xác định ơ trên (xác định tham số mạng nơ ron nhận dạng đối tượng)
Hình 2.1: C ấu trúc mạng nơ ron mẫu
Trang 35- Kiểm tra phản ứng đầu ra của mạng nơ ron, xác định sai số giữa đầu ra của đối tượng và đầu ra của mạng nhận dạng
2.2 NHẬN DẠNG ĐỐI TƯỢNG ĐỘNG HỌC PHI TUYẾN
2.2.1 Mô tả đối tượng
Xét một đối tượng điều khiển là một cánh tay rô - bốt như hình
Phương trình chuyển động của cánh tay là:
Trang 362.2.2 Nhận dạng đối tượng
Với các thông số cho trên, ta xây dựng sơ đồ Simulink mô tả đối tượng:
Để thực hiện công đoạn nhận dạng cánh tay máy, ta sẽ sử dụng mạng nơ ron theo sơ đồ như hình 2.1 với cấu trúc gồm hai lớp như sau:
- Lớp thứ nhất có 15 nơ ron với hàm truyền là tansig
- Lớp thứ hai có 1 nơ ron với hàm truyền là purelin
Mạng nơ ron mẫu đối tượng có hai giá trị mô men trễ (m = 2) và hai giá trị
vị trí cánh tay trễ (n = 2) tại đầu vào của mạng
Tham số huấn luyện:
Trang 37Hình 2.4: L ưu đồ thuật toán chương trình tạo và huấn luyện mạng nơ ron
Đáp ứng của mạng, sai số giữa đáp ứng
của đối tượng với đáp ứng của mạng
Khai báo mạng (cấu trúc
và tham số W,b ban đầu)
Trang 381) Chương trình tạo bộ mẫu P, T :
-PR = [-10 10]; % range of input signal (amplitude)
StepR = [0.2 2]; % range of duration of a step (sec)
ts = 0.02; % sampling time (sec)
tspan = 100; % time interval of input signal(sec)
Ns=fix(tspan/ts); % Number of samples in P
minStep=fix(StepR(1)/ts); % min number of points in a step
maxStep=fix(StepR(2)/ts); % max number of points in a step
Trang 39P=P';
t=[0:ts:ts*(max(size(P))-1)]';
% +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Khi chạy chương trình, ta sẽ thu được bộ số liệu P, T như sau :
2) Chương trình tạo cấu trúc mạng nơ ron nhận dạng đối tượng