Giới thiệu mạng noron

Một phần của tài liệu Luận án Tiến sĩ Tích hợp đại số gia tử, điều khiển mờ và mạng noron trong điều khiển robot di động (Trang 107 - 113)

Mạng noron hay mạng noron nhân tạo có lịch sử phát triển từ rất sớm. Năm 1943 Warren McCulloch và Walter Pitts đã tạo ra một mô hình tính toán cho các mạng noron dựa trên toán học và thuật toán [122].

94

Trong những năm cuối thập niên 1940 nhà tâm lý học Donald Hebb đã tạo ra một giả thuyết về học tập dựa trên cơ chế tạo hình noron mà bây giờ được gọi là học tập Hebbian. Năm 1954 Farley và Wesley Clark A lần đầu tiên sử dụng máy tính toán để mô phỏng một mạng Hebbian tại MIT.

Năm 1958 Frank Rosenblatt tạo ra các perceptron, một thuật toán để nhận dạng mẫu dựa trên hai lớp mạng máy tính học tập sử dụng phép cộng và phép trừ đơn giản. Với ký hiệu toán học, Rosenblatt cũng mô tả mạch perceptron cơ bản, chẳng hạn như mạch exclusive-or, một mạch có tính toán toán học không thể xử lý được cho đến khi thuật toán lan truyền ngược được tạo ra bởi Paul Werbos vào năm 1975.

Giữa những năm 1980, các xử lý phân tán song song trở nên nổi tiếng dưới cái tên connectionism. Các tài liệu của David E. Rumelhart và James McClelland năm 1986 đã cung cấp một trình bày đầy đủ về việc sử dụng connectionism trong máy tính để mô phỏng các quá trình noron.

Mạng noron nhân tạo được nghiên cứu ứng dụng rộng rãi trong nhiều lĩnh vực đặc biệt là trong nhận dạng và điều khiển. Mạng noron cũng được kết hợp với logic mờ tạo ra các hệ thống lai như hệ mờ noron hay mạng noron mờ [123]. Trong [124] đã tối ưu hóa hệ mờ-noron trong điều khiển robot.

4.4.1.1 Định nghĩa mạng noron

Mạng noron 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. Mạng noron gồm vô số các noron liên kết với nhau.

Hình 4.14 Mạng noron đơn giản gồm hai noron

Các đặc tính cơbản của mạng noron là:

+ Quá trình tính toán được tiến hành song song và phân tán trên nhiều noron gần như đồng thời.

+ Tính toán thực chất là quá trình học, chứ không phải theo sơ đồ định sẵn từ trước.

4.4.1.2 Mô hình toán của mạng noron nhân tạo

Noron nhân tạo được định nghĩa như sau:

• Noron nhân tạo nhận một số các ngõ vào từ dữ liệu gốc, hay từ ngõ ra các noron khác trong mạng. Mỗi kết nối đến ngõ vào cómột trọng số. Mỗi noron cũng có một giá trị ngưỡng.

95

• Tín hiệu được truyền qua hàm kích hoạt (hay còn gọi là hàm truyền) tạo giá trị ngõ ra noron.

Hình 4.15 Mô hình tính toán của mạng noron

Đây là mô hình điều khiển dạng MISO, với đầu vào là n tín hiệu X =x x1, 2,...xnT

đầu ra là tín hiệu y được xác định: 1 ( ) w ( ) n k k k y t f x t  =   =  −    (4.34) Trong đó: xk – là đầu vào ở ngõ k. wk – là trọng số ở đầu vào k. n – là số đầu vào của noron.

θ – ngưỡng kích hoạt.

f –là hàm kích hoạt.

4.4.1.3 Cấu trúc mạng noron

Nguyên lý cấu tạo của một mạng noron bao gồm một hay nhiều lớp, mỗi lớp gồm nhiều noron có cùng một chức năng. Lớp mà nối với ngõ vào được gọi là lớp vào, thường lớp vào không thực hiện các phép toán xử lý, lớp nối với ngõ ra được gọi là lớp ra, lớp không nối trực tiếp với ngõ vào và ngõ ra được gọi là lớp ẩn. Cấu trúc phổ biến là mạng truyền thành nhiều lớp.

Mạng truyền thẳng

Hình 4.16 Cấu trúc mạng noron truyền thẳng

96

Hình 4.17 Cấu trúc mạng noron có hồi tiếp

Trong mạng hồi tiếp thì tín hiệu ở đầu ra được hồi tiếp về trở thành tín hiệu vào của một noron nào đó trong các lớp phía trước.

4.4.1.4 Huấn luyện mạng

Đặc trưng của mạng noron là quá trình học, phải học thì noron mới có khả năng thực hiện nhiệm vụ của có. Bản chất của quá trình học là tìm các giá trị trọng số wi

ứng với các đầu vào của mỗi noron.

Quá trình huấn luyện mạng thường chia ra làm 3 bước:

Bước 1 – Bước học: Mẫu dự liệu đầu vào xk được truyền từ ngõ vào đến ngõ ra,

kết quả là tạo được tín hiệu yk ở đầu ra, giá trị này có sai lệch với giá trị mong muốn,

sai lệch đó được dùng để hiệu chỉnh lại trọng số liên kết, tiếp tục thực hiện cho đến khi nhận được giá trị ra so với mẫu có sai lệch nằm trong giá trị cho phép.

Bước 2 – Bước thử: Dùng một tập dữ liệu x/y khác với tập dữ liệu đã dùng để huấn luyện mạng, nếu kết quả thử mà tốt thì mới chấp nhận, nếu không thì phải học lại.

Bước 3 – Bước kiểm chứng: Sau khi thử xong đạt kết quả tốt thì cần phải kiểm chứng thực tế. Trước khi sử dụng chính thức.

Thuật toán huyến luyện mạng truyền thẳng nhiều lớp thường hay dùng là thuật toán lan truyền ngược kết hợp với phương pháp tối ưu Gradient Descent, phần tiếp theo sẽ trình bày phương pháp Gradient Descentvà thuật toán lan truyền ngược.

4.4.1.5 Phương pháp Gradient Descent

Trong các bài toán tối ưu nói chung hay bài toán của mạng noron nói riêng, thường dẫn đến phải đi tìm cực trị của một hàm số nào đó. Thế nhưng việc tìm điểm cực trị bằng cách giải trực tiếp từ các phương trình đạo hàm thường rất phức tạp hoặc có thể ra vô số nghiệm. Nguyên nhân có thể là do sự phức tạp của dạng đạo hàm, hay việc các điểm dữ liệu có số chiều lớn, hoặc có quá nhiều điểm dữ liệu. Thay vì tìm trực tiếp người ta thường cố gắng tìm các điểm cực trị địa phương, và ở mức độ nào đó, coi đó là một nghiệm cần tìm của bài toán.

Hướng tiếp cận phổ biến nhất để giải quyết các bài toán tối ưu là xuất phát từ một điểm được coi là gần với nghiệm của bài toán, sau đó dùng một phép toán lặp để tiến gần đến điểm cần tìm. Phương pháp Gradient Descent (GD) là một trong những phương pháp được dùng nhiều nhất [125].

97

Xét hàm một biến số f R: →R. Với điểm xuất phát xt, ta cần tìm thuật toán để đưa xt càng gần điểm cực càng tốt. Phương pháp GD đưa ra công thức cập nhật như sau.

1 '( )

t t t

x+ = −xf x (4.35)

Trong đó  là một hằng số dương được gọi là tốc độ học. Dấu trừ thể hiện việc công thức cập nhật phải đi ngược với đạo hàm.

Đối với hàm nhiều biến

Giả sử f( ) trong đó  là tập các tham số cần tối ưu. Đạo hàm của hàm số đó tại một điểm  bất kì được ký hiệu là  f( ) . Tương tự hàm một biến, phương pháp GD cho hàm nhiều biến cũng bắt đầu bằng một điểm dự đoán, sau đó quy tắc cập nhật là:

1 ( )

t tf

+ = −    (4.36)

4.4.1.6 Thuật toán lan truyền ngược huấn luyện mạng noron

Phương pháp tối ưu phổ biến dùng trong các bài toán của mạng noron là phương pháp Gradient Descent (GD). Để áp dụng GD, thì cần phải tính được đạo hàm của hàm hao tán theo từng phần tử của ma trận trọng số, mục tiêu là phải tối thiểu hàm hao tán J.

Cho mô hình mạng noron có L lớp như trong hình sau.

Hình 4.18 Mô hình chi tiết mạng noron

Hàm hao tán J có thường có dạng như sau:

( ) 2 1 1 (y( ) ( )) 2 N L k J k a k = =  − (4.37) Trong đó:

98 - N là số tập dữ liệu huấn luyện.

- k là số thứ tự tập dữ liệu huấn luyện.

- y k( )là vector đầu ra của tập dữ liệu huấn luyện. - a( )L ( )k là vector đầu ra của các noron ở lớp ra L.

Thuật toán lan truyền ngược giúp tính đạo hàm ngược từ lớp cuối cùng đến lớp đầu tiên. Lớp cuối cùng được tính toán trước vì nó gần với đầu ra dự đoán và hàm hao tán khiến việc tính toán trở nên thuận lợi hơn, tạo kết quả để thực hiện lần lượt cho các lớp tiếp theo. Việc tính toán đạo hàm của ma trận hệ số trong các lớp tiếp theo được thực hiện dựa trên quy tắc quen thuộc cho đạo hàm của hàm hợp.

Áp dụng phương pháp GD, trọng số của ma lớp ra được cập nhật theo công thức:

( ) ( ) wij L ( 1) ij L ( ) ij J k w k w   + = −  (4.38) Trong đó: - wij( )L là một thành phần ma trận trọng số lớp ra với L là số lớp trong mạng. -  là hằng số học.

Theo công thức đạo hàm hàm hợp

( ) ( ) ( 1) (L) ( ). (L) L j L L j i L ij j ij z J J e a w z w −    = =    (4.39) Trong đó ( )L j

e là đại lượng phụ thuộc vào hàm hoạt động và thường được chọn để thuận tiện việc tính toán như hàm sigmod… ( ) ( 1)

(L) L j L i ij z a w −  =  vì ( )L ( ) TL (L 1) j j z =w a − . Với các hệ số ma trận trọng số lớp phía trước ta cũng sử dụng phương pháp GD.

(l) (l) wij ( 1) ij ( ) ij J k w k w   + = −  (4.40)

Với đạo hàm của các hệ số ở lớp l thấp hơn, bằng cách quy nạp từ cuối lên, ta có công thức: (l) (l) (l 1) (l) (l). j(l) j i ij j ij z J J e a w z w −   =  =    (4.41) Với: ( ) ( 1) ( 1) ( 1) ( ) ( ) ( 1) ( 1) ( ) ( ) ( ) ( ) ( 1) ( ) 1 1 . . . '( ) .w . '( ) l d l l d l j l h l l l l j l l l l l j h jh j h h j j j h j a z J J J e f z e f z z a z z a + + + + + + = =          = = =  =             (4.42)

Từ công thức trên ta nhận thấy rằng, việc tính các ( )l j

e đóng vai trò quan trọng và phụ thuộc vào e(jl+1). Cho nên ta phải tính các giá trị này từ cuối lên, đó cũng là lý do thuật toán này có tên là lan truyền ngược.

99

Một phần của tài liệu Luận án Tiến sĩ Tích hợp đại số gia tử, điều khiển mờ và mạng noron trong điều khiển robot di động (Trang 107 - 113)

Tải bản đầy đủ (PDF)

(160 trang)