Chương 1: Giới thiệu vấn đề. Chương 2: Đề cập đến cơ sở lý thuyết giới thiệu về mạng nơ ron nhân tạo bao gồm cấu trúc, nguyên lý hoạt động và giải thuật được ứng dụng. Chương 3: Giới thiệu các công trình liên quan và giải thuật áp dụng. Chương 4: Giới thiệu về giải thuật Levenberg-Marquardt.
Chương 5: Hiện thực, thử nghiệm và đánh giá giải thuật Chương 6: Tổng kết và báo cáo kết quả đạt được của đề tài. 2 Huấn luyện mạng nơ ron bằng giải thuật Levenberg-Marquardt. Chương 2: Cơ sở lý thuyết. Để có hiệu quả cao trong khi làm việc với dữ liệu chuỗi thời gian sử dụng mạng nơ ron thì việc quan trọng hiểu được nguyên lý hoạt động của mạng nơ ron và các kỹ thuật được dùng làm nền tảng để tìm điểm tối thiểu.
Trong chương này sẽ làm rõ về mạng nơ ron và các kỹ thuật tìm kiếm cũng như những giải thuật đã từng áp dụng để đạt được điểm cực tiểu của hàm lỗi trong không gian trọng số.1 Giới thiệu mạng Nơ ron nhân tạo. Mạng Nơ ron nhân tạo (Artificial Neural Network- ANN) là mô hình xử lý thông tin được mô phỏng dựa trên hoạt động của hệ thống thần kinh của sinh vật, bao gồm số lượng lớn các Nơ ron được gắn kết để xử lý thông tin. ANN giống như bộ não con người, được học bởi kinh nghiệm (thông qua huấn luyện), có khả năng lưu giữ những kinh nghiệm hiểu biết (tri thức) và sử dụng những tri thức đó trong việc dự đoán các dữ liệu chưa biết (unseen data). Trong quá trình phát triển, mạng nơ ron nhân tạo đã được ứng dụng thành công trong nhiều bài toán thực tế như nhận dạng chữ viết, nhận dạng tiếng nói, điều khiển tự động, dự báo chuỗi thời gian, dự báo dòng chảy các con sông… 2.2 Cấu trúc mạng Nơ ron nhân tạo Cấu trúc của mạng bao gồm các đơn vị tính toán đơn giản (tượng trưng cho các nơ ron) được liên kết với nhau bằng các cạnh có trọng số (tượng trưng cho các khớp thần kinh) bao gồm: Các đơn vị đầu vào, nhận tín hiệu từ bên ngoài.
Các đơn vị đầu ra, gửi dữ liệu ra bên ngoài. Các đơn vị ẩn, tín hiệu vào của nó được truyền từ các đơn vị trước nó và tín hiệu ra được truyền đến các đơn vị sau nó trong mạng. Hàm kích hoạt là hàm toán học dung đế tính toán đầu ra cho một đơn vị (nơ ron). Thường sử dụng các hàm như: - Hàm đồng nhất: g ( x ) x.
3 Huấn luyện mạng nơ ron bằng giải thuật Levenberg-Marquardt. - Hàm ngưỡng: g ( x) 10 1 - Hàm sigmoid: g ( x) 1 e x 1 e x Hàm lưỡng cực: g ( x) - 1 e x Hình 2.1 minh họa một đơn vị tính toán trong mạng thần kinh nhân tạo. Hình ảnh của một đơn vị tính toán trong mạng thần kinh nhân tạo (ANN) [16]. Các đơn vị liên kết với nhau tạo thành mạng nơ ron nhân tạo.
Sự liên kết giữa hai đơn vị được biểu thị bằng trọng số, giá trị các trọng số cho chúng ta biết độ mạnh yếu liên kết giữa các đơn vị. Hình dạng của mạng nơ ron nhân tạo rất khác nhau phụ thuộc vào số lượng các đơn vị và cách thức liên kết. Có hai dạng mạng cơ bản mạng truyền thẳng và mạng hồi quy: Mạng truyền thẳng (Feed-forward neural network): Một đơn vị ở lớp đứng trước sẽ kết nối với tất cả các đơn vị ở lớp đứng sau. Tín hiệu chỉ được truyền theo một hướng từ lớp đầu vào qua các lớp ẩn (nếu có) và đến lớp đầu ra.
Nghĩa là tín hiệu ra của một đơn vị không được phép truyền cho các đơn vị 4 Huấn luyện mạng nơ ron bằng giải thuật Levenberg-Marquardt. trong cùng lớp hay ở lớp trước. Đây là loại mạng rất phổ biến và được dung nhiều trong việc dự báo dữ liệu chuỗi thời gian (hình 2. Mạng truyền thẳng [4].
Mạng hồi quy (Recurrent neural network): Khác với mạng truyền thẳng, mạng hồi quy có chứa các liên kết ngược từ một đơn vị đến các đơn vị ở lớp trước nó (hình 2. Chức năng của một mạng nơ ron được quyết định bởi các nhân tố như: hình dạng mạng (số lớp, số đơn vị trên mỗi lớp, cách mà các lớp được liên kết với nhau) và các trọng số của các liên kết bên trong mạng. Hình dạng của mạng thường là cố định, và các trọng số được quyết định bởi một thuật toán huấn luyện (training algorithm). Tiến trình điều chỉnh các trọng số để mạng “nhận biết” được quan hệ giữa đầu vào và đầu ra mong muốn được gọi là học (learning) hay huấn luyện (training).
Rất nhiều thuật toán huấn luyện đã được phát minh để tìm ra tập trọng số tối ưu làm giải pháp cho các bài toán. Các thuật toán đó có thể chia làm hai nhóm chính: Học có giám sát (Supervised learning) và Học không có giám sát (Unsupervised Learning). 5 Huấn luyện mạng nơ ron bằng giải thuật Levenberg-Marquardt. … … … Output Input Hidden Hình 2.
Mạng hồi quy [4]. Học có giám sát: Mạng được huấn luyện bằng cách cung cấp cho nó các mẫu dữ liệu mẫu đầu vào đã được phân lớp đúng cho trước [7]. Các cặp này có sẵn trong quá trình thu nhập dữ liệu. Sự khác biệt giữa các đầu ra theo tính toán trên mạng so với các đầu ra mong muốn được thuật toán sử dụng để điều chỉnh các trọng số trong mạng.
Điều này thường được đưa ra như một bài toán xấp xỉ hàm số - cho dữ liệu huấn luyện bao gồm các cặp mẫu đầu vào x, và một đích tương ứng t, mục đích là tìm ra hàm f(x) hay đúng hơn là tìm bộ trọng số phù hợp nhất để thoả mãn tất cả các mẫu học đầu vào [6]. Đây là mô hình học rất phổ biến trong việc áp dụng mạng nơ ron vào bài toán dự báo.4 Mô hình học có giám sát [4]. 6 Huấn luyện mạng nơ ron bằng giải thuật Levenberg-Marquardt. Học không có giám sát: với cách học không có giám sát, trong giai đoạn huấn luyện sẽ không dùng bộ dữ liệu có phân lớp đúng cho trước.
Mạng sẽ phải khám phá các đặc trưng, các điều chỉnh, các mối tương quan, hay các lớp trong dữ liệu vào một cách tự động. Nói một cách khác, học không có giám sát luôn thực hiện một công việc tương tự như một mạng tự liên hợp, cô đọng thông tin từ dữ liệu vào.3 Nguyên tắc hoạt động và luật huấn luyện.1 Nguyên tắc hoạt động. Mạng nơ ron nhân tạo được thiết kế bằng các trọng số giữa các nơ ron, hàm chuyển và luật huấn luyện. Mục tiêu của việc huấn luyện là đưa hàm lỗi đạt được giá trị cựa tiểu, việc này trải qua một quá trình hoạt động kết hợp giữa việc tính toán tại điểm nốt mạng (đơn vị) gọi là perceptron, thuật toán và luật huấn luyện.
Perceptron là đơn vị cơ bản của mạng như hình 2.1, nhận đầu vào là tổ hợp tuyến tính và sử dụng hàm toán học để tính toán, đầu ra là một giá trị hay kết quả phân lớp tùy thuộc vào bài toán đang ứng dụng. Một cách trực quan, perceptron được mô hình như hình 2. w1 w2 Input O w3 Net Input Activation … function w0 wn Hình 2.1 Đơn vị mạng nơ ron [16]. 7 Huấn luyện mạng nơ ron bằng giải thuật Levenberg-Marquardt.
Perceptron nhận đầu vào là tổ hợp tuyến tính của một vector n chiều w = n w x và đầu ra là một giá trị o = f ( w) , hay phân thành lớp ví dụ: i 1 i i 1 Nếu o( x1 , x2 .xn ) 1 Trường hợp khác wi là biểu diễn giá trị đóng góp của xi vào giá trị xuất ra của perceptron. Xét một mạng nơ ron nhân tạo đơn giản bao gồm một đơn vị (perceptron). Nếu xem các vector nhập ( x0 , x1 ,., xn ) là các điểm trên không gian n +1 chiều ( x0 luôn là 1) thì perceptron biểu diễn một mặt quyết định (decision surface) xem một điểm có nằm trên một siêu phẳng (hyperplane) có phương trình là w. Perceptron sẽ xuất ra giá trị 1 cho các điểm nằm trên siêu phẳng này và xuất ra -1 cho các điểm còn lại.2 Siêu phẳng phân chia các điểm [4].3 không tìm được siêu phẳng chia các điểm [4].
Trong thực tế, ta thường có sẵn một bộ dữ liệu mẫu gồm một tập các điểm được gán nhãn dương và âm. Bài toán huấn luyện perceptron là bài toán xác định vector w sau cho siêu phẳng w.x 0 phân chia các điểm trong tập mẫu một cách chính xác theo các nhãn của nó. Thực tế có một số bộ dữ liệu mà không thể tìm thấy bất kỳ siêu phẳng nào có thể phân chia đúng các điểm của nó như hình 2.3, các bộ dữ liệu đó được gọi là tập dữ liệu không khả phân tuyến tính (not linearly separable). Ngược lại nếu một bộ dữ liệu có thể được 8 Huấn luyện mạng nơ ron bằng giải thuật Levenberg-Marquardt.
phân chia đúng bởi một siêu phẳng nào đó thì gọi là khả phân tuyến tính điều này được trực quan hóa như hình 2. Quá trình huấn luyện một perceptron là một quá trình tìm kiếm một vector w trên một không gian thực n + 1 chiều sao cho nó có khả năng phân xuất ra các giá trị +1, -1 một cách đúng đắn cho một tập dữ liệu nào đó.2 Luật huấn luyện. Có hai luật huấn luyện được dùng trong mạng nơ ron đó là luật: Luật huấn luyện perceptron và luật delta [4]. a) Luật perceptron: Để tìm một vector w thích hợp, trước hết ta áp dụng một perceptron với trọng số w ngẫu nhiên qua từng mẫu của tập dữ liệu huấn luyện và hiệu chỉnh các trọng số này khi có sự phân loại sai tập mẫu.
Quá trình này được lặp đi lặp lại cho đến khi perceptron đã phân loại đúng tất cả các mẫu của tập huấn luyện. Các trọng số được cập nhập theo luật: wi wi wi wi (t o) xi. Ở đây o là giá trị xuất của perceptron, t là giá trị đích của mẫu huấn luyện hiện thời, xi là giá trị nhập thứ i, là hệ số học (learning rate) có vai trò điều tiết mức độ thay đổi của trọng số trong các bước cập nhập. Nó thông thường được gán một giá trị dương nhỏ (ví dụ 0.1) và được điều chỉnh giảm khi số lần cập nhập trọng số tăng lên.