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

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

69 1 0

Đ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 đề Phát hiện cộng đồng sử dụng học sâu trên đồ thị
Tác giả Phạm Quang Vinh
Người hướng dẫn TS. Lê Quang Hùng
Trường học Trường Đại học Quy Nhơn
Chuyên ngành Khoa học dữ liệu ứng dụng
Thể loại Đề án Thạc sĩ
Năm xuất bản 2023
Thành phố Bình Định
Định dạng
Số trang 69
Dung lượng 3,44 MB

Nội dung

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

Trang 2

TRƯỜNG ĐẠI HỌC QUY NHƠN

Trang 3

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àytrong đề án này đã được ghi rõ nguồn trong phần tài liệu tham khảo

Trang 4

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ốtquá 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ẫnnghiê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ượtqua 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

Trang 5

Mục lục

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

Trang 6

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

Trang 7

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 GraphsGNN 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

Trang 8

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ớ, LF2 dùng để lưu trữ {W(l)}L

l=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

Trang 9

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 trongmạ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áchoạ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) 92.2 Đồ thị đơn giản (4 nút và 4 cạnh) 102.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ácyêu cầu phát hiện cộng đồng Đồ thị học đại diện (graph representation) được kích hoạtbởi σ(·) Bốn khung phát hiện cộng đồng được minh họa trong ((1) and (4)) áp dụng biểudiễ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ệntừ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 142.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ầngGCN 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ẻ quacá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ệuCora [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 152.5 đồ thị có thể tự học những đặc trưng 152.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) 152.7 được trích xuất từ medium.com, Ý tưởng chuyển đổi từ hình ảnh sang đồ thị 16

Trang 10

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

Trang 11

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 443.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 443.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 453.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 453.6 So sánh điểm F1 từ Lớp 2 đến Lớp 6 463.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 483.8 Điểm F1 so với thời gian huấn luyện cho các Lớp 493.9 Điểm F1 so với sử dụng bộ nhớ cho các Lớp 503.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ểmF1 (lớp 3) trên tập dữ liệu PPI 513.11 Điểm F1 trên Reddit 523.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ểmF1 (Lớp 3) trên tập dữ liệu Reddit 52

Trang 12

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 taxá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ể đượccả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 chuyên gia có thể chính xác hơn nếungườ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 toá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ụnghọ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ệncộ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ốicù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ậptrung 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

Trang 13

• 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ạisao 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ướngphá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

Trang 14

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áchtiế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áthiệ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âutrê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ị

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 trongmộ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 đồngkhá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 racác mẫu ẩn, mối quan hệ và các mô-đun chức năng bên trong chúng

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ọcsâ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ọcsâ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 nhaugiữ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 đồngtrong chúng:

Trang 15

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úttrong 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épnghiê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ọcsâ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áthiệ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ủamạ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ậttoá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ếptrong 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 giaothô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ữnghiể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ị

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 đángchú ý 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 trongnhiề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ệ

Trang 16

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ấnmạ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ìnhbà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ạnhhiệ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 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 choviệ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ươngpháp hiện có

Clus-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 trongnghiê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ủahoạ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áttriể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à ứngdụ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ìmkiế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êntrong chúng

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 đếnmạ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ảntổng quan ngắn gọn về những khái niệm này

Trang 17

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à yêu cầu tính toá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ámsát Hàm mất mát này khuyến khích các nhãn dự đoán phải khớp với nhãn thực tế Công thức hàm mấtmát như sau:

• 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ạimỗi lớp Các tham số này được học thông qua quá trình lan truyền ngược (backpropagation) và gradientdescent 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 toán bằng phương pháp lantruyề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

Trang 18

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íchmạ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ồmhọ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ácnú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áthiệ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ế trongnhiề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 đếncá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ế

Trang 19

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 vectorthuộc tính xicó 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ếttrong đồ 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ộctí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íchtrong 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

Trang 20

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ếpcậ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âncụ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ị

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

n

2 j=1 đạidiệ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ếugiá 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ênxem 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ộttậ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ồmhai đỉ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

Trang 21

Hình 2.2: Đồ thị đơn giản (4 nút và 4 cạnh).

đỉnh và cạnh thường có thể có các thuộc tính cụ thể và các cạnh thậm chí có thể được định hướng.Câu hỏi đặt ra là làm thế nào chúng ta có thể biểu diễn sự đa dạng này một cách hiệu quả chocác phép toán ma trận Thông thường, đối với các cạnh, chúng ta quyết định giữa hai biến thể: matrận kề hoặc danh sách các chỉ số đỉnh được ghép nối

Ma trận kề A là một ma trận vuông có các phần tử cho biết các cặp đỉnh có kề nhau hay không,tức là có liên thông hay không Trong trường hợp đơn giản nhất, Aij là 1 nếu có kết nối từ nút iđến j và ngược lại là 0

Trang 22

và (có thể) tính toán, thì việc sử dụng ma trận kề sẽ trực quan hơn và đơn giản hơn để thực hiện.

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

Cho một tập hợp các cộng đồng C = {C1 , C2 , · · · , CK}, mỗi cộng đồng Ck là một phân hoạchcủa G trong đó giữ cấu trúc khu vực và tính chất cụm một nút vi tập hợp thành quần xã vk nên thỏamãn điều kiện mức độ nút nội bộ bên trong cộng đồng vượt quá mức của nó bằng cấp bên ngoài Giả sử

Ck∩ Ck ′ = ∅, (∀k k′), C ký hiệu cộng đồng rời rạc; các cộng đồng chồng chéo khác

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

Các mô hình học học sâu có đầu vào như cấu trúc liên kết mạng và thuộc tính mạng Các cấu trúcliên kết được hình thành bởi các nút và các cạnh có thể được biểu diễn bằng các ma trận như ma trận kề

A, ma trận kề có dấu A(+, -) và các ma trận đo lường như tính mô đun ma trận B (bij = aij − ki k j

2m).Thuộc tính mạng biểu thị thông tin bổ sung trên các thực thể mạng chẳng hạn như thuộc tính nút X

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

Phương pháp phát hiện cộng đồng nhằm mục đích tạo ra một tập hợp các cộng đồng có thể là rờirạc hoặc chồng chéo Đầu ra khác nhau bằng cách sử dụng các phương pháp phát hiện cộng đồng khácnhau Cộng đồng rời rạc, ví dụ: câu lạc bộ sinh viên cho phép một sinh viên chỉ tham gia một câu lạc bộ.Cộng đồng chồng chéo, ví dụ: người dùng tham gia trong một số vòng kết nối trong mạng xã hội Cácphương pháp cho các cộng đồng chồng chéo có thể phát hiện các cộng đồng rời rạc

GCN tổng hợp thông tin nút của vùng lân cận trong các lớp tích chập của đồ thị học học sâu đểnắm bắt toàn cục các đặc trưng phức tạp để phát hiện cộng đồng (hình 2.21) có hai phương pháp pháthiện cộng đồng dựa trên GCN: (1) phân loại cộng đồng được giám sát/bán giám sát và (2) phân cụmcộng đồng với đại diện mạng không giám sát Phương pháp phân loại cộng đồng bị hạn chế do thiếu nhãntrong thực tế Để so sánh, các biểu diễn mạng linh hoạt hơn đối với các nhóm cộng đồng thông qua các

kỹ thuật như tái tạo ma trận và tối ưu hóa khách quan GCN sử dụng một số phương pháp phát hiệncộng đồng truyền thống như toán tử đồ thị học sâu (deep graph operators), chẳng hạn như SBM để suyluận thống kê, ma trận Laplacian để phân tích phổ và các mô hình đồ họa xác suất truyền bá thông tin

Ví dụ, Mạng nơ-ron đồ thị đường kẻ (LGNN) là một mô hình mạng giám sát phát hiện cộng đồng, giúpcải thiện SBM với hiệu suất phát hiện cộng đồng tốt hơn và giảm chi phí tính toán Tích hợp toán tửkhông quay lui với quy tắc truyền thông điệp của lan truyền tới, LGNN học các đặc trưng của nút đượcđại diện trong các mạng có hướng Hàm kích hoạt (softmax) xác định xác suất có điều kiện mà một nút

Trang 23

vi thuộc về với cộng đồng Ck (oi,k= p(yi= ck|Θ, G), và cực tiểu hóa loss (cross-entropy loss) trên tất cảcác hoán vị có thể có SC của nhãn cộng đồng:

bộ đã học được trong đường dẫn mở rộng

Vì các loại kết nối khác nhau thường được xử lý dưới dạng các cạnh đơn giản, GCN đại diện chotừng loại kết nối và tổng hợp chúng, dẫn đến các biểu diễn dư thừa IPGD là mạng đồ thị tách biệt độclập được thúc đẩy tính độc lập, phân biệt vùng lân cận thành các phần khác nhau và tự động khám phácác đặc trưng tiềm ẩn độc lập của đồ thị, để giảm bớt khó khăn trong việc phát hiện cộng đồng.Đối với các đồ thị được gán, việc phát hiện cộng đồng bằng GCN phụ thuộc vào cả thông tin cấutrúc và các đặc trưng được gán, trong đó các nút lân cận và các nút có đặc trưng tương tự có khả năngnhóm lại trong cùng một cộng đồng Do đó, đồ thị tích chập nhân hai tín hiệu đồ thị trên và cần để lọc

ra nhiễu ở tần số cao cho ra kết quả một cách trơn tru Để đạt được điều này, một bộ lọc thông thấpđược nhúng trong AGC với sự phân cụm quang phổ thông qua:

Trang 24

L =X

Để nắm bắt cấu trúc cụm toàn cục cho cộng đồng tuy nhiên, SENet cho ra đặc trưng phân cụm đồthị được giới thiệu bằng cách giảm thiểu Loss của phân cụm phổ vào lớp đầu ra của GCN ba lớp:

L = − tr((H(3))⊤D−1KD−1H(3)) (2.6)

trong đó K là các thuộc tính và kiểu mã hóa ma trận hạt nhân

Cộng đồng CommDGI tối ưu hóa biểu diễn đồ thị và phân cụm thông qua thông tin chung -MI vềcác nút và cộng đồng, và các biện pháp mô đun đồ thị để tối đa hóa Nó áp dụng tương phản đào tạo để

Trang 25

có được biểu diễn tốt hơn, k-means cho phân cụm nút và mục tiêu là các cụm trung tâm Zhao et al đềxuất một -graph debiased contrastive learning cái mà đồng thời thực hiện các mã hóa và phân cụm saocho kết quả phân cụm và phân biệt những đặc trưng đều được cải thiện.

Hình 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ưngtiề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 minhhọ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 trongcá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úttrong ((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 đồngvới các nút nhúng được nhúng bằng tích chập

Trong đồ thị graph, chúng ta có các đặc trưng nút (dữ liệu của các nút) và cấu trúc của đồ thị(cách các nút được kết nối) Trước đây, chúng ta có thể dễ dàng lấy dữ liệu từ mỗi nút Nhưng khi nóiđến cấu trúc, việc trích xuất thông tin hữu ích từ nó không phải là chuyện nhỏ Ví dụ: nếu 2 nút gầnnhau, chúng ta có nên đối xử khác với các cặp khác không? Làm thế nào về các nút bậc cao và thấp?Trên thực tế, mỗi nhiệm vụ cụ thể có thể tiêu tốn rất nhiều thời gian và công sức chỉ dành cho FeatureEngineering, tức là chắt lọc cấu trúc thành các đặc trưng

Sẽ tốt hơn nhiều nếu bằng cách nào đó lấy cả đặc trưng nút và cấu trúc làm đầu vào, và để cácthuật toán machine learning tự tìm ra thông tin nào hữu ích

Đó là lý do tại sao chúng ta cần học biểu diễn đồ thị

GCN là một loại mạng thần kinh tích chập có thể hoạt động trực tiếp trên dữ liệu dạng đồ thị vàtận dụng thông tin cấu trúc của chúng nó giải quyết vấn đề phân loại các nút trong đồ thị chẳng hạnnhư tài liệu, mạng trích dẫn, trong đó các nhãn chỉ khả dụng cho một tập hợp con nhỏ các nút (học bángiám sát)

Cái tên "Convolutional" được lấy ý tưởng là từ Convolutional neural network, chuyên sử dụng để

xử lý hình ảnh và sau đó được đưa vào Đồ thị Tuy nhiên, hình ảnh có cấu trúc cố định, đồ thị thì phức

Trang 26

(a) Mạng tích chập đồ thị (b) Kích hoạt lớp ẩn.

Hình 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 GCNhọ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 haitầ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ểuthị lớp tài liệu

Hình 2.5: đồ thị có thể tự học những đặc trưng

Hình 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)

Trang 27

Hình 2.7: được trích xuất từ medium.com, Ý tưởng chuyển đổi từ hình ảnh sang đồ thị.

Ý tưởng chung của GCN : Đối với mỗi nút, chúng ta lấy thông tin đặc trưng từ tất cả các nút lâncận của nó và tất nhiên, đặc trưng của cả chính nó Giả sử chúng ta sử dụng hàm trung bình-average().Chúng ta sẽ làm tương tự cho tất cả các nút Cuối cùng, chúng ta đưa các giá trị trung bình này vàomột mạng thần kinh

Trong hình 2.6, chúng ta có một ví dụ đơn giản với mạng trích dẫn Mỗi nút đại diện cho một bàinghiên cứu, trong khi các cạnh là các trích dẫn Chúng ta có một bước tiền xử lý ở đây Thay vì sử dụngcác bài báo (papers) thô làm đặc trưng, chúng ta chuyển đổi các bài báo thành vectơ (bằng cách sử dụngcác kỹ thuật nhúng của NLP)

Hãy xem xét nút màu xanh lục Trước hết, chúng ta lấy tất cả các giá trị đặc trưng của các hàngxóm của nó, bao gồm cả chính nó, sau đó lấy giá trị trung bình Kết quả sẽ được truyền qua mạng thầnkinh để trả về một vectơ kết quả

Hình 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ụngmộ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 đủ)

Trong thực tế, chúng ta có thể sử dụng các hàm tổng hợp phức tạp hơn là hàm trung bình Chúng

Một số thông tin vả hình ảnh được trích xuất từ: https://medium.com

Trang 28

ta cũng có thể xếp học sâu chồng lên nhau để có GCN học sâu hơn Đầu ra của một lớp sẽ được coi làđầu vào cho lớp tiếp theo Chúng ta hãy xem xét kỹ hơn về các thuật toán để hiểu cách GCN thực sự

Hình 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ớpthứ hai.Lưu ý rằng mạng thần kinh trong GCN chỉ đơn giản là một lớp fully connected

hoạt động như thế nào

Vẫn còn một số điều cần phải cải thiện ở đây

(*)chúng ta bỏ lỡ đặc trưng của nút Ví dụ: hàng đầu tiên của ma trận kết quả cũng phải chứa cácđặc điểm của nút A

(**)Thay vì hàm sum(), chúng ta phải lấy giá trị trung bình, hoặc thậm chí tốt hơn, giá trị trungbình có trọng số của các vectơ đặc trưng của hàng xóm Tại sao chúng ta không sử dụng hàmsum()? Lý do là khi sử dụng hàm sum(), các nút cấp độ cao có khả năng có các vectơ v lớn, trong

Trang 29

Hình 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.

Hình 2.11: Tính hàng đầu tiên của “ma trận vectơ tổng” AX

khi các nút cấp độ thấp có xu hướng nhận các vectơ tổng hợp nhỏ, chính vì điều này sau này có thểgây ra các gradient bùng nổ hoặc biến mất (exploding or vanishing gradients) (ví dụ: khi sử dụngsigmoid) Bên cạnh đó, mạng nơ-ron dường như nhạy cảm với quy mô của dữ liệu đầu vào Vì vậy,chúng ta cần chuẩn hóa các vectơ này để loại bỏ các vấn đề tiềm ẩn Trong Vấn đề (*), chúng ta

có thể khắc phục bằng cách thêm ma trận đơn vị I vào A để nhận được ma trận kề mới ˜A

Trang 30

Chọn lambda = 1 (bản thân đặc trưng của nút cũng quan trọng như các nút lân cận), chúng ta có

à = A + I Lưu ý rằng chúng ta có thể coi lambda là tham số có thể huấn luyện, nhưng hiện tại,chỉ cần gán lambda là 1

Hình 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

Vấn đề (**): để chuẩn hóa ma trận, chúng ta thường nhân ma trận với ma trận đường chéo Trongtrường hợp này, chúng ta muốn lấy giá trị trung bình của đặc trưng tổng, hoặc về mặt toán học,

để chuẩn hóa ma trận vectơ tổng ˜AX theo độ nút Quan sát cho chúng ta biết rằng ma trận đườngchéo này được sử dụng để chuẩn hóa ở đây là thứ gì đó liên quan đến ma trận bậc ˜D (tại sao lại

là ˜D, không phải D? Vì chúng ta đang xem xét ma trận bậc ˜D của ma trận kề mới ˜A, không phải

A nữa)

Vấn đề bây giờ trở thành cách chúng ta muốn chuẩn hóa các vectơ tổng? Nói cách khác:

Làm cách nào chúng ta chuyển thông tin từ hàng xóm sang một nút cụ thể?

Chúng ta sẽ bắt đầu với mức trung bình Trong trường hợp này, nghịch đảo ˜D (tức là ˜D−1) pháthuy tác dụng Về cơ bản, mỗi phần tử trong nghịch đảo ˜D là nghịch đảo của số hạng tương ứngcủa nó trong ma trận đường chéo D Ví dụ nút A có bậc là 2 thì ta nhân vectơ tổng của nút A với

1/2, trong khi nút E có bậc là 5 thì ta nhân vectơ tổng của E với 1/5 , v.v

Do đó, bằng cách nhân phép nghịch đảo ˜D và X, chúng ta có thể lấy giá trị trung bình của tất cảcác vectơ đặc trưng của các lân cận (bao gồm cả chính nó)

Nhưng câu hỏi đặt ra còn về weighted average() thì sao? Theo quan sát, sẽ tốt hơn nếu chúng ta

xử lý các nút bậc cao và thấp khác nhau

Trang 31

Chúng ta hãy xem xét kỹ hơn cách tiếp cận average() mà chúng ta vừa đề cập Từ tính chất Kếthợp của phép nhân ma trận, với ba ma trận bất kỳ A, B và C, (AB)C=A(BC) Thay vì ˜D−1( ˜AX),chúng ta xem xét ( ˜D−1A)X, vì vậy , ˜˜ D−1 cũng có thể được coi là hệ số tỷ lệ của ˜X Từ quan điểmnày, mỗi hàng i của ˜X sẽ được chuẩn hóa theo ˜Dii; (hình 9) Lưu ý rằng ˜X là một ma trận đốixứng, nó có nghĩa là hàng i có cùng giá trị với cột i Nếu chúng ta chia tỷ lệ mỗi hàng i theo ˜Dii,theo quan sát, chúng ta có cảm giác rằng chúng ta cũng nên làm như vậy cho cột tương ứng của

nó Về mặt toán học, chúng ta đang chuẩn hóa ˜Aij, chỉ bởi , ˜Dii Chúng ta đang bỏ qua chỉ số j Vìvậy, điều gì sẽ xảy ra khi chúng ta chuẩn hóa ˜Aij bởi cả ˜Dii và ˜Djj?

Hình 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

Chúng ta thử chiến lược mở rộng quy mô mới: thay vì sử dụng ˜D−1AX, chúng ta sử dụng˜

˜

D−1A ˜˜D−1X

Hình 2.14: Thêm một chuẩn hóa mới cho các cột

Công cụ chuẩn hóa mới cung cấp cho chúng ta mức trung bình có trọng số (weighted) Những gìchúng ta đang làm ở đây là đặt thêm trọng số cho các nút có bậc thấp và giảm tác động của cácnút có bậc cao Ý tưởng về mức trung bình có trọng số này là chúng ta cho rằng các nút cấp độthấp sẽ có tác động lớn hơn đến các nút lân cận của chúng, trong khi các nút cấp độ cao tạo ra tácđộng thấp hơn khi chúng phân tán ảnh hưởng của mình sang quá nhiều nút lân cận Một lưu ý nhỏnữa: Khi sử dụng hai bộ chuẩn hóa ( ˜Dii và ˜Djj), chúng ta thực sự chuẩn hóa hai lần, một lần chohàng như trước và một lần cho cột Sẽ hợp lý nếu chúng ta cân bằng lại bằng cách sửa đổi ˜DiiD˜jjthành p ˜DiiD˜jj Nói cách khác, thay vì sử dụng ˜D−1, chúng ta sử dụng ˜D−1/2 Vì vậy, chúng tatiếp tục thay đổi công thức thành ˜D−1/2A ˜˜D−1/2X

Tóm lại: ˜AX: tổng của tất cả các vectơ đặc trưng của hàng xóm, bao gồm cả chính nó ˜D−1AX:˜giá trị trung bình của tất cả các vectơ đặc trưng của hàng xóm (bao gồm cả chính nó) Ma trận kề

Trang 32

Hình 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ậc3) và trọng số thấp nhất cho nút E (bậc 5).

Hình 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"

được chuẩn hóa theo hàng ˜D−1/2A ˜˜D−1/2X: giá trị trung bình của tất cả các véc-tơ đặc trưng củahàng xóm (bao gồm cả chính nó) Ma trận kề được chuẩn hóa theo cả hàng và cột Bằng cách này,chúng ta nhận được ưu tiên trung bình có trọng số trên các nút bậc thấp Bây giờ chúng ta hãysắp xếp mọi thứ lại với nhau Gọi ˆA = ˜D−1/2A ˜˜D−1/2 chỉ để nhìn rõ Với GCN 2 lớp ta có dạng môhình chuyển tiếp của mình như bên dưới

Z = f (X, A) = softmax ˆA ReLU ˆAXW(0)W(1) (2.8)

Ví dụ: chúng ta có bài toán đa phân loại với 10 lớp, F sẽ được đặt thành 10 Sau khi có các vectơ

10 chiều ở lớp 2, chúng ta chuyển các vectơ này qua hàm softmax để dự đoán

Hàm Loss được tính đơn giản bằng batchi cross-entropy trên tất cả các ví dụ được gắn nhãn, trong

Ý nghĩa của số lớp: Số lớp là khoảng cách xa nhất mà các đặc trưng của nút có thể di chuyển Ví

dụ, với GCN 1 lớp, mỗi nút chỉ có thể lấy thông tin từ các nút lân cận Quá trình thu thập thôngtin diễn ra độc lập, đồng thời cho tất cả các nút

Khi xếp một lớp khác lên trên lớp đầu tiên, chúng ta lặp lại quá trình thu thập thông tin, nhưng

Trang 33

lần này, những người hàng xóm đã có thông tin về những người hàng xóm của chính họ (từ bướctrước) Nó làm cho số lớp là số bước nhảy tối đa mà mỗi nút có thể di chuyển Vì vậy, tùy thuộcvào khoảng cách mà chúng ta nghĩ rằng một nút sẽ nhận được thông tin từ các mạng, chúng ta

có thể định cấu hình một số thích hợp cho số lớp Nhưng một lần nữa, trong đồ thị, thông thườngchúng ta không muốn đi quá xa Với 6–7 bước nhảy, chúng ta gần như có được toàn bộ đồ thị, điềunày làm cho việc tổng hợp trở nên ít ý nghĩa hơn

Hình 2.17: Ví dụ: Quá trình thu thập thông tin với 2 lớp nút đích i

Trang 34

Nên xếp GCN bao nhiêu lớp?

Từ hình bên dưới 2.18, chúng ta thấy rằng kết quả tốt nhất thu được với mô hình 2 hoặc 3 lớp.Bên cạnh đó, với GCN học sâu (hơn 7 lớp) thường có hiệu suất kém (đường xanh nét đứt) Mộtgiải pháp là sử dụng "residual connections" giữa các lớp ẩn (đường màu tím)

Hình 2.18: Hiệu suất trên số lớp Được trích dẫn từ [12]

Algorithm 1: Giải thuật mạng mích chập đồ thị GCNRequire: Đồ thị G, Ma trận đặc trưng X, Tập nút được gán nhãn L, Số tầng L

1: Khởi tạo biểu diễn của nút: H(0)= X

9: Tối ưu hóa tham số: θ ← θ − η∇θL

10: Huấn luyện GCN trên các nút có nhãn: H(L)= Huấn luyện(G, X, L, L)

11: Dự đoán: Dự đoán nhãn cho các nút không có nhãn

12: return Nhãn dự đoán Y

Dưới đây là giải thích từng bước của giải thuật Mạng tích chập đồ thị GCN trong việc phân loạinút đồ thị bằng dữ liệu bán giám sát:

1 Nhập:

• G: Đồ thị đầu vào, biểu diễn bằng tập hợp các nút và các cạnh

• X: Ma trận đặc trưng, trong đó mỗi hàng tương ứng với một nút trong đồ thị và mỗi cột biểudiễn một đặc trưng của nút

• L: Tập hợp các nút có nhãn, đại diện cho các nút có nhãn đã biết trước

• L: Số tầng (lớp) của GCN

Ngày đăng: 25/03/2024, 14:48

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

TÀI LIỆU LIÊN QUAN

w