5. Ý nghĩa thực tiễn của đề tài
2.4 Mạng thần kinh nhân tạo
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 ngồ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 toán phân loại và nhận dạng, huấ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 huấ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 tồ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
a w 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
a x 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 F E e E ta E t x x z (2.39) Khai triển: 2 2 2 T T T 2 T T T F x E t tx zx zz xE t x E tz x Ezz 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 ln 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à quá trình học có giám sát và thuật tố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 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 tố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 tḥ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 m m m m 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. p là 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 tố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 M s 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 tố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 tố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 a W 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 tố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 tốn của hệ thống