Như vậy, bài toán dự báo luồng giao thông là một bài toán theo chuỗi thời gian đề ước tính lưu lượng giao thông tại một thời điểm trong tương lai dựa trên dữ liệu được thu thập trong các
Trang 1ĐẠI HỌC QUỐC GIA TP HÒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC VÀ KỸ THUẬT THÔNG TIN
TRÀN ĐĂNG KHOA
HOÀNG ĐÌNH QUANG
KHÓA LUẬN TÓT NGHIỆP
HE THONG DỰ BAO LUONG GIAO THONG THOT
GIAN THỰC DUA TREN PHAN TÍCH DU LIEU LON
CHUOI THỜI GIAN
REAL-TIME TRAFFIC FLOW FORECASTING SYSTEM BASED ON
TIME SERIES BIG DATA ANALYSIS
CU NHAN NGANH KHOA HOC DU LIEU
TP HO CHi MINH, 2021
Trang 2ĐẠI HỌC QUOC GIA TP HO CHÍ MINH TRUONG DAI HOC CONG NGHE THONG TIN
KHOA KHOA HOC VA KY THUAT THONG TIN
TRAN DANG KHOA - 18520936 HOANG ĐÌNH QUANG - 18521294
KHÓA LUẬN TÓT NGHIỆP
HE THONG DU BAO LUONG GIAO THONG THỜI
GIAN THỰC DUA TREN PHAN TÍCH DU LIEU LON
CHUOI THỜI GIAN
REAL-TIME TRAFFIC FLOW FORECASTING SYSTEM BASED ON
TIME SERIES BIG DATA ANALYSIS
CU NHAN NGANH KHOA HOC DU LIEU
GIANG VIEN HUONG DAN
TS ĐỖ TRỌNG HỢP
TP HÒ CHÍ MINH, 2021
Trang 3THONG TIN HOI DONG CHAM KHÓA LUẬN TOT NGHIỆP
Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số n8ầy của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
Trang 4-LỜI CẢM ƠN
Chúng tôi chân thành cảm ơn Tiến sĩ Đỗ Trọng Hợp đã đồng hành và tận hình
hướng dẫn chúng tôi trong suốt quá trình học tập và nghiên cứu đề hoàn thành khóa luận Thầy đã luôn theo dõi và động viên, giúp đỡ cũng như định hướng cho chúng tôi mỗi khi gặp khó khăn trong quá trình nghiên cứu và thực hiện đề tài Thầy luôn
tạo mọi điều kiện tốt nhất để chúng tôi có thể phát triển hết khả năng của bản thân,
đặc biệt là kỹ năng nghiên cứu Thầy đã tận tình chỉ dạy và góp ý cho chúng tôi từ kiến thức chuyên môn cho đến các kỹ năng, phương pháp nghiên cứu khoa học, kỹ
năng mềm như kỹ năng thuyết trình, kỹ năng trình bay, báo cáo Ngoài ra, thầy còn định hướng và tư van thêm cho chúng tôi về lĩnh vực nghiên cứu nói chung và lĩnh
vực Khoa học dữ liệu nói riêng.
Chúng tôi cũng cảm ơn Thạc sĩ Nguyễn Van Kiệt, bạn Lê Việt Thắng, bạn
Nguyễn Thái Minh Đức đã hỗ trợ và giúp đỡ chúng tôi trong quá trình thực hiện luận
văn này Bên cạnh đó, chúng tôi cũng chân thành cảm ơn các thầy cô trong khoa Khoa
học và Kỹ thuật Thông tin và các thầy cô trong trường Đại học Công nghệ Thông tin
- Đại học Quốc gia Thành phố Hồ Chí Minh đã giảng dạy kiến thức chuyên môn và
kỹ năng cho chúng tôi trong suốt quá trình học tập đại học tại trường.
Một lần nữa, chúng tôi bày tỏ lòng biết ơn đến Tiến sĩ Đỗ Trọng Hợp, Thạc sĩ
Nguyễn Văn Kiệt, bạn Lê Việt Thắng, bạn Nguyễn Thái Minh Đức và quý thầy cô đã giảng dạy chúng tôi trong thời gian qua Chúng tôi cũng cảm ơn cha mẹ, bạn bè, những người đã theo dõi và sát cánh với chúng tôi trên mọi chặng đường học tập.
Trang 5MỤC LỤC Chương 1 MỞ ĐẦU 2< 22ceeeesEEESEEEELdtttttttrkkrrerrtrtrrkkree 2
DD ah 2
1.2 Mục tiêu và phạm vi nghiên cứu - ¿5+ ++c+c+crxerrterxerrrkerkrrree 4
I PA an 4 1.2.2 Phạm vi nghiên CỨU ¿-¿- - 5252222 SE E1 v rry 4 Chuong 2 TONG QUAN
2.1 GiGi thiệu bài toán - «55+ tt HH re 6
2.2 Tình hình nghiên cứu trên thế giới -2¿+22+zz+22++z+tzrrrxzcrrrrx 7
2.3 Tình hình nghiên cứu trong ƯỚC ¿-¿-¿- ¿<5 2t ++£v£vEeEevsezrerexeeerseeve 8
Chương 3 CƠ SỞ LY THUYÊT -ccessevcvcvvvvvssseesrvrvsee 10
3.1 Real-time Big Data prOC€ssing - óc c cv tre 0
3.1.1 Big Data DrOC€SSINE si 0
3.1.1.1 Khái niệm Big Data.
3.1.1.2 Đặc điểm của Big Data - 22222222 2tceECEvrrertrrvrrerrrrrrrrr 1
3.1.2 Streaming Data ¿ cà St 22110121212 re 2 3.1.3 Apache Spark c-ccS + th HH 212112212111 rớt 3
3.1.3.1 Khái niệm Apache SparÍ cty 3
3.1.3.2 Các thành phần của Apache Spark -c¿e+ccsccesrz 4
3.1.3.3 Ưu điểm của Apache Spark -2¿-2222zcccccvvrrecrrrrrrrrr 6
3.2 Time series analysis
3.2.1 Giới thiệu về Time series analysis ¿-2+zc+22+zcevcrrseerrrr 7
Trang 63.2.2 Dự báo chuỗi thời gian sử dụng thống kê truyền thống (Traditional Statistical (TS) StyÏ€) ch HH HH HH HH it 19
3.2.3 Dự báo chuỗi thời gian sử dụng hồi quy thông thường (Regular
4.1 Kiến trúc tổng quát hệ thống -22++++222E©vvrvrrrrtrrrrrrrrrrrrrrrrr 44
4.2 Thu nhận và tiền xử lý dữ liệu
4.2.1 Thu nhận dit liệu ¿2522223322 S*ESyEErErrsetrrrrrrrrrrrrrrrrrrrrerre 45
4.2.2 Tiền xử lý dữ liệu -2-¿+22E+2z2EEE12222711E 22111 cty 41
4.3 Mô hình dự báo tốc độ giao thông -¿ ©2+++222vvveeevvrvrrerrrsrrrrrg 48
4.3.1 Mô hình Prophet 5-5252 5++++++2St2x2xekekerekeketrkerrkervee 48
4.3.2 Mô hình ARIMA ccceesesssesseeseeseeseeseessesseeseesesseesseesseseesesseesssanseseeseesed 49 4.3.3 Mô hình LSTM ¿525tr 50
4.3.4 Mô hình TCN
4.4 Huấn luyện phân tan trong BigDL -2222522c+z+2222cvvvccrerrrrrr 52
4.5 Phat triển hệ thống dự báo giao thông thời gian thực - 54
Trang 7Chương 5 THỰC NGHIỆM VÀ THẢO LUẬN s- -<<< 56
5.1 Môi trường và quy trình thực nghiệm - - - ¿55+ 56 5.1.1 Môi trường thực nghiệm ¿52 5cSxc>terrtererrrrerirreerrrie 56 5.1.2 Quy trình thực nghiệm - - - + +5 +x+x£xvEvEEEkeketrkerrkrkerrrrrerkree 57 5.2 BO dit LiGU 59 5.3 Kết quả thực nghiệm và thao WAM eccccssscessssssesccssssescsssseccsssussesssenseesssessed 61
5.3.1 Kha năng dy báo ngắn han (short term) va dai han (long term)
5.3.2 Hiệu suất của các mô hình tại các mốc thời gian khác nhau trong ngày63 5.3.3 Hiệu suất của các mô hình tại các ngày trong tuần - 64 5.3.4 Thời gian huấn luyện .-¿-2+:z+222++++22E+++tzEEEkzrrrrrrxerrrrrrecrrr 65
5.3.5 Hiệu suất của mô hình LSTM và TCN với các khoảng độ trễ đầu vào khác nhau /Z 6 - , Q¬Đ—2<e<c se Ẩc 5< s< se se kereseseseeermserersesesre 66 5.3.6 So sánh kết quả dự báo của mô hình TCN với tốc độ thực tế 67
5.3.7 Đánh giá hiệu suất mô hình TCN trên những dữ liệu hoàn toàn mới 69
5.3.8 Trực quan hóa kết quả thực nghiệm ¿zz+222cczz 70 Chương 6 KET LUẬN VÀ HƯỚNG PHAT TRIÊN -«« 71 6.1 Kết luận 2cccccc222222 2222222211111 121.1111.111 re 71
Trang 8DANH MỤC HÌNH
Hình 2.1: Kiến trúc Stacked AutoEncodr :ccvvvvvrvvrvvrrrrrrrrrrirrrrrrrrre §
Hình 2.2: Kết quả thực nghiệm của Quang Hung Do và các cộng sự - 9 Hình 2.3: Kết quả thực nghiệm của Trinh Dinh Toan và Viet Hung Truong 9 Hình 3.1: 5 đặc điểm của Dữ liệu lớn.
Hình 3.7: Danh sách ngày lễ trong mô hình Prophet .-: :+c+c+2 24
Hình 3.8: Vòng lặp trong mạng hồi quy LSTM ¿¿©c++22+cc+czsscee 27
Hình 3.9: Ví dụ quá trình vòng lặp của mạng hồi quy LSTM - 28 Hình 3.10: Trạng thái tế bào (BI — 28
Hình 3.11: Quá trình trích lọc thông tin ở lớp Sigmoid và cổng quên (Forget Gate).
— 29
Hình 3.12: Quá trình xác định thông tin được lưu vào trạng thái tế bào hiện tại tại lớp
Sigmoid va l6p Tanh Ưäaặăa 30 Hình 3.13: Quá trình cập nhật trạng thái tế bào mới ©-ccccsecxteEEeExerrrerrre 31
Hình 3.14: Quá trình tính toán từ tensor đầu vào thành tensor đầu ra 3⁄2 Hình 3.15: Ví dụ về thêm các vùng đệm có giá trị bằng 0 . -ccccce+ 33
Hình 3.16: Ví dụ về SỰ SiG HỞ hàn HH HH HH Huệ 34 Hình 3.17: Ví dụ về vấn đề lỗ hổng ở trường tiếp nhận . -. - 35 Hình 3.18: Sự thay đổi từ khối tích chập 1 chiều thành khối dư - 37
Hình 3.19: Kiến trúc tổng quát của mô hình TCN - - ¿++2+zz++z+scez 38
Hình 3.20: Song song mô hình va Song song hóa dữ liệu -.-. - ¿5+ 39
Trang 9Chương2 TONG QUAN
Trong chương này, luận văn sẽ giới thiệu bài toán “Dự báo luồng giao thông” cũng như trình bày tổng quan các nghiên cứu liên quan đến bài toán ở Việt Nam và
trên thé giới.
2.1 Giới thiệu bài toán
Dy báo luồng giao thông thuật ngữ tiếng Anh là Traffic Flow Forecasting hay Traffic Flow Prediction là một thành phần quan trọng của mô hình hóa, vận hành và
quản lý lưu lượng Mục tiêu của dự báo luồng giao thông là cung cấp các thông tin
về lưu lượng giao thông trong tương lai Như vậy, bài toán dự báo luồng giao thông
là một bài toán theo chuỗi thời gian đề ước tính lưu lượng giao thông tại một thời
điểm trong tương lai dựa trên dữ liệu được thu thập trong các khoảng thời gian trước
đó từ một hoặc nhiều vị trí quan sát Dữ liệu giao thông lịch sử có thể được thu thập
từ nhiều nguồn khác nhau như các nguồn cảm biến, ra đa, máy ảnh, hệ thống định vị toàn cầu di động, các nguồn cung cấp cộng đồng hay phương tiện truyền thông xã
hội, v.v Với sự phát triên phát triển của khoa học công nghệ, các hệ thống cảm biến được sử dụng rộng rãi trong giao thông đã khiến cho dữ liệu giao thông đang bùng
nô và chúng ta đang bước vào kỉ nguyên của Dữ liệu lớn Quản lý và kiểm soát giao
thông vận tải đang dựa trên dữ liệu ngày một nhiều hơn Đặc biệt, với sự phát triển
và triển khai nhanh chóng của hệ thống giao thông thông minh (Intelligent
Transportation System - ITS), bài toán dự báo luồng giao thông lại càng được chú ý hơn.
Mặc dù đã có rất nhiều hệ thống và mô hình dự báo lưu lượng giao thông được
đề xuất, nhưng hau hết chúng đều sử dụng các mô hình lưu lượng nông hoặc các mô
hình thống kê, xác suất truyền thông như AutoRegressive Integrated Moving Average (ARIMA) [1] và vẫn chưa thực sự hữu ích cho bài toán Trong những năm gan đây,
hướng tiếp cận bằng học sâu, một lĩnh vực trong máy học, đã thu hút rất nhiều sự
quan tâm của giới học thuật và công nghiệp Nó đã được áp dụng thành công trong
Trang 10các nhiệm vụ phân loại, xử lý ngôn ngữ tự nhiên, giảm chiều dữ liệu, phát hiện đối tượng, mô hình chuyển động, v.v Các thuật toán học sâu sử dụng kiến trúc nhiều lớp
hoặc kiến trúc sâu đề trích xuất các đặc trưng vốn có trong dữ liệu từ cấp thấp nhất
đến cấp cao nhất và chúng có thé khám phá lượng lớn cấu trúc trong dữ liệu Ngoài
ra, để các thuật toán học sâu này phát huy hiệu quả tối đa cả về hiệu suất, thời gian
huấn luyện lẫn tài nguyên hệ thống trong thời đại Dữ liệu lớn, nhiều phương pháp,
kỹ thuật xử lý, huấn luyện mô hình mới cũng được nghiên cứu và đề xuất điển hình như các nền tảng xử lý Dữ liệu lớn như Apache Spark, Apache Kafka, v.v.
2.2 Tình hình nghiên cứu trên thế giới
Bài toán dự báo lưu lượng luồng giao thông hay dự báo tốc độ giao thông là một bài toán luôn được giới nghiên cứu khoa học trong và ngoài nước quan tâm Năm
2014, Yisheng Lv và các cộng sự đã đề xuất một mô hình Stacked Autoencoders (SAEs) cho bài toán dự báo luồng giao thông [4] Day là một mô hình được huấn
luyện theo kiểu tham lam bằng cách sử dụng nhiều lớp autoencoder xếp chồng lên
nhau tạo thành một mạng học sâu như Hình 2.1 Mô hình cho kết quả tốt hơn các mô inh máy học tại thời điểm đó với MAE tại các thời điểm dự báo 15 phút - 30 phút -
45 phút - 60 phút tiếp theo lần lượt là 34,1 - 64,1 - 92,0 - 122,8 Tiếp theo đó, vào
năm 2016, Rui Fu [3] và các cộng sự đã công bố một công trình nghiên cứu sử dụng
phương pháp mạng nơ ron nhân tạo Long Short-Term Memory (LSTM) và Gated
Recurrent Units (GRU) cho bài toán dự báo luồng giao thông Mô hình sử dụng dữ
liệu quá khứ trong 30 phút trước đó để dự báo lưu lượng luồng giao thông trong 5
phút tiếp theo với kết quả MAE là 18,1 đối với mô hình LSTM và 17,2 đối với mô
‘inh GRU Ca 2 công trình giới thiệu trên đều được thực hiện trên bộ dữ liệu PeMS với dit liệu được thu thập từ hơn 15000 cảm biến được đặt ở California Các cảm biến
này thu thập dữ liệu mỗi 30 giây Gần đây hon, Yi Liu và các cộng sự đã giới thiệu một kỹ thuật máy học có tên là Federated Learning và đề xuất một phương pháp kết
hợp giữa Federated Learning và mạng nơ ron nhân tạo Gated Recurrent Unit
(FedGRU) vào năm 2020 cho bài toán dự báo luồng giao thông [Š] Phương pháp đề
Trang 11xuất này mang lại độ chính xác lên tới 90,96% và MAE 6,84 Cao hơn so với các mô
hình học sâu nâng cao Phương pháp này cũng được thử nghiệm trên bộ dữ liệu PeMS nhưng đã mở rộng quy mô dữ liệu với số lương cảm biến lên đến hơn 39000 cảm biến.
Predictor
Stacked Autoencoder
Hình 2.1: Kiến trúc Stacked AutoEncoder.
2.3 Tình hình nghiên cứu trong nước
Ở Việt Nam cũng có một số công trình nghiên cứu đáng chú ý liên quan đến
bài toán dự báo lưu lượng luồng giao thông Năm 2018, Quang Hung Do và các cộng
sự đã công bố một nghiên cứu về việc sử dung mạng nơ ron wavelet mờ (FWNN) dé
dự báo lưu lượng giao thông ngắn hạn [6] Mô hình này được đào tạo bằng thuật toán tối ưu dựa trên địa lý sinh học cải tiến (BBO) Kết quả được thé hiện ở Hình 2.2 cho
thấy thuật toán đề xuất tương đối tốt với RMSE là 20,4034.
Trang 12Hình 2.2: Kết quả thực nghiệm của Quang Hung Do và các cộng sự.
Một nghiên cứu khác vừa được công bố vào năm 2021 của Trinh Dinh Toan
và Viet Hung Truong sử dụng phương pháp học máy kết hợp với thuật toán tối ưu.
Mô hình đề xuất sử dụng một mô hình học máy kinh điển là Support Vector Machine
(SVM) và cải thiện mô hình này bằng cách sử dụng Nearest Neighbor [7] Kết quả mang lại cho thấy mô hình hoạt động tốt với những dự báo ngắn hạn với trung MAPE (Mean Absolute Percentage of Error) tốt nhất là 2,39 ở móc dự báo là 5 phút tiếp
theo Kết quả được thé hiện cụ thé hơn ở Hình 2.3.
A (min) 27 Oct 28 Oct 29 Oct 30 Oct 31 Oct Average
Trang 13Chương3 CƠ SỞ LÝ THUYÉT
3.1 Real-time Big Data processing
3.1.1 Big Data processing
3.1.1.1 Khái niệm Big Data
Big Data (Dữ liệu lớn) là thuật ngữ chỉ các tập dữ liệu có khối lượng rất lớn
và phức tạp bao gồm cả dữ liệu có cấu trúc, bán câu trúc hay phi cấu trúc, khiến cho
các phần mềm xử lý dữ liệu truyền thống không có khả năng thu thập, quản lý và xử
lý xử liệu trong một khoảng thời gian hợp lý Big Data rat quan trọng với các tổ chức, doanh nghiệp vì dữ liệu càng lớn và càng đa dạng sẽ giúp các phân tích càng chính xác hơn Việc phân tích chính xác này sẽ giúp doanh nghiệp đưa ra các quyết định
giúp tăng hiệu quả sản xuất, giảm rủi ro và chỉ phí Những dữ liệu này tới từ nhiều
nguôồn khác nhau như từ những cảm biến thu thập thông tin giao thông, dự báo thời tiết, các thông tin cập nhật, hình ảnh, video trên các trang mạng xã hội, các giao dịch trên các sàn thương mại điện tử, v.v.
Bằng việc tổng hợp một lượng thông tin lớn từ nhiều nguồn khác nhau khiến
cho Big Data trở thành một công cụ rất mạnh cho việc ra các quyết định kinh doanh, nhận diện hành vi nhanh hơn và tốt hơn rất nhiều so với cách thức truyền thống Big
Data được cập nhật theo từng giờ, từng phút, từng giây và từ nhiều nguồn khác nhau
nên nó thường được đo lường theo đơn vị Terabytes (TB), Petabytes (PB) va Exabytes
(EB) Ví dụ điển hình với hơn 1,84 tỷ người dùng Facebook hoạt động hằng ngày, cứ
mỗi giây lại có 5 tài khoản Facebook được tạo ra, hơn 300.000.000 bức ảnh được
đăng lên mỗi ngày, mỗi phút có 510.000 bình luận được đăng lên và 293.000 trạng thái được cập nhật.
10
Trang 143.1.1.2 Dac điểm của Big Data
VOLUME
VERACITY VELOCITY
Hình 3.1: 5 đặc điểm của Dữ liệu lớn.
Hiện nay vẫn chưa có câu trả lời chính xác cho câu hỏi dữ liệu thế nảo gọi là
Big Data Người ta thường đánh giá dữ liệu có phải là Big Data hay không dựa vào 5
đặc điểm chính như Hình 3.1 là Khối lượng (volume), Tốc độ (velocity), Tính đa
dạng (variety), Tính xác thực (veracity) và giá trị (value).
e Khối lượng (volume): Đây là đặc điểm tiêu biểu nhất của Big Data, khối
lượng di liệu rat lớn Kích cỡ dữ liệu của Big Data tăng lên từng ngày, vào
năm 2016, lưu lượng di động toàn cầu ước tính là 6,2 Exabyte (6,2 tỷ GB) và đến năm 2020 thì con số đó đã tăng lên gần 40.000 Exabyte dữ liệu Với dữ
liệu truyền thống chúng ta có thê lưu trữ trên đĩa mềm, đĩa cứng nhưng với
11
Trang 15Big Data, chúng ta phải sử dụng đến công nghệ “đám mây” mới đáp ứng được
khả năng lưu trữ.
e Tốc độ (velocity): là sự tăng trưởng của dữ liệu về mặt tốc độ Khối lượng dữ
liệu gia tăng một cách chóng mặt Mỗi giây có tới khoảng 72,9 triệu các lượt
yêu cầu truy cập tìm kiếm trên web bán hàng của Amazon Tốc độ xử lý dữ
liệu cũng dat tới mức thời gian thực (real-time) Công nghệ xử lý dữ liệu lớn ngày nay cho phép chúng ta xử lý tức thì trước khi chúng được lưu trữ vào cơ
sở dữ liệu.
e Tính đa dạng (variety): là tính đa dang của dit liệu Dữ liệu truyền thống
chúng ta thường được tô chức đưới dang dit liệu có cấu trúc thì ngày nay, đa
số dữ liệu được lưu trữ được tạo ra là phi cau trúc (video, hình anh, âm thanh,
dữ liệu từ thiết bị cảm biến, v.v.) Big Data cho phép liên kết, xử lý và phântích nhiều dạng dữ liệu khác nhau
e Tính xác thực (veracity): là một trong những đặc điểm phức tạp nhất của Big
Data - Độ tin cậy hay tinh độ chính xác của dit liệu Với sự phát triển và cácphương tiện truyền thông xã hội, việc xác định tính độ tin cậy hay độ chính
xác cua dir liệu trở nên khó khăn va phức tạp hơn Bài toán làm sạch dữ liệu
(phân tích và loại bỏ dữ liệu thiếu chính xác và dữ liệu nhiễu) đang là bài toán
quan trọng của Big Data.
e Giá trị (value): giá trị là đặc điểm quan trọng nhất của Big Data Có thé nói
việc đầu tiên trước khi bắt tay vào làm Big Data chính là xác định được giá trị
của dit liệu Các tổ chức, doanh nghiệp phải hoạch định được giá trị thông tinhữu ích của dữ liệu cho vấn đề, bài toán hoặc mô hình kinh doanh của mình
3.1.2 Streaming Data
Dữ liệu truyền trực tuyến là dữ liệu được sinh ra liên tục thường với kích
thước, số lượng nhỏ từ một hoặc nhiều nguồn dtr liệu Giống với đữ liệu thông thường,
12
Trang 16dữ liệu truyền trực tuyến cũng rat đa dạng, có thé là đữ liệu kinh doanh, ban hang, dữ
liệu từ cảm biên, v.v dưới dạng bảng, hình ảnh, văn bản, v.v.
Dữ liệu truyền trực tuyến cần được xử lý tuần tự và tăng dần trên cơ sở điểm
dữ liệu hoặc qua cửa số thời gian trượt, và được sử dụng cho nhiều loại phân tích baogồm tương quan, tổng hợp, loc và lay mẫu Việc phân tích dữ liệu truyền truyền trựctuyến mang lại nhiều lợi ích cho các doanh nghiệp tổ chức khi nắm bắt những thôngtin quan trọng kịp thời Ví dụ, các doanh nghiệp có thé theo dõi những thay đổi trong
quan điểm, ý kiến của công chúng đối với thương hiệu và sản phẩm của họ bằng cách
liên tục phân tích các luéng truyền thông xã hội và phản hồi kip thời khi cần thiết
Quá trình xử lý di liệu truyền trực tuyến thường gồm có 2 lớp:
e Lớp lưu trữ: hỗ trợ lưu trữ dữ liệu theo đúng thứ tự, nhất quán và cho phép
đọc, ghi các luồng dữ liệu này một cách nhanh chóng và hiệu quả nhất.
© Lớp xử lý: có nhiệm vụ xử lý dữ liệu được lưu ở lớp lưu trữ, thực hiện các
tính toán, biến đôi, xử lý dữ liệu và thông báo cho lớp lưu trữ xóa dữ liệu
không còn can thiêt nữa.
Vì nhu cầu và tầm quan trọng của phân tích, xử lý dữ liệu truyền tuyến màhiện nay, nhiều nền tảng đã được ra đời cho phép xử lý loại đữ liệu này một cách hiệu
quả như Apache Spark, Apache Kafka, Apache Storm, Apache Flume,v.v.
3.1.3 Apache Spark
3.1.3.1 Khai niệm Apache Spark
Apache Spark là một khung làm việc (framework) nguồn mở được sử dung
chủ yếu dé phân tích dữ liệu lớn (Big Data), học máy (Machine Learning) và xử lý
thời gian thực (Real-time) dựa trên cơ chế xử lý phân tán Apache Spark giúp tăng
tốc độ xử lý, dé sử dụng và linh hoạt hơn so với các nên tảng truyền thống như
Hadoop Bằng cách thực hiện hiện tính toán trên cụm giúp tạo ra khả năng phân tích
13
Trang 17Spark Core: là thành phần cốt lõi của Apache Spark Tất cả các chức năng
khác được xây dựng dựa trên nền tảng là Spark Core Spark Core có vai trò
thực hiện tính toán và xử lý trong bộ nhớ (In-memory computing) Đồng thời
cũng tham chiếu đến các dữ liệu được lưu trữ tại các hệ thống lưu trữ bên
ngoài.
GraphX: là một framework đi kèm với các lựa chọn thuật toán phân tán để
xử lý cau trúc đồ thị Nó cung cấp một API dé thực hiện tính toán biéu đồ cóthê mô hình hóa các biểu đồ do người dùng xác định bằng cách sử dụng API
đã được tối ưu sẵn Các thuật toán này sử dụng phương pháp tiếp cận RDD
của Spark Core dé lập mô hình dữ liệu
Spark Streaming: là một bổ sung ban đầu của Apache Spark giúp nó đáp ứng
các yêu cầu xử lý thời gian thực, tận dụng khả năng lập lịch memory-base củaSpark Core dé thực hiện streaming analytics Nó lay dit liệu theo mini-batches
và thực hiện các phép biến đổi RDD (Bộ dữ liệu phân tán có khả năng phục
hôi) trên các mini-batches dữ liệu đó.
MLIib (Machine Learning Library): là một framework học may phân tan
trên Apache Spark tận dụng kha năng tinh toán tốc độ cao nhờ kiến trúc dựa
trên bộ nhớ của Spark.
Spark SQL: là một thành phần nằm trên Spark Core, tập trung xử lý đữ liệu
có cau trúc, sử dụng phương pháp tiếp cận dựa trên khung dữ liệu (DataFrame)Ngoài cung cấp giao diện truy van dữ liệu với cú pháp SQL, Spark SQL cũngcung cấp một giao điện tiêu chuẩn dé đọc và ghi dit liệu vào các kho dit liệu
khác như HDFS, JSON, Apache Hive, v.v Các cơ sở dữ liệu phô biến như
MongoDB, Apache Cassandra, Apache Hbase cũng được hé trợ từ hệ sinh thái
của Spark.
15
Trang 183.1.3.3 Ưu điểm của Apache Spark
Tốc độ xử lý của Spark trên Disk nhanh hơn 10 lần và trên trên bộ nhớ nhanh
hơn 100 lần so với Hadoop Spark đạt được tốc độ này thông qua việc phân
vùng có kiểm soát Nó quản ly dit liệu bang cách sử dụng các phân vùng giúp
xử lý dữ liệu phân tán song song với lưu lượng mạng tối thiểu
Spark-RDD có khả năng chịu lỗi (Fault Tolerance) tốt đảm bảo không mắt dữ
liệu.
Khả năng xử lý trong bộ nhớ (In-memory Processing) làm tăng tốc độ tínhtoán và luồng đữ liệu tuần hoàn
Có khả năng xử lý dữ liệu thời gian thực với Spark Streaming.
Spark linh hoạt, có khả năng chạy độc lập và có thé được tích hợp vào trìnhquản lý cụm Hadoop Yarn Apache Spark tương thích tốt với Hadoop Spark
là một sự thay thế tiềm năng cho các chức năng MapReduce của Hadoop, trongkhi Spark có khả năng chạy trên một cụm Hadoop hiện có băng cách sử dụngYARN để lập lịch tài nguyên
Tiết kiệm chỉ phí lưu trữ cho dữ liệu lớn
Spark hỗ trợ nhiều nguồn đữ liệu như Parquet, JSON, Hive và Cassandra ngoài
các định dạng thông thường như tệp văn bản, bảng CSV và RDBMS API
nguồn dit liệu cung cấp một cơ chế có thé cắm thêm dé truy cập dữ liệu có cau
trúc thông qua Spark SQL.
Đơn giản hóa việc xử lý và phân tích đồ thị với GraphX
Đảm bảo quá trình xử lý đữ liệu luôn được diễn ra nhờ vào khả năng xử lý
song song trên các cụm.
Hỗ trợ đầy đủ các thư viện cho học máy, truy vấn đữ liệu
16
Trang 193.2 Time series analysis
3.2.1 Giới thiệu về Time series analysis
Total Cases
(Linear Scale) 300M
200M
100M
Total Coronavirus Cases
Hình 3.3: Biéu đồ minh hoa dit liệu chuối thời gian về Tổng số ca mắc Covid-19
trên thé giới
Time Series (chuỗi thời gian) là dãy các giá trị của một hiện tượng (doanh SỐ,
tốc độ giao thông, lượng mưa, v.v.) được sắp xếp theo thứ tự thời gian Hình 3.3 thé
hiện một ví dụ về dit liệu chuỗi thời gian được thé hiện dưới dạng một biểu đồ đường,
dữ liệu thể hiện Tổng số ca mắc Covid-19 trên thé giới Một chuỗi thời gian có haithành phần đó là thời gian và giá trị của hiện tượng nghiên cứu Thời gian có thể làthời kì hoặc thời điểm Độ dài giữa hai thời gian liền nhau gọi là khoảng cách thời
gian Giá trị của hiện tượng nghiên cứu có thé là tuyệt đối, tương đối hoặc trung bình.
e Chuỗi tuyệt đối: khi các mức độ (level) của day số là số tuyệt đối, vi dụ như
bảng doanh thu (ty đồng) quan các năm
17
Trang 20e Chuỗi số tương đôi: khi các mức độ của dãy sô là sô tương đôi, ví dụ như tôc
độ tăng doanh thu qua các năm.
e Chuỗi số trung bình: khi các mức độ của dãy số là sô trung bình, ví dụ như tốc
độ trung bình của phương tiện giao thông qua các mốc thời gian
Một chuỗi thời gian thường có ba thành phần chính là Xu hướng (Trend), Thời
vụ (Seasonal) và Chu ky (Cyclic) Xu hướng (Trend) của chuỗi thời gian được thé
hiện khi khi có một sự tăng hoặc giảm trong dài hạn của dữ liệu Thời vụ (Seasonal)
của chuỗi thời gian xuất hiện dữ liệu bị ảnh hưởng bởi các yếu tô liên quan đến mùa
vụ như các quý trong năm, các ngày trong tuần, v.v Chu kỳ (Cyclic) của chuỗi thời
gian là sự tăng hoặc giảm cua dir liệu lặp lại trong một giai đoạn không cô định
Hình 3.4: Biểu đô minh họa Phân tích chuỗi thời gian trong lĩnh vực chứng khoán
Time series analysis (phân tích chuỗi thời gian) cho phép nghiên cứu xu hướng
biến động của hiện tượng qua thời gian Từ đó, tìm ra tính quy luật của sự thay đôi,
đồng thời dự đoán được các mức độ của hiện tượng trong tương lai Hình 3.4 là một
18
Trang 21ví dụ minh họa về phân tích chuỗi thời gian đữ liệu chứng khoán trong quá khứ đểtìm ra quy luật và dự đoán chỉ số chứng khoán trong tương lai.
Hiện nay, có nhiều kỹ thuật, phương pháp được sử dụng để phân tích chuỗithời gian như các mô hình thống kê xác suất, các thuật toán Máy học, Học sâu Cácphần tiếp theo sẽ giới thiệu một kỹ thuật phân tích chuỗi thời gian phô hiện nay
3.2.2 Dự báo chuỗi thời gian sử dụng thống kê truyền thống (Traditional
Statistical (TS) Style)
Theo kiểu thống kê truyền thống, bài toán dự báo chuỗi thời gian được xây
dựng với các mô hình thống kê
Traditional Statistical(TS) Style:
Last observed timestamp
Ỷ
Time 2S +
1H Farm | fA
.-Input(x) Output(y)
Hình 3.5: Dự báo chuỗi thời gian kiều thong kê truyền thống
Từ Hình 3.5, có thể nhận thay răng thông thường, một mô hình chỉ có thé xử
lý một chuỗi thời gian và huấn luyện với toàn bộ chuỗi thời gian trước mốc thời gian
cuối cùng va dự đoán một vài bước tiếp theo Thông thường khi thay đổi mốc thời
gian dự báo cuối cùng thì phải huấn luyện mô hình lại từ đầu
Đối với thống kê truyền thống, chỉ có thể dự báo nhiều bước (Multi-Step) vàkhông thể dự báo nhiều biến đầu ra (Multivariate) Ví dụ, cùng một khoảng thời gian,
thống kê truyền thống không thé vừa dự báo lượng mưa, vừa dự báo tốc độ gió, nhiệt
độ.
19
Trang 223.2.3 Dự báo chuỗi thời gian sử dụng hồi quy thông thường (Regular
Regression (RR) Style)
Những năm gan đây, các kiến trúc học sâu phổ biến (ví dụ: RNN, CNN,Transformer, v.v.) đang được áp dụng thành công cho vấn đề dự báo Dự báo được
chuyền đổi thành một bài toán hồi quy học có giám sát
Regular Regression(RR) Style: next sample x next sample y
|-Extra Feature2| | | | Bãnnninninnninninn
sampled input(x) sampled output(y)
trị trước đó Ví dụ, khi dự báo vận tốc của 30 phút tiếp theo thì cần phải đưa vào mô
hình vận tốc của một ngày trước đó Vì vậy, hồi quy thông thường có thê dự đoán cácmốc thời gian khác nhau mà không nhất thiết phải huấn luyện lại Cùng với đó cũngthé dự báo nhiều bước (Multi-Step) và đa biến (Multivariate)
3.2.4 M6 hình Prophet
Prophet là mô hình dự báo chuỗi thời gian được Facebook nghiên cứu và công
bố vào năm 2017 [8] Prophet dựa trên mô hình xu hướng phi tuyến tính gọi làAdditive Model, phù hợp với các tác vụ dự báo chuỗi thời gian có hiệu ứng theo mùa
20
Trang 23hay theo dữ liệu lịch sử có xu hướng Đặc biệt, Prophet được thiết kế với các thông
sô mà chúng ta có thê điêu chỉnh mà không cân biét chi tiét mô hình bên dưới.
Mô hình Prophet được xây dựng dựa trên 3 thành phần chính là xu hướng(trend), tính thời vụ (seasonality) và ngày lễ (holidays) Chúng được kết hợp với nhau
theo phương trình sau:
y(t) = g(t) + sự) + A(t) + e(Œ), (2)
Trong đó g(t) là hàm xu hướng của mô hình, đó là một hàm không theo chu
kỳ và có giá trị thay đổi theo chuỗi thời gian, s(t) là hàm thể hiện sự thay đối theochu kỳ (ví dụ như theo chu kỳ hàng tuần, hàng tháng, hàng năm, v.v.) và h(£) là hàm
thể hiện sự ảnh hưởng của các ngày lễ hay những sự kiện, thé hiện những thay đổibat thường tiềm ân trong chuỗi thời gian Thuật ngữ e(£) thé hiện cho những lỗi batthường xảy ra trong mô hình và được giả thiết rằng hàm lỗi này tuân theo phân phối
chuẩn
3.2.4.1 The Trend Model
Facebook đã dựa vào tinh chat của xu hướng và xây dựng 2 mô hình xu hướng
là Saturating Growth Model và Piecewise Linear Model.
Saturating Growth Model là một mô hình phi tuyến tính, lấy ý tưởng dựatrên sự tăng trưởng dân số trong các hệ sinh thái tự nhiên, nơi mà các sự tăng tưởngnày là phi tuyến và bão hòa ở một sức chứa nào đó Ví dụ như lượng người dùngFacebook là một thành phần tăng trưởng phi tuyến, tuy nhiên lượng người dùng này
không thê tăng trưởng nhiều hơn (bão hòa) số người truy cập Internet Đối với loại
tăng trưởng này, Facebook đã dùng mô hình tăng trưởng logistic, dạng cơ bản của
mô hình này như sau:
Cc 1+ exp(-k(t—m)”
g(t) = (2)
21
Trang 24Trong đó, C là sức chứa (carrying capacity), klà tỉ lệ tăng trưởng và m là một
có sự thay đổi, s;là thời điểm thay đổi thứ j với j = 1, ,S Định nghĩa một vectơ
tỷ lệ điều chỉnh ổ € RŠvà ổ;là tỷ lệ điều chỉnh tại thời điểm s;, tỷ lệ tại bất kỳ thờiđiểm £ nào cũng đều phụ thuộc vào k có giá trị bằng k + a(f)Tổ với a(t) €{0,1}5theo điều kiện a(t) = 1,nếu t = sj vaa(t) = 0 nếu t < s; Khi tỷ lệ tăngtrưởng k đã được điều chỉnh thì tham số m cũng cần được điều chỉnh cho phù hợp
bởi công thức:?n = m + a(£)Ty, với y được tính như sau:
k + 3¡<jÖi
=(s -m—» y,) (1 -—s~(5; 3» ( k + Mie; 61
i<j
Thay các điều chỉnh vào phương trình (2), mô hình tăng trưởng bão hòa
(Saturating Growth Model) có dang sau:
C(t)
IO = Ty exp(—(k + a(T8)Œ — ứn + a@) 7)
Piecewise Linear Model là mô hình xu hướng tuyến tính dành cho các bàitoán dự báo không cho thấy tốc độ tăng trưởng bão hòa, mô hình xu hướng phù hợp
trong trường hợp nay là:
g(t) = ( + a()”ô)t + (t — (m + a() y),
trong đó k là tỷ lệ tăng trưởng, Sty lệ điều chỉnh, m là tham số bù đắp và được thiếtlập lại bang mà
22
Trang 253.2.4.2 Seasonality
Mô hình tinh thời vụ phù hợp cho các vấn đề dự báo mang tính thời vụ, tuầnhoàn như dữ liệu chuỗi thời gian kinh doanh Ví dụ, công nhân viên làm việc 5ngày/tuần và lặp lại mỗi tuần, các ngày lễ tết là có định và lặp lại theo năm, v.v Đểphù hợp với các dạng dữ liệu kê trên, người ta cần xác định một mô hình mang tínhthời vụ đặc biệt dựa trên các hàm tuần hoàn theo thời gian t
Những nhà nghiên cứu của Facebook đã dựa trên chuỗi Fourier dé tao ra một
mô hình mang tính tuần hoàn linh hoạt Mô hình có dạng:
s = UNL, (a,cos (=) + b,sin (=)) ;
với P là chu kỳ đều đặn với P = 365,25 cho chu ky là năm hay P = 7 cho chu kymỗi tuần, v.v N là tham số có thé thay đổi tùy theo bài toán, các nhà nghiên cứu của
Facebook cũng cho biết với chu kỳ theo năm và theo tuần thì N = 10 và N = 3
hoạt động tốt cho nhiều bài toán Và việc tăng giá trị N cũng cho phép việc điều chỉnhcác mẫu thay đôi nhanh hơn, nhưng đồng thời cũng dễ dẫn đến vấn đề quá khớp dữ
liệu (Overfitting).
3.2.4.3 Holidays and Events Model
Các ngày lễ và những sự kiện là những yếu tô có thé làm thay đôi đột ngột một
chuỗi thời gian và thường chúng không tuân theo bat ky chu kỳ nào Ví du Giáng sinh
sẽ diễn ra vào ngày 25 tháng 12 nhưng sẽ rơi vào những thứ khác nhau vào nhữngnăm khác nhau, một số nước thì không có lễ giáng sinh Một số nước khác thì lại cónhững ngày lễ tuần theo lịch âm như Tết Nguyên Đán ở Việt Nam Các sự kiện lớn
như World Cup, Black Friday cũng không phải là sự kiện tuần hoàn Điển hình nhất
đó là đại địch Covid-19 đã làm thay đổi thế giới rất nhiều mà không thé nào đoántrước được Vì vậy việc mô hình hóa tác động của các sự kiện này là điều không thể
thực hiện một cách trơn tru.
23
Trang 26Holiday | Country | Year | Date Thanksgiving | US 2015 | 26 Nov 2015 Thanksgiving | US 2016 | 24 Nov 2016 Thanksgiving | US 2017 | 23 Nov 2017
Hình 3.7: Danh sách ngày lễ trong mô hình Prophet
Dé giải quyết van dé này, Facebook đã tạo ra một danh sách các ngày lễ nhưHình 3.7 Danh sách này bao gồm tên ngày lễ, thời gian diễn ra trong quá khứ (năm,ngày) và tên quốc gia có ngày lễ đó dé phân biệt với các ngày lễ toàn cầu Với mỗi
ngày lễ ¡ , đặt D; là tập hợp các ngày lễ đó trong quá khứ và tương lai Một ham chi
thi (Indicator Function) dé kiểm tra xem một thời gian £ có nằm trong ngày nghỉ ihay không và cấp cho mỗi ngày nghỉ một tham số x; dé chỉ sự thay đổi tương ứngtrong dự báo, x; tuân theo phân phối chuan N(0, v?) Một ma trận các bộ hồi quy
được tạo thành:
Z(t) = [1Œ € Dị), ,1(£ € DỤ].
và mô hình ngày lễ và sự kiện sẽ được tính bang:
h(t) = Z(t)k
3.2.5 Mô hình Autoregressive Integrated Moving Average (ARIMA)
Mô hình ARIMA, viết tắt của AutoRegressive Integrated Moving Average làmột mô hình phân tích chuỗi thời gian truyền thống Mô hình ARIMA sử dụng dữ
24
Trang 27liệu chuỗi thời gian và phân tích thống kê dé giải thích dữ liệu và đưa ra các dự đoántrong tương lai Mô hình ARIMA giải thích dữ liệu bang cách sử dụng dữ liệu chuỗi
thời gian về các giá trị trong quá khứ của nó và sử dụng hồi quy tuyến tinh dé đưa ra
dự đoán Phương trình hồi quy ARIMA(p, đ, q) có dạng như sau:
3.2.5.1 AutoRegression (AR)
Đây là thành phần tự hồi quy bao gồm tập hợp độ trễ của các biến hiện tại.Quá trình tự hồi quy bậc p của một chuỗi x, được biéu diễn như sau:
AR(p) = Go + J‡#¿_¡ + P2Xp-2t +hpXt—p
Độ trễ bậc p là giá trị lùi về quá khứ p bước thời gian của chuỗi
3.2.5.2 Moving Average (MA)
Quá trình trung bình trượt là quá trình dich chuyền giá trị trung bình của chuỗitheo thời gian Quá trình này sẽ tìm mối liên hệ về mặt tuyến tính giữa các phần tửngẫu nhiên €, Quá trình trung bình trượt được biểu diễn như sau:
q
MA) = u+ » 6:€:—¡
i=1
25
Trang 283.2.5.3 Integrated (I)
Đây là quá trình đồng tích hợp hay còn gọi là lay sai phân Sai phân là phươngpháp dùng dé biến đổi một chuỗi thành chuỗi dừng nhằm loại bỏ các nhân tố ảnhhưởng thời gian và làm cho chuỗi dễ dự báo hơn Quá trình sai phân bậc đ của chuỗi
được tính như sau:
I(d) = A*(x;)
Nhu vậy có thé nhận thấy, về tổng quát, mô hình ARIMA là mô hình kết hợpcủa 2 quá trình tự hồi quy và trung bình trượt Dữ liệu trong quá khứ được sử dụng
dé dự báo dữ liệu trong tương lai và các chuỗi cần chuyên hóa sang chuỗi dừng trước
khi huấn luyện mô hình bằng cách lấy sai phân
3.2.5.4 Chỉ số AIC - Akaike Information Criteria
Một trong những tiêu chi thường được su dung dé lựa chọn mô hình đó là chỉ
số AIC (Akaike Information Criteria) Tiêu chí thông tin này là một công cụ ước tính
lỗi dự báo và do đó đánh giá chất lượng tương đối của các mô hình thống kê trên mộttập hop dir liệu nhất định Gia sử có một tập hợp các mô hình được xây dựng trên
cùng một bộ đữ liệu, AIC ước tính chất lượng của từng mô hình trong mối liên quanđến từng mô hình khác Do đó, AIC cung cấp một phương tiện dé lựa chọn mô hình.Khi một mô hình thống kê được sử dụng dé dự báo, kết quả sẽ gần như không baogiờ chính xác hoàn toàn Vì vậy một số thông tin sẽ bị mất do không thê dự báo từ
mô hình AIC ước tính lượng thông tin tương đối bị mat bởi một mô hình nhất định:
mô hình mat càng ít thông tin thì chất lượng của mô hình đó càng cao
Tóm lại rang giá trị của AIC càng nhỏ thì mô hình của chúng ta càng phù hợp
26
Trang 293.2.6 Mô hình Long-Short Term Memory (LSTM)
Ở phan này, luận văn sẽ giới thiệu các kiến thức liên quan đến mang hồi quy
Long Short-Term Memory hay còn được viết tắt là mạng hồi quy LSTM Đây là một
dạng đặc biệt của mạng hồi quy RNN, khắc phục được các vấn đề phụ thuộc xa ở
RNN Mạng hồi quy LSTM hoạt động hiệu quả trên nhiều bài toán khác nhau trong
đó có các bài toán về chuỗi thời gian.
Mạng hồi quy LSTM vẫn dựa trên ý tưởng cốt lõi của RNN là sử dụng mộtvòng lặp cho phép truyền thông tin từ bước này qua các bước tiếp theo để giữ cácthông tin ngữ cảnh của các giá trị đầu vào Hình 3.8 thể hiện một đoạn mạng hồi quy
A với đầu vào là X, và đầu ra là H, Một vòng lặp được sử dụng dé lưu trữ và truyềnthông tin từ bước này sang các bước tiếp theo
)
©
Hình 3.8: Vòng lặp trong mạng hồi quy LSTM
Một mạng hồi quy có thể được xem như là nhiều bản sao chép của cùng một
mạng như Hình 3.9 Dau ra của mạng này sé là dau vào của một mạng sao chép khác.
27
Trang 30Như đã nói, mạng hồi quy LSTM được thiết kế dé tránh việc phụ thuộc xa(long-term dependency) Các dự đoán của mạng LSTM luôn được điều chỉnh nhờvào kinh nghiệm học được trong quá khứ Mạng hồi quy LSTM có thể biết được khinào cần ghi nhớ và khi nào cần quên các thông tin trọng số nhờ vào công quên (forget
gate).
Hình 3.10: Trạng thái tế bào (Cell State)
Thanh phan cốt lõi của mô hình LSTM là các trạng thái tế bào (Cell State).Các trạng thái tế bào này có dạng như một băng chuyền như Hình 3.10, chạy qua cácnút trong mạng hồi quy và chỉ tương tác tuyến tính một ít nên các thông tin có thê dễdàng truyền đi thông suốt Mô hình LSTM có khả năng bỏ đi hoặc thêm vào các thông
28
Trang 31tin cần thiết cho trạng thái tế bào Nhiệm vụ điều khiển các luồng thông tin trong
mang được thực hiện bởi các cổng (gates), mô hình LSTM gồm có 3 công:
e Công cập nhật (update gate): điều khiến việc lay thông tin của lớp (hay unit)
trước đó.
e Công đầu ra (output gate): quyết định xem lay bao nhiêu thông tin dé xuất
ra đầu ra (output)
e Cổng quên (forget gate): quyết định thông tin nào cần giữ lại và thông tin
nao gan bỏ qua.
Sau đây chúng ta sẽ tìm hiểu chỉ tiết cách hoạt động của mô hình hồi quy
LSTM.
Bước đầu tiên là quyết định xem cần giữ lại những thông tin nào và bỏ quanhững thông tin nào Quyết định này được thực hiện bởi lớp sigmoid và công quên.Đầu vào x, và đầu ra của h,_;của trạng thái Œ¿_;trước đó sẽ được đưa vào lớpsigmoid, kết quả là một số nằm trong khoảng [0; 1] cho biết cần giữ lại bao nhiêuthông tin Kết quả bang 1 thé hiện rằng giữ lại toàn bộ thông tin và toàn bộ thông tin
sẽ bị bỏ đi nếu kết quả băng 0
fe = OW, -[h;_+,x:| + de
Hình 3.11: Quá trình trích lọc thông tin ở lớp Sigmoid và cổng quên (Forget Gate)
29
Trang 32Bước tiếp theo là xác định thông tin nào sẽ được lưu vào trạng thái tế bào hiện
tại Một lớp sigmoid được gọi từ công quên nhằm xác định giá trị thông tin nào sẽđược cập nhật, đồng thời lớp tanh cũng tạo ra một vectơ giá tri mới ễ, dé thêm vàotrạng thái Bước tiếp theo, kết hợp 2 giá trị đó lại tạo ra một cập nhật cho trạng thái
ig = đ(M, - [Agi xt] + bị
É, = tanh(W, - [hy-1, Xe] + be
Hình 3.12: Quả trình xác định thông tin được lưu vào trạng thái tế bào hiện tại tại
lớp Sigmoid và lop Tanh.
Tiếp theo, trạng thái tế bào mới C, sẽ được cập nhật từ trạng thai tế bào cũŒ¿_¡ trước đó Trang thái tế bào cũ Œ,_¡ sẽ nhân với f, để loại bỏ các thông tin đã
xác định quên trước đó va cộng với giá trị mới i, * Ế, dé tạo ra trạng thái mới C,
Ce = fe * Coa + ip xẾ,
30
Trang 33Hình 3.13: Quá trình cập nhật trạng thái tế bào mới.
Cuối cùng, chúng ta cần xác định đầu ra của trạng thái hiện tế bào hiện tại Giá trịnày phụ thuộc vào trạng thái tế bào hiện tại và sẽ phải lọc lại Đầu tiên, một lớpsigmoid được dùng dé quyét dinh phan cua trang thai tế bào hiện tại sẽ được xuất ra.Sau đó chúng sẽ được đưa qua một hàm tanh dé đưa về khoảng giá trị [—1, 1] vànhân với giá trị đầu ra của công sigmoid dé được giá trị đầu ra mà ta mong muốn
0, = ơ(W,[h¿ +,xr| + bạ
h, = 0, * tanh(C;)
3.2.7 Mô hình Temporal Convolutional Network (TCN)
Mang tích chap tam thoi (Temporal Convolutional Network - TCN) là một mô
hình hoc sâu được phat triển dựa trên mang nơ ron tích chập (Convolutional NeuralNetwork - CNN) Đây là một biến thé của mô hình CNN có thé giải quyết được cácbài toán bài toán liên quan đến dự báo tuần tự Mô hình TCN được thiết kế dựa trên
2 ý tưởng cơ bản:
e Một là, các tích chập có mối quan hệ nhân quả (causal), có nghĩa là không có
thông tin rò rỉ từ tương lai đến quá khứ
31
Trang 34e Hai là, kiến trúc có thé nhận một chuỗi tuần tự (sequence) có độ dai bat kỳ và
ánh xạ nó tới một chuỗi đầu ra có cùng độ dài giống như một mạng hôi quy
3 chiều gồm batch size, input length, nr_input_channels và đầu ra cũng là một tensor
3 chiều gồm batch size, input lenpth, nr output channels Quá trình tính toán từ
tensor đầu vào thành tensor đầu ra được thé hiện ở Hình 3.14
output tensor
input tensor
input_length
Hình 3.14: Quá trình tinh toán từ tensor dau vào thành tensor dau ra
Dé don giản hóa việc tinh toán, giả sử nr_input_channel va
nr_output_channels bằng một Khi đó, đầu vào và đầu ra của lớp tích chập sẽ là tensor
32
Trang 351 chiều hay vector 1 chiéu Mot hat nhan (kernel) có kích thước được định nghĩa trước
là kernel_size, một cửa số trượt có cùng kích thước với hạt nhân sẽ bắt đầu ở vị trí
phan tử đầu tiên của vector đầu vào Dé có được phan tử ở vị trí trong ứng của vector
đầu ra, một phép tích vô hướng được thực hiện giữa đoạn vector đầu vào tại vị trí cửa
số trượt và hạt nhân Sau đó, cửa số trượt sẽ trượt đến vị trí kế tiếp một đơn vi va tiếptục thực hiện tính toán như trên đến hết vector đầu vào Nếu nr_input_channels và
nr_output_channels là lớn hơn 1 thì quá trình tính toán trên sẽ được thực hiện tương
tự cho các channel còn lại với các hạt nhân có giá trị khác nhau.
3.2.7.2 Causal Convolution
Đối với tích chập có quan hệ nhân quả, moi phan tử trong chuỗi dau ra phải
được tính toán dựa trên các phần tử trước nó ở chuỗi đầu vào Do đó, để đảm bảo cho
kích thước tensor đâu ra luôn băng kích thước tensor đâu vào, một vùng đệm có giá
trị bằng 0 (zero-padding) sẽ được thêm tensor đầu vào như Hình 3.15
= Ld
input_length zero-padding
Hình 3.15: Ví dụ về thêm các vùng đệm có giá trị bằng 0
Số lượng giá trị đệm băng 0 được thêm vao trong trường hợp không có sự giãn
nở có giá tri băng kernel_ size - 1.
33
Trang 363.2.7.3 Dilated Convolution
Tích chập giãn nở ra đời với mong muốn dau ra của mô hình có thé hoc đượcdựa trên tất cả đầu vào trước nó Điều này đạt được khi trường tiếp nhận (receptivefield) của đầu ra là tập hợp bao gồm tất cả phần tử đầu vào trước nó, còn được gọi là
“full history coverage” Trong trường hợp không có sự giãn nở, một mạng tích chập
1 chiều với n lớp và kernel_size là k sẽ có trường tiếp nhận r được tính như sau:
r=1+n(k-1)
và số lượng lớp mà một mang tích chập 1 chiều cần có dé đạt được “full historycoverage” với chiều dai tensor đầu vào input_length | được tính bằng công thức:
n= [@ =1)/@ — 1)]
Từ công thức trên có thé thay, gia sử kích thước hạt nhân k là không đối, số
lượng lớp của mạng tích chập 1 chiều thay đổi tuyến tính phụ thuộc vào chiều daitensor đầu vào và điều này sẽ làm cho mô hình trở nên rất nhiều lớp và số lượng tham
số mô hình rất lớn Do đó, để có thê tăng kích thước trường tiếp nhận trong khi vẫngiữ được số lượng lớp của mô hình tương đối nhỏ, sự giãn nở được áp dụng cho mạng
tích chập hay còn gọi là tích chập giãn nở (Dilated Convolution).
Hình 3.16: Ví dụ về sự giãn nở
34
Trang 37Ý tưởng cốt lõi của sự giãn nở là việc tăng khoảng cách đ giữa các phần tử ởtensor đầu vào được dùng để tính toán tensor đầu ra Vấn đề này được giải quyết băng
cách tăng khoảng cách đ sau mỗi lớp của mô hình như Hình 3.16 và hệ số khoảngcách d của mô hình tại một lớp bat kỳ được tinh theo công thức:
d = bxxi
với b là hằng số giãn nở và i là số lớp bên dưới lớp hiện tai
Khi áp dụng sự giãn nở, mỗi một lớp được thêm vào mô hình sẽ làm tăng độ
rộng trường tiếp nhận thêm một giá tri bằng đ * (k — 1) và độ rộng của trường tiếp
nhận w của một mô hình TCN n lớp với kích thước hạt nhân k được tính như sau:
Hình 3.17: Ví dụ về van dé lỗ hồng ở trường tiếp nhận
Một điều lưu ý rằng, dé tránh việc trường tiếp nhận có lỗ hồng (các 6 màu đỏ)
như Hình 3.17 thì kích thước hạt nhân phải lớn hơn hoặc bằng hằng số giãn nở Khi
35
Trang 38đó, số lớp tối thiểu của mô hình dé đạt được “full history coverage” và số lượng giá
trị đệm 0 tại một lớp bat kỳ có thể được tính như sau:
của mô hình, chuân hóa đâu vao cho các lớp và tránh được hiện tượng qua.
36