Đánh giá hiệu suất của Bộ phân biệt trước khi huấn luyệnTEEN Ea 60 5.4 Kết quả thử nghiệm về ty lệ dương tính thật % trên các mẫu nguyên gốc và các mẫu đối kháng khi mô hình đượchuấn luy
Trang 1ĐẠI HOC QUOC GIA TP HO CHÍ MINH TRƯỜNG ĐẠI HỌC CONG NGHỆ THONG TIN KHOA MẠNG MÁY TÍNH VÀ TRUYÊN THÔNG
ĐOÀN MINH TRUNG NGUYEN HOANG KIM NGÂN
KHOA LUAN TOT NGHIEP
A STUDY ON ANDROID MALWARE GENERATION BY USING
GENERATIVE ADVERSARIAL NETWORKS
KY SU NGANH AN TOAN THONG TIN
TP HO CHÍ MINH, 2022
Trang 2ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA MẠNG MÁY TÍNH VÀ TRUYÊN THÔNG
ĐOÀN MINH TRUNG - 18521547 NGUYEN HOANG KIM NGÂN - 18521136
KHOA LUAN TOT NGHIEP
TIM HIEU PHUONG PHAP PHAT SINH MA DOC
ANDROID BANG MANG SINH DOI KHANG
A STUDY ON ANDROID MALWARE GENERATION BY USING
GENERATIVE ADVERSARIAL NETWORKS
KY SU NGANH AN TOAN THONG TIN
GIANG VIEN HUONG DAN
TS NGUYEN TAN CAM
TP HO CHÍ MINH, 2022
Trang 3THONG TIN HỘI DONG CHAM KHÓA LUẬN TOT NGHIỆP
Hội đồng cham khóa luận tốt nghiệp, thành lập theo Quyết định số
ngày của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
Trang 4LỜI CẢM ƠN
Đề hoàn thành khóa luận tốt nghiệp này, chúng tôi xin gửi lời cảm ơn đến Ban
giám hiệu Trường Đại học Công nghệ Thông tin — Đại học Quốc Gia Thành Phó HồChí Minh vì đã tạo điều kiện học tập, nghiên cứu tốt nhất Cảm ơn quý thầy cô giảng
dạy tại trường nói chung và Khoa Mạng máy tính & Truyền thông nói riêng vì đã
truyền đạt những kiến thức chuyên môn bổ ích, những kinh nghiệm thực tế quý báu
mà chúng tôi đã học hỏi được trong suốt quá trình học tập, rèn luyện tại trường.
Chúng tôi xin gửi lời tri ân và biết ơn đến TS Nguyễn Tan Cầm đã trực tiếp
quan tâm, hướng dẫn tận tình trong suốt quá trình thực hiện đề tài Xin đặc biệt gửilời cảm ơn trân trọng nhất đến ThS Nghi Hoàng Khoa cùng với ThS Phan Thế Duy,
là những người đã định hướng, dẫn dắt và đồng hành rất sớm cùng chúng tôi không
chỉ trong khoá luận này mà cả trong toàn bộ những thành tựu chúng tôi đã đạt được.
Bên cạnh đó, với tình cảm sâu sắc và chân thành, chúng tôi cũng xin cảm ơn
các thầy cô, anh chị đang công tác tại Phòng thí nghiệm An toàn thông tin - InSecLab
vì đã luôn tạo điều kiện về cơ sở vật chất với hệ thống máy chủ hiện đại, luôn sẵnsàng nhiệt tình hỗ trợ chúng tôi về chuyên môn lẫn kinh nghiệm trong các hoạt động
nghiên cứu và thực hiện khoá luận.
Cuối cùng, do kiến thức chuyên môn còn hạn chế nên khóa luận chắc chắn không tránh khỏi những thiếu sót Rất mong nhận được nhận xét, ý kiến đóng góp,
phê bình từ quý thầy cô trong hội đồng dé khóa luận được hoàn thiện hơn
Nhóm thực hiện.
Trang 5Mục lục
TÓM TẮT KHOÁ LUẬN 1
1 TONG QUAN 2
Le eee 2
1.2 Mục tiêu, đôi tượng và phạm vi nghiên cứu 4
121 MụucHÊU \ 4
} 4
1.2.3 Cấu trúc Khóa luận tốt nghiệp 5 2_ CƠ SỞ LY THUYET 6 WV 6
2.2 Tlậptincàiđặt Ặ 2c ee 8 B3 Mang sinh đổi Khang (Generative Adversarial Networks] 10
2.3.1 Giới thiệu tổng quan| 10
2.3.2_ Bộsinh| ẶẶ So 12 23.3 Bộphânbiệt 13
2.3.4 Hàm mất mát| 15
2.3.5 Trình phát hiện hộp đen| 18
2.4 Các thuật toán phân loại dựa trên máy học| 20
2.41 Support Vector Machines (SVM)| 20
2.4.2 Decision Irees(DTI)| - 21
Trang 62.4.3 Random Forests(RE)| - 22
2.4.4 Logistic Regression(LR)| - 23
2.4.5 eXtreme Gradient Boosting (XegBoost| 24
2.4.6 Mang thần kinh (NeuralNerwork)| 25
2.4.7 Convolutional Neural Network (CNN) 27
30 ¬ II 30 2_ Chỉ tiết mô hình đề xuất| 31
3.21 Tríchxuấtđặctính| 32
34
%“““ x6 ÀA 35
3.2.4 Kiểm đinh| 36
37 4.1 Tổng quan hệ thong dé xuất| - 37
VI
Trang 7Tai liệu tham khảo 75
Danh sách hình ve
2.1 Các thành phan của ứng dụng Android| 9
3.1 Tổng quan mô hình dé xuất_ - 31
4.1 Tổng quan mô hình dé xuất|_ - 38
4.2_ Xây dựng Bộ phân biệt mô phóng Trình phát hiện hộp den
VII
Trang 8vili
Trang 95.16 Ty lệ phát hiện của Trình phát hiện hộp đen sau khi tái huấn
Danh saci bá Ộíaáaaáêa 68
Jann sach bang
3.1 Ví dụ các đặc tinh tinh của một ứng dung Android 3.2 Ví dụ tính toàn vẹn hoạt động của APK trước và sau khi sửa
đổi @ Z »À Ì / 36
4.1 Số lượng tập tin APK bao gồm mẫu mã độc và mẫu lành tính
Trang 105.3 Đánh giá hiệu suất của Bộ phân biệt trước khi huấn luyện
TEEN Ea 60
5.4 Kết quả thử nghiệm về ty lệ dương tính thật (%) trên các
mẫu nguyên gốc và các mẫu đối kháng khi mô hình đượchuấn luyện trên cùng một bộ dữ liệu
5.5 Bảng kết quả thử nghiệm về độ chính xác và tỷ lệ phát hiện
trước và sau khi mô hình GAN được tái huấn luyện (%)|_ 675.6 Kết quả thử nghiệm dựa trên các chỉ số hiệu suất trước và
sau khi mô hình GAN được tái huấn luyện (%)| 695.7 Số lượng ứng dụng cài đặt thành công của các loại mã độc
trước và sau khi đột biến| 705.8 Số lượng nhà cung cấp bảo mật không thể phát hiện mẫu
Trang 11Convolutional Neural Networks Differential Privacy
True Positive Rate
Original Detection Rate Adversarial Detection Rate
xi
Trang 12Danh mục từ tạm dịch
Mang sinh đối kháng Generative Adversarial Networks
Học máy Machine learning
Trọng số Weight
Dac tinh Feature
Mang no-ron Neural network
Ham kich hoat Activation function
Ham mat mat Loss function
Bộ sinh Generator
Bộ phân biệt Discriminator
Trinh phát hiện hộp đen Black-Box Detector
Độ dốc Gradient
xii
Trang 13TÓM TẮT KHOÁ LUẬN
Trong xã hội ngày nay, điện thoại thông minh đang trở thành nhu cầu thiết
yếu và cần phải có của nhiều người trên thế giới Trong đó, Android hiệnđang là một trong những nền tảng điện thoại thông minh phổ biến nhất
và có lượng người dùng khổng 16 Không giống như các hệ điều hành di
động khác, Android được phát triển bởi Google nên nó là một mã nguồn
mở và dé sử dung Do hiệu suất tuyệt vời và nhiều mức giá khác nhau, các
thiết bị Android đã thu hút được nhiều người dùng Tuy nhiên, nó cũng lànguyên nhân chính dẫn đến sự phát triển của mã độc di động Vì số lượng
các chương trình mã độc đi động mới đang tăng lên rất nhiều và ngày càng
tinh vi hơn, nên cần có các thuật toán học máy phân loại mã độc hiệu quảhon để bảo vệ chống lại chúng Mặc dù thực tế là các thuật toán học máy
đã dẫn đến nhiều đột phá quan trọng trong việc phát hiện mã độc trongnhững năm gần đây, chúng vẫn thường xuyên gặp phải một số cạm bẫy
trong việc thu thập dữ liệu, thiết kế hệ thống và đánh giá hiệu suất dẫn
đến kết quả quá lạc quan Mục đích của nghiên cứu nay là dé xuất một hệthống phát sinh mã độc Android đánh lừa học máy dựa trên Mạng sinh
đối kháng từ đó ứng dụng để xác định mã độc trên thiết bị Android Sau
đó, chúng tôi sẽ so sánh và đánh giá độ hiệu quả của các thuật toán phân
loại khác nhau để phát hiện các mẫu đối kháng có khả năng trốn tránhmạnh mẽ được tạo bởi Mạng sinh đối kháng (GAN) và đồng thời cố gắng
giảm thiểu tối đa những cạm bẫy mà học máy thường mắc phải để cho ra
kết quả chính xác hơn Kết quả thử nghiệm cho thấy hệ thống được dé xuất
có khả năng vượt mặt nhiều mô hình thuật toán phân loại với độ chính xác
gần như bằng 0 trong tập dữ liệu thế giới thực.
Trang 14CHƯƠNG1 TONG QUAN
Tóm tat chương
Trong chương này, nhóm chúng tôi sẽ tóm tắt về bài toán xây dựng hệ
thống phát hiện mã độc Android dựa trên các thuật toán phân loại học
máy có độ chính xác tốt nhất hiện nay và nghiên cứu liên quan, các ứngdụng trong thực tế và các thách thức mà bài toán đang gặp phải Đồngthời đưa ra mục tiêu và phạm vi nghiên cứu cũng như cấu trúc của khóaluận tốt nghiệp
1.1 Giới thiệu bài toán
Ngày nay, thiết bị di động đã trở thành một phần chính trong cuộc sống
của con người Tính đến năm 2022, theo thống kê từ Statista [1] thế giớihiện đang có 6.567 tỷ người dùng điện thoại thông minh chiếm 83,72%
dân số thế giới Nền tảng mã nguồn mở Android là hệ điều hành di động
phổ biến nhất, chiếm 75% thị phần toàn cau, với hơn 2,8 triệu người ding
đang hoạt động [2] Do đó, các thiết bi Android đã trở thành mục tiêu của nhiều kẻ tân công Theo Kaspersky [3], năm 2021, có gan 3,5 triệu gói cài
đặt mã độc được phát hiện trên các hệ điều hành Trên thực tế, hơn 99% mã
độc di động nhắm mục tiêu vào các thiết bị Android IHỆ Một trong những
lý do chính đó là Android luôn cho phép người dùng tải xuống ứng dụng
từ các nguồn khác ngoài cửa hang ứng dụng Google Play chính thức và vìngười dùng thường không chú ý và dễ dàng chấp nhận tất cả các yêu cầu
truy cập từ ứng dụng bên ngoài cho nên điện thoại di động của họ rất dễ
bị nhiễm mã độc.
Từ đó đến nay, phương pháp phát hiện truyền thống dựa trên chữ ký được
Trang 15Chương 1 TONG QUAN
sử dung rộng rãi trên cả thiết bị Android va nền tang PC bang cách trích
xuất chữ ký từ APK và so sánh với chữ ký độc hại trong cơ sở dữ liệu vi rút
Tuy nhiên, phương pháp này bị giới hạn khả năng phát hiện mã độc không
xác định hoặc không tôn tại trong cơ sở đữ liệu vi rút Gần đây, GAN đã
tạo ra một số lượng lớn các mẫu mã độc đối kháng mới có thể đánh lừa
các bộ phân loại dựa trên công nghệ máy học và dé dàng vượt qua các hệ
thống phát hiện mã độc của Android Do đó, việc phát hiện những mẫu
đối kháng mới này với tỷ lệ chính xác cao đang là một chủ dé nóng Để giảiquyết câu hỏi này, các nhà nghiên cứu trước đây nhận thấy rằng có hai kỹthuật để phân tích mã độc Android chưa biết: phân tích tĩnh và phân tích
động Phân tích tĩnh, xảy ra trước khi ứng dụng Android được cài đặt, làmột kỹ thuật dựa trên việc kiểm tra nội dung của APK bằng kỹ thuật dịch
ngược Khác với phân tích tính, phân tích động giám sát trạng thái chạy
của ứng dụng Android trong môi trường ảo.
Được thúc đẩy bởi vấn dé này, chúng tôi dé xuất một hệ thống phát hiện
mã độc Android dựa trên các bộ phân loại học máy khác nhau bao gồm
Support Vector Machines (SVM), Decision Tree (DT), Random Forest (RE), Logistic Regression (hay con goi la logit, MaxEnt), XGBoost, ConvolutionalNeural Networks (CNN) Hé thống của chúng tôi sẽ tập trung chú ý đếnbước trích xuất đặc tính và lựa chọn đặc tính và áp dụng kĩ thuật phân tích
tĩnh để phân tích hành vi của các mẫu mã độc mới này Trong tương lai,
chúng tôi sẽ tiếp tục kết hợp với kĩ thuật phân tích động để có thể đưa ra
kết quả phân loại mã độc Android một cách chính xác hơn
Trang 16Chương 1 TONG QUAN
1.2 Mục tiêu, đối tượng va phạm vi nghiên cứu
1.2.1 Mục tiêu
* Tìm hiểu về mô hình của công cụ phát sinh mẫu đối kháng mới có
khả năng né tránh các trình phát hiện ngày nay.
e Xây dựng và hoàn thiện mô hình phát sinh mẫu thử Android dựa trên
GAN.
s Đánh giá các mô hình học máy trên mẫu thử phát sinh từ GAN dựa
trên các tiêu chí sau: khả năng phát hiện (F1-score), độ chính xác
(Ac-curacy score) và các chỉ sô khác như kha năng dự đoán (Recall hay
Precision), khả năng phát hiện mẫu gốc (ODR), khả năng phát hiện
dit liệu mẫu đối kháng (ADR)
1.2.2 Đối tượng và phạm vi nghiên cứu
e Đối tượng nghiên cứu
— GANs.
- Thư viện hỗ trợ máy học Tensorflow.
- Thư viện python mã nguồn mở Scikit-Learn
- Tập tin APK malware.
© Phạm vi nghiên cứu: Tạo ra các mẫu mã độc biến thể bằng cách trích
xuất các đặc tính vectơ và xây dựng hệ thống học máy dựa trên các
mô hình thuật toán phân loại để đánh giá khả năng phát hiện các mẫubiến thể đó
Trang 17Chương 1 TONG QUAN
1.2.3 Cau trúc Khóa luận tốt nghiệp
Sau khi giới thiệu tổng quan về dé tài ở phần trước, nhóm chúng tôi xinđược đưa ra các nội dung thực hiện có trong Khóa luận tốt nghiệp như
sau:
e Chương 1: Giới thiệu tổng quan về dé tài khóa luận
e Chương 2: Trình bày cơ sở lý thuyết, các nghiên cứu liên quan và kiến
thức nền tảng liên quan đến dé tài
e Chương 3: Giới thiệu phương pháp, dé xuất mô hình dùng để tạo biến
thể mã độc Android
* Chương 4: Đề xuất một hệ thống phát sinh mã độc Android đánh lừa
học máy bằng mạng sinh đối kháng
¢ Chương 5: Trinh bày môi trường thực nghiệm, tập dữ liệu, phương
pháp đánh giá và kết quả thực nghiệm
e Chương 6: Kết luận và hướng phát triển trong tương lai
Trang 18CHUONG 2 CƠ SỞ LÝ THUYET
Tóm tắt chương
Trong chương này, chúng tôi sẽ trình bày cơ sở lý thuyết liên quan đến détài để có một nền tảng kiến thức vững chắc hỗ trợ cho các chương tiếp theo
2.1 Các nghiên cứu liên quan
Renjith cùng với các cộng sự của ông [5] đã dé xuất một hệ thống có tên
GANG-MAM có thể tạo ra các biến thể mới từ mã độc Android hiện cóbằng cách sửa đổi các vectơ đặc tính trong khi vẫn duy trì chức năng của
nó Hệ thống này được tạo ra để cải thiện hiệu quả của bộ phân loại và mởrộng tập dữ liệu để hỗ trợ các nhà nghiên cứu đạt được tập dữ liệu chất
lượng cao cho các thí nghiệm của họ.
MalGAN [6 là công trình tiên phong về các cuộc tan công mẫu đối kháng
hộp đen nhằm phát hiện phần mềm độc hại trên Android Nó tạo ra các
mẫu đối kháng để tấn công các thuật toán phát hiện mã độc trong hộp
đen.
Như đã được đề cập trong phần giới thiệu bài toán, có hai cách tiếp cậnphát hiện chủ yếu trong phát hiện mã độc Android, có thể được mô tả
là phân tích tĩnh (Static Analysis) và phân tích động (Dynamic Analysis).
Đối với phân tích tĩnh, chúng ta sẽ dịch ngược các tập tin APK và sau đó
sẽ phân tích những tập tin chứa mã nguồn trước khi thực thi chúng Kĩthuật này có thể cung cấp một kết quả nhanh chóng và an toàn để phát
hiện mã độc Android Các nhà nghiên cứu thường chọn theo dõi luéng dữ
liệu hoặc thông tin thuộc tính có liên quan từ APK để phân biệt mã độc.
Ví dụ, W Li [7] đã xây dựng một phương pháp phát hiện mã độc sử dụng
Trang 19Chương 2 COSO LY THUYET
phương pháp hoc sâu được điều chỉnh theo trọng số (weight-adjusted deep
learning) trong việc phát hiện mã độc cho nền tang Android Họ sử dung
kết hợp hai loại đặc tinh, các API call nguy hiểm va các permission rủi ro
để xây dựng mô hình DBN Họ thử nghiệm trên bộ dữ liệu Drebin và kết
quả cho thay mô hình dat được độ chính xác 90% M Kumaran và W Li
đã phát triển một hệ thống phát hiện mã độc Android dựa trên các thuật
toán phân loại khác nhau như Linear Discriminant, Cubic SVM, Weighted
KNN, Complex Tree, Linear SVM, Course KNN Họ sử dụng các loại đặc
tính như quyền được truy cập (Requested Permission), quyền đã khai báo
(Declared Permission) và bộ lọc Intent (Intent Filter) Họ chia bộ dữ liệuthành 3 phần, phần thứ nhất chỉ gồm bộ lọc Intent, phần thứ hai chỉ gồmquyền được truy cập và quyền được khai báo và phần còn lại sẽ kết hợp cả
2 phần thứ nhất và thứ hai Cách chia này nhằm mục đích so sánh độ chínhxác giữa việc tách và kết hợp các đặc tính Họ thử nghiệm trên 500 mẫu mãđộc và 500 mẫu lành tính, đồng thời để xác định độ chính xác họ sử dụng
sơ đồ 10-fold validation Kết quả thu được cho thây việc kết hợp các đặc
tính lại sẽ mang lại hiệu quả cao hơn so với tách từng đặc tính Trong một
bài báo khác, MS Saleem cùng với các cộng sự của mình [9] da tiép can
một phương pháp dựa trên hệ thống quyền của Android để phat hiện mã
độc Họ loại bỏ quyền không cần thiết mà không có tác động nào và áp
dụng hai thuật toán xếp hạng quyền Chi-Square Test và Fisher’s Exact Test
để giảm kích thước của tập dữ liệu mà không làm mất nội dung thông
tin Họ cũng thực hiện trên ba loại thuật toán phân loại sau: Decision Tree
(DT), Random Forest (RE) va Support Vector Machine (SVM) với bộ dữ liệu
Drebin (gần 120,000 mẫu mã độc và mẫu lành tính) Kết quả thu được chi
ra rằng cách tiếp cận của họ khi kết hợp với Fisher’s Exact Test và thuật
toán Random Forest có tỷ lệ độ chính xác và F1-score cao Với phân tích
7
Trang 20Chương 2 COSO LY THUYET
động, ta sẽ thu thập được các tính nang khi thực thi ứng dụng trên môitrường ảo hoặc thiết bị vật lý bằng cách theo doi các hành vi hoặc trạng
thái của dữ liệu nhạy cảm, mã độc có thể được tìm ra Ví du, Qiao đã
giới thiệu một framework có tên là CBM, trong framework đó tác giả có sử
dụng Cuckoo để trích xuất chuỗi lệnh gọi API thu được từ việc giám sát
quá trình thực thi động của mã độc Karim O Elish đã dé xuất một
phương pháp học máy có độ chính xác cao bằng cách trích xuất một đặctính luồng dữ liệu (data-flow) về cách người dùng đầu vào kích hoạt các
lệnh gọi API nhạy cảm Với phương pháp đó tác giả đã phát hiện ra các
ứng dụng độc hại mới trong thị trường Google Play mà các công cụ quét vi
rút không thể phát hiện được Mỗi cách phân tích trên đều có ưu và nhược
điểm riêng, để có thể đạt được các kết quả tốt hơn và giảm tối đa nhược
điểm, nhiều nhà nghiên cứu đã kết hợp cả phân tích tĩnh và phân tích độngđược gọi là phân tích kết hợp (Hybrid Analysis) Giống với các bài báo sử
dung phân tích tinh khác, Ankita Kapratwar cùng Fabio Di Troia và Mark
Stamp cũng trích xuat một đặc tinh đơn giản dựa trên quyền Còn với phân
tích động, họ trích xuất các system call bằng cách thực thi các ứng dụng độc hại đó trên một môi trường ảo Từ đó, họ chỉ ra rằng chỉ với mỗi đặc
tính system call không mang lại kết quả phát hiện đặc biệt mạnh mẽ Vì
vậy, nó chỉ tương đối mạnh mẽ khi kết hợp với các đặc tính khác để có thể
phục vụ cho một mục đích hữu ích.
2.2 Tập tin cài đặt
Úng dụng Android (còn được gọi là APK - Android package) là một phần
mềm được thiết kế để chạy trên thiết bị Android hoặc trên một trình giả
lập Tập tin này là một kho lưu trữ Zip chứa mã ứng dụng, tài nguyên va
thông tin meta Các ứng dụng Android này có thể được viết bằng các ngôn
8
Trang 21Chương 2 COSO LY THUYET
ngữ lập trình như Kotlin, Java, C++ và được chạy bên trong môi trườngmáy ảo Có bốn thành phan cơ bản trong một tập tin APK bao gồm: Activ-ities, Services, Broadcast Receiver, Content Providers Mỗi thành phần đại
điện cho một điểm vào (entry point) mà hệ thống hoặc người dùng có thể
truy cập vào ứng dụng.
Đối với phạm vi của khóa luận này, chúng tôi sẽ tập trung vào các đặctính tinh của một ứng dụng Android, cu thể là permissions, activities, ser-
vices, receivers, providers, actions va categories (Hinh 2.1) Dé có thể thu
thập được các đặc tinh nay, chúng ta sẽ sử dụng ki thuật dich ngược, một ki
thuật được khai thác dùng để phân tích mã độc Android Trong quy trìnhnày, việc dịch ngược các ứng dụng giúp ta có thể hiểu được các chức năng
và hoạt động của nó bằng cách phân tích mã Sau khi tập tin APK được
dịch ngược, nó chứa các thành phần như tập tin AndroidManifest.xml,
classes.dex, Tất cả các đặc tính mà ta đã đề cập sẽ được trích xuất từ các
tập tin này.
Broadcast
Recievers
Content Providers
HINH 2.1: Các thành phan của ứng dụng Android
Trang 22Chương 2 COSO LY THUYET
2.3 Mang sinh đối khang (Generative Adversarial Networks)
Trong những năm gan đây, lĩnh vực học sâu ngày càng được phát triển để
áp dụng vào các thiết bị, nâng cao khả năng hoạt động của chúng để phục
vụ con người tốt hơn Rất nhiều lĩnh vực được áp dụng phương pháp này
như phương tiện tự động, xử lý hình ảnh, xử lý ngôn ngữ tự nhiên, dự
báo, y tế và giáo dục Chúng ta hiện đang ở thời điểm mà học sâu và mạngthần kinh mạnh mẽ đến mức có thể tạo ra một khuôn mặt người mới chưatừng tổn tại nhưng trông giống that dựa trên một số đữ liệu được đào tạo
Mặc dù các mô hình học sâu đạt được nhiều thành công lớn trong việc giải
quyết các van dé trong thé giới thực, chúng có thể dé dang bị đánh lừa
bởi các mẫu đối nghịch, tăng khả năng phân loại sai khi đữ liệu bị thêmnhiễu Van dé này làm day lên lo ngại trong nhiều lĩnh vực như an toàn
hay phương tiện tự động Vì vậy, điều quan trọng là phải nghiên cứu ảnh
hưởng của các mẫu đối nghịch đối với hiệu suất của các mô hình học sâu.Trong đó, mạng sinh đối kháng (Generative Adversarial Network - GAN)
là công nghệ tiến bộ và phổ biến thường được dùng để giải quyết van dé
này GAN được phát triển vào năm 2014 bởi nhóm của lan Goodfellow 21.
GAN thường được sử dụng nhiều nhất trong việc xử lý hình ảnh và xử lýngôn ngữ tự nhiên nhằm mục đích tạo ra các mẫu mới với một số biến thể
thông qua phân phối học tập của các mẫu huấn luyện
2.3.1 Giới thiệu tổng quan
Có 2 loại mô hình trong bối cảnh học tập có giám sát là mô hình sinh và
mô hình phân biệt Mô hình phân biệt chủ yêu được sử dụng để giải quyếtnhiệm vụ phân loại, dự đoán điểm dữ liệu thuộc về lớp nào Mặt khác, mô
hình sinh chủ yêu được sử dung dé tạo ra các điểm dữ liệu tổng hợp, tuân
10
Trang 23Chương 2 COSO LY THUYET
theo cùng một phan phối xác suất với phân phối của dữ liệu huấn luyện
GAN là một loại của mô hình sinh, vì vậy GAN có khả năng sinh ra dữ liệu
mới.
Cau trúc cơ bản của GAN là vanilla GAN, đó là sự kết hợp giữa hai
mô hình chính (hai mạng nơ-ron) là Bộ sinh (chịu trách nhiệm tao dữ liệu
giả giống với dữ liệu thật) và Bộ phân biệt (chịu trách nhiệm phân biệt dữliệu giả với dữ liệu thật) Hai mô hình này được huấn luyện và hoạt động
theo mục tiêu trái ngược nhau, vì vậy nó còn có tên khác là mạng sinh đối
kháng Chúng cạnh tranh với nhau và có thể sao chép và phân tích sự đa
dang trong một tập dữ liệu Sự cạnh tranh giữa cả hai thành phan này tiếptục cho đến khi đạt được mức độ hoàn hảo Các ưu điểm của GAN baogồm:
s Việc tạo mẫu đơn giản.
© Việc huấn luyện không bị tác động bởi việc ước lượng hợp lý cực đại
® Mô hình không dễ bị quá khớp với dir liệu huấn luyện khi Bộ sinh
chưa từng thấy bộ dữ liệu huấn luyện
s® Đặc biệt, GAN rất giỏi trong việc đi sâu vào dữ liệu và nắm bắt được
các phương thức phân phối của bộ dữ liệu
Bên cạnh các ưu điểm nổi bat, GAN cũng tôn tại các khuyết điểm như:
® Khó huấn luyện, cần cung cấp liên tục các loại dữ liệu khác nhau để
kiểm tra xem mô hình có hoạt động chính xác hay không.
* Phân phối xác suất không rõ ràng, va Vanilla GAN chỉ tốt trong việc
tạo mẫu mới.
e Việc tạo kết quả từ văn bản hoặc giọng nói rất phức tap
11
Trang 24Chương 2 COSO LY THUYET
2.3.2 Bộ sinh
Bộ sinh sẽ tạo ra dữ liệu là dữ liệu giả dựa trên dữ liệu gốc (dữ liệu thật)
Bộ sinh sử dụng một mạng nơ-ron có các lớp an, chức năng kích hoạt, hàm
mat mát Mục đích của nó là tạo ra hình ảnh giả bằng cách kết hợp với
phản hồi từ Bộ phân biệt và cố gắng tiếp tục đánh lừa Bộ phân biệt, khiến
cho Bộ phân biệt không thể phân biệt được đâu là dữ liệu thật và đâu là dữ
liệu giả do Bộ sinh tạo ra Và khi Bộ phân biệt bị lừa bởi Bộ sinh, quá trình
huấn luyện sẽ dừng lại và chúng ta có thể nói rằng một mô hình GAN tổng
quát được tạo ra Về cơ bản, Bộ sinh sử dụng phương pháp học tập không
có giám sát Tuy nhiên, kiến trúc GAN có một đặc tính thông minh là việchuấn luyện mô hình sinh được đóng khung như một phương pháp học tập
có giám sát.
Ở dạng cơ bản nhất, Bộ sinh lấy vectơ nhiễu ngẫu nhiên có độ dài cố
định làm đầu vào của nó Vectơ được lay ngẫu nhiên sau đó Bộ sinh sẽ
biến nó thành một đầu ra có ý nghĩa Bằng cách sử dụng nhiễu làm đầu
vào, chúng ta có thể giúp GAN tạo ra một lượng lớn các loại dữ liệu Saukhi huấn luyện, các điểm trong không gian vectơ nhiều chiều này sẽ tương
ứng với các điểm trong miễn của bài toán, tạo thành một biểu diễn nén củaphân phối dữ liệu Không gian vecto này được gọi là không gian tiém ẩn,
hoặc không gian vecto bao gồm các biến tiém ẩn Biến tiém ẩn, hoặc biến
ẩn, là những biến quan trọng đối với một miền nhưng không thể quan sát
trực tiếp Để thuận tiện, không gian được dùng để lấy nhiễu thường cókích thước nhỏ hơn kích thước của không gian đầu ra
Để huấn luyện một mạng nơ-ron, chúng ta diéu chỉnh trọng số của
mạng để giảm lỗi hoặc mat mát trong kết quả đầu ra của nó Bộ sinh cungcấp dữ liệu cho Bộ phân biệt và Bộ phân biệt tạo ra đầu ra mà chúng ta
12
Trang 25Chương 2 COSO LY THUYET
đang cố gắng tác động Giá trị mat mát của Bộ sinh sẽ cho biết rang nó đã
tạo ra một mẫu mà Bộ phân biệt có thể phân loại đó là giả
Bên cạnh đó, mô hình GAN bao gồm quá trình lan truyền ngược Lan
truyền ngược điều chỉnh từng trọng số theo đúng hướng bằng cách tính
toán tác động của trọng số lên đầu ra để xem kết quả sẽ thay đổi như thếnào nếu ta thay đổi trọng số Nhưng tác động của trọng số của Bộ sinh phụthuộc vào tác động của trọng số của Bộ phân biệt đi cùng Vì vậy, sự lan
truyền ngược bắt đầu ở đầu ra, sau đó đi ngược trở lại qua Bộ phân biệt để
vào Bộ sinh Đồng thời, Bộ phân biệt sẽ không thay đổi trọng số trong quá
trình huấn luyện Bộ sinh Bộ sinh được huấn luyện theo quy trình sau:
© Lay mẫu vectơ nhiễu ngẫu nhiên
® Tạo dau ra của Bộ sinh từ vectơ nhiễu ngẫu nhiên đã được lay mẫu
* Dùng Bộ phân biệt để lay nhãn phân loại là "Thật" hoặc "Giả" cho đầu
ra của Bộ sinh.
¢ Tính toán mat mát từ nhãn phân loại của Bộ phân biệt
® Lan truyền ngược thông qua cả Bộ phân biệt và Bộ sinh để có được
kỳ kiến trúc mô hình mạng nào phù hợp với loại đữ liệu mà nó dang phân
loại Dữ liệu dao tạo của Bộ phân biệt đến từ hai nguồn:
13
Trang 26Chương 2 COSO LY THUYET
e Các dữ liệu that, chẳng han như hình ảnh thật của con người.
¢ Dữ liệu giả được tạo bởi Bộ sinh.
Bộ phân biệt kết nối với hai hàm mat mát Trong quá trình huấn luyện Bộ
phân biệt, Bộ sinh sẽ không được đào tạo Bộ phân biệt chỉ sử dụng và điềuchỉnh ham mat mát của chính nó và không điều chỉnh các mat mát của Bộ
sinh Vì vậy các trọng số của Bộ sinh không đổi trong khi nó tạo ra các mẫu
mới để huấn luyện Bộ phân biệt Bộ phân biệt được huấn luyện theo quy
trình sau:
¢ Bộ phân biệt phân loại dt liệu thật va dữ liệu giả từ Bộ sinh Nó phải
học cách nhận ra các sai sót của Bộ sinh Đó là một vấn đề khác đối
với Bộ sinh đã được huấn luyện trước so với Bộ sinh chưa được huấn
luyện và sẽ tạo ra đầu ra ngẫu nhiên.
s® Sự mất mát của Bộ phân biệt sẽ phạt nó vì đã phân loại sai một trường
hợp thật là giả hoặc một trường hợp giả là thật.
© Bộ phân biệt tự cập nhật trọng số thông qua việc sử dụng mạng
no-ron của chính nó để truyền ngược giá trị mất mát
Bởi vì GAN dựa trên trò chơi có tổng bằng không và nó chứa hai mạng được đào tạo riêng biệt, điều này dẫn đến một van dé thường dé mắc phải
trong quá trình huấn luyện GAN đó là mô hình không thể hội tụ, hay nóicách khác là không thể tìm được điểm cân bằng giữa Bộ sinh và Bộ phân
biệt.
Trong trường hợp Bộ sinh quá kém, nó sẽ tạo ra các dữ liệu rác mà Bộphân biệt luôn có thể dé dang phân biệt được Điều này dẫn đến mat mátcủa Bộ phân biệt luôn xấp xỉ hoặc bang 0 Trong khi đó mat mát của Bộ
14
Trang 27Chương 2 COSO LY THUYET
sinh tăng lên Loại lỗi này có thể xảy ra ngay khi bat đầu huấn luyện vàtiếp tục dién ra trong suốt quá trình
Trong trường hợp khác, khi Bộ sinh trở nên quá tốt sau quá trình đào
tạo, hiệu suất của Bộ phân biệt sẽ giảm đi vì Bộ phân biệt không thể phânbiệt giữa thật và giả Điều này gây ra khó khăn cho việc hội tụ của toàn
bộ mô hình GAN vì phản hồi của Bộ phân biệt trở nên ít quan trọng hơn
theo thời gian Nếu GAN tiếp tục đào tạo sau khi Bộ phân biệt đã cung cấpphản hồi hoàn toàn ngẫu nhiên, Bộ sinh sẽ bắt đầu được huấn luyện với
các phản hồi rác và chất lượng của chính nó có thể bị giảm
Vì vậy, Bộ phân biệt luôn cần phải được huấn luyện với các thuật toán
tương xứng với hiệu suất của Bộ sinh để có thể đưa ra kết quả tốt nhất.Chúng cần được đào tạo song song và phải có khả năng ngang nhau tại
cùng một thời điểm để tìm được điểm hội tụ, bởi vì sự hội tụ thường là một
trạng thái nhất thời chứ không phải là trạng thái ổn định đối với GAN
2.3.4 Hàm mắt mát
Hàm mất mát là hàm tính toán khoảng cách giữa đầu ra hiện tại của thuật
toán và đầu ra mong đợi, đối với GAN thì đó là việc phan ánh khoảng cách
giữa phân phối dữ liệu do GAN tạo ra và phân phối dữ liệu thực Nó làmột thước đo cho thay mô hình hoạt động tốt như thế nào và có thể đánh
giá được cách thuật toán tạo lập mô hình từ dữ liệu Sử dụng đúng hàm
mat mát sẽ giúp ta chuyển một bài toán học tập thành bài toán tối ưu hóa,khi đó việc tối ưu hóa nó và sẽ làm giảm thiểu hàm mắt mát và dẫn đến
một kết quả tốt hơn cho các tham số của bài toán học tập
Một hàm mắt mát ánh xạ một kịch bản gồm một hoặc nhiều giá trị thành
một số thực nhằm thể hiện tổn thất hoặc lỗi của kịch bản đó Nếu giá trị
của tập hợp các nhãn dự đoán đầu ra của kịch bản đó không đúng với giá
15
Trang 28Chương 2 COSO LY THUYET
trị của tập hợp các nhãn chính xác, thi hàm mat mát sé xuất ra một giá trị
cao hơn và ngược lại.
Trong học sâu, giá trị mat mát được sử dung để tính toán ra độ dốc
tương ứng với trọng số của mô hình, sau đó cập nhật các trọng số đó chophù hợp thông qua việc lan truyền ngược Việc cập nhật mô hình này diễn
ra lặp lại cho đến khi mô hình không có thêm bất kỳ cải thiện nào về cácchỉ số đánh giá Vì vậy, khi sử dụng các chỉ số để đánh giá mô hình nhưaccuracy hoặc f1-score trên bộ dữ liệu dùng để xác thực, thì sự mat mát cóthể được điều chỉnh và sửa đổi để có được các chỉ số đánh giá tốt nhất
Việc lựa chọn hàm mắt mát cũng giống như việc lựa chọn kiến trúc môhình hoặc trình tối ưu hóa, cần phải suy nghĩ kỹ khi đưa ra lựa chọn để
có thé tìm được một hàm mat mát phù hợp với mô hình đã được đưa ra
Trong học máy và học sâu, có hai nhóm hàm mất mát được sử dụng rộng
rãi cho các vẫn đẻ học tập phổ biến là bài toán hồi quy (cho các giá trị liêntục) và bài toán phân loại (cho các giá trị rời rạc) Một số hàm mat mát
thường dùng cho các bài toán hồi quy như:
e Mean square error loss
® Mean absolute error loss
¢ Huber loss
Đối với các bài toán phân loại, một số hàm mắt mát thường được sử dungbao gồm:
se Hinge loss
® Binary Cross Entropy Loss
® Sparse Categorical Cross Entropy Loss
16
Trang 29Chương 2 COSO LY THUYET
¢ Kullback Leibler Divergence Loss (KL Loss)
Ngoài ra, để giúp việc đào tạo di đúng hướng, ta có thể chủ động tùychỉnh một hàm mất mát Ví dụ: thay vì sử dụng hàm mat mát một cách
đơn giản, ta có thể tối ưu một hàm mat mát cho chức năng cảnh báo rủi ro,sao cho nếu cảnh báo xảy ra quá sớm hoặc quá muộn thì giá trị mất mát
sẽ cao và ngược lại, giá trị mất mát thấp nếu cảnh báo xảy ra trong một
khoảng thời gian xác định.
Hàm mất mát tiêu chuẩn của GAN (hay còn gọi là min-max loss) có
công thức như sau:
min max V(D,G) C0
V(D,G) = Exapgata(x) logD (x)] + Ezxp,(z [log( 1 — D(G(2))]
Trong do:
® D(x) là dự đoán dau ra của Bộ phân biệt về xác suất mà dữ liệu that x
sẽ nhận được nhãn là thật.
® Ex là giá trị kỳ vọng trên toàn bộ giá trị của tập dữ liệu thật.
© G(z) là giá trị mà Bộ sinh sẽ xuất ra khi nhận đầu vào là nhiễu z
* D(G(z)) là dự đoán đầu ra của Bộ phân biệt về xác suất mà dữ liệu giả
được tạo ra bởi Bộ sinh sẽ nhận được nhãn là thật.
® Ez là kỳ vọng trên toàn bộ giá trị cua tập dữ liệu giả G(z), hay nói
cách khác là kỳ vọng trên toàn bộ các giá trị nhiễu ngẫu nhiên được
đưa vào Bộ sinh.
Một mô hình GAN có thé sử dụng hai hàm mat mát riêng biệt, một
hàm sử dụng cho Bộ sinh và một hàm sử dụng cho Bộ phân biệt, thay vì sử
17
Trang 30Chương 2 COSO LY THUYET
dụng chung một ham Tuy nhiên, hai hàm nay chính là được lay ra từ công
thức chung bên trên Đối với Bộ phân biệt, ham mắt mát của nó sẽ giốngnhư công thức chung Khi Bộ phân biệt phân loại sai, nó sẽ tự phạt bằngcách tối ưu hóa hàm bên dưới:
max V(D) = Ez~p„„„(x) [logD()] + Ez~„ (z)[log( 1 — D(G(2))]
Hay nói cách khác, Bộ phân biệt sẽ cố gắng tối ưu D(x) để tăng khả năng
phân loại dữ liệu thật là thật, giảm thiểu D(G(z)) (hay tối ưu 1 - D(G(z))) đểgiảm khả năng phân loại dữ liệu giả là thật Đối với Bộ sinh, nó sẽ tự phạt
nêu như đữ liệu nó tạo ra không thể đánh lừa được Bộ phân biệt Bởi vì Bộ
sinh không thé tác động trực tiếp đến giá trị log(D(x)) trong hàm, vì vậy,đối với Bộ sinh, nó cần giảm thiểu mat mát là Bộ phân biệt có thể nhận biếtđược dữ liệu mà nó tạo ra là dữ liệu giả, tương đương với giảm thiểu log(1
- D(G(z))) (hay tôi ưu D(G(z)) Ham mat mát của Bộ sinh có công thức:
2.3.5 Trinh phát hiện hộp đen
Một trong các van dé bảo mật được nhắc đến của lĩnh vực học máy trongviệc triển khai và vận hành các mô hình đó là lỗi mô hình không an toàn
[13] Nguyên nhân thường là do tính bảo mật của mô hình học máy không
được xem xét một cách kỹ lưỡng, điều này tạo nên các bề mặt tan côngrộng rãi ở tất cả các giai đoạn của quy trình làm việc với học máy Bên cạnh
đó, môi trường hoạt động của các hệ thống học máy khiến cho các thuậttoán dé bi tan công bởi nhiều kiểu tân công khác nhau như: adversarialpreprocessing, poisoning, evasion, Điều nay dẫn đến việc mô hình tao
18
Trang 31Chương 2 COSO LY THUYET
ra các kết quả không đáng tin cậy và không có ý nghĩa Như được nhắc đến
trong (ol, khi hoc máy ngày càng phát triển thì ngày càng có nhiều phương
pháp sử dụng học máy để phân tích các ứng dụng độc hại, điều này đã
cung cấp cho các kẻ tấn công cả cơ hội và động lực để phát triển các chiếnlược nhằm đánh lừa các hệ thống học máy và đạt được các mục tiêu của
chúng Ví dụ như với các ứng dụng độc hại gây sai lệch cho việc trích xuấttính năng của mô hình sẽ giúp kẻ tan công phá hoại mô hình hoặc sơ dé
hóa được cau trúc của mô hình được sử dụng, từ đó tạo ra nhiều cuộc tấn
công khác có thể gây tê liệt hoàn toàn đến hệ thống.
Cho đến nay, nhiều chiến lược tan công hộp trắng đã được sử dung đểtạo ra các mẫu độc hại khiến các hệ thống học máy bị thay đổi dần đần màcon người không thể nhận ra được, cuối cùng khả năng dự đoán của môhình bị thay đổi hoàn toàn Tan công hộp trắng là khi kẻ tan công có thể
truy cập trực tiếp vào mô hình mục tiêu và nắm rõ cấu trúc của nó Tuy
nhiên trong thực tế không thể xác định được thông tin của mục tiêu, nghĩa
là họ không biết về bộ dữ liệu huấn luyện của mục tiêu, không nắm được
đầy đủ chỉ tiết của hệ thống học máy, chẳng hạn như các tham số của nó,
cũng như không thể sửa đổi cấu trúc bên trong Tuy nhiên có thể có quyềntruy cập vào các dự đoán của mô hình cho các mẫu đầu vào, bao gồm cảxác suất của các lớp phân loại Với quyển truy cập vào các dự đoán của môhình, có thể tìm thay sự mat mát của mô hình đối với một dau vào nhấtđịnh, nhưng nếu không có quyền truy cập vào toàn bộ mô hình, thì khôngthể truy cập các độ đốc cần thiết để thực hiện các cuộc tan công hộp trắng
vì vậy kẻ tân công chỉ có thể thực hiện các cuộc tấn công hộp đen
Chiến lược của tấn công hộp đen chính là đào tạo một mô hình cục bộ
để thay thế cho mô hình mục tiêu Đầu vào cho mô hình này là tập dữ liệu
tổng hợp bao gồm các biến thể được tạo ra bởi Bộ sinh cục bộ; nhãn tương
19
Trang 32Chương 2 COSO LY THUYET
ung cho tập du liệu này sẽ la nhãn nhận được từ mô hình mục tiêu khi dua
dữ liệu biến thể vào cho mô hình mục tiêu phân loại Chiến lược tấn công
hộp đen này có khả năng né tránh các chiên lược phòng thủ trước đây, làm
cho các mẫu biến thể mới được tạo ra ngày càng tốt hơn Vì vậy trong quátrình huấn luyện lặp lại, bộ phân loại của mục tiêu và cả bộ phân loại cục
bộ bắt đầu đưa ra những dự đoán sai đối với đầu vào là các biến thể mới
vì cả hai mô hình đều có ranh giới quyết định tương tự nhau Sau khi hoàn
thành huấn luyện, các cuộc tấn công này có thể đạt được tỷ lệ tấn côngthành công và mức độ làm sai lệch gần với các cuộc tân công hộp trắng
2.4 Các thuật toán phân loại dựa trên máy học
Chúng tôi sử dụng các mô hình thuật toán học máy và học sâu sau cho hệ
thống:
2.4.1 Support Vector Machines (SVM)
Support Vector Machines là một thuật toán có giám sát được sử dụng cho
các bài toán phân loại và bài toán hồi quy, chủ yêu thường dùng cho các bài
toán phân loại Thuật toán Support Vector Machines tìm một siêu phẳng để
tách các điểm dữ liệu Siêu phẳng này sẽ chia không gian thành các vùng
khác nhau và mỗi miễn sẽ chứa một loại dữ liệu (hay nói cách khác, mỗi
vùng đại diện cho dữ liệu thuộc về một lớp) Để chọn được siêu phẳng tôi
ưu nhất, nó phải tạo ra biên lớn nhất, có nghĩa là các điểm dữ liệu thuộc
về một lớp phải có khoảng cách an toàn đối với siêu phẳng Để chọn được
biên lớn nhất thì ta cần chọn sao cho khoảng cách từ điểm dữ liệu gần siêu
phẳng nhất đến siêu phẳng đó có giá trị lớn nhất Việc ứng dụng thuật
toán Support Vector Machines để giải các bài toán thực tế thường cho kết
20
Trang 33Chương 2 COSO LY THUYET
quả cao so với các thuật toán hoc máy khác, đặc biệt là các bài toán phan
loại liên quan đến xử lý văn bản
Ưu điểm của Support Vector Machines là:
© Hoạt động hiệu quả với các không gian có số chiều lớn
e Tiêu tốn ít bộ nhớ vì hàm quyết định của nó chỉ sử dụng các điểm
trong tập hỗ trợ để đưa ra dự đoán
e Có thể tạo ra nhiều hàm quyết định từ các hàm hạt nhân khác nhau
Hạn chế của Support Vector Machines là:
® Doi hỏi tài nguyên tính toán cao khi lượng dữ liệu tăng lên.
® Kết quả không chính xác néu có nhiều dữ liệu nhiễu
e Trong trường hợp sử dụng dữ liệu phi tuyến tính thì không có phương
pháp giúp tự động xác định nhân của Support Vector Machines.
2.4.2 Decision Trees (DT)
Decision Trees là một loại mô hình học tập có giám sát có thể được sử dụng
để giải quyết các van dé về phân loại và hồi quy Trong việc phân tích cácquyết định, Decision Trees có thể được sử dụng để thể hiện một cách trựcquan và rõ ràng các quyết định và việc đưa ra quyết định Mỗi nút bên
trong một cây đại diện cho một biến và đường nối giữa nó với các nút con
của nó đại diện cho một giá trị cụ thể cho biến đó Sau khi một nút lá nhận
được các giá trị của các biến mà được chỉ ra bởi đường dẫn từ nút gốc đếnnút lá đó, nó sẽ đưa ra được giá trị dự đoán của quyết định mục tiêu Khi
phát triển cây cần quan tâm đến việc chọn các tinh năng, điều kiện sử dụng
và chọn điểm dừng cho cây.
Ưu điểm của Decision Trees là:
21
Trang 34Chương 2 COSO LY THUYET
© Việc huấn luyện yêu cầu it dir liệu hơn
¢ Có khả năng xử lý dữ liệu số (rời rac và liên tục) và dtr liệu kiểu danh
mục.
¢ Sử dụng mô hình hộp trắng trong suốt, việc xây dung mô hình dé
dàng và nhanh chóng, phân loại nhanh.
Hạn chế của Decision Trees là:
© Việc xây dựng cây một cách tối ưu không được đảm bảo
® Dễ xảy ra quá khớp dữ liệu (các cây được tạo ra quá khớp với dữ liệu
huấn luyện hoặc quá phức tạp)
® Nó thường ưu tiên các giá trị dữ liệu có nhiều thuộc tính (có thể được
khắc phục bằng cách sử dụng Gain Ratio).
2.4.3 Random Forests (RF)
Random Forests là một thuật toán hoc máy có giám sát Nó có thé được
sử dụng cho các bài toán phân loại cũng như hồi quy Nó cũng là thuậttoán dé thích nghỉ và thân thiện với người dùng nhất Random Forests baogồm nhiều Decision Trees, nhưng mỗi Decision Trees là duy nhất bởi vìcác cây này được xây dung dựa trên yếu tố ngẫu nhiên Các yếu tổ ngẫu
nhiên được lựa chọn này là: lay ngẫu nhiên dữ liệu và lay ngẫu nhiên các
thuộc tính Bởi vì các Decision Trees được xây dựng không sử dụng toàn
bộ tập dữ liệu huấn luyện cũng như không sử dụng toàn bộ các thuộc tínhcủa dữ liệu huấn luyện, việc này khiến cho chúng hoạt động không đủ tốt.Tuy nhiên kết quả dự đoán từ các Decision Trees này sau đó sẽ được tổng
hợp lại, vì vậy thông thường Random Forests có khả năng hoạt động tốt
22
Trang 35Chương 2 COSO LY THUYET
vượt trội Số lượng cây càng lớn, rừng càng mạnh Random Forests thườngkhông gặp van dé trong việc xảy ra quá khớp dữ liệu Ly do chính là nó
tính giá trị trung bình từ tất cả các dự đoán sau đó loại bỏ sự sai lệch
Các giá trị bị thiếu cũng có thể được xử lý bằng cách sử dụng các Random
Forests Có hai cách tiếp cận để xử lý những giá trị thiếu này: sử dụng giátrị trung bình để thay thế các biến liên tục hoặc tìm giá trị trung bình ước
tính có trọng số lân cận các giá trị còn thiếu Bởi vì Random Forests bao
gồm nhiều Decision Trees khiến cho mô hình khó nắm bắt và việc dự đoán
diễn ra chậm Mỗi khi nó đưa ra dự đoán, tất cả các cây trong rừng cây đều
phải đưa ra dự đoán cho cùng một đầu vào được cung cấp và sau đó việc
bỏ phiếu dựa trên tập hợp đầu ra của các cây sẽ diễn ra
2.4.4 Logistic Regression (LR)
Logistic Regression là một thuật toán học máy có giám sát Mặc dù tên gọi
chứa từ "Regression" nhưng đây là thuật toán thuộc bài toán phân loại,
mục đích là để ước tính xác suất của các sự kiện Logistic Regression sửdụng các hàm logit giúp suy ra mối quan hệ giữa biến phụ thuộc và các
biến độc lập, tìm hiểu mối tương quan giữa các đặc điểm trong đầu vào
và cả đầu ra dựa trên hàm logistic/sigmoid, từ đó dự đoán xác suất củacác kết quả đầu ra Mô hình Logistic Regression dự đoán giá trị biến rời
rac mục tiêu y từ vectơ đầu vào x Điều này tương tự như việc phân nhóm
các đầu vào X thành các nhóm y thích hợp Các nhóm này đại diện cho
một sự kiện có xảy ra hay không Logistic Regression sử dụng một ranh
giới quyết định có dạng tuyến tính để phân chia các điểm dtr liệu vào các
lớp Ranh giới quyết định không chỉ giới hạn trong các điểm dữ liệu đã
được cung cấp, mà còn kéo dài ra toàn bộ không gian tính năng đã đàotạo Nếu dữ liệu huấn luyện không đa dạng, việc khái quát câu trúc liên
23
Trang 36Chương 2 COSO LY THUYET
kết tổng thể của mô hình cho các trường hợp mới sẽ kém Vì vậy kiểm tra
ranh giới quyết định là một cách để tìm hiểu dữ liệu huấn luyện được chọn
ảnh hưởng như thé nào đến hiệu suất và khả năng tổng quát hóa mô hình
Ưu điểm của Logistic Regression là:
® Dễ thiết lập và thực hiện, hoạt động hiệu quả trong các trường hợp
khi tập dữ liệu có thể được phân tách một cách tuyến tính
e Phân loại nhanh kể cả cho các dữ liệu chưa được biết đến Độ chính
xác cao với các tập dữ liệu đơn giản.
e Ít xảy ra van đề quá khớp dit liệu nếu số lượng bộ đữ liệu lớn hon số
lượng tính năng.
Hạn chế của Logistic Regression là:
° Không thể dự đoán trước kết quả của các giá trị liên tục
© Có thể sai sót nều kích thước mẫu quá nhỏ
© Yêu cầu các điểm dữ liệu được tạo ra một cách độc lập với nhau Tuy
nhiên trên thực tế, các điểm dữ liệu có thể bị ảnh hưởng bởi nhau
° Khó tìm ra được các mối quan hệ quá phức tap
2.4.5 eXtreme Gradient Boosting (XgBoost)
Tương tự như Random Forests, XgBoost cũng là một thuật toán tổng hợp
Tuy nhiên Random Forests thuộc nhóm đóng bao, còn XgBoost thuộc nhómtăng cường Đây là phiên bản cải thiện của thuật toán tăng cường độ dốc
về hiệu quả, tốc độ tính toán và hiệu suất mô hình Thuật toán tăng cường
độ dốc nỗ lực giảm thiểu lỗi bằng cách các mô hình mới được tạo ra để dự
đoán phần dư hoặc lỗi của các mô hình trước đó và sau đó được cộng lại
24
Trang 37Chương 2 COSO LY THUYET
với nhau để dua ra dự đoán cuối cùng Thuật toán Gradient Boosting sion Trees sử dụng thuật toán tăng cường độ đốc, đào tạo lặp đi lặp lại một
Deci-tập hợp các Decision Trees, với mỗi lần lặp lại sử dụng phần dư lỗi của môhình trước đó để huấn luyện cho mô hình tiếp theo Dự đoán cuối cùng là
tổng trong số của tat cả các dự đoán của các Decision Trees XgBoost được
phát triển trên Gradient Boosting Decision Trees, nhưng các Decision Trees
trong đó được xây dựng song song thay vì tuần tự XgBoost là thuật toán
có sự kết hợp hoàn hảo bởi rất nhiều tính năng giữa phần mềm và phầncứng Nó có thể xử lý các biến thuộc nhiều dang dữ liệu từ hồi quy, phânloại đến xếp hạng cũng như các yêu tô do người dùng xác định XgBoost
có tốc độ đào tạo nhanh, có thể mở rộng quy mô để tính toán song songtrên nhiều máy chủ và có thể được tăng tốc GPU, vì vậy nó hoạt động tốt cả
trên các tập dữ liệu nhỏ, dữ liệu có nhóm con, dữ liệu lớn và dữ liệu phức
tạp Đối với các loại dir liệu đầy thách thức như vậy, nó hoạt động tốt hơnhầu hết các hệ thống học tập có giám sát khác Tuy nhiên, nó không hoạt
động tốt với dữ liệu thưa thớt và dữ liệu được phân phối rộng rãi cũng có
thể gây ra sự có
2.4.6 Mạng thần kinh (Neural Nerwork)
Mạng thần kinh là một phương pháp giúp giải quyết rất nhiều bài toán
phức tạp về các van dé như phân loại, hồi quy, phân tích cảm xúc Nó
được sử dụng trong lĩnh vực học sâu của học máy bởi vì kiến trúc sâu và
có nhiều lớp Có rất nhiều mạng thần kinh khác nhau do sự khác biệt giữachúng về độ phức tạp, kiến trúc mạng, mật độ và luồng dữ liệu Mỗi loại
có những điểm mạnh và các trường hợp sử dụng riêng, nhưng chúng đều
có chung một mục tiêu là mô hình hóa và có gắng tái tạo hành vi của tế
bào thần kinh để cải thiện việc học máy Mạng thần kinh nhân tạo là mô
25
Trang 38Chương 2 COSO LY THUYET
hình đơn giản về cách thức hoạt động của hệ thần kinh Các đơn vi cơ bản
là tế bào thần kinh , thường được tổ chức thành các lớp và kết nối với các
tế bào thần kinh khác Các lớp khác nhau này trong mô hình mạng thần
kinh nhân tạo có thể tìm hiểu các tính năng khác nhau của dữ liệu Các lớp
ẩn cho phép hiểu các khái niệm hoặc các mẫu phức tạp từ dữ liệu đã xử lý.Thông thường, có ba phan trong mang than kinh: một lớp dau vào với các
đơn vị đại diện cho các trường đầu vào; một hoặc nhiều lớp ẩn; và một lớpđầu ra, với một đơn vị hoặc các đơn vị đại diện cho (các) trường mục tiêu
Mang học bang cách kiểm tra các bản ghi riêng lẻ, tạo dự đoán cho từng
bản ghi và thực hiện điều chỉnh trọng số bất cứ khi nào nó đưa ra dự đoánkhông chính xác Quá trình này được lặp lại nhiều lần và mạng tiếp tục
cải thiện các dự đoán của nó cho đến khi một hoặc nhiều tiêu chí dừng
được đáp ứng Ban đầu, tất cả các trọng số là ngẫu nhiên và mô hình chỉhọc thông qua việc huấn luyện Các đầu ra sau đó được so sánh với các kết
quả đã biết Thông tin từ sự so sánh này được chuyển trở lại thông qua môhình mạng thần kinh, dần dần thay đổi các trọng số Khi quá trình huấn
luyện ngày càng tiễn triển, mạng ngày càng trở nên chính xác trong việc tái
tạo các kết quả đã biết Sau khi được đào tạo, mạng có thể được áp dụngcho các trường hợp trong tương lai khi mà kết quả không xác định được
Giống như các mô hình học máy khác, mạng thần kinh nhân tạo sử dụng
một hàm mat mát để tối ưu hóa Trọng số của mỗi nút và lớp được điềuchỉnh bởi mô hình để đạt được mức tổn thất tối thiểu Các mô hình mạng
thần kinh nhân tạo có thể hiểu nhiều cấp độ của các tính năng dữ liệu và
bat kỳ mối quan hệ phân cấp nào giữa chúng
Ưu điểm của Neural Nerwork là:
* Có thể làm việc với tập dữ liệu chưa gặp bao giờ.
26
Trang 39Chương 2 COSO LY THUYET
* Có thể lưu trữ thông tin của toàn bộ mô hình
e Có thể xử lý nhiều luồng song song
Hạn chế của Neural Nerwork là:
e Yêu cầu phần cứng tốt cho việc huấn luyện
¢ Khó xác định chính xác cau trúc mạng cần thiết
© Khó xác định các van dé đang xảy ra với mô hình
2.4.7 Convolutional Neural Network (CNN)
Convolutional Neural Network là một loại của mang than kinh, thuong
được sử dung cho các nhiệm vu phân loại và thị giác máy tính Nó cung
cấp một cách tiếp cận tốt hơn và có thể mở rộng bằng cách tận dụng các nguyên tac từ đại số tuyến tính, cụ thể là phép nhân ma trận để xác định
các mẫu Đồng thời, nó cũng có hiệu suất vượt trội hơn so với các mạng
thần kinh khác khi đầu vào là tín hiệu hình ảnh, giọng nói hoặc âm thanh
Convolutional mạng thần kinh sử dụng ba lớp chính:
® Lớp convolutional: là khối xây dựng cốt lõi và là nơi dién ra phần lớn
quá trình học tập và tính toán Nó sử dụng một bộ lọc, hay còn gọi là
bộ phát hiện tính năng dùng để quét qua từng vùng của giá trị đầu
vào mà nó tiếp nhận và xem tính năng có hiện diện hay không Các
siêu tham số của bộ lọc cần được xem xét kỹ khi sử dụng vì nó ảnhhưởng đến kích thước khối lượng đầu ra Đồng thời bộ lọc cũng có
khả năng chia sẻ các trọng số, điều này giúp nó không bị thay đổi khi
di chuyển qua từng vùng tiếp nhận của đầu vào
® Lớp pooling: còn được gọi là lớp giảm mẫu, dùng để giảm kích thước
chiều không gian, giảm số lượng tham số đầu vào Điều này giúp
27
Trang 40Chương 2 COSO LY THUYET
giảm thiểu su phức tap, nâng cao hiệu quả và hạn ché rủi ro Nó cũng
sử dụng một bộ lọc có chức năng tương tự lớp convolutional Tuy
nhiên bộ lọc này không có bất kì trọng số nào mà sử dụng một hàmtổng hợp trên từng vùng tiếp nhận của đầu vào, sau đó điển kết quả
vào một mảng đầu ra Có hai loại lớp pooling:
— Max pooling: lay giá trị cao nhất của vùng tiếp nhận
— Average pooling: lẫy trung bình giá trị của vùng tiếp nhận
¢ Lớp fully-connected: thực hiện nhiệm vụ làm phẳng đầu ra của lớp
trước đó thành vector và phân loại dựa trên các đặc trưng được trích
xuất qua các lớp trước đó và các bộ lọc khác nhau của chúng Mỗi núttrong lớp fully-connected được kết nối trực tiếp với một nút trong lớptrước đó và sử dụng các hàm sigmoid hoặc softmax để phân loại đầu
ra.
Convolutional là lớp đầu tiên của Convolutional Neural Network Các lớp
sau đó có thể là lớp convolutional bổ sung, lớp pooling hoặc lớp
fully-connected Các lớp đầu tiên chỉ xác định các tính năng đơn giản Qua mỗilớp, Convolutional Neural Network sẽ tăng dần độ phức tạp của nó để xác
định các tính năng lớn hơn Việc sử dụng Convolutional Neural Network
sẽ có các lợi thế sau:
® Không can con người giám sát trong việc xác định các tính năng quan
trọng.
* Giảm thiểu số lượng tính toán so với các mang thần kinh thông thường
© Có thể chia sẻ các trọng số trên các vùng tiếp nhận của một lớp
Tuy nhiên, Convolutional Neural Network cũng gặp các bắt lợi như:
28