1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp An toàn thông tin: Tìm hiểu phương pháp phát sinh mã độc Android bằng mạng sinh đối kháng

90 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tìm hiểu phương pháp phát sinh mã độc Android bằng mạng sinh đối kháng
Tác giả Đoàn Minh Trung, Nguyễn Hoàng Kim Ngân
Người hướng dẫn TS. Nguyễn Tấn Cầm
Trường học Trường Đại học Công nghệ Thông tin
Chuyên ngành An toàn thông tin
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2022
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 90
Dung lượng 44,05 MB

Nội dung

Đá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 3

THONG 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 4

LỜ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 5

Mụ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 6

2.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 7

Tai 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 8

vili

Trang 9

5.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 10

5.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 11

Convolutional Neural Networks Differential Privacy

True Positive Rate

Original Detection Rate Adversarial Detection Rate

xi

Trang 12

Danh 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 13

TÓ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 14

CHƯƠ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 15

Chươ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 16

Chươ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 17

Chươ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 18

CHUONG 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 19

Chươ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 20

Chươ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 21

Chươ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 22

Chươ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 23

Chươ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 24

Chươ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 25

Chươ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 26

Chươ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 27

Chươ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 28

Chươ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 29

Chươ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 30

Chươ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 31

Chươ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 32

Chươ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 33

Chươ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 34

Chươ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 35

Chươ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 36

Chươ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 37

Chươ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 38

Chươ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 39

Chươ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 40

Chươ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

Ngày đăng: 08/11/2024, 16:59

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN