+ Tiến hành thực hiện cho một số dạng quỹ đạo mẫu khác nhau cũng có kết quả tương tự trường hợp trên.
+ Kết quả mô phỏng điều khiển chứng tỏ rằng LRNN với cấu trúc và luật học như đã nêu (hình 2.5) dùng để điều khiển rất tốt các hệ phi tuyến có bậc phi tuyến cao, quỹ đạo chuyển động của hệ bám rất sát quỹ đạo đặt.
32 trang |
Chia sẻ: hao_hao | Lượt xem: 4420 | Lượt tải: 3
Bạn đang xem trước 20 trang tài liệu Bài giảng Mạng nơ ron và ứng dụng trong điều khiển, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương 2: Mạng nơ ron và ứng dụng trong điều khiển
2.1 Cấu trúc và luật học của mạng nơ ron
2.1.1 Mô hình một nơ ron nhân tạo
p1
...
pR
-1
ai
qi yi
Wi1
Wi1
WiR
WiR
...
...
qi
Hỡnh 2.1 Mụ hình nơ ron thứ i.
Mạng nơ ron nhân tạo là dùng kỹ thuật tái tạo lại một vài chức năng tương tự bộ não con người. Việc nghiên cứu ứng dụng mạng nơ ron mở ra một hướng mới trong việc giải quyết các bài toán kỹ thuật và kinh tế, ... Trong bài toán kỹ thuật, mạng nơ ron có thể nhận dạng, điều khiển, nhận mẫu, giải quyết các bài toán tối ưu, ... và tỏ ra rất có hiệu quả.
Mô hình nơ ron nhân tạo cơ bản thứ i trong mạng xây dựng dựa trên cấu trúc của nơ ron sinh học do McCulloch và Pitts đề xuất và được Rosenblatt cải tiến, gọi là perceptron [36], nó có thể có nhiều đầu vào (R đầu vào) và chỉ có một đầu ra (hình 2.1).
Quan hệ giữa đầu ra và các đầu vào của nơ ron thứ i:
yi = ai(qi) = ai(fi(p)), (2.1)
trong đó: p - véc tơ biến đầu vào,
fi - hàm tổng hợp,
ai - hàm chuyển đổi,
yi - biến đầu ra của nơ ron thứ i,
qi = fi(p) = - tổng trọng số,
wij - trọng số liên kết giữa đầu vào thứ j với nơ ron thứ i,
qi - ngưỡng của nơ ron thứ i (hằng số),
Có nhiều dạng hàm tổng hợp fi(.) được dùng như:
. Hàm tổng hợp tuyến tính: (hàm này rất hay được dùng)
fi(p) = , (2.2)
. Hàm bậc hai (Quadratic function):
fi(p) = , (2.3)
. Ngoài ra còn có các hàm hình bán cầu, hàm đa thức, v. v ...
Với mục đích đơn giản, thực tế thường chọn hàm tổng hợp tuyến tính.
Hàm chuyển đổi a(.) cũng có rất nhiều dạng được dùng, ví dụ một vài dạng hàm cơ bản như sau:
. Hàm chuyển đổi tuyến tính (Liner function):
a(q) = q, (2.4)
. Hàm dấu (hàm ngưỡng: threshold function):
a(q) = sgn(q) = (2.5)
. Hàm sigmoid một cực (Unipolar sigmoid function):
a(q) = (2.6)
. Hàm sigmoid hai cực (Bipolar sigmoid function):
a(q) = (2.7)
v. v ...
2.1.2 Mô hình mạng nơ ron nhân tạo
Mô hình mạng nơ ron được hình thành từ việc liên kết các nơ ron với nhau theo một nguyên tắc nào đó. Có rấtnhiều oại mạng và việc phân loại mạng cũng có nhiều cách:
- Theo số lớp: có mạng nơ ron một lớp, mạng nơ ron nhiều lớp.
- Theo cấu trúc liên kết giữa đầu vào và đầu ra: có mạng nơ ron truyền thẳng, mạng nơ ron hồi quy.
- Theo tính chất làm việc: có mạng tĩnh (static network) và mạng động (dynamic network).
v. v ...
TDL
p(t)
q(t)
Hình 2.2 Phần tử TDL
Phần tử gây trễ (TDL: Tapped Delay Line) là phần tử có tín hiệu ra của nó bị trễ một khoảng thời gian so với tín hiệu vào, có hai tham số trễ là thời gian trễ (bước) và bậc trễ. Phần tử này được sử dụng để lấy tín hiệu quá khứ (hình 2.2) và nó là yếu tố để tạo ra các đơn vị nơ ron động lực học (Dynamic Neural Units) và mạng động lực học trong hệ thống rời rạc (mạng động).
Quan hệ vào - ra như sau: q(t) = w.p(t-i.ô), (2.8)
với w là trọng số của TDL, i là bậc trễ, i = 0, 1, ..., n, ô là thời gian trễ một bậc.
Một số liên kết cơ bản của mạng nơ ron được trình bày trên hình 2.3.
Mạng một lớp truyền thẳng (single-layer feedforward network):
Các nơ ron cùng nhận đồng thời tín hiệu vào như nhau và có chức năng giống nhau tạo thành một lớp của mạng nơ ron, số nơ ron trong một lớp chính là số đầu ra của lớp đó. Mạng nơ ron chỉ có một lớp gọi là mạng nơ ron một lớp. Với mạng nơ ron một lớp truyền thẳng (ví dụ có R đầu vào, S đầu ra), ma trận trọng số W sẽ có S hàng, R cột. Trong đó phần tử wij là trọng số liên kết giữa nơ ron thứ i và đầu vào thứ j, có các hàm tổng hợp fi, hàm chuyển đổi ai (các hàm này thường chọn giống nhau cho mỗi lớp: ai = a, fi = f).
Quan hệ vào - ra có dạng sau (hình 2.3a):
y = a(f(x)), (2.9)
trong đó: y = [y1, y2, ..., yS]T là véc tơ biến tín hiệu ra,
x = [x1, x2, ..., xS]T là véc tơ tín hiệu vào.
w1,1
w1,R
w2,R
wS,R
x1
x2
...
xR
y1
y2
...
yS
x1
x2
...
xR
y1
y2
...
yS
Lớp vào Lớp ẩn Lớp ra
a) b)
x1
x2
...
xR
y1
y2
...
yS
x1
x2
...
xR
y1
y2
...
yS
c) d)
y1
y2
...
yS
x1
x2
...
xR
e)
Hình 2.3 Một số dạng liên kết của mạng.
a) mạng một lớp truyền thẳng,
b) mạng nhiều lớp truyền thẳng,
c) nút tự hồi quy,
d) mạng một lớp hồi quy,
e) mạng nhiều lớp hồi quy.
Mạng nhiều lớp truyền thẳng (multi-layers feedforward network):
Gồm nhiều lớp (N lớp) ghép liên tiếp với nhau, đầu ra của lớp này được nối với đầu vào của lớp ngay sau nó.
Lớp đầu tiên là lớp vào (input layer) có R đầu vào, S1 đầu ra.
Lớp cuối cùng là lớp ra (output layer) có SN-1 đầu vào, SN ( gọi tắt là S) đầu ra.
Giữa chúng có thể có một số lớp cũng nối liên tiếp nhau gọi là các lớp ẩn (hidden layers), chúng đóng vai trò trung gian trong mạng, không tiếp xúc trực tiếp với bên ngoài. Mỗi lớp ẩn (ví dụ lớp thứ k) có S k-1 đầu vào, S k đầu ra.
Các nơ ron trong một lớp được nối theo cấu trúc ghép nối hoàn toàn, nghĩa là mỗi nơ ron sẽ được nối với tất cả các tín hiệu vào của lớp đó và các nơ ron trong cùng lớp có cấu trúc liên kết hoàn toàn giống nhau.
Quan hệ vào - ra của mạng có dạng sau (hình 2.3b):
yS = aN(fN(aN-1(...(a1(f1(x)))...))), (2.10)
trong đó: yS = [y1, y2, ..., yS]T là véc tơ biến tín hiệu ra,
ak, fk (k=1, ..., N) hàm kích hoạt và hàm tổng hợp của lớp thứ k.
Mạng nơ ron hồi quy (recurrent network):
Mạng nơ ron hồi quy còn gọi là mạng phản hồi (feedback network), là loại mạng mà tín hiệu ra của nơ ron được phản hồi ngược về làm tín hiệu vào cho các nơ ron lớp trước nó hoặc cùng lớp đó tạo thành các vòng kín (hình 2.3d, e). Tín hiệu phản hồi có thể có phần tử TDL. Loại mạng này sẽ được xem xét kỹ ở phần sau, đó là mạng nơ ron hồi quy cục bộ.
2.1.3 Các luật học
Việc “học” của mạng nơ ron là để tìm được chính xác giá trị ma trận trọng số liên kết W của các nơ ron và xác định được cấu trúc cụ thể của mạng để giải quyết được bài toán cụ thể.
Có hai kiểu học là học cấu trúc và học thông số:
- Học cấu trúc (Structure learning): Xác định cấu trúc của mạng bao gồm số lượng nút (nơ ron) trong mỗi lớp và giá trị của các ma trận trọng số W của mạng (số lớp không thay đổi).
- Học thông số (Parameter learning): Tìm được chính xác giá trị của các ma trận trọng số W ứng với cấu trúc (cố định) của mạng nơ ron đã cho.
Có ba phương pháp học:
. Học có giám sát (Supervised learning): Tín hiệu giám sát là những thông tin mong muốn d được cung cấp từ bên ngoài mà đầu ra y của mạng nơ ron cần phải đạt được (hình 2.4 a).
. Học củng cố (Reinforcement learning): Thông tin cung cấp từ bên ngoài d (tín hiệu củng cố) mang tính định hướng cho quá trình học (cho biết tín hiệu ra của mạng đúng hay sai) (hình 2.4 b).
. Học không giám sát (Unsupervised learning): Quá trình học không có bất kỳ thông tin nào từ bên ngoài để giám sát, đó là quá trình tự cấu trúc của mạng. Mạng phải tự xác định các cặp dữ liệu mẫu (dữ liệu vào, ra), các tính chất, các mối quan hệ để tạo được ma trận W mong muốn (hình 2.4 c).
Dạng chung của luật học thông số là xác định giá trị cần điều chỉnh DWi cho véc tơ trọng số Wi:
Với mạng rời rạc: DWi(t) = h.r.x(t), (2.11)
Trong đó: h là số dương xác định tốc độ học (hằng số học),
r là tín hiệu học, r = fr(Wi, x, di). (2.12)
Lúc đó giá trị véc tơ trọng số tại thời điểm (t+1) là:
Wi(t+1) = Wi(t) + h.fr(Wi, x(t), di).x(t). (2.13)
Với mạng liên tục: h.r.x(t), (2.14)
Có nhiều thuật toán học để xác định DWi(t) được đưa ra. Một trong những thuật toán học có giám sát cho mạng nơ ron được Widrow-Hoff đề nghị là thuật toán “giảm gradient” (gradient descent), sử dụng cực tiểu sai lệch trung bình bình phương bằng việc thêm vào các trọng số liên kết mạng một giá trị theo hướng ngược với hướng tức thời của gradient. Thuật toán sử dụng phương pháp sai lệch trung bình bình phương nhỏ nhất (LMS: Least Mean Squares) hoặc gọi là phương pháp delta.
Hàm chi phí chuẩn sử dụng trong mạng nơ ron, sai lệch trung bình bình phương, của thuật toán này là định nghĩa một hàm đạt cực tiểu E như sau:
E = ® min, (2.15)
x
Khối phát tín
hiệu sai lệch
e
d
y
Mạng nơ ron
W
x
y
Mạng nơ ron
W
Khối phát tín
hiệu nhận xét
e
d
x
y
Mạng nơ ron
W
(a) (c)
(b)
Hình 2.3 Các phương pháp học của NN
(b)
Hình 2.4 Các phương pháp học của mạng nơ ron.
ở đây: dn(k) là đầu ra mong muốn thứ n tại thời điểm t và L là số lớp.
2.1.4 Mạng nơ ron hồi quy cục bộ
LW1,1
IW1,1
IWS1,R
LWS2,S1
y1
y2
...
yS
x1
x2
xR
TDL
IW1,R
IWS1,1
lớp vào các lớp ẩn lớp ra
Hình 2.5 Cấu trúc mạng nơ ron.
TDL
TDL
ở đây chúng ta quan tâm đến mạng nơ ron hồi quy cục bộ (Local Recurrent Neural Networks: LRNN) có cấu trúc như hình 2.5:
Mạng có R tín hiệu vào, S tín hiệu ra và có thể gồm nhiều lớp ẩn (gọi là: lớp vào, các lớp ẩn và lớp ra):
Lớp vào có R tín hiệu vào (véc tơ x),
Lớp ẩn thứ i (i = 1, ..., n-1) có Si nơ ron hồi quy và có lấy tín hiệu quá khứ qua khối trễ TDL,
Lớp ra có Sn nơ ron và truyền thẳng tín hiệu cho S đầu ra (véc tơ y), S=Sn.
Hàm chuyển đổi cho các lớp có thể giống nhau hoặc khác nhau, tuy nhiên nếu hai lớp kề nhau có hàm chuyển đổi tuyến tính thì không cần thiết do có thể thay bằng một lớp tuyến tính để giảm bớt độ phức tạp của mạng khi thiết kế. Hàm tổng hợp cho các lớp là hàm tuyến tính. Hàm truyền của mạng có dạng (2.16):
Lớp ẩn thứ nhất: (2.16a)
...
Lớp ẩn thứ p: (2.16b)
...
Lớp ẩn thứ n (lớp ra): (2.16c)
Trong đó: IW1 ma trận trọng số lớp vào, qi bậc trễ của lớp thứ i, tương ứng ma trận trọng số LjWi, j = 1, 2, ..., qi,
LjWi các ma trận trọng số của lớp ẩn thứ i hồi quy,
LWi ma trận trọng số truyền thẳng.
Nhờ khả năng “học” mà mạng được sử dụng để nhận dạng rất hiệu quả các hệ thống có mức độ phi tuyến cao và sau đó xây dựng các luật thích hợp để điều khiển hệ thống theo ý muốn.
Thuật toán học của LRNN là thuật toán “giảm gradient” còn gọi là phương pháp delta, là phương pháp ứng dụng cho mạng một lớp, được mở rộng bằng cách thêm hằng số động lượng (momentum) và tổng quát hoá bằng cách sử dụng lan truyền ngược sai lệch (backpropagation) để ứng dụng cho mạng nhiều lớp và mạng hồi quy (Gradient Descent with Momentum Backpropagation: GDMB).
Thuật toán học “giảm gradient” (GDMB) ứng dụng rất tốt cho mạng nơ ron để giải quyết nhiều bài toán thực tế kỹ thuật, nhất là các bài toán nhận dạng và điều khiển hệ thống với thông số chưa biết.
Với thuật toán này, giá trị DWi(t) có thể xác định theo (2.17),
DWi(t) = mc.DWi(t-1) + (1-mc).h. fr(Wi, x, di).x(t), (2.17)
trong đó: mc (momentum constant) là hằng số động lượng, (0 < mc < 1).
Sự ổn định của phương pháp lan truyền ngược sai lệch được bảo đảm bằng định lý sau:
Định lý ổn định của luật học RBP:
Nếu giả thiết mạng nơ ron lan truyền ngược hồi quy (mạng RBP: Recurrent Back-Propagation) với phương trình mô tả:
= -yi + (2.18a)
sẽ tồn tại trạng thái ổn định:
yi = a(hi) = , (2.18b)
thoả mãn , thì mạng lan truyền ngược sai lệch (mạng EBP: Error Back-Propagation) tương ứng của nó mô tả theo phương trình:
(2.19a)
cũng có trạng thái ổn định như mô tả:
. (2.19b)
Nói cách khác, nếu phương trình (2.18b) là trạng thái ổn định của (2.18a), thì phương trình (2.19b) là trạng thái ổn định của (2.19a).
Chứng minh: xem [36]
Để tìm hiểu thuật toán học chi tiết, ta xét một nơ ron thứ i trong lớp ẩn thứ p từ (2.16b) bỏ qua chỉ số i và ký hiệu L cho đơn giản như hình 2.6:
. (2.20)
Tham số của vế phải gồm ba thành phần là ngưỡng qp và
Xp(k) = đóng vai trò tín hiệu vào từ lớp p - 1,
Xpph(k)=đóng vai trò tín hiệu phản hồi về từ lớp p,
jW
S
a(.)
Wi
qp
Yp-1(k)
Xp(k)
Xpph(k)
n(k)
Yp(k)
Hình 2.6 Một nơ ron hồi quy.
Mục tiêu của mạng học là điều chỉnh W, jW và qp sao cho hàm chi phí E theo (2.15) đạt giá trị nhỏ nhất. Từ (2.20) để đơn giản, chỉ xét truyền ngược của tín hiệu Xp và qp thì Yp(k) sẽ có dạng như (2.21):
. (2.21)
Lấy đạo hàm riêng của E (2.15) theo W và qp và hiệu chỉnh trọng số và ngưỡng tại bước lặp thứ k + 1 theo công thức sau:
, (2.22)
, (2.23)
ở đây E là hàm gián tiếp của các trọng số, do đó sử dụng luật dây chuyền thông qua biến trung gian n dạng:
. (2.24)
Để tính đạo hàm riêng của E trong (2.22) và (2.23), tín hiệu ra của nơ ron thứ i trong lớp p được tính theo công thức:
nip = + qip , (2.25)
trong đó: và .
Từ đó ta có:, (2.26)
. (2.27)
Đặt là độ nhạy (sensitivity) của hàm E đối với sự biến đổi của tín hiệu vào n của nơ ron thứ i trong lớp thứ p (hình 2.6).
Khi đó các công thức (2.22) và (2.23) sẽ là:
, (2.28)
. (2.29)
Ký hiệu ma trận độ nhạy của lớp thứ p:
Sp = . (2.30)
Và dạng ma trận của (2.28) và (2.29) sẽ là:
Wp(k+1) = Wp(k) - h.Sp.(yp-1)T, (2.31)
qp(k+1) = qp(k) - h.Sp, (2.32)
trong đó yp-1 là ma trận tín hiệu ra của lớp p-1.
Lúc này bài toán tính đạo hàm riêng của hàm E chuyển thành bài toán tính độ nhạy. Thuật toán học lan truyền ngược liên quan đến bài toán này. Độ nhạy của lớp p sẽ được tính toán từ độ nhạy của lớp p+1 đã được tính trước đó.
Từ biến đổi:
, (2.33)
tín hiệu ra của nơ ron thứ j lớp p theo hàm chuyển đổi a của biến vào n:
yjp = ap(njp). (2.34)
Thay vào ma trận Jacobi (2.33) ta được:
(2.35)
và viết dưới dạng ma trận:
, (2.36)
với ký hiệu các ma trận:
(2.37)
và . (2.38)
Sử dụng luật dây chuyền:
sp = (2.39)
là công thức thể hiện sự lan truyền ngược độ nhạy. Và độ nhạy ban đầu tại nơ ron thứ i của lớp ra sS:
siS = , (2.40)
với yi là tín hiệu ra của nơ ron lớp S:
. (2.41)
Thay vào (2.39) ta được:
siS = -(di - yi)a’S(niS). (2.42a)
Dạng ma trận của sS sẽ là:
SS = -A’S(nS)(d-y). (2.42b)
Quá trình học của tín hiệu Xpph cũng tương tự tín hiệu Xp ở trên, chỉ thay tín hiệu Yp(k) bằng Yp(k-jj) với jj = 1, ..., qi ; qi là bậc trễ.
Các bước thực hiện thuật toán học:
Bước 1: Cung cấp tập dữ liệu dạy gồm k cặp mẫu tín hiệu vào và kết quả ra, tức là tập {(Pk, yk)}.
Bước 2: Chọn các giá trị ban đầu bất kỳ cho các ma trận trọng số và véc tơ ngưỡng của mạng, chọn h, mc.
Bước 3: Lần lượt cho các mẫu Pk lan truyền qua mạng từ lớp vào đến lớp ra. Tính toán tín hiệu ra yp cho từng lớp theo trình tự:
y0 = Pk,
...
yp theo (2.20), p = 0, 1, ..., S-1: chỉ số lớp,
y = yS (tín hiệu ra của mạng),
Bước 4: Tính độ nhạy lớp ra SS theo (2.42b),
Bước 5: Dùng công thức lan truyền ngược độ nhạy (2.39) để tính các Sp,
Bước 6: Từ các Sp tính toán được, hiệu chỉnh các ma trận trọng số và véc tơ ngưỡng của từng lớp,
Bước 7: Lặp lại quá trình (từ bước 3) với các dữ liệu dạy khác cho đến khi hết tập dữ liệu dạy. (gọi là một lần lặp: epoch),
Quá trình lặp trên (từ bước 3 đến bước 7) được thực hiện cho đến khi sai số đầu ra đạt đến giá trị chấp nhận được.
Sự hội tụ và tốc độ hội tụ của mạng được bảo đảm do thuật toán “giảm gradient”, phụ thuộc vào việc chọn hằng số h, hằng số mc và các ma trận trọng số khởi đầu ngẫu nhiên.
Mạng nơ ron hồi quy cục bộ làm đơn giản các thuật toán dạy. Mặt khác, khả năng mô hình hoá đầy đủ của mỗi nơ ron cho phép kích thước toàn bộ của mạng là nhỏ nhất. Như vậy, LRNN có ưu thế rộng hơn, nó đủ nhận dạng hệ thống và điều khiển các hệ thống phi tuyến.
Bài toán điều khiển hệ động lực học phi tuyến ở đây sử dụng phương pháp điều khiển thích nghi theo mô hình mẫu (MRAC) dựa trên cơ sở định lý Stone - Weierstrass [39] và phép đo các cặp tín hiệu vào - ra của hệ thống cần điều khiển và của mô hình mẫu. Sau đây lần lượt nghiên cứu các vấn đề nhận dạng và điều khiển hệ thống động lực học phi tuyến ứng dụng mạng nơ ron hồi quy cục bộ.
2.2 Vấn đề nhận dạng hệ thống dùng mạng nơ ron
2.2.1 Phương trình trạng thái của hệ
Từ phương trình không gian trạng thái của hệ m bậc tự do ở dạng vi phân: (2.43)
trong đó: u(t) = [u1(t), u2(t), ...,up(t)]T là p biến tín hiệu vào,
x(t) = [x1(t), x2(t), ...,xn(t)]T là n biến trạng thái,
y(t) = [y1(t), y2(t), ...,ym(t)]T là m biến tín hiệu ra.
Với yêu cầu thoả mãn điều kiện ổn định, điều khiển được, quan sát được.
Nếu u(t), x(t), y(t) là các biến dạng rời rạc thì phương trình (2.43) có thể viết như sau:
(2.44)
Với hệ tuyến tính:
(2.45)
trong đó : F ma trận phi tuyến bậc (nxp), Y véc tơ phi tuyến bậc m,
A, B, C các ma trận tuyến tính bậc (nxn), (nxp), (mxn).
. Với các hệ tuyến tính, phương trình (2.45) theo [39] với tín hiệu ra yp(k+1) là tổng hợp giá trị quá khứ của các tín hiệu vào u(k-j) và tín hiệu ra yp(k-j) được viết dạng:
yp(k+1) = , (2.46)
trong đó: ai, bj các hệ số chưa biết (m £ n).
. Với các hệ phi tuyến phương trình (2.44) có thể viết dạng sau:
y(k+1) = f. (2.47)
ở đây f(.) là hàm phi tuyến của y(k) và u(k). Phương trình (2.47) theo [39] có bốn dạng biểu diễn cụ thể hơn (m £ n):
Dạng 1: (2.48)
yp(k+1) = + g[u(k), u(k-1), ..., u(k-m+1)],
Dạng 2: (2.49)
yp(k+1) = f[yp(k), yp(k-1), ..., yp(k-n+1)] ,
Dạng 3: (2.50)
yp(k+1) = f[yp(k), yp(k-1), ..., yp(k-n+1)]
+ g[u(k), u(k-1), ..., u(k-m+1)],
Dạng 4: (2.51)
yp(k+1) =
f[yp (k), yp (k-1), ..., yp (k-n+1), u(k), u(k-1), ..., u(k-m+1)],
trong đó: u(k),yp(k) là cặp tín hiệu vào ra của hệ thống tại thời điểm k.
Bài toán nhận dạng hệ thống theo mô hình mẫu gồm hai thành phần chính là lựa chọn mô hình nhận dạng và phương pháp hiệu chỉnh các tham số dựa trên cơ sở sai lệch e(k) giữa tín hiệu ra của mô hình và tín hiệu ra của hệ thống cần nhận dạng.
Mạng nơ ron có thể nhận dạng được hệ thống với bậc phi tuyến bất kỳ. Có nhiều mô hình cơ bản nhận dạng hệ thống dùng mạng nơ ron, vấn đề là các ma trận trọng số của mạng được chọn sao cho cùng một điều kiện khởi tạo ban đầu, cả hệ thống và mạng có đầu ra như nhau với mọi đầu vào hợp lệ. Sau đây sẽ phân tích một số mô hình nhận dạng tiêu biểu.
2.2.2 Mô hình nhận dạng đảo
Hệ thống
Mạng nơ ron
yp(k)
u(k)
+
-
(k)
Hình 2.7 Mô hình nhận dạng đảo hệ thống.
TDL
Tín hiệu vào của mạng là tín hiệu ra của hệ thống, tín hiệu ra của mạng được so sánh với tín hiệu vào của hệ thống (tín hiệu đặt) và sai lệch sử dụng làm tín hiệu để luyện mạng (hình 2.7).
Nhược điểm của mô hình là: cần xác lập mô hình đảo hợp lý và đặc biệt với hệ phi tuyến thì có thể có trường hợp là nhiều giá trị đầu vào của hệ thống cùng tạo ra một giá trị đầu ra của mạng như nhau thì mô hình nhận dạng lúc này không phải là mô hình đảo.
2.2.3 Mô hình nhận dạng song song
Tín hiệu vào của hệ thống đồng thời là tín hiệu vào của mạng, tín hiệu ra của mạng được so sánh với tín hiệu ra của hệ thống và sai lệch e sử dụng làm tín hiệu để luyện mạng (mạng nối song song với hệ thống như hình 2.8).
Với hệ tuyến tính phương trình (2.46) được viết cho mô hình nhận dạng song song như sau: , (2.52)
trong đó: là các tham số nhận dạng, là tín hiệu ra nhận dạng và u(k) là tín hiệu vào.
Với sai lệch = yp(k) -
Hệ thống
Mạng nơ ron
yp(k)
u(k)
+
-
(k)
Hình 2.8 Mô hình nhận dạng song song.
TDL
Với giả thiết hệ thống là ổn định BIBO trong không gian vào, như vậy các tín hiệu vào, ra của hệ thống đều có biên cố định.
Nhược điểm ở đây là: tính ổn định của mô hình nhận dạng song song có thể không bảo đảm nghĩa là mô hình không đảm bảo tính tương đương với hệ thống và như vậy không thể bảo đảm được các tham số nhận dạng sẽ hội tụ đến giá trị thực hoặc sai lệch đầu ra sẽ giảm dần đến không.
2.2.4 Mô hình nhận dạng nối tiếp - song song
ở đây mạch phản hồi được sử dụng là tín hiệu ra của hệ thống mà không lấy tín hiệu ra của mạng.
Phương trình (2.46) cho mô hình nhận dạng nối tiếp-song song như sau:
, (2.53)
trong đó: yp(k) là tín hiệu ra của hệ thống cần nhận dạng.
Với các hệ thống phi tuyến, đã có các hệ phương trình mô tả từ (2.48) đến (2.51). Ví dụ dạng (2.51) biểu diễn như hình 2.9 với các tín hiệu quá khứ nhận được nhờ khối trễ TDL.
Mô hình nối tiếp - song song có ưu điểm so với mô hình song song:
TDL
Hệ thống
Mạng nơ ron
yp(k)
+
- yN(k)
(k)
Hình 2.9 Mô hình nhận dạng nối tiếp-song song.
TDL
u(k)
TDL
yN(k+1)
(k)
Khi hệ thống được giả thiết là ổn định BIBO, tất cả các tín hiệu nhận dạng (tín hiệu vào của mạng nhận dạng) sẽ có biên, như vậy giả sử khi không có vòng lặp phản hồi trên hệ thống, quá trình truyền ngược tĩnh có thể được sử dụng để hiệu chỉnh các tham số, làm giảm được chi phí quá trình tính toán thực. Mặt khác, giả sử sai lệch đầu ra tiến đến một giá trị rất nhỏ, mô hình nối tiếp-song song có thể được thay thế bằng mô hình song song. Mô hình nhận dạng nối tiếp-song song này là nội dung nghiên cứu ứng dụng của luận án.
2.2.5 Ví dụ nhận dạng hệ thống dùng mạng nơ ron
2.2.5.1 Mô hình mô phỏng
Xét một cơ cấu tay Robot 2 thanh được truyền động bởi động cơ một chiều (hình 2.10). Động cơ một chiều được cấp điện từ một bộ khuyếch đại điện áp. Các số liệu tay robot cho trong bảng 2.1.
Từ các số liệu và theo (1.1), bỏ qua ảnh hưởng của ma sát, biến đổi và rút gọn thu được:
x
y
z
l1
lg1
J1
m1
m2
J2
x2
y2
l2
lg2
q1
q2
Hình 2.10 Cơ cấu robot hai khâu.
y
x
Bảng 2.1
1
(m)
m
(kg)
J
(Kgm2)
lg
(m)
KM
(Nm/A)
R
(W)
MMAX
(Nm)
Khớp 1
0,4
21,8
0,728
0,2
0,1
0,3
1
Khớp 2
0,25
15
0,196
0,125
0,1
0,3
0,3
, (2.54)
Trong đó: C12 = cos(+), S12 = sin(+),
C1 = cos,S1 = sin, C2 = cos, S2 = sin,
A12 = A21 = ,
A22 =, H = ,
g1 = ,
g2 = , mt : khối lượng tải robot (kg).
Từ hệ phương trình động lực học (2.54) tìm được hệ phương trình trạng thái của robot như (2.55):
(2.55)
trong đó: đặt M,(2.56)
X1 =, X2 =, (2.57)
Hệ phương trình trạng thái robot (2.55) là hệ phương trình động lực học phi tuyến, ngoài sự phi tuyến riêng của mỗi chuyển động còn có sự ảnh hưởng lẫn nhau giữa các chuyển động và giữa các đạo hàm của chuyển động. Sơ đồ khối của hệ điều khiển robot được xây dựng như hình 2.11.
Sử dụng mạng nơ ron hồi quy cục bộ như hình 2.5 để nhận dạng hệ thống đã mô tả ở trên theo mô hình nối tiếp - song song (hình 2.9). Cấu trúc của mạng có ba lớp, số nơ ron trong mỗi lớp sẽ được xác định cụ thể. Đối tượng phi tuyến chưa biết được nhận dạng theo (2.51). Tín hiệu vào của mạng gồm: tín hiệu u(k) giống như tín hiệu vào hệ thống và các tín hiệu quá khứ u(k-1), u(k-2), ... cùng với các tín hiệu ra quá khứ của hệ thống yp(k), yp(k-1), ... luyện mạng sao cho tín hiệu ra của mạng giống với yp(k+1) của hệ thống tức là bảo đảm sai lệch nhận dạng (k+1) = 0.
Việc dạy mạng được tiến hành với 3142 mẫu học từ mô hình hệ thống, cập nhật trọng số theo thuật toán “giảm gradient” có cải tiến GDMB.
Hình 2.11 Sơ đồ khối bộ điều khiển robot hai khâu
Trên hình 2.11, Mh 2 DC : là hệ truyền động Tiristor-Động cơ được tổng hợp theo tiêu chuẩn mô đun tối ưu [10],
Mh Robot: là mô hình động lực học của robot mô tả bởi (2.55),
Bo DK : là bộ điều khiển mạng nơ ron hoặc bộ điều khiển PID kinh điển để lấy tín hiệu so sánh,
Mh 2DC và Mh Robot tạo thành một cấu trúc khối được sử dụng để lấy tín hiệu vào - ra cho mạng nơ ron học nhận dạng.
Quá trình luyện mạng gồm các bước sau:
Bước 1: Chọn số nơ ron trong lớp ẩn Sj, việc chọn Sj phụ thuộc vào cấu trúc mạng, số biến tín hiệu vào N và mức độ phi tuyến của hệ thống, ban đầu theo [36] có thể chọn Sj = N.(N-1), chọn giá trị sai lệch đầu ra cho phép eM.
Bước 2: Luyện mạng học theo thuật toán học ở mục 2.1.4.
Bước 3: Ghi lại các kết quả gồm Sj, eM, giá trị các ma trận trọng số và véc tơ ngưỡng, ... của mạng đã học được.
Bước 4: Chọn lại (tăng) số nơ ron lớp ẩn Sj và thực hiện lại từ bước 2.
Quá trình luyện mạng trên thực hiện cho đến khi giá trị các phần tử của các ma trận trọng số hoặc của véc tơ ngưỡng quá nhỏ (so với eM).
Bước 5: Từ các kết quả huấn luyện mạng đưa ra các nhận xét.
Hình 2.12 Cấu trúc mạng nhận dạng.
Sau khi dạy mạng, tiến hành kiểm tra mạng đã học bằng cách cho tín hiệu điều khiển các trục vào hệ thống qua bộ điều khiển PID, đo tín hiệu vào và ra của hệ thống. Cho tín hiệu vào này qua mạng để lấy tín hiệu ra của mạng, so sánh với tín hiệu ra của hệ thống và vẽ các đồ thị cần thiết. Cấu trúc mạng như hình 2.12.
Kết quả mô phỏng trên máy tính viết bằng ngôn ngữ MATLAB, cho trường hợp tín hiệu vào (tín hiệu mẫu) có dạng hình sin, như hình 2.13. Chương trình thiết kế mạng nhận dạng, cấu trúc bên trong (các lớp) của mạng nhận dạng và giá trị các ma trận trọng số, véc tơ ngưỡng ở phần phụ lục.
Hình 2.13a) lớp ẩn có 15 nơ ron
b) lớp ẩn có 21 nơ ron
Hình 2.13. Kết quả nhận dạng.
c) lớp ẩn có 29 nơ ron
2.2.5.2 Nhận xét kết quả mô phỏng nhận dạng
Từ các kết quả mô phỏng cho thấy:
+ Sai lệch góc quay của các động cơ và của mạng khi nhận dạng là rất nhỏ (0,2.10-4) như hình 2.13:
- Sử dụng mạng ba lớp 4x21x2 có sai lệch nhỏ (hình 2.13b) so với mạng 4x15x2 (hình 2.13a) có số nơ ron lớp ẩn nhỏ hơn.
- Khi mạng có số nơ ron lớp ẩn lớn hơn 4x29x2 (hình 2.13c), sai lệch cũng nhỏ hơn không nhiều so với hình 2.13b, mặt khác mạng học rất chậm và có nhiều phần tử trong các ma trận trọng số có giá trị quá nhỏ và xấp xỉ nhau, điều này sẽ gây lãng phí không cần thiết.
+ Việc xác định được hợp lý số nơ ron trong mỗi lớp, số lớp của mạng sẽ làm cho kết quả nhận dạng chính xác hơn và tốc độ học của mạng cũng được cải thiện. Trường hợp hệ thống robot đang xét có quán tính lớn, mức độ phi tuyến cao, luận án chọn mạng nhận dạng có ba lớp, lớp ẩn có 21 nơ ron.
+ Tiến hành thực hiện cho một số dạng quỹ đạo mẫu khác cũng có kết quả tương tự trường hợp trên.
+ Kết quả mô phỏng nhận dạng chứng tỏ rằng LRNN với cấu trúc và luật học như đã nêu sử dụng để nhận dạng được các hệ thống động lực học phi tuyến có nhiều thành phần chuyển động và có mức độ phi tuyến lớn lớn.
2.3 Vấn đề điều khiển hệ thống dùng mạng nơ ron
Hệ động lực học phi tuyến có nhiều chuyển động thành phần là hệ có tính phi tuyến cao, ngoài ra do có nhiều chuyển động thành phần nên sai lệch chuyển động của các thành phần được tích luỹ lại, các thành phần khi chuyển động cũng sẽ có ảnh hưởng lẫn nhau và làm cho độ chính xác điều khiển sẽ giảm đi rất nhiều. Do đó bộ điều khiển mạng nơ ron với những ưu thế đặc biệt của nó cần phải giải quyết được các vấn đề này.
Bài toán điều khiển hệ động lực học phi tuyến cũng gồm hai thành phần chính là xác định cấu trúc bộ điều khiển và tính toán hiệu chỉnh các tham số của nó để tạo được tín hiệu đầu ra hệ thống bám theo được tín hiệu mong muốn (tín hiệu mẫu). Có hai phương pháp tiếp cận điều khiển hệ thống sử dụng MạNG Nơ RON là điều khiển thích nghi trực tiếp và điều khiển thích nghi gián tiếp.
2.3.1 Điều khiển thích nghi trực tiếp
Hệ thống
Mạng nơ ron
yp(k)
u(k)
Hình 2.14 Mô hình điều khiển trực tiếp.
+
- yM(k)
(k)
TDL
TDL
Mô hình mẫu
r(k)
ym(k)
Sơ đồ nguyên lý điều khiển như hình 2.14.
Tín hiệu vào của mạng gồm tín hiệu đặt, tín hiệu vào điều khiển hệ thống (các tín hiệu quá khứ lấy qua khối TDL với bậc tuỳ ý), tín hiệu ra của hệ thống (kể cả các tín hiệu quá khứ) và sai lệch e(k). Tín hiệu ra của mạng được so sánh với tín hiệu mong muốn (tín hiệu mẫu). Các tham số của bộ điều khiển (các ma trận trọng số và véc tơ ngưỡng của mạng nơ ron) được hiệu chỉnh trực tiếp để giảm sai lệch tín hiệu đầu ra giữa hệ thống yp(k) và mô hình ym(k):
e(k) = yp(k) - ym(k) (2.58)
Ưu điểm của phương pháp là do mạng được học trước khi điều khiển nên không hạn chế về thời gian học, có thể chọn cấu trúc mạng (số lớp nơ ron, số nơ ron trong mỗi lớp và bậc trễ) hợp lý để điều khiển hệ thống đạt được độ chính xác cao hơn nếu hệ thống được nhận dạng tốt. Vấn đề quan trọng là bộ dữ liệu học cho mạng phải bao hàm thật đầy đủ các thông tin của hệ thống trong toàn bộ vùng làm việc.
2.3.2 Điều khiển thích nghi gián tiếp
Trong phương pháp này, các tham số của hệ thống p(k) tại thời điểm k được nhận dạng là các phần tử của véc tơ (k) bởi mô hình nhận dạng (mạng nơ ron2) và véc tơ tham số của hệ thống p(k) được chọn với giả thiết (k) là giá trị đúng của p(k). Từ đó các tham số (các ma trận trọng số và véc tơ ngưỡng) của bộ điều khiển mạng (mạng nơ ron1) được hiệu chỉnh.
Sơ đồ nguyên lý điều khiển như hình 2.15.
(k)
Mô hình mẫu
- yM(k)
Hệ thống
Mạng nơ ron1
yp(k)
u(k)
Hình 2.15 Mô hình điều khiển gián tiếp.
+
TDL
TDL
r(k)
ym(k)
Mạng nơ ron2
TDL
TDL
2(k)
- yM(k)
(p) +
Ưu điểm của phương pháp là các tham số của mạng được hiệu chỉnh từ các tín hiệu của hệ thống và mô hình, do đó trong quá trình điều khiển, mạng có thể học bổ sung các thông tin chưa được học trước đó của hệ thống.
Nhược điểm là cấu trúc mạng phải đơn giản bởi vì nếu mạng có cấu trúc phức tạp (nhiều lớp, số nơ ron trong mỗi lớp lớn, bậc trễ lớn, ...) mạng sẽ học rất chậm, do đó có thể không đáp ứng được yêu cầu điều khiển cho một số hệ thống có đáp ứng đủ nhanh.
2.3.3 Điều khiển mờ thích nghi đón đầu trước một bước
Phương pháp này dùng mạng nơ ron hoặc hệ thống mờ nơ ron theo mô hình điều khiển trực tiếp hoặc gián tiếp. Đó là quá trình hiệu chỉnh cấu trúc và thông số của bộ điều khiển mạng nơ ron để tạo tín hiệu điều khiển u(k) (đón đầu) làm cực tiểu hàm hoá hàm sai lệch e(k+1) = ym(k+1) - yp(k+1).
Phương pháp điều khiển “đón đầu trước một bước” được thể hiện qua việc học của mạng nơ ron, mạng được học trong từng chu kỳ cắt mẫu T (thứ k) bằng cách chia chu kỳ cắt mẫu T thành nhiều khoảng nhỏ (p khoảng): t/T Î [0; 1], cho các tín hiệu vào điều khiển u(k, i), (với i = 1 ¸ p để chỉ từng bước tính toán trong chu kỳ cắt mẫu T) sử dụng các tín hiệu ra được đo yp(k+1, i) và các tín hiệu trễ của mạng nhận dạng yN(k), yN(k-1), ... để hiệu chỉnh các trọng số và cấu trúc của mạng làm cực tiểu hoá hàm sai lệch e(k+1, i) = ym(k+1, i) - yp(k+1, i). Theo (2.51) ta có:
yp(k+1, i) = f(yp(k-n+1), ..., yp(k), u(k-m+1), ..., u(k, i)). (2.59)
Tại i = p ta được luật điều khiển u(k) = u(k, p) được xác định trước (đón đầu), tương ứng với tín hiệu ra của mạng yN(k+1, p) = yN(k+1) và tín hiệu ra của hệ thống yp(k+1, p) = yp(k+1).
Ưu điểm của phương pháp là bộ điều khiển tương đối đơn giản, đảm bảo tính ổn định của hệ thống kín.
Nhược điểm là với các hệ thống phi tuyến lớn, bộ điều khiển sẽ trở nên phức tạp hơn và độ chính xác điều khiển không cao.
2.3.4 Ví dụ điều khiển hệ thống dùng mạng nơ ron
2.3.4.1 Mô hình mô phỏng
Xét bài toán điều khiển robot hai thanh có các số liệu như bảng 2.1. Sau khi mô hình đã được nhận dạng, dùng mạng nơ ron và phương pháp điều khiển trực tiếp theo mô hình mẫu (MRAC) [10] như hình 2.14. Mô hình mẫu cần đảm bảo tính liên tục (có đạo hàm đến cấp cần thiết), ổn định BIBO và nằm trong phạm vi làm việc của hệ thống.
Mạng nơ ron điều khiển được thiết kế để thay thế bộ điều khiển PID kinh điển và bù thêm vào các tham số nhằm cực tiểu hoá sai lệch giữa tín hiệu ra hệ thống và tín hiệu mẫu làm cho hệ thống bám được theo mô hình mẫu.
Dùng phương pháp học có giám sát và luật cập nhật ma trận trọng số theo (2.19). Tín hiệu vào của mạng bao gồm tín hiệu đặt r, các giá trị (kể cả giá trị quá khứ) của đầu ra của hệ thống yP(k), yP(k-1), ..., tín hiệu ra của mạng được so sánh với tín hiệu vào (quy luật) điều khiển hệ thống yP(k+1) đảm bảo sai lệch đầu ra e(k+1) = 0. Mạng nơ ron được sử dụng là mạng hồi quy cục bộ có ba lớp như hình 2.5.
Việc dạy mạng điều khiển được tiến hành với 3142 mẫu học từ mô hình hệ thống, cập nhật trọng số theo thuật toán “giảm gradient” có cải tiến.
Quá trình luyện mạng được thực hiện tương tự mục 2.2.5.
Hình 2.16 Cấu trúc mạng điều khiển.
Sau khi mạng được huấn luyện, tiến hành kiểm tra bằng cách sử dụng mạng thay cho bộ điều khiển PID. Cho tín hiệu điều khiển vào hệ thống (tín hiệu mẫu), đo tín hiệu ra của hệ thống và so sánh với tính hiệu mẫu và vẽ các đồ thị cần thiết. Cấu trúc mạng như hình 2.16. Kết quả mô phỏng viết bằng ngôn ngữ MATLAB khi quỹ đạo chuyển động các trục (mẫu) dạng hình sin như hình 2.17. Chương trình thiết kế mạng, cấu trúc bên trong của mạng điều khiển và giá trị các ma trận trọng số, véc tơ ngưỡng ở phần phụ lục.
Hình 2.17b) lớp ẩn có 30 nơ ron
Hình 2.17a) lớp ẩn có 25 nơ ron
c) lớp ẩn có 34 nơ ron
Hình 2.17 Kết quả điều khiển.
2.3.4.2 Nhận xét kết quả mô phỏng
Từ các kết quả mô phỏng cho thấy:
+ Sai lệch giữa quỹ đạo chuyển động thực và quỹ đạo mẫu khi điều khiển là rất nhỏ (xấp xỉ 10-4) như hình 2.17b.
- Sử dụng mạng ba lớp 4x30x4 có sai lệch nhỏ (hình 2.17b) so với mạng 4x25x4 (hình 2.17a) có số nơ ron lớp ẩn nhỏ hơn.
- Khi mạng có số nơ ron lớp ẩn lớn hơn 4x34x4 (hình 2.17c), sai lệch cũng nhỏ hơn không nhiều so với hình 2.17b, mặt khác mạng học rất chậm và có nhiều phần tử trong các ma trận trọng số có giá trị quá nhỏ và gần giống nhau, sẽ gây lãng phí không cần thiết.
+ Việc xác định được hợp lý số nơ ron trong mỗi lớp, số lớp của mạng sẽ làm cho kết quả điều khiển được chính xác hơn và tốc độ học của mạng cũng được cải thiện đáng kể. Trường hợp hệ thống robot mô tả như trên có mức độ phi tuyến lớn, luận án chọn mạng điều khiển có ba lớp, lớp ẩn có 30 nơ ron.
+ Tiến hành thực hiện cho một số dạng quỹ đạo mẫu khác nhau cũng có kết quả tương tự trường hợp trên.
+ Kết quả mô phỏng điều khiển chứng tỏ rằng LRNN với cấu trúc và luật học như đã nêu (hình 2.5) dùng để điều khiển rất tốt các hệ phi tuyến có bậc phi tuyến cao, quỹ đạo chuyển động của hệ bám rất sát quỹ đạo đặt.
2.4 Kết luận chương 2
1. Sử dụng mạng nơ ron hồi quy cục bộ để nhận dạng hệ thống phi tuyến theo mô hình nhận dạng nối tiếp - song song với luật học “giảm gradient” có cải tiến là hợp lý. Kết quả mô phỏng cho thấy mạng nhận dạng hệ thống có mức độ phi tuyến lớn với sai lệch tín hiệu ra rất nhỏ.
2. Điều khiển hệ thống phi tuyến có nhiều chuyển động thành phần với việc ứng dụng mạng nơ ron cho điều khiển thích nghi theo mô hình mẫu là hướng đi đúng đắn. Kết quả mô phỏng thể hiện quỹ đạo chuyển động của các khớp bám rất tốt theo quỹ đạo mẫu với độ chính xác cao.
3. Khi sử dụng mạng nơ ron hồi quy cục bộ để nhận dạng và điều khiển, việc lựa chọn được số lớp nơ ron và số nơ ron trong mỗi lớp của mạng để đạt được kết quả mong muốn là vấn đề rất quan trọng. Khi chưa có phương pháp tính toán đầy đủ và chặt chẽ, ta có thể mô phỏng trên máy tính với phần mềm Toolbox - Neural networks - MATLAB để kiểm tra mô phỏng, sau đó hiệu chỉnh dần trên thiết bị thực tế.
Các file đính kèm theo tài liệu này:
- Hướng dẫn sử dụng Matlab.doc