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

Luận văn thạc sĩ Khoa học máy tính: Hệ khuyến nghị bảo mật

99 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Nội dung

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA

Trang 2

TRƯỜ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ánhCá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 Quang2 Thư Ký: TS Phan Trọng Nhân

KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH

Trang 3

TRƯỜ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Ĩ

– 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/2023Phạm Hồng Thái

Trang 5

Mụ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ảovệ 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 6

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

Tô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ích

dẫ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 8

2.1.1Giới thiệu chung .4

2.1.2Ma trận tương tác giữa người dùng - sản phẩm - User-item interactionmatrix 5

2.1.3Kỹ thuật lọc dựa trên nội dụng (Content-based Filtering) 7

2.1.4Kỹ thuật lọc cộng tác - Collaborative Filtering 8

2.1.5Các kỹ thuật lai (Hybrid) 9

2.2Phân tích ma trận - Matrix Factorization 9

2.3Neural Collaborative Filtering 11

2.4Bayesian Personalized Ranking (BPR) .13

2.5Private Set Union (PSU) 14

2.6Federated Learning 15

2.7Secure Aggregation Protocol 17

2.8Giao thức trao đổi khóa Diffie–Hellman 18

2.9Elliptic-curve Diffie–Hellman 20

3CÁC HƯỚNG TIẾP CẬN VÀ CÔNG TRÌNH LIÊN QUAN233.1Các hướng tiếp cận và công trình liên quan 23

3.1.1Huấn luyện tập trung (Centralized) 23

3.1.2Huấn luyện phi tập trung (Áp dụng học liên kết - Federated Learning) 253.1.3Phân tích bảo mật 27

3.1.4Phân tích chi phí liên lạc 29

4PHƯƠNG PHÁP ĐỀ XUẤT334.1Giải pháp để huấn luyện mô hình 33

4.2Giải pháp để bảo vệ thông tin của người dùng 34

Trang 9

4.2.1Cách huấn luyện mô hình .37

5THÍ NGHIỆM415.1Tập dữ liệu - Dataset 41

5.2Phép đo - Metrics 41

5.3Các thiết lập của thí nghiệm 42

5.4Kết quả 43

6KẾT LUẬN556.1Kết luận 55

6.2Ưu điểm 55

6.3Hạn chế 56

6.4Hướng phát triển cho tương lai - Future Study 56

Trang 10

2.1Hệ khuyến nghị 5

2.2User-item interaction matrix 6

2.3Hại loại kỹ thuật chính để xây dựng hệ khuyến nghị 8

2.4Matrix Factorization .10

2.5Utility Matrix 3 users 11

2.6(a) Latent Vectors for 3 users (b) Latent Vectors for 4 users .11

2.7Neural Collaborative Filtering Architecture 12

2.8Ví dự dữ liệu huấn luyện của phương pháp Bayesian Personalized Ranking 13

2.9Minh họa giải thuật PSU 15

3.1Thuật toán FedAvg [4] 25

3.2Thuật toán FMF [5] .26

3.3Tầ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ậpnhật cho vòng huấn luyện (k=8) .30

3.4Tầ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ậpnhật giữa seen và unseen item 31

3.5Random Response [6] để giải quyết vấn đề bảo mật 32

5.1Kết quả huấn luyện trên tập dữ liệu MovieLens 100k .44

5.2Kết quả huấn luyện trên tập dữ liệu MovieLens 1M .45

5.3Tần suất cập nhật của item embeddings cho một người dùng đã seen khá nhiềuitems khi dùng giải thuật 4 với tập dataset MovieLens 100k .46

Trang 11

5.4Tần suất cập nhật của item embeddings cho một người dùng đã seen khá nhiềuitems khi dùng Federank với tập dataset MovieLens 100k 475.5Tầ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 485.6Tầ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 .495.7Tầ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 .505.8Tầ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 .515.9Tầ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 .525.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 .535.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 12

3.1Bảng kí hiệu và mô tả 244.1So 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 .345.1Thông tin về hai bộ dữ liệu MovieLens 41

MovieLens 1M 43

Trang 13

Thuật ngữ tiếng AnhThuật ngữ tiếng ViệtViết tắt

Bayesian Personalized RankingXếp hạng cá nhân BayesianBPRExplicit/Implicit feedbackThông tin phản hồi rõ ràng/tiềm ẩn

tác/chưa tương tác)

Trang 14

GIỚ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ạnhmẽ 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 15

chẽ 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áchsử 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 16

Chươ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 17

CƠ 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ườngcó độ 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ốngsẽ 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 18

nhiề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ổnglồ 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 19

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

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ựctế, 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 đượcvà 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áchmà 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.

Kỹ thuật lọc dựa trên nội dung thông thường sử dụng các mô hình: sử dụng usersprofile và items profile để xây dựng nên mô hình huấn luyện Mô hình dự đoán sau đósẽ sử dụng kết quả của mô hình huấn luyện để sinh ra tư vấn cho người dùng Trongcách tiếp cận này, lọc nội dung có thể sử dụng các kỹ thuật học máy như mạng Bayes

Trang 21

Hì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ộtbộ 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 22

cù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ợpcó 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 23

Hì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 Sx,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ươngtự 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 24

Hì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ắnnó 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 25

Hì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 lossvà 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 26

2.4Bayesian 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 >uj|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 27

2.5Private 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 {Iu}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 Bu cho tập hợp các item Iu

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 ý Hu 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 28

Cụ 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∈ Iu 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

Hu, where k = 1, , K5: end for

6: return Hu

Khái niệm về học liên kết lần đầu tiên được các nhà nghiên cứu tại Google đưa ravào đầu năm 2017 [13], phát sinh như một cách tiếp cận thay thế cho các kỹ thuật họcmáy truyền thống trong đó dữ liệu huấn luyện phải được tập trung ở một nơi, thường

Trang 29

là 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 30

2.7Secure 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 gradientvề 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ệ

sij.

Trang 31

Hì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óabí 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) chohọ để 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 33

việ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ữsố, a và b có thể dài đến 300 chữ số.

Hình 2.12: Diffie-Hellman cơ bản [2]

Trong bài báo gốc về Giao thức tổng hợp an toàn [16], nhóm tác giả đã sử dụnggiao thức trao đổi khóa Diffie-Hellman để sử dụng cho việc trao đổi dữ liệu an toàn.Tuy nhiên, khi sức mạnh tính toán và các kỹ thuật để giải quyết bài toán logarithmrời rạc được cải thiện, giao thức Diffie-Hellman cổ điển có thể không còn an toàn khikích thước p nhỏ hơn 2048-bits nữa Vào năm 2015, David Adrian và các cộng sự đãtrình bày kỹ thuật Logjam attack để phá vỡ giao thức trao đổi khóa Diffie-Hellman cóđộ 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áctổ 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ể suyra 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 35

3072-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 36

CÁ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 37

Bả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ố embedding, W[u] and W[i], user embedding của user u vàitem embedding của item i

non-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/positiveitems 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ơ-roncủa NCF

hl(·) Hàm output tại lth hidden layer, where 1≤ l ≤ Lˆ

hl Đầu ra ở lớp lth hidden layer, với 1≤ l ≤ Lˆ

rui Số điểm (likeliness/rating score) ước tính của user u đối vớiitem 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ủauser 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∈ Uei 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ínhlà 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 38

3.1.2Huấ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ủahọ để 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 representationof 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 39

vậ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 40

luyệ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.

Đễ 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ượcra 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

Ngày đăng: 31/07/2024, 09:14

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

TÀI LIỆU LIÊN QUAN