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ácyêu cầu phát hiện cộng đồng.. Bốn khung phát hiện cộng đồng được minh h
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 quá 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 Toá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ể hoà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ể hoà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 toá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 toá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ụ: Quá 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