Đăng ký Đăng nhập
Trang chủ Phát hiện bất thường trên chuỗi thời gian dựa vào mạng nơ ron học sâu lstm ...

Tài liệu Phát hiện bất thường trên chuỗi thời gian dựa vào mạng nơ ron học sâu lstm

.PDF
106
1
133

Mô tả:

ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA ———————————– TRẦN LONG HOÀI PHÁT HIỆN BẤT THƯỜNG TRÊN CHUỖI THỜI GIAN DỰA VÀO MẠNG NƠ-RON HỌC SÂU LSTM Chuyên ngành: Khoa Học Máy Tính Mã số: 8.48.01.01 LUẬN VĂN THẠC SĨ TP. HỒ CHÍ MINH, tháng 8 năm 2021 CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐHQG-HCM Cán bộ hướng dẫn khoa học : PGS.TS Dương Tuấn Anh Cán bộ chấm nhận xét 1 : PGS.TS Nguyễn Thanh Hiên Cán bộ chấm nhận xét 2 : TS. Lê Văn Quốc Anh Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp. HCM ngày 5 tháng 8 năm 2021 (Trực tuyến). Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: (Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ) 1. Chủ Tịch: PGS.TS Huỳnh Tường Nguyên 2. Thư Ký: TS. Nguyễn Tiến Thịnh 3. Phản Biện 1: TS. Lê Văn Quốc Anh 4. Phản Biện 2: PGS.TS. Nguyễn Thanh Hiên 5. Ủy Viên: PGS.TS. Dương Tuấn Anh Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có). CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH ĐẠI HỌC QUỐC GIA TP.HCM CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC BÁCH KHOA Độc lập - Tự Do - Hạnh Phúc NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ và tên học viên: Trần Long Hoài MSHV: 1970122 Ngày, tháng năm sinh: 26/04/1993 Nơi sinh: Hà Tĩnh Ngành: Khoa học Máy Tính Mã số: 8.48.01.01 I. TÊN ĐỀ TÀI: Phát hiện bất thường trên chuỗi thời gian dựa vào mạng nơ-ron học sâu LSTM NHIỆM VỤ VÀ NỘI DUNG : - Tìm hiểu bài toán phát hiện bất thường trên dữ liệu chuỗi thời gian. - Tìm hiều về mạng nơ-ron học sâu LSTM. - Ứng dụng mạng nơ-ron học sâu LSTM để phát hiện bất thường trên dữ liệu chuỗi thời gian. - Hiện thực và thử nghiệm chương trình dùng mạng nơ-ron để phát hiện bất thường trên chuỗi thời gian. - So sánh hiệu quả của mạng nơ-ron học sâu LSTM và giải thuật HOT SAX trong phát hiện bất thường trên chuỗi thời gian. II. NGÀY GIAO NHIỆM VỤ: 20/01/2021 III. NGÀY HOÀN THÀNH NHIỆM VỤ: 20/06/2021 IV. CÁN BỘ HƯỚNG DẪN: PGS.TS. Dương Tuấn Anh Tp. HCM, ngày ........ tháng ......... năm 2021 CÁN BỘ HƯỚNG DẪN CHỦ NHIỆM BỘ MÔN ĐÀO TẠO (Họ tên và chữ ký) (Họ tên và chữ ký) TRƯỞNG KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH (Họ tên và chữ ký) Lời cảm ơn Lời đầu tiên, tôi muốn gửi lời cảm ơn chân thành đến thầy PGS.TS Dương Tuấn Anh, trong thời gian qua, đã hướng dẫn và giúp đỡ tôi trong quá trình thực hiện luận văn tốt nghiệp. Những lời nhận xét, góp ý và hướng dẫn của Thầy đã giúp tôi có hướng đi đúng trong quá trình thực hiện đề tài, giúp chúng tôi thấy được những thuận lợi và hạn chế của các phương pháp tiếp cận khác nhau và từng bước khắc phục để ngày một tốt hơn. Đồng thời tôi cũng muốn gửi lời cảm ơn sâu sắc đến gia đình và bạn bè đã động viên, cổ vũ tinh thần và góp ý trong suốt quá trình học tập và thực hiện đề tài, đặc biệt là gia đình đã chăm lo và hy sinh rất nhiều để tôi có thể chuyên tâm học tập. Sau cùng, tôi xin kính chúc quý Thầy Cô trong khoa Khoa Học và Kĩ Thuật Máy Tính thật dồi dào sức khỏe, niềm tin để tiếp tục thực hiện sứ mệnh cao đẹp của mình là truyền đạt kiến thức cho thế hệ mai sau. Thành phố Hồ Chí Minh, 06/2021 Trần Long Hoài i Tóm tắt Bài toán phát hiện bất thường bằng phương pháp dự báo là bài toán toán được nhiều nhà nghiên cứu trong cộng đồng phát hiện bất thường quan tâm. Bởi vì đây là một cách tiếp cận mới, tận dụng được sự bùng nổ của các mạng nơ-ron học sâu. Phương pháp này gồm hai công tác chính là dự báo dữ liệu và phát hiện bất thường. Các bộ dữ liệu dùng để phát hiện bất thường là các bộ dữ liệu được các nhà nghiên cứu sử dụng nhiều trong công tác phát hiện bất thường, các bộ dữ liệu này là một chuỗi thời gian, có tương quan với nhau. Để có thể dự báo chính xác với dữ liệu chuỗi thời gian có tương quan với nhau, nghiên cứu này đề xuất mô hình sử dụng mạng nơ-ron học sâu LSTM xếp chồng. Ngoài ra để nâng cao khả năng dự báo, chúng tôi cũng áp dụng kỹ thuật dự báo nhiều bước cho mô hình đề xuất. Sai số dự báo sẽ được sử dụng cho công tác phát hiện bất thường. Để đánh giá mô hình, chúng tôi so sánh với giải thuật HOTSAX về kết quả phát hiện bất thường và thời gian thực thi. Kết quả thực nghiệm trên 07 bộ dữ liệu cho thấy mô hình đề xuất của chúng tôi đã khắc phục được hạn chế của việc dựa vào kích thước cửa sổ trượt trong giải thuật HOTSAX, đồng thời cũng khẳng định tiềm năng của phương pháp phát hiện bất thường bằng dự báo. ii Abstract Anomaly detection algorithm with prediction-based technique is the problem in which many researchers in anomaly detection community have been interested. Because this is a new approach, taking advantage of the explosion of deep learning neural networks. This method consists of two main tasks: data prediction and anomaly detection. The data sets used for anomaly detection are the data sets that are widely used by researchers in anomaly detection, these data sets are time series, which are correlated with each other. To be able to accurately predict with correlated time series data, this thesis proposes a model using a stacked LSTM network. In addition to improving the forecasting ability, we also apply multi-step-ahead prediction for this model. Forecast error may be used for anomaly detection. To evaluate the model, we make a comparison with the HOTSAX algorithm on the anomaly detection results and execution time. Experimental results on 07 data sets show that our proposed model has overcome the limitation when relying on sliding window size in the HOTSAX algorithm, and also confirms the potential of anomaly detection algorithm with prediction-based technique. iii Lời cam đoan Tôi là Trần Long Hoài học viên cao học khoa Khoa Học và Kĩ Thuật Máy Tính, Đại học Bách Khoa TP. HCM, MSHV 1970122. Tôi xin cam đoan rằng luận văn thạc sĩ "Phát Hiện Bất Thường Trên Chuỗi Thời gian Dựa Vào Mạng Nơ-Ron Học Sâu LSTM" là kết quả tìm hiểu, nghiên cứu độc lập của chính bản thân. Tôi xin cam đoan: 1. Luận văn được thực hiện cho mục đích tìm hiểu và nghiên cứu ở bậc cao học 2. Các công trình, bài báo tham khảo để xây dựng nên luận văn này đều được trích dẫn, tham khảo. Tất cả các tài liệu được trích dẫn và có tính kế thừa từ các tạp chí và các công trình nghiên cứu đã được công bố 3. Những công cụ, phần mềm cho quá trình thực hiện luận văn đều là phần mềm mã nguồn mở 4. Hình ảnh và số liệu được trích dẫn nguồn tham khảo rõ ràng 5. Kết quả nghiên cứu được trình bày trung thực dựa trên số liệu thực tế khi chạy chương trình TP. Hồ Chí Minh, Ngày ..... Tháng ..... Năm 2021. Học viên Trần Long Hoài iv Mục lục 1 Giới thiệu đề tài 1.1 Đặt vấn đề . . . . . . . 1.2 Mục tiêu nghiên cứu . 1.3 Ý nghĩa đề tài . . . . . 1.4 Kết quả đạt được . . . 1.5 Cấu trúc của luận văn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Cơ sở lý thuyết 2.1 Chuỗi thời gian và dự báo chuỗi thời gian . . . . . . . . . . . . . . 2.2 Chuỗi con và chuỗi con bất thường . . . . . . . . . . . . . . . . . 2.2.1 Chuỗi con . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.2 Chuỗi con bất thường . . . . . . . . . . . . . . . . . . . . 2.3 Phương pháp xấp xỉ gộp từng đoạn . . . . . . . . . . . . . . . . . 2.4 Phương pháp xấp xỉ gộp ký hiệu hóa . . . . . . . . . . . . . . . . 2.5 Mạng nơ-ron nhân tạo (Artiticial Neural Networks - ANN) . . . . 2.6 Mạng nơ-ron hồi quy (Recurrent Neural Network – RNN) . . . . . 2.6.1 Kiến trúc và cách thức hoạt động . . . . . . . . . . . . . . 2.6.2 Vấn đề của RNN . . . . . . . . . . . . . . . . . . . . . . . 2.7 Mạng nơ-ron học sâu Long Short-Term Memory (LSTM) . . . . . 2.8 Mạng nơ-ron học sâu LSTM xếp chồng (Stacked LSTM Network) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 6 7 7 8 . . . . . . . . . . . . 9 9 11 11 11 12 12 14 18 18 19 20 22 3 Những nghiên cứu liên quan 3.1 Dự báo nhiều bước trong dữ liệu chuỗi thời gian (multi-step ahead predictions) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1 Chiến lược hồi quy (Recursive Strategy) . . . . . . . . . . . . . 3.1.2 Chiến lược trực tiếp (Direct Strategy) . . . . . . . . . . . . . . . 3.1.3 Kết hợp chiến lược hồi quy và chiến lược trực tiếp (DirREC Strategy) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.4 Chiến lược nhiều đầu vào – nhiều đầu ra (MIMO Strategy) . . . 3.1.5 Kết hợp chiến lược trực tiếp và chiến lược nhiều đầu vào - nhiều đầu ra (DirMO Strategy) . . . . . . . . . . . . . . . . . . . . . . 3.2 Giải thuật HOT SAX . . . . . . . . . . . . . . . . . . . . . . . . . . . . v 24 24 25 25 26 27 28 29 MỤC LỤC 3.3 3.4 3.5 3.6 3.7 3.8 3.9 Mạng LSTM xếp chồng trong phát hiện chuỗi con bất thường . . . . . Kết hợp mạng nơ-ron học sâu và mô hình xác suất truyền thống . . . . Dự báo dữ liệu và chỉnh sửa bất thường dựa trên mạng LSTM . . . . . Phát hiện bất thường bằng LSTM và so sánh dự báo với giải thuật AMIRA Phát hiện bất thường bằng LSTM sử dụng Kernel Quantile Estimator . Khảo sát về các kỹ thuật phát hiện bất thường sử dụng mạng LSTM . 3.8.1 Phân loại bất thường . . . . . . . . . . . . . . . . . . . . . . . . 3.8.2 Phát hiện bất thường sử dụng mạng LSTM . . . . . . . . . . . Kết luận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Phương pháp giải quyết vấn đề 4.1 Các bộ dữ liệu . . . . . . . . . . . . . . . . . 4.1.1 Bộ dữ liệu điện tâm đồ ECG . . . . . 4.1.2 Bộ dữ liệu nhiệt độ máy Numenta . . 4.1.3 Bộ dữ liệu power_demand . . . . . . 4.1.4 Bộ dữ liệu TEK16 . . . . . . . . . . 4.1.5 Bộ dữ liệu chứng khoán stock_20_0 4.1.6 Bộ dữ liệu memory . . . . . . . . . . 4.1.7 Bộ dữ liệu ann_gun_CentroidA . . . 4.2 Đề xuất mô hình . . . . . . . . . . . . . . . 4.3 Phương pháp phát hiện bất thường . . . . . 4.3.1 Dự báo dữ liệu . . . . . . . . . . . . 4.3.2 Phát hiện bất thường . . . . . . . . . 4.3.3 Các giả định . . . . . . . . . . . . . . 4.3.4 Các bước của giải thuật . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Kết quả thực nghiệm 5.1 Tiêu chí đánh giá . . . . . . . . . . . . . . . . . . . 5.2 Thực nghiệm . . . . . . . . . . . . . . . . . . . . . 5.2.1 Giải thuật HOTSAX . . . . . . . . . . . . . 5.2.2 Mô hình đề xuất . . . . . . . . . . . . . . . 5.2.3 Duy trì trạng thái LSTM trong Keras (State 5.3 Kết quả thực nghiệm . . . . . . . . . . . . . . . . . 5.3.1 Bộ dữ liệu điện tâm đồ ECG . . . . . . . . . 5.3.2 Bộ dữ liệu nhiệt độ máy Numenta . . . . . . 5.3.3 Bộ dữ liệu power_demand . . . . . . . . . . 5.3.4 Bộ dữ liệu TEK16 . . . . . . . . . . . . . . 5.3.5 Bộ dữ liệu chứng khoán stock_20_0 . . . . 5.3.6 Bộ dữ liệu memory . . . . . . . . . . . . . . 5.3.7 Bộ dữ liệu ann_gun_CentroidA . . . . . . . 5.4 Kết luận . . . . . . . . . . . . . . . . . . . . . . . . vi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Maintenance) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 32 34 36 38 40 40 40 42 . . . . . . . . . . . . . . 43 43 44 45 46 47 47 48 48 49 50 51 52 52 53 . . . . . . . . . . . . . . 55 55 58 58 59 62 62 62 65 67 69 71 73 75 79 MỤC LỤC 6 Kết Luận 6.1 Kết quả đạt được . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Hướng nghiên cứu tiếp theo . . . . . . . . . . . . . . . . . . . . . . . . 82 82 84 Tài liệu tham khảo 85 A Bảng đối chiếu thuật ngữ Anh - Việt A1 vii Danh sách hình vẽ 1.1 1.2 Chuỗi con bất thường trên dữ liệu điện tim đồ [1] . . . . . . . . . . . . Một ví dụ về mạng nơ-ron nhân tạo nhiều tầng . . . . . . . . . . . . . 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12 2.13 2.14 Chuỗi thời gian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Phương pháp PAA . . . . . . . . . . . . . . . . . . . . . . . . . . . Phương pháp SAX . . . . . . . . . . . . . . . . . . . . . . . . . . . Bảng tra tìm các giá trị β theo từng giá trị a tương ứng . . . . . . Mô hình mạng MLP với một tầng ẩn . . . . . . . . . . . . . . . . . Mô hình mạng MLP với hai tầng ẩn . . . . . . . . . . . . . . . . . Quy ước đánh chỉ số các trọng số ghép nối giữa các nơ-ron . . . . . Cấu trúc mạng MLP với một tầng vào, một tầng ẩn và một tầng ra Cấu trúc mạng RNN . . . . . . . . . . . . . . . . . . . . . . . . . . Sự lặp lại của các khối nơ-ron trong kiến trúc RNN tiêu chuẩn . . . Sự lặp lại của các khối nơ-ron trong kiến trúc LSTM . . . . . . . . Kiến trúc một đơn vị LSTM . . . . . . . . . . . . . . . . . . . . . . Kiến trúc LSTM xếp chồng . . . . . . . . . . . . . . . . . . . . . . Mạng LSTM xếp chồng . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 Kiến trúc chiến lược hồi quy [2] . . . . . . . . . . . . . . . . . . . . . . Kiến trúc chiến lược trực tiếp [2] . . . . . . . . . . . . . . . . . . . . . Kiến trúc kết hợp chiến lược hồi quy và trực tiếp [2] . . . . . . . . . . . Kiến trúc chiến lược nhiều đầu vào – nhiều đầu ra [2] . . . . . . . . . . Kiến trúc kết hợp chiến lược trực tiếp và nhiều đầu vào–nhiều đầu ra [2] Một chuỗi thời gian được biến đổi PAA rồi mã hóa thành các ký hiệu [1] (a) LSTM cell (b) Kiến trúc LSTM xếp chồng [3] . . . . . . . . . . . . Kiến trúc mô hình kết hợp mạng học sâu và mô hình xác suất [4] . . . Quy trình huấn luyện và dự báo bằng mạng LSTM [5] . . . . . . . . . Sơ đồ hoàn chỉnh của phương pháp tiếp cận được đề xuất [5] . . . . . . Kết quả dự báo dựa trên dữ liệu chưa được hiệu chỉnh [5] . . . . . . . . Dự báo bằng mô hình LSTM và giải thuật AMIRA . . . . . . . . . . . Kết quả phát hiện bất thường . . . . . . . . . . . . . . . . . . . . . . . viii . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 4 9 12 13 13 15 15 16 16 19 20 20 21 23 23 25 26 27 28 28 29 31 32 34 35 36 38 39 DANH SÁCH HÌNH VẼ 3.14 Point anomaly (trái), collective anomaly (giữa) và contextual anomaly (phải) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.15 Kiến trúc hỗn hợp CNN và LSTM để phát hiện bất thường . . . . . . . 3.16 Hướng tiếp cận dựa trên đồ thị trong phát hiện bất thường . . . . . . . 3.17 Hướng tiếp cận dựa trên Transfer Learning trong phát hiện bất thường 40 41 42 42 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 Dữ liệu ECG bình thường . . . . . . Dữ liệu ECG bất thường 1 . . . . . . Dữ liệu ECG bất thường 2 . . . . . . Bộ dữ liệu nhiệt độ máy Numenta . . Bộ dữ liệu power_demand . . . . . . Tuần dữ liệu bình thường . . . . . . Tuần dữ liệu bất thường . . . . . . . Bộ dữ liệu TEK16 . . . . . . . . . . Bộ dữ liệu chứng khoán stock_20_0 Bộ dữ liệu memory . . . . . . . . . . Bộ dữ liệu ann_gun_CentroidA . . . Kiến trúc mô hình đề xuất . . . . . . 44 44 44 45 46 46 46 47 47 48 48 50 5.1 5.2 5.3 5.4 5.5 Mô hình giải thuật HOT SAX . . . . . . . . . . . . . . . . . . . . . . . Mô hình đề xuất . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Phát hiện bất thường trên bộ dữ liệu ECG của mô hình đề xuất . . . . Phát hiện bất thường trên bộ dữ liệu ECG của HOTSAX . . . . . . . . Phát hiện bất thường trên bộ dữ liệu nhiệt độ máy Numenta của mô hình đề xuất . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Phát hiện bất thường trên bộ dữ liệu nhiệt độ máy Numenta của HOTSAX Phát hiện bất thường trên bộ dữ liệu power_demand của mô hình đề xuất . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Phát hiện bất thường trên bộ dữ liệu power_demand của HOTSAX . . Phát hiện bất thường trên bộ dữ liệu TEK16 của mô hình đề xuất . . . Phát hiện bất thường trên bộ dữ liệu TEK16 của HOTSAX . . . . . . Phát hiện bất thường trên bộ dữ liệu stock_20_0 của mô hình đề xuất Phát hiện bất thường trên bộ dữ liệu stock_20_0 của HOTSAX . . . . Phát hiện bất thường trên bộ dữ liệu memory của mô hình đề xuất . . Phát hiện bất thường trên bộ dữ liệu memory của HOTSAX . . . . . . Phát hiện bất thường trên bộ dữ liệu ann_gun_CentroidA kênh X của mô hình đề xuất . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Phát hiện bất thường trên bộ dữ liệu ann_gun_CentroidA kênh Y của mô hình đề xuất . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Phát hiện bất thường trên bộ dữ liệu ann_gun_CentroidA kênh X của HOTSAX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Phát hiện bất thường trên bộ dữ liệu ann_gun_CentroidA kênh Y của HOTSAX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Phát hiện bất thường trên bộ dữ liệu ECG nhân bản của mô hình đề xuất 5.6 5.7 5.8 5.9 5.10 5.11 5.12 5.13 5.14 5.15 5.16 5.17 5.18 5.19 ix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 59 63 64 65 66 67 68 70 70 72 72 74 74 76 77 77 78 80 DANH SÁCH HÌNH VẼ 5.20 Phát hiện bất thường trên bộ dữ liệu ECG nhân bản của HOTSAX . . x 80 Danh sách bảng 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 Thông số thiết lập của HOTSAX và mô hình đề xuất . . . Thời gian thực thi trên bộ dữ liệu ECG . . . . . . . . . . . Thời gian thực thi trên bộ dữ liệu nhiệt độ máy Numenta . Thời gian thực thi trên bộ dữ liệu power_demand . . . . . Thời gian thực thi trên bộ dữ liệu TEK16 . . . . . . . . . Thời gian thực thi trên bộ dữ liệu stock_20_0 . . . . . . . Thời gian thực thi trên bộ dữ liệu memory . . . . . . . . . Thời gian thực thi trên bộ dữ liệu ann_gun_CentroidA . . xi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 64 66 68 70 73 75 78 Chương 1 Giới thiệu đề tài 1.1 Đặt vấn đề Dữ liệu chuỗi thời gian (time series data) là dữ liệu đo đạc được một cách tuần tự theo thời gian. Có rất nhiều loại dữ liệu có yếu tố thời gian như vậy, ví dụ như dữ liệu điện tâm đồ (ECG), dữ liệu thiên văn, thời tiết, mực nước, dữ liệu tài chính, giá chứng khoán. . . Một nghiên cứu khảo sát về các hướng nghiên cứu quan trọng và đang là thách thức trong lĩnh vực khai thác dữ liệu (data mining) và học máy (Machine Learning) được thực hiện vào năm 2006 bởi Yang và Wu [6] cho kết quả 10 hướng nghiên cứu chính. Trong đó, hướng nghiên cứu về khai phá dữ liệu chuỗi thời gian được xếp thứ 3 trong 10 hướng nghiên cứu quan trọng và thách thức nhất. Do đó, việc khai phá dữ liệu chuỗi thời gian đã và đang thu hút rất nhiều sự quan tâm nghiên cứu trên thế giới. Các bài toán tiêu biểu trong khai phá chuỗi dữ liệu thời gian bao gồm: Lập chỉ mục (Indexing), Gom cụm (Clustering), Phân tầng (Classification), Tổng hợp (Summarization), Phát hiện Motif (Motif detection), Phát hiện chuỗi con bất thường (Anomaly detection). Khai phá dữ liệu chuỗi thời gian được ứng dụng rộng rãi trong nhiều lĩnh vực như y tế, kinh tế, tài chính, chứng khoán, quản lý mạng truyền thông. . . Các lĩnh vực này thường cần độ chính xác cao. Trong khi đó, những chuỗi con bất thường (anomalous subsequences) trên dữ liệu chuỗi thời gian thường ảnh hưởng rất nhiều đến kết quả khai phá dữ liệu. Hình 1.1 mô tả một chuỗi con bất thường trên đoạn dữ liệu điện tâm đồ (ECG). Vì vậy, việc phát hiện chuỗi con 1 CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI bất thường trên dữ liệu chuỗi thời gian đóng vai trò rất quan trọng và thường được dùng như bước tiền xử lý cho những bài toán khai phá dữ liệu sau này. Sau đây là một vài ứng dụng quan trọng của bài toán phát hiện chuỗi con bất thường: Hình 1.1: Chuỗi con bất thường trên dữ liệu điện tim đồ [1] Phát hiện bất thường của xung nhịp tim trên dữ liệu điện tim đồ (ECG) [7] [1]: thông thường dữ liệu điện tim ECG là những chuỗi thời gian tuần hoàn ghi lại các biến thiên của các điện lực do tim phát ra trong hoạt động co. Một bất thường trong dữ liệu này có thể là một mẫu không phù hợp (non-conforming pattern) về mặt chu kỳ hoặc biên độ, điều này chỉ ra rằng bệnh nhân có vấn đề về sức khoẻ. Phát hiện bất thường của chuyến bay sử dụng dữ liệu cảm biến từ máy bay: hành vi hệ thống của chuyến bay được thể hiện bởi dữ liệu cảm biến thông qua các thông số khác nhau. Các thông số này có giá trị thay đổi trong suốt quá trình bay. Nếu dữ liệu cảm biến có chuỗi con bất thường thì có thể hành vi hệ thống chuyến bay đang có sai lệch, cần cảnh báo [8]. Phát hiện tấn công trong các hệ thống tư vấn (Recommender system): tấn công Shilling, trong đó kẻ tấn công đưa ra các xếp hạng, đánh giá có thiên vị để ảnh hưởng đến những kết quả tư vấn, gợi ý trong tương lai [9]. Như vậy, phát hiện chuỗi con bất thường là một bài toán quan trọng, nhưng cũng nhiều thách thức trong dữ liệu chuỗi thời gian. Bởi vì dữ liệu đầu vào có thể chịu ảnh hưởng của nhiều yếu tố, dẫn đến sự không ổn định, hỗn loạn và có nhiều thành phần nhiễu (ví dụ như giá chứng khoán) [10]. Chính vì thế, không thể có một thông tin đầy đủ nào có thể biễu diễn chính xác mối quan hệ giữa giá trị tương lai với những giá trị trong quá khứ. Do đó, đối với bài toán phát hiện bất thường, các nhà nghiên cứu thường giả định rằng dữ liệu trong quá khứ có thể đại diện cho tất cả yếu tố tác động trong quá khứ, và dùng nó để dự 2 CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI đoán cho dữ liệu tương lai. Trong thời gian gần đây, nhiều phương pháp phát hiện bất thường trong dữ liệu chuỗi thời gian đã được các nhà nghiên cứu áp dụng và mang lại hiệu quả trong các bài toán thực tế. Nổi bật trong số đó, có thể kể đến các phương pháp như: phương pháp dựa trên cửa sổ trượt (sliding-window-based method), phương pháp dựa trên bài toán phân loại (classification-based method), phương pháp dựa trên bài toán phân đoạn (segmentation-based method). Gần đây nhất là phương pháp phát hiện bất thường dựa trên bài toán dự báo (prediction-based method). Đối với phương pháp phát hiện bất thường dựa trên bài toán dự báo, chúng ta có thể chia nó thành hai bài toán con. Thứ nhất là bài toán dự báo đối với dữ liệu chuỗi thời gian. Thứ hai là bài toán phát hiện bất thường dựa trên dữ liệu được dự báo. Đi sâu vào bài toán dự báo dữ liệu chuỗi thời gian, nhiều năm trước, các nhà nghiên cứu đã sử dụng nhiều kỹ thuật tuyến tính để giải quyết bài toán này, một trong số đó là mô hình Auto-Regressive Intergrated Moving Average (AMIRA) [11]. Vì đơn giản và phổ biến, nên phương pháp này thường được dùng để so sánh với các phương pháp hiện tại. Tuy nhiên, việc giả định chuỗi dữ liệu tuyến tính và không ổn định là không phù hợp với dữ liệu thực tế, vốn phi tuyến và hỗn loạn. Với ưu điểm có thể mô hình hoá các dữ liệu phi tuyến, các mạng nơ-ron học sâu đã và đang thể hiện hiệu quả của mình trong các bài toán dự báo. Đầu tiên có thể kể đến mạng nơ-ron nhân tạo (Artiticial Neural Networks - ANN). Nhiều nghiên cứu đã chứng minh rằng, ANN là một kỹ thuật hiệu quả để dự báo chuỗi dữ liệu thời gian. Tang và Fishwich [12], Wang và Leu [13], Jan và các cộng sự [14] đã chỉ ra rằng, ANN cho kết quả tốt hơn mô hình AMIRA, đặc biệt với dữ liệu không ổn định. Kết quả này có được là do khả năng mô hình hoá các hàm phi tuyến mà không cần bất cứ giả định nào của dữ liệu đầu vào. Bên cạnh đó, ANN cũng bộc lộ điểm yếu khi số lượng kết nối giữa các tầng quá lớn, dẫn đến trọng số của kiến trúc này nhiều. Điều này làm cho ANN không thể xây dựng được các mô hình phức tạp và dễ bị hiện tượng quá khớp (overfitting) mà không thể làm tốt với dữ liệu ngoài thực tế. Theo các giáo sư LeCun, Bengio và Hinton, học sâu (deep learning) cho phép các mô hình tính toán gồm nhiều tầng xử lý để học biểu diễn dữ liệu với nhiều 3 CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI mức trừu tượng khác nhau [15]. Thời gian gần đây, học sâu dựa trên mạng nơron nhân tạo (ANN) đang chứng minh được sự hiệu quả. Với việc sử dụng nhiều tầng nơ-ron, mạng nơ-ron học sâu đã biểu diễn dữ liệu tốt hơn so với các mạng truyền thống khác. Hình 1.2 mô tả một ví dụ về mạng nơ-ron nhân tạo có nhiều tầng. Hình 1.2: Một ví dụ về mạng nơ-ron nhân tạo nhiều tầng Phần bên trái hình 1.2 cho thấy một mạng nơ-ron gồm nhiều tầng, trong đó nơ-ron của tầng trước kết nối đầy đủ (fully-connected) với các nơ-ron của tầng sau. Mạng nơ-ron dạng này là mạng nơ-ron truyền thẳng (Feed-forward Neural Networks – FNN) hay mạng perceptron nhiều tầng (Multilayer Perceptron – MLP). Phần bên phải của hình 1.2 mô tả cơ chế lan truyền ngược để tính đạo hàm của hàm chi phí (hàm J) theo tham số ở từng tầng của mô hình. Với kiến trúc độc đáo, mạng nơ-ron hồi quy (Recurrent Neural Network - RNN) [16] [17] được biết đến nhiều trong các bài toán có dữ liệu chuỗi thời gian: dịch máy, chuyển giọng nói thành chữ và ngược lại, ECG, giá chứng khoán. . . Một điểm nổi bật của RNN chính là ý tưởng kết nối các thông tin phía trước để dự đoán cho hiện tại, các thông tin này khá gần với hiện tại. Nhưng, RNN lại thể hiện rõ khuyết điểm với dữ liệu có tính phụ thuộc xa (long-term dependency), hay nói cách khác là dữ liệu tại thời điểm hiện tại chịu ảnh hưởng của dữ liệu khá lâu trong quá khứ. Như một điều tất yếu, mạng nơ-ron học sâu Long Short 4 CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI Time Memory (LSTM) [18] xuất hiện như phiên bản nâng cấp của RNN, với sự kế thừa các ưu điểm của RNN, và giải quyết được vấn đề đối với dữ liệu có tính phụ thuộc xa trong mô hình RNN truyền thống. Mạng nơ-ron học sâu LSTM được giới thiệu bởi Hochreiter và Schmidhuber (1997), và sau đó đã được cải tiến rất nhiều. Chúng hoạt động rất hiệu quả trên nhiều bài toán khác nhau nên dần đã trở nên phổ biến như hiện nay. Mạng nơ-ron học sâu LSTM được thiết kế để tránh được vấn đề phụ thuộc xa. Đi sâu vào bài toán con thứ hai, phát hiện bất thường là một trong những bài toán thú vị và đầy thách thức. Mỗi kiểu dữ liệu chúng ta lại có một phương pháp đặc thù để xác định bất thường. Từ thập niên 1980, các nhóm nghiên cứu đã đề xuất nhiều phương pháp phát hiện chuỗi bất thường trên dữ liệu chuỗi thời gian. Nhìn chung, các phương pháp này dựa vào các kỹ thuật như: dùng xác suất thống kê đơn giản như Cu-Mulative Sum (CUSUM) hoặc Exponentially Weighted Moving Average (EWMA), hoặc phương pháp phát hiện bất thường dựa vào mật độ và khoảng cách. Bên cạnh đó cũng có các phương pháp đã được đề cập ở đầu chương như: phương pháp dựa vào cửa sổ trượt, sự tương tự, mô hình Markov ẩn, phân lớp hoặc phân đoạn. Các phương pháp này bộc lộ nhược điểm như: có nhiều loại bất thường trong dữ liệu, khó xác định độ dài chuỗi con, chuỗi thời gian kiểm thử và chuỗi thời gian huấn luyện có độ dài khác nhau, chuỗi thời gian trong thực tế thường dài và khi độ dài tăng thì độ phức tạp tính toán cũng tăng lên. Trong nhóm phương pháp dựa vào cửa sổ trượt, có hai phương pháp để giải quyết bài toán phát hiện chuỗi con bất thường này được nhiều nhà nghiên cứu quan tâm và ưa chuộng, đó là giải thuật HOT SAX của Keogh và các cộng sự [1], giải thuật WAT của Fu và các cộng sự [19]. Một hướng đi khác, năm 2015, Malhotra và các cộng sự đã sử dụng ưu thế của mạng nơ-ron học sâu để giải quyết bài toán phát hiện bất thường [3], bằng việc sử dụng mạng LSTM xếp chồng và sử dụng phân phối sai số dự báo để phát hiện bất thường. Bên cạnh đó, Buda và cộng sự đã kết hợp ưu thế của mạng nơ-ron học sâu, cũng như tính hiệu quả của mô hình AMIRA đối với dữ liệu tuyến tính và có tính ổn định để tăng hiệu quả cho bài toán dự báo, từ đó góp phần tăng độ 5 CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI chính xác cho bài toán dự báo [4]. 1.2 Mục tiêu nghiên cứu Với những tiềm năng đầy hứa hẹn của các mạng nơ-ron học sâu, trong nghiên cứu này chúng tôi sẽ áp dụng ưu thế của mạng nơ-ron học sâu trong bài toán dự báo, và dựa vào đó để phát hiện chuỗi con bất thường trên dữ liệu chuỗi thời gian. Để giải quyết được bài toán đề ra, chúng tôi sẽ xây mô hình học sâu, trọng tâm sử dụng mạng nơ-ron học sâu LSTM, vì các tập dữ liệu đều có sự tương quan giữa giá trị lịch sử tới giá trị hiện tại. Mặt khác, trong những năm gần đây, các nhà nghiên cứu đã sử dụng mạng nơ-ron học sâu LSTM trong các bài toán dự đoán giá trị của chuỗi thời gian và đạt kết quả tốt so với các kỹ thuật khác. Một bước tiến xa là các kết quả nghiên cứu này còn có thể được sử dụng trong các ứng dụng thực tế. Kế thừa nghiên cứu của Malhotra và các cộng sự [3], chúng tôi sẽ xây dựng mạng nơ-ron học sâu LSTM xếp chồng cho bài toán dự báo và sử dụng giải thuật phân phối sai số dự báo [20] cho bài toán phát hiện chuỗi con bất thường. Bên cạnh đó, kỹ thuật dự báo nhiều bước (multi-step ahead prediction) cũng sẽ được chúng tôi áp dụng để tăng tính hiệu quả cho chặng dự báo của công tác phát hiện bất thường [2]. Nghiên cứu sẽ sử dụng những bộ dữ liệu mẫu từ các công trình đi trước. Những bộ dữ liệu này đã được đánh dấu chuỗi con bất thường. Nghiên cứu sẽ sử dụng những chuỗi con bất thường này để huấn luyện và đánh giá. Ngoài ra, nghiên cứu cũng so sánh với giải thuật HOT SAX, một phương pháp nhận dạng chuỗi con bất thường được nhiều nhà nghiên cứu ưa chuộng. Chúng tôi sẽ so sánh về độ chính xác của các chuỗi con bất thường được phát hiện. Từ những kết luận rút ra được, chúng ta sẽ biết được phương pháp nào hiệu quả hơn trong công tác phát hiện chuỗi con bất thường trên dữ liệu chuỗi thời gian. Những điều này là những yếu tố quan trong khi sử dụng trong thực tế. 6
- Xem thêm -

Tài liệu liên quan