HUONG GIAI QUYET CUA DE TAI
CHUONG 2 CƠ SỞ LÝ THUYET
2.4 PHAN LOẠI DU LIEU SONG NAO BẰNG MẠNG NƠRON NHÂN TẠO Phân loại dữ liệu là bước tiếp theo sau của bước trích đặc trưng và là bước cudi
phân loại dữ liệu như phương pháp LDA (Linear Discriminant Analysis), SVM (Support Vector Machines), ANN (Artificial Neural Networks),... Trong mang
ANN lai được phân chia làm nhiều loại: Mang perceptron, mạng truyền thang Adaline, mạng truyền thang lan truyền ngược, mạng hồi quy... Trong luận văn này mạng Noron truyền thăng luật học lan truyền ngược được dùng dé huấn
luyện và phan loại dữ liệu.
2.4.1 Mạng lan truyền ngược
Mạng thần kinh nhân tạo bắt nguồn từ mong muốn bắt chước hoạt động
của não người. Nó được xem là mô hình toán học đơn giản của bộ não con
người. Không giống như các mô hình tính toán thông thường, hầu hết các mạng thân kinh phải được huấn luyện mối quan hệ giữa đầu ra và vào
trước khi sử dụng.
Các nghiên cứu về mạng thần kinh nhân tạo bắt đầu từ thập niên 1940. Năm 1944, McCulloch va Pitts công bố công trình nghiên cứu về liên kết các tế bào thần kinh. Năm 1949, Hebb công bố nghiên cứu về tính thích
Trang 21
C2: CƠ SỞ LY THUYET HVTH: Phạm Bá Toàn
nghi của mang thần kinh. Cuối những năm 1950, Rosenblatt đưa ra mang
perceptron. Năm 1985, mang Hopfield ra đời va sau ẽ năm mang lan
truyén nguoc [19].
MOTOR IMAGERY FEATURES
a
OUTPUT LAYER
HIDDEN LAYER INPUT LAYER
Hình 2.11. Cau trúc của mạng truyền thắng nhiều lớp Mạng lan truyền ngược cực tiểu hóa hàm sai số trong không gian các trọng số băng phương pháp suy giảm gradient. Bởi vì phương pháp này tính toán gradient của hàm sai số tại mỗi vòng lập nên đòi hỏi hàm sai số phải liên tục và khả phân. Do đó mạng lan truyền ngược sử dụng hàm kích
hoạt khác với hàm bước được sử dụng trong mạng perceptron. Một trong
những hàm kích hoạt được sử dụng nhiều nhất là hàm sigmoid được biểu diễn băng công thức (2.19) và hình dạng của hàm sigmoid ở hình 2.12:
S(x)= |
lte” (2.19)
"` n5... xa
° — —
Hình 2.12. Hình dang của ham sigmoid
Trang 22
C2: CƠ SỞ LY THUYET HVTH: Phạm Bá Toàn
Xét một mang lan truyên ngược có n ngõ vào, m ngõ ra, có chứa một sô nơron lớp ân và có tập mâu dữ liệu huần luyện (vào-ra) mong muôn {(x;, t1), (Xa, t¿).... (Xp, tp)} chứa p cặp vector mxn. Các bộ trọng sô sẽ được chọn ngâu nhiên. Khi tập dữ liệu x; được huan luyện sẽ tạo ra tập ngõ ra o;
khác với t; , lúc đó hàm sai số E được tính theo công thức [20]:
b= "`. -t,) (220)] Dpi=l
Thuat toan lan truyén ngược được su dụng để tìm cực tiêu cục bộ của hàm sai số. Do đó các gradient của hàm sai số sẽ được tính toán dé thay đổi giá trị trọng số ban đầu. Các trọng số là thông SỐ duy nhất được thay đôi dé giảm sai số và mỗi trọng số sẽ tăng thêm một lượng [20]:
Aw = — 2E (2.21)
Ow s- ` z k ` kK 4a ` k Ee
Với w là vector các trọng sô trong mạng, 7 là toc độ hoc (hăng sô), X
W
đạo hàm ham sai số theo w. Công thức (2.21) cho ta thay rằng, các trọng
số của mạng di chuyển theo hướng âm của gradient hàm sai số. Các trọng
số sẽ được cập nhật dựa trên các vector đầu vào và vector mục tiêu tương ứng dùng để huấn luyện mạng. Sau mỗi vòng lập giá trị các trọng số sẽ được cập nhật cho đến khi thỏa mãn sai số yêu cầu.
Một yếu tố khác ảnh hưởng tới tính hội tụ của thuật toán lan truyền ngược
là tốc độ học n. Gia tri 7 lớn làm tăng tốc độ học, nhưng quá lớn sẽ làm
thuật toán không hội tụ, ngược lại giá trị nhỏ đảm bảo thuật toán luôn
hội tụ nhưng tốc độ học lại rất chậm. Phương pháp vừa đảm bảo thuật toán lan truyền ngược vừa hội tụ vừa huấn luyện nhanh là dùng hệ số học thích nghi. Sau mỗi bước lặp ta kiểm tra trọng số vừa được cập nhật có làm giảm tiêu chuẩn huấn luyện mang không, nếu không có nghĩa là đã xảy ra
vọt lô, do đó can giảm 7. Ngược lại nêu vài bước lặp liên tiêp mà tiêu
Trang 23
C2: CƠ SỞ LY THUYET HVTH: Phạm Bá Toàn
chuẩn huấn luyện mạng đều giảm thi 7 quá nhỏ, trong trường hợp này can tăng 7. Thuật toán hệ số học thích nghỉ được mô tả bởi biểu thức [19]:
mk +l) =n(k)+An (2.22)
an(k)
An = 4—bn(k) (2.23)
0
với a là tỉ lệ tăng tốc độ học, b là ti lệ giảm tốc độ học, z(k) là tốc độ học
ở vòng lặp thứ k.
2.4.2 Kiến trúc mạng lan truyền ngược
Mặc dù, về mặt lý thuyết, có tồn tại một mạng có thể mô phỏng một bài toán với độ chính xác bất ky [22]. Tuy nhiên, dé có thé tìm ra mạng này không phải là điều đơn giản. Để định nghĩa chính xác một kiến trúc mạng như: can sử dụng bao nhiêu lớp ân, mỗi lớp an can có bao nhiêu đơn vị xử
lý cho một bài toán cụ thể là một công việc hết sức khó khăn. Dưới đây trình bày một số vấn đề cần quan tâm khi ta thiết kế một mạng.
Số lớp an: vì các mạng có hai lớp an có thé thể hiện các hàm với dáng điệu bất kỳ, nên về lý thuyết, không có lý do nào sử dụng các mạng có nhiều hơn hai lớp an. Người ta đã xác định răng đối với phan lớn các bài toán cụ thể, chỉ cần sử dụng một lớp ân cho mang là đủ [22]. Các bài toán
sử dung hai lớp an hiếm khi xảy ra trong thực tế. Thậm chí đối với các bài toán cần sử dụng nhiều hơn một lớp an thì trong phan lớn các trường hợp trong thực té, SỬ dụng chỉ một lớp ân cho ta hiệu năng tốt hơn là sử dụng nhiều hơn một lớp. Việc huấn luyện mạng thường rất chậm khi mà số lớp
ân sử dụng càng nhiều. Có thể đối với một bài toán cụ thể, sử dụng nhiều hơn một lớp ân với chỉ một vài đơn vị thì tốt hơn là sử dụng ít lớp ấn với
số đơn vị là lớn, đặc biệt đối với các mạng cần phải học các hàm không liên tục. Về tong thé, nguoi ta cho rang việc đầu tiên là nên xem xét khả năng sử dung mang chi có một lớp an. Nếu dùng một lớp ân với một số
lượng lớn các đơn vị mà không có hiệu quả thì nên sử dụng thêm một lớp
ân nữa với một so it các đơn vi.
Trang 24
C2: CƠ SỞ LY THUYET HVTH: Phạm Bá Toàn
Số đơn vị trong lớp ân: một vẫn đề quan trọng trong việc thiết kế một mạng là cần có bao nhiêu đơn vị trong mỗi lớp. Sử dụng quá ít đơn vị có thé dẫn đến việc không thể nhận dạng được các tín hiệu day đủ trong một tập dữ liệu phức tap, hay thiếu ăn khớp (underfitting). Sử dụng quá nhiều đơn vị sẽ tăng thời gian luyện mạng, có lẽ là quá nhiều để luyện khi mà không thé luyện mạng trong một khoảng thời gian hợp lý. Số lượng lớn các đơn vị có thể dẫn đến tình trạng thừa ăn khớp (overfitting), trong trường hợp này mạng có quá nhiều thông tin, hoặc lượng thông tin trong tập dữ liệu mẫu (training set) không đủ các dữ liệu đặc trưng để huấn luyện mạng. Số lượng tốt nhất của các đơn vị ân phụ thuộc vào rất nhiều yếu tO - số đầu vào, dau ra của mạng, số trường hợp trong tập mau, độ nhiễu của dữ liệu đích, độ phức tạp của hàm lỗi, kiến trúc mạng và thuật toán luyện mạng. Theo [21] có thể chọn số đơn vị trong lớp ân như sau:
e Số đơn vị trong lớp ân năm giữa khoảng kích thước lớp vào và lớp ra.
e Số don vị trong lớp ân băng 2/3 tong kích thước lớp vào và lớp ra.
e Số don vị trong lớp ân nhỏ hon hai lần kích thước lớp vào.
e Số đơn vị trong lớp an bang căn bậc hai của tích kích thước lớp vào và
lớp ra.
Các luật này chỉ có thé được coi như là các lựa chon thô khi chọn lựa kích thước của các lớp. Chúng không phản ánh được thực tế, bởi lẽ chúng chỉ xem xét đến nhân t6 kích thước đầu vào, đầu ra mà bỏ qua các nhân
tố quan trọng khác như: số trường hợp đưa vào huấn luyện, độ nhiễu ở các đầu ra mong muốn, độ phức tạp của hàm lỗi, kiến trúc của mạng (truyền thăng hay hôi quy) và thuật toán học.
Trong phan lớn các trường hợp, không có một cách để có thé dé dàng xác định được số tối ưu các don vị trong lớp an mà không phải luyện mang sử dụng số các đơn vị trong lớp an khác nhau va dự báo lỗi tong quát hóa của từng lựa chọn. Cách tốt nhất là sử dụng phương pháp thử-sai (trial- and-error). Trong thực tế, có thể sử dụng phương pháp lựa chọn tiễn
Trang 25
C2: CƠ SỞ LY THUYET HVTH: Phạm Bá Toàn
(forward selection) hay lựa chọn lùi (backward selection) dé xác định số đơn vị trong lớp an.
Lựa chọn tiến bắt đầu với việc chọn một luật hợp lý cho việc đánh giá hiệu năng của mạng. Sau đó, ta chọn một số nhỏ các đơn vị an, luyện và thử mạng: ghi lại hiệu năng của mạng. Sau đó, tăng một chút số đơn vị ân; luyện và thử lại cho đến khi lỗi là chấp nhận được, hoặc không có tiến triển đáng kế so với trước.
Lựa chọn lùi, ngược với lựa chọn tiễn, bắt đầu với một số lớn các đơn vị trong lớp an, sau đó giảm dan đi. Quá trình này rất tốn thời gian nhưng sẽ giúp ta tìm được số lượng đơn vị phù hợp cho lớp an.