TRƯỜNG CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ĐẠI HỌC BÁCH KHOA HÀ NỘI DỰ ĐOÁN LƯU LƯỢNG TRUY CẬP WEB SỬ DỤNG MÔ HÌNH HỌC SÂU CNN VÀ LSTM Đỗ Minh Hiếu – 20194558 Học phần Hệ điều hành và quản trị mạng Li[.]
TRƯỜNG CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ĐẠI HỌC BÁCH KHOA HÀ NỘI DỰ ĐOÁN LƯU LƯỢNG TRUY CẬP WEB SỬ DỤNG MƠ HÌNH HỌC SÂU CNN VÀ LSTM Đỗ Minh Hiếu – 20194558 Học phần: Hệ điều hành quản trị mạng Linux theo chuẩn kỹ ITSS Giảng viên hướng dẫn: TS Nguyễn Đức Tồn Chương trình Công nghệ Thông tin Việt - Nhật c MỤC LỤC TỔNG QUAN VÀ MỤC ĐÍCH .3 CÔNG NGHỆ SỬ DỤNG Mạng nơ-ron tích chập CNN Mạng LSTM DATASET Phân tích sơ dataset Xử lý data .9 XÂY DỰNG MƠ HÌNH 12 Mơ hình LSTM 12 Mơ hình CNN .13 DỰ ĐOÁN LƯU LƯỢNG TRUY CẬP WEB .14 Q trình dự đốn 14 Thực dự đoán .15 Mô hình LSTM 15 Mơ hình CNN 16 KẾT LUẬN 17 TÀI LIỆU THAM KHẢO 18 c TỔNG QUAN VÀ MỤC ĐÍCH Với bao phủ mạng Internet cơng nghệ phát triển web nay, việc tải xuống ứng dụng ngày hạn chế Theo thống kê, 90% khách hàng coi website kênh đáng tin cậy gần không bị “lỗi” kênh online khác Tuy nhiên, lượng truy cập web lớn dễ gây tình trạng “tắc nghẽn”, từ gây cảm giác không tốt cho người dùng, đồng thời làm giảm độ tin cậy ưa thích trang web với doanh nghiệp Vì vậy, việc dự đốn lượng lưu lượng truy cập web yêu cầu tất yếu nhà phát triển Lưu lượng truy cập web đề cập đến lượng truy cập người dùng đến trang web Lưu lượng truy cập web đo lượng truy cập web, hay gọi “phiên” truy cập, đơn vị thời gian, thay đổi nhiều tùy theo thời gian ngày, ngày tuần Lượng lưu lượng truy cập web mà tảng chịu tùy thuộc vào kích thước máy chủ hỗ trợ tảng - Nếu lưu lượng truy cập nhiều máy chủ xử lý, trang web hiển thị lỗi 404 - Một giải pháp cho vấn đề tăng số lượng máy chủ Điều địi hỏi cần biết số lượng máy chủ cần thiết tăng thêm. Với phát triển không ngừng công nghệ học sâu (Deep Learning), việc dự đoán lưu lượng truy cập web thực hồn tồn tự động AI cách nhanh chóng Mục đích nghiên cứu đề tài đưa phương pháp dự đoán lưu lượng truy cập trang web sử dụng mạng nơ-ron tích chập CNN mạng LSTM c CÔNG NGHỆ SỬ DỤNG Mạng nơ-ron tích chập CNN Convolutional Neural Network (CNN) mơ hình Deep Learning tiên tiến Nó giúp cho xây dựng hệ thống thông minh với độ xác cao Convolutional cửa sổ trượt (Sliding windows) ma trận mô tả đây: - Các lớp convolutional có parameter(kernel) học để tự điều chỉnh lấy thơng tin xác mà khơng cần chọn feature - Trong hình ảnh ví dụ trên, ma trận bên trái hình ảnh trắng đen số hóa Ma trận có kích thước 5×5 điểm ảnh có giá trị giao điểm dòng cột c - Convolution hay tích chập nhân phần tử bên ma trận 3×3 với ma trận bên trái Kết ma trận gọi Convoled feature sinh từ việc nhận ma trận Filter với ma trận ảnh 5×5 bên trái Mạng CNN tập hợp lớp Convolution chồng lên sử dụng hàm nonlinear activation ReLU để kích hoạt trọng số node Mỗi lớp sau thơng qua hàm kích hoạt tạo thông tin trừu tượng cho lớp Lớp kết convolution từ lớp trước đó, nhờ mà ta có kết nối cục Như neuron lớp sinh từ kết filter áp đặt lên vùng ảnh cục neuron trước Mạng LSTM LSTM (Long Short-Term Memory) phiên mở rộng mạng RNN (Recurrent Neural Network) RNN mạng nơ-ron xử lý Mỗi block RNN lấy thông tin từ block trước input - xt đại diện cho time step thứ t, và yt là output step Ví dụ, x2 sẽ vector đại diện từ thứ câu văn c - Hidden state ht nhớ mạng ht tổng hợp thông tin hidden state trước ht-1 cộng với input time step t (xt) Hạn chế RNN vanishing gradient (đạo hàm bị triệt tiêu) LSTM giải vấn đề RNN long term memory: - Output: ct, ht - Input: ct−1, ht−1, xt - c cell state, mang thông tin quan trọng truyền xa dùng cần Đây long term memory c DATASET Phân tích sơ dataset Sử dụng dataset với lưu lượng truy cập web tháng tổng hợp Kaggle.com Dataset gồm trường: lượng phiên truy cập c o Mỗi điểm đồ thị số lượng phiên thấy có số mẫu lặp lại suốt chuỗi thời gian Lưu lượng truy cập giảm xuống sau khoảng thời gian gần Ngồi ra, có vài đột biến lưu lượng truy cập Biểu diễn lưu lượng tuần đầu tiên: - Có thể thấy, lần xụt giảm lưu lượng xảy 24 Như vậy, ngày, có trường hợp xảy ra: lưu lượng truy cập web lớn lưu lượng đạt cực tiểu c Xử lý data Tạo chuỗi từ liệu chuỗi thời gian Mỗi chuỗi có độ dài tuần hay 168 Thu 4700 chuỗi Chia tập liệu thành tập train tập validation với tỉ lệ 9:1 c Sau đó, định dạng lại liệu từ chiều thành chiều lớp LSTM chấp nhận liệu chiều 10 c o Ba chiều số chuỗi, số bước thời gian độ dài tính Vì vậy, chiều thứ ba độ dài vectơ phần tử chuỗi o Trong tập liệu này, phần tử chuỗi giá trị số thực độ dài tính 1, từ định dạng lại tập huấn luyện tập xác thực 11 c XÂY DỰNG MƠ HÌNH Mơ hình LSTM Lớp cuối kích hoạt tuyến tính phải dự đốn giá trị liên tục khơng phải thẻ class hay category vấn đề hồi quy phân loại Ở sử dụng lớp LSTM giá trị đầu vào 168 giờ, tức tuần 12 c Mơ hình CNN Sử dụng lớp Conv1D lớp phẳng để chuyển liệu đầu vào thành chiều Tương tự mơ hình LSTM, lớp cuối kích hoạt tuyến tính phải dự đốn giá trị liên tục vấn đề hồi quy phân loại 13 c DỰ ĐỐN LƯU LƯỢNG TRUY CẬP WEB Q trình dự đoán o Đầu tiên, khởi tạo mảng với liệu tuần o Dự đoán lưu lượng o Thêm giá trị dự đoán vào cuối mảng 'data' o Bỏ qua phần tử mảng 'data' o Lặp lại bước trên, từ bước thứ đến bước thứ với số lần lặp lại định Dự đoán lưu lượng truy cập web 24 14 c Thực dự đốn Train mơ hình với epochs = 30, batch_size = 32 Mơ hình LSTM Về loss huấn luyện kiểm tra: 15 c o Có thể thấy loss nhỏ, 0.015 Kết dự đốn: Mơ hình CNN Về loss huấn luyện kiểm tra: 16 c Như vậy, loss cải thiện nhỏ từ 0.015 xuống 0.014 Kết dự đoán: 17 c KẾT LUẬN Mơ hình CNN nặng với tổng 354721 params mơ hình LSTM nhẹ với 74881 params, điều làm tốc độ thực mơ hình CNN thấp Đổi lại, mơ hình CNN cải thiện loss traning test chút, từ 0.015 mơ hình LSTM xuống 0.014 Từ đồ thị dự đốn, thấy, hai mơ hình cho kết dự đoán gần với giá trị thực tế Điều cho thấy độ xác cao mơ hình TÀI LIỆU THAM KHẢO Thuận toán CNN convolutional neural network Recurrent Neural Network: Từ RNN đến LSTM Building CNN model, Layer Patterns and Rules! Conv1D Layer Web traffic forecasting 18 c