chương 1 Trong chương này, chúng tôi đã trình bày sơ lược về hệ gợi ý, các nhiệm vụ trong hệ gợi ý, bài toán hệ gợi ý, một số kỹ thuật gợi ý, đánh giá hệ gợi ý và mạng nơ ron đồ thị. Hệ gợi ý là một giải pháp được ứng dụng rộng rãi trong nhiều lĩnh vực nhằm giúp người dùng có thể lựa chọn những sản phẩm cần thiết, tốt nhất phù hợp với nhu cầu, sở thích nhằm tiết kiệm thời gian, chi phí. Trong lĩnh vực mạng nơ ron nhân tạo, đã áp dụng nhiều phương pháp cho hệ gợi ý như: lọc cộng tác bằng mạng nơ-ron (NCF), mạng nơron đệ quy (RNN). Tuy nhiên, các phương pháp này không mang lại hiệu quả bằng phương pháp mạng nơ-ron đồ thị (GNN) khi dự đoán cho một tương tác phức tạp giữa người dùng và sản phẩm hay với những dữ liệu vào phức tạp.
Để khắc phục điều này, trong chương 2 tôi sẽ trình bày về ứng dụng mạng nơ-ron đồ thị (GNN) trong hệ gợi ý. 19 Chương 2 Mạng nơ-ron đồ thị trong hệ gợi ý Trong chương này, chúng tôi định nghĩa về đồ thị, trình bày kỹ thuật mạng nơ-ron đồ thị. Tiếp theo chúng tôi giới thiệu mạng nơ-ron đồ thị trong gợi ý lọc cộng tác và hai mô hình: NGCF và LightGCN.1 Định nghĩa về đồ thị Đồ thị G được biểu diễn dưới dạng G = (V, E): Trong đó V là tập các nút, E là tập các cạnh vi ∈ V là một đỉnh, eij = (vi , vj ) ∈ E là cạnh hướng từ vj tới vi Vùng lân cận của nút v được kí hiệu là N (v) = {u ∈ V | (v, u) ∈ E} Đồ thị có thể được phân loại thành: Đồ thị có hướng/vô hướng. Đồ thị có hướng là đồ thị có tất cả các cạnh hướng từ một nút này sang nút khác.
Đồ thị vô hướng được coi là trường hợp đặc biệt của đồ thị có hướng là một cặp cạnh có hướng ngược nhau nếu hai nút được kết nối với nhau. Đồ thị đồng nhất/không đồng nhất. Đồ thị đồng nhất bao gồm một loại nút và các cạnh, và đồ thị không đồng nhất có nhiều loại nút hoặc cạnh. Siêu đồ thị là sự tổng quát hóa của đồ thị trong đó một cạnh có thể nối bất kỳ với số đỉnh.2 Kỹ thuật mạng nơ-ron đồ thị Với dữ liệu đồ thị, ý tưởng chính của GNN là tổng hợp lặp đi lặp lại thông tin đặc trưng từ các lân cận và tích hợp thông tin tổng hợp với biểu diễn nút trung tâm hiện tại trong quá trình lan truyền [12],[14],[15].
GNN xếp chồng nhiều lớp lan truyền, bao gồm các hoạt động tổng hợp và cập nhật. Các công thức lan truyền là Aggregation : n(l) l v = Aggregatorl ({hu , ∀u ∈ Nv }), (1) (l+1) (l) (l) U pdate : hv = Updaterl (hv , nv ) , Ở đây hlu là biểu diễn của nút u tại lớp thứ l, Aggregatorl và Updaterl là hàm thao tác tổng hợp và cập nhật lại lớp thứ l tương ứng. Ở đây, các hoạt động tổng hợp và cập nhật của năm mô hình GNN điển hình áp dụng rộng rãi trong lĩnh vực gợi ý được tóm tắt như sau: GCN [27] xấp xỉ phân tích riêng bậc nhất của đồ thị Laplacian để tổng hợp thông tin lặp đi lặp lại từ các lân cận. Cụ thể, nó cập nhật nhúng bởi −1 −1 X Aggregation : n(l) v = dvv2 ãvj djj 2 hlj , U pdate : h(l+1) v = δ(W (l) n(l) v ) (2) j∈Nv Trong đó, δ(·) là hàm kích hoạt phi tuyến tính như ReLU , W (l) là ma trận chuyển P đổi có thể học được cho lớp l, ãvj là trọng số kề (ãvv = 1) và djj = k ãjk GraphSAGE [18] lấy mẫu kích thước vùng lân cận cố định cho mỗi nút, tính toán bộ tổng hợp trung bình/tổng/cực đại và áp dụng thao tác nối để cập nhật, Aggregation : n(l) l v = Aggregatorl ({hu , ∀u ∈ Nv }), (3) (l+1) (l) (l) U pdate : hv = δ(W l · [hv ⊕ nv ]) Trong đó Aggregatorl là hàm tổng hợp tại lớp l, δ(·) là hàm kích hoạt phi tuyến tính và W (l) là ma trận chuyển đổi có thể học được 21 GAT [29] Giả sử rằng ảnh hưởng của các nút lân cận không giống hệt nhau cũng như không được xác định trước bởi cấu trúc đồ thị, do đó, nó phân biệt sự đóng góp của các nút lân cận bằng cách tận dụng cơ chế chú ý và cập nhật vectơ của mỗi nút bằng cách tham gia vào các nút lân cận của nó, (l) (l) X exp Att(hv , hj ) (l) Aggregation : n(l) v = avj hj , avj = P (4) (l) (l) j∈Nv k∈Nv exp Att(hv , hk ) (l+1) (l) U pdate : hv = δ(W (l) nv ) (l) Trong đó Att(·) là hàm chú ý và Att(·) điển hình là LeakyReLU(aT [W (l) hv ⊕ (l) W (l) hj ]), W (l) là chịu trách nhiệm chuyển đổi các biểu diễn nút tại lớp l lan truyền và a là tham số có thể học được.
GGNN [30] sử dụng đơn vị định kỳ có kiểm soát (GRU) [30] trong bước cập nhật, 1 X (l) Aggregation : nlv = h , U pdate : h(l+1) v = GRU (h(l) (l) v , nv ) (5) |Nv | j∈N j v GGNN thực hiện chức năng lặp lại nhiều lần trên tất cả các nút [12], có thể phải đối mặt với vấn đề về khả năng mở rộng khi nó được áp dụng trong các đồ thị lớn. HGNN [28] là một mạng nơ-ron siêu đồ thị điển hình, mã hóa mối tương quan dữ liệu bậc cao trong cấu trúc siêu đồ thị. Lớp tích chập siêu cạnh có công thức sau: −1 −1 −1 Aggregation : N (l) = Dv 2 EW (0) Dv 2 E T Dv 2 H (l) , (6) (l+1) Update : hv = δ(W (l) N (l) ) Trong đó, δ(·) là hàm kích hoạt phi tuyến tính như ReLU và W (l) là ma trận biến đổi có thể học được cho lớp l, E là ma trận liền kề siêu đồ thị và De và Dv lần lượt là các ma trận đường chéo của độ cạnh và độ đỉnh.1: Các cấu trúc đồ thị biểu diễn trong các hệ gợi ý 2.3 Mạng nơ-ron đồ thị trong gợi ý lọc cộng tác Ý tưởng cơ bản về lọc cộng tác giữa người dùng-sản phẩm về cơ bản là sử dụng các sản phẩm được người dùng tương tác để nâng cao các biểu diễn của người dùng và sử dụng những người dùng đã từng tương tác với các sản phẩm để làm phong phú thêm các biểu diễn của sản phẩm.2: Khung tổng quát của GNN trong gợi ý lọc cộng tác Để tận dụng tối đa các phương pháp GNN trong việc thu thập tín hiệu cộng tác từ tương tác người dùng-sản phẩm, có bốn vấn đề chính cần giải quyết [15] 2.1 Xây dựng đồ thị Cấu trúc đồ thị là điều cần thiết cho phạm vi và loại thông tin để lan truyền. Đồ thị hai phía ban đầu bao gồm một tập hợp các nút người dùng/sản phẩm và các tương tác giữa chúng.
Áp dụng GNN trên đồ thị hai phía không đồng nhất hay xây dựng đồ thị đồng nhất dựa trên các lân cận hai bước nhảy? Hầu hết các công trình [31], [32], [33] đều áp dụng trực tiếp GNN trên đồ thị hai phía của người dùng ban đầu. Có hai 23 vấn đề trong việc áp dụng trực tiếp GNN trên đồ thị ban đầu: một là tính hiệu quả khi cấu trúc đồ thị ban đầu có thể không đủ để học các biểu diễn người dùng/sản phẩm; một vấn đề khác là tính hiệu quả khi tổng hợp thông tin của các vùng lân cận đầy đủ của các nút đòi hỏi chi phí tính toán cao, đặc biệt đối với đồ thị tỷ lệ lớn [34]. Một chiến lược để giải quyết vấn đề đầu tiên là làm phong phú cấu trúc đồ thị ban đầu bằng cách thêm các cạnh, chẳng hạn như các liên kết giữa các hàng xóm hai bước nhảy. Theo cách này, thông tin về khoảng cách giữa người dùng và sản phẩm có thể được kết hợp rõ ràng vào các tương tác giữa người dùng và sản phẩm.
Về vấn đề thứ hai, các chiến lược lấy mẫu được trình bày để làm cho GNN hiệu quả và có thể mở rộng thành các tác vụ gợi ý dựa trên biểu đồ quy mô lớn. PinSage [34] thiết kế phương pháp lấy mẫu dựa trên bước đi ngẫu nhiên để thu được quy mô cố định của các vùng lân cận có số lượt truy cập cao nhất. Theo cách này, những nút không liền kề trực tiếp với nút trung tâm cũng có thể trở thành lân cận của nó.2 Tổng hợp lân cận Bước tổng hợp có tầm quan trọng sống còn của việc lan truyền thông tin đối với cấu trúc đồ thị, nó quyết định lượng thông tin của các lân cận sẽ được truyền đi. Nhóm trung bình là một trong những hoạt động tổng hợp đơn giản nhất [31], [35], đối xử bình đẳng với các lân cận.
1 (l) nul = W (l) hi (7) |Nu | Do chiến lược lấy mẫu bước đi ngẫu nhiên, PinSage [34] chấp nhận lượt truy cập chuẩn hóa được tính là tầm quan trọng của các lân cận khi tổng hợp các biểu diễn vectơ của các lân cận. Tuy nhiên, các hàm tổng hợp này xác định tầm quan trọng của các nút lân cận theo cấu trúc đồ thị mà bỏ qua các mối quan hệ giữa các nút được kết nối. Được thúc đẩy bởi ý thức chung rằng việc nhúng các sản phẩm phù hợp với sở thích của người dùng nên được chuyển nhiều hơn cho người dùng (tương tự đối với các sản phẩm). NGCF [7] sử dụng sản phẩm thông minh theo yếu tố để tăng cường các tính năng của mặt hàng mà người dùng quan tâm hoặc sở thích của người dùng đối với các tính năng mà mặt hàng đó có.
Lấy nút người dùng làm ví dụ, biểu diễn hàng 24 xóm tổng hợp được tính như sau: X 1 (l) (l) (l) (l) n(l) u = p W1 hi + W2 (hi ⊙ h(l) u ) (8) i∈Nu |Nu ||Ni | 2.3 Cập nhật thông tin Với thông tin được tổng hợp từ các nút lân cận, cách cập nhật biểu diễn của nút là điều cần thiết để lan truyền thông tin lặp đi lặp lại.