Mạng thần kinh nhân tạo ANN (Artificial Neural Network)

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 (Trang 44)

5. Ý nghĩa thực tiễn của đề tài

2.4 Mạng thần kinh nhân tạo

2.4.1 Mạng thần kinh nhân tạo ANN (Artificial Neural Network)

Mạng thần kinh nhân tạo mô phỏng hoạt động của mạng nơ rôn thần kinh của con người [27]. Như cách nhận thức của con người, ANN không cần các quy tắc xác định mà chỉ cần những mẫu cụ thể để huấn luyện. Mạng ANN hoạt động tương tự hoạt động của hệ thần kinh trên hai mặt: phải huấn luyện để hoạt động và tri thức của mạng biểu hiện qua giá trị các trọng số liên kết. Do đó, ANN là giải pháp hữu ích trong các bài tốn nhận dạng và phân loại; trong đó các quy tắc nhận dạng khó xác định hoặc khơng định lượng chính xác được. Khác với vi xử lý, ở đó các tính tốn được thực hiện lần lược theo thời gian, ANN là mạng xử lý song song.

Như đã trình bày, các đặc trưng cử chỉ hành động không được định nghĩa rõ ràng; ở các bản ghi khác nhau, các đặc trưng cử chỉ hành đợng có hình dạng và tham số khác nhau. Để tìm ra các đặc trưng định lượng chung cho các bản ghi khác nhau, ở nhiều người khác nhau là khó khăn. Do đó, mạng nơ rơn nhân tạo ANN được coi là giải pháp phù hợp trong bài toán nhận dạng đặc trưng cử chỉ hành động. Mạng sẽ phát huy tốt khả năng khi được huấn luyện bởi một tập hợp các mẫu đặc trưng cử chỉ hành động phong phú.

Mạng ANN sử dụng trong phát hiện đặc trưng cử chỉ hành đợng được h́n luyện có giám sát. Hai mạng phổ biến được sử dụng là mạng Perceptron nhiều lớp MLP (Multi Layer Perceptron) và RBFN (Radial Basis Function Network) [28]. MLP là mạng feet-forward, ngõ ra của lớp thứ nhất là ngõ vào của lớp thứ hai và được huấn luyện bằng phương pháp backpropagetion. Về mặt tốn học, MLP có thể xấp xỉ hầu hết các hàm nếu chọn số lớp và số nơ rơn thích hợp cho mỗi lớp.

2.4.2 Mơ hình nơ rơn

Các nơ rôn (tế bào thần kinh) là các đơn vị cơ bản cấu tạo nên mạng nơ rơn, chúng có khả năng thực hiện mợt số tính tốn. Mợt nơ rơn sinh học cấu tạo gồm ba phần: thân, sợi trục, đuôi gai; điểm kết nối giữa sợi trục của một tế bào với đuôi gai của tế bào khác gọi là đầu trước khớp. Các đuôi gai làm nhiệm vụ nhận tín hiệu từ các nơ

30

rơn khác. Thân có chứa nhân, protein tổng hợp và đóng vai trị trung tâm của tế bào nhận các tín hiệu từ đi gai, tính tổng và lấy ngưỡng chúng. Mỗi nơ rơn thường chỉ có mợt sợi trục làm nhiệm vụ truyền dẫn tín hiệu điện từ khớp nối giữa thân và sợi trục đến các đầu khớp. Tín hiệu giữa các nơ rôn được truyền qua các khớp nhờ các chất hóa học. Nơ rơn phân tích tín hiệu nhận được để xác định thơng tin. Cấu trúc mạng nơ rơn và các trọng số liên kết được hình thành qua quá trình học.

Hình 2.10 Mơ hình nơ rơn nhân tạo [40]

Nơ rơn nhân tạo là mơ hình tốn học của nơ rơn sinh học bao gồm ba thành phần chính: các trọng số, bợ tổng và hàm kích thích. Cường đợ liên kết giữa đầu vào và nơ rôn được mô tả bằng giá trị của trọng số, trọng số w là đại lượng vô hướng. Giá

trị âm của w biểu thị sự ức chế, giá trị dương biểu thị kích thích. Giá trị của trọng số và đợ bias b có thể thay đổi được bởi các thuật toán huấn luyện và học để phù hợp

với mục đích cụ thể. Bộ tổng thực hiện cợng tuyến tính các tham số ngõ vào theo

trọng số tương ứng. Bộ tổng tương đương với thân nơ rơn.

Hàm kích thích điều khiển ngõ ra, giá trị của ngõ ra thường nằm trong khoảng từ -1

đến 1 hoặc từ 0 đến 1. Hàm kích thích tương ứng với tín hiệu truyền trên sợi trục, có thể là tuyến tính hoặc khơng tuyến tính. Hàm kích thích thường được chọn bởi người thiết kế để thỏa mãn một số yêu cầu cụ thể mà nơ rôn cần giải quyết. Một số hàm kích thích thường dùng: hàm ngưỡng, hàm tuyến tính, hàm log-sigmoid.

Σ f P1 P2 P3 PR W1,1 W1,R 1 b n a

Input Neuron w Vector Input

a=f(Wp+b)

Where R=number of

elements in input vector

31

2.4.3 Kiến trúc mạng

Mạng nơ rôn bao gồm các nơ rôn được liên kết với nhau theo các quy luật. Một mạng nơ rôn bao gồm các thành phần:

Các đơn vị xử lý là các nơ rơn, tính tốn tín hiệu thu được từ ngõ vào mạng hoặc từ các nơ rôn khác, tạo ra các tín hiệu truyền đến các nơ rôn khác hoặc ngõ ra của mạng. Nơ rơn cịn làm nhiệm vụ điều chỉnh các trọng số. Các nơ rơn trong mạng được tính tốn song song. Bên trong mạng thường chia thành 3 loại nơ rơn: nơ rơn ngõ vào (nhận tín hiệu từ bên ngồi mạng), được ký hiệu bằng chỉ số i (input), nơ rôn ngõ ra làm nhiệm vụ truyền tín hiệu ra ngoài mạng, ký hiệu bằng chỉ số o (output), nơ rôn lớp ẩn ký hiệu bằng chỉ số h (hidden).

Trạng thái kích thích yk (lối ra của mỗi nơ rôn).

Giữa các nơ rôn được liên kết với nhau bởi các trọng số liên kết thể hiện sự tác động của nơ rôn này lên nơ rôn khác.

32

2.4.3.1 Số lớp trong mạng

 Mạng mợt lớp

Mạng có R đầu vào và S nơ rơn, mỗi đầu vào được nối với tất cả các nơ rôn. Số đầu vào thường khác với số nơ rơn. Hàm truyền của mỗi nơ rơn có thể khác nhau. Tác đợng của vector đầu vào p đối với mạng thể hiện qua ma trận liên kết W:

Hình 2.11 Mạng nơ rơn mợt lớp với S nơ rơn [40]

33

Hình 2.12 Mơ hình mạng ANN mợt lớp gồm S nơ rơn [40]

Trong đó p là vectơ đầu vào có chiều dài R, W là ma trận gồm SxR phần tử, a,b là

các vectơ có chiều dài S.

 Mạng nhiều lớp

34

Trong mạng nhiều lớp, mỗi lớp có mợt ma trận trọng số W, vectơ bias b, vectơ lối

vào n và vectơ lối ra a.

Mạng nhiều lớp có các lớp vào, ra và lớp ẩn.

Ký hiệu rút gọn:

Hình 2.14 Mạng ANN 3 lớp dạng rút gọn [40]

Đối với mạng mợt lớp hoặc hai lớp ta có thể xác định được ngay số nơ rôn của mỗi lớp bằng bao nhiêu căn cứ trên yêu cầu của bài tốn có bao nhiêu biến đầu vào và đầu ra. Phụ thuộc vào yêu cầu bài tốn mà ta xác định được hàm kích thích. Trong trường hợp mạng có nhiều hơn 2 lớp, các lớp ẩn có số nơ rơn bằng bao nhiêu có thể dự đốn được nhờ mợt số yếu tố, đây là lĩnh vực nghiên cứu nhằm tối ưu hoạt động của mạng.

Đối với phần lớn các bài toán, số lớp thường dừng lại ở hai hoặc ba lớp. Mạng từ bốn lớp trở lên hiếm khi được sử dụng. Mạng nhiều lớp mạnh mẽ hơn nhiều so với mạng mợt lớp, chúng có thể xấp xỉ phần lớn các hàm tốn học mà mạng mợt lớp khơng làm được.

35

2.4.3.2 Cấu hình mạng

 Feed-forward

Là mạng mà đầu ra của lớp thứ nhất là đầu vào của các lớp tiếp theo. Không có phản hồi từ đầu ra của lớp sau đến đầu vào của lớp trước.

 Feedback (recurrent network)

Là mạng có phản hồi, mợt số đầu ra của mạng được kết nối với đầu vào.

Hình 2.15 Mơ hình mạng có phản hồi [40]

2.4.4 Huấn luyện mạng nơ rôn

Huấn luyện là quá trình làm thay đổi các trọng số liên kết và bias của mạng để mạng thực hiện được một nhiệm vụ cụ thể. ANN được huấn luyện theo kiểu huấn luyện có giám sát [29], hoặc huấn luyện không giám sát [30-31]. Trong các bài tốn phân loại và nhận dạng, h́n luyện có giám sát được sử dụng phổ biến.

Huấn luyện có giám sát: Mạng được huấn luyện nhờ các cặp dữ liệu vào và ra mong muốn. Các trọng số liên kết của mạng thay đổi sao cho sự sai khác giữa dữ liệu ra

36

của mạng và dữ liệu ra mong muốn nhỏ nhất. Luật huấn luyện sử dụng kết quả so sánh để điều chỉnh trọng số liên kết và bias của mạng.

Giai đoạn huấn luyện: dữ liệu được đưa tới ngõ vào mạng. Sai khác giữa ngõ ra của đáp ứng hệ thống và đáp ứng mong muốn được tính tốn. Sai khác này được phản hồi lại cho hệ thống và điều chỉnh các tham số của hệ thống theo một thuật tốn. Q trình này lặp đi lặp lại cho đến khi chất lượng của hệ thống đạt đến một ngưỡng cho trước. Như vậy, chất lượng của hệ thống phụ tḥc hồn toàn vào dữ liệu huấn luyện. Nếu mợt bài tốn có rất ít dữ liệu hoặc dữ liệu khơng phủ hết các điều kiện khác nhau thì giải pháp mạng nơ rôn là không hợp lý. Trong trường hợp lượng dữ liệu phong phú tuy nhiên sự hiểu biết về nó chưa đầy đủ để xây dựng mợt mơ hình chính xác thì giải pháp mạng nơ rơn là phù hợp.

2.4.5 Luật học mạng nơ rơn

Trong q trình học, các trọng số liên kết và bias của mạng thay đổi cho phù hợp với các mẫu được h́n luyện. Tuy nhiên, có nhiều tiêu chí để thay đổi các trọng số này. Tiêu chí để các trọng số thay đổi có thể là chất lượng. Các luật làm thay đổi các trọng số liên kết và bias gọi là luật học của mạng.

2.4.5.1 Luật học dựa trên chất lượng

Luật học dựa trên chất lượng là mợt lớp luật học quan trọng, trong đó các tham số của mạng được điều chỉnh để tối ưu chất lượng của mạng.

Chỉ số chất lượng là số đo định lượng của chất lượng. Chỉ số chất lượng được chọn sao cho giá trị của chỉ số chất lượng nhỏ khi mạng thực hiện tốt và lớn khi mạng thực hiện kém.

Quá trình tối ưu chất lượng là quá trình tìm các tham số để giảm giá trị của chỉ số (hay làm tăng chất lượng của mạng). Chỉ số chất lượng là một hàm số của các trọng số liên kết. Nhiệm vụ của bài tốn tối ưu là tìm được điểm cực tiểu và hướng để hàm đạt cực tiểu nhanh nhất. Tìm được điểm tối ưu của các trọng số liên kết, nghĩa là tìm điểm cực tiểu toàn cục của hàm số.

37

Sai số bình phương trung bình: mạng được h́n luyện bởi phương pháp có giám sát với tập hợp các mẫu để học:

p t1, 1 , p t2, 2,,pQ,tQ (2.36)

Trong đó pq là vector lối vào của mạng và tq là lối ra tương ứng mong muốn. Lối ra của mạng là:

T

aw pb (2.37)

Với wT là vector trọng số liên kết của mạng ANN. Đặt , phương

trình (2.37) có thể viết lại thành:

T

ax z (2.38)

Sai số bình phương trung bình của mạng được tính bằng trung bình bình phương giữa sai số lối ra mong muốn và lối ra thực tế của mạng:

   2  2 2 T FE e Eta Et        x x z (2.39) Khai triển:   2 2   2 T T T 2 T T T F xE t  tx zx zz xE t   x E tzx Ezz x (2.40) Đặt

Biểu thức (2.40) trên viết lại thành:

  2 T T

F x  c x h x 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à bias. Ta biết rằng, mợt hàm số có thể khai triển thành chuỗi theo công thức Taylor.

38               * * * * 2 * * 1 2 T T F F F F             x x x x x x x x x x x x x x (2.42)

Trong đó là gradient và được định nghĩa theo công thức:

        1 2 T n F F F F x x x               x x x x (2.43)

và là Hessian, được định nghĩa như sau:

(2.44)

Điều kiện cần để mợt điểm là cực tiểu tồn cục là gradient tại điểm đó phải bằng 0. Điều kiện đủ là Ma trận Hessian là xác định dương.

Việc tìm điểm tối ưu là tìm điểm theo đó hướng của gradient (đạo hàm bậc nhất) giảm nhanh nhất (độ dốc nhất). Đợ dốc lớn nhất xảy ra theo hướng tại đó tích vơ hướng của gradient và vectơ theo hướng đó có giá trị lớn nhất. Nghĩa là hướng của vectơ trùng với hướng của gradient.

39

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 tố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 tố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 tố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) và 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 tố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à q trình học có giám sát và thuật toán là

back Propagation (thuật tốn tổng qt hóa của thuật tốn bình phương trung bì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

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 (Trang 44)

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

(162 trang)