BỘ GIÁO DỤC VÀ ĐÀO TẠO

VIỆN HÀN LÂM KHOA HỌC VÀ CÔNG NGHỆ VIỆT NAM

HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ VIỆT NAM

Bùi Minh Thành

NGHIÊN CỨU PHƯƠNG PHÁP PHÁT HIỆN SỰ KIỆN CỰC HIẾM BẰNG MÔ HÌNH AUTOENCODER VÀ ỨNG DỤNG VÀO DỰ BÁO TRƯỚC SỰ CỐ TRONG NHÀ MÁY GIẤY

Chuyên ngành: Hệ thống thông tin

Mã số: 8480104

LUẬN VĂN THẠC SĨ: CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. Nguyễn Việt Anh

Hà Nội - 2020

2

LỜI CAM ĐOAN

Tôi xin cam đoan đề tài: “Nghiên cứu phương pháp phát hiện sự kiện cực hiếm bằng mô hình Autoencoder và ứng dụng vào dự báo trước sự cố trong nhà máy giấy” là luận văn do bản thân tôi trực tiếp thực hiện. Tất cả những sự giúp đỡ cho việc xây dựng cơ sở lý luận cho bài luận đều được trích dẫn đầy đủ và ghi rõ nguồn gốc rõ ràng và được phép công bố.

Tôi xin hoàn toàn chịu trách nhiệm trước pháp luật về những cam kết này.

Hà Nội, ngày 18 tháng 07 năm 2020

Tác giả luận văn

Bùi Minh Thành

3

LỜI CẢM ƠN

Trong quá trình học tập, nghiên cứu và hoàn thành luận văn này, tôi đã nhận được rất nhiều sự động viên, khuyến khích và giúp đỡ nhiệt tình của các Thầy Cô, anh chị em, bạn bè đồng nghiệp và gia đình.

Trước tiên tôi xin cảm ơn Ban giám hiệu, Phòng đào tạo cùng các thầy cô trong Học viện Khoa học và Công nghệ Việt Nam đã giúp đỡ và tạo điều kiện tốt cho tôi học tập trong thời gian qua.

Tôi cũng xin cảm ơn các thầy cô trong Viện Công nghệ thông tin thuộc Viện Hàn lâm Khoa học và Công nghệ Việt Nam đã đã truyền đạt cho tôi những kiến thức chuyên sâu về chuyên ngành trong suốt thời gian học tập, để tôi có được nền tảng kiến thức hỗ trợ rất lớn cho tôi trong quá trình làm luận văn thạc sĩ.

Tôi cũng muốn bày tỏ sự biết ơn sâu sắc đến Tiến sĩ Nguyễn Việt Anh với tư cách là người trực tiếp hướng dẫn, tận tình chỉ bảo và giúp đỡ cho tôi trong suốt quá trình thực hiện luận văn này.

Cuối cùng, tôi xin gửi lời cảm ơn đến gia đình và bạn bè, đồng nghiệp vì đã luôn hỗ trợ tôi và khuyến khích liên tục trong suốt những năm học tập và qua quá trình nghiên cứu và viết luận văn này. Thành tựu này sẽ không thể có được nếu không có họ.

Xin chân thành cảm ơn tất cả mọi người!

4

Danh mục các ký hiệu và chữ viết tắt

Từ viết tắt Nghĩa

ANN Artificial neural networks (Mạng nơ-ron nhân tạo)

MLP

Multi-layer Perceptron (Mạng nơ-ron Perceptron đa lớp)

LSTM

Long short-term memory (Mạng nơ-ron bộ nhớ ngắn hạn)

GRU

Gated Recurrent Units (Mạng nơ-ron đơn vị tái phát có kiểm soát)

RNN

Recurrent Neural Network (Mạng nơ-ron hồi quy hay mạng nơ-ron tái phát)

PCA

Principal Component Analysis (Phương pháp phân tích thành phần chính)

MNIST Institute of Standards and

Modified National Technology (Bộ dữ liệu chữ số viết tay)

NMT Neural Machine Translation (máy dịch nơ-ron)

RELU Rectified Linear Unit

AUC Area under the curve

ROC Receiver operating characteristic curve

mse mean squared error (lỗi bình phương trung bình)

5

Danh mục các bảng

Bảng 3.1. Giá trị hàm mất mát mô hình MLP Autoencoder ........................... 48

Bảng 3.2. Tỉ lệ thu hồi MLP Autoencoder ở ngưỡng FPR = 4% ................... 49

Bảng 3.3. Giá trị hàm mất mát mô hình LSTM Autoencoder ........................ 62

Bảng 3.4. So sánh tỉ lệ thu hồi MLP và LSTM Autoencoder ......................... 63

Bảng 3.5. Tỉ lệ thu hồi LSTM Autoencoder ở ngưỡng FPR = 4% ................. 64

6

Danh mục các hình vẽ, đồ thị

Hình 2.1. Phương pháp nhân bản mẫu dương tính ......................................... 20

Hình 2.2. Phương pháp giảm số lượng mẫu âm tính ...................................... 21

Hình 2.3. Phương pháp tạo thêm mẫu dương tính bằng thuật toán ................ 22

Hình 2.4. Mô hình Autoencoder mã hóa tự động số 4 .................................... 24

Hình 2.5. Kiến trúc mạng nơ-ron Autoencoder .............................................. 25

Hình 2.6. Kiến trúc mạng MLP Autoencoder ................................................. 27

Hình 2.7. Kiến trúc mạng LSTM Autoencoder .............................................. 28

Hình 2.8. Kiến trúc mạng Convolutional Autoencoder .................................. 29

Hình 2.9. Kết quả mã hóa bộ dữ liệu MNIST bằng PCA và Linear Autoencoder ......................................................................................................................... 31

Hình 2.10. Hình ảnh được khôi phục sau khi nén bằng PCA và Autoencoder ......................................................................................................................... 32

Hình 2.11. Mô hình đào tạo mạng Autoencoder để khử nhiễu hình ảnh ........ 33

Hình 2.12. Hình ảnh sử dụng Autoencoder để khử nhiễu .............................. 34

Hình 2.13. Dử dụng Autoencoder để tô màu hình ảnh ................................... 34

Hình 2.14. Tăng độ phân giải hình ảnh với Convolutional Autoencoder ....... 35

Hình 2.15. Mô hình MLP Autoencoder dự đoán sự kiện hiếm ...................... 36

Hình 2.16. Mô hình LSTM Encoder dự đoán sự kiện hiếm ........................... 37

Hình 3.1. Hình ảnh về một dây chuyền sản xuất trong nhà máy giấy ............ 39

Hình 3.2. MLP Autoencoder 2 lớp ẩn ở khối mã hóa và giải mã ................... 41

Hình 3.3. Dữ liệu trước và sau khi dán nhãn lại ............................................. 43

Hình 3.4. Loại bỏ các trường không cần thiết ................................................. 43

Hình 3.5. Dữ liệu sau khi chuẩn hóa ............................................................... 45

Hình 3.6. Lập trình mạng nơ-ron MLP Autoencoder ..................................... 46

7

Hình 3.7. Cấu trúc mô hình MLP Autoencoder .............................................. 46

Hình 3.8. Mô-đun huấn luyện mô hình MLP Autoencoder ............................ 47

Hình 3.9. Huấn luyện mô hình MLP Autoencoder ......................................... 47

Hình 3.10. Lịch sử huấn luyện mạng MLP Autoencoder ............................... 48

Hình 3.11. Kết quả dự báo mô hình MLP Autoencoder ................................. 50

Hình 3.12. Biểu đồ ROC, AUC mô hình MLP Autoencoder ......................... 51

Hình 3.13. Phân bố lỗi theo chỉ mục của MLP Autoencoder ......................... 53

Hình 3.14. Bộ mã hóa tự động LSTM Autoencoder ....................................... 55

Hình 3.15. Dữ liệu trước và sau khi dán nhãn lại ........................................... 57

Hình 3.16. Dữ liệu đầu vào cho mô hình LSTM Autoencoder ...................... 58

Hình 3.17. Lập trình mạng nơ-ron LSTM Autoencoder ................................. 59

Hình 3.18. Cấu trúc mô hình LSTM Autoencoder ......................................... 60

Hình 3.19. Mô-đun huấn luyện mô hình LSTM Autoencoder ....................... 60

Hình 3.20. Huấn luyện mô hình LSTM Autoencoder .................................... 61

Hình 3.21. Lịch sử huấn luyện mạng LSTM Autoencoder ............................. 62

Hình 3.22. Biểu đồ ROC, AUC mô hình MLP Autoencoder ......................... 63

Hình 3.23. Kết quả dự báo mô hình LSTM Autoencoder .............................. 65

Hình 3.24. Phân bố lỗi theo chỉ mục của MLP Autoencoder ......................... 65

8

MỤC LỤC

LỜI CAM ĐOAN ............................................................................................ 2

LỜI CẢM ƠN .................................................................................................. 3

Danh mục các ký hiệu và chữ viết tắt ............................................................ 4

Danh mục các bảng ......................................................................................... 5

Danh mục các hình vẽ, đồ thị ......................................................................... 6

MỤC LỤC ........................................................................................................ 8

MỞ ĐẦU ........................................................................................................ 10

1. Lý do chọn đề tài ............................................................................... 10

2. Mục đích nghiên cứu ........................................................................ 13

3. Nhiệm vụ nghiên cứu ........................................................................ 13

4. Đối tượng và phạm vi nghiên cứu ................................................... 13

5. Phương pháp nghiên cứu ................................................................. 13

Chương 1. TỔNG QUAN VỀ SỰ KIỆN HIẾM ......................................... 14

1.1. KHÁI NIỆM VỀ SỰ KIỆN HIẾM .................................................... 14

1.1.1. Định nghĩa sự kiện hiếm ......................................................... 14

1.1.2. Các sự kiện hiếm trong tự nhiên và xã hội ........................... 15

1.2. BÀI TOÁN DỰ BÁO TRƯỚC SỰ KIỆN HIẾM ............................. 17

Chương 2. PHƯƠNG PHÁP PHÁT HIỆN SỰ KIỆN HIẾM ................... 19

2.1. TÌM HIỂU CÁC PHƯƠNG PHÁP PHÁT HIỆN SỰ KIỆN HIẾM . 19

2.1.1. Nhân bản mẫu dương tính ..................................................... 19

2.1.2. Giảm số lượng mẫu âm tính .................................................. 20

2.1.3. Tạo thêm các mẫu dương tính bằng thuật toán ................... 21

2.1.4. Điều chỉnh trọng số học tập các mẫu .................................... 22

2.1.5. Đánh giá các phương pháp cân bằng số lượng mẫu ............ 22

9

2.2. PHƯƠNG PHÁP PHÁT HIỆN SỰ KIỆN HIẾM BẰNG MÔ HÌNH AUTOENCODER ..................................................................................... 24

2.2.1. Mô hình Autoencoder ............................................................. 24

2.2.2. Sử dụng Autoencoder phát hiện sự kiện hiếm ..................... 36

Chương 3. ỨNG DỤNG MÔ HÌNH AUTOENCODER ĐỂ DỰ BÁO TRƯỚC SỰ CỐ TRONG NHÀ MÁY GIẤY ............................................. 38

3.1. BÀI TOÁN DỰ BÁO SỰ CỐ TRONG NHÀ MÁY GIẤY ............. 38

3.1.1. Phát biểu bài toán ................................................................... 38

3.1.2. Bộ dữ liệu nhà máy giấy ......................................................... 39

3.1.3. Mục tiêu của bài toán ............................................................. 40

3.2. ỨNG DỤNG MÔ HÌNH MLP AUTOENCODER CHO BÀI TOÁN….. .................................................................................................. 41

3.2.1. Tiếp cận bài toán với mô hình MLP Autoencoder .............. 41

3.2.2. Xây dựng mô hình MLP Autoencoder cho bài toán ........... 41

3.2.3. Các bước lập trình MLP Autoencoder cho bài toán ........... 42

3.2.4. Kết quả thử nghiệm và đánh giá mô hình ............................ 47

3.3. ỨNG DỤNG MÔ HÌNH LSTM AUTOENCODER CHO BÀI TOÁN… .................................................................................................... 54

3.3.1. Tiếp cận bài toán với mô hình LSTM Autoencoder ............ 54

3.3.2. Xây dựng mô hình LSTM Autoencoder cho bài toán ......... 55

3.3.3. Các bước lập trình LSTM Autoencoder cho bài toán ......... 56

3.3.4. Kết quả thử nghiệm và đánh giá mô hình ............................ 61

Chương 4. KẾT LUẬN VÀ KIẾN NGHỊ ................................................... 67

4.1. KẾT LUẬN ........................................................................................ 67

4.2. KIẾN NGHỊ ....................................................................................... 68

TÀI LIỆU THAM KHẢO ............................................................................ 69

10

MỞ ĐẦU

1. Lý do chọn đề tài

Ngày nay trong bối cảnh cuộc cách mạng công nghiệp 4.0 phát triển như vũ bão, các doanh nghiệp ngày càng chú trọng đầu tư vào các hoạt động nghiên cứu, phát triển và ứng dụng công nghệ thông tin vào quản lý sản xuất kinh doanh. Ngay tại Việt Nam, gần 90% các doanh nghiệp đã và đang từng bước ứng dụng Công nghệ thông tin vào quản lý doanh nghiệp nhằm nâng cao hiệu quả hoạt động sản xuất kinh doanh để có thể bắt kịp với xu hướng toàn cầu. Trong các lĩnh vực công nghệ thông tin áp dụng vào phục vụ sản xuất kinh doanh, các nghiên cứu và ứng dụng để phân loại và dự báo là một trong những hướng ứng dụng được sử dụng nhiều nhất và đem lại hiệu quả cao nhất cho doanh nghiệp, tăng khả năng cạnh tranh của doanh nghiệp trong bối cảnh hội nhập quốc tế sâu rộng.

Thông thường trong các lĩnh vực phân loại và dự báo, các nghiên cứu thường hay sử dụng các bộ dữ liệu có số phần tử trong mỗi lớp tương đối cân bằng nhau. Tuy nhiên trong thực tế, số trường hợp có số phần tử trong bộ dữ liệu cân bằng nhau khá ít. Đa số các trường hợp bộ dữ liệu có số phần tử mỗi lớp bất đối xứng, chênh lệch nhau rất nhiều lần. Trong các bài toán phân loại 2 lớp, thường thì các trường hợp của lớp cần dự đoán là những sự kiện xảy ra với tần suất rất thấp. Tuy không thường xuyên xảy ra nhưng những sự kiện này lại có tác động rất lớn và có thể làm mất ổn định cả hệ thống, gây ra nhiều hậu quả nghiêm trọng, thiệt hại cả về kinh tế lẫn tính mạng con người. Các sự kiện này được gọi chung là sự kiện hiếm [1]. Sự kiện hiếm có cả trong tự nhiên [2] (như động đất, sóng thần, bão lũ, núi lửa …) và trong xã hội (như chiến tranh, sự cố trong các nhà máy công nghiệp, sự sụp đổ thị trường tài chính, sự cố hàng không …), thường gây ra thiệt hại và mất mát rất lớn. Chính vì thế việc dự báo trước sự kiện hiếm [3] có ý nghĩa vô cùng to lớn, không chỉ giúp con người giảm bớt được rất nhiều thiệt hại do các sự kiện gây ra mà trong nhiều trường hợp con người có thể ngăn chặn để sự kiện không xảy ra.

Do các sự kiện hiếm là các sự kiện rất ít khi xảy ra so với sự kiện bình thường, nên bộ dữ liệu thu thập về sự kiện hiếm rất mất cân bằng. Một bộ dữ

11

liệu về sự kiện hiếm thường có số lượng dữ liệu dán nhãn dương tính chiếm từ 5% đến 10% tổng số mẫu của dữ liệu. Không những vậy có nhiều sự kiện cực kỳ hiếm khi xảy ra, khi đó bộ dữ liệu có số lượng nhãn dương tính chỉ dưới 1%. Với những bộ dữ liệu quá mất cân bằng như vậy, các mô hình phân lớp và dự báo bằng mạng nơ- ron nhân tạo (Artificial neural networks – ANN) truyền thống [4], mô hình thường hoạt động rất tốt với các bộ dữ liệu cân bằng, lại không hoạt động tốt trong việc phân loại và dự báo sự kiện cực hiếm [5]. Chính vì vậy cần phải dùng các phương pháp, mô hình phân loại và dự báo khác để giải quyết các trường hợp này. Một trong những phương pháp rất hiệu quả đó là phương pháp phân loại 1 lớp bằng mô hình Autoencoder [6].

Autoencoder hay còn gọi là bộ mã hóa tự động là một mạng nơ-ron nhân tạo có đầu ra của mạng giống hệt với đầu vào [7]. Bộ mã hóa tự động này được sử dụng để tìm ra các đặc trưng nén dữ liệu hiệu quả nhất bằng phương pháp học không giám sát. Mục đích của Autoencoder là tìm hiểu cách biểu diễn (mã hóa) cho một bộ dữ liệu, thường để giảm kích thước dữ liệu đầu vào [8], bằng cách đào tạo mạng bỏ qua tín hiệu nhiễu [9], chỉ giữ lại các đặc tính quan trọng nhất [10] để khôi phục dữ liệu. Đồng thời, Autoencoder còn có khối chức năng tái tạo lại dữ liệu từ những đặc trưng đã nén, đảm bảo dữ liệu giải mã càng giống với đầu vào càng tốt. Chính vì thế chúng ta có thể đào tạo Autoencoder khái quát hóa các đặc trưng quan trọng nhất của các sự kiện bình thường. Sau quá trình huấn luyện, mô hình có khả năng tái tạo rất tốt với các sự kiện bình thường, nhưng đối với các sự kiện hiếm, sự kiện bất thường lại gây ra tỉ lệ lỗi rất cao. Vì thế những dữ liệu sau khi chạy qua bộ mã hóa tự động Autoencoder có các đặc trưng khác hẳn đầu vào thì rất có khả năng là sự kiện hiếm [11].

Bài luận văn này tập trung nghiên cứu, cải tiến và ứng dụng mô hình Autoencoder để dự báo các sự kiện cực hiếm, tiếp theo sẽ áp dụng mô hình vào dự đoán trước các sự cố trong dây chuyền sản xuất ở các nhà máy giấy [12]. Để sản xuất ra những tấm giấy, các nhà máy giấy có một dây chuyền gồm rất nhiều bộ phận hoạt động liên tục suốt ngày đêm. Tuy nhiên do đặc điểm là các tấm giấy rất mỏng, dễ bị đứt, nên khi có một bộ phận nào đó của dây chuyền trục trặc, sự đồng bộ giữa các bộ phận không còn trơn tru, các tấm giấy lớn sẽ

12

bị phá vỡ. Bất cứ khi nào xảy ra sự cố phá vỡ các tấm giấy, toàn bộ dây chuyền sản xuất của nhà máy sẽ phải dừng lại để kiểm tra và khôi phục. Thông thường phải mất hơn một giờ để máycó thể khôi phục hoạt động trở lại bình thường. Trong khoảng thời gian chết này, nhà máy thiệt hại khoảng 10 nghìn đô-la và các kỹ sư phải vào những khu vực nguy hiểm để kiểm tra và khôi phục lại dây chuyền sản xuất. Trung bình sự cố xảy ra một vài lần mỗi ngày, gây tổn thất cho doanh nghiệp hàng triệu đô-la mỗi năm, kèm theo mối nguy hiểm, rủi ro cho sức khỏe của công nhân phục hồi hệ thống. Chính vì thế ngay cả việc giảm được 5% số sự cố cũng mang lại lợi ích đáng kể trong nhà máy cả về kinh tế lẫn sức khỏe nhân viên.

Để phục vụ việc dự báo trước sự cố phá vỡ các tấm giấy, doanh nghiệp đã cho lắp đặt 60 cảm biến đặt ở các bộ phận khác nhau dọc theo dây chuyền. Các cảm biến được lấy mẫu tự động định kỳ 2 phút/lần tạo ra các mẫu dữ liệu. Khi nào có sự cố trong dây chuyền sản xuất, mẫu dữ liệu đầu tiên sau khi xảy ra sự cố sẽ được đánh dấu dương tính và loại bỏ qua các mẫu thu thập được trong khoảng thời gian nghỉ để khắc phục sự cố. Chính vì thế số lượng mẫu dương tính trong bộ dữ liệu thu thập được từ các cảm biến chiếm tỉ lệ cực kỳ thấp, chỉ khoảng 0.67% tổng số mẫu. Bài luận văn này nghiên cứu và xây dựng mô hình bộ mã hóa tự động Autoencoder nhằm đạt được 2 mục tiêu chính: dự đoán trước sự cố phá vỡ tấm giấy trong dây chuyền sản xuất của nhà máy giấy và xác định các bộ phận có khả năng cao gây ra sự cố.

Từ các nội dung được nêu trên tôi lựa chọn đề tài “Nghiên cứu phương pháp phát hiện sự kiện cực hiếm bằng mô hình Autoencoder và ứng dụng vào dự báo trước sự cố trong nhà máy giấy” làm luận văn tốt nghiệp thạc sĩ của mình.

13

2. Mục đích nghiên cứu

Áp dụng một số mô hình bộ mã hóa tự động Autoencoder vào bài toán

dự báo sự kiện cực hiếm.

3. Nhiệm vụ nghiên cứu

Nội dung và nhiệm vụ chủ yếu là nghiên cứu các vấn đề liên quan đến việc dự báo các sự kiện hiếm và sử dụng mô hình bộ mã hóa tự động Autoencoder để dự báo các sự kiện cực hiếm, ứng dụng vào bài toán thực tế dự đoán sự cố trong dây chuyền sản xuất của nhà máy giấy.

4. Đối tượng và phạm vi nghiên cứu

Đối tượng và phạm vi nghiên cứu của đề tài luận văn này là một số mô hình mạng nơ-ron nhân tạo, một số giải pháp xử lý bộ dữ liệu phân lớp sự kiện hiếm nổi bật, mô hình bộ mã hóa tự động Autoencoder.

5. Phương pháp nghiên cứu

Phương pháp nghiên cứu được sử dụng xuyên suốt trong quá trình thực hiện bài luận văn là phương pháp nghiên cứu lý thuyết và phương pháp thực nghiệm.

14

CHƯƠNG 1. TỔNG QUAN VỀ SỰ KIỆN HIẾM

Chương 1 bài luận văn giới thiệu tổng quan về khái niệm sự kiện hiếm, các sự kiện hiếm trong tự nhiên và xã hội cùng tác động của nó đến cuộc sống con người. Tiếp đó, chương này sẽ trình bày ý nghĩa và tầm quan trọng của bài toán dự báo trước sự kiện hiếm và một số nghiên cứu khoa học nổi bật về các sự kiện hiếm gặp trong thực tế.

1.1. KHÁI NIỆM VỀ SỰ KIỆN HIẾM

1.1.1. Định nghĩa sự kiện hiếm

Các sự kiện hiếm là các sự kiện xuất hiện một cách riêng biệt, được quan sát không thường xuyên xảy ra. Đây là các sự kiện xảy ra với tần suất rất thấp và thường có tác động lan rộng và có thể làm mất ổn định toàn bộ hệ thống, gây ra các hậu quả nghiêm trọng. Các phân tích và nghiên cứu khoa học về các sự kiện hiếm thường tập trung vào các sự kiện gây ra tác động tiêu cực đáng kể đến xã hội, thường là thiệt hại về mặt kinh tế hoặc ảnh hưởng tới sức khỏe và tính mạng con người.

Thông thường, dựa vào tần suất xảy ra của sự kiện, chúng ta phân loại các sự kiện hiếm thành 3 loại: sự kiện hiếm, sự kiện rất hiếm và sự kiện cực hiếm.

− Sự kiện hiếm (tương đối hiếm): Số mẫu dương tính có tần suất xuất hiện

từ 5-10% tổng số mẫu.

− Sự kiện rất hiếm: Số mẫu dương tính có tần suất xuất hiện từ 1-5% tổng

số mẫu.

− Sự kiện cực hiếm: Số mẫu dương tính có tần suất xuất hiện từ nhỏ hơn

1% tổng số mẫu.

Đối với các sự kiện tương đối hiếm, các mô hình và phương pháp phân loại và dự báo truyền thống thông qua quá trình xử lý mẫu vẫn cho một độ chính xác tương đối, còn với các sự kiện rất hiếm hay cực hiếm các mô hình mạng nơ-ron truyền thống hầu như rất khó học được từ các mẫu dương tính trong quá trình đào tạo. Chính vì thế đối với các sự kiện cực hiếm này chúng ta cần xây dựng một mô hình khác hợp lý hơn để dự báo.

15

1.1.2. Các sự kiện hiếm trong tự nhiên và xã hội

Trong đời sống, chúng ta chứng kiến rất nhiều sự kiện hiếm xảy ra cả trong tự nhiên và xã hội. Trong các hiện tượng tự nhiên, điển hình nhất cho các sự kiện hiếm được nhiều nhà nghiên cứu quan tâm là các hiện tượng thiên tai như: động đất, sóng thần, bão lũ, núi lửa, đại dịch, sét đánh... Đây là những sự kiện rất ít khi xảy ra, có khi hàng chục năm mới lại có một lần. Tuy nhiên một khi những sự kiện này xuất hiện thì thường gây ra thiệt hại về kinh tế vô cùng to lớn và có thể gây nên mất mát to lớn về con người nếu chúng không được cảnh báo kịp thời. Sức tàn phá khủng khiếp của các sự kiện thiên tai này trong một số năm gần đây được thể hiện qua những thống kê dưới đây:

− Năm 2008, một trận động đất mạnh 8.0 độ richter ở Tứ Xuyên, Trung Quốc đã làm gần 380.000 người chết, hàng triệu người mất việc làm, thiệt hại kinh tế trực tiếp hơn 3 tỷ đô-la và kéo theo mất mát hàng chục tỉ đô-la các năm sau đó để hồi phục.

− Năm 2011, trận động đất 9.0 độ richter ở ngoài khơi Nhật Bản đã gây ra sóng thần dọc bờ biển Thái Bình Dương, ảnh hưởng trực tiếp tới hơn 20 quốc gia. Đồng thời trận động đất sóng thần này gây ra sự cố rò rỉ phóng xạ ở nhà máy điện hạt nhân tại Fukushima, Nhật Bản. Cuộc khủng hoảng kép này đã làm hơn 15.000 người chết, 125.000 căn nhà bị phá hủy, chất phóng xạ rò rỉ ra một khu vực rộng lớn, ảnh hưởng kinh tế ước tính lên tới hàng trăm tỉ đô-la.

− Hàng năm, trên vành đai lửa Thái Bình Dương xảy ra hàng chục vụ phun trào núi lửa, trong đó có nhiều vụ rất nghiêm trọng gây ra cái chết hàng chục nghìn người do không được kịp thời dự báo trước để di tản cư dân trong khu vực.

− Dịch bệnh Covid-19 ảnh hưởng tới tất cả các quốc gia trên thế giới, hàng triệu người nhiễm bệnh, hàng trăm nghìn người chết, nền kinh tế của tất cả các nước đều sụt giảm nghiêm trọng, ước tính thiệt hại kinh tế trên toàn thế giới lên tới hàng chục nghìn tỷ đô-la.

Bên cạnh những hiện tượng hiếm gây nhiều thiệt hại về người và của, trong tự nhiên cũng có nhiều sự kiện hiếm ít gây ra tổn thất hơn nhưng cũng

16

được nhiều nhà khoa học quan tâm nghiên cứu, điển hình như các hiện tượng thiên văn học: nhật thực, nguyệt thực, sự sáp nhập các sao, hố đen…

Trong xã hội cũng có rất nhiều sự kiện hiếm khi xuất hiện nhưng một khi xảy ra cũng gây ra những thiệt hại rất to lớn về kinh tế như chiến tranh, sự sụp đổ thị trường tài chính, sự cố hàng không, nổ nhà máy hạt nhân … Thường các sự kiện này rất hiếm khi xảy ra, có thể hàng thập kỷ mới lại xuất hiện, tuy nhiên khi xảy ra cũng gây rất nhiều thiệt hại, cả về con người lẫn vật chất. Một số sự kiện hiếm trong xã hội gây ra rất nhiều mất mát có thể kể đến như:

− Chiến tranh thế giới thứ 2 (1937-1945) gây ra cái chết hơn 61 triệu người,

thiệt hại kinh tế hàng nghìn tỉ đô-la.

− Thảm họa hạt nhân Chernobyl năm 1986 gây ra cái chết 31 người trực tiếp, sơ tán hơn 330.000 người, ước tính hàng chục ngàn người chết do ảnh hưởng phóng xạ các năm sau đó.

− 2 vụ rơi máy bay Boeing 737-Max 8 năm 2018-2019 do lỗi thiết kế đã gây ra cái chết toàn bộ hành khách và phi hành đoàn, mất nhiều tháng mới tìm được nguyên nhân lỗi. Boeing thiệt hại hàng chục đến hàng trăm tỉ đô-la.

− Sự sụp đổ thị trường chứng khoán phố Wall 1929 bắt đầu cho cuộc đại khủng hoảng kinh tế kéo dài 12 năm, kéo theo hàng chục triệu người thất nghiệp, vô số doanh nghiệp phá sản.

Đối với phạm vi một doanh nghiệp, chúng ta cũng thấy rất nhiều sự kiện hiếm, thường là các sự cố xảy ra trong cơ quan, nhà máy, đặc biệt rất nhiều trong các dây chuyền sản xuất công nghiệp. Các sự cố này có thể gây ngừng hoạt động của cả nhà máy trong thời gian dài, ảnh hưởng rất lớn tới sức khỏe, tính mạng và kinh tế của doanh nghiệp.

17

1.2. BÀI TOÁN DỰ BÁO TRƯỚC SỰ KIỆN HIẾM

Do các sự kiện hiếm cả trong tự nhiên lẫn xã hội thường gây ra thiệt hại và mất mát về vật chất và sinh mạng vô cùng to lớn nên việc dự báo trước sự kiện hiếm [13] có ý nghĩa rất to lớn. Nếu có thể dự báo trước các sự kiện bất thường không mong muốn này, con người sẽ có thời gian để chuẩn bị ứng phó, từ đó giảm bớt được rất nhiều thiệt hại về kinh tế cũng như sức khỏe, tính mạng mọi người.

Đối với các bộ dữ liệu cân bằng về số lượng mẫu trong mỗi lớp, một trong những phương pháp phân lớp và dự báo thành công và hiệu quả nhất là sử dụng các mô hình mạng nơ-ron nhân tạo (Artificial neural networks - ANN), đặc biệt là các mạng học sâu. Tuy nhiên khi áp dụng các mô hình dự báo truyền thống này vào bộ dữ liệu về sự kiện hiếm, hầu hết các mô hình này lại gặp rất nhiều khó khăn và trở nên rất không chính xác. Nguyên nhân chính của việc này được chỉ ra là do tần suất xảy ra vô cùng thấp của sự kiện hiếm dẫn đến số lượng mẫu có nhãn dương tính cũng vô cùng ít ỏi so với số mẫu dán nhãn âm tính. Chính vì sự mất cân bằng này quá lớn, trong quá trình huấn luyện mạng, các mô hình dự báo thường rất dễ dàng học tập từ các mẫu âm tính và bỏ qua không học các mẫu dương tính, dẫn tới việc dự báo của mô hình không hiệu quả.

Chính vì thế để dự báo trước sự kiện hiếm, đặc biệt là các sự kiện cực hiếm (có xác suất dưới 1%) các nhà nghiên cứu khoa học đã nghiên cứu và đề xuất ra nhiều thuật toán và phương pháp xử lý đặc thù. Một số nghiên cứu về bài toán về sự kiện hiếm cả trong tự nhiên và xã hội nổi bật được nêu ra dưới đây:

Trong cuốn sách “Modelling extremal events: For insurance and finance” [14] nhóm tác giả Embrechts P. đã nghiên cứu và mô hình hóa các sự kiện hiếm, sự kiện cực đoan trong với ngành bảo hiểm và tài chính.

Trong bài báo khoa học “Extreme events: Dynamics, statistics and prediction.” [15] nhóm tác giả Ghil M. đã phân tích, thống kê và dự đoán các sự kiện cực đoan, tập trung nghiên cứu và áp dụng vào dự đoán các chấn động

18

địa lý.

Trong cuốn sách “Extreme events and natural hazards: The complexity perspective.” [2] nhóm tác giả Sharma S. đã phân tích nguyên nhân các khó khăn, phức tạp và đề ra một số phương pháp giải quyết khi nghiên cứu các sự kiện cực hiếm trong tự nhiên gây nguy hiểm cho con người.

Ngoài ra còn có rất nhiều tác giả với nhiều bài báo khoa học nghiên cứu về các sự kiện cực hiếm khác. Mục 2.1 bài luận văn sẽ trình bày cụ thể nội dung các phương pháp chính đã và đang được nghiên cứu trên thế giới để dự báo các sự kiện hiếm.

19

CHƯƠNG 2. PHƯƠNG PHÁP PHÁT HIỆN SỰ KIỆN HIẾM

Chương 2 bài luận văn sẽ đi sâu nghiên cứu và trình bày về một số phương pháp đã và đang được sử dụng để giải quyết các bài toán dự báo sự kiện hiếm trong các bài nghiên cứu trên thế giới. Tiếp theo đó trong mục 2.2, bài luận văn sẽ trình bày về mô hình bộ mã hóa tự động Autoencoder, một mô hình vô cùng hiệu quả đã được ứng dụng vào rất nhiều lĩnh vực công nghệ thông tin khác nhau và phương pháp ứng dụng mô hình Autoencoder để phát hiện và dự báo trước các sự kiện cực hiếm.

2.1. TÌM HIỂU CÁC PHƯƠNG PHÁP PHÁT HIỆN SỰ KIỆN HIẾM

Trong mục 1.2, nguyên nhân chính gây khó khăn cho việc dự đoán sự kiện hiếm trong các mô hình ANN được chỉ ra là do sự mất cân bằng giữa số lượng mẫu mỗi lớp: tỉ lệ mẫu dương tính rất nhỏ so với số mẫu âm tính. Chính vì thế các nhà nghiên cứu khoa học đã đề xuất ra các phương pháp nhằm cân bằng lại số lượng các mẫu dương tính và mẫu âm tính. Các kết quả thực nghiệm đã chứng minh các giải pháp này đã cải thiện đáng kể tính hiệu quả của các mô hình dự báo sự kiện hiếm. Các phương pháp cân bằng số lượng mẫu mỗi lớp nổi bật nhất sẽ được trình bày chi tiết dưới đây.

2.1.1. Nhân bản mẫu dương tính

Nhân bản mẫu dương tính là phương pháp tăng số lượng mẫu dương tính bằng cách lặp lại các mẫu dương tính nhiều lần (hình 2.1) nhằm giảm bớt sự chênh lệch giữa số lượng mẫu dương tính và âm tính.

Đây là giải pháp đơn giản nhất giúp tăng tỉ lệ nhãn dương tính và không tốn nhiều chi phí tính toán. Tuy nhiên nhược điểm của phương pháp này là do các mẫu dương tính chỉ đơn thuần nhân bản lên không có bất kỳ sự thay đổi nào nên nếu số mẫu dương tính quá nhỏ, mô hình đào tạo được khuyến khích học vẹt các mẫu dương tính, giảm bớt sự khái quát hóa các đặc điểm. Chính vì vậy phương pháp nhân bản nhãn dương tính có giới hạn số lần lặp. Nếu số lượng mẫu dương tính quá nhỏ, chúng ta lặp lại hàng chục lần rất dễ gây ra hiện tượng overfit trong quá trình huấn luyện.

20

Hình 2.1. Phương pháp nhân bản mẫu dương tính

2.1.2. Giảm số lượng mẫu âm tính

Giảm số lượng mẫu âm tính là phương pháp loại bỏ ngẫu nhiên hoặc có chọn lọc các mẫu âm tính (hình 2.2) nhằm mục đích giảm tỉ lệ chênh lệch giữa số lượng mẫu dương tính và âm tính.

Thông thường bước đầu tiên chúng ta cố gắng giảm các nhiễu ở mẫu âm tính. Điều này rất tốt cho quá trình đào tạo giúp mạng nơ-ron học tập tốt hơn. Tuy nhiên thường tỉ lệ nhiễu không quá nhiều nên sau đó để giảm số lượng mẫu âm tính cần sử dụng các phương pháp chọn mẫu (subsampling) ngẫu nhiên hoặc có chọn lọc bằng thuật toán chọn mẫu.

Nhưng phương pháp giảm số lượng mẫu âm tím cũng có nhược điểm là nếu chúng ta giảm số lượng mẫu âm tính quá nhiều lần, chúng ta mất đi các giá trị đa dạng chứa trong các mẫu bị loại bỏ, mạng được đào tạo sẽ giảm dần sự chính xác. Vì thế khi sử dụng phương pháp này chúng ta cần lựa chọn thuật toán và tỉ lệ chọn mẫu phù hợp.

21

Hình 2.2. Phương pháp giảm số lượng mẫu âm tính

2.1.3. Tạo thêm các mẫu dương tính bằng thuật toán

Tạo thêm các mẫu dương tính bằng thuật toán là 1 phương pháp rất hiệu quả nhằm tăng số lượng mẫu dương tính, giảm tỉ lệ chênh lệch giữa số lượng mẫu dương tính và âm tính.

Không giống với việc lặp lại chính các nhãn dương tính của phương pháp nhân bản, phương pháp này sử dụng thuật toán để tạo ra các mẫu dương tính mới (hình 2.3) dựa vào nền tảng các mẫu dương tính đã biết. Việc tạo ra các mẫu dương tính hoàn toàn mới chưa gặp bao giờ không chỉ có tác dụng giảm sự chênh lệch giữa số lượng mẫu dương tính và âm tính mà còn có tác dụng tăng độ hiệu quả và độ mượt của mô hình đào tạo, giảm thiểu hiện tượng overfit của mô hình.

Thuật toán này có điểm yếu là độ hiệu quả phụ thuộc nhiều vào việc chúng ta lựa chọn thuật toán và tham số để sinh mẫu có phù hợp với bộ dữ liệu không. Nếu các mẫu sinh ra được dán nhãn không chính xác dẫn đến việc mô hình học sai ngay từ lúc ban đầu, không còn chính xác được nữa. Tùy vào bài toán mà chúng ta lựa chọn thuật toán và tỉ lệ sinh mẫu cho phù hợp. Một số thuật toán sinh mẫu rất hiệu quả thường được sử dụng nhiều nhất là: smote [16], rose [17], …

22

Hình 2.3. Phương pháp tạo thêm mẫu dương tính bằng thuật toán

2.1.4. Điều chỉnh trọng số học tập các mẫu

Điều chỉnh trọng số học tập các mẫu là phương pháp tăng trọng số học tập của các mẫu dương tính lớn hơn nhiều lần các mẫu âm tính nhằm mục đích giúp các mô hình tập trung học tập các mẫu dương tính hơn âm tính. Đây không phải phương pháp nhằm cân bằng số lượng mẫu mỗi lớp nhưng cũng tương tự như phương pháp nhân bản mẫu dương tính, phương pháp này giúp mô hình tập trung học tập các mẫu dương tính hơn, từ đó tránh được việc mô hình dễ bỏ qua các mẫu dương tính trong quá trình huấn luyện.

Tuy nhiên phương pháp này cũng có nhược điểm như phương pháp nhân bản mẫu dương tính. Đồng thời trong phương pháp này có thêm nhược điểm: nếu đẩy trọng số học tập mẫu dương tính lên quá cao thì mô hình có thể không bao giờ hội tụ, đẩy trọng số học tập mẫu âm tính quá thấp lại tốn rất nhiều thời gian cho việc huấn luyện. Vì vậy tỉ lệ điều chỉnh trọng số cũng có giới hạn, ta không thể tăng trọng số mẫu dương tính lên hàng chục lần so với mẫu âm tính.

2.1.5. Đánh giá các phương pháp cân bằng số lượng mẫu

Theo các phân tích ở trên, mỗi phương pháp cân bằng số lượng mẫu có ưu khuyết điểm khác nhau nhưng nhìn chung đều có khả năng tăng hiệu quả cho các mô hình mạng nơ-ron trong việc dự đoán sự kiện hiếm nhưng đều có giới hạn, không thể tăng quá nhiều lần. Trong thực tế thông thường chúng ta không nên chỉ sử dụng một phương pháp cân bằng số lượng mẫu mỗi lớp một

23

cách riêng lẻ mà cần sử dụng kết hợp các phương pháp lại. Điều này sẽ đem lại độ hiệu quả cao hơn nhiều, khắc phục bớt khuyết điểm của mỗi phương pháp riêng rẽ.

Bên cạnh đó, do một tỉ lệ lớn các bài toán sự kiện hiếm là các sự kiện diễn ra theo thứ tự thời gian được lấy mẫu định kỳ. Chính vì vậy việc sử dụng các mô hình dự báo cho chuỗi thời gian đa biến, như mô hình mạng nơ-ron bộ nhớ ngắn hạn LSTM(Long short-term memory) hay mạng nơ-ron đơn vị hồi quy có kiểm soát (Gated Recurrent Units - GRU), kết hợp với các phương pháp cân bằng số mẫu thường cải thiện độ hiệu quả cho mô hình.

Việc sử dụng các phương pháp cân bằng số mẫu tương đối hiệu quả khi dự báo các sự kiện hiếm (số mẫu dương tính chiếm 5-10%) và một số sự kiện rất hiếm (số mẫu dương tính chiếm 1-5%). Tuy nhiên đối với các sự kiện cực hiếm (số mẫu dương tính nhỏ hơn 1%) thì việc sử dụng kết hợp tất cả các giải pháp trên cũng không thực sự hiệu quả rõ ràng. Chính vì thế cần sử dụng mô hình đặc biệt khác để dự báo sự kiện hiếm: Mô hình bộ mã hóa tự động Autoencoder.

24

2.2. PHƯƠNG PHÁP PHÁT HIỆN SỰ KIỆN HIẾM BẰNG MÔ HÌNH AUTOENCODER

2.2.1. Mô hình Autoencoder

2.2.1.1. Định nghĩa mô hình Autoencoder

Autoencoder hay còn gọi là bộ mã hóa tự động không phải là một mô hình mạng nơ-ron có cấu trúc cụ thể mà là một khái niệm chỉ các mô hình mạng nơ-ron nhân tạo phân loại 1 lớp, có đầu ra giống với đầu vào. Mô hình này được sử dụng để tìm ra các đặc trưng nén hiệu quả nhất của bộ dữ liệu bằng phương pháp học không giám sát.

Autoencoder thường có 3 thành phần chính là khối mã hóa, mã và khối giải mã (như hình 2.4). Mục đích của khối mã hóa của Autoencoder là tìm cách biểu diễn (mã hóa) cho bất kỳ dữ liệu đầu vào nào thành mã. Đồng thời, khối giải mã của Autoencoder có chức năng cố gắng tái tạo lại dữ liệu [18] ban đầu từ dữ liệu đã mã hóa sao cho dữ liệu giải mã càng giống với đầu vào càng tốt. Do bộ mã hóa tự động có đầu vào tương tự đầu ra nên không cần phải mất thời gian và công sức để dán nhãn dữ liệu như các mô hình khác, vì thế có thể đào tạo mô hình bằng phương pháp học không giám sát.

Hình 2.4. Mô hình Autoencoder mã hóa tự động số 4

Mô hình Autoencoder không quy định kích thước mã phải nhỏ hơn hay lớn hơn kích thước đầu vào. Tuy nhiên sử dụng trong thực tế đại đa số các mạng Autoencoder đều hướng tới việc đặt kích thước mã nhỏ hơn kích thước đầu vào nhiều lần. Việc thiết lập kích thước mã nhỏ sẽ có tác dụng khuyến khích mô hình mạng bỏ qua tín hiệu nhiễu, chỉ giữ lại những đặc trưng quan trọng nhất của dữ liệu đầu vào. Đồng thời giảm kích thước cũng rất thuận lợi cho việc lưu

25

trữ mã trong các ứng dụng cần nén dữ liệu có mất mát. Sử dụng mã làm đầu vào cho các mô hình huấn luyện khác giúp làm tăng tốc độ hội tụ và khả năng khái quát của mạng, giúp cải thiện độ chính xác so với dữ liệu gốc làm đầu vào, đặc biệt hiệu quả với những bài toán bộ dữ liệu đầu vào là đa biến và mật độ dữ liệu mỗi biến thưa thớt.

Chính vì vậy khi nhắc đến Autoencoder mặc định là ám chỉ các bộ mã hóa tự động có kích thước mã nhỏ hơn nhiều so với kích thước đầu vào. Điều này tạo ra một nút thắt cổ chai (bottleneck) cho toàn bộ mạng nơ-ron ở vị trí mã.

Hình 2.5. Kiến trúc mạng nơ-ron Autoencoder

2.2.1.2. Kiến trúc mạng nơ-ron Autoencoder

Như thể hiện trên hình 2.5, kiến trúc một bộ mã hóa tự động

Autoencoder bao gồm 3 thành phần chính:

− Khối mã hóa (encoder): Khối mã hóa sẽ nhận đầu vào là vec-tơ biểu diễn dữ liệu n chiều, đầu ra là vec-tơ mã hóa trong không gian ẩn m chiều. Thông thường khi nhắc đến Autoencoder nếu không nhắc tới cụ thể kích thước khối mã thì ngầm hiểu m < n. Do đó đây cũng là một phương pháp để giảm số chiều của dữ liệu vào.

26

− Mã (code): Đây là một vec-tơ trong không gian m chiều. Mã chính là vetor của lớp ẩn nằm chính giữa bộ mã hóa tự động, có số chiều nhỏ nhất trong tất cả các lớp, cũng chính là nút thắt cổ chai có chủ đích của toàn mạng. Chính nhờ nút thắt cổ chai này mà mạng nơ-ron nhân tạo có khuynh hướng chỉ giữ lại những đặc điểm quan trọng nhất của dữ liệu và loại bỏ các thành phần nhiễu và các thành phần dư thừa. Đây chính là kết quả đầu ra của khối mã hóa và được dùng làm đầu vào của khối giải mã.

− Khối giải mã (decoder): Khối giải mã nhận đầu vào là thành phần mã (vec-tơ m chiều) và có nhiệm vụ cố gắng tái tạo lại dữ liệu ban đầu (vec- tơ n chiều đầu vào của khối mã hóa). Vì thế trong quá trình huấn luyện cho mạng nơ-ron, đầu ra của khối giải mã cũng chính là đầu vào của khối mã hóa ban đầu.

Để đào tạo một bộ mã hóa tự động, chúng ta không cần phải dán nhãn dữ liệu bởi vì đầu ra của bộ mã hóa tự động cũng chính là dữ liệu đầu vào của nó. Chính vì thế bộ mã hóa tự động được coi là một mạng nơ-ron học không giám sát, không cần nhãn rõ ràng để đào tạo. Trong một số mô hình Autoencoder dùng để khử nhiễu của ảnh, trong quá trình đào tạo tín hiệu đầu ra có thể khác đầu vào, thường đầu vào là những bức ảnh đã bị nhiễu, đầu ra là những bức ảnh tốt hơn chưa bị nhiễu ảnh hưởng.

Có thể hình dung Autoencoder là một mô hình nén dữ liệu có mất mát một tín hiệu đầu vào và khôi phục lại tín hiệu đó. Để khôi phục lại được tín hiệu gốc ít mất mát nhất, mã phải học được cách lưu giữ các thông tin quan trọng nhất, hiệu quả nhất của tín hiệu đầu vào, đồng thời cũng loại bỏ được một số thành phần tín hiệu nhiễu, thành phần ít quan trọng hơn.

2.2.1.3. Phân loại mạng Autoencoder

Vì Autoencoder không phải là một mô hình mạng nơ-ron có cấu trúc cụ thể mà là một khái niệm chỉ các mô hình mạng nơ-ron nhân tạo phân loại 1 lớp có đầu ra giống với đầu vào nên khi kết hợp vào các kiến trúc mạng nơ-ron khác tạo ra các mô hình bộ mã hóa tự động khác nhau như dưới đây:

27

Bộ mã hóa tự động MLP Autoencoder

Hình 2.6. Kiến trúc mạng MLP Autoencoder

MLP Autoencoder (Multi-layer Perceptron) hay còn gọi là bộ mã hóa tự động Perceptron đa lớp là sự kết hợp giữa kiến trúc mạng nơ-ron Perceptron đa lớp và mô hình Autoencoder. Đây là kiến trúc đơn giản nhất của một Autoencoder, là một mạng nơ-ron MLP được xây dựng để huấn luyện không giám sát với đầu ra chính là đầu vào. Mạng được xây dựng với một nút thắt cổ chai là lớp mã ở chính giữa. Kích thước các lớp ẩn giảm dần ở khối mã hóa (từ đầu vào đến lớp mã) và tăng dần trở lại ở khối giải mã (từ lớp mã đến đầu ra). Kích thước các lớp ẩn thường được lựa chọn đối xứng qua lớp mã với ý tưởng là mỗi lớp ở khối giải mã là ảnh phản chiếu của một lớp ở khối mã hóa. Thực tế là chúng ta không có ràng buộc dữ liệu ở các lớp ẩn trong khối giải mã phải bằng với dữ liệu ở các lớp tương ứng trong khối mã nên hoàn toàn có thể xây dựng khối giải mã có số lớp và số nút khác với khối mã hóa. Tuy nhiên việc xây dựng mô hình các lớp đối xứng qua lớp mã thường được khuyến khích lựa chọn vì giúp quá trình tối ưu tham số trở nên hiệu quả và dễ dàng hơn và trông mô hình đẹp và có cấu trúc hơn.

Mô hình MLP Autoencoder thường được ứng dụng trong các bài toán phân loại và dự báo với đầu vào đa biến. Đây cũng là mô hình có kiến trúc đơn giản nhất nên có thể dễ dàng xây dựng để làm chuẩn so sánh với các mô hình truyền thống và Autoencoder khác.

28

Bộ mã hóa tự động LSTM Autoencoder

Hình 2.7. Kiến trúc mạng LSTM Autoencoder

LSTM Autoencoder (Long short-term memory) hay còn gọi là bộ mã hóa tự động bộ nhớ ngắn hạn LSTM là sự kết hợp giữa kiến trúc mạng nơ-ron bộ nhớ ngắn hạn LSTM và mô hình Autoencoder.

Mô hình LSTM Autoencoder có khối mã hóa và khối giải mã là 2 mạng nơ-ron LSTM đề chứa n mẫu dữ liệu giống nhau liên tiếp theo thời gian (hình 2.7). Kết nối giữa 2 khối mã hóa và giải mã là lớp mã m chiều, chứa các đặc trưng đã được mã hóa của n mẫu này, và cũng là nút thắt cổ chai của toàn mạng. Mạng Autoencoder sẽ mã hóa n mẫu đầu vào và cố gắng tái tạo lại n mẫu này từ vec-tơ mã.

Bộ mã hóa LSTM Autoencoder được xây dựng trên kiến trúc mạng nơ- ron LSTM nên chuyên dùng để xử lý các bài toán chuỗi thời gian đa biến : xử lý các bộ dữ liệu được lấy mẫu định kỳ theo thời gian, xử lý tín hiệu âm thanh, video …

29

Bộ mã hóa tự động Convolutional Autoencoder

Hình 2.8. Kiến trúc mạng Convolutional Autoencoder

Convolutional Autoencoder [19] hay còn gọi là bộ mã hóa tự động xoắn

là sự kết hợp giữa kiến trúc mạng nơ-ron xoắn và mô hình Autoencoder.

Mô hình Convolutional Autoencoder có kiến trúc tương tự như MLP Autoencoder nhưng thay thế các lớp kết nối đầy đủ bằng các lớp xoắn convolution (bao gồm lớp gộp - pooling layer) (hình 2.8). Kích thức mỗi lớp xoắn giảm dần trong khối mã hóa và tăng dần trong khối giải mã tương tự như MLP Autoencoder.

Bộ mã hóa Convolutional Autoencoder được xây dựng trên kiến trúc mạng nơ-ron xoắn nên chuyên dùng để xử lý các bài toán phân lớp hình ảnh, video.

Các bộ mã hóa tự động khác

Ngoài 3 kiến trúc kể trên mô hình Autoencoder còn kết hợp được với rất nhiều cấu trúc mạng nơ-ron khác để xử lý các bài toán cụ thể. Điểm chung của các mô hình này là sử dụng các kiến trúc huấn luyện đặc thù cho từng bài toán kết hợp với ưu điểm huấn luyện không giám sát, tạo nút thắt cổ chai để tăng tính khái quát hóa và giảm ảnh hưởng nhiễu của mô hình Autoencoder.

2.2.1.4. Xây dựng mô hình Autoencoder cho bài toán cụ thể

Để xây dựng một bộ mã hóa tự động cụ thể, bước đầu tiên cần làm là phải tìm được mô hình Autoencoder nào phù hợp để xử lý dữ liệu cho bài toán (xem các mô hình Autoencoder nêu trong mục 2.2.1.3). Sau khi xác định được mô hình phù hợp, thông quá quá trình thử nghiệm chúng ta cần xác định 4 thành phần tham số chính sau đây để tối ưu cho mạng nơ-ron Autoencoder:

30

− Kích thước mã: kích thước mã là số lượng nút trong lớp giữa. Kích thước mã nhỏ hơn dẫn đến tỉ lệ nén nhiều hơn, khả năng mạng sẽ tìm được những đặc trưng quan trọng nhất tốt hơn. Tuy nhiên nếu kích thước mã xuống quá thấp thì không đủ khả năng lưu trữ được các dữ liệu cần thiết dẫn tới việc giải mã ở đầu ra rất khác đầu vào. Với những ứng dụng nén ảnh khi biết tỉ lệ nén trước ta có thể xác định kích thước mã ngay từ lúc xây dựng mô hình mạng, với những ứng dụng chưa biết trước kích thước mã ta cần quá trình thử nghiệm để xác định kích thước tối ưu.

− Số lớp ẩn, hàm kích hoạt: bộ mã hóa tự động có thể có số lượng lớp bất kỳ như chúng ta muốn. Như trong hình 2.6 minh họa về kiến trúc MLP Autoencoder có 2 lớp ẩn kết nối đầu đủ trong cả khối mã hóa và khối giải mã (không tính lớp đầu vào và đầu ra). Thông thường chỉ cần 2 lớp ẩn trong khối mã hóa và khối giải mã là đủ hiệu quả cho mô hình đào tạo, tuy nhiên tùy theo đặc trưng bài toán có thể tăng giảm số lớp ẩn cho phù hợp và hiệu quả.

Hàm kích hoạt ở mỗi lớp thường là các hàm phi tuyến (sigmoid, tanh, relu …) ngoại trừ ở lớp ẩn cuối cùng sát với đầu ra chúng ta không nên sử dụng hàm kích hoạt (tương đương với sử dụng hàm kích hoạt tuyến tính) để mạng nơ-ron dễ dàng giải mã tín hiệu đầu ra tương tự tín hiệu đầu vào.

− Số lượng nút trên mỗi lớp ẩn: Chúng ta có toàn quyền kiểm soát các tham số số lượng nút trên mỗi lớp ẩn mà không có ràng buộc nào. Tuy nhiên như phân tích ở mục 2.2.1.2, thông thường để tăng độ hiệu quả đào tạo mạng, khuyến khích mạng giữ lại những đặc trưng quan trọng nhất và giảm nhiễu, số lượng nút của lớp mã nhỏ hơn nhiều so với đầu vào. Vì vậy số lượng nút trên mỗi lớp ẩn nên được thiết kế giảm dần theo từng lớp trong khối mã hóa và tăng dần trở lại trong khối giải mã. Kích thước mỗi lớp ẩn có thể được xác định tối ưu thông qua quá trình thử nghiệm, nhưng không quan trọng bằng việc xác định kích thước mã.

− Hàm mất mát: hàm mất mát cho các mô hình Autoencoder thường được sử dụng là hàm lỗi bình phương trung bình (mean squared error - mse) hoặc hàm crossentropy hay crossentropy nhị phân. Nếu các giá trị đầu vào

31

nằm trong phạm vi [0, 1] thì chúng ta thường sử dụng hàm crossentropy, nếu không, chúng ta sử dụng lỗi bình phương trung bình. Ngoài ra tùy vào bài toán chúng ta có thể sử dụng các hàm mất mát khác cho phù hợp và hiệu quả.

Từ kiến trúc mạng nơ-ron Autoencoder, chúng ta thấy khối mã hóa có mục tiêu tương tự với phương pháp phân tích thành phần chính (Principal Component Analysis - PCA). Nếu kích hoạt tuyến tính được sử dụng ở mỗi lớp, thì chúng ta nhận được đầu ra ở lớp mã có giá trị gần như tương tự với kết quả chúng ta nhận được khi dùng PCA giảm số chiều đầu vào từ n chiều xuống m chiều như hình 2.9.

Hình 2.9. Kết quả mã hóa bộ dữ liệu MNIST bằng PCA và Linear Autoencoder

Tuy nhiên, tiềm năng của Autoencoder nằm ở tính phi tuyến tính của bộ mã hóa tự động, cho phép mô hình học cách khái quát hóa mạnh hơn nhiều so với PCA và có khả năng tái tạo lại dữ liệu đầu vào với mức độ mất thông tin thấp hơn đáng kể. Điều này thể hiện rất rõ trên hình 2.10 khi với cùng tỉ lệ nén, hình ảnh khôi phục từ bộ mã hóa tự động Autoencoder trông rõ ràng hơn rất nhiều so với hình ảnh khôi phục từ PCA.

32

Hình 2.10. Hình ảnh được khôi phục sau khi nén bằng PCA và Autoencoder

2.2.1.5. Các ứng dụng mô hình Autoencoder

Do bộ tự động mã hóa Autoencoder là một mô hình khái niệm linh hoạt kết hợp với rất nhiều mô hình cụ thể khác tạo ra mô hình có rất nhiều ưu điểm như giảm số chiều, khử nhiễu, học không giám sát nên đã được ứng dụng vào rất nhiều bài toán khác nhau. Dưới đây là một số ứng dụng điển hình của mô hình Autoencoder:

Giảm kích thước, giảm số chiều

Giảm kích thước đầu vào là một trong những ứng dụng đầu tiên và là một trong những động lực ban đầu để nghiên cứu bộ mã hóa tự động Autoencoder. Mục tiêu ban đầu của Autoencoder là tìm ra một phương pháp chiếu thích hợp để ánh xạ dữ liệu từ không gian có số chiều cao sang không gian có số chiều thấp hơn.

Nhờ việc giảm kích thước, bộ mã hóa tự động có thể được ứng dụng để giảm kích thước đầu vào với các bộ dữ liệu có kích thước đầu vào hàng trăm, hàng ngàn biến xuống nhiều lần để làm đầu vào mới cho các mô hình huấn luyện tiếp theo. Ngoài ra khi chúng ta cần đào tạo các mạng có đầu vào là các vec-tơ thưa việc giảm số chiều giúp chúng ta biến đổi đầu vào thành các vec- tơ có mật độ dữ liệu nhiều hơn [20], tạo thuận lợi cho các mô hình đào tạo.

Truy xuất thông tin

Lợi ích truy xuất thông tin thước trong tìm kiếm cũng đến từ đặc điểm giảm kích thước đầu vào của Autoencoder. Điều này có thể trở nên cực kỳ hiệu quả khi chúng ta giảm kích thước đầu vào xuống không gian khối mã có số chiều thấp nhất định (vừa đủ để phân biệt các dữ liệu thông tin vừa đủ nhỏ để

33

tăng tốc độ truy xuất). Nhờ thế, bộ mã hóa tự động thực sự đã được ứng dụng tạo ra các mã băm ngữ nghĩa , được đề xuất bởi Salakhutdinov và Hinton vào năm 2009 [21]. Mô hình đã tạo ra các mã nhị phân (chỉ có 2 giá trị 0 và 1) có số chiều thấp, sau đó tất cả các mục cơ sở dữ liệu có thể được lưu trữ trong một vec-tơ mã nhị phân ánh xạ bảng băm. Bảng này sau đó sẽ cho phép thực hiện truy xuất thông tin bằng cách trả về tất cả các mục có cùng mã nhị phân như truy vấn hoặc các mục tương tự có sai lệch số bit thấp nhất so với bộ mã của truy vấn.

Xử lý ảnh

Các đặc điểm đặc biệt của bộ mã hóa tự động đã khiến cho mô hình này

cực kỳ hữu ích trong việc xử lý hình ảnh với nhiều ứng dụng khác nhau.

Ứng dụng đầu tiên dễ thấy nhất là dùng bộ mã hóa tự động để nén ảnh có mất mát. Trong nhiều nghiên cứu, các bộ mã hóa tự động thể hiện tiềm năng vượt trội so với các phương pháp khác và được chứng minh hoàn toàn đủ sức cạnh tranh với chuẩn nén ảnh JPEG 2000.

Một ứng dụng hữu ích khác của bộ mã hóa tự động trong lĩnh vực xử lý hình ảnh là khử nhiễu hình ảnh [22] (hình 2.11 và hình 2.12). Nhu cầu về các phương pháp phục hồi hình ảnh hiệu quả đã tăng lên với việc sản xuất hàng loạt hình ảnh và phim kỹ thuật số các loại, thường được thực hiện trong điều kiện tồi tệ.

Hình 2.11. Mô hình đào tạo mạng Autoencoder để khử nhiễu hình ảnh

34

Hình 2.12. Hình ảnh sử dụng Autoencoder để khử nhiễu

Không chỉ dừng lại ở việc khử nhiễu, khôi phục lại chất lượng hình ảnh ban đầu, bộ mã hóa tự động còn có thể được ứng dụng để tăng chất lượng hình ảnh vượt qua cả hình ảnh gốc. Một số ứng dụng quan trọng nhất là sử dụng Autoencoder tăng chất lượng hình ảnh là: tô màu hình (hình 2.13), tăng độ phân giải hình ảnh [23] (hình 2.14), tăng độ tương phản, xoay hình ảnh trong không gian 3D …

Hình 2.13. Dử dụng Autoencoder để tô màu hình ảnh

35

Hình 2.14. Tăng độ phân giải hình ảnh với Convolutional Autoencoder

Chuẩn đoán bệnh trong y tế

Trong lĩnh vực chẩn đoán từ hình ảnh trong y tế, một số nghiên cứu sử dụng bộ mã hóa tự động Convolutional Autoencoder để khử nhiễu hình ảnh siêu âm, X-quang [24], phát hiện các tế bào trong sinh thiết tủy xương [25], phát hiện ung thư vú [26] hoặc thậm chí mô hình hóa mối quan hệ giữa sự suy giảm nhận thức của Bệnh Alzheimer [27] dựa trên các ưu điểm của Convolutional Autoencoder được đào tạo với MRI.

Dịch máy

Autoencoder đã được áp dụng thành công vào lĩnh vực dịch máy ngôn ngữ tự nhiên, tạo nên các là máy dịch nơ-ron (Neural Machine Translation - NMT) Autoencoder. Trong NMT, các văn bản ngôn ngữ được coi là chuỗi được mã hóa đưa vào quy trình học tập, trong khi ở phía bộ giải mã, các ngôn ngữ đích sẽ được tạo.

36

2.2.2. Sử dụng Autoencoder phát hiện sự kiện hiếm

Với ưu điểm phân loại một lớp bằng phương pháp học không giám sát cùng sự linh hoạt kết hợp với các kiến trúc mạng nơ-ron khác, bộ mã hóa tự động Autoencoder hoàn toàn có thể ứng dụng vào bài toán phát hiện và dự báo sự kiện hiếm, sự kiện bất thường.

Hình 2.15. Mô hình MLP Autoencoder dự đoán sự kiện hiếm

Chúng ta có thể xây dựng một mô hình mạng Autoencoder điển hình phù hợp với bài toán (như hình 2.15 mô hình MLP Autoencode) có một nút thắt cổ chai ở lớp chính giữa làm mô hình phát hiện sự kiện hiếm. Trong quá trình huấn luyện, chúng ta chỉ cho mạng Autoencoder học các sự kiện bình thường, bỏ qua các sự kiện hiếm. Bằng cách này, mô hình Autoencoder được khuyến khích học cách tái tạo chính xác các đặc điểm của các sự kiện bình thường, mà không học được cách tái tạo các đặc điểm của sự kiện hiếm. Do mạng Autoencoder có nút thắt cổ chai, mạng sẽ có xu hướng học tập và giữ lại các đặc trưng quan trọng, khái quát nhất của các sự kiện bình thường và bỏ qua các nhiễu bất thường. Sau quá trình đào tạo, bộ mã hóa tự động có thể xây dựng lại các dữ liệu bình thường rất tốt, trong khi đó không thực hiện được tương tự với dữ liệu bất thường mà bộ mã hóa tự động không gặp phải. Vì thế các sự kiện hiếm này sẽ sinh ra tỉ lệ lỗi lớn giữa đầu ra và đầu vào. Chúng ta có thể dùng lỗi tái cấu trúc này làm giá trị đo độ bất thường, từ đó có thể đặt ra ngưỡng lỗi để phát hiện và dự báo các sự kiện bất thường.

37

Ngoài sử dụng mô hình MLP Autoencoder điển hình, do đặc điểm rất nhiều bộ dữ liệu của bài toán dự đoán sự kiện hiếm là chuỗi thời gian đa biến được lấy mẫu định kỳ nên có thể sử dụng Autoencoder kết hợp với một mạng thần kinh hồi quy (như RNN, LSTM – hình 2.16, GRU) làm mô hình dự báo sự kiện hiếm cho bài toán.

Hình 2.16. Mô hình LSTM Encoder dự đoán sự kiện hiếm

38

CHƯƠNG 3. ỨNG DỤNG MÔ HÌNH AUTOENCODER ĐỂ DỰ BÁO TRƯỚC SỰ CỐ TRONG NHÀ MÁY GIẤY

Chương 3 bài luận văn tập trung vào nghiên cứu, áp dụng thử nghiệm và cải tiến mô hình Autoencoder để dự báo sự kiện cực hiếm vào một bài toán thực tế là dự báo trước sự cố trong dây chuyền sản xuất của nhà máy giấy. Đây là một bài toán dự báo sự kiện cực hiếm điển hình và cũng rất thách thức nên nếu kết quả dự báo khả quan chứng tỏ mô hình Autoencoder hoàn toàn có thể áp dụng vào các bài toán dự báo sự kiện hiếm và cực hiếm khác cả trong tự nhiên, xã hội hay môi trường sản xuất kinh doanh.

3.1. BÀI TOÁN DỰ BÁO SỰ CỐ TRONG NHÀ MÁY GIẤY

3.1.1. Phát biểu bài toán

Bài luận văn sử dụng mô hình Autoencoder để dự báo các sự cố trong dây chuyền sản xuất của nhà máy giấy, sử dụng dữ liệu được thu thập trực tiếp từ một nhà máy giấy trong thực tế. Để sản xuất ra những tấm giấy, các nhà máy giấy có một dây chuyền gồm rất nhiều bộ phận (hình 3.1) hoạt động liên tục suốt ngày đêm. Tuy nhiên do đặc điểm là các tấm giấy rất mỏng, dễ bị đứt, nên khi có một bộ phận nào đó của dây chuyền trục trặc, sự đồng bộ giữa các bộ phận không còn trơn tru, các tấm giấy lớn sẽ bị phá vỡ. Bất cứ khi nào xảy ra sự cố phá vỡ các tấm giấy, toàn bộ dây chuyền sản xuất của nhà máy sẽ phải dừng lại để kiểm tra và khôi phục. Thông thường phải mất hơn một giờ để máycó thể khôi phục hoạt động trở lại bình thường. Trong khoảng thời gian chết này, nhà máy thiệt hại khoảng 10 nghìn đô-la và các kỹ sư phải vào những khu vực nguy hiểm để kiểm tra và khôi phục lại dây chuyền sản xuất. Trung bình sự cố xảy ra một vài lần mỗi ngày, gây tổn thất cho doanh nghiệp hàng triệu đô-la mỗi năm, kèm theo mối nguy hiểm, rủi ro cho sức khỏe của công nhân phục hồi hệ thống. Chính vì thế ngay cả việc giảm được 5% số sự cố cũng mang lại lợi ích đáng kể trong nhà máy cả về kinh tế lẫn sức khỏe nhân viên.

39

Hình 3.1. Hình ảnh về một dây chuyền sản xuất trong nhà máy giấy

Để phục vụ việc dự báo trước sự cố phá vỡ các tấm giấy, doanh nghiệp đã cho lắp đặt 60 cảm biến đặt ở các bộ phận khác nhau dọc theo dây chuyền. Các cảm biến được lấy mẫu tự động và định kỳ với tần suất 2 phút/lần tạo ra các mẫu dữ liệu. Vì thế trong một ngày, hệ thống sẽ tự động sinh ra đều đặn 720 mẫu dữ liệu, mỗi mẫu gồm 60 giá trị thu được từ các cảm biến. Khi nào có sự cố trong dây chuyền sản xuất, mẫu dữ liệu đầu tiên sau khi xảy ra sự cố sẽ được đánh dấu dương tính và loại bỏ qua các mẫu thu thập được trong khoảng thời gian nghỉ để khắc phục sự cố. Chính vì thế số lượng mẫu dương tính trong bộ dữ liệu thu thập được từ các cảm biến chiếm tỉ lệ cực kỳ thấp, trung bình chỉ chiếm khoảng 0.67% tổng số mẫu.

Nhà máy giấy mong muốn từ dữ liệu thu thập được từ các cảm biến có thể xây dựng được mô hình dự đoán trước sự cố phá vỡ tấm giấy trong dây chuyền sản xuất của nhà máy giấy và xác định bộ phận có khả năng gây ra sự cố.

3.1.2. Bộ dữ liệu nhà máy giấy

Nguồn bộ dữ liệu nhà máy giấy được nhóm tác giả Chitta Ranjan, Mahendranath Reddy, Markku Mustonen, Kamran Paynabar, Karim Pourak

40

phối hợp với 1 nhà máy giấy thu thập và cung cấp bộ dữ liệu cho các nhà nghiên cứu bài toán phân loại sự kiện hiếm trong chuỗi thời gian đa biến [28].

Bộ dữ liệu nhà máy giấy bao gồm các mẫu được thu thập từ 60 cảm biến trong khoảng thời gian một tháng với tần suất lấy mẫu 2 phút/lần. Sau khi loại trừ các mẫu dữ liệu thu thập trong khoảng thời gian khắc phục sự cố ta có bộ dữ liệu gồm:

− Bộ dữ liệu gồm 18396 mẫu dữ liệu, trong đó có 123 mẫu dương tính (chiếm 0.67% tổng số mẫu) và 18273 mẫu âm tính (chiếm 99.33% tổng số mẫu).

− Mỗi mẫu dữ liệu bao gồm các trường giá trị :

+ Trường thời gian “time”: chứa thời điểm lấy mẫu.

+ Nhãn sự kiện “y” : mẫu đánh dấu thời điểm bắt đầu xảy ra sự cố (nhãn dương tính) mang giá trị 1, không xảy ra sự cố (nhãn âm tính) mang giá trị 0.

+ “x1” đến “x60” : giá trị được ghi nhận từ 60 cảm biến.

3.1.3. Mục tiêu của bài toán

Từ bộ dữ liệu của bài toán xây dựng mô hình đạt được 2 mục tiêu chính :

− Dự đoán trước sự kiện phá hủy giấy trước khi nó xảy ra.

− Xác định vị trí bộ phận có khả năng cao gây ra sự cố để có thể nhanh

chóng bảo trì và ngăn chặn sự phá hủy giấy diễn ra.

41

3.2. ỨNG DỤNG MÔ HÌNH MLP AUTOENCODER CHO BÀI TOÁN

3.2.1. Tiếp cận bài toán với mô hình MLP Autoencoder

Đầu tiên bài luận văn cố gắng tiếp cận bài toán dự báo sự cố trong dây chuyền sản xuất của nhà máy giấy bằng bộ mã hóa tự động đơn giản và điển hình nhất: MLP Autoencoder. Chỉ với các kết nối đầy đủ giữa các lớp, mô hình MLP Autoencoder có thể xử lý tương đối hiệu quả rất nhiều bài toán khác nhau mà chưa cần xây dựng bộ mã hóa tự động đặc thù phụ thuộc vào đặc điểm bộ dữ liệu (các bộ mã hóa tự động như LSTM Autoencoder, Convolutional Autoencoder, …). Kết quả của mô hình MLP Autoencoder thường được đặt làm tiêu chuẩn để so sánh với các mô hình dự đoán khác.

3.2.2. Xây dựng mô hình MLP Autoencoder cho bài toán

Bài luận văn lựa chọn kiến trúc MLP Autoencoder điển hình nhất và dự đoán hiệu quả cho nhiều bài toán là mô hình có 2 lớp ẩn ở mỗi khối mã hóa và giải mã, số lượng nút các lớp mã hóa và giải mã sẽ đối xứng nhau qua lớp mã (như hình 3.2).

Hình 3.2. MLP Autoencoder 2 lớp ẩn ở khối mã hóa và giải mã

Các tham số của mô hình được lựa chọn như sau:

42

− Số lớp, hàm kích hoạt: có 2 lớp ẩn trong khối mã hóa và 2 lớp ẩn trong khối giải mã. Hàm kích hoạt của các lớp được lựa chọn là hàm Rectified Linear Unit (ReLU), ngoại trừ ở lớp cuối cùng dùng hàm tuyến tính (Linear).

− Kích thước mã: bài luận văn sẽ khảo sát kích thước mã sẽ biến đổi từ 1, 2,

4, 8, 16 nút để đánh giá hiệu quả.

− Số lượng nút trên mỗi lớp ẩn: Số nút các lớp ẩn sẽ giảm dần từ lớp input đến lớp mã hóa sau đó sẽ tăng dần lại ở lớp giải mã. Chúng ta lựa chọn kích thước 2 lớp ẩn gần đầu vào và đầu ra gồm 40 nút, 2 lớp ẩn cạnh vec- tơ mã gồm 20 nút.

− Hàm mất mát: bài luận văn sử dụng hàm mất mát là hàm lỗi bình phương

trung bình (mse).

Lựa chọn ngôn ngữ lập trình:

Ngôn ngữ lập trình : Python

Thư viện xây dựng mạng nơ-ron: Keras

3.2.3. Các bước lập trình MLP Autoencoder cho bài toán

3.2.3.1. Tiền xử lý dữ liệu

Dán nhãn lại cho các mẫu

Mục tiêu chính của bài toán là dự đoán trước sự phá vỡ tấm giấy từ trước khi nó xảy ra để có thể kịp thời ngăn chặn. Chính vì vậy bài luận văn cố gắng xây dựng mô hình dự đoán trước 4 phút (tương đương 2 lần lấy mẫu) trước khi sự cố xảy ra.

Do bộ dữ liệu ban đầu chỉ dãn nhãn dương tính ở ngay thời điểm xảy ra sự cố nên để phục vụ mục đích dự báo trước 4 phút cần thực hiện một vài chuyển đổi về giá trị nhãn trong bộ dữ liệu ban đầu :

− Nếu hàng (n) trong bộ dữ liệu gốc được dán nhãn dương tính, thực

hiện phép biến đổi:

+ Đặt nhãn hàng (n-2) và (n-1) bằng 1. Điều này sẽ giúp cho quá trình

phân loại học lên được 4 phút trước dự đoán

43

+ Xóa hàng (n) bởi vì mong muốn quá trình phân loại diễn ra trước khi sự cố xảy ra, khi sự cố xảy ra rồi việc dự đoán không có ý nghĩa thực tiễn.

Hình 3.3. Dữ liệu trước và sau khi dán nhãn lại

Loại bỏ các trường không cần thiết

df = df.drop(['time', 'x28'], axis=1)

Trong các trường đầu vào của mẫu, có 2 trường không có nhiều ý nghĩa cho mô hình đào tạo là trường “time” chỉ thời điểm lấy mẫu, và trường “x28” chứa giá trị phân loại kiểu lựa chọn một vài giá trị tự nhiên xác định nên ta loại bỏ. Như vậy đầu vào sẽ còn 59 trường dữ liệu liên tục đã được chuẩn hóa.

Hình 3.4. Loại bỏ các trường không cần thiết

44

Loại bỏ các mẫu nhiễu

Trong bộ dữ liệu có một số các khoảng thời gian từ lúc khởi động dây chuyền đến lúc xảy ra sự cố rất ngắn chỉ vài lần lấy mẫu. Như vậy có khả năng các mẫu này chưa đạt được trạng thái bình thường như lúc khi dây chuyền hoạt động ổn định, có thể gây nên nhiễu nếu ta đưa vào huấn luyện. Vì thế với các mẫu nằm trong các chu kỳ hoạt động tương đối ngắn ta sẽ loại bỏ.

3.2.3.2. Phân chia bộ dữ liệu

Trong các bài toán thực tế, để đánh giá tính chính xác của mô hình cần

phải có 3 bộ dữ liệu: train, valid và test.

− Bộ dữ liệu train: dùng để huấn luyện cho mô hình

− Bộ dữ liệu valid: dùng để đánh giá độ chính xác của mô hình, từ đó quyết

định lựa chọn mô hình và các tham số phù hợp

− Bộ dữ liệu test: dùng để xác thực độ chính xác cuối cùng. Đây coi như một bộ dữ liệu chưa biết, không dùng bộ dữ liệu test để lựa chọn mô hình và các tham số tối ưu như bộ dữ liệu valid.

Bởi vì trong phần này đã xác định mô hình khảo sát cụ thể là MLP Autoencoder và khảo sát tất cả các tham số chứ không phải nhằm mục đích tối ưu các tham số phù hợp nên không cần sử dụng bộ dữ liệu valid. Chính vì vậy tác giả chia bộ dữ liệu thành 2 bộ dữ liệu con train và test với tỉ lệ số lượng mẫu là 70:30. Do bài toán là một chuỗi thời gian đa biến, các giá trị mẫu cạnh nhau sẽ có xu hướng tương tự nhau, nếu ta phân chia 2 tập train và test hoàn toàn ngẫu nhiên về vị trí sẽ gây ra hiện tượng overfit, không đánh giá chính xác được kết quả. Chính vì thế tác giả lựa chọn 70% số mẫu đầu tiên trong từng chuỗi thời gian hoạt động tính từ lúc bắt đầu đến lúc xảy ra sự cố làm tập train, 30% số mẫu sau làm tập test có chứa cả các mẫu dương tính.

Chuẩn hóa các giá trị đầu vào

Do các đầu vào là các giá trị được đo từ cảm biến nên mỗi biến đều có khoảng giá trị biến đổi rất khác nhau. Để mạng nơ-ron học tập hiệu quả cần

45

chuẩn hóa lại các giá trị đầu vào. Sau khi phân chia bộ dữ liệu tác giả chuẩn hóa các giá trị cảm biến đầu vào về dạng chuẩn phân phối Gauss dựa trên các giá trị đã biết ở bộ dữ liệu train.

Hình 3.5. Dữ liệu sau khi chuẩn hóa

3.2.3.3. Xây dựng mô hình MLP Autoencoder

# Xây dựng Model MLP Autoencoder def autoEncodeModel(ninput): input_dim = ninput # num of predictor variables, hidden_dim_1 = 40 hidden_dim_2 = 20 encoding_dim = 16 regularizer = regularizers.l1(1e-3) activation = "relu" input_layer = Input(shape=(input_dim, )) encoder = Dense(hidden_dim_1, activation=activation, activity_regularizer=regularizer)(input_layer) encoder = Dense(hidden_dim_2, activation=activation, activity_regularizer=regularizer)(encoder) encoding = Dense(encoding_dim, activation=activation, activity_regularizer=regularizer)(encoder) decoder = Dense(hidden_dim_2, activation=activation, activity_regularizer=regularizer)(encoding) decoder = Dense(hidden_dim_1, activation=activation, activity_regularizer=regularizer)(decoder) decoder = Dense(input_dim, activation="linear", activity_regularizer=regularizer)(decoder)

Tác giả sử dụng thư viện Keras trong Python để xây dựng mô hình MLP Autoencoder, sử dụng thuật toán Adam để cập nhật trọng số, mse làm hàm mất mát.

autoencoder = Model(inputs=input_layer, outputs=decoder) return autoencoder # Sử dụng thuật toán Adam để cập nhật trọng số model = autoEncodeModel(df_train_x_rescaled.shape[1]) model.summary() model.compile(metrics=['accuracy'], loss='mean_squared_error', optimizer='adam')

46

Hình 3.6. Lập trình mạng nơ-ron MLP Autoencoder

Hình 3.7. Cấu trúc mô hình MLP Autoencoder

Như hình 3.7, với mô hình mạng MLP Autoencoder với lớp mã 16 nút, các lớp ẩn có 40 và 20 nút thì tổng số tham số tự do cần phải huấn luyện là 7155 tham số. Đây là số lượng tham số không lớn nếu so sánh với các mạng truyền thống.

3.2.3.4. Huấn luyện mô hình

Ta sử dụng bộ dữ liệu train làm cả đầu vào và đầu ra cho mô hình, sau

nb_epoch = 100 # Số epoch huấn luyện batch_size = 32

đó huấn luyện mô hình 100 chu kỳ huấn luyện với kích thước lô là 32.

cp = ModelCheckpoint(filepath="autoencoder_classifier.h5", save_best_only=True, verbose=0) history = model.fit(df_train_0_x_rescaled, df_train_0_x_rescaled, epochs=nb_epoch, batch_size=batch_size, shuffle=True, validation_data=(df_valid_0_x_rescaled, df_valid_0_x_rescaled), verbose=1, callbacks=[cp]).history

47

Hình 3.8. Mô-đun huấn luyện mô hình MLP Autoencoder

Hình 3.9. Huấn luyện mô hình MLP Autoencoder

3.2.4. Kết quả thử nghiệm và đánh giá mô hình

3.2.4.1. Kết quả thử nghiệm

Lịch sử huấn luyện mô hình

48

Hình 3.10. Lịch sử huấn luyện mạng MLP Autoencoder

Trước tiên nhìn vào hình 3.10 lịch sử huấn luyện chúng ta thấy mạng MLP Autoencoder với kích thươc khối mã bằng 16 dần hội tụ sau 100 chu kỳ huấn luyện, sai số trên cả tập train và test đều giảm dần trong đó mất mát ở tập test có xu hướng hội tụ quanh mốc 0.18.

Khi thử nghiệm với các kích thước mã nhỏ hơn tác giả thu được các giá trị hội tụ hàm mất mát của mạng như bảng 3.1. Từ các giá trị hội tụ có thể thấy khi kích thước lớp mã càng lớn thì giải mã tín hiệu đầu ra càng giống với tín hiệu đầu vào.

Bảng 3.1. Giá trị hàm mất mát mô hình MLP Autoencoder

Encoding_dim 1 2 4 8 16

Test Loss 0.6 0.45 0.34 0.25 0.18

49

Tỷ lệ thu hồi

Để đánh giá chính xác tính hiệu quả của việc dự báo của mô hình MLP Autoencoder chúng ta kiểm tra ma trận Confusion ở hình 3.11 với ngưỡng báo động nhầm ở mức 4%. Từ kết quả đạt được sau khi thử nghiệm với kích thước mã biến đổi từ 1 đến 16 (bảng 3.2), tác giả nhận thấy với kích thước lớp mã bằng 2 thì mô hình có khả năng dự đoán chính xác nhất, thu hồi cao nhất ở các ngưỡng báo động nhầm nhỏ hơn 10% và kích thước mã bằng 4 có khả năng thu hồi cao nhất ở các ngưỡng báo động nhầm cao hơn.

Với kích thước mã bằng 1 mô hình có khả năng thu hồi tương đối tốt ở các ngưỡng báo động nhầm rất thấp nhưng giảm nhanh chóng ở các ngưỡng báo động nhầm cao. Kích thước mã khi tăng dần lên 8, 16 thì tỉ lệ thu hồi có xu hướng giảm dần, không chính xác bằng mô hình có kích thước mã bằng 2. Điều này chứng tỏ trong mô hình Autoencoder kích thước mã nhỏ khuyến khích mạng học được các đặc điểm khái quát và hiệu quả nhất của bộ dữ liệu, kích thước mã cao hơn dẫn tới việc giải mã đầu ra càng giống với đầu vào hơn nhưng đồng thời mạng học luôn cả nhiễu, giảm tỉ lệ dự đoán của mô hình.

Bảng 3.2. Tỉ lệ thu hồi MLP Autoencoder ở ngưỡng FPR = 4%

Encoding_dim 1 2 4 8 16

Tỉ lệ thu hồi 0.130435 0.163043 0.141304 0.130435 0.119565

50

Hình 3.11. Kết quả dự báo mô hình MLP Autoencoder

*Confusion matrix (ma trận hỗn loạn, ma trận nhầm lẫn): là ma trận trực quan hóa hiệu suất dự đoán, thống kê số lượng lớp thực tế và lớp dự đoán.

Để có đánh giá chính xác hơn về hiệu quả của các mô hình dự đoán, chúng ta nhìn vào chỉ số diện tích dưới đường cong AUC (Area under the curve)

51

trong biểu đồ ROC (Receiver operating characteristic curve) của các mô hình ở hình 3.12. Chỉ số AUC thể hiện tỉ lệ thu hồi của mô hình một cách chung nhất ở các ngưỡng khác nhau thay vì xét ở một ngưỡng nhất định. Như thể hiện trong biểu đồ có thể thấy rằng ở kích thước khối mã bằng 2 và bằng 4 mô hình đạt tỉ lệ thu hồi cao nhất và giảm dần ở các kích thước mã cao hơn.

Hình 3.12. Biểu đồ ROC, AUC mô hình MLP Autoencoder

Tỉ lệ báo động nhầm

Ở ngưỡng báo động nhầm 4%, mô hình với kích thước lớp mã m = 2 đạt được tỉ lệ thu hồi cao nhất 16.3%, gấp hơn 4 lần tỉ lệ báo động nhầm. Tuy nhiên để đạt được tỉ lệ thu hồi 25% thì phải tỉ lệ báo động nhầm lên tới 10%. Để tìm hiểu nguyên nhân tỉ lệ báo động nhầm cao tác giả tiến hành phân tích biểu đồ phân bố lỗi ở hình 3.13. Trên biểu đồ có thể nhận thấy phần lớn các báo động nhầm nằm tập trung ở một vài khu vực được khoanh hình elip trên biểu đồ. Qua

52

phân tích chi tiết, các mẫu trong cùng một khu vực này đều thuộc cùng một chu kỳ hoạt động, và hiện tượng báo động nhầm liên tiếp chỉ được ngắt khi hệ thống xảy ra lỗi và dây chuyền được bảo dưỡng. Khoảng thời gian từ lúc bắt đầu báo động đến lúc bảo dưỡng có thể kéo dài cả tiếng, gây nên rất nhiều mẫu báo động nhầm. Do tỉ lệ báo động nhầm chỉ tập trung ở một số chu kỳ hoạt động nhất định nên có thể giải thích là do một trong hai nguyên nhân chính sau đây:

− Nguyên nhân đầu tiên có thể là do một số bất thường trong các bộ phận của dây chuyền sản xuất nhưng các bất thường này không đủ dẫn đến sự cố phá vỡ tấm giấy. Tuy nhiên về lâu dài có thể gây ra những tác động khác như ảnh hưởng tới chất lượng tấm giấy, giảm tuổi thọ máy móc. Đây thường là những bất thường gây tác động tương đối nhẹ ví dụ như nhiệt độ, độ ẩm…

− Tại những thời điểm này một vài cảm biến không ổn định dẫn tới báo động nhầm liên tiếp, đến khi xảy ra sự cố các kỹ sư mới bảo dưỡng và cảm biến cho kết quả bình thường

Chính vì vậy phát hiện những trường hợp báo động nhầm này không hẳn là xấu mà nó thể hiện đang có một sự bất thường trong dây chuyền sản xuất, tuy không dẫn đến sự cố phá hủy những tấm giấy nhưng về lâu dài có thể làm giảm tuổi thọ các bộ phận, giảm chất lượng sản phẩm và các tác động không mong muốn khác. Khi xảy ra các trường hợp báo động nhầm, các kỹ sư bảo trì sẽ kiểm tra xử lý các khu vực báo động giúp loại trừ những khả năng tiềm ẩn sau này.

53

Hình 3.13. Phân bố lỗi theo chỉ mục của MLP Autoencoder

*Reconstruction error: Giá trị lỗi của dữ liệu được tái tạo ở đầu ra so với dữ liệu gốc đầu vào

3.2.4.2. Đánh giá kết quả

Mô hình MLP Autoencoder sau quá trình huấn luyện cho kết quả dự đoán trước sự cố phá vỡ tấm giấy rất khả quan: có khả năng dự đoán chính xác 16.3% các trường hợp xảy ra sự cố với ngưỡng báo động giả 4%. Đồng thời bằng việc so sánh sai số từng giá trị trong 2 vec-tơ đầu vào và đầu ra, mô hình có thể giúp xác định ngay được vị trí một số cảm biến gây ra sai số nhiều nhất, giúp kỹ sư bảo dưỡng có thể khoanh vùng ngay được khu vực gây ra sự cố, giảm thiểu thời gian sửa chữa dây chuyền.

Từ hình 3.13 chúng ta có thể thấy ngoài 1 lượng các trường hợp sự cố cho tỉ lệ lỗi cao cũng có rất nhiều trường hợp khi trước khi xảy ra sự cố 2-4 phút các thông số hoạt động vẫn bình thường. Các sự cố này có thể do các nguyên nhân bất ngờ không thể dự đoán trước trong khoảng thời gian 2 phút

54

sau lần lấy mẫu cuối cùng, hoặc lỗi ở các khu vực chưa có cảm biến ghi nhận bất thường. Vì vậy rất khó để có thể dự đoán tỉ lệ chính xác cao, nên tỉ lệ thu hồi 16.3% trong trường hợp bộ dữ liệu bài toán này là tương đối hiệu quả, giúp cho doanh nghiệp giảm thiểu nhiều thiệt hại về kinh tế và sức khỏe.

Kết quả thử nghiệm cũng cho thấy với kích thước mã bằng 2 và bằng 4 cho tỉ lệ dự đoán chính xác cao nhất. Kích thước mã lớn hơn cho tỉ lệ chính xác giảm dần mặc dù sai số đầu ra và đầu vào thấp hơn hẳn. Điều này chứng tỏ khi tạo được nút thắt cổ chai phù hợp, mạng Autoencoder sẽ học được các đặc điểm nhận dạng tốt nhất của bộ dữ liệu loại trừ các nhiễu đầu vào.

Mô hình MLP Autoencoder vẫn cho tỉ lệ báo động nhầm tương đối cao: 4% với tỉ lệ thu hồi 16% và 10% với tỉ lệ thu hồi 25%. Nguyên nhân được phân tích là do hầu hết các mẫu trong một vài chu kỳ hoạt động nhất định đều cho kết quả báo động nhầm, có thể do các sự cố một vài khu vực trong dây chuyền tuy không dẫn tới việc phá hủy các tấm giấy và ngừng dây chuyền sản xuất nhưng về lâu dài có thể dẫn tới các nguy cơ tiềm ẩn khác. Vì vậy các báo động nhầm này giúp cho các kỹ sư phát hiện các bất thường, các nguy cơ tiềm tàng để bảo dưỡng khắc phục.

3.3. ỨNG DỤNG MÔ HÌNH LSTM AUTOENCODER CHO BÀI TOÁN

3.3.1. Tiếp cận bài toán với mô hình LSTM Autoencoder

Sau khi thử nghiệm và đánh giá kết quả bài toán dự báo sự cố phá vỡ tấm giấy với bộ mã hóa tự động điển hình nhất MLP Autoencoder, tác giả tiếp tục thử nghiệm và tiếp cận bài toán với một mô hình Autoencoder đặc thù phù hợp với dữ liệu đầu vào.

Bộ dữ liệu của bài toán là kết quả của quá trình lấy mẫu từ 60 cảm biến định kỳ với tần suất 2 phút/lần nên đây là 1 chuỗi thời gian đa biến liên tiếp. Vì vậy mô hình bộ mã hóa tự động phù hợp nhất với bài toán là mô hình Autoencoder kết hợp với các kiến trúc mạng nơ-ron hồi quy (mạng nơ-ron tái phát). Trong bài luận văn tác giả lựa chọn mô hình Autoencoder kết hợp với kiến trúc mạng nơ-ron bộ nhớ ngắn hạn LSTM (Long short-term memory) bởi

55

vì LSTM là một mạng nơ-ron hồi quy rất điển hình, là cải tiến của RNN khắc phục được nhược điểm của RNN về việc nhớ dài hạn.

3.3.2. Xây dựng mô hình LSTM Autoencoder cho bài toán

Bài luận văn lựa chọn kiến trúc LSTM Autoencoder điển hình nhất và đã dự đoán hiệu quả cho nhiều bài toán khác nhau như hình 3.14: mô hình LSTM Autoencoder gồm 3 khối chính là khối mã hóa LSTM (Encoding LSTM layer), lớp mã và khối giải mã LSTM (Decoding LSTM layer). Trong đó lớp mã hóa và lớp giải mã đều gồm k mẫu liên tiếp nhau được kết nối với nhau qua các lớp LSTM. Lớp mã là một vec-tơ m chiều tương tự như lớp mã của mô hình MLP Autoencoder, đây cũng chính là nút thắt cổ chai cho toàn mạng nơ- ron. Lớp mã sẽ kết nối với khối mã hóa thông qua đầu ra của LSTM cuối cùng và lớp mã kết nối với khối giải mã thông qua đầu vào của LSTM đầu tiên của khối này.

Trong quá trình đạo tạo, khối mã hóa của LSTM Autoencoder sẽ cố gắng mã hóa k mẫu liên tiếp này vào một vec-tơ mã hóa m chiều, sau đó khối giải mã sẽ cố gắng khôi phục lại k mẫu này sao cho sai số đầu vào và đầu ra là nhỏ nhất.

Hình 3.14. Bộ mã hóa tự động LSTM Autoencoder

56

Các tham số của mô hình được lựa chọn như sau:

− Số lớp, hàm kích hoạt: Số lớp LSTM trong khối mã tương ứng với k - số mẫu ta muốn nhìn lại trong mạng hồi quy. Bài luận văn lựa chọn k = 5 để xây dựng mô hình và đánh giá kết quả. Hàm kích hoạt lựa chọn cho mô hình là hàm ReLU.

− Kích thước mã: bài luận văn sẽ khảo sát kích thước mã sẽ biến đổi từ 2, 4,

8, 16 nút để đánh giá hiệu quả.

− Hàm mất mát: bài luận văn sử dụng hàm mất mát là hàm lỗi bình phương

trung bình (mse).

− Kích thước các kết nối LSTM : Kích thước kết nối giữa các LSTM với

nhau được lựa chọn là 32.

Lựa chọn ngôn ngữ lập trình:

Ngôn ngữ lập trình : Python

Thư viện mạng nơ-ron: Keras

3.3.3. Các bước lập trình LSTM Autoencoder cho bài toán

3.3.3.1. Tiền xử lý dữ liệu

Dán nhãn lại cho các mẫu

Tương tự như MLP Autoencoder, để phục vụ mục đích dự báo trước sự cố trong bước này cần thực hiện một vài chuyển đổi về giá trị nhãn trong bộ dữ liệu ban đầu :

− Nếu hàng (n) trong bộ dữ liệu gốc được dán nhãn dương tính, thực

hiện phép biến đổi:

+ Đặt nhãn hàng (n-2) và (n-1) bằng 1. Điều này sẽ giúp cho quá trình

phân loại học lên được 4 phút trước dự đoán

+ Xóa hàng (n) bởi vì mong muốn quá trình phân loại diễn ra trước khi sự cố xảy ra, khi sự cố xảy ra rồi việc dự đoán không có ý nghĩa thực tiễn.

57

Hình 3.15. Dữ liệu trước và sau khi dán nhãn lại

Loại bỏ các trường không cần thiết

Trong các trường đầu vào của mẫu, có 2 trường không có nhiều ý nghĩa cho mô hình đào tạo là trường “time” chỉ thời điểm lấy mẫu, và trường “x28” chứa giá trị phân loại kiểu lựa chọn một vài giá trị tự nhiên xác định nên ta loại bỏ. Như vậy đầu vào sẽ còn 59 trường dữ liệu liên tục đã được chuẩn hóa.

Loại bỏ các mẫu nhiễu

Trong bộ dữ liệu có một số các khoảng thời gian từ lúc khởi động dây chuyền đến lúc xảy ra sự cố rất ngắn chỉ vài lần lấy mẫu. Như vậy có khả năng các mẫu này chưa đạt được trạng thái bình thường như lúc khi dây chuyền hoạt động ổn định, có thể gây nên nhiễu nếu ta đưa vào huấn luyện. Vì thế với các mẫu nằm trong các chu kỳ hoạt động tương đối ngắn ta sẽ loại bỏ.

Tạo mẫu phù hợp với mô hình LSTM Autoencoder

58

Cả 4 bước tiền xử lý phía trên đều tương tự như mô hình MLP Autoencoder. Tuy nhiên mô hình LSTM Autoencoder đòi hỏi biến đổi nhiều hơn một chút so với MLP Autoencoder. Các mô hình hồi quy có nghĩa là nhìn về quá khứ. Tại thời điểm t, LSTM sẽ xử lý dữ liệu lên đến (t – khoảng thời gian nhìn lại) để đưa ra dự đoán. Bài luận văn sẽ lựa chọn khoảng thời gian nhìn lại là 5 lần thời gian lấy mẫu. Như vậy 1 mẫu để đào tạo cho mạng LSTM sẽ gồm dữ liệu của 5 mẫu liên tiếp từ (t – 4) đến t, nên cần phải tạo ra mẫu mới là gộp có 5 mẫu liên tiếp để phù hợp làm đầu vào và đầu ra cho mạng.

Hình 3.16. Dữ liệu đầu vào cho mô hình LSTM Autoencoder

3.3.3.2. Phân chia bộ dữ liệu

Trong các bài toán thực tế, để đánh giá tính chính xác của mô hình cần

phải có 3 bộ dữ liệu: train, valid và test.

− Bộ dữ liệu train: dùng để huấn luyện cho mô hình

− Bộ dữ liệu valid: dùng để đánh giá độ chính xác của mô hình, từ đó quyết

định lựa chọn mô hình và các tham số phù hợp

− Bộ dữ liệu test: dùng để xác thực độ chính xác cuối cùng. Đây coi như một bộ dữ liệu chưa biết, không dùng bộ dữ liệu test để lựa chọn mô hình và các tham số tối ưu như bộ dữ liệu valid.

Bởi vì trong phần này đã xác định mô hình khảo sát cụ thể là MLP Autoencoder và khảo sát tất cả các tham số không nhằm mục đích tối ưu các tham số phù hợp nên không cần sử dụng bộ dữ liệu valid. Chính vì vậy tác giả chia bộ dữ liệu thành 2 bộ dữ liệu con train và test với tỉ lệ số lượng mẫu là

59

70:30. Do bài toán là một chuỗi thời gian đa biến, các giá trị mẫu cạnh nhau sẽ có xu hướng tương tự nhau, nếu ta phân chia 2 tập train và test hoàn toàn ngẫu nhiên về vị trí sẽ gây ra hiện tượng overfit, không đánh giá chính xác được kết quả. Chính vì thế tác giả lựa chọn 70% số mẫu đầu tiên trong từng chuỗi thời gian hoạt động tính từ lúc bắt đầu đến lúc xảy ra sự cố làm tập train, 30% số mẫu sau làm tập test có chứa cả các mẫu dương tính.

Chuẩn hóa các giá trị đầu vào

Do các đầu vào là các giá trị được đo từ cảm biến nên mỗi biến đều có khoảng giá trị biến đổi rất khác nhau. Để mạng nơ-ron học tập hiệu quả cần chuẩn hóa lại các giá trị đầu vào. Sau khi phân chia bộ dữ liệu tác giả chuẩn hóa các giá trị cảm biến đầu vào về dạng chuẩn phân phối Gauss dựa trên các giá trị đã biết ở bộ dữ liệu train.

3.3.3.3. Xây dựng mô hình LSTM Autoencoder

# Xây dựng Model LSTM Autoencoder lstm_autoencoder = Sequential() # Encoder lstm_autoencoder.add(LSTM(32, activation='relu', input_shape=(timesteps, n_features), return_sequences=False)) lstm_autoencoder.add(Dense(4, activation='relu')) lstm_autoencoder.add(RepeatVector(timesteps)) # Decoder lstm_autoencoder.add(LSTM(32, activation='relu', return_sequences=True)) lstm_autoencoder.add(TimeDistributed(Dense(n_features)))

Tác giả sử dụng thư viện Keras trong Python để xây dựng mô hình LSTM Autoencoder, sử dụng thuật toán Adam để cập nhật trọng số, mse làm hàm mất mát.

Hình 3.17. Lập trình mạng nơ-ron LSTM Autoencoder

60

Hình 3.18. Cấu trúc mô hình LSTM Autoencoder

Như hình 3.18, với mô hình mạng MLP Autoencoder với lớp mã 4 nút, tổng số tham số tự do cần phải huấn luyện là 18.591 tham số. Đây là số lượng tham số không lớn do mạng phải mã hóa và tái tạo dữ liệu của cả 5 mẫu.

3.3.3.4. Huấn luyện mô hình

Ta sử dụng bộ dữ liệu train làm cả đầu vào và đầu ra cho mô hình, sau

epochs = 100 batch = 32 adam = optimizers.Adam() lstm_autoencoder.compile(loss='mse', optimizer=adam) lstm_autoencoder_history = lstm_autoencoder.fit(X_train, X_train,epochs=epochs, batch_size=batch, validation_data=(X_valid, X_valid), verbose=2).history

đó huấn luyện mô hình 100 chu kỳ huấn luyện với kích thước lô là 32.

Hình 3.19. Mô-đun huấn luyện mô hình LSTM Autoencoder

61

Hình 3.20. Huấn luyện mô hình LSTM Autoencoder

3.3.4. Kết quả thử nghiệm và đánh giá mô hình

3.3.4.1. Kết quả thử nghiệm

Lịch sử huấn luyện mô hình

Trước tiên nhìn vào lịch sử huấn luyện hình 3.21 chúng ta thấy mạng LSTM Autoencoder với kích thươc khối mã bằng 16 dần hội tụ sau 100 chu kỳ huấn luyện, sai số trên cả tập train và test đều giảm dần trong đó mất mát ở tập test có xu hướng hội tụ quanh mốc 0.23.

62

Hình 3.21. Lịch sử huấn luyện mạng LSTM Autoencoder

Khi thử nghiệm với các kích thước mã khác tác giả thu được các giá trị hội tụ hàm mất mát của mạng như bảng 3.3. Từ các giá trị hội tụ có thể thấy khi kích thước lớp mã càng lớn thì giải mã tín hiệu đầu ra càng giống với tín hiệu đầu vào.

Bảng 3.3. Giá trị hàm mất mát mô hình LSTM Autoencoder

Encoding_dim 2 4 8 16 32

Test Loss 0.44 0.31 0.26 0.23 0.2

Tỷ lệ thu hồi

Tương tự như mô hình MLP Autoencoder, để đánh giá chính xác tính hiệu quả của việc dự báo của mô hình LSTM Autoencoder chúng ta kiểm tra biểu đồ ROC-AUC ở hình 3.22 và ma trận Confusion ở hình 3.23 với ngưỡng báo động nhầm ở mức 4%. Sau khi thử nghiệm với kích thước mã biến đổi từ 2 đến 16, tác giả nhận thấy với kích thước lớp mã bằng 4 và bằng 8 thì mô hình

63

có khả năng dự đoán chính xác nhất, thu hồi cao nhất (xem Bảng 3.5) và cao hơn mô hình MLP Autoencoder một chút : ở ngưỡng báo động nhầm 4%, LSTM Autoencoder thu hồi 17.4% so với 16.3% của MLP Autoencoder. Ở các ngưỡng báo động nhầm cao hơn ta thấy mô hình LSTM Autoencoder có cải thiện rõ rệt so với MLP Autoencoder : 30% ở ngưỡng báo động nhầm 10% so với chỉ 25% của mô hình MLP (Bảng 3.4). Chỉ số AUC là 0.693 cao hơn một chút so với 0.673 của MLP.

MLP Autoencoder LSTM Autoencoder

FPR = 4% 0.173913 0.163043

FPR = 10% 0.304347826 0.25

AUC 0.693 0.673

Bảng 3.4. So sánh tỉ lệ thu hồi MLP và LSTM Autoencoder

Hình 3.22. Biểu đồ ROC, AUC mô hình MLP Autoencoder

64

Bảng 3.5. Tỉ lệ thu hồi LSTM Autoencoder ở ngưỡng FPR = 4%

Encoding_dim 2 4 8 16 32

Tỉ lệ thu hồi 0. 130435 0.173913 0.163043 0.130435 0.119565

65

Hình 3.23. Kết quả dự báo mô hình LSTM Autoencoder

Tỉ lệ báo động nhầm

Tỉ lệ báo động nhầm của mô hình LSTM Autoencoder cũng tương tự như MLP Autoencoder chủ yếu tập trung ở một số chu kỳ hoạt động. Trên hình 3.24 ta thấy ngoài các chu kỳ hoạt động gây ra nhiều cảnh báo nhầm, mạng LSTM Autoencoder có giá trị lỗi các mẫu bình thường cũng thấp hơn và tỉ lệ báo động nhầm ở các mẫu đơn lẻ khác thấp hơn mạng MLP Autoencoder.

Hình 3.24. Phân bố lỗi theo chỉ mục của MLP Autoencoder

3.3.4.2. Đánh giá kết quả

Mô hình LSTM Autoencoder sau quá trình huấn luyện cho kết quả dự đoán trước sự cố phá vỡ tấm giấy chính xác hơn mô hình MLP Autoencoder : có khả năng thu hồi 17.4% các trường hợp dương tính so với 16.3% của MLP Autoencoder ở ngưỡng báo động giả 4% ; thu hồi 30% các trường hợp dương tính so với 25% của MLP Autoencoder ở ngưỡng báo động giả 10% .

66

Kết quả thử nghiệm cũng cho thấy với kích thước mã bằng 4 và bằng 8 cho tỉ lệ dự đoán chính xác cao nhất. Kích thước mã lớn hơn cho tỉ lệ chính xác giảm dần mặc dù sai số đầu ra và đầu vào thấp hơn. Điều này chứng tỏ khi tạo được nút thắt cổ chai phù hợp, mạng LSTM Autoencoder sẽ học được các đặc điểm nhận dạng tốt nhất của bộ dữ liệu loại trừ các nhiễu đầu vào.

Tỉ lệ báo động nhầm của mô hình LSTM Autoencoder cũng tương tự như MLP Autoencoder chủ yếu tập trung ở một số chu kỳ hoạt động riêng rẽ. Tỉ lệ báo động nhầm các mẫu đơn lẻ khác ở mạng LSTM thấp hơn mạng MLP Autoencoder.

Với tỉ lệ thu hồi 17.4% ở ngưỡng báo động nhầm 4% và 30% ở ngưỡng báo động nhầm 10% việc áp dụng mô hình LSTM Autoencoder để dự báo trước sự cố trong dây chuyền sản xuất giấy là rất phù hợp. Tùy vào điều kiện thực tế doanh nghiệp có thể lựa chọn ngưỡng thu hồi thích hợp.

.

67

CHƯƠNG 4. KẾT LUẬN VÀ KIẾN NGHỊ

4.1. KẾT LUẬN

Việc dự báo trước sự kiện cực hiếm là một bài toán rất khó nhưng có ý nghĩa vô cùng thiết thực trong đời sống. Độ hiệu quả của các mô hình dự báo phụ thuộc rất lớn vào bản chất nguồn dữ liệu và sự phù hợp của mô hình được lựa chọn với bài toán. Trong bài luận văn này, học viên đã trình bày phương pháp sử dụng bộ mã hóa tự động Autoencoder kết hợp với 2 mô hình mạng nơ- ron cụ thể là MLP và LSTM để ứng dụng vào bài toán dự đoán sự kiện cực hiếm trong chuỗi thời gian đa biến điển hình : dự đoán trước sự cố trong dây chuyền sản xuất của nhà máy giấy. Cả 2 mô hình bộ mã hóa tự động đã đạt được những kết quả nhất định : dự báo được khoảng 17% số sự cố trong dây chuyền sản xuất nhà máy giấy ở ngưỡng báo động nhầm 4% . Mô hình LSTM Autoencoder dự đoán chính xác cao hơn MLP Autoencoder một ít, đặc biệt ở ngưỡng báo động nhầm cao ( lớn hơn 10%)

Các vấn đề mà luận văn đã làm được :

1. Trình bày tổng quan về sự kiện hiếm : khái niệm sự kiện hiếm, các sự kiện hiếm trong tự nhiên, xã hội, sự cần thiết của việc dự báo trước sự kiện hiếm.

2. Tìm hiểu và đánh giá một số phương pháp phát hiện và dự báo sự kiện

hiếm nhằm cân bằng lại số lượng mẫu giữa các lớp.

3. Trình bày tổng quan về mô hình bộ mã hóa tự động Autoencoder : định nghĩa mô hình Autoencoder, phân loại các mô hình Autoencoder và các ứng dụng vào các lĩnh vực trong cuộc sống.

4. Trình bày phương pháp ứng dụng mô hình Autoencoder để giải quyết

bài toán dự báo sự kiện cực hiếm.

5. Xây dựng thành công chương trình thử nghiệm và đánh giá kết quả phương pháp kết hợp Autoencoder với 2 mô hình mạng nơ-ron cụ thể là MLP và LSTM để giải quyết bài toán dự báo sự kiện cực hiếm trong chuỗi thời gian đa biến điển hình : dự báo trước sự cố trong nhà máy giấy.

68

4.2. KIẾN NGHỊ

Trong bài toán dự báo sự cố trong dây chuyền sản xuất của nhà máy giấy, mặc dù 2 mô hình bộ mã hóa tự động MLP Autoencoder và LSTM Autoencoder cho các kết quả dự báo rất khả quan ở ngưỡng thu hồi khoảng 20%-30% nhưng khi tăng ngưỡng thu hồi lên cao hơn thì tỉ lệ báo động nhầm cũng tăng lên nhanh chóng. Để tăng hiệu quả của việc dự báo trong bài toán nhà máy giấy nói riêng và các bài toán dự báo sự kiện hiếm trong thực tế nói chung, tiếp theo tác giả tiếp tục hướng nghiên cứu sau:

− Nghiên cứu và cải thiện hiệu năng của phương pháp sử dụng các bộ mã hóa tự động Autoencoder giúp mạng nơ-ron tìm ra các đặc điểm quan trọng nhất đưa vào khối mã.

− Nghiên cứu phương pháp sử dụng chính khối mã của Autoencoder làm đầu vào cho một mạng nơ-ron phân loại tiếp theo. Từ đó có thể sử dụng cả khối mã của các sự kiện cực hiếm để đào tạo cho mô hình dự báo chứ không phải loại bỏ hoàn toàn như các bộ mã hóa tự động hiện nay. Việc kết hợp thêm cả dữ liệu sự kiện hiếm gặp một cách hợp lý sau khi mã hóa qua bộ Autoencoder hứa hẹn là hướng đi khả quan trong việc cải thiện hiệu suất dự báo các sự kiện cực hiếm trong thực tế.

69

TÀI LIỆU THAM KHẢO

[1] Morio J., Balesdent M., 2015, Estimation of Rare Event Probabilities in

Complex Aerospace and Other Systems, Elsevier Science.

[2] Sharma A. S., Bunde A., Dimri V. P., Baker D. N., 2012, Extreme events and

natural hazards: The complexity perspective, Wiley.

[3] Ghil M., Yiou P., Hallegatte S., Malamud B. D., Naveau P., Soloviev A., Friederichs P., 2011, Extreme events: Dynamics, statistics and prediction, Nonlinear Processes in Geophysics.

[4] Goodfellow Ian, Bengio Yoshua, Courville Aaron, 2016, Deep Learning, MIT

Press.

[5] Goodwin P., Wright G., 2010, The limits of forecasting methods in anticipating rare events., Technological Forecasting and Social Change.

[6] Sakurada M., Yairi T., 2014, Anomaly detection using Autoencoders with

nonlinear dimensionality reduction, MLSDA'14 2014.

[7] Welling Max, Kingma Diederik P, 2019, An Introduction to Variational

Autoencoders, Foundations and Trends in Machine Learning.

[8] Hinton G. E., Salakhutdinov R. R., 2006, Reducing the Dimensionality of

Data with Neural Networks, Science.

[9] Vincent Pascal, Larochelle Hugo, 2010, Stacked Denoising Autoencoders: Learning Useful Representations in a Deep Network with a Local Denoising Criterion, The Journal of Machine Learning Research.

[10] Diederik Kingma P., Welling Max, 2013, Auto-Encoding Variational Bayes,

arXiv:1312.6114.

[11] Zhou C., Paffenroth R. C., 2017, Anomaly detection with robust deep autoencoders, ACM SIGKDD 2017 International Conference on Knowledge Discovery and Data Mining.

[12] Ranjan C., Mustonen M., Paynabar K., Pourak K., 2018, Dataset: Rare Event

Classification in Multivariate Time Series.

70

[13] King G., Zeng L., 2001, Logistic regression in rare events data, Political

Analysis.

[14] Embrechts P., Klüppelberg C., Mikosch T. , 1997, Modelling extremal events:

For insurance and finance, Vol. 33 Springer.

[15] Chicco Davide, Sadowski Peter, Baldi Pierre, 2014, Deep Autoencoder neural

networks for gene ontology annotation predictions, ACM BCB 2014.

[16] Nitesh V., Kevin W., Lawrence O., Philip W., 2002, SMOTE: Synthetic Minority Over-sampling Technique, Journal of Artificial Intelligence Research.

[17] Nicola L., Giovanna M., Nicola T., 2014, ROSE: A Package for Binary

Imbalanced Learning, The R Journal.

[18] An J., Cho S., 2015, Variational autoencoder based anomaly detection using

reconstruction probability, Special Lecture on IE.

[19] Ribeiro M., Lazzaretti A. E., Lopes H. S., 2018, A study of deep convolutional auto-encoders for anomaly detection in videos, Pattern Recognition Letters.

[20] Arpit Devansh, Zhou Yingbo, Ngo Hung, Govindaraju Venu, 2015, Why Regularized Auto-Encoders learn Sparse Representation?, arXiv:1505.05561.

[21] Salakhutdinov Ruslan, Hinton Geoffrey, 2009, Semantic hashing, International Journal of Approximate Reasoning. Special Section on Graphical Models and Information Retrieval.

[22] Cho K., 2013, Simple sparsification improves sparse denoising autoencoders in denoising highly corrupted images, In International Conference on Machine Learning.

[23] Zeng Kun, Yu Jun, Wang Ruxin, Li Cuihua, Tao Dacheng, 2017, Coupled Deep Autoencoder for Single Image Super-Resolution, IEEE Transactions on Cybernetics.

[24] Gondara Lovedeep, 2016, Medical Image Denoising Using Convolutional Denoising Autoencoders, 2016 IEEE 16th International Conference on Data Mining Workshops.

71

[25] Tzu-Hsi Song, Sanchez Victor, Hesham,EIDaly, Nasir Rajpoot M., 2017, Hybrid deep autoencoder with Curvature Gaussian for detection of various types of cells in bone marrow trephine biopsy images, 2017 IEEE 14th International Symposium on Biomedical Imaging.

[26] Xu Jun, Xiang Lei, Liu Qingshan, Gilmore Hannah, Wu Jianzhong, Tang Jinghai, Madabhushi Anant, 2016, Stacked Sparse Autoencoder (SSAE) for Nuclei Detection on Breast Cancer Histopathology Images, IEEE Transactions on Medical Imaging.

[27] Martinez-Murcia Francisco J., Ortiz Andres, Gorriz Juan M., Ramirez Javier, Castillo-Barnes Diego, 2020, Studying the Manifold Structure of Alzheimer's Disease: A Deep Learning Approach Using Convolutional Autoencoders, IEEE Journal of Biomedical and Health Informatics.

[28] Ranjan C., Mustonen M., Paynabar K., Pourak, K., 2018, Dataset: Rare Event

Classification in Multivariate Time Series, arXiv:1809.10717