26 3.3 Tần suất cập nhật của item embeddings của một người dùng trong 500 lần lặp vòng huấn luyện, trong đó người dùng sẽ lấy mẫu ngẫu nhiên 8 seen item, sau đó sử dụng từng mục này để g
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA
Trang 2TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐHQG-HCM
Cán bộ hướng dẫn khoa học: PGS TS Đặng Trần Khánh
Cán bộ chấm nhận xét 1: TS Đặng Trần Trí
Cán bộ chấm nhận xét 2: TS Nguyễn Thị Ái Thảo
Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp.HCM ngày 07 tháng 02 năm 2023
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: (Ghi rõ họ, tên, họchàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ)
1 Chủ Tịch: PGS.TS Trần Minh Quang
2 Thư Ký: TS Phan Trọng Nhân
3 Phản Biện 1: TS Đặng Trần Trí
4 Phản Biện 2: TS Nguyễn Thị Ái Thảo
5 Ủy Viên: PGS.TS Nguyễn Tuấn Đăng
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lýchuyên ngành sau khi luận văn đã được sửa chữa (nếu có)
KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH
Trang 3TRƯỜNG ĐẠI HỌC BÁCH KHOA Độc lập - Tự Do - Hạnh Phúc
NHIỆM VỤ LUẬN VĂN THẠC SĨ
I TÊN ĐỀ TÀI:
– Hệ khuyến nghị bảo mật / Secure Recommender System
II NHIỆM VỤ VÀ NỘI DUNG :
– Tìm hiểu về các hệ khuyến nghị, các cách thức để xây dựng hệ khuyến nghị bảo mậtchuyên dùng cho nhiệm vụ xếp hạng
– Đánh giá các phương pháp hiện có, từ đó đề xuất phương pháp để xây dựng một hệkhuyến nghị bảo mật chuyên dùng cho nhiệm vụ xếp hạng dựa trên học liên kết cócải tiến về mức độ bảo mật so với các phương pháp hiện có
– Hiện thực, thử nghiệm và đánh giá hệ thống đã xây dựng
Trang 4Đầu tiên, tôi xin được bày tỏ lòng biết ơn sâu sắc tới PGS TS Đặng Trần Khánh,người đã hướng dẫn tôi trong suốt quá trình thực hiện luận văn cũng như đề cương.Nhờ có những hướng dẫn và góp ý của thầy đã hỗ trợ tôi thực hiện nghiên cứu củamình, hoàn thành tốt luận văn và bài báo cáo tại hội nghị ACOMPA 2022 Đồng thôitôi cũng xin cảm ơn nhóm nghiên cứu, đặc biệt là bạn Nguyễn Khánh Nam và Phún VỹHòa đã giúp tôi rất nhiều trong quá trình học tập và nghiên cứu.
Bên cạnh đó, tôi cũng xin được gửi lời cảm ơn đến quý thầy cô khoa Khoa học và
Kỹ thuật máy tính đã truyền thụ những kiến thức, kinh nghiệm quý báu cho tôi tronghơn hai năm qua Cuối cùng, tôi xin gửi lời cảm ơn chân thành đến gia đình và bạn bè,những người đã luôn động viên, ủng hộ tôi trong suốt thời gian học cao học
Thành phố Hồ Chí Minh, 02/2023
Phạm Hồng Thái
Trang 5Mục đích của đề tài là nghiên cứu và xây dựng một hệ khuyến nghị/đề xuất bảo mậttập trung vào việc cá nhân hóa xếp hạng các mục cho người dùng, với mục tiêu là bảo
vệ thông tin tương tác của người dùng Cụ thể, trong luận án này tôi sẽ trình bày thuậttoán dùng để đào tạo hệ khuyến nghị dựa trên kỹ thuật Lọc cộng tác (CollaborativeFiltering) thông qua một trong những phương pháp phân tích ma trận tiên tiến nhấthiện nay có tên là Lọc cộng tác thần kinh (Neural Collaborative Filtering) với phươngpháp tiếp cận theo cặp (pairwise approach) phổ biến nhất có tên là Xếp hạng cá nhânhóa Bayes (Bayesian Personalized Ranking) Hệ khuyến nghĩ sẽ được huấn luyện mộtcách phân tán bằng kỹ thuật học liên kết (Federated Learning) kết hợp với thuật toántổng hợp an toàn sử dụng mật mã dựa trên đường cong Elliptic nhằm nâng cao mức độbảo mật
Trang 6The main purpose of this thesis is to research and develop a secure recommendationsystem specialized for the ranking task Specifically, in this thesis, I will propose thealgorithm used to train recommender system based on Collaborative Filtering techniquethrough one of the state-of-the-art matrix factorization methods today called NeuralCollaborative Filtering with the most popular pairwise approach called the BayesianPersonalized Ranking The recommender system will be trained in Federated Learningsetting with a secure aggregation using cryptography based on the Elliptic curve toimprove security.
Trang 7Tôi là Phạm Hồng Thái học viên cao học khoa Khoa Học và Kỹ Thuật Máy Tính,Đại học Bách Khoa TP HCM, MSHV 1970521 Tôi xin cam đoan rằng luận văn thạc sĩ
"Hệ khuyến nghị bảo mật" là kết quả tìm hiểu, nghiên cứu độc lập của chính bản thân.Tôi xin cam đoan:
1 Luận văn được thực hiện cho mục đích tìm hiểu và nghiên cứu ở bậc cao học
2 Các công trình, bài báo tham khảo để xây dựng nên luận văn này đều được tríchdẫn, tham khảo Tất cả các tài liệu được trích dẫn và có tính kế thừa từ các tạpchí và các công trình nghiên cứu đã được công bố
3 Những công cụ, phần mềm cho quá trình thực hiện luận văn đều là phần mềm mãnguồn mở
4 Hình ảnh và số liệu được trích dẫn nguồn tham khảo rõ ràng
TP Hồ Chí Minh, Ngày 07 Tháng 02 Năm 2023
Học viên
Phạm Hồng Thái
Trang 81 GIỚI THIỆU 1
1.1 Mở đầu 1
1.2 Mục tiêu 2
1.3 Bố cục của luận văn 2
2 CƠ SỞ LÝ THUYẾT 4 2.1 Hệ khuyến nghị - Recommender System 4
2.1.1 Giới thiệu chung 4
2.1.2 Ma trận tương tác giữa người dùng - sản phẩm - User-item interaction matrix 5
2.1.3 Kỹ thuật lọc dựa trên nội dụng (Content-based Filtering) 7
2.1.4 Kỹ thuật lọc cộng tác - Collaborative Filtering 8
2.1.5 Các kỹ thuật lai (Hybrid) 9
2.2 Phân tích ma trận - Matrix Factorization 9
2.3 Neural Collaborative Filtering 11
2.4 Bayesian Personalized Ranking (BPR) 13
2.5 Private Set Union (PSU) 14
2.6 Federated Learning 15
2.7 Secure Aggregation Protocol 17
2.8 Giao thức trao đổi khóa Diffie–Hellman 18
2.9 Elliptic-curve Diffie–Hellman 20
3 CÁC HƯỚNG TIẾP CẬN VÀ CÔNG TRÌNH LIÊN QUAN 23 3.1 Các hướng tiếp cận và công trình liên quan 23
3.1.1 Huấn luyện tập trung (Centralized) 23
3.1.2 Huấn luyện phi tập trung (Áp dụng học liên kết - Federated Learning) 25 3.1.3 Phân tích bảo mật 27
3.1.4 Phân tích chi phí liên lạc 29
4 PHƯƠNG PHÁP ĐỀ XUẤT 33 4.1 Giải pháp để huấn luyện mô hình 33
4.2 Giải pháp để bảo vệ thông tin của người dùng 34
Trang 94.2.1 Cách huấn luyện mô hình 37
5 THÍ NGHIỆM 41 5.1 Tập dữ liệu - Dataset 41
5.2 Phép đo - Metrics 41
5.3 Các thiết lập của thí nghiệm 42
5.4 Kết quả 43
6 KẾT LUẬN 55 6.1 Kết luận 55
6.2 Ưu điểm 55
6.3 Hạn chế 56
6.4 Hướng phát triển cho tương lai - Future Study 56
Trang 102.1 Hệ khuyến nghị 5
2.2 User-item interaction matrix 6
2.3 Hại loại kỹ thuật chính để xây dựng hệ khuyến nghị 8
2.4 Matrix Factorization 10
2.5 Utility Matrix 3 users 11
2.6 (a) Latent Vectors for 3 users (b) Latent Vectors for 4 users 11
2.7 Neural Collaborative Filtering Architecture 12
2.8 Ví dự dữ liệu huấn luyện của phương pháp Bayesian Personalized Ranking 13
2.9 Minh họa giải thuật PSU 15
2.10 Federated Learning 16
2.11 Secure Aggregation Protocol [1] 18
2.12 Diffie-Hellman cơ bản [2] 20
2.13 Elliptic Curve Diffie-Hellman key exchange, với G là một điểm biết trước trên đồ thị Elliptic (tương tự như số g trong Diffie-Hellman cổ điển), QA/B lần lượt là public key của Alice/Bob, dA/B private key của Alice/Bob.[3] 21
3.1 Thuật toán FedAvg [4] 25
3.2 Thuật toán FMF [5] 26
3.3 Tần suất cập nhật của item embeddings của một người dùng trong 500 lần lặp (vòng huấn luyện), trong đó người dùng sẽ lấy mẫu ngẫu nhiên 8 seen item, sau đó sử dụng từng mục này để ghép nối với 8 unseen item khác để thực hiện cập nhật cho vòng huấn luyện (k=8) 30
3.4 Tần suất cập nhật của item embeddings của một người dùng trong 500 lần lặp, trong đó người dùng sẽ lấy mẫu ngẫu nhiên giống như cách đã trình bày ở Figure 3.3, tuy nhiên có sử dụng random process [6] để cân bằng tần suất cập nhật giữa seen và unseen item 31
3.5 Random Response [6] để giải quyết vấn đề bảo mật 32
5.1 Kết quả huấn luyện trên tập dữ liệu MovieLens 100k 44
5.2 Kết quả huấn luyện trên tập dữ liệu MovieLens 1M 45
5.3 Tần suất cập nhật của item embeddings cho một người dùng đã seen khá nhiều items khi dùng giải thuật 4 với tập dataset MovieLens 100k 46
Trang 115.4 Tần suất cập nhật của item embeddings cho một người dùng đã seen khá nhiều items khi dùng Federank với tập dataset MovieLens 100k 47 5.5 Tần suất cập nhật của item embeddings cho một người dùng seen rất ít items khi dùng giải thuật 4 với tập dataset MovieLens 100k 48 5.6 Tần suất cập nhật của item embeddings cho một người dùng seen rất ít items khi dùng Federank với tập dataset MovieLens 100k 49 5.7 Tần suất cập nhật của item embeddings cho một người dùng đã seen khá nhiều items khi dùng giải thuật 4 với tập dataset MovieLens 1M 50 5.8 Tần suất cập nhật của item embeddings cho một người dùng đã seen khá nhiều items khi dùng Federank với tập dataset MovieLens 1M 51 5.9 Tần suất cập nhật của item embeddings cho một người dùng seen rất ít items khi dùng giải thuật 4 với tập dataset MovieLens 1M 52 5.10 Tần suất cập nhật của item embeddings cho một người dùng seen rất ít items khi dùng Federank với tập dataset MovieLens 1M 53 5.11 Tần suất cập nhật của item embeddings của người dùng thứ 511 khi thay đổi
pratiou lần lượt là 1.5, 2, 2.5 trên tập dataset MovieLens 100k 54
Trang 123.1 Bảng kí hiệu và mô tả 24 4.1 So sánh tốc độ thực hiện một giao thức trao đổi khóa giữa Diffie-Hellman và Elliptic-curve Diffie–Hellman 34 5.1 Thông tin về hai bộ dữ liệu MovieLens 41
MovieLens 1M 43
Trang 13Thuật ngữ tiếng Anh Thuật ngữ tiếng Việt Viết tắt
Bayesian Personalized Ranking Xếp hạng cá nhân Bayesian BPR Explicit/Implicit feedback Thông tin phản hồi rõ ràng/tiềm ẩn
tác/chưa tương tác)
Trang 14GIỚI THIỆU
Trong thời đại bùng nổ thông tin hiện nay, mạng Internet đã phát triển thành mộtnền tảng cho các dịch vụ trực tuyến quy mô lớn, đồng thời thay đổi sâu sắc cách ta tiếpcận, đọc tin tức, mua sắm và xem phim của chúng ta Một lượng lớn chưa từng có cácsản phẩm (phim ảnh, tin tức, sách và hàng hóa, ) với số lượng có thể lên đến hàngtriệu, thậm chí hàng tỉ được bày bán trực tuyến trên các trang mạng xã hội, thươngmại điện tử Người dùng không thể nào tiếp cận toàn bộ các sản phẩm này theo cáchthông thường, do đó ta cần có một hệ thống để giúp người dùng có thể tiếp cận các sảnphẩm mà họ thật sự mong muốn
Hệ khuyến nghị/đề xuất chính là một công cụ như vậy, là công cụ lọc thông tin mạnh
mẽ có thể thúc đẩy các dịch vụ cá nhân hóa và cung cấp trải nghiệm riêng biệt chotừng người dùng Nói ngắn gọn, hệ khuyến nghị đóng vai trò nòng cốt trong việc tậndụng nguồn dữ liệu dồi dào hiện có để giúp việc đưa ra lựa chọn dễ dàng hơn Để cóthể làm được điều này (cung cấp cho mỗi người dùng các đề xuất được cá nhân hóa),các hệ thống gợi ý sẽ mô hình hóa sở thích của người dùng đối với các sản dựa trên cáctương tác trước đây của họ (ví dụ, đánh giá sao hay nhấp chuột) Do đó, để hệ thốnggợi ý có thể “cá nhân hóa” cho từng cá nhân một cách tốt nhất, dữ liệu cá nhân củangười dùng sẽ được thu thập và lưu trữ tại máy chủ của các nhà cung cấp dịch vụ Tuynhiên, những thông tin này rất nhạy cảm nên hầu hết người dùng đều miễn cưỡng hoặckhông muốn chia sẻ, hơn nữa, gần đây các luật mới ban hành đều quy định rất chặt
Trang 15chẽ về bảo vệ tính riêng tư cho người dùng, như General Data Protection Regulation(GDPR)[7] Các hệ thống gợi ý sẽ gặp rất nhiều khó khăn để có thể cá nhân hóa gợi ýcho người dùng nếu không có dữ liệu từ họ Trong các hệ thống gợi ý tập trung, việcđánh đổi giữa quyền riêng tư và cá nhân hóa là không thể tránh khỏi [8] Do đó, việcxây dựng một hệ khuyến nghị vừa đảm bảo được việc "cá nhân hóa"vừa đồng thời bảođảm quyền riêng tư cho người dùng là một nhu cầu cực kì cấp thiết hiện nay.
Luận văn này sẽ cung cấp một cách để xây dựng một hệ khuyến nghị bảo mật chuyêndùng cho nhiệm vụ xếp hạng, dựa trên những công cụ, biện pháp kỹ thuật tiên tiếnnhất hiện nay
Cụ thể, luận văn này sẽ:
• Tạo ra kiến trúc để có thể huấn luyện mô hình Collaborative Filtering bằng cách
sử dụng Neural Collaborative Filtering thông qua học liên kết, sử dụng phản hồitiềm ẩn (implicit feedback) với Bayesian Personalized Ranking loss (Pairwise loss)
• Cố gắng giải quyết 2 vấn đề mà các hệ khuyến nghị được huấn luyện thông quahọc liên kết hiện nay hay gặp phải là bảo mật và chi phí truyền tải thông tin quálớn (communication cost)
• Nếu có thể, tìm một giải pháp có thể điều chỉnh hoặc cân bằng mức độ bảo mật vàtốc độ hội tụ của mô hình
Chương 1: Giới thiệu: tổng quan về nội dung, mục tiêu và cấu trúc luận văn
Chương 2: Cơ sở lý thuyết: giới thiệu về những cơ sở lý thuyết có liên quan đến nộidung của luận văn
Chương 3: Thực trạng hiện tại và các nghiên cứu liên quan
Trang 16Chương 4: Đặt vấn đề và cách giải quyết
Chương 5: Đánh giá giải pháp
Chương 6: Tổng kết đánh giá kết quả nghiên cứu của luận văn và đưa ra đề xuấtcho hướng nghiên cứu phát triển tiếp theo trong tương lai
Trang 17CƠ SỞ LÝ THUYẾT
Hệ khuyến nghị/đề xuất về cơ bản là một loại mô hình học máy thông qua thôngtin của người sự dụng mà từ đó đưa ra các phán đoán, gợi ý, đề xuất cho người dùngtại một thời điểm bất kì Từ đó giúp cho người dùng có thể ra quyết định một cách dễdàng hơn
Thông tin về người sử dụng được dùng cho việc khuyến nghị tự động có thể chiathành hai loại: thông in phản hồi rõ ràng (explicit feedback) và thông tin phản hồi tiềm
ẩn (implicit feedback)
• Các thông tin phản hồi tiềm ẩn hay phản hồi gián tiếp (Implicit Feedback) có thể
kể đến như thời gian người dùng xem sản phẩm, quá trình người dùng duyệt quasản phẩm trước khi mua, nguồn mà người dùng truy cấp đến trang hiện tại, số lầnclick chuột Các thông tin phản hồi tiềm ẩn này rất dễ thu thập, nhưng thường
có độ nhiễu khá cao và không có tương tác trực tiếp với người dùng (vì hệ thống
sẽ thu thập các thông tin này thông qua một hệ thống tư động thu thập lịch sử vàhành vi của người dùng)
• Thông tin phản hồi rõ ràng hay phản hồi trực tiếp (Explicit Feedback) là các kết quảnhận được khi người dùng trực tiếp đưa ra đánh giá về sản phẩm như thích/khôngthích, chấm điểm, bình luận Các thông tin này thường khó thu thập hơn rất
Trang 18nhiều so với các thông tin ẩn, nhưng độ chính xác cao hơn và rất hữu ích cho việckhuyến nghị.
Kết quả của một hệ khuyến nghị thường có hai dạng chính:
• Dự đoán đánh giá của người dùng về một sản phẩm nhất định (ratings, voting )
Ví dụ như khả năng người dùng sẽ đánh giá sản phầm này là 5 sao hay 90% ngườidùng sẽ thích sản phẩm này
• Một danh sách ngắn những sản phẩm người dùng đang cần tìm, hoặc một danhsách sản phẩm có thể sẽ thích hoặc quan tâm mà người dùng chưa từng biết đếntrước đó
Hình 2.1: Hệ khuyến nghị
Tuy nhiên các hệ khuyến nghị thường phải xử lý một khối lượng lớn thông tin khổng
lồ và phức tạp, do đó để đạt được hiệu quả tốt thường cần một số kỹ thuật nâng cao
để thực hiện
-User-item interaction matrix
Có hai thực thể chính trong các Recommendation Systems là người dùng (users) vàsản phẩm (items) Mỗi user sẽ có mức độ quan tâm tới từng item khác nhau Mức độquan tâm này, nếu đã biết trước, được gán cho một giá trị ứng với mỗi cặp user-item.Mức độ quan tâm có thể được đo bằng nhiều cách, ví dụ như thả tim, thích, rate Giả
sử rằng mức độ quan tâm được đo bằng giá trị user rate cho item, ta tạm gọi giá trị này
Trang 19Hình 2.2: User-item interaction matrix
là rating Tập hợp tất cả các ratings, bao gồm cả những giá trị chưa biết cần được dựđoán, tạo nên một ma trận gọi là ratings matrix (hay còn được gọi là Utility Matrix).Bài toán xây dựng hệ khuyến nghị tự động có thể được mô hình hóa như sau:
Với Ulà tập hợp tất cả người dùng[u1, u2, u3, ], Ilà tập hợp tất cả sản phẩm (sách,báo, bài viết, tin tức ) [i1, i2, i3, ] có thể khuyến nghị, O = (u, i, y)là bản ghi các hànhđộng trước đây của người dùng Mục tiêu của chúng ta là đề xuất cho người dùng mộtdanh sách các mặt hàng được xếp hạng sao cho tối đa hoá mức độ hài lòng của họ.Với y ở đây có thể là các mục quan sát được (observed entries) hay không quan sátđược (unobserved entries) Mục quan sát được có nghĩa là user đã tương tác với mục
đó, nhưng không có nghĩa là user thích item đó, tương tự, mục không quan sát đượckhông có nghĩa là user không thích item đó, có thể chỉ đơn giản là dữ liệu bị thiếu Mộtđiểm yếu của việc sử dụng implicit feedback là có thể ta sẽ bỏ qua tính tiêu cực của cácphản hồi (negative feedback)
Về mặt toán học ta đang tính:
c
Trong đó:
• ycui là điểm dự đoán (predict score) cho tương tác giữa người dùng u đối với item i
• Θ Tham số mô hình (mô hình ở đây có thể là Matrix Factorization)
• f Hàm ánh xạ tham số mô hình ra kết quả (có thể là Neural Network)
Trang 20Để có thể tính được Θ, ta cần tối ưu hàm mục tiêu, 2 hàm mất mát (loss function)phổ biến cho các hệ khuyến nghị là Pointwise loss và Pairwise loss.
• Pointwise loss: cố gắng tối thiểu hoá sai số giữa giá trị dự đoán by và giá trị mụctiêu y Để giải quyết vấn đề dữ liệu bị thiếu trong ma trận tương tác giữa user vàitem (do không quan sát được, hoặc user không/chưa tương tác với item đó), ta sẽgiả định tất cả các missing data đó là tiêu cực (negative)
• Pairwise loss: cố gắng để xếp hạng các item quan sát được cao hơn các item khôngquan sát được Thực hiện bằng cách cố gắng tối đa hoá khoảng cách giữa item quansát được và không quan sát được
Tóm lại, pointwise loss cố gắng tối thiểu hoá sai số giữa điểm dự đoán và điểm thực
tế, ngược lại với pairwise loss cố gắng tối đa hoá khoảng cách giữa item quan sát được
và không quan sát được
Các Recommendation Systems thường được chia thành hai nhóm lớn, dựa vào cách
mà các hệ thống này dùng để gợi ý chúng ta:
• Lọc dựa trên nội dung (Content-based Filtering) khai thác các khía cạnh nội dungthông tin sản phẩm người dùng đã từng sử dụng hay truy nhập trong quá khứ đểkhuyến nghị Hay nói cách khác là dựa trên sự giống nhau giữa các sản phẩm
• Lọc cộng tác (Collaborative Filtering) lựa chọn dựa trên ý kiến hay lời khuyên củanhững người dùng khác về các sản phẩm, sử dụng các thuật toán nhằm tận dụngcác gợi ý được cung cấp bởi một cộng đồng người dùng tương tự để cung cấp chongười dùng hiện tại (người đang tìm kiếm các khuyến nghị) Hay nói cách khác làdựa trên sự tương quan giữa những người dùng với nhau
Trang 21Hình 2.3: Hại loại kỹ thuật chính để xây dựng hệ khuyến nghị
(Bayes network), phân cụm (clustering), cây quyết định (decision tree), mạng nơ-ronnhân tạo (Neural network) để dự đoán
Các kỹ thuật này hoạt động rất tốt với các sản phẩm giàu nội dung như các sảnphẩm trong lĩnh vực công nghệ, truyền thông, y tế và áp dụng được cho cả các sảnphẩm mới (chưa có lịch sử tương tác) nên phù hợp khi danh sách sản phẩm được cậpnhật liên tục
Kỹ thuật lọc cộng tác (Collaborative Filtering) dựa trên nguyên tắc hoạt động là cáckhuyến nghị dựa trên sự tương quan giữa những người dùng với nhau với giả thuyết cănbản: người dùng tương tự nhau sẽ quan tâm đến sản phẩm tương tự nhau
Khác so với kỹ thuật lọc dựa trên nội dụng, hệ thống cộng tác dự đoán mức độ phùhợp r(u, i) của một sản phẩm p với người dùng u dựa trên mức độ phù hợp r(u, i) giữangười dùng ui và p, trong đó ui là người có cùng sở thích với u Ví dụ, để gợi ý một
bộ phim cho người dùng u, đầu tiên hệ thống cộng tác tìm những người dùng khác có
Trang 22cùng sở thích phim ảnh vớiu (cũng xem và đánh giá tương tự nhau cho một số bộ phimkhác) Sau đó, những bộ phim được họ đánh giá cao sẽ được dùng để tư vấn cho u.
Kỹ thuật này chỉ dựa vào lịch sử giao dịch để tìm các quy luật tương tác giữa ngườidùng với sản phẩm mà không cần biết thuộc tính của sản phẩm và có khả năng khaithác thông tin ngoài phạm vi của các thuộc tính sản phẩm Vì vậy, lọc cộng tác rấthiệu quả với các hệ thống có nhiều tương tác giữa người dùng và sản phẩm (nhiều ngườidùng, nhiều giao dịch, nhiều phản hồi) cũng như các hệ thống với những sản phẩm có
ít thuộc tính
Điểm mấu chốt của phương pháp này là việc biểu diễn sản phẩm dưới dạng mộtvec-tơ các thuộc tính và sử dụng các độ đo tương tự để đánh giá mức độ tương đồngcủa giá trị các thuộc tính Các thuộc tính có thể có các dạng dữ liệu khác nhau như sốnguyên, số thực, các giá trị rời rạc nên cần các độ đo tương tự khác nhau Một số độ
đo phổ biến có thể kể đến như khoảng cách Mahalanobis, khoảng cách Euclidean, độtương tự Cosine hay chỉ số tương tự Jaccard
Kỹ thuật lai (hybrid) là phương pháp kết hợp của cả hai kỹ thuật trên Một số ứngdụng kết hợp cả hai kỹ thuật lọc cho hệ thống khuyến nghị dựa theo nội dung và lọccộng tác Mỗi kỹ thuật đều có những ưu điểm và nhược điểm riêng, do đó khi kết hợp
có thể khắc phục những hạn chế của từng kỹ thuật Nó cải thiện hiệu suất dự đoán, vàquan trọng hơn, từ đó khắc phục được những vấn đề tồn tại trong lọc thông tin như
dữ liệu thưa thớt và mất thông tin Tuy nhiên, sự kết hợp của hai kỹ thuật để thựchiện sẽ gia tăng độ phức tạp và chi phí phát triển Thông thường hầu hết các hệ thốngkhuyến nghị thương mại là các hệ thống lai, ví dụ như hệ thống khuyến nghị tin tứccủa Google
Phân tích ma trận hay phân rã ma trận (Matrix factorization) là một hướng tiếp cậnkhác của Collaborative Filtering Cụ thể, mô hình sẽ cố gắng phân tách Utility matrix(ma trận tương tác giữa người dùng) thành hai ma trận nhỏ hơn Ta sẽ cố gắng tối ưuhai ma trận con này sao cho sai số đối với Utility matrix là nhỏ nhất, có thể sử dụngnhiều loại hàm mất mát, tuy nhiên dễ nhất vẫn là Mean-square Error
Trang 23Hình 2.4: Matrix Factorization.
Ý tưởng chính đằng sau phương pháp Matrix Factorization là tồn tại các đặc trưng
ẩn (latent features) mô tả mối quan hệ giữa sản phẩm và người dùng Ví dụ, trong hệthống khuyến nghị các bộ phim, đặc trưng ẩn đối với Item Matrix có thể là hài hước,kinh dị, hành động, hoạt hình, ; cũng có thể là một sự kết hợp nào đó của các thể loạinày Đặc trưng ẩn đối với User Matrix có thể là tuổi tác, sở thích, tôn giáo Đặctrưng ẩn cũng có thể là bất cứ điều gì mà chúng ta không thực sự cần đặt tên Ngườidùng có càng nhiều đặc trưng ẩn giống nhau thì sở thích càng giống nhau Về mặt toánhọc, user và item được chiếu lên một không gian tiềm ẩn (latent space), được biểu thịbằng một vectơ tiềm ẩn (latent vector) Người dùng có đặc trưng ẩn giống nhau tươngđương với khoảng cách giữa hai latent vector gần nhau Khoảng cách giữa hai latentvector có thể đo bằng độ tương tự cosin, hoặc đơn giản là dùng tích vô hướng Tuynhiên việc đo khoảng cách giữa hai latent vector không thể biểu diễn đầy đủ sự tươngquan của user và item
Xét ví dụ với Utility Matrix như hình 2.5, ta xét 3 người dùng đầu tiên Đặt S x,y biểuthị sự giống nhau giữa người dùng x và người dùng y Bằng cách tính toán độ tương
tự cosine giữa những người dùng 1, 2 và 3, chúng ta biết rằng S2,3 > S1,2> S1,3 Khônglàm mất tính tổng quát, ta sẽ ánh xạ người dùng vào một không gian tiềm ẩn hai chiềunhư hình 2.6
Bây giờ đến lượt người dùng 4 Cũng dùng độ tương tự cosine để so sánh sự giốngnhau với những người khác, ta thu được S1,4 > S3,4 > S2,4 Tuy nhiên, bất kể chúng ta
Trang 24Hình 2.5: Utility Matrix 3 users
Hình 2.6: (a) Latent Vectors for 3 users (b) Latent Vectors for 4 users
đặt latent vector P4 ở bên phải hay bên trái của P1 (hai vị trí nét đứt), thì chắc chắn
nó sẽ gần P2 hơn P3 Do đó, phương pháp này có thể không thể biểu diễn đầy đủ sựtương quan phức tạp của user và item [9] Mặc dù có cách khắc phục là tăng số chiềucũng như số của latent vector lên nhưng cách này sẽ ảnh hưởng nghiêm trọng đến sựtổng quát hóa và tăng độ phức tạp của mô hình
Lọc cộng tác thần kinh (Neural Collaborative Filtering) là một phiên bản tổng quátcủa phương pháp Matrix Factorization và có thể được coi là phương pháp tiên tiến nhất[9]
Trang 25Hình 2.7: Neural Collaborative Filtering Architecture
Kiến trúc của NCF được mô tả ở hình 2.7 bao gồm các phần như sau:
• Lớp đầu vào là một vectơ thưa thớt (spare vector) để định danh người dùng và vậtphẩm (user ID và item ID sẽ được one-hot encode)
• Embedding Layer là lớp kết nối đầy đủ, biến lớp input thành một vecto dày đặchơn (dense vector), kết quả sau khi qua lớp này là các latent user/item vector
• Neural CF Layers là lớp sử dụng neural network để ánh xạ các latent vectors thànhkết quả đầu ra
• Output layer là lớp cuối cùng để trả kết quả dự đoán, được huấn luyện bằng cáchtối thiểu hóa hàm mất mát (NCF hỗ trợ cả 2 loại mất mát chính là Pointwise loss
và Pairwise loss)
Bằng cách tận dụng sức mạnh của sự phi tuyến và phức tạp của các mạng thần kinh(neural network), NCF có thể ước tính một cách chính xác các tương tác phức tạp giữauser và item trong latent space Đây là mô hình được đánh giá là hiệu quả nhất dùng
để huấn luyện CF model trong những năm gần đây
Trang 262.4 Bayesian Personalized Ranking (BPR)
BPR là một hàm mất mát cá nhân hóa xếp hạng với cách tiếp cận theo cặp (pairwiseapproach) có xuất phát từ bộ ước lượng hậu nghiệm cực đại (maximum posteriorestimator) dùng để đào tạo hệ khuyến nghị chuyên biệt cho nhiệm vụ xếp hạng [10]
Dữ liệu huấn luyện cho BPR bao gồm một cặp positive và negative items(khi sử dụngimplicit feedback thì thường positive sẽ là seen item ID, negative sẽ là unseen item ID)
Nó dựa trên giả định rằng người dùng sẽ luôn thích sản phẩm tích cực (ví dụ ngườidùng đã đánh giá hoặc xem sản phẩm đó - ở đây là positive item) hơn tất cả các sảnphẩm chưa biết (chưa đánh giá hoặc chưa xem - ở đây là negative item)
Hình 2.8: Ví dự dữ liệu huấn luyện của phương pháp Bayesian Personalized Ranking
Về mặt toán học, xác suất hậu nghiệm của mô hình thích các sản phẩm tích cực(positive item) hơn các sản phẩm tiêu cực (negative item) đối với người dùng u có thểđược biểu thị như sau:
p(i > u j |W) là khả năng mà người dùng u sẽ thích item i hơn item j
p(W) ∼ N (0, λ W) là phân phối của mô hình W, theo tác giả thì sẽ giả sử tuân theophân phối Gaussian
Trang 272.5 Private Set Union (PSU)
Private Set Union được trình bày bởi Niu và các cộng sự [11] là một phương phápmới cho phép người dùng gửi các item của họ một cách an toàn đến máy chủ để tạomột tập kết hợp (union set) mà không tiết lộ bất kỳ thông tin nào về các tập con tạonên union set Một tập hợp các item do user dùng gửi sẽ được biểu diễn dưới dạng bộlọc Bloom [12] Đây là cấu trúc dữ liệu xác suất tiết kiệm không gian (space-efficient)được sử dụng để kiểm tra xem một phần tử có phải là thành viên của một tập hợphay không, bộ lọc Bloom bao gồm một mảng gồm m phần tử nhị phân (giá trị của mỗiphần tử là 0 hoặc 1) và k hàm băm được thiết kế để đầu ra luôn là một số nguyên trongphạm vi [1 m] Quá trình xây dựng union set có thể được mô tả bằng giải thuật 1, vàđược minh họa bằng 2.9
Algorithm 1 Private Set Union (PSU) [11]
Require: tập hợp các items {I u } u∈U − của các user tham gia vào quá trình huấn luyện
1: for each user u ∈ U− do ▷ Có thể thực hiện song song
2: Tạo bộ lọc Bloom B u cho tập hợp các item I u
3: Thay đổi ngẫu nhiên các giá trị khác 0 trong bộ lọc Bu bởi một số số nguyênngẫu nhiên từ ZR để tạo thành B′u
4: Xây dựng vecto gợi ý H u bằng cách sử dụng giải thuật 2
5: Gửi cả hai một cách an toàn B′u and Hu đến server
6: end for
7: Server nhận được bộ lọc tổng hợp (aggregated filter) B =ˆ P
u∈U − B′u và gợi ý đượctổng hợp (aggregated hint) H =ˆ P
u∈U − Hu sau đó dùng Bˆ và Hˆ để tái tạo lại unionset of items Iˆvà gửi Iˆđến từng người dùng u ∈ U−
Tuy nhiên, nếu làm theo cách này máy chủ sẽ biết có bao nhiêu người dùng đã gửicùng một items bằng cách đếm giá trị của các bộ lọc Để giải quyết vấn đề này, ngườidùng có thể thay đổi ngẫu nhiên các giá trị khác 0 trong bộ lọc của họ bằng một số sốnguyên ngẫu nhiên trước khi gửi bộ lọc tới máy chủ, đó là lý do đằng sau bước 2 trongThuật toán 2 Sau khi máy chủ nhận được các bộ lọc, nó sẽ suy ra các thành viên cóbên trong bộ lọc tổng hợp bằng cách kiểm tra sự tồn tại của mọi item có thể có bêntrong bộ lọc, điều này có thể tốn thời gian nếu số lượng item trong một hệ thống rấtlớn Để giảm độ phức tạp của việc suy luận các item, người dùng có thể đưa ra gợi ýcho máy chủ bằng cách yêu cầu máy chủ chỉ xem xét một khu vực cụ thể của các item
Trang 28Cụ thể, giải thuật 2 mô tả rõ ràng cách người dùng có thể đưa ra gợi ý cho máy chủ.
Hình 2.9: Minh họa giải thuật PSU
Algorithm 2 Hint for item set reconstruction [11]
Require: Số lượng phân vùng K và tập hợp các items Iu sẽ được gửi từ người dùng
1: Chia tất cả items IDs I thành K vùng bằng nhau
3: for each item i ∈ I u do
4: Hu[k] ← 1 nếu và chỉ nếu item i thuộc khoảng ID mà vùng thứ kth chứa trong
Trang 29là trên đám mây, và sau đó đào tạo mô hình trên dữ liệu đó Nhưng cách tiếp cận nàykhông khả thi đối với phần lớn dữ liệu trên thế giới, vì lý do riêng tư và bảo mật khôngthể chuyển đến kho lưu trữ dữ liệu trung tâm Học liên kết là một kỹ thuật được sửdụng để phân phối quá trình huấn luyện cho các thiết bị (di động, máy tính cá nhân),cho phép huấn luyện mà không cần trao đổi dữ liệu nhạy cảm Dữ liệu duy nhất đượcchuyển đến server là thông tin về cách cập nhật mô hình Các bước cơ bản của mộtvòng huấn luyện được tóm tắt trong danh sách dưới đây.
1 Server truyền một bản sao của global model (mô hình toàn cầu) hiện tại tới cácthiết bị sẽ tham gia đào tạo
2 Các thiết bị huấn luyện mô hình trên dữ liệu của chính chúng
3 Các thiết bị truyền bản cập nhật mô hình riêng lẻ của chúng trở lại máy chủ trungtâm
4 Máy chủ trung tâm tổng hợp các bản cập nhật riêng lẻ thành một global modelmới, và sẽ là cơ sở cho vòng đào tạo tiếp theo
Hình 2.10: Federated Learning
Trang 302.7 Secure Aggregation Protocol
Một vấn đề khi thực hiện huấn luyện các mô hình bằng phương pháp FederatedLearning là sau khi thực hiện huấn luyện mô hình cục bộ (local training), các user thamgia huấn luyện phải gửi Gradient của mô hình về Server để server có thể thực hiện cậpnhật global model (mô hình toàn cầu) Tuy nhiên, nếu chỉ đơn giản gửi các gradient
về Server mà không có bất kì cơ chế bảo vệ nào, thì Server hoặc kẻ tấn công có thể
từ gradient suy ngược ra dữ liệu đã được dùng để training cho mô hình Nhóm tác giảtại Massachusetts Institute of Technology đã chứng minh cho việc hoàn toàn có thể suyngược ra dữ liệu bằng gradient [14] - việc này đã vi phạm nguyên tắc bảo mật cốt lõicủa Federated Learning, đó là không tiết lộ bất kì dữ liệu nào của người dùng Do đó,
để có thể áp dụng Federated Learning một cách an toàn, năm 2016, Google đã cho ramắt giao thức tổng hợp an toàn
Giao thức tổng hợp an toàn [1] là một loại thuật toán tính toán đa bên (Multi-PartyComputation) an toàn được sử dụng để tổng hợp thông tin nhiều bên từ từng ngườidùng (có thể là tham số mô hình) theo cách an toàn mà không tiết lộ bất kỳ thông tinnào cho bất kì ai Với một giả định quan trọng là cả người dùng và server đều trungthực nhưng tò mò (honest-but-curious)
Ví dụ ở hình 2.11, giả sử Alice, Bob và Carol lần lượt muốn gửi thông tin v1, v2, v3
đến server Họ sẽ bắt cặp từng người một với nhau, cùng nhau tạo ra nhiễu cùng cường
độ nhưng ngược chiều với nhau Khi server tổng hợp các kết quả từ Alice, Bob và Carol,các thông tin họ gửi lên vẫn được giữ nguyên, nhưng server sẽ không thể biết được từngngười Alice, Bob và Carol đã gửi gì lên server
εij là nhiễu được sinh ra từ một bộ giả ngẫu nhiên Pseudo Random Generator (PNG)với hạt giống (seed) là sij theo công thức εij = P N G(sij)
Một vấn đề bảo mật cần lưu ý ở đây là, nếu sij bị lộ, và kẻ tấn công dự đoán đượcthuật toán PNG thì tính bảo mật của giao thức sẽ hoàn toàn bị phá vỡ Do đó, để cho
sij được an toàn, tác giả đã sử dụng giao thức trao đổi khóa Diffie-Hellman để bảo vệ
s ij
Trang 31Hình 2.11: Secure Aggregation Protocol [1]
Giao thức trao đổi khóa Diffie–Hellman là một phương pháp trao đổi khóa đượcphát minh sớm nhất trong mật mã học, được tạo ra bởi Whitfield Diffie và MartinHellman [15] Giao thức này cho phép hai bên (thực thể giao tiếp) thiết lập một khóa
bí mật chung để sử dụng cho trao đổi dữ liệu an toàn trên một kênh truyền thông côngcộng/không an toàn mà không cần có sự thỏa thuận trước về khóa bí mật giữa hai bên.Khóa bí mật tạo ra sẽ được sử dụng để mã hóa dữ liệu với phương pháp mã hóa khóađối xứng
Ý tưởng cơ bản của giao thức có thể được biểu diễn theo hình 2.12 một cách dễ hiểunhư sau:
Giả sử ta có 2 người tham gia giao tiếp là Alice và Bob
• Đầu tiên, Alice và Bob thỏa thuận với nhau để chọn ra một màu chung để sử dụng(ở đây là màu vàng)
• Tiếp theo, Alice và Bob lần lượt chọn màu bí mật cho mình (ở đây Alice chọn màu
Trang 32đỏ, Bob chọn màu xanh).
• Sau đó, Alice và Bob trộn màu đã biết chung (màu vàng) với màu bí mật riêng củamỗi người
• Sau đó, cả hai trao đổi màu hỗn hợp của mình cho người kia
• Khi nhận được hỗn hợp của người kia, mỗi người sẽ trộn thêm với màu bí mật củariêng mình và nhận được hỗn hợp cuối cùng (màu nâu)
Hỗn hợp sơn cuối cùng là hoàn toàn giống nhau cho cả hai người và chỉ có riêng haingười biết Mấu chốt ở đây là đối với một người ngoài sẽ rất khó (về mặt tính toán) cho
họ để tìm ra được bí mật chung của hai người (nghĩa là hỗn hợp cuối cùng) Alice vàBob sẽ sử dụng bí mật chung này để mã hóa và giải mã dữ liệu truyền trên kênh côngcộng
Giao thức cũng có thể được ví dụ dưới dạng toán học như sau:
• Alice và Bob thỏa thuận sử dụng chung một số nguyên tố p = 23 và căn nguyênthủy g = 5
• Alice chọn một số nguyên bí mật cho mình là a = 4, và gửi cho Bob giá trị A = gamod p = 54 mod 23 = 4
• Bob chọn một số nguyên bí mật cho mình là b = 3, và gửi cho Alice giá trị B = gbmod p = 53 mod 23 = 10
• Alice tính khóa bí mật chung s = Ba mod p = 104 mod 23 = 18
• Bob tính khóa bí mật chung s = Ab mod p = 43 mod 23 = 18
• Như vậy Alice và Bob cùng chia sẻ bí mật chung là số 18
Cả Alice và Bob đều có được giá trị chung cuối cùng (18) vì Ab mod p = gab mod p =
gba mod p = Ba mod p hay (ga mod p)b mod p = (gb mod p)a mod p Lưu ý, ở đây chỉcần giữ bí mật cho a,b và s, còn lại tất cả các giá trị khác như ga mod p haygb mod p,
p, g đều có thể được truyền đi một cách công khai
Sức mạnh của Diffie-Hellman cổ điển đến từ việc rất khó để giải quyết bài toánlogarithm rời rạc (Discrete Logarithm Problem - LDP) trong thời gian đa thức, kể cảvới các máy tính hiện đại ngày nay Bài toán logarithm rời rạc trong ví dụ này chính là
Trang 33việc tính a khi biết A = ga mod p hay b khi biết B = gb mod p Dĩ nhiên, trong thực tếkhi triển khai, các giá trị a, b và p được chọn sẽ phải rất lớn, p có thể có độ dài 600 chữ
độ dài khóa 1028-bits [17] Với sự phát triển không ngừng nghỉ của máy tính, giao thứcDiffie-Hellman cổ điển (dựa trên bài toán logarithm rời rạc) có lẽ sẽ không còn an toàntrong tương lai xa nữa Do đó, vào năm 2018, Viện Tiêu chuẩn và Công nghệ Quốcgia Mỹ (National Institute of Standards and Technology - NIST) đã khuyến nghị các
tổ chức nên loại bỏ dần việc sử dụng thuật toán trao đổi khóa Diffie-Hellman cổ điển(DH) để chuyển sang Elliptic Curve Diffie-Hellman (ECDH)
Elliptic-curve Diffie–Hellman Key Exchange (ECDH) là một giao thức được sử dụng
Trang 34để thực hiện giao tiếp bí mật giữa hai hoặc nhiều bên Nó là một phiên bản của thuậttoán Diffie–Hellman (DH) với nhiều ưu điểm hơn bằng cách sử dụng các đường congelliptic để tạo ra khóa bí mật ECDH là một trong những thuật toán mã hóa được sửdụng rộng rãi trong các hệ thống bảo mật không dây và các giao thức bảo mật khác.Hình 2.13 mô tả cách thức giao thức trao đổi khóa ECDH, về cơ bản cũng giống nhưDiffie-Hellman cổ điển, tuy nhiên có các điểm khác biệt ở đây là bài toán để có thể suy
ra khóa bí mật (private key) hay khóa chung (shared key) ở giao thức trao đổi khóaECDH khó gấp nhiều lần số với bài toán logarithm rời rạc ở giao thức DH cổ điển
Hình 2.13: Elliptic Curve Diffie-Hellman key exchange, với G là một điểm biết trướctrên đồ thị Elliptic (tương tự như số g trong Diffie-Hellman cổ điển), QA/B lần lượt làpublic key của Alice/Bob, dA/B private key của Alice/Bob.[3]
ECDH đã được chứng minh là bảo mật hơn (cung cấp cùng độ bảo mật với chiều dàikhóa ngắn hơn rất nhiều) và nhanh hơn rất nhiều so với DH cổ điển Cụ thể, ECDH256-bits có mức độ bảo mật tương đương với DH 3072-bits (mặc dù cung cấp cùng mộtmức độ bảo mật) [18] Daniel J Bernstein [19] đã chứng minh rằng, tốc độ của ECDHvới Curve25519 (256 bits) nhanh hơn gấp 8 lần so với Diffie-Hellman với độ dài khóa là
Trang 353072-bits Một bài báo khác của Joppe và cộng sự [20] cũng đã chứng minh ECDH cótốc độ nhanh hơn rất nhiều so với Diffie-Hellman cổ điển.
Tốc độ của DH và ECDH còn tùy thuộc vào nhiều yếu tố, kể cả phần mềm (cáchhiện thực) lẫn phần cứng (các bộ vi xử lý đời sau xử lý các tác vụ liên quan đến mãhóa nhanh hơn đời trước)
Trang 36CÁC HƯỚNG TIẾP CẬN VÀ CÔNG TRÌNH LIÊN QUAN
Chương này sẽ thảo luận về các hướng tiếp cận để xây dựng một hệ khuyến nghị bảomật
Để thuận tiện cho việc trình bày, bảng 3.1 sẽ được dùng trong các chương còn lại,bảng này mô tả các kí hiệu và ý nghĩa của chúng
Hiện tại, các hệ khuyến nghị thường được huấn luyện theo hai cách chính
1 Huấn luyện tập trung (Centralized)
2 Huấn luyện phi tập trung (Áp dụng học liên kết - Federated Learning)
Để xây dựng được một hệ khuyến nghị bảo mật được huấn luyện bằng phương phápthông thường (huấn luyện tập trung), hệ thống cần thu thập và lưu trữ dữ liệu củangười dùng trong cơ sở dữ liệu tập trung và tự quản lý nhằm sử dụng thông tin ngườidùng nhằm cải thiện hệ thống Tuy nhiên, quyền riêng tư của người dùng đồng thời cóthể bị xâm phạm, vì các công ty/tổ chức cũng có thể sử dụng thông tin đã được cungcấp cho các mục đích khác mà không có sự đồng ý của người dùng, chẳng hạn như bán
Trang 37Bảng 3.1: Bảng kí hiệu và mô tả
Kí hiệu Mô tả
W Các tham số của mô hình CF, W[N] các trọng số
non-embedding, W[u] and W[i], user embedding của user u vàitem embedding của item i
U Tập hợp tất cả các users
I Tập hợp tất cả các items,I+u Tập hợp tất cả các seen/positive
items của useru,I−u Tập hợp tất cả các unseen/negative itemscủa user u
với user index u, ID của positive/seen item i và ID củanegative/unseen item j
L Tổng số lớp ẩn (hidden layer) trong kiến trúc mạng nơ-ron
rui Số điểm (likeliness/rating score) ước tính của user u đối với
item i , cũng là đầu ra của CF model
ˆ
riju Sự chênh lệch ước tính mức độ thích hợp/điểm xếp hạng của
user u đối với positive item i và negative item j
EU Ma trận nhúng của user (User embedding matrix)
EI Ma trận nhúng của items (Item embedding matrix)
eu Biểu diễn one-hot của user u ∈ U
ei Biểu diễn one-hot của item i ∈ I
hay trao đổi dữ liệu người dùng
Thiết kế này vẫn đang được sử dụng với sự trợ giúp của các kỹ thuật ẩn danh dữliệu để bảo vệ quyền riêng tư của người dùng trong khi vẫn có thể cung cấp thông tinhữu ích cho công ty/tổ chức kể cả khi dữ liệu đã được ẩn danh Các kỹ thuật này chính
là K-anonymity [21], L-Diversity [22] hay T-Closeness [23] Tuy nhiên, các kỹ thuật nàyhoàn toàn có thể bị khai thác bởi các kiểu tấn công như [24] hay [25] Hơn nữa, ngườidùng không thể chủ động kiểm soát dữ liệu của họ sau khi dữ liệu đã được máy chủ thuthập, vì các công ty hay tổ chức thường sẽ không minh bạch về cách sử dụng dữ liệucủa người dùng
Trang 383.1.2 Huấn luyện phi tập trung (Áp dụng học liên kết
-Federated Learning)
Để giải quyết vấn đề bảo mật của các hệ khuyến nghị huấn luyện theo phương pháptập trung, các hệ khuyến nghị bảo mật sẽ huấn luyện bằng cách sử dụng kỹ thuật họcliên kết Đối với học liên kết, như đã đề cập ở Chương 2, người dùng sẽ dùng dữ liệu của
họ để cải thiện các mô hình cục bộ (local model) tại thiết bị của họ (ví dụ: đi động, máytính cá nhân ) và chỉ đóng góp thông tin của mô hình cục bộ (ví dụ: độ dốc, trọng số ) để cập nhật mô hình toàn cầu (global model) ở phía máy chủ Cách cập nhật môhình toàn cầu có thể được thực hiện bằng cách sử dụng một giải pháp/phương pháptiêu chuẩn có tên là Trung bình liên kết (FedAvg) [4], lấy trung bình của các trọng sốhoặc độ dốc/thay đổi được cập nhật của các mô hình cục bộ thành cập nhật mô hìnhtoàn cầu
Hình 3.1: Thuật toán FedAvg [4]
Tuy nhiên, không giống như các mô hình trong lĩnh vực thị giác máy tính hay xử
lý ngôn ngữ tự nhiên, phương pháp này không thể được áp dụng trực tiếp để huấnluyện mô hình Collaborative Filtering thông qua các kỹ thuật Matrix factorization, vì
mô hình CF cũng chứa các thành phần được cá nhân hóa như nhúng người dùng user embeddings (tức là các biểu diễn tiềm ẩn của người dùng - latent representation
-of users) và/hoặc nhúng vật phẩm - item embeddings (nghĩa là biểu diễn tiềm ẩn của
Trang 39vật phẩm - latent representation of items) trong đó kẻ tấn công hoặc máy chủ tò mò(honest-but-curious) có thể chỉ cần quan sát các item embeddings được yêu cầu cậpnhật từ người dùng nhằm cập nhật cho mô hình cục bộ, từ đó có thể suy ra dữ liệungười dùng (ví dụ số lần tương tác của người dùng A với sản phẩm Bia Tiger có thểsuy ra người dùng A thích uống bia Tiger).
Để giải quyết vấn đề rò rỉ thông tin người dùng khi dùng trực tiếp FedAvg để cậpnhật mô hình toàn cầu ở phía máy chủ, Ammad-Ud-Din và các cộng sự đã đề xuấtmột mô hình mới có tên là Federated Matrix Factorization [5], trong mô hình này, userembeddings sẽ được bảo mật hoàn toàn vì chỉ tồn tại ở thiết bị của người dùng (khôngcần gửi lên server), chỉ các thông tin về gradient của item embeddings được gửi về server
để cập nhật global model
Hình 3.2: Thuật toán FMF [5]
Sau FMF, các tác giả trong bài báo [26] đã đề xuất sử dụng kỹ thuật riêng tư viphân cục bộ - Local Differential Privacy (LDP) để bảo vệ FMF sau khi mô hình này cóthể bị tấn công trong một số trường hợp được nêu ra ở bài báo [27]
Ngoài ra còn có một cách khác để triển khai hệ khuyến nghị bảo mật dựa trên họcliên kết rất nổi tiếng gần đây đó là FedeRank [6] Các tác giả đã đưa ra giải pháp huấn
Trang 40luyện mô hình lọc cộng tác dựa trên hàm mất mát Bayesian Personalized Ranking, vàđồng thời dùng kỹ thuật trả lời ngẫu nhiên để đảm bảo tính riêng tư của người dùng.
u | << |I−u |, đây là trường hợp rất hay xảy ra đối với hệ thống có số item >> user (ví
dụ như các sàn thương mại điện tử)
Để huấn luyện bằng phương pháp BPR, tất cả seen item cần phải ghép nối (paring)với tất cả unseen item để tạo thành các valid training samples (bao gồm một unseenitem và một seen item) Do sự chênh lệch lớn giữa số lượng seen item và unseen item,nên khi ta dùng các item này để tạo thành các training samples trong dataset để huấnluyện, tần suất xuất hiện của các seen item duy nhất trong dataset sẽ » tần xuất suấthiện của unseen item duy nhất trong dataset Do đó, các embeddings item của seen item
sẽ có xu hướng được cập nhật thường xuyên hơn khi các training samples này được lấymẫu lúc huấn luyện
Đễ dễ hiểu hơn, ta sẽ mô phỏng cách một người dùng trong tập dữ liệu MovieLens [28]lấy mẫu thống nhất các records trong pairwise dataset của người dùng và sau đó đếm sốlần xuất hiện của các item trong 500 lần lặp và Hình 3.3 là kết quả của mô phỏng Kếtquả đã cho thấy rõ ràng rằng tần suất cập nhật/yêu cầu của các seen item lớn hơn rấtnhiều so với tần suất của các unseen item Server nếu tò mò có thể dễ dàng suy ngược
ra thông tin tương tác của người dùng dựa vào các thông tin trên
Vấn đề thứ hai liên quan đến đảm bảo thông tin, xảy ra khi người dùng sử dụng BPRloss để tối ưu hóa mô hình CF và gửi gradient của item-embeddings đến server
Khi người dùng lấy mẫu một tập con các records từ pairwise dataset để cập nhật môhình CF thông qua BPR loss, thì độ lớn của gradient item-embedding của seen item sẽbằng tổng gradient item-embeddings của unseen item nếu các unseen item này chỉ đượcpair với seen item trong một lần lấy mẫu hoặc ngược lại
Về mặt toán học, I˜u+ ⊂ I +
u và I˜u− ⊂ I−u lần lượt là tập hợp các seen và unseen itemtrong tập hợp con của pairwise dataset Du− của người dùng u ∈ U, trong đó Du− là các