Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 18

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 Linux
theo chuẩn kỹ năng ITSS
Giảng viên hướng dẫn: TS. Nguyễn Đức Toàn

Chương trình Công nghệ Thông tin Việt - Nhật

1
MỤC LỤC

TỔNG QUAN VÀ MỤC ĐÍCH...............................................................3

CÔNG NGHỆ SỬ DỤNG........................................................................4

Mạng nơ-ron tích chập CNN..................................................................4

Mạng LSTM...........................................................................................5

DATASET................................................................................................7

Phân tích sơ bộ về dataset......................................................................7

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

Quá trình dự đoán................................................................................14

Thực hiện 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

2
TỔNG QUAN VÀ MỤC ĐÍCH
Với sự bao phủ của mạng Internet và công nghệ phát triển web hiện nay, việc tải
xuống ứng dụng ngày càng hạn chế. Theo thống kê, 90% khách hàng coi website là
kênh đáng tin cậy và gần như không bị “lỗi” như các kênh online khác. Tuy nhiên,
khi lượng truy cập web quá lớn dễ gây ra 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 và ưa thích đối với
trang web cũng như với doanh nghiệp. Vì vậy, việc dự đoán được lượng lưu lượng
truy cập web là một yêu cầu tất yếu đối với nhà phát triển.
 Lưu lượng truy cập web đề cập đến lượng truy cập của người dùng đến một
trang web.
 Lưu lượng truy cập web được đo bằng lượng truy cập web, hay được gọi là
“phiên” truy cập, trong một đơn vị thời gian, và nó thay đổi rất nhiều tùy theo
thời gian trong ngày, ngày trong tuần.
 Lượng lưu lượng truy cập web mà nền tảng có thể chịu được tùy thuộc vào kích
thước của máy chủ đang hỗ trợ nền tảng.
- Nếu lưu lượng truy cập nhiều hơn những gì máy chủ có thể xử lý, trang web
có thể hiển thị lỗi 404.
- Một giải pháp cho vấn đề này là 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 sự phát triển không ngừng của công nghệ học sâu (Deep Learning), việc dự
đoán lưu lượng truy cập web được thực hiện hoàn toàn tự động bằng AI một cách
nhanh chóng. Mục đích nghiên cứu của đề tài này là đưa ra một 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 và mạng
LSTM.

3
CÔNG NGHỆ SỬ DỤNG
Mạng nơ-ron tích chập CNN
 Convolutional Neural Network (CNN) là một trong những mô hình Deep
Learning tiên tiến. Nó giúp cho chúng ta xây dựng được những hệ thống
thông minh với độ chính xác cao như hiện nay.
 Convolutional là một cửa sổ trượt (Sliding windows) trên một ma trận như
mô tả dưới đây:

- Các lớp convolutional có các parameter(kernel) đã được học để tự điều


chỉnh lấy ra những thông tin chính xác nhất mà không cần chọn các feature.
- Trong hình ảnh ví dụ trên, ma trận bên trái là một hình ảnh trắng đen được
số hóa. Ma trận có kích thước 5×5 và mỗi điểm ảnh có giá trị 1 hoặc 0 là
giao điểm của dòng và cột.

4
- Convolution hay tích chập là nhân từng phần tử bên trong ma trận 3×3 với
ma trận bên trái. Kết quả được một ma trận gọi là Convoled feature được
sinh ra từ việc nhận ma trận Filter với ma trận ảnh 5×5 bên trái.
 Mạng CNN là một tập hợp các lớp Convolution chồng lên nhau và sử dụng
các hàm nonlinear activation như ReLU và tanh để kích hoạt các trọng số
trong các node. Mỗi một lớp sau khi thông qua các hàm kích hoạt sẽ tạo ra
các thông tin trừu tượng hơn cho các lớp tiếp theo.
 Lớp tiếp theo là kết quả convolution từ lớp trước đó, nhờ vậy mà ta có được
các kết nối cục bộ. Như vậy mỗi neuron ở lớp kế tiếp sinh ra từ kết quả của
filter áp đặt lên một vùng ảnh cục bộ của neuron trước đó.

Mạng LSTM
 LSTM (Long Short-Term Memory) là một phiên bản mở rộng của mạng
RNN (Recurrent Neural Network)
 RNN là một mạng nơ-ron xử lý tuần tự. Mỗi block RNN sẽ lấy thông tin từ
các block trước và input hiện tại

- xt đại diện cho time step thứ t, và yt là output của một step. Ví dụ, x2 sẽ là
vector đại diện của từ thứ 2 trong câu văn bản.

5
- Hidden state ht là bộ nhớ của mạng. ht tổng hợp thông tin của hidden state
trước ht-1 cộng với input tại time step t (xt) 
 Hạn chế của RNN là vanishing gradient (đạo hàm bị triệt tiêu). LSTM giải
quyết vấn đề này của RNN bằng long term memory:

- Output: ct, ht .
- Input: ct−1, ht−1, xt
- c là cell state, sẽ mang thông tin nào quan trọng truyền đi xa hơn và sẽ được
dùng khi cần. Đây chính là long term memory

6
DATASET
Phân tích sơ bộ về dataset
 Sử dụng dataset với lưu lượng truy cập web trong 6 tháng được tổng hợp tại
Kaggle.com

 Dataset gồm 2 trường: giờ và lượng phiên truy cập trong giờ đó

7
o Mỗi điểm của đồ thị này là số lượng phiên và có thể thấy có một số mẫu
lặp lại trong suốt chuỗi thời gian. Lưu lượng truy cập giảm xuống sau
những khoảng thời gian gần như bằng nhau. Ngoài ra, có một vài đột
biến về lưu lượng truy cập.
 Biểu diễn lưu lượng của tuần đầu tiên:

- Có thể thấy, những lần xụt giảm lưu lượng xảy ra mỗi 24 giờ. Như vậy,
trong cùng 1 ngày, có 2 trường hợp xảy ra: khi lưu lượng truy cập web rất
lớn và khi lưu lượng đạt cực tiểu.

8
Xử lý data
 Tạo chuỗi từ dữ liệu chuỗi thời gian. Mỗi chuỗi có độ dài là 1 tuần hay 168 giờ.
Thu được hơn 4700 chuỗi

 Chia tập dữ liệu thành tập train và tập validation với tỉ lệ 9:1

9
 Sau đó, định dạng lại dữ liệu từ 2 chiều thành 3 chiều vì lớp LSTM chỉ chấp
nhận dữ liệu 3 chiều.

10
o Ba chiều này là số chuỗi, số bước thời gian và độ dài của các tính năng.
Vì vậy, chiều thứ ba là độ dài của các vectơ của các phần tử chuỗi.
o Trong tập dữ liệu này, các phần tử chuỗi là các giá trị số thực và do đó độ
dài tính năng chỉ là 1, từ đó định dạng lại cả tập huấn luyện và tập xác
thực.

11
XÂY DỰNG MÔ HÌNH
Mô hình LSTM

 Lớp cuối cùng được kích hoạt tuyến tính là do phải dự đoán một giá trị liên tục
chứ không phải một thẻ class hay category vì đây là vấn đề hồi quy chứ không
phải phân loại.
 Ở đây sử dụng 1 lớp LSTM duy nhất và giá trị đầu vào là 168 giờ, tức 1 tuần.

12
Mô hình CNN
 Sử dụng các lớp Conv1D và 1 lớp phẳng để chuyển dữ liệu đầu vào thành 1
chiều.

 Tương tự mô hình LSTM, lớp cuối cùng được kích hoạt tuyến tính là do phải
dự đoán một giá trị liên tục vì đây là vấn đề hồi quy chứ không phải phân loại.

13
DỰ ĐOÁN LƯU LƯỢNG TRUY CẬP WEB
Quá trình dự đoán
o Đầu tiên, khởi tạo một mảng với dữ liệu tuần
o Dự đoán lưu lượng giờ tiếp theo
o Thêm giá trị dự đoán vào cuối mảng 'data'
o Bỏ qua phần tử đầu tiên của mảng 'data'
o Lặp lại các bước trên, từ bước thứ 2 đến bước thứ 4 với số lần lặp lại được
chỉ định

 Dự đoán lưu lượng truy cập web trong 24 giờ tiếp theo

14
Thực hiện dự đoán
 Train 2 mô hình với epochs = 30, batch_size = 32

Mô hình LSTM
 Về loss khi huấn luyện và khi kiểm tra:

15
o Có thể thấy loss khá nhỏ, chỉ 0.015
 Kết quả dự đoán:

Mô hình CNN
 Về loss khi huấn luyện và kiểm tra:

16
 Như vậy, loss đã cải thiện khá nhỏ từ 0.015 xuống 0.014.
 Kết quả dự đoán:

17
KẾT LUẬN
 Mô hình CNN khá nặng với tổng 354721 params trong khi đó mô hình
LSTM nhẹ hơn với 74881 params, điều này làm tốc độ thực hiện của mô
hình CNN thấp hơn. Đổi lại, mô hình CNN cải thiện loss khi traning và khi
test một chút, từ 0.015 của mô hình LSTM xuống 0.014.
 Từ đồ thị dự đoán, có thể thấy, cả hai mô hình cho kết quả dự đoán khá gần
với giá trị thực tế. Điều này cho thấy độ chính xác cao của 2 mô hình này.

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

You might also like