Tải bản đầy đủ (.pdf) (69 trang)

Phát hiện cộng đồng sử dụng học sâu trên đồ thị

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.44 MB, 69 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC QUY NHƠN
PHẠM QUANG VINH

PHÁT HIỆN CỘNG ĐỒNG SỬ DỤNG HỌC SÂU
TRÊN ĐỒ THỊ

ĐỀ ÁN THẠC SĨ KHOA HỌC DỮ LIỆU ỨNG DỤNG

Bình Định - Năm 2023

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC QUY NHƠN
PHẠM QUANG VINH

PHÁT HIỆN CỘNG ĐỒNG SỬ DỤNG HỌC SÂU
TRÊN ĐỒ THỊ

ĐỀ ÁN THẠC SĨ KHOA HỌC DỮ LIỆU ỨNG DỤNG
Ngành : Khoa học dữ liệu ứng dụng
Mã số : 8904648

Người hướng dẫn : TS. LÊ QUANG HÙNG

Bình Định - Năm 2023

i

Lời cam đoan



Tôi xin cam đoan đề án này là kết quả nghiên cứu của tôi, được thực hiện dưới sự hướng dẫn của
TS. Lê Quang Hùng. Các nội dung trích dẫn từ các nghiên cứu của các tác giả khác mà tơi trình bày
trong đề án này đã được ghi rõ nguồn trong phần tài liệu tham khảo.

ii

Lời cảm ơn

Đầu tiên tôi xin gửi lời cảm ơn sâu sắc tới thầy TS. Lê Quang Hùng Khoa Công nghệ thông tin.
Trường Đại học Quy Nhơn, người đã định hướng đề tài và tận tình hướng dẫn, chỉ bảo cho tơi trong suốt
q trình thực hiện đề án tốt nghiệp này Tôi xin trân trọng cảm ơn các Thầy Cơ trong Khoa Tốn và
Thống kê, và Khoa Công nghệ thông tin, Trường Đại học Quy Nhơn đã tận tình giảng dạy hướng dẫn
nghiên cứu khoa học cho tôi trong suốt thời gian theo học tại trường cũng như trong quá trình làm đề
án này. Xin cảm ơn các anh chị, em và các bạn học viên khoa học dữ liệu niên khóa 24B, những người
đã giúp đỡ (Nguyễn Quốc Dương, vv), động viên tinh thần và chia sẻ kinh nghiệm quý báu giúp tôi vượt
qua các khó khăn, vướng mắc để có thể hồn thành đề án này. Mặc dù đã cố gắng nhưng tơi tin chắc đề
án của tơi cịn nhiều thiếu sót và có rất nhiều nội dung có thể hồn thiện tốt hơn. Tôi rất mong nhận
được những ý kiến đánh giá phê bình và góp ý của các thầy cơ, anh chị và các bạn.

iii

Mục lục

Lời cam đoan i

Lời cảm ơn ii

Danh mục viết tắt v


Danh sách bảng vi

Danh sách hình vẽ ix

Mở đầu 1

1 Giới thiệu 3

1.1 Phát hiện cộng đồng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2 Học học sâu trên đồ thị . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.3 Các nghiên cứu liên quan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.4 Kiến thức chuẩn bị . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.5 Tổng kết chương 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2 Ứng dụng học sâu trên đồ thị trong phát hiện cộng đồng 8

2.1 Định nghĩa bài toán . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.2 Xây dựng đồ thị . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2.1 Định nghĩa mạng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2.2 Biểu diễn đồ thị . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2.3 Định nghĩa cộng đồng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11


2.2.4 Đầu vào phát hiện cộng đồng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.2.5 Kết quả phát hiện cộng đồng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.3 Mạng tích chập đồ thị . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.4 Phân lớp cộng đồng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.4.1 Cách thực hiện phân lớp cộng đồng . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.5 Phân cụm cộng đồng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.5.1 Những hạn chế của kỹ thuật phân loại cộng đồng . . . . . . . . . . . . . . . . . . . 25

iv

2.5.2 Tìm hiểu hạn chế của các thuật toán đã được sử dụng . . . . . . . . . . . . . . . . 27
2.5.3 Thuật toán Cluster-GCN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.5.4 Phân cụm ngẫu nhiên . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.5.5 Những vấn đề khi đào tạo mạng tích chập học sâu . . . . . . . . . . . . . . . . . . 36
2.6 Tổng kết chương 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

3 Thực Nghiệm 38

3.1 Dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

3.1.1 Phần mô tả các tập dữ liệu cho thuật tốn mạng tích chập đồ thị GCN . . . . . . 38

3.1.2 Phần mơ tả các tập dữ liệu cho thuật tốn phân cụm Cluster-GCN . . . . . . . . . 39


3.2 Cài đặt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3.2.1 Mơ tả thực nghiệm trên mơ hình GCN . . . . . . . . . . . . . . . . . . . . . . . . . 41

3.2.2 Mô tả thực nghiệm trên mơ hình Cluster-GCN . . . . . . . . . . . . . . . . . . . . 41

3.3 Kết quả . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.3.1 Giải thích tổng quan điểm F1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.3.2 Thử nghiệm trên mạng tích chập đồ thị học máy bán giám sát . . . . . . . . . . . 43

3.3.3 Thử nghiệm trên mạng tích chập đồ thị học máy phân cụm . . . . . . . . . . . . . 46

Kết luận 54

TÀI LIỆU THAM KHẢO 56

v

Danh mục viết tắt

SOTA State of the Art
GCN Graph Convolutional Network
Cluster-GCN Cluster-Graph Convolutional Network
GAT-GCN Graph Attention Network - Graph Convolutional Network
VR-GCN Variational Relational Graph Convolutional Network
GraphSAGE Graph Sample and Aggregated Graph Embedding
METIS A Fast and High-Quality Multilevel Scheme for Partitioning Irregular Graphs
GNN Graph Neural Network

SGD Stochastic Gradient Descent
SOTA State of the Art
AGE Adaptive Graph Encoder
AGC Adaptive Graph Convolution

MI Mutual Information
CommDGI Deep Graph Infomax

AGE Adaptive Graph Encoder
AGC Adaptive Graph Convolution
IPGD Independence Promoted Graph Disentangled
SENet Spectral Embedding Network
IPGD Independence Promoted Graph Disentangled
SNA Social network analysis

vi

Danh sách bảng

2.1 được trích dẫn từ [20], độ phức tạp về thời gian và không gian của các thuật toán đào tạo
GCN. L là số lớp, N là số nút, ∥A∥0 là số của các giá trị khác không trong ma trận kề và
F là số lượng các đặc trưng. Để đơn giản, chúng ta giả sử số lượng đặc trưng là cố định
cho tất cả các lớp. Đối với các phương pháp tiếp cận dựa trên SGD, b là kích thước batch
và r là số lượng hàng xóm được lấy mẫu trên mỗi nút. Lưu ý rằng do thuật giảm phương
sai, VR-GCN có thể hoạt động với r nhỏ hơn so với GraphSAGE và FastGCN. Đối với độ
phức tạp của bộ nhớ, LF 2 dùng để lưu trữ {W (l)}Ll=1 và thuật ngữ khác là lưu trữ các
nhúng. Để đơn giản, chúng ta bỏ qua bộ nhớ để lưu trữ đồ thị GCN hoặc đồ thị con (các
cách tiếp cận khác) vì chúng cố định và thường khơng phải là nút cổ chai chính. . . . . . 27

2.2 được trích dẫn từ [20], phân vùng ngẫu nhiên so với phân vùng phân cụm của biểu đồ

(được đào tạo khi sử dụng mini-batch SGD). Phân cụm dẫn đến hiệu suất tốt hơn (về
điểm F1) vì nó loại bỏ ít liên kết giữa các phân vùng hơn. Ba bộ dữ liệu này đều là bộ dữ
liệu công khai. Dữ liệu PPI sẽ được giải thích trong phần thực nghiệm. Cora có 2.708 nút
và 13.264 cạnh, và Pubmed có 19.717 nút và 108.365 cạnh. . . . . . . . . . . . . . . . . . 34

3.1 Mô tả các tập dữ liệu phát hiện cộng đồng trên GCN. . . . . . . . . . . . . . . . . . . . . 38
3.2 Tính chất của Tập dữ liệu PPI và Reddit . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.3 Tóm tắt kết quả theo tỷ lệ phân loại (tính bằng phần trăm). . . . . . . . . . . . . . . . . 43
3.4 Điểm F1 cho dữ liệu thử nghiệm PPI trên các mơ hình và lớp khác nhau . . . . . . . . . 46
3.5 Thời gian trung bình cho mỗi loại lớp cho các mơ hình khác nhau. . . . . . . . . . . . . . 47
3.6 Sử dụng bộ nhớ trung bình (MB) cho mỗi loại lớp trên các mơ hình khác nhau. . . . . . . 47
3.7 So sánh điểm F1, thời gian trung bình và sử dụng bộ nhớ trung bình cho các mơ hình khác

nhau trên tập dữ liệu PPI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.8 So sánh sử dụng bộ nhớ mỗi vòng lặp (MB), thời gian huấn luyện mỗi vòng lặp (s) và điểm

F1 cho các lớp khác nhau trên tập dữ liệu Reddit. . . . . . . . . . . . . . . . . . . . . . . 49
3.9 So sánh Điểm F1, thời gian, và sử dụng bộ nhớ cho ba mơ hình tại lớp 3 trên Tập dữ liệu

Reddit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

vii

Danh sách hình vẽ

2.1 được trích dẫn từ [11] (a) hình minh họa đồ thị trong đó các nút biểu thị người dùng trong
mạng xã hội. (b) Hình minh họa về hai cộng đồng (C1 và C2 ) dựa trên dự đoán nghề
nghiệp của người dùng. Việc phát hiện sử dụng sự tương đồng của người dùng trong các
hoạt động trực tuyến (cấu trúc liên kết) và hồ sơ tài khoản (thuộc tính). . . . . . . . . . . 9


2.2 Đồ thị đơn giản (4 nút và 4 cạnh). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3 được trích dẫn từ [11], mơt hình để phát hiện cộng đồng dựa trên GCN. Nó nhận đầu vào

đồ thị A cấu trúc và các đặc trưng nút tùy chọn X. Trong học sâu mạng kết hợp đồ thị
GCN, các đặc trưng tiềm ẩn của đồ thị được làm mịn (aggregation method) dựa trên các
yêu cầu phát hiện cộng đồng. Đồ thị học đại diện (graph representation) được kích hoạt
bởi σ(·). Bốn khung phát hiện cộng đồng được minh họa trong ((1) and (4)) áp dụng biểu
diễn nút cuối cùng ((1) and (2)) hoặc biểu diễn thời gian trong các lớp ẩn ((3) and (4)).
Các nhãn nút đã cho, các cộng đồng được phát hiện dựa trên phân loại nút trong ((1))
trong khi ((4)) thực hiện nhóm nút trên nhúng H và có thể được tối ưu hóa hơn nữa trong
((3)) với các phép đo, ví dụ: thơng tin chung (MI), để có các liên kết cộng đồng tốt nhất.
((4)) chung tối ưu hóa các kết quả phân cụm và các biểu diễn GCN dần dần phát hiện
từng nút thành các cộng đồng với các nút nhúng được nhúng bằng tích chập. . . . . . . . 14
2.4 được trích dẫn từ [12], bên trái: minh họa nguyên tắc của mạng tích chập đồ thị đa tầng
GCN học sâu cho học bán giám sát với C kênh đầu vào và F bản đồ đặc trưng ở lớp
đầu ra. Cấu trúc đồ thị (các cạnh được biểu thị bằng đường viền đen) được chia sẻ qua
các tầng, các nhãn được ký hiệu bởi Yi. Bên phải: Trực quan hóa t-SNE [13] (Maaten &
Hinton, 2008) của các kích hoạt ẩn trong một GCN hai tầng được đào tạo trên tập dữ liệu
Cora [14] (Sen et al., 2008) sử dụng 5% của các nhãn. Màu sắc biểu thị lớp tài liệu. . . . 15
2.5 đồ thị có thể tự học những đặc trưng. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.6 được trích xuất từ medium.com, ví dụ về học bán giám sát trên đồ thị. Một số nút không
có nhãn (nút khơng xác định). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.7 được trích xuất từ medium.com, Ý tưởng chuyển đổi từ hình ảnh sang đồ thị. . . . . . . . 16

viii

2.8 được trích xuất từ medium.com, ý tưởng chính của GCN. Hãy xem xét các nút màu xanh
lá cây. Đầu tiên, chúng ta lấy giá trị trung bình của tất cả các hàng xóm của nó, bao gồm
cả chính nó. Sau đó, giá trị trung bình được truyền qua mạng thần kinh. Lưu ý rằng, trong
GCN, chúng ta chỉ sử dụng một lớp fully connected. Trong ví dụ này, chúng ta lấy vectơ

2 chiều làm đầu ra (2 nút tại lớp kết nối đầy đủ). . . . . . . . . . . . . . . . . . . . . . . . 16

2.9 được trích xuất từ medium.com, ví dụ GCN 2 lớp: đầu ra của lớp thứ nhất là đầu vào của
lớp thứ hai.Lưu ý rằng mạng thần kinh trong GCN chỉ đơn giản là một lớp fully connected. 17

2.10 Từ đồ thị G, ta có ma trận kề A và ma trận bậc D. Ta cũng có ma trận đặc trưng X. . . 18
2.11 Tính hàng đầu tiên của “ma trận vectơ tổng” AX. . . . . . . . . . . . . . . . . . . . . . . 18
2.12 Bằng cách thêm một vòng lặp tự vào mỗi nút, chúng ta có ma trận kề mới. . . . . . . . . 19
2.13 Chúng ta chỉ chuẩn hóa theo hàng nhưng bỏ qua các cột tương ứng của chúng. . . . . . . 20
2.14 Thêm một chuẩn hóa mới cho các cột. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.15 Khi tổng hợp đặc trưng tại nút B, chúng ta chỉ định trọng số lớn nhất cho chính nút B

(bậc 3) và trọng số thấp nhất cho nút E (bậc 5). . . . . . . . . . . . . . . . . . . . . . . . 21
2.16 Bởi vì chúng ta chuẩn hóa hai lần, chúng ta thay đổi "-1" thành "-1/2". . . . . . . . . . . 21
2.17 Ví dụ: Q trình thu thập thơng tin với 2 lớp nút đích i. . . . . . . . . . . . . . . . . . . . 22
2.18 Hiệu suất trên số lớp. Được trích dẫn từ [12] . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.19 được trích dẫn từ [20], sự khác biệt của khám phá vùng lân cận giữa tích chập đồ thị

truyền thống và phân cụm, nút màu đỏ là nút bắt đầu cho mở rộng các nút lân cận. Tích
chập đồ thị truyền thống bị ảnh hưởng từ sự mở rộng vùng lân cận theo cấp số nhân, trong
khi phương pháp Cluster-GCN có thể tránh chi phí cao khi mở rộng vùng lân cận. . . . . 31
2.20 được trích dẫn từ [20], biểu đồ của các giá trị entropy dựa trên phân phối nhãn [20]. Ở
đây chúng ta trình bày trong mỗi đợt sử dụng phân vùng ngẫu nhiên so với phân phân
cụm. Hầu hết các batch được phân cụm có entropy nhãn thấp, cho biết phân phối nhãn
sai lệch trong mỗi batch. Khi so sánh, phân vùng ngẫu nhiên sẽ dẫn đến entropy nhãn lớn
hơn trong một batch mặc dù nó kém hiệu quả hơn như đã thảo luận trước đó. Chúng ta
phân vùng tập dữ liệu Reddit với 300 cụm trong ví dụ này. . . . . . . . . . . . . . . . . . 34
2.21 Đây là cơ chế chiều phân vùng ngẫu nhiên, được trích dẫn từ [20], trong mỗi vòng lặp,
chúng đoực lấy mẫu ngẫu nhiên q cụm (q = 2 được sử dụng trong ví dụ này) và liên kết
giữa các cụm của chúng để tạo thành một batch mới. Các khối màu giống nhau nằm trong

cùng một batch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.22 So sánh việc chọn một cụm so với đa cụm được trích dẫn từ [20]. một cluster sử dụng 300
phân vùng và chọn ra một phân vùng làm một batch. Đa cụm sử dụng 1500 phân vùng và
chọn ngẫu nhiên 5 để tạo thành một batch. Số vòng lặp (trục x) so với điểm đánh giá F1
(trục y). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.1 biểu diễn bộ dữ liệu Citeseer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

ix

3.2 Bộ dữ liệu Cora trên tập huấn luyện, tập đánh giá, và tập kiểm tra, từ vòng lặp 0 đến 200. 44
3.3 Bộ dữ liệu Citeseer trên tập huấn luyện, tập đánh giá, và tập kiểm tra, từ vòng lặp 0 đến

200. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.4 Bộ dữ liệu Pubmed trên tập huấn luyện, tập đánh giá, và tập kiểm tra, từ vòng lặp 0 đến

200. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.5 Kết quả của quá trình huấn luyện với Citeseer, Cora và Pubmed từ vịng lặp 0 đến 200. . 45
3.6 So sánh điểm F1 từ Lớp 2 đến Lớp 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.7 So sánh mất mát trên tập dữ liệu PPI với các mơ hình và loại lớp (layer) Khác nhau. . . 48
3.8 Điểm F1 so với thời gian huấn luyện cho các Lớp. . . . . . . . . . . . . . . . . . . . . . . . 49
3.9 Điểm F1 so với sử dụng bộ nhớ cho các Lớp. . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.10 Sự tương quan giữa sử dụng bộ nhớ trung bình, thời gian huấn luyện trung bình và Điểm

F1 (lớp 3) trên tập dữ liệu PPI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.11 Điểm F1 trên Reddit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.12 Sự tương quan giữa Sử dụng bộ nhớ trung bình, thời gian huấn luyện trung bình và Điểm

F1 (Lớp 3) trên tập dữ liệu Reddit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52


1

Mở đầu

1. Lý do chọn đề tài

Phát hiện cộng đồng là một nhiệm vụ quan trọng trong phân tích mạng xã hội, cho phép chúng ta
xác định và hiểu các cộng đồng trong cấu trúc xã hội. Phát hiện cộng đồng có thể hỗ trợ và tạo ra một
số ứng dụng SNA hiệu quả và hiệu quả hơn: việc phổ biến ý tưởng hoặc công nghệ mới có thể được tối
đa hóa bằng cách xác định nhóm người quan tâm đến một chủ đề nhất định, đề xuất đề xuất có thể được
cải thiện có tính đến cách các mối quan hệ xã hội có thể bị ảnh hưởng bởi lựa chọn của người dùng và
hành vi của những người trong cùng cộng đồng, nhiệm vụ tìm kiếm chun gia có thể chính xác hơn nếu
người dùng sớm được chia thành các nhóm theo chủ đề, v.v.

2. Mục đích và nhiệm vụ nghiên cứu

• Nghiên cứu bài tốn phát hiện cộng đồng mạng, các cách tiếp cận phát hiện cộng đồng, ứng dụng
học sâu trong phát hiện cộng đồng.

• Cài đặt thực nghiệm các thuật toán phát hiện cộng đồng mạng dựa trên mạng học sâu.

3. Bố cục

• Chương 1 (giới thiệu) chương này giới thiệu tổng quan về nghiên cứu, bao gồm phần phát hiện
cộng đồng, trong đó đề cập đến mục tiêu và quan trọng của việc phát hiện cộng đồng trong đồ thị.
Tiếp theo là học học sâu trên đồ thị, thảo luận về việc sử dụng học sâu trong nghiên cứu này. Cuối
cùng, phần các nghiên cứu liên quan tập trung vào việc tổng hợp và đánh giá những nghiên cứu có
liên quan đến chủ đề này.

• Chương 2 (ứng dụng học sâu trên đồ thị trong phát hiện cộng đồng) chương này tập

trung vào việc áp dụng học sâu trong phát hiện cộng đồng. Phần định nghĩa bài toán và Xây dựng
đồ thị nêu rõ mục tiêu của nghiên cứu và quy trình xây dựng đồ thị. Sau đó, mạng tích chập đồ
thị và phân lớp cộng đồng, trình bày cách sử dụng mạng tích chập đồ thị để phân lớp cộng đồng.
Phần phân cụm cộng đồng, nói về việc phân cụm các cộng đồng và những thách thức liên quan.

2

• Chương 3 (thực nghiệm) chương này tập trung vào việc thực hiện các thử nghiệm để kiểm tra
và đánh giá phương pháp đã đề cập trong chương 2 (sự cần thiết của thực nghiệm), giải thích tại
sao thực nghiệm là quan trọng. Phần dữ liệu và cài đặt mô tả về dữ liệu sử dụng và quá trình cài
đặt thực nghiệm. Phần Kết quả và kết luận tổng hợp kết quả của thử nghiệm và đề xuất hướng
phát triển tiếp theo. cộng đồng mạng giới hạn trên một (hoặc một số) miền dữ liệu.

3

Chương 1

Giới thiệu

Chương 1 của nghiên cứu này giới thiệu chủ đề về phát hiện cộng đồng bằng sử dụng học sâu trên
đồ thị. Chương này khám phá về mật độ của việc phát hiện cộng đồng trong các mạng phức tạp và cách
tiếp cận thơng qua học sâu. Chúng ta sẽ tìm hiểu về ý nghĩa và các ứng dụng quan trọng của việc phát
hiện cộng đồng (1.1). Tiếp theo, chúng ta sẽ bàn về khía cạnh phức tạp của việc làm việc với học sâu
trên đồ thị (1.2) và đánh giá những nghiên cứu liên quan đã được tiến hành (1.3). Kiến thức chuẩn bị
(1.4). Chương này là nền tảng quan trọng cho các chương sau trong nghiên cứu, nhằm giúp mở rộng sự
hiểu biết về việc phát hiện cộng đồng và áp dụng học sâu trong ngữ cảnh của đồ thị.

1.1. Phát hiện cộng đồng

Phát hiện cộng đồng là một khái niệm cơ bản trong phân tích mạng, đặc biệt trong lĩnh vực lý

thuyết đồ thị và phân tích mạng xã hội. Nó liên quan đến việc xác định các nhóm hoặc cộng đồng trong
một mạng phức tạp, trong đó các nút (đại diện cho các thực thể như cá nhân, trang web, hoặc protein)
trong cùng một cộng đồng có mối quan hệ mật độ cao hơn với nhau so với các nút trong các cộng đồng
khác. Phát hiện cộng đồng giúp chúng ta hiểu rõ hơn về cấu trúc và tổ chức của các mạng, phát hiện ra
các mẫu ẩn, mối quan hệ và các mô-đun chức năng bên trong chúng.

1.2. Học học sâu trên đồ thị

Một trong những phát triển của phát hiện cộng đồng là nghiên cứu về đồ thị học sâu. Đồ thị học
sâu, còn được gọi là mạng học sâu, phức tạp hơn so với đồ thị đơn lớp truyền thống vì nó bao gồm học
sâu hoặc mạng kết nối với nhau. Mỗi lớp đại diện cho một loại mối quan hệ hoặc tương tác khác nhau
giữa các nút, và những lớp này thường phụ thuộc vào nhau.

Dưới đây là một số khía cạnh quan trọng khi nghiên cứu về đồ thị học sâu và phát hiện cộng đồng
trong chúng:

4

1. Đa dạng về lớp: trong đồ thị học sâu, mỗi lớp có thể có riêng một tập hợp các nút, cạnh và đặc
điểm riêng của nó. Các lớp này có thể đại diện cho các loại mối quan hệ khác nhau, chẳng hạn như
mối quan hệ xã hội, sự cộng tác trong việc viết bài, hoặc mạng giao thông.

2. Sự kết nối giữa các lớp: Các lớp trong một đồ thị học sâu có thể kết nối với nhau, nghĩa là các nút
trong một lớp có thể liên kết với các nút trong các lớp khác. Sự kết nối giữa các lớp này cho phép
nghiên cứu về cách các loại mối quan hệ hoặc tương tác khác nhau ảnh hưởng lẫn nhau.

3. Phát hiện cộng đồng trong đồ thị học sâu: nhằm xác định các cộng đồng tồn tại đồng thời trên học
sâu. Điều này bao gồm việc xem xét cả các kết nối bên trong và giữa các lớp khi xác định và phát
hiện cộng đồng.


4. Ứng dụng: phân tích đồ thị học sâu có rất nhiều ứng dụng, chẳng hạn như hiểu về động thái của
mạng xã hội, nghiên cứu về tương tác giữa mạng giao thông và mạng xã hội, và phân tích các hệ
thống sinh học với nhiều loại tương tác (ví dụ: tương tác protein-protein và tương tác gen).

5. Thách thức: phân tích đồ thị học sâu có thể khá phức tạp do sự phức tạp của chúng. Các thuật
toán phát hiện cộng đồng truyền thống dành cho đồ thị đơn lớp có thể khơng áp dụng trực tiếp
trong tình huống đồ thị học sâu. Các nhà nghiên cứu đã phát triển các phương pháp đặc biệt để
giải quyết những thách thức này, chẳng hạn như tối ưu hóa tính mơ đun, phân tích tensor và mơ
hình khối ngẫu nhiên cho mạng học sâu.

6. Ví dụ thực tế: phân tích đồ thị học sâu đã được áp dụng trong nhiều tình huống thực tế. Ví dụ,
trong một hệ thống giao thơng, một lớp có thể đại diện cho mạng đường giao thông, một lớp khác
có thể đại diện cho mạng giao thơng hàng khơng và một lớp khác có thể đại diện cho hệ thống giao
thông công cộng. Bằng việc nghiên cứu những lớp này cùng nhau, chúng ta có thể thu được những
hiểu biết về cơ sở hạ tầng giao thông tổng thể và tác động của nó đối với quy hoạch đơ thị.

1.3. Các nghiên cứu liên quan

Nghiên cứu trong lĩnh vực phát hiện cộng đồng trong đồ thị học sâu đang liên tục phát triển, và đã
có nhiều nghiên cứu được thực hiện trong lĩnh vực này. Dưới đây là một số cơng trình nghiên cứu đáng
chú ý và các lĩnh vực nghiên cứu liên quan đến phân tích đồ thị học sâu và phát hiện cộng đồng:

1. "Multilayer Networks" của Mark E. J. Newman (2018) [1] cung cấp một tổng quan toàn diện về
mạng học sâu, bao gồm thảo luận về phát hiện cộng đồng, phân tích cấu trúc và các ứng dụng trong
nhiều lĩnh vực khác nhau.

2. "Community Detection in Multi-Layer Graphs: A Survey" của Andrea Lancichinetti và cộng sự.
(2015) [2] cung cấp một cái nhìn tổng quan chi tiết về các phương pháp phát hiện cộng đồng trong đồ
thị học sâu và thảo luận về các ứng dụng trong các mạng xã hội, mạng sinh học và công nghệ.


5

3. "Stability and Extensibility of Community Structure in Complex Networks" của Michael T.
Schaub và cộng sự (2017) [3] xem xét tính ổn định của cấu trúc cộng đồng qua học sâu trong các mạng
động, cung cấp thông tin về cách cộng đồng phát triển theo thời gian.

4. "Community Detection in Multi-layer Networks: A Survey" của Jie Wang và cộng sự (2019) [4]
tập trung vào phát hiện cộng đồng trong đồ thị học sâu, tập trung vào các phương pháp khác nhau và
ứng dụng của chúng trong các mạng thực tế.

5. "Tensor Decomposition for Multi-layer Network Analysis" của Austin R. Benson và cộng sự
(2015) [5] giới thiệu các phương pháp dựa trên tensor để phân tích mạng học sâu và phát hiện cộng đồng.
Nó khám phá các tương tác bậc cao giữa các lớp.

6. "Interconnected Multilayer Networks: Dynamics and Structural Properties" của Bruno Messias
và cộng sự (2017) [6] nghiên cứu động học và tính chất cấu trúc của các mạng học sâu liên kết, nhấn
mạnh tầm quan trọng của việc hiểu về sự phụ thuộc giữa các lớp.

7. "Consensus Clustering in Multilayer Networks" của Tijana Milenkovi´c và cộng sự (2016) [7] trình
bày các phương pháp gom cộng đồng dành riêng cho các mạng học sâu, cho phép tích hợp thông tin từ
các lớp khác nhau để cải thiện việc phát hiện cộng đồng.

8. "Stochastic Block Models and Community Detection in Large Multi-layer Networks" của Tiago
P. Peixoto (2018) [8] áp dụng mô hình khối ngẫu nhiên (SBMs) vào các mạng học sâu và nhấn mạnh
hiệu suất của chúng trong việc khám phá cộng đồng.

9. "Community Detection in Multi-layer Networks: A Novel Method for Consistency-Based Clus-
tering" của Xuan Zhang và cộng sự (2020) [9] đề xuất một phương pháp mới dựa trên tính nhất quán cho
việc phát hiện cộng đồng trong đồ thị học sâu, thể hiện sự cải thiện trong hiệu suất so với các phương
pháp hiện có.


10. "Application of Multilayer Network Analysis in Functional Connectivity Studies of the Brain"
của Matteo Pasqualetti và cộng sự (2018) [10] khám phá ứng dụng của phân tích mạng học sâu trong
nghiên cứu về kết nối chức năng trong não người, cho thấy cách nó có thể tiết lộ các mẫu phức tạp của
hoạt động não bộ.

Các cơng trình nghiên cứu trong các lĩnh vực này cung cấp thông tin quý giá để thúc đẩy sự phát
triển của việc phát hiện cộng đồng trong các đồ thị học sâu, cung cấp một loạt các phương pháp và ứng
dụng đa dạng trong nhiều lĩnh vực khác nhau. Các nhà nghiên cứu tiếp tục phát triển lĩnh vực này, tìm
kiếm các phương pháp đổi mới để hiểu sâu hơn về sự phức tạp của các mạng liên kết và cộng đồng bên
trong chúng.

1.4. Kiến thức chuẩn bị

Trước khi bắt đầu nghiên cứu, chúng ta cần làm quen với các khái niệm quan trọng liên quan đến
mạng tích chập đồ thị, hàm mất mát và quy trình huấn luyện. Dưới đây, chúng tôi cung cấp một bản
tổng quan ngắn gọn về những khái niệm này.

6

Huấn luyện Mini-Batch

Chiến lược huấn luyện mini-batch bằng cách sử dụng các đồ thị phụ được gom nhóm, giảm bộ nhớ
và u cầu tính tốn.

Hàm mất mát (mục tiêu)

Hàm mất mát chuẩn dựa trên entropy chéo (cross-entropy loss) cho nhiệm vụ phân loại bán giám
sát. Hàm mất mát này khuyến khích các nhãn dự đốn phải khớp với nhãn thực tế. Công thức hàm mất
mát như sau:


NC

L=− Yij log(Pij )

i=1 j=1

Trong đó:

• N là số lượng nút.
• C là số lượng lớp.
• Yij là một chỉ báo (0 hoặc 1) cho việc xác định xem nút i có thuộc lớp j hay khơng.
• Pij là xác suất dự đoán rằng nút i thuộc lớp j.

Học tham số

Các tham số trong GCNs bao gồm ma trận trọng số W (l) cho mỗi lớp và ma trận đặc trưng H(l) tại
mỗi lớp. Các tham số này được học thơng qua q trình lan truyền ngược (backpropagation) và gradient
descent. Hàm mất mát được tối ưu hóa dựa trên các tham số này.

Lan truyền ngược

Các độ dốc của hàm mất mát đối với các tham số mô hình được tính tốn bằng phương pháp lan
truyền ngược, và các tham số được cập nhật theo cách lặp lại sử dụng gradient descent hoặc các biến thể
khác như Adam hoặc SGD.

Chế độ chính quy

Để ngăn chặn hiện tượng quá khớp, bài báo có thể đề cập đến việc sử dụng các kỹ thuật chế độ
chính quy, ví dụ như chế độ chính quy L2 trên các tham số trọng số.


Những khái niệm này cung cấp một nền tảng để hiểu các khía cạnh quan trọng của nghiên cứu.
Thông tin chi tiết và biến thể cụ thể có thể được tìm thấy trong các bài báo được trích dẫn.

7

1.5. Tổng kết chương 1

Trong chương 1, chúng ta đã khám phá hai khái niệm quan trọng: phát hiện cộng đồng trong đồ
thị và học học sâu trên đồ thị. Những khái niệm này đóng vai trị quan trọng trong lĩnh vực phân tích
mạng và mang lại cái nhìn sâu rộng về cấu trúc và tổ chức của các mạng phức tạp.

Chúng ta đã tìm hiểu về phát hiện cộng đồng, một lĩnh vực quan trọng trong nghiên cứu mạng,
giúp xác định các cộng đồng hoặc nhóm trong mạng. Chúng ta đã thấy cách nó giúp chúng ta hiểu về
cấu trúc mạng và phát hiện ra các mẫu ẩn, mối quan hệ và mô-đun chức năng bên trong chúng.

Chúng ta cũng đã đề cập đến mạng học sâu, một sự mở rộng của mạng truyền thống vì nó bao gồm
học sâu hoặc mạng kết nối với nhau. Mỗi lớp đại diện cho một loại mối quan hệ hoặc tương tác giữa các
nút, và những lớp này thường phụ thuộc vào nhau.

Chương 1 cũng đã nêu bật những khía cạnh quan trọng khi nghiên cứu về đồ thị học sâu và phát
hiện cộng đồng trong chúng, bao gồm đa dạng về lớp, sự kết nối giữa các lớp, và ứng dụng thực tế trong
nhiều lĩnh vực.

Chương tiếp theo sẽ tập trung vào việc xem xét các phương pháp và ứng dụng cụ thể liên quan đến
các khái niệm này, giúp chúng ta hiểu sâu hơn về cách nghiên cứu và áp dụng chúng trong thực tế.

8

Chương 2


Ứng dụng học sâu trên đồ thị trong

phát hiện cộng đồng

Chương 2 tập trung vào khía cạnh lý thuyết và định nghĩa vấn đề, đồng thời đánh giá giới hạn
của mạng tích chập đồ thị GCN và các phương pháp truyền thống khác. Chương này cũng so sánh sự
khác biệt giữa phân vùng ngẫu nhiên và phân vùng phân cụm, bao gồm cả sự hình thành của thuật tốn
Cluster-GCN , cũng như những thách thức khi đào tạo mạng tích chập đồ thị học sâu. Dựa trên những
kiến thức này, chương 2 xây dựng nền tảng quan trọng cho việc thực hiện các thực nghiệm trong Chương
3.

2.1. Định nghĩa bài toán

Cho một đồ thị có thuộc tính vơ hướng G = (V, E, X), trong đó V = {v1, v2, ..., vn} là tập hợp gồm
n đỉnh và E là tập hợp các cạnh với eij = (vi, vj) ∈ E nếu có một cạnh nối giữa các đỉnh vi và vj, và
X = {x1, x2, ..., xn} ∈ Rn×F là ma trận thuộc tính, trong đó mỗi đỉnh vi được kết nối với một vector
thuộc tính xi có kích thước F . Mục tiêu là gán mỗi đỉnh vào một tập hợp riêng biệt và không chồng chéo
C dựa trên cả cấu trúc của đỉnh và thuộc tính của chúng.

Mạng tích chập đồ thị GCN đã chứng tỏ được sự thành công đáng kể trong nhiều lĩnh vực, đặc biệt
là trong các nhiệm vụ như phân loại đỉnh và dự đoán liên kết. GCN tận dụng cấu trúc đồ thị cơ bản để
học các biểu diễn ý nghĩa cho các đỉnh, từ đó giúp phân loại chính xác các đỉnh và dự đoán các liên kết
trong đồ thị.

Hơn nữa, GCN gần đây cũng đã được ứng dụng để phân cụm các đỉnh trong các đồ thị có thuộc
tính. Các biểu diễn được học bởi GCN có thể được sử dụng như một phần của quá trình phân cụm dữ
liệu, sau khi dữ liệu đã được phân cụm ban đầu bằng một phương pháp như METIS (sẽ được giải thích
trong phần Cluster-GCN ). Trong bối cảnh này, các biểu diễn được học bởi GCN có thể được sử dụng


9

làm đầu vào cho các nhiệm vụ phân cụm dữ liệu, giúp khám phá cấu trúc cộng đồng trong đồ thị.
Mạng nơ-ron đồ thị (GNN), trong đó GCN là một phần, bao gồm một gia đình rộng hơn của các

mơ hình mạng nơ-ron được thiết kế cho dữ liệu dựa trên đồ thị. GNNs, nói chung, đã mở ra cách tiếp
cận đầy sáng tạo để tận dụng dữ liệu đồ thị cho các nhiệm vụ khác nhau, bao gồm các hệ thống gợi ý,
phát hiện bất thường và phân tích mạng xã hội.

Đề án này đề cập một số phương pháp tận dụng GCN và khả năng của chúng trong phân loại, phân
cụm và các kỹ thuật GNN liên quan để giải quyết các vấn đề phức tạp dựa trên đồ thị.

2.2. Xây dựng đồ thị

2.2.1. Định nghĩa mạng

(a) (b)

Hình 2.1: được trích dẫn từ [11] (a) hình minh họa đồ thị trong đó các nút biểu thị người dùng trong
mạng xã hội. (b) Hình minh họa về hai cộng đồng (C1 và C2 ) dựa trên dự đoán nghề nghiệp của người
dùng. Việc phát hiện sử dụng sự tương đồng của người dùng trong các hoạt động trực tuyến (cấu trúc
liên kết) và hồ sơ tài khoản (thuộc tính).

• Cho một mạng cơ bản G = (V, E), trong đó V = v1, . . . , vn là tập nút với E = {eij}nn j=1 đại

2

diện cho tập cạnh giữa các nút. N(W] = {U ∈ V |(W , u) ∈ E⟩ xác định vùng lân cận của một nút
vi. A = [aij] biểu thị ma trận kề n × n chiều, trong đó aij = 1 nếu ϵij ∈ E, ngược lại aij = 0.
Nếu aij̸ = aji, G là mạng có hướng, nếu khơng thì đó là mạng vơ hướng. Nếu aij là có trọng số bởi

wij ∈ W, G = (V, E, W ) là mạng có trọng số, mặt khác, nó là một mạng khơng có trọng số. Nếu
giá trị của aij khác nhau trong +1 (dương) và −1 (âm), G là mạng đã được định nghĩa. Nếu nút
vi ∈ V được gán bởi xi ∈ X ⊆ Rn×d, G = (V, E, X) là mạng được phân bổ, nếu khơng thì đó là
mạng khơng được phân bổ.

2.2.2. Biểu diễn đồ thị

• Trước khi bắt đầu thảo luận về các hoạt động mạng thần kinh cụ thể trên đồ thị, chúng ta nên
xem xét cách biểu diễn đồ thị. Về mặt toán học, một đồ thị G được định nghĩa là một bộ gồm một
tập các nút/đỉnh V và một tập các cạnh/đường liên kết E:G = (V, E).. Mỗi cạnh là một cặp gồm
hai đỉnh và biểu thị một kết nối giữa chúng. Chẳng hạn, hãy xem đồ thị sau:
Các đỉnh là V = {1, 2, 3, 4}, và các cạnh E = {(1, 2), (2, 3), (2, 4), (3, 4)}.. Lưu ý rằng để đơn giản,
chúng ta giả sử đồ thị là vô hướng và do đó khơng thêm các cặp đối xứng. Trong ứng dụng, các


×