Client-Server Collaborative Filtering for Private Matrix Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing client-server systems face challenges in achieving efficient machine learning processes due to the difficulty in finding patterns in limited data and the need to collect and store large amounts of sensitive user data, which is hindered by regulations and infrastructure costs.
Innovation Solution
A client-server system utilizing Collaborative Filtering to update client-item matrices by distributing model components between clients and servers, allowing clients to calculate estimates using local data without transferring personal data, and aggregating updates on the server to enhance model components.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If user data is collected and stored on a central server to improve machine learning accuracy, then model precision is improved, but data security and user privacy are compromised
Solution Approach 1:
The system segments the machine learning model into two components: a global model component stored on the server and a local model component stored on the client device. This segmentation allows the system to utilize both centralized computational resources and distributed data storage, improving model precision while maintaining data security by keeping sensitive user data localized.
Solution Approach 2:
The patent introduces an intermediary mechanism where the server stores only aggregated model updates and global model components rather than raw user data. This intermediary approach enables the system to benefit from collective learning across multiple users while preventing direct access to sensitive personal information, thus resolving the contradiction between model accuracy and data security.
2Object-affected harmful factors
If explicit user opt-in consent is required for data collection to protect user privacy, then data security is improved, but machine learning data availability deteriorates
Solution Approach 1:
The system implements self-service by enabling clients to automatically train local model components using their own data without requiring explicit opt-in consent for each data usage. The local model training occurs autonomously on the client device, and only anonymized model updates are transmitted to the server, thus protecting user privacy while maintaining data availability for machine learning purposes.
Solution Approach 2:
By segmenting the learning process into local client-side training and centralized server-side aggregation, the system allows data to be utilized for model improvement without requiring explicit user consent for centralized data collection. This segmentation enables continuous learning while respecting user privacy preferences.
3Measurement precision
If large amounts of user data are collected and stored on servers to improve model accuracy, then model precision is improved, but infrastructure costs increase
Solution Approach 1:
The patent extracts the data storage function from the centralized server and relocates it to distributed client devices. Each client stores its own data locally for training the local model component, eliminating the need for expensive centralized data storage infrastructure while still enabling accurate model training through local computation.
Solution Approach 2:
The system segments the computational workload and data storage requirements across multiple client devices rather than concentrating them on a single server. This distribution reduces the infrastructure burden on the server while maintaining or improving model accuracy through localized training on diverse user data.
Data Source
Figure 1
Figure 2
AI summary
A client (i) adapted for updating individual elements (rij) of a client-item matrix (R) by means of Collaborative Filtering, R = XTY. The matrix (R) comprises a plurality of individual elements (rij), each individual element relating to a specific client (i) and a specific item (j). The client (i) utilizes an individual part (Ai) of a first model component (A) and at least one element of local client data (ui). The first model component (A) is a factor matrix A = X(i, k) comprising a plurality of client factor vectors (xi). The individual part (Ai) of the first model component (A) is the client factor vector (xi) for said client (i). The client (i) is connected to a server utilizing a second model component (B) and a global set of items (j1,..., jM). The second model component (B) is a factor matrix B = Y(J, k) comprising a plurality of item factor vectors (yj). The client (i) is configured to assign the individual part (Ai) of the first model component (A) to the client (i) and download a second model component (B) from the server. Thereafter, an updated individual part (Ai2) of the first model component (A) is calculated, as well as an individual value for each item (j1,..., jM). An evaluation of the value is uploaded to the server such that an updated second model component (B2) is calculated by the server. The updated second model component (B2) is downloaded from the server, and a new updated individual part (Ai3) of the first model component (A) is calculated.