Mạng Perceptron nhiều lớp

Một phần của tài liệu Điều khiển xe lăn điện thông minh qua sóng não p2 (Trang 31 - 36)

F x hx Rx  (2.41) Hàm số (2.41) là hàm chỉ số chất lượng, trong đó x là vector các trọng số liên kết và

2.4.6 Mạng Perceptron nhiều lớp

Mạng perceptron có giới hạn khi không biểu diễn được nhiều hàm, ví dụ hàm XOR. Do đó, để giải quyết bài toán này có thể sử dụng mạng Perceptron nhiều lớp bởi vì ta biết rằng hàm XOR có thể phân tích thành các hàm cơ bản như AND, OR và NOT.

Mạng Perceptron nhiều lớp (hàm kích thích không tuyến tính) sẽ biểu diễn được hầu hết các hàm, do đó giải quyết được nhiều bài toán mà đầu vào không phân chia tuyến tính được.

Multi Layer Perceptron (MLP) là mô hình mạng nơ rôn có cấu trúc không có kết nối phản hồi (feed-forward). MLP, một biến thể của mạng nơ rôn tuyến tính chuẩn, gồm nhiều lớp và hàm truyền không tuyến tính, có khả năng phân loại các mẫu không tuyến tính, nói cách khác nó có thể biểu diễn được hầu hết các hàm.

Một số ưu điểm của MLP là có thể xấp xỉ gần đúng tất cả các hàm phi tuyến, có thể tổng quát hóa các dữ liệu chưa được huấn luyện.

Khi làm việc với MLP ta cần quan tâm đến việc sử dụng bao nhiêu lớp ẩn (một lớp là đủ theo định lý Kolmogorov, 2 lớp luôn luôn là đủ). Cần bao nhiêu nơ rôn ở lớp ẩn là bài toán tối ưu. Thông thường, số kết nối phải nhỏ hơn số mẫu huấn luyện. Khi số kết nối tiến gần đến số mẫu huấn luyện, khả năng tổng quát hóa của mạng giảm.

2.4.6.1 Kiến trúc

MLP bao gồm một lớp vào, một lớp ra và một hoặc nhiều lớp ẩn. Mỗi nơ rôn được liên kết với tất cả các nơ rôn của lớp tiếp theo bằng các trọng số liên kết wij . Các nơ rôn trong cùng một lớp không liên kết trực tiếp với nhau. Không có liên kết trực tiếp giữa lớp ra và lớp vào. Số nơ rôn trong lớp ẩn có thể nhiều hơn hoặc ít hơn so với số nơ rôn trong lớp vào và ra. Đầu vào, đầu ra ở dạng tín hiệu liên tục.

Nếu hàm kích thích của các nơ rôn là tuyến tính thì có thể chứng minh được rằng một mạng với số lớp bất kỳ có thể đưa về dạng một mạng hai lớp. Như vậy, sự khác

40

biệt của mạng MLP so với mạng perceptron chuẩn là hàm kích thích của nơ rôn trong mạng MLP là không tuyến tính. Hàm kích thích có thể được mô hình hóa khác nhau nhưng luôn phải chuẩn hóa (nomalizable)phân biệt được (defferentiable). Hàm kích thích trong mạng MLP thường dùng là các hàm

sigmoids: hoặc . Đối với mạng MLP, lớp

ẩn thường dùng hàm sigmoids, lớp ra thường dùng hàm tuyến tính.

Hình 2.16 Mạng Multi Layer Perceptron 3 lớp [40]

2.4.6.2 Học với thuật toán Back Propagation (BP)

Back Propagation là một thuật toán phổ biến được sử dụng để học của mạng MLP. Quá trình học là điều chỉnh các trọng số liên kết khi đưa vào các mẫu, sự điều chỉnh phụ thuộc vào sự khác biệt giữa giá trị ra mong muốn và giá trị ra thực tế của hệ thống tương ứng với mẫu ngõ vào. Đây là quá trình học có giám sátthuật toán là back Propagation (thuật toán tổng quát hóa của thuật toán bình phương trung bình tối thiểu Least Mean Square (LMS) trong trường hợp hàm kích thích tuyến tính).

41

Trong mạng perceptron nhiều lớp, vấn đề là trọng số liên kết nào được thay đổi, sự thay đổi trên mỗi nơ rôn bằng bao nhiêu, theo hướng nào, sự đóng góp của mỗi nơ rôn như thế nào để tạo thành đáp ứng chung của cả hệ thống? Tương tự là sự đóng góp của mỗi lớp vào sai số của hệ thống.

BP là sự kết hợp của phương pháp gradient descent và mạng Perceptron nhiều lớp. Trong đó gradient descent sử dụng để tính trọng số liên kết hiệu chỉnh nói chung, trong khi BP được sử dụng để tính đóng góp của từng lớp trong mạng vào sự hiệu chỉnh đó. BP là huấn luyện bằng cách truyền ngược sai số lối ra giữa kết quả thực tế so với ngõ ra mong muốn, sai số này được truyền ngược trở lại các lớp của mạng để điều chỉnh trọng số liên kết của từng lớp.

Sai số đầu ra của hệ thống được tính, sau đó dùng phương pháp gradient descent để tính trọng số liên kết hiệu chỉnh. Dựa trên kết quả này, tính ngược lại sai số đóng góp của từng lớp, từ lớp ra cho đến các lớp ẩn theo thứ tự ngược (do đó gọi là Back Propagation).

Thuật toán backpropagation gồm các giai đoạn forward và backward:

Forward pass: ở bước này, mỗi nơ rôn của lớp ẩn nối với tất cả các nơ rôn của lớp vào được tính toán bằng cách nhân giá trị đầu vào với trọng số tương ứng rồi lấy tổng. Giá trị đầu ra của mỗi nơ rôn thuộc lớp này là không tuyến tính (do hàm kích thích không tuyến tính). Các giá trị này lại được đưa tới ngõ vào của lớp tiếp theo.

  1 1 1 1 , m 0, 2, , M 1 m  mmmm    a f W a b (2.45) Với a0 p a , aM (2.46)

Trong đó am+ 1 , fm+ 1, Wm+ 1, bm+ 1 tương ứng là lối ra, hàm kích thích, vector trọng số liên kết và vector bias tại lớp thứ m+1 của mạng. plà vector lối vào mạng.

Giá trị ra của mạng được so sánh với giá trị ra mong muốn để tính toán sai số:

 

42

Backward pass: Giá trị sai khác tính được ở bước 1 được dùng để tính ngược trở lại cho các lớp ẩn. Sai số được coi là sự đóng góp của tất cả các lớp, sai số gây ra bởi các các lớp được tính ngược từ lớp ra đến lớp vào.

   2 M   M Ms F n t a (2.48)   1 1 , 1, , 2, 2. T m m m m m m M       s F n W s (2.49)

Trong đó, sm là sai số đóng góp tại lớp thứ m.

(2.50)   m mj m m j m j f n n n    f (2.51)

Sai số tính toán này được dùng để cập nhật trọng số liên kết và bias của các lớp theo luật xấp xỉ steepest descent. Sau khi tính toán được trọng số liên kết điều chỉnh của lớp này, tính tiếp sai số do các lớp trước gây ra. Các trọng số liên kết ở mỗi lớp được điều chỉnh tại mẫu thứ k+1 theo công thức:

     1 1 T m m m k W k   aW s (2.52) k 1 m k   m b b s (2.53)

Có thể cập nhật các trọng số của MLP theo từng cặp mẫu hay theo nhóm. Mỗi phương pháp có một ưu nhược điểm riêng.

Một nhược điểm của phương pháp này là thời gian huấn luyện lớn. Khi huấn luyện bằng phương pháp BP cần quan tâm đến việc lựa chọn số nơ rôn trong lớp ẩn, các

43

trọng số liên kết và bias ban đầu, lựa chọn tốc độ học, số lượng mẫu dùng để huấn luyện.

Dữ liệu ngõ vào cho hệ thống phát hiện cử chỉ hành động dựa trên ANN ở một trong hai dạng: dữ liệu thô [28] hoặc một số đặc trưng của EEG [25]. Ở dạng thứ nhất, dữ liệu thô được lấy mẫu trong giây và đưa tới đầu vào ANN. Ưu điểm của phương pháp này là không cần xác định rõ các đặc trưng của cử chỉ hành động. Tuy nhiên, nếu số lượng mẫu hẹp sẽ làm mất thông tin về các hoạt động nền, trong khi việc mở rộng mẫu, nghĩa là làm tăng số đầu vào của ANN, sẽ làm tăng thời gian tính toán. Một giải pháp được đề xuất để tăng kích thước ủa mẫu mà không làm tăng số lượng ngõ vào của ANN là dùng biến đổi Fourier để phân tích dữ liệu EEG thành các tần số khác nhau, sau đó lấy một số tần số đặc trưng cho cử chỉ hành động để đưa tới ngõ vào. Một nhược điểm khác của phương pháp thứ nhất là sự biến thiên về hình dạng cũng như các hoạt động nền ở các bản ghi và người điều khiển cử chỉ hành động khác nhau đòi hỏi một số lượng mẫu lớn để huấn luyện. Kết luận: phát hiện cử chỉ hành động sử dụng dữ liệu thô làm ngõ vào của ANN là không khả thi với công nghệ hiện tại. Ở dạng thứ hai, dữ liệu huấn luyện và kiểm tra đưa tới đầu vào ANN là các đặc trưng (trong miền thời gian), tần số v.v. được tách ra từ EEG. Ưu điểm của phương pháp này là giảm số lượng đầu vào mạng ANN. Nếu lựa chọn được các đặc trưng phù hợp sẽ làm giảm độ phức tạp tính toán của hệ thống mà vẫn giữ được hiệu suất hoạt động cao. Nhược điểm của phương pháp này là hiệu suất của hệ thống phụ thuộc vào việc lựa chọn các đặc trưng phù hợp.

44

Một phần của tài liệu Điều khiển xe lăn điện thông minh qua sóng não p2 (Trang 31 - 36)

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

(40 trang)