Tải bản đầy đủ (.pdf) (88 trang)

ứng dụng mạng nơ ron giải bài toán động học ngược cho tay máy

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.55 MB, 88 trang )

Chương 1

1.1 Đặt vấn đề
Ngày nay, với sự phát triển mạnh mẽ của khoa học kỹ thuật, các nước trên
thế giới đã và đang đẩy mạnh sự nghiệp công nghiệp hóa và hiện đại hóa vào trong
quá trình sản xuất nhằm nâng cao năng suất, chất lượng, giảm giá thành sản phẩm
và giảm thiểu sức lao động của con người. Đặc biệt là trong các môi trường nặng
nhọc, nguy hiểm như: sự nóng bức tại các lò hơi, sự lây lan của các bệnh hiểm
nghèo tại các cơ sở y tế, sự ô nhiễm không khí ở các hầm mỏ, sự nguy hiểm ở duới
đáy đại dương và trên không gian vũ trụ… Để đáp ứng được những vấn đề trên, các
nước có nền sản xuất phát triển đã đưa các robot công nghiệp vào các dây chuyền
sản xuất của mình.
Robot ngày càng được nâng cao về tính năng cũng như lĩnh vực hoạt động.
Chúng trở nên thông minh hơn, linh hoạt hơn, chính xác hơn và đáp ứng nhanh hơn.
Vì vậy để có thể khai thác, sử dụng một cách hiệu quả các robot đã được trang bị,
cũng như để có thể tiến hành nghiên cứu, chế tạo các robot mới đáp ứng được nhu
cầu đòi hỏi ngày càng cao của nền công nghiệp hiện đại thì việc nghiên cứu Robot
đang là vấn đề được các cơ sở sản xuất, các nhà khoa học, các trường học đại học,
cao đẳng rất quan tâm. Trong đó, giải quyết bài toán động học ngược cho tay máy là
điều kiện tiên quyết để điều khiển tay máy theo quỹ đạo cho trước. Hơn thế nữa,
việc tìm ra một phương pháp chung hiệu quả để giải cho tay máy n bậc tự do đang
là thách thức đối với những nhà nghiên cứu trên toàn thế giới.
Nhiệm vụ của bài toán động học ngược là xác định các giá trị của biến khớp
qi, (i=1,…,n) khi biết trước vị trí và hướng của bàn kẹp tay máy. Theo truyền thống,
có ba phương pháp thường được sử dụng để giải bài toán động học ngược cho tay
máy đó là: Phương pháp giải tích, phương pháp hình học và phương pháp lặp [10].
Mỗi một phương pháp đều có điểm hạn chế riêng. Phương pháp giải tích không
đảm bảo nhận được nghiệm tường minh [10]. Trường hợp giải theo phương pháp


hình học, thì nghiệm tường minh cho ba khớp đầu tiên phải tồn tại về phương diện


hình học. Bên cạnh đó, nghiệm tường minh của một loại tay máy không thể dùng
cho loại tay máy có dạng hình học khác [10]. Phương pháp lặp hội tụ tới một lời
giải duy nhất, nó phụ thuộc vào vị trí ban đầu [10].
Nếu số bậc tự do của tay máy tăng lên thì việc giải bài toán động học ngược
bằng các phương pháp truyền thống này sẽ tốn rất nhiều thời gian, đôi khi không
hội tụ đến lời giải cuối cùng vì vậy việc nghiên cứu đưa ra một phương pháp chung
sử dụng có hiệu quả để giải quyết vấn đề động học ngược cho tay máy là một đề tài
có giá trị thực tiễn cao.
1.2

iới thiệu chung về robot công nghiệp
Robot công nghiệp có thể được hiểu là những thiết bị tự động linh hoạt, bắt

chước được các chức năng lao động công nghiệp của con người [1]. Những chiếc
robot công nghiệp đầu tiên được chế tạo vào năm 1956 bởi công ty Unimation của
George Devol và Joseph F. Engelberger ở Mỹ [1]. Các robot này chủ yếu được
dùng để vận chuyển các vật thể trong một phạm vi nhỏ.
1.2.1 Các bộ phận cấu thành robot công nghiệp
Cấu tạo của robot công nghiệp thông thường như trên hình 1.1 [1] gồm các
bộ phận chủ yếu sau:
Tay máy: là cơ cấu cơ khí gồm các khâu, khớp. Chúng hình thành cánh tay
để tạo các chuyển động cơ bản và bàn kẹp để trực tiếp thao tác trên đối tượng. Tay
máy gồm có các bộ phận cơ bản sau: Đế (1), thân (2), cánh tay trên (3), cánh tay
dưới (4), bàn kẹp (5).
Hệ thống truyền dẫn động: là bộ phận chủ yếu tạo nên sự chuyển dịch các
khớp động.
Hệ thống điều khiển: đảm bảo sự hoạt động của robot theo các thông tin đặt
trước hoặc nhận biết trong quá trình làm việc.

2



Hình 1.1 Các bộ phận cấu thành robot công nghiệp
Hệ thống cảm biến tín hiệu: thực hiện việc nhận biết và biến đổi thông tin
về hoạt động của bản thân robot (cảm biến nội tín hiệu) và của môi trường, đối
tượng mà robot phục vụ (cảm biến ngoại tín hiệu).
1.2.2 Bậc tự do của tay máy
Để định vị và định hướng bàn kẹp một cách tùy ý trong không gian ba chiều
tay máy cần có 6 bậc tự do, trong đó 3 bậc tự do để định vị và ba bậc tự do để định
hướng. Một số công việc như nâng hạ, xếp dỡ, … chỉ cần số bậc tự do ít hơn 6. Tay
máy hàn, sơn thường có 6 bậc tự do. Trong một số trường hợp như cần sự khéo léo,
linh hoạt hoặc khi cần tối ưu hóa quỹ đạo,… người ta có thể dùng tay máy có số bậc
tự do lớn hơn 6.
Thông thường các khâu của cơ cấu tay máy được nối ghép với nhau bằng
các khớp quay hoặc khớp tịnh tiến, chúng đều thuộc khớp động học loại 5. Trong cơ
cấu tay máy các khâu nối liên tiếp với nhau gọi là cơ cấu hở và thông thường mỗi
khâu gắn liền với nguồn lực riêng, cho nên đối với các loại cơ cấu dùng các khớp
động loại 5 thì số bậc tự do của cơ cấu bằng số khâu động.

3


Trong trường hợp chung có thể tính toán số bậc tự do theo công thức thông
dụng trong Nguyên lý máy [1]:
n

W  6n  ipi

(1.1)


i 1

Trong đó: - n : số khâu động
- P i : số khớp loại i
1.2.4 ổng quan về tình hình nghiên cứu bài toán động học ngược
Ở nước ta, việc nghiên cứu giải bài toán động học ngược cho tay máy đã
được nhiều nhà nghiên cứu quan tâm [8], [9]. Tuy nhiên chưa có công trình nghiên
cứu nào ứng dụng mạng nơron để giải bài toán động học ngược cho tay máy. Cho
đến nay, trên thế giới đã có nhiều công trình nghiên cứu về lĩnh vực này và đã đạt
được những kết quả nhất định được công bố trong các tài liệu tham khảo như: [10],
[11], [12], [13], [14], [19]. Điều này mở ra một hướng mới để giải quyết vấn đề
động học ngược cho các tay máy nhiều bậc tự do mà cho đến nay vẫn chưa có một
phương pháp chung nào thực sự hiệu quả.
Raşit Kokör , Cemil Öz, Tarik Çakar, Hüseyin Ekiz [11] đã ứng dụng mạng
nơron để giải bài toán động học ngược cho tay máy 3 bậc tự do sử dụng mạng
truyền thẳng với giải thuật lan truyền ngược (Back propagation) cập nhật trọng số
theo qui tắc giảm dốc nhất (gradient descent learning algorith). Bằng phương pháp
kinh nghiệm, nhóm nghiên cứu đã thiết kế được mô hình mạng gồm 40 nơron trong
lớp ẩn, 3 nơron ở lớp vào và 3 nơron ở lớp ra. Mô hình này có sai số là 0,000121
với 5000 mẫu và thực hiện 3000000 bước lặp.
Alavandar S. và Nigam M. J [12] đã xây dựng phương pháp để giải bài toán
động học ngược cho tay máy dựa trên mạng nơron mờ. Trong đó sử dụng hệ thống
suy luận nơron mờ thích nghi (ANFIS) để huấn luyện cho tay máy 2 và 3 bậc tự do.
Kết quả mô phỏng trên máy tính đã cho thấy phương pháp này có thể ứng dụng để
giải quyết vấn đề động học ngược cho tay máy.
Shah, Rattan và Nakra [13] đã ứng dụng mạng nơron để giải bài toán động
học ngược cho tay máy 3 bậc tự do phẳng. Kết quả cho thấy, giải pháp này hoàn

4



toàn có thể sử dụng với sai số bằng không. Các tác giả khẳng định rằng mạng nơron
có thể trở thành một phương pháp thay thế để giải quyết bài toán ánh xạ động học
thuận và nghịch.
Raşit Kokör [14] đã đề xuất phương pháp giải bài toán động học ngược
bằng phương pháp kết hợp mạng nơron với giải thuật di truyền. Trong bài báo này
Ông cũng khẳng định mạng nơron có thể thực hiện với sai số chấp nhận được. Hơn
nữa, khi kết hợp với giải thuật di truyền, sai số vị trí có thể đạt tới mức micromet.
Panchanand Jha [19] đã giải bài toán động học ngược cho tay máy ba bậc tự
do với hai mạng khác nhau. Mạng nơron truyền thẳng nhiều lớp (MLP) sử dụng
thuật toán back propagation, cập nhật trọng số theo quy tắc giảm dốc nhất và mạng
nơron tiền xử lí đa thức(PPN). Kết quả cho thấy mạng MLP cho kết quả chính xác
hơn so với mạng PPN.
1.3 Mục đích của đề tài.
Nghiên cứu và đưa ra được một phương pháp mới hiệu quả, có tính tổng
quát cao đó là ứng dụng mạng nơron để giải bài toán động học ngược cho tay máy.
Phương pháp này có thể ứng dụng để giải bài toán động học ngược cho các tay máy
có số bậc tự do lớn mà sẽ gặp khó khăn khi giải bằng các pháp truyền thống.
1.4 hiệm vụ của đề tài và giới hạn đề tài.
- Nghiên cứu bài toán động học tay máy.
- Nghiên cứu các phương pháp giải bài toán động học ngược.
- Nghiên cứu lý thuyết mạng nơron, nghiên cứu neural network toolbox của
phần mềm Matlab.
- Giải bài toán động học thuận và động học ngược cho tay máy Scorbot ER7.
- Xây dựng dữ liệu để huấn luyện mạng.
- Xác định mạng nơron thích hợp để giải bài toán động học ngược cho tay máy.
- Đánh giá kết quả nghiên cứu và phương hướng phát triển của đề tài.

5



1.5 Phương pháp nghiên cứu.
Nghiên cứu lý thuyết, ứng dụng toolbox của phần mềm Matlab để xác định
cấu trúc và bộ trọng số của mạng nơron để giải bài toán động học ngược cho tay
máy Scorbot ER7.
So sánh kết quả của phương pháp giải bài toán động học ngược bằng mạng
nơron với phương pháp giải tích, từ đó rút ra kết luận.

KẾ

L Ậ

CHƯƠ

1

Trong chương này, tác giả đã giới thiệu một cách khái quát về robot công
nghiệp, các công trình nghiên cứu và thành tựu đạt được của các nhà nghiên cứu
trên thế giới về lĩnh vực ứng dụng mạng nơron để giải bài toán động học ngược cho
tay máy. Trên cơ sở đó khẳng định được tầm quan trọng và tính cấp thiết của luận
văn này.

6


Chương 2



L


H



2.1 Động học tay máy
Tay máy thường là một cơ cấu hở gồm một chuỗi các khâu nối với nhau
bằng các khớp quay hoặc các khớp tịnh tiến. Một đầu của chuỗi được gắn lên thân,
đầu còn lại thường là bàn kẹp hoặc khâu gắn liền với dụng cụ làm việc. Điểm mút
của khâu tác động cuối cùng là điểm đáng quan tâm nhất do đó trong quá trình làm
việc đòi hỏi khâu này phải định vị và định hướng chính xác trong không gian. Bài
toán động học tay máy giải quyết 2 dạng bài toán cơ bản: Bài toán động học thuận
và bài toán động học ngược.
- Bài toán động học thuận: Từ các thông số vị trí, vận tốc và gia tốc của khâu
dẫn để xác định vị trí, hướng, vận tốc và gia tốc của điểm tác động cuối.
- Bài toán động học ngược: Từ các yêu cầu về vị trí, hướng, vận tốc và gia
tốc của điểm tác động cuối, xác định giá trị các thông số tương ứng của các khâu
trước đó.
2.1.1 Bài toán động học thuận của tay máy
Trong đại đa số các trường hợp, tay máy là một chuỗi động hở, bao gồm một
số khâu được liên kết với nhau nhờ các khớp. Mỗi khâu hình thành với khớp phía
trước nó một cặp khâu - khớp. Tùy theo kết cấu của mình mà mỗi loại khớp đảm
bảo cho khâu nối sau nó các khả năng chuyển động nhất định.
Mỗi khớp (thực chất là cặp khâu - khớp) được đặc trưng bởi 2 loại thông số:
- Các thông số không thay đổi trong quá trình làm việc của tay máy được gọi
là tham số.
- Các thông số thay đổi trong quá trình làm việc được gọi là biến khớp.
Hai loại khớp thông dụng nhất trong kỹ thuật tay máy là khớp trượt và khớp
quay. Chúng đều là loại khớp có một bậc tự do.


7


Bài toán thuận nhằm mô tả vị trí và hướng của khâu tác động cuối dưới dạng
hàm số của các biến khớp. Giả sử có một tay máy với n+1 khâu và n khớp. Vị trí và
hướng của khâu tác động cuối so với hệ tọa độ gốc O 0 x0y0z0 được mô tả bằng vectơ
định vị p và các vectơ chỉ phương n, s, a. Theo [1] ma trận trạng thái của khâu tác
động cuối so với hệ tọa độ cơ sở được thể hiện như sau:

n x
n
y
TE = 
 nz

 0

sx
sy

ax
ay

sz
0

az
0

px 

p y 
pz 

1 

(2.1)

Trong đó, p là vectơ định vị; n, s, a là các vectơ chỉ phương của khâu tác
động cuối, cũng chính là vectơ đơn vị của các hệ trục tọa độ. Nếu phần công tác là
bàn kẹp thì gốc tọa độ đặt vào tâm quay; vectơ a đặt theo phương tiến đến vật; s
nằm trong mặt phẳng trượt của hàm kẹp; n vuông góc với s và a theo quy tắc bàn
tay phải.
Giải bài toán động học thuận theo một phương pháp chung nhất là sử dụng
quy tắc Denavit-Hartenberg, được Denavit và Hartenberg xây dựng vào năm 1955
[4]. Đó là quy tắc thiết lập hệ thống tọa độ trên các cặp khâu - khớp trên tay máy.
Dựa trên hệ tọa độ này có thể mô tả các cặp bằng hệ thống các tham số, biến khớp
và áp dụng một dạng phương trình tổng quát cho bài toán động học tay máy.
2.1.1.1

uy tắc Denavit - Hartenberg
Giả sử trong chuỗi động học của tay máy có n khâu, khâu thứ i nối khớp thứ

i với khớp thứ i+1. Hình 2.1 được trích từ [1] biểu diễn các thông số động học theo
quy tắc Denavit–Hartenberg trong trường hợp 2 khớp động liên tiếp là 2 khớp quay.
Theo quy tắc Denavit–Hartenberg [1] thì hệ tọa độ được gắn lên các khâu,
khớp như sau:
-

Đặt trục tọa độ zi nằm dọc theo trục khớp động i+1.


-

Đặt gốc toạ độ Oi tại giao điểm của Zi và pháp tuyến chung nhỏ nhất của
trục Zi và Zi-1.

8


-

Đặt trục tọa độ xi theo phương pháp tuyến chung giữa zi-1 và zi, hướng từ
khớp i đến khớp i+1.

-

Trục yi vuông góc với xi và zi theo qui tắc bàn tay phải.

-

Trong một số trường hợp đặc biệt, quy tắc Denavit – Hartenberg cho
phép xác định một cách đơn giản hóa như sau:

+ Đối với hệ tọa độ gốc chỉ có phương của trục z0 là xác định. Gốc O0 và
trục x0 có thể chọn tùy ý.
+ Đối với hệ tọa độ thứ n, chỉ có phương của trục xn là xác định. Trục zn có
thể chọn tùy ý.
+ Khi 2 khớp liền nhau có trục song song, vị trí của pháp tuyến chung có thể
lấy bất kì.
+ Khi khớp thứ i là khớp trượt thì chỉ có phương của trục zi-1 là xác định.


Hình 2.1 Các hệ toạ độ đối với 2 khâu động liên tiếp.

9


Sau khi được thiết lập, vị trí của hệ Oixiyizi so với hệ Oi-1xi-1yi-1 zi-1 hoàn toàn
được xác định nhờ các thông số sau:
- ai là độ dài đường vuông góc chung giữa 2 trục khớp động i+1 và i .
- αi là góc quay quanh trục xi giữa trục zi-1 và zi.
- di là khoảng cách đo dọc trục khớp động i từ đường vuông góc chung giữa
trục khớp động i-1 với trục khớp động i đến đường vuông góc chung giữa
khớp động i và trục khớp động i+1.
- θi là góc quay quanh trục zi-1 giữa trục xi-1 và xi.
Bốn thông số ai, αi, di, θi được gọi là bộ thông số Denavit – Hartenberg (DH).
+ Nếu khớp động i là khớp quay thì biến khớp là θ i.
+ Nếu khớp động i là khớp tịnh tiến thì di là biến khớp.
2.1.1.2 Mô hình biến đổi
Trên cơ sở đã xây dựng các hệ toạ độ, có thể mô tả phép chuyển tọa độ giữa
hệ i và hệ i-1 theo 4 phép biến đổi[1]:
+ Quay quanh trục zi-1 góc θi .
+ Tịnh tiến dọc trục zi-1 một đoạn di .
+ Tịnh tiến dọc trục xi-1 (đã trùng với xi) một đoạn ai .
+ Quay quanh trục xi một góc

i.

Bốn phép biến đổi này được biểu thị bằng tích các ma trận thuần nhất [1]:

Ai = R  z,θi  .Tp  0,0,di  .Tp  a i ,0,0  .R(x,αi )


(2.2)

Theo [1], sau khi thực hiện phép nhân các ma trận nói trên ta được ma trận
tổng hợp mô tả vị trí và hướng của khâu thứ i so với khâu thứ i-1:

cθi
s
 θi
Ai = 
0

0

-sθi ci
cθi ci

sθisi
-cθisi

si
0

ci
0

Đối với khớp quay thì biến khớp là
khớp là d i .

10


a i cθi 
a isθi 
di 

1

(2.3)

, còn đối với khớp tịnh tiến thì biến


Theo [1] vị trí và hướng của khâu thứ i so với hệ tọa độ cơ sở thể hiện bằng
phương trình:
0

Ti = A1 A2 …Ai

(2.4)

Với tay máy có n khâu, trong đó khâu thứ n gắn liền với “điểm tác động
cuối” (E) thì vị trí và hướng của khâu thứ n so với hệ tọa độ cơ sở:
0

Tn = A1 A2 …An

(2.5)

Mặt khác, hệ toạ độ tại “điểm tác động cuối” này được mô tả bằng ma trận
TE theo phương trình (2.1). Do đó:
TE = 0 Tn


(2.6)

Tức là ta có :

n x
n
 y
 nz

 0

sx
sy

ax
ay

sz
0

az
0

px 
p y  0
= Tn
pz 

1 


(2.7)

Phương trình (2.7) là phương trình động học cơ bản của tay máy:
2.1.1.3 Các bước để thiết lập hệ phương trình động học cho tay máy
a. Gắn các hệ toạ độ lên các khâu.
b. Lập bảng thông số DH.
c. Dựa vào các thông số DH xác định các ma trận Ai (theo công thức 2.3)
d. Tính các ma trận Ti (vị trí và hướng của khâu thứ i so với khâu cố định) và
viết các phương trình động học của tay máy.
2.1.2 Bài toán động học ngược của tay máy
Bài toán động học ngược tay máy cho trước vị trí và hướng của khâu tác
động cuối, cần xác định bộ thông số của các biến khớp.
Các phương pháp giải bài toán động học ngược tay máy đã được giới thiệu
trong chương 1. Trong phần này chỉ đề cập đến một phương pháp giải được sử dụng
trong luận văn.

11


Các bước giải bài toán động học ngược [1] cho trường hợp tay máy n bậc tự
do như sau:
Xuất phát từ phương trình (2.7) ta có:

n x
n
y
0
Tn = A1A 2…A n = 
 nz


 0

sx
sy

ax
ay

sz
0

az
0

px 
p y 
pz 

1 

Có thể viết lại như sau:
0

Tn = 0Ti i Tn

(2.8)

Nhân hai vế của phương trình (2.8) với Ti -1 ta có:


Ti -1 0 Tn = i Tn
Do

Ti -1 = (A1A2 ...Ai )-1 = Ai-1...A-12 A1-1

Nên:

Ai-1...A-12 A1-1 0 Tn = i Tn

Như vậy:

n x
n
i
1
1 1  y
Tn = Ai A 2 A1
 nz

 0

sx
sy

ax
ay

sz
0


az
0

px 
p y 
pz 

1 

(2.9)

Với i = 1, 2,..., n-1
Ứng với mỗi phần tử của i khi so sánh các phần tử tương ứng của 2 ma trận
ở 2 vế của biểu thức (2.9) ta nhận được n phương trình tồn tại độc lập để xác định
các biến khớp q i .
2.2 Lý thuyết mạng nơron
Mạng Nơron nhân tạo (Artificial Neural Network- ANN) là mô hình xử lý
thông tin được mô phỏng dựa trên hoạt động của hệ thống thần kinh của sinh vật,
bao gồm số lượng lớn các Nơron được gắn kết để xử lý thông tin. ANN giống như
bộ não con người, được học bởi kinh nghiệm (thông qua huấn luyện) có khả năng

12


lưu giữ những kinh nghiệm hiểu biết (tri thức) và sử dụng những tri thức đó trong
việc dự đoán các dữ liệu chưa biết.
2.2.1 Lịch sử phát triển của mạng nơron nhân tạo
Mạng nơron nhân tạo đã có một lịch sử lâu dài. Năm 1943, McCulloch và
Pitts đã đưa ra khả năng liên kết và một số liên kết cơ bản của mạng nơron [2]. Năm
1949, Hebb đã đưa ra các luật thích nghi trong mạng nơron [2]. Năm 1958,

Rosenblatt đưa ra cấu trúc Perception [2]. Năm 1969, Minsky và Papert phân tích sự
đúng đắn của Perception, họ đã chứng minh các tính chất và chỉ rõ các giới hạn của
một số mô hình [2]. Năm 1976, Grossberg dựa vào tích chất sinh học đã đưa ra một
số cấu trúc của hệ động học phi tuyến với các tính chất mới [2]. Năm 1982,
Hoppfield đã đưa ra mạng học phi tuyến với các tính chất mới [2]. Năm 1982,
Rumelhart đưa ra mô hình song song và một số kết quả của thuật toán [2]. Năm
1986 thuật toán học lan truyền ngược (Back Propagation) được Rumelhart,
Hinton và Williams đề xuất thực hiện luyện mạng nơron truyền thẳng nhiều lớp [2].
Những năm gần đây có nhiều công trình nghiên cứu đề xuất các cấu trúc, luật học
cho nhiều loại mạng nơron truyền thẳng và hồi qui mới có nhiều ưu điểm. Mạng
nơron hiện đang được ứng dụng có hiệu quả trong nhiều lĩnh vực kinh tế và kỹ
thuật.
2.2.2 Mô hình nơron sinh học
Mạng nơron nhân tạo phát triển từ nghiên cứu về trí tuệ nhân tạo; đặc biệt là
cố gắng bắt chước về khả năng học của bộ não có cấu trúc cấp thấp.
Bộ não người có khoảng 10 11 nơron sinh học ở nhiều dạng khác nhau [2].
Mô hình của một dạng nơron sinh học được mô tả trên hình 2.2 được trích từ tài liệu
tham khảo [2]. Cấu trúc chung của một nơron sinh học gồm có ba phần chính là:
thân, bên trong có nhân, cây và trục. Cây gồm các dây thần kinh liên kết với thân.
Phần cuối của trục có dạng phân nhánh. Trong mỗi nhánh có một cơ cấu nhỏ gọi là
khớp thần kinh, các nơron liên kết với nhau thông qua khớp thần kinh này. Sự thu

13


nhận thông tin được thực hiện từ cây hoặc thân nơron. Tín hiệu thu, nhận ở dạng
các xung điện.
Khi thông tin thu được từ các giác quan được chuyển vào các tế bào thần
kinh vận động và tế bào cơ. Tại mỗi tế bào thần kinh tiếp nhận thông tin, điện thế
của nó tăng lên, nếu điện thế này vượt ngưỡng sẽ tạo dòng điện trong tế bào thần

kinh, ý nghĩa dòng điện đó được giải mã và lưu ở thần kinh trung ương, kết quả xử
lí thông tin được gửi đến các tế bào cơ.
Các tế bào thần kinh đều đưa ra tín hiệu giống nhau còn các khớp thần kinh
chỉ cho phép các tín hiệu phù hợp qua chúng, các tín hiệu khác thì bị cản lại. Lượng
tín hiệu đã được biến đổi gọi là cường độ khớp thần kinh - tương ứng với trọng số
của mạng nơron nhân tạo.

Hình 2.2 Mô hình của một dạng nơron sinh học
2.2.3 Phần tử xử lí
Mô hình phần tử xử lí (Processing Elements- PE) hay mô hình nơron dạng
M–P, do Culloch và Pitts đề xuất năm 1943 [2].
Phần tử xử lí có dạng nhiều vào, một ra. Hình 2.2 được trích từ [2] mô tả mô
hình của phần tử xử lí (một nơron) thứ i, dạng M-P, trong đó có các thành phần sau
đây:

14


Hình 2.3 Mô hình một nơron thứ i
2.2.3.1 Tín hiệu vào (Inputs) - ra(Output)
Có m tín hiệu đầu vào, trong đó (n-1) tín hiệu là tín hiệu kích thích được đặt
ở đầu vào là (x1, …,xi,…,xn-1), chúng được lấy từ đầu ra của các nơron được đặt
trước nơron này hoặc được lấy từ các nguồn tín hiệu đầu vào khác. Các tín hiệu
kích thích đầu vào này được đưa qua một bộ trọng số W ij đặc trưng cho mức độ liên
kết giữa các nơron thứ j (j = 1, 2,…, n-1) với nơron thứ i.
Riêng thành phần tín hiệu vào thứ n là xn được gọi là ngưỡng có giá trị
xn = 1 [17]. Tín hiệu xn được đưa qua thành phần dịch chuyển (bias) bi :
(2.10)

Win = bi

Có một tín hiệu ra là yi
2.2.3.2 Bộ cộng

Thực hiện phép tính tìm tổng trọng số vi (hoặc neti) bằng cách so sánh tổng
trọng của (n-1) kích thích đầu vào với giá trị trọng lượng của ngưỡng, nếu tổng
trọng này vượt qua trọng lượng của ngưỡng thì nơron ở trạng thái bị kích thích để
tạo ra được tín hiệu ra yi.
n 1

(2.11)

net i = vi = w ijx j  bi x n
j1

15


2.2.3.3 Hàm chuyển đổi
Hàm chuyển đổi (Transfer funtion) hay còn gọi là hàm hoạt hóa (active
funtion ) có nhiệm vụ biến đổi tổng trọng vi (hoặc neti ) thành tín hiệu ra yi:
yi = a(neti) = a(vi)
trong đó a(.) là kí hiệu của hàm chuyển đổi.
Trong [2] giới thiệu các dạng hàm chuyển đổi sau:
- Hàm chuyển đổi dạng giới hạn cứng (Hard limit transfer function) còn có
tên gọi là hàm bước nhảy (step transfer function) trong hình2.4 có dạng biểu thức:
( )

( )

{


(2.12)

Hình 2.4 Hàm chuyển đổi dạng giới hạn cứng
- Hàm chuyển đổi dạng giới hạn cứng đối xứng (symmetric hard limit
transfer function) còn có tên gọi là hàm dấu trong hình 2.5 có dạng biểu thức:
( )

( )

{

Hình 2.5 Hàm chuyển đổi dạng giới hạn cứng đối xứng

16

(2.13)


- Hàm chuyển đổi dạng tuyến tính bão hòa (Saturating linear transfer
function) trong hình 2.6 có dạng biểu thức:
( )

(2.14)
{

Hình 2.6 Hàm chuyển đổi dạng tuyến tính bão hòa
- Hàm chuyển đổi dạng tuyến tính bão hòa đối xứng (Symmetric saturating
linear transfer function) trong hình 2.7 có dạng biểu thức:
( )


(2.15)
{

Hình 2.7 Hàm chuyển đổi dạng tuyến tính bão hòa đối xứng

17


- Hàm chuyển đổi dạng sigmoid trong hình 2.8 có biểu thức:

a(v) =

(2.16)

1
1+e- λv

Trong đó >0 là hệ số độ dốc

Hình 2.8 Hàm chuyển đổi dạng sigmoid
- Hàm chuyển đổi dạng tang hyperbolic trong hình 2.9 có biểu thức:

a(v) =

2
-1
1+e- λv

(2.17)


Trong đó >0 là hệ số độ dốc

Hình 2.9 Hàm chuyển đổi dạng tang hyperbolic
- Hàm chuyển đổi dạng tuyến tính (linear transfer function) trong hình 2.10
có biểu thức:
( )

(2.18)

18


Hình 2.10 Hàm chuyển đổi dạng tuyến tính
2.2.4 Các loại mô hình cấu trúc mạng nơron
Mạng nơron bao gồm sự liên kết của nhiều nơron. Đầu ra của mỗi nơron liên
kết với các nơron khác thông qua các trọng số hoặc tự phản hồi trở về đầu vào của
chính nó.
Cấu trúc của mạng nơron là kiểu kết nối hình học của mỗi nơron liên kết
trong mạng, đây là một đặc điểm quan trọng của từng mạng nơron, dựa vào đó để
tiến hành phân loại chúng. Một số mạng nơron thường gặp như sau:
Mạng nơron một lớp và nhiều lớp được gọi là truyền thẳng (Feedforward
Network) nếu đầu ra của mỗi nơron được nối với các đầu vào của các nơron cùng
lớp đó hoặc đầu vào của các nơron của các lớp trước đó. Trong mạng 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.
Hình 2.11 mô tả mạng truyền thẳng một lớp [2] (Single layer feedforward
networks) có đặc điểm là tất cả các nơron đều nhận tín hiệu vào từ nguồn bên ngoài
qua các biến trọng số và mỗi nơron đều cho ra một tín hiệu ra.

Hình 2.11 Cấu trúc của mạng nơron truyền thẳng một lớp


19


Hình 2.12 mô tả mạng truyền thẳng nhiều lớp [2] (multilayer feedforward
networks). Lớp vào (input layer) gồm các nơron nhận trực tiếp các tín hiệu vào lấy
từ bên ngoài. Lớp ra (output layer) gồm các nơron có các tín hiệu ra, đưa ra bên
ngoài mạng. Lớp ẩn (hidden layer) gồm các nơron còn lại không trực tiếp nhận các
tín hiệu vào lấy từ bên ngoài và không cung cấp tín hiệu ra cho bên ngoài mạng, nó
chỉ có nhiệm vụ truyền các tín hiệu từ nơron ở lớp vào đến các nơron ở lớp ra.
Mạng nơron truyền thẳng nhiều lớp có một lớp vào, một lớp ra, có thể không có
hoặc có nhiều lớp ẩn. Một mạng được gọi là liên kết đầy đủ nếu mỗi nơron ở lớp
trước liên kết với tất cả các lớp nơron ở ngay sau nó. Mạng nơron ở hình 2.12 là
loại mạng nơron truyền thẳng có 3 lớp, có liên kết không đầy đủ.

Hình 2.12 Cấu trúc của mạng nơron truyền thẳng nhiều lớp
Nếu mạng nơron có các tín hiệu đầu ra được đưa ngược trở lại đầu vào của
các nơron ở lớp trước nó hoặc chính nó thì mạng đó được gọi là mạng phản hồi
(feedback network)
Nếu tín hiệu ra của một nơron được đưa phản hồi thành các tín hiệu vào của
các nơron ở cùng một lớp với nơron đó thì mạng đó được gọi là mạng phản hồi bên
(lateral feedback network)
Mạng phản hồi có các vòng kín được gọi là mạng hồi qui (recurrent
networks). Hình 2.13 mô tả một mạng hồi qui đơn giản nhất [2], mạng chỉ có một
nơron có tín hiệu ra tự phản hồi về đầu vào của chính nó.

20


Hình 2.13 Cấu trúc của mạng nơron chỉ có một nơron tự hồi qui

Mạng một lớp có liên kết phản hồi như hình 2.14 có đặc điểm tín hiệu đầu ra
của mỗi nơron được đưa ngược trở lại đầu vào của chính nó hoặc của các nơron
khác được gọi là mạng hồi qui một lớp[2]. Hình 2.15 mô tả cấu trúc của mạng
nơron hồi qui nhiều lớp [2].

Hình 2.14 Cấu trúc của mạng nơron hồi qui một lớp

Hình 2.15 Cấu trúc của mạng nơron hồi qui nhiều lớp

21


2.2.5 Các tính chất của mạng nơron
Mạng nơron có các tính chất sau đây [2]:
- Là hệ phi tuyến.
- Là hệ xử lí song song: Mạng nơron có cấu trúc song song, do đó có tốc độ
tính toán rất cao, rất phù hợp với lĩnh vực nhận dạng và điều khiển.
- Là hệ học và thích nghi: Mạng được luyện từ dữ liệu quá khứ, có khả năng
tự chỉnh khi số liệu đầu vào bị mất, có thể điều khiển on-line.
- Là hệ nhiều biến, hệ nhiều đầu vào, nhiều đầu ra phù hợp khi điều khiển đối
tượng có nhiều biến số.
2.2.6 Các luật học
Mạng nơron sử dụng hai nhóm luật học: Nhóm các luật học thông số
(parameter learning rules) và nhóm các luật học cấu trúc (structure learning rules)
Các luật học trong nhóm học thông số có nhiệm vụ tính toán cập nhật giá trị
của trọng số liên kết các nơron trong mạng.
Các luật học trong nhóm học cấu trúc số có nhiệm vụ đưa ra cấu trúc hợp lí
của mạng như thay đổi số lượng nơron hoặc thay đổi số lượng liên kết của các
nơron trong mạng.
Hai nhóm luật học trên có thể áp dụng đồng thời (Khi đó gọi là luật học lai –

hybrid learning rules)
2.2.7 huật toán Backpropagation
Khi trọng số và thành phần dịch chuyển(bias) của mạng đã được khởi tạo,
mạng đã s n sàng huấn luyện. Quá trình huấn luyện cần một tập các cặp mẫu bao
gồm các tín hiệu ngõ vào và ngõ ra của mạng. Trong suốt quá trình huấn luyện
trọng số và bias của mạng được điều chỉnh lặp đi lặp lại để cực tiểu hóa hàm sai
lệch của mạng. Hàm sai lệch mặc định của mạng truyền thẳng là trung bình bình
phương sai lệch.

22


Có nhiều thuật toán Backpropagation khác nhau. Cách thực hiện đơn giản
nhất là cập nhật trọng số và bias theo hướng sao cho hàm sai lệch giảm nhanh nhất.
Mỗi bước lặp thuật toán được viết lại như sau[16]:
xk+1 = xk - kgk

(2.19)

Trong đó:
- xk là vector trọng số và bias hiện tại;
- gk là gradient hiện tại;
-k là hằng số học.
Có hai phương pháp để cập nhật trọng theo qui tắc giảm dốc nhất(gradient
descent) đó là cập nhật trọng ngay sau khi học từng mẫu dựa trên đạo hàm lỗi của
riêng từng mẫu(incremental mode) và cập nhật trọng dựa trên đạo hàm lỗi sau khi
đã quét qua toàn bộ tập mẫu (batch mode).
2.2.7.1 Chế độ học t ng m u
Huấn luyện mạng ở chế độ này sử dụng hàm adapt’. Có thể sử dụng luật cập
nhật theo phương pháp giảm dốc nhất learngd’ hoặc phương pháp giảm dốc nhất có

thêm thành phần động lượng learngdm’.
Đối với phương pháp giảm dốc nhất hàm học thông số cho trọng số và bias
là learngd’. Trọng số và ngưỡng được cập nhật theo hướng chống lại gradient của
hàm lỗi. Hàm learngd’ có một thông số học là tốc độ học lr’. Tốc độ học càng lớn,
thì bước nhảy càng lớn. Nếu tốc độ học quá lớn, thuật toán sẽ không ổn định. Nếu
tốc độ học quá nhỏ, thuật toán sẽ hội tụ lâu.
Đối với phương pháp giảm dốc nhất có thêm thành phần động lượng - hàm
learngdm’ giúp cho hàm learngd hội tụ nhanh hơn.
2.2.7.2 Chế độ học theo nh m m u
Chế độ học theo nhóm mẫu thay thế cho chế độ học từng mẫu, Huấn luyện
mạng sử dụng hàm train’ với các luật cập nhật thông số trọng số và bias là hàm
traingd’ hoặc traingdm’. Ở chế độ học theo nhóm mẫu trọng số và bias của mạng
chỉ được cập nhật sau khi toàn bộ bộ mẫu huấn luyện đã được nạp vào mạng.

23


Gradient được tính toán ở mỗi mẫu huấn luyện được cộng dồn lại với nhau để xác
định sự thay đổi của trọng số và bias.
Hàm traingd’ tương đương với hàm learngd’, thực hiện huấn luyện theo
phương pháp giảm dốc nhất chuẩn. Trọng số và ngưỡng được cập nhật theo hướng
chống lại gradient của hàm lỗi.
Hàm traingdm’ tương đương với hàm learngdm’ với hai điểm khác biệt.
Thứ nhất, Gradient được tính bằng tổng gradient ở mỗi mẫu huấn luyện, trọng số và
bias được cập nhật sau khi toàn bộ mẫu được đưa vào. Thứ hai, nếu hàm lỗi trên
bước lặp được cho vượt quá hàm lỗi ở bước lặp trước một giá trị định tr ước
max perf inc’ (thường chọn 1.04) thì trọng số và bias mới bị loại bỏ và thành phần
động lượng mc’được gán bằng 0.
Trong chế độ huấn luyện theo nhóm mẫu, ngoài các giải thuật huấn luyện
trên còn một số giải thuật có tốc độ hội tụ nhanh như: Giải thuật tốc độ học thay đổi

Traingda’, Traingdx’; giải thuật phục hồi mạng trainrp’; giải thuật conjugate
gradient; giải thuật cập nhật Fletcher-Reeves traincgf’; giải thuật cập nhật Polak –
Ribiére traincgp’; giải thuật khởi động lại Powell – Beale traincgb’; giải thuật
Scaled Conjugate Gradient trainscg’; giải thuật BFGS

trainbfg’; giải thuật One

Step Secant trainoss’; giải thuật Levenberg – Marquardt (TRAINLM). Tham khảo
tài liệu [16] để biết thêm thông tin về các giải thuật này.
2.2.

i i thuật Levenberg-Marquardt
Giải thuật Levenberg-Marquardt được phát triển độc lập bởi Kenneth

Levenberg và Donald Marquardt [15], cung cấp một giải pháp số để giải quyết vấn
đề cực tiểu hóa một hàm không tuyến tính. Giải pháp này có độ hội tụ nhanh và ổn
định. Trong lĩnh vực mạng nơron nhân tạo, thuật toán này rất phù hợp để huấn
luyện những mạng cỡ nhỏ và trung bình (vài trăm trọng số).

24


2.2. .1 Luật cập nhật trọng s
Hàm tổng bình phương sai số được định nghĩa để đánh giá quá trình huấn
luyện mạng. Đối với tất cả các mẫu và tín hiệu ra của mạng, tổng bình phương sai
số được tính như sau [15]:
n

1 P Q
E(x,w) =   e2p, m

2 p =1 m =1

(2.20)

trong đó:
x là vectơ tín hiệu vào
w là vectơ trọng số
p là chỉ số mẫu, p = 1, 2,…, P
m là chỉ số tín hiệu đầu ra, m = 1, 2,…, nQ
ep, m là sai lệch của tín hiệu ra m khi duyệt mẫu p và được định nghĩa [15]:

ep, m = d p, m - yp, m

(2.21)

trong đó
d là vectơ tín hiệu ra mong muốn
y là vectơ tín hiệu ra thực tế
Giải thuật Levenberg-Marquardt sử dụng luật cập nhật trọng số [15]:

w k+1 = w k - (J Tk J k + μI)-1J k ek

(2.22)

với:
 là hệ số học (được cập nhật thông qua tham số mu’).
k là chỉ số lặp
J là ma trận jacobian có dạng [17]:
 e1 (w) e1 (w)
 w

w 2
1

 e2 (w) e 2 (w)

w 2
J =  w1


 e N (w) e N (w)
 w1
w 2

25

 e1 (w) 
 wN 

e 2 (w) 
w N 


e N (w) 
w N 

(2.23)


×