chương 1 – Giới thiệu đề tài, cấu trúc luận văn còn có các chương khác sau : Chương 2 – Cơ sở lý thuyết: trình bày cơ sở lý thuyết mạng nơron nhân tạo ứng dụng trong công tác dự báo dữ liệu chuỗi thời gian và hai phương pháp thu giảm số chiều PAA và PIP. Chương 3 – Kết hợp mạng nơron nhân tạo và các phương pháp thu giảm số chiều: trình bày hai khả năng kết hợp mạng nơron với phương pháp thu giảm số chiều. Chương 4 – Hiện thực và thực nghiệm: trình bày cấu trúc tổng quát và giao diện của chương trình hiện thực việc kết hợp mạng nơron với h ai phương pháp thu giảm số chiều nêu trên; trình bày và phân tích kết quả so sánh trong các trường hợp kết hợp mạng nơron với hai phương pháp thu giảm số chiều khác nhau, với các bộ dữ liệu mẫu. Chương 5 – Kết luận: trình bày kết luận về khả năng kết hợp mạng nơron với các phương pháp thu giảm số chiều.
Cơ sở lý thuyết 8 CHƯƠNG 2. CƠ SỞ LÝ THUYẾT Chương này trình bày cơ sở lý thuyết mạng nơron và các giải thuật học, phương pháp thu giảm số chiều PAA và PIP. Đây là nền tảng lý thuyết phục vụ cho mục tiêu của đề tài là kết hợp mạng nơron với các phương pháp thu giảm số chiều, sẽ được trình bày cụ thể ở các chương sau. MẠNG NƠRON NHÂN TẠO 2.
Cấu trúc mạng nơron nhân tạo Mạng thần kinh nhân tạo hay mạng nơron nhân tạo (Artificial Neural Networks - ANN) mô phỏng cấu trúc, cách thức hoạt động và sự kết nối, trao đổi thông tin giữa các nơron thần kinh sinh học trong một mạng thần kinh sinh học.1 mô tả một nơron sinh học trong hệ thần kinh của con người. Một nơron sinh học bao gồm nhiều sợi nhánh (dendrites) hay tua gai, tua tủa như rể cây, tiếp nhận tín hiệu, xung điện của một nơron khác truyền vào thân (nhân) tế bào. Tín hiệu sẽ được truyền tiếp thông qua sợi trục (axon), đến sợi nhánh hay tua gai của một nơron khác nữa. Vị trí kết nối giữa sợi trục của nơron này với sợi nhánh của nơron khác gọi là synapse.
Sự kết nối chằng chịt, liên tiếp giữa các nơron sinh học tạo nên mạng nơron sinh học, như Hình 2. Giống như mạng nơron sinh học, mạng nơron nhân tạo là sự kết nối liên tiếp nhiều nơron (nốt) với nhau.3 minh họa sự kết nối nhiều nốt với nhau, mỗi nốt được biểu diễn bằng một vòng tròn, các kết nối là các đường nối giữa các nốt. Mạng nơron nhân tạo có cấu trúc nhiều tầng: một tầng nhập (input level), một hoặc nhiều tầng ẩn (hidden level) và một tầng xuất (output level). Các nốt tương ứng với tầng nhập, tầng ẩn, tầng xuất gọi là nốt nhập, nốt ẩn và nốt xuất.
Các nốt cùng tầng không kết nối với nhau. Một nốt là một đơn vị tính toán hay một đơn vị xử lý thông tin. Cơ sở lý thuyết 9 Hình 2.1 Một nơron sinh học1 Hình 2.2 Mạng nơron sinh học 2 Mỗi nốt nhận thông tin đầu vào (input) và xuất kết quả xử lý đầu ra (output). “Output” của một nốt bất kỳ có thể trở thành “input” của một nốt khác, thông qua kết nối giữa hai nốt đó.
Mỗi kết nối được gán cho một trọng số (connection weight). 1 Nguồn: http://diendan.php?t=36174, ngày 27-11-2012 2 Nguồn: http://www.net/turing_archive/pages/reference%20articles/connectionism/Turing's%20neural%20n etworks.html, ngày 27-11-2012 Chương 2. Cơ sở lý thuyết 10 Hình 2.3 Mạng nơron nhân tạo đa tầng 1 2. Một đơn vị tính toán trong mạng nơron Như đã trình bày, mỗi nốt trong mạng nơron nhân tạo được xem như là một đơn vị tính toán hay một đơn vị xử lý thông tin.
Một nơron nhân tạo còn được gọi là một nút, một nốt (node), cũng có khi được gọi là một perceptron. Nó cũng có các thành phần, các kết nối và vai trò tương t ự một nơron sinh học. Quá trình tính toán của một nốt trong mạng nơron nhân tạo được minh họa trong Hình 2.4 Quá trình tính toán của một đơn vị tính toán (một nốt) 1 Nguồn: http://dms.hr/tutorial/tut_nnets_short.php, ngày 27-11-2012 Chương 2. Cơ sở lý thuyết 11 Một nốt k sẽ nhận một tập dữ liệu đầu vào là x1, x2,…, xp.
Sau khi xử lý, tính toán sẽ cho ra một kết quả đầu ra yk. Kết quả đầu ra yk, thông qua các kết nối, sẽ được chuyển đến một nốt kế tiếp ở tầng tiếp theo như là dữ liệu đầu vào của nốt kế tiếp đó. Mỗi kết nối được đặc trưng bởi một trọng số của riêng nó. Tức là một tín hiệu tại đầu vào xj của kết nối j nối với nốt k sẽ được nhân với trọng số kết nối wkj.
Trong đó, k là chỉ số của nơron tại đầu ra của kết nối đang xét, còn j là chỉ số đầu vào của kết nối. Các trọng số kết nối của một nốt có thể nhận cả các giá trị âm và các giá trị dương. Một hàm tổng hợp (summing junction hay sumarization function) dùng để tính tổng các tín hiệu đầu vào của nốt, đã đư ợc nhân với các trọng số kết nối tương ứng. Một hàm hoạt tính hay hàm kích hoạt (activation function) để giới hạn biên độ đầu ra của nơron.
Hàm kích hoạt cũng đư ợc xem xét như là một hàm nén. Nó nén (giới hạn) phạm vi biên độ cho phép của tín hiệu đầu ra trong một khoảng giá trị hữu hạn. Một đơn vị tính toán còn bao gồm một hệ số điều chỉnh bias bk. Hệ số hiệu chỉnh bk có tác dụng làm tăng lên hoặc giảm đi đầu vào thực của hàm kích hoạt, tùy theo nó dương hay âm.
Kết quả của hàm tổng hợp sẽ được chuyển qua cho hàm kích hoạt. Kết quả của hàm kích hoạt là kết quả đầu ra yk của nơron. Các nốt tương ứng với tầng nhập, tầng ẩn, tầng xuất gọi là nốt nhập, nốt ẩn và nốt xuất. Các nốt cùng tầng không kết nối với nhau.
Một nốt là một đơn vị tính toán hay một đơn vị xử lý thông tin. Mỗi nốt nhận thông tin đầu vào (input) và xuất kết quả xử lý đầu ra (output). “Output” của một nốt bất kỳ có thể trở thành “input” của một nốt khác, thông qua kết nối giữa hai nốt đó. Mỗi kết nối được gán cho một trọng số (connection weight).
Mô hình kết nối mạng nơron Có hai cách truyền tín hiệu hay kết quả đầu ra (output) trong mạng nơron, tạo nên hai mô hình kết nối (topology) mạng nơron: mạng lan truyền tiến (feedforward neural network - FFNN) và mạng hồi quy (recurrent neural network). Mạng lan truyền tiến là mạng mà kết quả đầu ra đi từ tầng nhập, qua tầng ẩn và đến thẳng tầng xuất. Đây là mô hình đư ợc sử dụng nhiều nhất cho vấn đề dự báo.5 Mạng nơron lan truyền tiến Mạng hồi quy là mạng mà kết quả đầu ra ở một tầng ẩn trở thành dữ liệu đầu vào của tầng nhập, được minh họa trong Hình 2.6 Mạng nơron hồi quy Chương 2. Quá trình xử lý trong mạng nơron Tập dữ liệu đầu vào (x1, x2,…, xp) đưa vào tầng nhập.
Các nốt nhập sẽ sử dụng dữ liệu đầu vào (x1, x2,…, xp) để tính toán kết quả đầu ra y=f(x1, x2,…, xp). Sau đó, truyền kết quả tính toán đầu ra y thành đầu vào của tầng ẩn tiếp theo. Các nốt ở tầng ẩn sẽ sử dụng đầu vào của mình để tiếp tục tính toán kết quả đầu ra một cách tương tự, và truyền kết quả đầu ra qua tầng kế tiếp. Quá trình như thế được tiếp tục cho đến tầng xuất của mạng nơron.
Quá trình huấn luyện mạng nơron Quá trình huấn luyện mạng nơron là quá trình điều chỉnh các trọng số sao cho giá trị đầu ra của mạng nơron gần với kết quả mong muốn nhất. Một số giải thuật để huấn luyện mạng nơron là: giải thuật lan truyền ngược (Backpropagation), và các giải thuật cải tiến trên nó là giải thuật lan truyền ngược kết hợp momentum, giải thuật Resilient Backpropagation (RPROP). Sau đây, chúng tôi trình bày khái quát các giải thuật huấn luyện trong mạng nơron: giải thuật lan truyền ngược, giải thuật lan truyền ngược kết hợp momentum và giải thuật RPROP. Giải thuật lan truyền ngược Giải thuật lan truyền ngược (backpropagation) lặp lại quá trình duyệt tập dữ liệu huấn luyện, xem nó là dữ liệu đầu vào, sau đó tính toán giá trị đầu ra và tính toán lỗi của quá trình huấn luyện.
Lỗi (error) là sự chênh lệch giữa giá trị đầu ra và giá trị thực hay giá trị mong muốn, thông qua hàm lỗi E. Sau đó, các trọng số của các kết nối sẽ được điều chỉnh sao cho hàm lỗi E là tối thiểu. Công thức điều chỉnh trọng số là: Chương 2. Cơ sở lý thuyết 14 với wij(t+1) là trọng số mới tại thời điểm t+1, wij là trọng số tại thời điểm hiện tại t, l là hệ số học, là đạo hàm riêng phần của hàm lỗi E theo trong số wij.
Công thức tính giá trị hàm lỗi của nốt xuất là: Errj = Oj(1 - Oj)(Tj - Oj) với Oj là giá trị đầu ra của nốt j. Tj là giá trị đã biết từ tập huấn luyện. Công thứ tính giá trị hàm lỗi với các nốt ẩn là: với wjk là trọng số của kết nối từ nốt j tới nốt k ở tầng kế tiếp, Errk là giá trị lỗi ở nốt k. Công thức để cập nhật c ác trọng số là: với l là hệ số học (learning rate).
Công thức để cập nhật bias là: 2. Giải thuật lan truyền ngược kết hợp momentum Giải thuật lan truyền ngược được trình bày ở phần trên có nhược điểm là chỉ có thể tìm đư ợc cực trị cục bộ chứ không phải cực trị toàn cục. Ngoài ra, còn có vấn đề chọn hệ số học l sao cho phù hợp. Hệ số học l có ảnh hưởng quan trọng tới thời gian cần thiết để chạm tới ngưỡng hội tụ của hàm lỗi.
Nếu hệ số học quá nhỏ, mạng nơron sẽ cần thực hiện nhiều bước, mỗi bước là mỗi lần tính toán kết quả xuất và hiệu chỉnh các trọng số của mạng, để đạt tới được kết quả chấp nhận được, dẫn tới thời Chương 2. Cơ sở lý thuyết 15 gian hội tụ lâu hơn. Nếu hệ số học quá lớn sẽ làm hàm lỗi dao động qua lại giữa cực trị, ngăn cản lỗi giảm xuống giá trị nhất định [10]. Để giải quyết nhược điểm trên, người ta đưa ra khái niệm momentum.
Momentum là hệ số góp phần giúp cho quá trình chỉnh sửa trọng số giảm khả năng rơi vào các điểm tối thiểu cục bộ và đồng thời giảm thời gian huấn luyện. Giá trị trọng số ở lần huấn luyện hay lần lặp thứ t+1 được tính dựa trên giá trị của các trọng số ở các lần lặp t trước đó. Công thức như sau: Với l là hệ số học, và µ là hệ số momentum.