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

Luận văn thạc sĩ Khoa học máy tính: Nhận diện các video có yếu tố chính trị Việt Nam trên mạng xã hội tiktok

89 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

Nội dung

Trang 1

ĐẠI HỌC QUỐC GIA TP HCM

TRƯỜNG ĐẠI HỌC BÁCH KHOA -

Trang 2

CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI:

TRƯỜNG ĐẠI HỌC BÁCH KHOA –ĐHQG -HCM

Cán bộ hướng dẫn khoa học 1: PGS.TS Đặng Trần Khánh Cán bộ hướng dẫn khoa học 2: PGS.TS Lê Hồng Trang Cán bộ chấm nhận xét 1: TS Đặng Trần Trí

Cán bộ chấm nhận xét 2: PGS.TS Nguyễn Tuấn Đăng

Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp Hồ Chí Minh ngày 21 tháng 7 năm 2022

Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: 1 PGS.TS Trần Minh Quang - Chủ tịch

2 TS Phan Trọng Nhân - Thư ký

3 TS Đặng Trần Trí - GV Phản biện 1 4 PGS.TS Nguyễn Tuấn Đăng - GV Phản biện 2 5 PGS.TS Lê Hồng Trang - Ủy viên

Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có)

CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA

KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH

Trang 3

ĐẠI HỌC QUỐC GIA TP.HCM

TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh phúc

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Ngày, tháng, năm sinh: 03/05/1992 Nơi sinh: Quảng Ngãi Chuyên ngành: Khoa học máy tính Mã số: 8.48.01.01

I TÊN ĐỀ TÀI: Nhận diện các video có yếu tố chính trị Việt Nam trên mạng xã hội Tiktok

/ Identifying Viet Nam politcal video contents on TikTok social Network

II NHIỆM VỤ VÀ NỘI DUNG: Thực hiện việc thu thập bộ dữ liệu gồm các video có

yếu tố chính trị và phi chính trị, tìm hiểu các công trình nghiên cứu về sử dụng mô hình học sâu và kết hợp đa mô hình để phân loại video Đề xuất, xây dựng và thử nghiệm mô hình học sâu phù hợp để giải quyết bài toán của đề tài

III NGÀY GIAO NHIỆM VỤ: 14/02/2022

IV NGÀY HOÀN THÀNH NHIỆM VỤ: 30/06/2022

V CÁN BỘ HƯỚNG DẪN: PGS.TS Đặng Trần Khánh – PGS.TS Lê Hồng Trang

Tp Hồ Chí Minh, ngày tháng năm 2022

CHỦ NHIỆM BỘ MÔN ĐÀO TẠO

(Họ tên và chữ ký)

TRƯỞNG KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH

(Họ tên và chữ ký)

Trang 4

LỜI CẢM ƠN

Đầu tiên, tôi xin được bày tỏ lòng biết ơn sâu sắc tới PGS.TS Đặng Trần Khánh và PGS.TS Lê Hồng Trang, người đã hướng dẫn tôi trong suốt quá trình thực hiện luận văn cũng như đề cương Nhờ có những chỉ dẫn và góp ý của thầy mà tôi mới có thể hoàn thành tốt được đề tài luận văn này Tôi xin được gửi lời cảm ơn đến quý thầy cô khoa Khoa học và Kỹ thuật máy tính đã truyền thụ những kiến thức, kinh nghiệm quý báu cho tôi trong hơn hai năm qua Xin gửi lời tri ân đến tất cả các thành viên trong nhóm DSTAR LAB của thầy Khánh vì những sự giúp đỡ và hỗ trợ trong suốt quá trình học tập và thực hiện luận văn Cuối cùng, tôi xin gửi lời cảm ơn chân thành đến gia đình và bạn bè, những người đã luôn động viên, ủng hộ tôi trong suốt thời gian học Cao học

Tp Hồ Chí Minh, ngày tháng năm 2022

Trang 5

TÓM TẮT LUẬN VĂN

Với việc ra đời bộ luật “An ninh mạng Việt Nam năm 2018”, một trong những chủ đề được các nhà quản lý quan tâm hiện nay là phân loại tự động video thành danh mục chính trị hoặc các chủ đề khác để có thể bước đầu xử lý và nắm bắt những gì đang xảy ra trên mạng internet nói chung và mạng xã hội Tiktok nói riêng Các video này chứa đựng nhiều đặc trưng như: hình ảnh, văn bản, âm thanh mỗi đặc trưng đều chứa thông tin có giá trị Để nâng cao khả năng phân loại, điều cần thiết là phải phân tích hiệu quả tất cả thông tin được trích xuất từ các đặc trưng khác nhau, trong khi hầu hết các mô hình học tập hiện tại đều bỏ qua một số đặc trưng và chỉ tập trung vào một phương thức duy nhất Trong đề tài này, trình bày một framework kết hợp đa mô hình học tập có giám sát dựa trên nhiều đặc trưng để phân loại hiệu quả video có yếu tố chính trị Trong đó, sử dụng kỹ thuật Word Embedding là FastText để phân tích văn bản, các mô hình CNN đã được huấn luyện trước gồm: Inception-V3, MTCNN, VGG-Face để trích xuất đặc trưng hình ảnh và gương mặt, sau đó, một kỹ thuật kết hợp chậm dựa trên mô hình Light GBM được sử dụng để tổng hợp thông tin và phân loại ở cấp độ video Framework có thể phân loại video khi một đặc trưng bị thiếu bằng cách sử dụng các đặc trưng còn lại Framework được áp dụng cho tập dữ liệu mới chứa 10.000 videos chính trị và phi chính trị được thu thập từ Tiktok Các kết quả thử nghiệm của framework cho kết quả tốt hơn so với một số mô hình dựa trên từng đặc trưng riêng lẻ, cũng như phương pháp kết hợp thông thường Cụ thể độ chính xác tốt nhất của framework đạt 0.93, trong khi phương pháp kết hợp sử dụng logistic regression đạt 0.92, và mô hình dựa trên từng đặc trưng văn bản, gương mặt, hình ảnh lần lượt là 0.88, 0.68, 0.88

Trang 6

ABSTRACT

With the introduction of “Law On Cybersecurity 2018”, the most concerned topic of the managers is political video classification system, gasping the activities on the internet as we as Tiktok These videos contain a lot of features like images, texts, and audio Each of these features is very informative To improve the classification, the effective usage of all features is required However, most of current systems only make use of only one feature In this thesis, I propose a framework that utilizing multiple model based on different features to effectively classify political video We have used Word Embedding for text analysis, CNN models that included Inception-V3, MTCNN, and VGG-Face for facial and image feature extraction, after that slow fusion based on Light GBM is used for information aggregation and classification Framework can analyze a video when some features are missing by using the remaining features Framework has been applied to a dataset with 10,000 political and non-political video collected from TikTok The results of framework are shown to be better than some models based on a single feature as well as traditional combination method The accuracy of framework is 0.93, while the accuracy of logistic regression is 0.92 and the models based on text, facial, and image feature is 0.88, 0.68, and 0.88 respectively

Trang 7

LỜI CAM ĐOAN

Tôi xin cam đoan luận văn “Nhận diện các video có yếu tố chính trị Việt Nam trên mạng xã hội Tiktok” là kết quả nghiên cứu của tôi dưới sự hướng dẫn, góp ý của PGS.TS Đặng Trần Khánh và PGS.TS Lê Hồng Trang Những thông tin tham khảo từ các công trình khác có liên quan đều đã được ghi rõ trong luận văn Nội dung nghiên cứu và các kết quả đều là do chính tôi thực hiện, không sao chép hay lấy từ một nguồn nào khác Tôi xin chịu toàn bộ trách nhiệm về lời cam đoan này

Tp Hồ Chí Minh, ngày tháng năm 2022

Học Viên

Nguyễn Bình Long

Trang 8

2.1.4 Các kỹ thuật xử lý với mạng nơ ron 13

2.2 Mạng nơ ron tích chập (Convolutional Neural Network - CNN) 15

2.2.1 Lớp tích chập – Convolution layer 15

2.2.2 Lớp gộp – Pooling layer 16

2.2.3 Lớp kết nối đầy dủ – Fully connected layer 16

2.3 Kiến trúc mô hình mạng chuyển đổi đa tác vụ (Multi-task Cascaded Convolutional Networks - MTCN) 17

2.4 Tổng quan kiến trúc mô hình xác minh khuôn mặt DeepFace 21

2.5 Tổng quan kiến trúc mô hình Inception-V3 22

2.6 Mô hình Word Embedding 27

2.6.1 Mô hình Word2Vec 29

2.6.2 CBOW model 30

Trang 9

2.6.3 Skip-gram model 30

2.6.4 Mô hình FastText 31

2.7 Các chiến lược kết hợp nhiều mô hình trong phân loại video 32

3 CÁC CÔNG TRÌNH LIÊN QUAN 34

3.1 Phân loại video trên quy mô lớn với mạng nơ ron tích chập (CNN) 34

3.2 Phân loại video trên quy mô lớn dựa trên đặc trưng văn bản 36

3.3 Phương pháp kết hợp nhiều mô hình học sâu để phân loại video 37

4 PHƯƠNG PHÁP THỰC HIỆN 40

4.1 Phương pháp thu thập và xử lý dữ liệu 40

4.1.1 Phương pháp thu thập dữ liệu 40

4.1.2 Phương pháp xử lý dữ liệu văn bản 41

4.1.3 Phương pháp xử lý dữ liệu âm thanh 42

4.1.4 Phương pháp xử lý dữ liệu video và hình ảnh 42

4.2 Phương pháp trích xuất đặc trưng và xây dựng mô hình phân loại văn bản … 43

4.3 Phương pháp trích xuất đặc trưng và nhận diện khuôn mặt 44

4.4 Phương pháp xây dựng mô hình phân loại hình ảnh 45

4.5 Phương pháp xây dựng mô hình kết hợp 46

5.3.3 Trích xuất khung hình chính từ video 54

5.3.4 Xử lý và huấn luyện dữ liệu văn bản với mô hình word embedding FastText……… 54

5.3.5 Phát hiện và nhận diện gương mặt 56

5.4 Huấn luyện mô hình phân loại dựa trên đặc trưng hình ảnh 58

5.5 Chiến lược huấn luyện và thử nghiệm 59

5.6 Huấn luyện mô hình kết hợp 60

5.7 Kết quả của mô hình và nhận xét 62

5.7.1 Tập dữ liệu 62

Trang 10

5.8 Xây dựng ứng dụng thử nghiệm 66

6 KẾT LUẬN 69

6.1 Các kết quả đạt được 69

6.2 Khó khăn và hạn chế 70

6.3 Hướng mở rộng của đề tài 70

TÀI LIỆU THAM KHẢO 72

LÝ LỊCH TRÍCH NGANG 75

Trang 11

DANH MỤC HÌNH VẼ

Hình 1.1 Framework được đề xuất kết hợp dữ liệu chậm ở cấp độ video 2

Hình 1.2 Minh họa tính ứng dụng của framework 5

Hình 2.1 Đồ thị hàm tanh [22] 10

Hình 2.2 Đồ thị hàm Sigmoid [22] 11

Hình 2.3 Đồ thị hàm ReLU [22] 11

Hình 2.4 Minh họa họa giai đoạn P-Net tạo ra Image Pyramid [9] 17

Hình 2.5 Minh họa kiến trúc P-Net [9] 18

Hình 2.6 Minh họa cho phép NMS, những box bị trùng nhau sẽ bị loại bỏ và giữ lại 1 box có mức tin tưởng cao nhất [9] 19

Hình 2.7 Minh họa kiến trúc R-Net [9] 20

Hình 2.8 Minh họa kiến trúc O-Net [9] 20

Hình 2.9 Minh họa kết quả của mạng O-Net gồm 3 giá trị [9] 21

Hình 2.10 Sơ lược về kiến trúc DeepFace, mạng bao gồm 120 triệu tham số [10] 22

Hình 2.11 Sơ lược về kiến trúc DeepFace, mạng bao gồm 120 triệu tham số [12] 23

Hình 2.12 Minh họa cấu trúc chuyển đổi bất đối xứng [12] 24

Hình 2.13 Minh họa cấu trúc mô hình sau khi tối ưu [12] 25

Hình 2.14 Minh họa cách giảm số chiều dữ liệu hiệu quả trong khi mở rộng các lớp filter [12] 26 Hình 2.15 Mô tả các lớp của mô hình Inception-V3, kích thước kích thước đầu ra của mỗi mô-đun là kích thước đầu vào của mô-đun tiếp theo [12] 27

Hình 2.16 CBOW model vs Skip-gram model [23] 31

Hình 2.17 Mô hình phân loại bao gồm kết hợp hai giai đoạn để tích hợp dữ liệu cấp độ frame và cấp độ video [3] 33

Hình 3.1 Minh họa kiến trúc CNN đa phân giải [1] 34

Hình 3.2 Minh họa kết quả phân loại sử dụng mô hình FastText trên tập dữ liệu 21 gồm danh mục [2] 36

Hình 3.3 Tổng quan về framework kết hợp nhiều mô hình được đề xuất để phân loại video trên mạng xã hội [4] 39

Hình 4.1 Minh họa kiến trúc mô hình VGG-Face theo các lớp [10] 45

Hình 4.2 Minh họa kỹ thuật học chuyển tiếp với mô hình Inception-V3 [9] 46

Hình 5.1 Minh họa kiến trúc Framework đề xuất và luồng hoạt động trong đề tài 49

Hình 5.2 Luồng huấn luyện framework đề xuất 59

Hình 5.3 Minh họa chia tỷ lệ để huấn luyện và kiểm thử 60

Hình 5.4 Cho thấy số lượng giữ liệu của từng nhãn ở lần kiểm thử đầu tiên 63

Hình 5.5 Cho thấy số lượng giữ liệu của từng nhãn ở lần kiểm thử lần hai 64

Hình 5.6 Mô tả mức độ quan trọng của từng đặc trưng trong việc phân loại cấp độ video 66

Hình 5.7 Khởi chạy tệp predcit.py với tham số là id của video Tiktok 66

Hình 5.8 Giao diện người dùng cho ứng dụng nhận diện video có yếu tố chính trị Việt Nam trên mạng xã hội Tiktok 67

Hình 5.9 Ứng dụng người dùng dự đoán video 68

Trang 12

DANH MỤC BẢNG

Bảng 2.1 Minh họa quá quá trình tách các sub-words của FastText 32

Bảng 3.1 Minh họa các thử nghiệm phân loại của mô hình CNN Fusion và các mô hình khác [1] 35

Bảng 3.2 Minh họa kết quả phân loại video giữ framework được đề xuất bao gồm kết hợp hai giai đoạn để tích hợp dữ liệu cấp độ frame và cấp độ video, và các mô hình dựa trên từng đặc trưng [3] 38

Bảng 3.3 Minh họa kết quả phân loại video giữa các mô hình [4] 39

Bảng 5.1 Số dữ liệu video và khung chính 62

Bảng 5.2 Số lượng chuyển giọng nói thành văn bản 62

Bảng 5.3 Kết quả của các mô hình sau lần kiểm thử đầu tiên 64

Bảng 5.4 Kết quả của các mô hình sau lần kiểm thử lần hai 65

Trang 13

DANH MỤC MÃ CHƯƠNG TRÌNH

Mã chương trình 5.1 Thu thập video từ Tikok 51

Mã chương trình 5.2 Tải video và audio về cơ sở dữ liệu 52

Mã chương trình 5.3 Sử dụng FFmpeg để trích xuất các khung chính 54

Mã chương trình 5.4 Tiền xử lý dữ liệu văn bản 54

Mã chương trình 5.5 Xây dựng mô hình và huấn luyện FastText 55

Mã chương trình 5.6 Sử dụng MTCNN để phát hiện gương mặt 56

Mã chương trình 5.7 Sử dụng VGG-Face để vector hóa gương mặt 57

Mã chương trình 5.8 Sử dụng kỹ thuật học chuyển tiếp và mô hình Inception-V3 để huấn luyện 58

Mã chương trình 5.9 Huấn luyện mô hình kết hơp sử dụng Logistic Regession 61

Mã chương trình 5.10 Huấn luyện mô hình kết hơp sử dụng LightGBM 61

Trang 15

1 GIỚI THIỆU 1.1 Tổng quan đề tài

Thời đại khoa học công nghệ 4.0 mang tới sự phát triển vượt bậc, nó giúp con người và máy móc tiến lại gần nhau hơn Đặc biệt trong thế giới kỹ thuật số ngày nay bao gồm nhiều nội dung đa phương tiện: video, hình ảnh, âm thanh Rõ ràng là việc sản xuất video đã trở nên đơn giản như nhấn một nút bấm, tuy nhiên hiếm khi xảy ra trường hợp video được chia sẻ có thông tin mô tả đủ tốt về nội dung của nó và phân loại nó, thậm chí mô tả và nội dung không thống nhất với nhau, điều này gây khó khăn cho người dùng khi cố gắng tìm kiếm một video nhất định theo một danh mục cụ thể

Cùng với việc ra đời bộ luật “An ninh mạng Việt Nam năm 2018”, một trong những chủ đề được các nhà quản lý quan tâm hiện nay là phân loại tự động video thành danh mục chính trị hoặc phi chính trị và nắm bắt những gì đang xảy ra trên mạng internet nói chung và mạng xã hội Tiktok nói riêng Với Các video này chứa đựng nhiều đặc trưng như: hình ảnh, văn bản, âm thanh mỗi đặc trưng đều chứa thông tin có giá trị Để nâng cao khả năng phân loại, điều cần thiết là phải phân tích hiệu quả tất cả thông tin được trích xuất từ các đặc trưng khác nhau, trong khi hầu hết các mô hình học tập như CNN Fusion [1], CNN-LSTM [6], LR-CN [6] đều bỏ qua một số đặc trưng và chỉ tập trung vào một phương thức duy nhất

Trong đề tài này, trình bày một framework kết hợp nhiều mô hình học sâu trên nhiều đặc trưng như: hình ảnh, văn bản, gương mặt để phân loại hiệu quả video có yếu tố chính trị Trong đó, sử dụng mô hình Word Embedding là FastText [14] để phân tích văn bản, các mô hình CNN [13] đã được huấn luyện trước gồm: Inception-V3 [12], MTCNN [9], VGG-Face [10] để trích xuất đặc trưng hình ảnh và gương mặt, sau đó, sử dụng chiến lược kết hợp chậm dựa trên kỹ thuật mới trong phân loại là mô hình Light GBM [11] để biểu diễn dữ liệu và phân phân loại ở cấp độ video Framework có thể phân tích video khi một đặc trưng bị thiếu bằng cách sử dụng các đặc trưng còn lại Framework

Trang 16

được áp dụng cho tập dữ liệu mới chứa 10.000 videos chính trị và phi chính trị được thu thập từ Tiktok Sau đây là hình ảnh mô tả framework mà đề tài đã xây dựng:

Hình 1.1 Framework được đề xuất kết hợp dữ liệu chậm ở cấp độ video

Trang 17

Hình 1.1 minh họa framework đề tài sẽ thực hiện:

- Đầu tiên, chương trình thu thập sẽ tự động thu thập các video từ tiktok bao gồm: thông tin tiêu đề, mô tả, video, audio và lưu vào cơ sở dữ liệu

- Sử dụng Google API speech to text [20] để chuyển các giọng nói trong video thành văn bản, nối với tiêu đề, mô tả thành văn bản cuối; sử dụng giải pháp Word Embedding bằng mô hình Fasttext [14] một công cụ biểu diễn không gian từ hiệu quả do facebook cung cấp để trích xuất đặc trưng và đưa ra điểm số phân loại dựa trên đặc trưng văn bản Trường hợp không có văn bản từ tiêu đề và giọng nói thì kết quả của phân loại sẽ là Null

- Đối với đặc trưng hình ảnh, đầu tiên video được trích xuất thành các khung hình chính

§ Xây dựng một cơ sở dữ liệu cơ bản về gương mặt của các chính trị gia, sau đó hiện thực lại mô hình học sâu để phát hiện gương mặt của các người có trong cơ sở dữ liệu Sử dụng mô hình MTCCN [9] để phát hiện gương mặt có trong khung hình chính, tiếp theo sử dụng VGG-Face [10] để vector hóa gương mặt này Sau đó tìm kiếm trong cơ sở dữ liệu Kết quả của mô hình này sẽ là có hoặc không

§ Sử dụng mạng CNN Inception-V3 [12] để trích xuất đặc trưng và đưa ra điểm số phân loại dựa trên đặc trưng hình ảnh

- Sử dụng chiến lược kết hợp chậm để đưa ra phân loại ở cấp độ video Sau khi có điểm số phân loại dựa trên ba đặc trưng là: hình ảnh, gương mặt và văn bản Light GBM được sử dụng để tối ưu trọng số của các đặc trưng là: hình ảnh, gương mặt, văn bản, và cuối cùng đưa ra đưa ra kết quả phân loại

Các kết quả thử nghiệm của framework cho kết quả tốt hơn so với một số mô hình dựa trên đặc trưng riêng lẻ cũng như phương pháp kết hợp thông thường Cụ thể độ chính xác tốt nhất của framework sau hai lần thử nghiệm đạt 0.93, và mô hình dựa trên từng đặc trưng văn bản, gương mặt, hình ảnh lần lượt là 0.88, 0.68, 0.88

Trang 18

Đây là framework kết hợp đa mô hình học tập có giám sát dựa trên nhiều đặc trưng để phân loại hiệu quả video có yếu tố chính trị Việt Nam trên mạng xã hội Tiktok, những đóng góp của đề tài này được liệt kê như sau:

- Bộ dữ liệu 10.000 videos thu thập từ mạng xã hội Tiktok được gán nhãn chính trị và phi chính trị gồm: tiêu đề, mô tả, video, audio để làm đa dạng thêm cho việc trình bày của bộ dữ liệu phân tích đa đặc trưng

- Một cách thức tiếp cận sử dụng chiến lược kết hợp chậm để đưa ra phân loại ở cấp độ video bằng cách áp dụng gradient boosting (mô hình Light GBM) vào bài toán phân loại, đối với phương pháp này mô hình cho phép đầu vào là giá trị null nhằm giải quyết vấn đề thiếu dữ liệu của các đặc trưng, và đưa ra được trọng số tầm quan trọng của các đặc trưng trong việc phân loại video

1.2 Tính ứng dụng của đề tài

Trong thực tế, các nhà quản lý Việt Nam đang gặp phải rất nhiều khó khăn trong việc nắm bắt thông tin, tình hình diễn biến đang xảy ra trong nhiều ngành, nhiều lĩnh vực nói chung và về chủ đề chính trị nói riêng trên các trang mạng xã hội Lợi dụng “khoảng trống thông tin” nhiều video tấn công vào sự hiếu kỳ của công chúng và làm mới thông tin cũ, bịa đặt thông tin mới Nhiều thông tin bị xuyên tạc, bóp méo sự thật, thông qua những tiêu đề “giật gân”, “câu khách” về vấn đề dư luận đang quan tâm, nhất là vấn đề liên quan đến chính trị như: nội bộ Đảng, Nhà nước, tham nhũng, tiêu cực với mục đích xâm phạm an ninh quốc gia, trật tự an toàn xã hội, quyền và lợi ích của tổ chức, cá nhân Nhiều video mang nội dung riêng tư, bịa đặt, xuyên tạc hoặc thật giả lẫn lộn nhằm khủng bố tinh thần và tạo dư luận xã hội trên cộng đồng mạng phục vụ các ý đồ đen tối, gây phương hại đến ổn định chính trị và trật tự, an toàn xã hội

Bên cạnh đó, mỗi ngày có hàng tỷ video được đăng tải lên các trang mạng xã hội, trong khi hệ thống kiểm duyệt của các trang mạng xã hội này không thể ngay lập tức

Trang 19

ngăn chặn các nội dung vi phạm pháp luật Việt Nam, mà phải có các yêu cầu gỡ bài từ các nhà quản lý Đến lúc đó các video vi phạm này đã được lan truyền rộng rãi gây ảnh hưởng tiêu cực đến xã hội

Hiện tại chưa có bất kỳ hệ thống nào có thể giải quyết triệt để vấn đề video vi phạm pháp luật Việt Nam, mà phải có sự giám sát và phân loại bởi con người Trong khi nguồn lực con người có giới hạn, số lượng video cần nắm bắt và phân loại lên đến hàng tỷ mỗi ngày

Đề tài này sẽ cung cấp một framework tự động thu thập video từ Tiktok, phân loại và đưa ra video có khả năng cao có yếu tố chính trị tích cực và tiêu cực Từ đó giúp các nhà quản lý tốn ít thời gian hơn để để nắm bắt thông tin trên mạng xã hội Tiktok

Hình 1.2 Minh họa tính ứng dụng của framework

Trang 20

1.3 Mục tiêu và giới hạn của đề tài 1.3.1 Mục tiêu

Mục tiêu của đề tài này bao gồm:

- Thu thập, xử lý các video từ Tiktok và văn bản từ các trang mạng để làm dữ liệu: Để khách quan và khi huấn luyện các mô hình không bị Overfitting, các video

sẽ được thu thập từ chính mạng xã hội Titkok Do đặc trưng văn bản được kết hợp gồm tiêu đề, mô tả và sinh ra từ giọng nói từ video tikok tương đôi ít, nên đề tài sẽ thu thập thêm các văn bản từ các trang web: vnexpress.net, chinhphu.vn, vietnamnet.vn để phục vụ cho quá trình huấn luyện và kiểm thử các mô hình dựa trên đặc trưng văn bản

- Nghiên cứu các mô hình phân loại video dựa trên đa đặc trưng và kết hợp đa mô hình: đề tài đề xuất xây dựng framework đa mô hình để trích xuất các đặc trưng

hình ảnh, văn bản của video; bằng chiến lược kết hợp chậm (slow fusion [1]) để đưa ra phân loại cấp độ video; bộ phân loại ở cấp độ video sử dụng kỹ thuật LightGBM [11] để thấy được trọng số của các đặc trưng và giải quyết được vấn đề thiếu dữ liệu của một đặc trưng riêng lẻ

- Huấn luyện, tối ưu và thử nghiệm các mô hình trên tập dữ liệu thu thập được:

tối thiểu hóa hàm mất mát, thử nghiệm và tối ưu khi huấn luyện mô hình, từ đó đánh giá độ chính xác so với các mô hình dựa trên từng đặc trưng riêng lẻ

- Hiện thực ứng dụng phân loại video: từ mô hình được huấn luyện, tiến hành xây

dựng ứng dụng giao diện người dùng, cho phép nhập đường dẫn video Titok, kết quả đầu ra bao gồm: thông tin video, hình ảnh, kết quả phân loại của framework

- Đưa ra kết luận và hướng phát triển tiếp theo của đề tài trong tương lai: Đề

tài thu được một số kết quả khả quan, từ đó đề xuất ra những hướng mở rộng trong tương lai

Trang 21

1.3.2 Giới hạn đề tài

Tiktok không có API [16] để các nhà phát triển thu thập dữ liệu, cũng như có chính sách chặn các trình thu thập dữ liệu, vì vậy việc thu thập dữ liệu để phục vụ đề tài gặp nhiều khó khăn; cùng với sự hạn chế về nhân lực và tài nguyên, vì vậy đề tài chỉ thu thập được 10.000 video, với số lượng video hạn chế như vậy, đề tài sẽ không ứng dụng các mô hình học sâu kết hợp yếu tố không-thời gian như: CNN Fusion [1], CNN-LSTM [6], LR-CN [6] để phân loại video theo như đề cương luận văn, vì các mô hình này phải được huấn luyện trên tập dữ liệu vài triệu video để đảm bảo mô hình cho kết quả chính xác Thay vào đó, luận văn sẽ tiến hành hiện thực framework đã giới thiệu trong phần tổng quan

Đặc thù trên mạng xã hội Titkok các video đã được xử lý và thêm nhiều hiệu ứng hình ảnh, và âm thanh, đặc biệt phần lớn video đều được gắn kèm nhạc nền, nên đặc trưng âm thanh đề tài sẽ không sử dụng trong framework phân loại

Bên cạnh đó, đề tài tập trung vào việc thu thập dữ liệu và xây dựng framework phân loại, vì vậy đề tài sẽ sử dụng Google API speech to text [20] để chuyển giọng nói của video thành văn bản

Do đặc trưng dữ liệu, sau khảo sát dữ liệu nhận thấy rằng các văn bản trích xuất được từ OCR (Optical Character Recognition – nhận diện ký tự quang học) rất ít, và bị nhiễu nhiều bởi hiệu ứng trong video dẫn đến mô hình phát hiện các văn bản hoạt động không tốt Ngoài ra khi kiểm tra nội dung các văn bản có thể có trong các video, tác giả nhận thấy các nội dung đó không thống nhất với nội dung video, nên quyết định không sử dụng OCR để trích xuất văn bản phục vụ việc nhận diện các video chính trị Việt Nam trên mạng xã hội Tiktok

Do thời gian thực hiện luận văn và nguồn lực có hạn, vì vậy, để có thể triển khai toàn bộ framework một cách hoàn chỉnh, đề tài giới hạn các video có yếu tố chính trị Việt Nam gồm trường hợp:

Trang 22

- Các hoạt động hội họp, các chuyến thăm và làm việc của 18 Ủy viên Bộ chính trị khóa XIII;

- Các hoạt động hội họp, các chuyến thăm và làm việc của 28 thành viên Chính phủ nhiệm kỳ 2021 – 2026

Đề tài cũng giới hạn chỉ thu thập và xây dựng cơ sở dữ liệu gương mặt của các chính trị gia như đã nêu ở trên

1.4 Cấu trúc của luận văn

Chương 1: Tổng quan về nội dung, mục tiêu và cấu trúc luận văn

Chương 2: Kiến thức nền tảng có liên quan đến đề tài như Word Embedding, mạng

nơ-ron, mạng CNN, mô hình học chuyển tiếp, Light GBM

Chương 3: Các công trình nghiên cứu có liên quan đến đề tài

Chương 4: Trình bày các phương pháp sử dụng khi hiện thực luận văn Chương 5: Mô tả thực tế hiện thực hệ thống và đánh giá kết quả

Chương 6: Kết luận các kết quả đạt được, khó khăn, hạn chế và hướng mở rộng

Trang 23

việc huấn luyện), có khả năng lưu giữ những kinh nghiệm hiểu biết (tri thức) và sử dụng những tri thức đó trong việc dự đoán các dữ liệu chưa biết (unseen data)

Kiến trúc chung của một ANN gồm 3 thành phần chính, đó là: Input Layer, Hidden Layer và Output Layer (hình 2.1) Trong đó, lớp ẩn (Hidden Layer) gồm các nơ-ron nhận dữ liệu input từ các nơ-ron ở lớp (layer) trước đó và chuyển đổi các input này cho các lớp xử lý tiếp theo Trong một ANN có thể có nhiều lớp ẩn Các node xử lý của ANN gọi là nơ-ron Chúng nhận các dữ liệu vào (inputs), tính toán và cho ra một kết quả (output) duy nhất Kết quả xử lý của nơ-ron này có thể làm input cho các nơ- ron khác

Quá trình xử lý thông tin của một ANN:

Mỗi input tương ứng với 1 thuộc tính (attribute) của dữ liệu Các giá trị này thường được đưa vào dưới dạng một vector m-chiều Output là kết quả đầu ra tương ứng với dữ liệu input Các trọng số liên kết (Weights) là thành phần rất quan trọng của ANN, nó thể hiện mức độ quan trọng giữa các input đầu vào đối với quá trình xử lý thông tin, chuyển đổi dữ liệu từ layer này sang layer khác Cuối cùng là bias (hệ số tự do) giúp chuẩn hoá trong quá trình cập nhật trọng trọng số Quá trình học (Learning Processing) của ANN thực ra là quá trình điều chỉnh các Weights để có được kết quả mong muốn Hàm tổng (Summation Function) cho phép tính tổng có trọng số của tất cả các input được đưa vào mỗi nơ-ron và giá trị bias Hàm tổng của một nơ-ron đối với N input được tính theo công thức sau:

Kết quả trên sẽ được cho vào một hàm kích hoạt (Activation function) để đánh giá khả năng đi tiếp trong mạng Có nghĩa là liệu output của nơ-ron này có thể được lan truyền đến layer tiếp theo để làm input hay không?

𝑦 = 𝜑(𝑧)

Trang 24

Việc lựa chọn hàm kích hoạt rất quan trọng vì nó có tác động lớn đến kết quả của ANN Người ta thường sử dụng các hàm phi tuyến để tăng hiệu năng cho mạng Một số hàm kích hoạt phổ biến sẽ được trình bày rõ ở phần sau

2.1.2 Các hàm kích hoạt (Activation function)

Có rất nhiều dạng hàm phi tuyến tính có thể sử dụng cho các tầng ẩn Hiện tại không có lý thuyết nào về việc sử dụng hàm phi tuyến tính nào trong trường hợp nào, và cách chọn hàm phi tuyến tính thích hợp cho một tác vụ cụ thể trong thực nghiệm Trong số các hàm phi tuyến tính, các hàm sau được sử dụng nhiều nhất: tanh, sigmoid, rectified linear unit (ReLU)

Trang 25

Hình 2.2 Đồ thị hàm Sigmoid [22]

ReLU

Hàm ReLU, là một hàm phi tuyến tính đơn giản để sử dụng và cho kết quả rất tốt

trong thực nghiệm Hàm ReLU sẽ biến mỗi giá trị x < 0 thành 0 Mặc dù đơn giản nhưng

ReLU lại hiệu quả với nhiều tác vụ, đặc biệt là khi kết hợp với kỹ thuật dropout regularization Hàm ReLU có công thức dạng:

𝑅𝑒𝐿𝑈(𝑥) = 2 0 𝑥 < 0 𝑥 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒

Hình 2.3 Đồ thị hàm ReLU [22]

Trang 26

2.1.3 Hàm chi phí mất mát

Cũng giống như khi huấn luyện một bộ phân loại tuyến tính, khi huấn luyện một mạng nơ-ron ta cũng phải định nghĩa một loss function 𝐿(𝑦<, 𝑦), thể hiện mất mát của việc tiên đoán 𝑦̂ khi kết quả chính xác là y Mục tiêu của việc huấn luận là giảm thiểu tối đa mất mát của tất cả các mẫu huấn luyện khác nhau Hàm 𝐿(𝑦<, 𝑦) cho ra một điểm số (vô hướng) cho đầu ra của mạng 𝑦̂ với kết quả mong muốn là y Mất mát luôn luôn

dương và chỉ bằng 0 trong trường hợp đầu ra của mạng là chính xác

Các tham số của mạng (ma trận Wi, bias bi) được chỉnh sửa để tối thiểu hóa mất

mát trên toàn tập huấn luyện (thông thường thì tổng các mất mát của các mẫu huấn luyện khác nhau sẽ được tối thiểu hóa)

Mất mát có thể là một hàm bất kỳ chiếu hai vector thành một đại lượng vô hướng Vì mục đích tối ưu hóa trong thực tế của việc huấn luyện, hàm mất mát thường được giới hạn trong các hàm thuận lợi cho việc tính gradient Các hàm mất mát thông dụng là: hinge loss (nhị phân), log loss, categorical cross-entropy loss, ranking loss

• Hinge (binary) [22]

Trong bài toán phân loại nhị phân, đầu ra của mạng là một đại lượng vô hướng 𝑦̂

và kết quả chính xác là y thuộc tập +1, -1 Phép phân loại được cho là chính xác nếu y ·

𝑦̂ > 0, nghĩa là y và 𝑦̂ cùng dấu Hinge loss, còn được gọi là margin loss hay SVM loss,

được định nghĩa là:

𝐿&'()!(+'(,-.)(𝑦<, 𝑦) = max(0,1 − 𝑦<, 𝑦)

Mất mát bằng 0 khi y và 𝑦̂ cùng dấu và |𝑦̂| ≥ 1 Ngược lại, mất mát là tuyến tính • Categorical cross-entropy loss [22]

Categorical cross-entropy loss (hay còn được gọi là negative log likelihood) được

sử dụng khi chúng ta mong muốn kết quả là sự biểu diễn xác suất của điểm số Với y là

Trang 27

one-hot vector đại diện cho lớp chính xác của đầu vào và 𝑦̂ = 𝑦̂1, ,𝑦̂𝑛 là đầu ra của mạng được biến đổi bởi hàm activation softmax và biểu diễn xác suất đầu vào thuộc class

i: 𝒚̂𝒊 = 𝑃(𝑦 = 𝑖 | 𝒙) Categorical cross entropy loss đo sự khác nhau giữa sự phân bố của

nhãn chính xác y và sự phân bố của nhãn được đoán bởi mạng 𝑦̂:

𝐿0-122"!(3-14. (𝑦<, 𝑦) = − H 𝑦'log (𝑦<')'

Cross entropy loss được sử dụng rất nhiều trong mạng nơ-ron, nó không chỉ tiên đoán lớp tốt nhất cho đầu vào mà còn cung cấp phân bố xác suất trên tất cả các lớp Khi sử dụng cross entropy loss, mặc định hiểu rằng đầu ra của mạng đã sử dụng biến đổi

softmax

2.1.4 Các kỹ thuật xử lý với mạng nơ ron

Cũng giống như các phương pháp học máy khác, mạng nơ-ron nhân tạo cũng rất dễ bị overfitting Overfitting là hiện tượng khi mà một mô hình có khả năng đạt kết quả cực kỳ tốt với tập dữ liệu huấn luyện, tuy nhiên lại xử lý không hiệu quả với các dữ liệu mà mô hình chưa từng gặp qua Một số kỹ thuật phổ biến để tránh overfitting như là Early Stopping, 𝑙2 regularization, Dropout

𝑳𝟐 Regularization [22]

Ý tưởng ở đây là ta sẽ thêm một khái niệm vào hàm mất mát J, hàm mất mát tổng

sẽ trở thành:

𝐽5 = 𝐽 + 𝜆 HR𝑊(')R67

Trong công thức trên R𝑊(')R6 là là chuẩn Frobenius của ma trận W(i) (ma trận trọng số thứ ı của mang) và λ là hyperparameter điều khiển độ tương gian giữa regularization với hàm mất mát ban đầu Mục đích của chúng ta là cực tiểu hàm JR,

Trang 28

regularization sẽ ngăn chặn các trọng số trở nên quá lớn khi tối ưu trên hàm mất mát ban đầu Nhờ tính chất bậc hai của chuẩn Frobenius (tính tổng bình phương tất cả các phần tử của ma trận), L2 regularization giảm độ linh hoạt của mô hình, do đó cũng giảm hiện tượng overfitting

Việc chọn giá trị chính xác cho λ rất quan trọng, và phải được chọn thông qua quá trình tinh chỉnh hyperparameter λ quá cao dẫn tới việc các trọng số được gán gần với 0,

và mô hình sẽ không học được gì có ý nghĩa từ quá trình huấn luyện, đạt độ chính xác

trong huấn luyện, kiểm chứng và kiểm thử Với λ quá thấp, mô hình sẽ rơi vào trường

hợp overfitting

Ngoài L2 regularization thì còn có các loại regularization khác cũng được sử dụng với độ phổ biến ít hơn, ví dụ như L1 regularization (cộng tổng trị đối tất cả các phần tử của ma trận trọng số)

• Dropout [22]

Dropout là một kỹ thuật mạnh mẽ dùng cho regularization, được giới thiệu bởi Srivastava và các cộng sự[4] Ý tưởng này đơn giản nhưng lại cực kỳ hiêụ quả - trong

quá trình huấn luyện, ta sẽ loại bỏ ngẫu nhiên với xác xuất (1−p) một tập con của các

nơ-ron trong mỗi bước tiến/lùi Tuy nhiên trong quá trình kiểm thử, ta giữ nguyên mạng nơ-ron đầy đủ để tính toán ra kết quả tiên đoán Kết quả của việc này là mạng nơ-ron sẽ học được nhiều thông tin có ý nghĩa hơn từ dữ liệu huấn luyện, giảm hiện tượng overfit và thường đạt hiệu suất cao hơn Một ý kiến giải thích một cách trực quan lí do kĩ thuật này đạt được hiệu quả cho rằng việc dropout thực hiện là huấn luyện nhiều mạng nơ-ron nhỏ hơn và lấy giá trị trung bình kết quả tiên đoán của chúng Trong thực tế, cách áp

dụng dropout là lấy đầu ra h của mỗi tầng, sau đó giữ lại số ron với tỷ lệ p, các

nơ-ron còn lại được gán bằng 0 Tnơ-rong quá trình lan truyền ngược, chỉ có các nơ-nơ-ron được giữ lại mới được sử dụng để tính toán gradient Cuối cùng, trong quá trình kiểm thử, ta giữ lại tất cả nơ-ron ở bước tiến để cho ra kết quả tiên đoán

Trang 29

2.2 Mạng nơ ron tích chập (Convolutional Neural Network - CNN)

Trong mạng nơ ron, mô hình mạng nơ ron tích chập (CNN) và những cải tiến của nó được sử dụng phổ biến trong lĩnh vực trực quan hình ảnh

Mạng CNN là tập hợp nhiều lớp Convolutional chồng lên nhau, sử dụng các hàm kích hoạt để tối ưu các trọng số trong các lớp Ở mỗi lớp CNN, sau khi áp dụng các hàm kích hoạt sẽ tạo ra các thông tin trừu tượng hơn cho những lớp tiếp theo Mỗi lớp kết tiếp sẽ là kết quả Convolution từ lớp trước đó nên chúng ta có được các kết nối cục bộ

Chi tiết từng lớp trong mạng CNN:

2.2.1 Lớp tích chập – Convolution layer

Tích chập là lớp đầu tiên để trích xuất các tính năng từ hình ảnh đầu vào Tích chập duy trì mối quan hệ giữa các pixel bằng cách tìm hiểu các tính năng hình ảnh bằng cách sử dụng các ô vương nhỏ của dữ liệu đầu vào Nó là 1 phép toán có 2 đầu vào như ma trận hình ảnh và 1 bộ lọc (filter) hoặc hạt nhân (kernel)

- Một hình ảnh được biểu diễn bằng ma trận có kích thước (h × w × d)

- Một bộ lọc (fh × fw × d)

- Kết quả đầu ra được một ma trận có kích thước (h - fh + 1) × (w - fw + 1) × 1 Sự kết hợp của 1 hình ảnh với các bộ lọc khác nhau có thể thực hiện các hoạt động như phát hiện cạnh, làm mờ và làm sắc nét bằng cách áp dụng các bộ lọc

Convolutional Layer được xem là lớp có vai trò quan trọng nhất Bởi vì Convolutional Layer sẽ đại diện CNN thực hiện mọi phép toán.Khi nhắc đến lớp Convolutional Layer, có một số khái niệm đó là: Filter Map, Stride, Padding, Feature Map

Filter Map

Trang 30

Nếu như ANN kết nối với từng Pixel của hình ảnh đầu vào thì CNN sử dụng các Filter để áp vào các vùng của hình ảnh Những Filter Map này có thể xem là một ma trận n chiều, số lượng chiều của ma trận này chính là Parameter

- Max Pooling: lấy phần tử lớn nhất - Average Pooling: lấy tổng trung bình - Sum Pooling: tổng tất cả các phần tử

2.2.3 Lớp kết nối đầy dủ – Fully connected layer

Lớp này được hiểu là một mạng ANN, các feature map được kết hợp với nhau để đưa ra trọng số cuối cùng

Trang 31

2.3 Kiến trúc mô hình mạng chuyển đổi đa tác vụ (Multi-task Cascaded Convolutional Networks - MTCN)

Với nhiệm vụ phát hiện các khuôn mặt có trong ảnh hoặc frame trong Video Năm 2016 các nhà khoa học thuộc Viện Công nghệ tiên tiến Thâm Quyến, Học viện Khoa học Trung Quốc đã đề xuất một kiến trúc dựa trên mạng nơ ron tích chập – CNN, với 3 lớp mạng riêng biệt và mô tả cho 3 giai đoạn là: P-Net, R-Net và O-Net (viết tắt là PRO) [9], Chi tiết như sau:

Giai đoạn 1: P-Net

Một bức ảnh thường sẽ có nhiều hơn một người - một khuôn mặt Ngoài ra, những khuôn mặt thường sẽ có kích thước khác nhau Vì vậy cần có một phương thức để có thể nhận dạng toàn bộ số khuôn mặt đó, ở các kích thước khác nhau MTCNN [9] đưa một giải pháp, bằng cách sử dụng phép thay đổi kích thước (resize) ảnh, để tạo một loạt các bản sao chép (coppy) từ ảnh gốc với kích cỡ khác nhau, từ to đến nhỏ, gọi là Image Pyramid

Hình 2.4 Minh họa họa giai đoạn P-Net tạo ra Image Pyramid [9]

Với mỗi một phiên bản copy-resize của ảnh gốc, ta sử dụng kernel 12x12 pixel và stride = 2 để đi qua toàn bộ bức ảnh, dò tìm khuôn mặt Vì các bản copy của ảnh gốc có kích thước khác nhau, cho nên mạng có thể dễ dàng nhận biết được các khuôn mặt với

Trang 32

kích thước khác nhau, mặc dù chỉ dùng 1 kernel với kích thước cố định (ảnh to hơn, mặt to hơn; ảnh nhỏ hơn, mặt nhỏ hơn) Sau đó, ta sẽ đưa những kernels được cắt ra từ trên và truyền qua mạng P-Net (Proposal Network) Kết quả của mạng cho ra một loạt các hộp giới hạn (bounding boxes) nằm trong mỗi kernel, mỗi bounding boxes sẽ chứa tọa độ 4 góc để xác định vị trí trong kernel chứa nó tương ứng

Hình 2.5 Minh họa kiến trúc P-Net [9]

Để loại trừ bớt các bounding boxes trên các bức ảnh và các kernels, ta sử dụng 2 phương pháp chính là lập mức ngưỡng tin cậy (threshold confident) nhằm xóa đi các bounding boxe có mức tin cậy thấp và sử dụng NMS (Non-Maximum Suppression) để xóa các box có tỷ lệ trùng nhau (Intersection Over Union) vượt qua 1 mức threshold tự đặt nào đó

Trang 33

Hình 2.6 Minh họa cho phép NMS, những box bị trùng nhau sẽ bị loại bỏ và giữ lại 1 box có mức tin tưởng cao nhất [9]

Sau khi đã xóa bớt các box không hợp lý, ta sẽ chuyển các tọa độ của các box về với tọa độ gốc của bức ảnh thật Do tọa độ của box đã được normalize về khoảng (0,1) tương ứng như kernel, cho nên công việc lúc này chỉ là tính toán độ dài và rộng của kernel dựa theo ảnh gốc, sau đó nhân tọa độ đã được normalize của box với kích thước của của kernel và cộng với tọa độ của các góc kernel tương ứng Kết quả của quá trình trên sẽ là những tọa độ của box tương ứng ở trên ảnh kích thước ban đầu Cuối cùng, ta sẽ resize lại các box về dạng hình vuông, lấy tọa độ mới của các box và feed vào mạng tiếp theo, mạng R

Trang 34

Giai đoạn 2: R-Net

Hình 2.7 Minh họa kiến trúc R-Net [9]

Mạng R-Net (Refine Network) thực hiện các bước như mạng P-Net Tuy nhiên, mạng này còn sử dụng một phương pháp tên là padding, nhằm thực hiện việc chèn thêm các zero-pixels vào các phần thiếu của bounding box nếu bounding box bị vượt quá biên của ảnh Tất cả các bounding box lúc này sẽ được resize về kích thước 24x24, được coi như 1 kernel và feed vào mạng R Kết quả sau cũng là những tọa độ mới của các box và được đưa vào mạng O-Net

Giai đoạn 3: O-Net

Hình 2.8 Minh họa kiến trúc O-Net [9]

Mạng O-Net (Output Network) thực hiện tương tự như việc trong mạng R-Net, thay đổi kích thước thành 48x48 Tuy nhiên, kết quả đầu ra của mạng lúc này không còn chỉ là các tọa độ của các box, mà còn trả về 3 giá trị bao gồm: 4 tọa độ của bounding

Trang 35

box, tọa độ 5 điểm mốc (landmark) trên mặt, bao gồm 2 mắt, 1 mũi, 2 bên cánh môi và điểm confident của mỗi box

Hình 2.9 Minh họa kết quả của mạng O-Net gồm 3 giá trị [9]

2.4 Tổng quan kiến trúc mô hình xác minh khuôn mặt DeepFace

Trong nhận diện khuôn mặt hiện đại thông thường có bốn giai đoạn gồm: phát hiện, căn chỉnh, biểu diễn và phân loại Năm 2014, các nhà nghiên cứu thuộc phòng nghiên cứu AI của Facebook đã đề xuất mô hình DeepFace [10] để tối ưu giai đoạn căn chỉnh và biểu diễn gương mặt sử dụng một mạng học sâu gồm chín lớp mạng học sâu này gồm hơn 120 triệu tham số bằng cách sử dụng một số lớp được kết nối cục bộ mà không có trọng số lớn, thay cho các lớp tiêu chuẩn

Tuy nhiên, tên mô hình DeepFace cũng được sử dụng bởi một mô hình khác của Google, nên khi công bố thư viện, mô hình có tên là VGG-Face [10]

Trang 36

Hình 2.10 Sơ lược về kiến trúc DeepFace, mạng bao gồm 120 triệu tham số [10]

Mô hình Chuyển hình ảnh đầu vào thành RGB được căn chỉnh 3D có kích thước

152 x 152 Hình ảnh này sau đó được chuyển qua lớp Convolution với 32 bộ lọc có kích

thước 11 x 11 x 3 và một lớp max pooling 3 x 3 bước nhảy là 2 Tiếp theo là một lớp

tích chập khác gồm 16 bộ lọc có kích thước 9 * 9 * 16 Mục đích của các lớp này để

trích xuất các tính năng cấp thấp từ các cạnh và kết cấu hình ảnh

Ba lớp tiếp theo là các lớp được kết nối cục bộ, một lớp được kết nối đầy bao gồm nhiều filter map cho ra các feature map khác nhau Điều này giúp cải thiện mô hình vì các vùng trên khuôn mặt có khả năng phân biệt khác nhau, do đó tốt hơn là dùng feature map khác nhau để phân biệt các vùng trên khuôn mặt

Hai lớp cuối cùng của mô hình là các lớp kết nối đầy đủ Những lớp này giúp thiết lập mối liên kết giữa hai vùng xa nhau của khuôn mặt Ví dụ: Vị trí và hình dạng của mắt với vị trí và hình dạng của miệng Đầu ra của lớp thứ hai được kết nối đầy đủ với lớp cuối cùng được sử dụng để làm đại diện cho khuôn mặt, kết quả của lớp cuối cùng là một lớp softmax để phân loại khuôn mặt

2.5 Tổng quan kiến trúc mô hình Inception-V3

Mạng CNN là cốt lõi của hầu hết các giải pháp thị giác mác tính có thể giải quyết nhiều nhiệm vụ khác nhau Kể từ năm 2014, các mạng phức tạp và rất sâu bắt đầu trỏ

Trang 37

thành xu hướng chủ đạo, và cho kết quả chính xác tăng đáng kể Mặc dù kích thước mô hình và chi phí tính toán tăng nhưng cũng dẫn đến chất lượng cũng ngay lập tức tăng cho hầu hết các nhiệm vụ (miễn là cung cấp đầy đủ dữ liệu có gán nhãn để đào tạo) Đối với mô hình Inception-V3 [12] mở rộng mạng theo chiều sâu và tối ưu được:

- Phân tích dữ liệu thành các tích chập nhỏ

- Yêu tố không gian của dữ liệu thành các phép chập bất đối xứng - Bộ phân loại bổ trợ

- Giảm số chiều dữ liệu hiệu quả

Mô hình Inception-V3 tối ưu từng cách như sau:

Phân tích dữ liệu thành các tích chập nhỏ

Inception-V3 ưu điểm chính là giảm số chiều của dữ liệu, để làm điều đó mô hình chuyển các phép tích chập lớn thành các phép tích chập nhỏ hơn bằng cách như sau:

Hình 2.11 Sơ lược về kiến trúc DeepFace, mạng bao gồm 120 triệu tham số [12]

Do số lượng tham số giảm, chi phí tính toán cũng giảm theo Việc phân tích chuyển phép chập lớn hơn thành các phép chập nhỏ hơn dẫn đến mức tính toán giảm tương đối là 28%

Trang 38

Yêu tố không gian của dữ liệu thành các phép chập bất đối xứng

Mặc dù biến các phép chập lớn hơn thành phép chập nhỏ hơn, tại sao lại không phân tích nhân tử hơn nữa, chẳng hạn thành tích chập 2 × 2 Tuy nhiên, một giải pháp thay thế tốt hơn để làm cho mô hình hiệu quả hơn là phép chập bất đối xứng

Các phép chập bất đối xứng có dạng n × 1

Vì vậy, việc cần làm là thay thế các phép chập 3 × 3 bằng một phép chập 1 × 3, sau đó là một phép chập 3 × 1

Hình 2.12 Minh họa cấu trúc chuyển đổi bất đối xứng [12]

Giải pháp này tiết kiệm hơn 33% chi phí tính toán cho cùng số lượng bộ lọc đầu ra nếu số lượng bộ lọc đầu vào và đầu ra bằng nhau

Sau khi áp dụng hai kỹ thuật tối ưu hóa đầu tiên, mô hình sẽ có cấu trúc như sau:

Trang 39

Hình 2.13 Minh họa cấu trúc mô hình sau khi tối ưu [12]

Bộ phân loại bổ trợ

Mục tiêu của việc sử dụng bộ phân loại bổ trợ là cải thiện sự hội tụ của các mạng nơ ron rất sâu Bộ phân loại bổ trợ chủ yếu được sử dụng để chống lại vấn đề độ dốc biến mất trong các mạng rất sâu

Các bộ phân loại bổ trợ không dẫn đến bất kỳ sự cải thiện nào trong giai đoạn đầu của quá trình đào tạo Nhưng về cuối, mạng có bộ phân loại bổ trợ cho thấy độ chính xác cao hơn so với mạng không có bộ này

Do đó, các bộ phân loại bổ trợ hoạt động như một bộ điều chỉnh trong kiến trúc mô hình Inception-V3

Giảm số chiều dữ liệu hiệu quả

Max pooling và average pooling theo truyền thống được sử dụng để giảm kích thước của feature map Trong mô hình Inception-V3, để giảm kích thước số chiều hiệu quả, hàm kích hoạt của các lớp filter được mở rộng

Trang 40

Ví dụ: nếu chúng ta có ma trận d x d với k lớp filter sau khi giảm, kết quả là ma trận có kích thước d/2 × d/2 với với 2k lớp filter và điều này được thực hiện bằng cách sử dụng hai khối phép tích chập song song và sau đó được nối với nhau

Hình 2.14 Minh họa cách giảm số chiều dữ liệu hiệu quả trong khi mở rộng các lớp filter [12]

Tổng cộng, Inception-V3 được tạo thành từ 42 lớp mặc dù rất sâu nhưng hiệu quả của mô hình này thực sự rất ấn tượng Chi tiết các thành phần mà mô hình Inception-V3 gồm:

Ngày đăng: 31/07/2024, 09:39

w