Federated recommendation systems

The method enhances federated recommendation systems by initializing local embedding values with global data, updating them using local data, and performing matrix factorization to achieve fast convergence and reduced network resource usage while preserving user privacy.

WO2025224565A1PCT designated stage Publication Date: 2025-10-30TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
PCT/IB2025/053966
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-04-22
Filing Date
2025-04-15
Publication Date
2025-10-30

AI Technical Summary

Technical Problem

Existing federated recommendation systems face challenges in achieving fast convergence time, reduced data sharing costs, and high precision while ensuring user privacy and minimizing network resource usage during model training.

Method used

A method involving federated learning that initializes local embedding values using global training data, updates them with local data, and performs matrix factorization without sharing privacy-sensitive information, thus improving convergence time and reducing network resource usage.

Benefits of technology

This approach enables high-performance recommendation systems with fast convergence and reduced network resource consumption by leveraging global and local data without compromising user privacy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IB2025053966_30102025_PF_FP_ABST
    Figure IB2025053966_30102025_PF_FP_ABST
Patent Text Reader

Abstract

A method performed by a device for recommending an item. The method includes receiving, from a network node, a global set of item embedding values, IEVs, for matrix factorization, wherein the global set of IEVs is associated with a global set of items. The method also includes initializing a local set of IEVs associated with a local set of items, wherein the local set of items is a subset of the global set of items. The method also includes updating the local set of IEVs based on at least some IEVs included in the global set of IEVs, thereby obtaining a first updated local set of IEVs. The method also includes obtaining local training data available at the device. The method further includes updating the first updated local set of IEVs using the obtained local training data, thereby generating a second updated local set of IEVs. Recommending the item is performed based on at least a first IEV and at least a first device (or user) embedding value (DEV) and the first IEV is determined based on the second updated local set of IEVs.
Need to check novelty before this filing date? Find Prior Art

Description

FEDERATED RECOMMENDATION SYSTEMSTECHNICAL FIELD

[0001] This disclosure relates to methods and systems for improving communication efficiency in federated recommendation systems.BACKGROUND

[0002] As the number of users using online services increases, companies find themselves in a fierce competition for attracting these users and converting them into prospective clients. In attracting the users, one of the important aspects is uniquely tailoring user experience to each individual user and moving away from generic strategies universally applied to every platform user. To tailor user experience to each individual user, some companies use recommendation systems (RSs).

[0003] The RSs serve as instrumental aids in item filtering. The nature of filtering varies based on the service being offered — ranging from, for example, films in streaming platforms to commodities in e-commerce contexts. The filtering, as orchestrated by the RSs, pinpoints items of utmost relevance to individual users, thereby providing an automated and customized approach to attract users. An effective RS for a platform can increase user loyalty of the platform by uniquely tailoring each user’s experience to user’s inclination. The RS relies on consumption profiles or attributes and pinpoints users with similar histories to targeted recommendations.

[0004] Method of distinguishing users with similar behavioral patterns is termed a collaborative filtering. A technique frequently used for the collaborative filtering is matrix factorization. At its core, matrix factorization in RSs decomposes a user interaction matrix into two lower-rank matrices. Through optimization methods, it becomes feasible to discern the values of these lower-rank matrices. These values, in turn, can forecast user preferences for unevaluated items or those yet interacted with, thereby enabling personalized recommendations.

[0005] To ensure the adequate efficiency of this process, collecting user data is paramount. However, data privacy and protection, for example, regulated by the General Data Protection Regulation (GDPR) in Europe, may impact data availability for service providers, and thus may harm the training of a satisfactory recommendation system for users given theintricacies of discerning their historical inclinations.

[0006] In light of these hurdles, machine learning (ML) realm has fervently ventured into spearheading a subfield termed Federated Learning (FL). This new paradigm champions a model training modality that retains client data on their individual devices. Reference [1] listed below discloses information about the FL. More specifically, Reference [1] discloses the concept of using a pre-trained model to initialize a model for the FL. See Reference [1] at page 8.

[0007] Several methods have been proposed to deal with the challenges of FL approaches within the field of RS. Federated Matrix Factorization (FMF) is an example, which incorporates collaborative filtering while preserving data privacy of user data. The FMF allows client data retention on their individual devices, e.g., mobile phones. In using the FMF, the only shared information is what is called an item matrix. Reference [2] listed below explains in detail about a secure FMF. Reference [3] listed below discloses application of transfer learning in task recommendation system.SUMMARY

[0008] Some RSs use ML models to determine right recommendations for users. For example, an RS for a video streaming service may use an ML model to determine which movies and / or TV shows to recommend to a particular user based on the types of movies and / or TV shows that the user watched in the past. In order to configure the ML models to determine the right recommendations for users, the ML models need to be trained.

[0009] Training an ML model of a RS may be segmented into phases, a.k.a. rounds. In each training round, training data is selected and used for training the ML model. In order to successfully train the ML model, multiple rounds of training are usually necessary. In other words, the ML model needs to be iteratively trained in order to reach convergence.

[0010] The training data needed for training the ML model is obtained from clients / devices. Examples of the training data include data indicating the types of movies and / or TV shows users watched in the past. Thus, as more training data is needed for training the ML model, more signalling between the clients / devices and the entity that performs the ML training is needed.

[0011] However, since available network resources are limited, as the amount ofsignalling needed for sharing the training data increases, less network resources would be available for other tasks, for example, other applications such as Maps, browsers, or video conferencing apps. Furthermore, in case the amount of signalling for sharing the training data is more than the currently available network resource, the training data may not be delivered to the entity that performs the ML model training, and thus the training of the ML model may not be performed adequately.

[0012] Therefore, there is a need for a recommendation model, e.g., a federated recommendation model that offers fast convergence time, reduced cost of sharing training data, and high precision.

[0013] Accordingly, in one aspect of the embodiments of this disclosure, there is provided a method performed by a device for recommending an item. The method includes receiving, from a network node, a global set of item embedding values, IEVS, for matrix factorization, wherein the global set of IEVs is associated with a global set of items. The method also includes initializing a local set of IEVs associated with a local set of items, wherein the local set of items is a subset of the global set of items. The method also includes updating the local set of IEVs based on at least some IEVs included in the global set of IEVs, thereby obtaining a first updated local set of IEVs. The method also includes obtaining local training data available at the device. The method further includes updating the first updated local set of IEVs using the obtained local training data, thereby generating a second updated local set of IEVs. Recommending the item is performed based on at least a first IEV and at least a first device (or user) embedding value (DEV) and the first IEV is determined based on the second updated local set of IEVs.

[0014] In another aspect, there is provided a computer program comprising instructions which when executed by processing circuitry cause the processing circuitry to perform the method of any one of the above embodiments.

[0015] In a different aspect, there is provided a carrier containing the computer program of the above embodiment. The carrier is one of an electronic signal, an optical signal, a radio signal, and a computer readable storage medium.

[0016] In a different aspect, there is provided a device for recommending an item. The device is configured to receive, from a network node, a global set of item embedding values (IEVs) for matrix factorization. The global set of IEVs is associated with a global set of items. The device is further configured to initialize a local set of IEVs associated with a local set of items. The localset of items is a subset of the global set of items. The device is further configured to update the local set of IEVS based on at least some IEVS included in the global set of IEVS, thereby obtaining a first updated local set of IEVs, obtain local training data available at the device, and update the first updated local set of IEVs using the obtained local training data, thereby generating a second updated local set of IEVs. Recommending the item is performed based on at least one IEV and at least one device (or user) embedding value (DEV), and said at least one IEV is determined based on the second updated local set of IEVs.

[0017] In a different aspect, there is provided a system comprising processing circuitry and a memory, said memory containing instructions executable by said processing circuitry, whereby the system is operative to perform the method of any one of the above embodiments.

[0018] The embodiments of this disclosure address predominant problems associated with Federated Matrix Factorization (FMF) techniques. For example, the embodiments improve the efficiency and convergence time of training ML models used for RSs without the need for a substantial number of training rounds. Thus, according to the embodiments, even with a limited sample of clients / device, a high-performance RS can be achieved.

[0019] Furthermore, unlike the conventional FL, in the embodiments of this disclosure, the entire model for performing the FL is not transferred. Rather only the embedding values directed to non-privacy sensitive data (e.g., movie items) or a function / model for deriving such embedding values are transferred for the FL. Since embedding values directed to user privacy sensitive data are not transferred, privacy of users can be protected.BRIEF DESCRIPTION OF THE DRAWINGS

[0020] The accompanying drawings, which are incorporated herein and form part of the specification, illustrate various embodiments.

[0021] FIG. 1 shows an exemplary scenario where some embodiments of this disclosure can be applied.

[0022] FIG. 2A shows a process according to some embodiments.

[0023] FIG. 2B shows a system according to some embodiments.

[0024] FIG. 3 shows examples of user and item embedding values.

[0025] FIG. 4 shows a process according to some embodiments.

[0026] FIG. 5 shows a process according to some embodiments.

[0027] FIG. 6 shows an apparatus according to some embodiments.DETAILED DESCRIPTION

[0028] FIG. 1 shows an exemplary scenario 100 where some embodiments of this disclosure can be applied. In the scenario 100, a user equipment (UE) 104 displays a graphical user interface (GUI) 106 showing a list of items recommended to a user 102 of the UE 104. The list of the recommended items may be generated by a network node (NN) (e.g., a server controlled by a service provider) 108 and provided by the NN 108 to the UE 104 via network 110. Alternatively, the list of the recommended items may be generated by the UE 104.

[0029] Even though FIG. 1 shows that the UE 104 is a television, the UE 104 may be any device capable of generating the list of the recommended items. Examples of the UE 104 include but are not limited to a mobile phone, a tablet, a watch, a setup box, a laptop, a desktop, etc. Also, even though FIG. 1 shows that the recommended items are movies, the items can be anything related to the user 102 and / or the UE 104. Examples of the items include movies, music, electronics, or any sales products.

[0030] To generate the list of the recommended items, a machine learning (ML) model may be used. The ML model may be configured to determine a likelihood that the user 102 would select or be interested in a particular item (e.g., a particular movie) based on one or more characteristics of the particular item and / or one or more characteristics of the user. Taking movies as an example, Table 1 below shows a simplified example of data outputted by the ML model.Table 1

[0031] Each of the numbers provided in Table 1 indicates a likelihood that a particular user would select or be interested in a particular movie. The closer the number is to 1, the higher the likelihood is in this example. For example, in Table 1, there is a high likelihood that the user 1 would be interested in the movie 1 but there is a low likelihood that the user 2 would be interested in the movie 2.

[0032] In order to train the ML model, user and item related data is needed. For example, in case the ML model is trained by the NN 108, a list of movies previously watched by the user 102 and the user 102’s user related information such as, for example, language and a geographical region where the user 102 is located, may be provided to the NN 108. Then the NN 108 may use this data to train the ML model. In one specific example, if the user 102 gave 5-star rating for the movie 1, the ML model may be trained to output, for the movie 1, a higher number which is close to 1 (e.g., 0.9 in Table 1 above) for a user who is similar to the user 102 with respect to the user related information.

[0033] As explained above, in some scenarios, it is not desirable to transmit user and item related data to the NN 108 because the user and item related data may be privacy sensitive. In such scenarios, federated learning (FL) may be used. However, as further explained above, training the ML model until the ML model reaches convergence generally requires multiple rounds of training, which in turn require multiple rounds of exchanging data between the NN 108 and the user 102. Such multiple rounds of exchanging data may require excessive usages of network resources. Therefore, there is a need for a way to train the ML model without compromising user privacy and without excessively using the network resources.

[0034] Accordingly, in some embodiments, a process 200 shown in FIG. 2A is provided for training an ML model for an RS. The ML model may be used to determine a likelihood that a particular user would select or be interested in a particular item. The process 200 may be performed by a system 250 shown in FIG. 2B. As shown in FIG. 2B, the system 250 may comprise a control node 252 and a plurality of local nodes 254. In one example, the control node 252 corresponds to the NN 108 and the local nodes 254 correspond to the UE 104.

[0035] In this disclosure, an ML model may indicate a group of embedding values (a.k.a., “embedding weights” or “embedding weight values”) for a plurality of users (hereinafter, “user embedding values”) and / or a group of embedding values for a plurality of items (hereinafter, “item embedding values”). The user and / or item embedding values may be provided in the form of a matrix. The matrix containing user embedding values may be referred to as a user embedding matrix and the matrix containing item embedding values may be referred to as an item embedding matrix. Also, in this disclosure, training the ML model may mean generating or updating user and item embedding values.

[0036] A combination of a user embedding value and an item embedding value mayindicate a likelihood that a particular user would select or be interested in a particular item. Examples of the user and item embedding values are shown in FIG. 3.

[0037] FIG. 3 shows item embedding values 302 and user embedding values 304. Each column of the item embedding values 302 is associated with a particular item and each row of the user embedding values 304 is associated with a particular user. For example, the item 1 is associated with item embedding values 0.9 and -0.2, and the item 2 is associated with item embedding values -1 and -0.8. Similarly, the user 1 is associated with user embedding values 1 and 0.1, and the user 2 is associated with user embedding values -1 and 0. Even though FIG. 3 shows that a number of user embedding values associated with a user is two, the number can be any number. Similarly, even though FIG. 3 shows that a number of item embedding values associated with an item is two, the number can be any number.

[0038] In some embodiments, the item embedding values and the user embedding values may be provided in the form of matrices. For example, a user embedding matrix U corresponding to the embedding values 304 and an item embedding matrix V corresponding to the embedding values 302 are:- 1 0.9 -0.2 u = -1 -1 -0.80.2 1 -1 -0.11 0.9

[0039] FIG. 3 also shows feedback values 306. Each feedback value indicates a likelihood that a particular user would select or be interested in a particular item. For example, the top left value 0.88 indicates the likelihood that the user 1 would select or be interested in the item 1.

[0040] In some embodiments, the feedback values may be provided in the form of a matrix. For example, a feedback matrix F corresponding to the feedback values 306 are:0.88 -1.08 0.9 1.09-P_ -0.9 1.0 -1.0 -1.00.38 0.6 1.2 -0.7—0.11 -0.9 -0.9 1.0 -

[0041] During training of the ME model, i.e., during the process of updating the user and / or item embedding values, the user and / or item embedding values are determined or updated such that the combination of the item embedding values and / or the user embedding values corresponds to the feedback values. In one example, during training of the ME model, the userand / or item embedding values are determined or updated such that F = U ■ VT.

[0042] Referring back to FIG. 2A, the process 200 may begin with step s202. The step s202 comprises the control node 252 obtaining global training data for training a global ML model, i.e., obtaining global training data for determining and / or updating a global set of user and / or item embedding values. Here, the global training data means training data that is available for multiple UEs or users, or that is publicly available, or that is not privacy sensitive. Training data may also be referred to as training dataset. The global set of user and / or item embedding values may mean a set of user and / or item embedding values that can be shared among different local nodes 254. The global ML model may mean an ML model indicating the global set of user and / or item embedding values.

[0043] In the scenario 100, the global training dataset may indicate a list of movies, specifications of the movies, a list of anonymized users, specifications of the anonymized users, information regarding the users’ engagements with the movies, and popularities / ratings of the movies given by the users or third parties. After obtaining the global training data, the process 200 may proceed to step s204.

[0044] The step s204 comprises the control node 252 training the global ML model using the global training data. More specifically, in the step s204, the global set of item and user embedding values are generated and updated based on the global training data. In this step, the global set of item and user embedding values are determined such that the combination of the item and user embedding values would result in feedback values that are close to the values indicating the popularities / ratings of the movies indicated by the global training data. The global set of item embedding values obtained in this step may be provided in the form of a matrix Eccontaining matrix elements Ec, where i indicates a row of the matrix and j indicates a column of the matrix. Similarly, the global set of user embedding values obtained in this step may be provided in the form of a matrix.

[0045] After training the ML model, i.e., generating the user and / or item embedding values, the process 200 may proceed to step s206.

[0046] The step s206 comprises the local node 254 initializing a local ML model available at the local node 254, i.e., initializing a local set of item embedding values associated with particular items (a.k.a., “target items”). The initialization is for preparing the local set of item embedding values for federated training, which is explained below.

[0047] There are various ways of initializing the local set of item embedding values of the target items. In one example, a random function R() may be used to generate random numbers and the generated random numbers may be assigned to the local set of item embedding values. Table 2 illustrate a simplified example of the initialized local set of item embedding values of target items which are identified by item IDs #1, 5, and 9.Table 2

[0048] As shown above, in the above example, each value in the initialized local set of item embedding values is associated with a target item identified by each item identifier (ID) (e.g., movie title). Note that, in this example, for simple explanation purpose, it is assumed that each item is associated with a single item embedding value. However, as explained above, each item may be associated with any number of item embedding values. The initialized local set of item embedding values may be provided in the form of a matrix Ef containing matrix elements Ef.. where i indicates a row of the matrix and j indicates a column of the matrix. Here, since it is assumed that each item is associated with a single item embedding value, j is equal to 1. Ef may also be referred to as a “target matrix” since it is the update target.

[0049] Even though FIG. 2A shows that the step s206 is performed after the step s204, the step s206 may be performed before the step s204 and / or the step s202. After initializing the local set of item embedding values, the process 200 may proceed to step s208.

[0050] The step s208 comprises the control node 252 sending the trained global ML model, i.e., sending the global set of item embedding values obtained via a centralized approach in the step s204, to each local node 254. After each local node 254 receives the global set of item embedding values, the process 200 may proceed to step s210. The step s210 comprises each local node 254 transferring (e.g., mapping) the global set of item embedding values - i.e., performing a transfer learning. One exemplary way of transferring the global set of item embedding values (e.g., Ec) is explained below.

[0051] Let’s assume that Table 3 provided below shows the transferred global set of item embedding values.Table 3

[0052] After receiving these values, each local node 254 may determine whether any item ID associated with the local set of item embedding values is included in the list of item IDs associated with the global set of item embedding values. As shown in Tables 2 and 3, the local set of item embedding values is associated with item ID #1, 5, 9 which are included in the list of item IDs associated with the global set of item embedding values. Then, the local node 254 may update the item embedding values of the identified item IDs in the local set with the item embedding values of the identified item IDs in the global set, as illustrated in Table 4, thereby transferring the global set of item embedding values to the local set of item embedding values.Table 4

[0053] The above process can also be explained using matrix notation, as shown in FIG. 4. In the step s206, the local set of item embedding values is initialized. In case the local set of item embedding values is provided in the form of the matrix Ef, in this step, each element of Ef (i.e., £ . can be set to equal to R() (i.e., Ef = / ?()) where R() is a function for generating a random number. In other words, in the step s206, each Ef.. may set to be a random number.

[0054] Then, in the step s208, the control node 252 sends the global set of item embedding values to each local node 254. In one example, the control node 252 may send to each local node 254 a file containing the global set of item embedding values. The global set of item embedding values may be provided in the form of the matrix Eccontaining matrix elements Ec...

[0055] In the step s210, each local node 254 checks an item ID (IDC) associated with Ef and in case IDC. is in the list of item IDs (IDf.) associated with Ec, i.e., IDC. = IDf., then the corresponding mapped local embedding value Ef. may be set to be equal to Ec., i.e., Efm. = Ec.. Otherwise, the corresponding mapped local embedding value remains the same as before receiving the global set of item embedding values, i.e., Efm. = Ef..

[0056] Note that Ef. is a local set of item embedding values associated with item i. Similarly, Ec. is a global set of item embedding values associate with item i. As explained above, for simple explanation purpose, in this disclosure, it is assumed that the number of item embedding values associated with each item is 1.

[0057] Referring back to FIG. 2A, after performing the transfer learning in the step s210, the process 200 may proceed to step s212. The step s212 comprises performing federated learning (FL) with respect to item embedding values. The concept of FL is well known in the art, and thus it will be briefly explained in this disclosure.

[0058] During the FL, after each of the local nodes 254 transferred the global set of item embedding values to its local set of item embedding values, each local node 254 may perform a local training, i.e., updating the local set of item and user embedding values using local training data that may only be available at each local node 254. Examples of such local training data may include a corresponding user’s age, gender, etc. Table 5 shows an example of the local setof item embedding values that are updated as a result of the local training.Table 5

[0059] After the local node 254 updates the local set of embedding values using the local training data, the local node 254 may send the updated local set of item embedding values to the control node 252. After the control node 252 receives the updated local set of item embedding values from each local node 254, the control node 252 may combine them and generate an updated global set of embedding values. Then, the control node 252 may distribute the updated global set of item embedding values to the local nodes 254. The above processes of FL may be iteratively performed until the convergence of the embedding values occurs, either at the global ML model or at the local ML model, or after the number of iterations has reached a threshold.

[0060] One of the main benefits of the embodiments of this disclosure is as follows. In the existing art, when each local node 254 begins to update its embedding values (i.e., begins to train the local ML model), it starts with random numbers or preset numbers. In other words, the embedding values associated with each local node 254 are set to be random / preset numbers and during the update, they are continuously updated. However, it may take a long time until the embedding values associated with each local node 254 reach convergence.

[0061] On the contrary, in the embodiments of this disclosure, instead of starting the update from the random / preset numbers, the update starts from the transferred embedding values which are obtained as a result of updating the embedding values using global training data at the control node 252, i.e., after training the global ML model using the global training data. Since the update starts from the already “trained” embedding values, it will take less time until the embedding values associated with each local node 254 reach convergence.

[0062] Also, in the embodiments of this disclosure, only item embedding values are exchanged between the control node 252 and the local node 254. Thus, no privacy sensitive information would be shared between the nodes during the training.

[0063] As explained above, in the above embodiments, the control node 252 sends to each of the local nodes 254 a global set of item IDs and a global set of embedding values associated with the global set of item IDs. Then, each local node 254 finds, by comparing item IDs it has with the global set of item IDs, the items of which the local set of embedding values is to be updated. For example, if the global set of item IDs includes item ID #2309 and if one of the items a local node 254 has is associated with the item ID #2309, the local node 254 may replace the initial local embedding value(s) of the item having the item ID #2309 with the global embedding value(s) associated with the item ID #2309.

[0064] However, in some scenarios, item IDs may not be readily available. For instance, in the movie example provided above, the item IDs are readily available because they can be just movie titles or unique identifiers in Entertainment Identifier Registry (EIDR). On the contrary, in case the items correspond to, for example, network nodes such as gNBs, there is no such item IDs.

[0065] Therefore, in some embodiments of this disclosure, the item IDs are generated based on one or more characteristics of the items using a function or a model (e.g., an ML model). In these embodiments, when the global set of item embedding values is generated in the step s204, the corresponding item IDs are generated too, for example, by the control node 252. Also, in these embodiments, the control node 252 may distribute to the local nodes 254 the function / model for determining the item IDs. The distribution may occur at any time before performing the step s210. Furthermore, before the local nodes 254 perform the step s210, the local node 254 may generate item IDs corresponding to the items it manages using the function / model.

[0066] In the above-described embodiments, the local item embedding values are initialized to be the global item embedding values. However, in other embodiments, instead of initializing the local item embedding values in such way, the control node 252 may distribute a global ML model for generating initial item embedding values to the local nodes 254. Then, the local nodes 254 may generate their initial local item embedding values using the global ML model. These embodiments remove the need of transferring item IDs and the initial global set of embedding values from the control node 252 to the local nodes 254. However, there may be a privacy issue as the embodiments involve sharing the global ML model used for generating item embedding values.

[0067] Another Use Case

[0068] The following illustrates another use case scenario where some embodiments of this disclosure can be applied. In this scenario, let’s assume that there are provided a server 5G network data analytics function (NWDAF), a first client 5G NWDAF, and a second client NWDAF. Each of the first and second client NWDAFs is provided with machine learning (ML) capability. The first and second client NWDAFs are capable of using their ML capability to provide real-time analysis data based on collected network specific data. In one example, each of the first and second client NWDAEs may run an ML model to determine the sustainability of Quality of Service (QoS) of the network based on the configurations of the gNBs associated with the NWDAEs and the current condition of the network environment.

[0069] More specifically, the ML model of each of the first and second client NWDAEs may be configured to receive (1) configuration data indicating the configurations of the gNBs associated with each of the NWDAEs and (2) current network environment data indicating the current condition of the network environment. Based on the configuration data and the current network environment data, the ML model in each of the NWDAEs may predict how long the current QoS of the network can be sustained.

[0070] In order to train the ML model in each of the first and second client NWDAEs, the process 200 shown in EIG. 2A can be incorporated into the EL procedures described in 3GPP Technical Specification (TS) 23.288 VI 8.4.0 (hereinafter, “3GPP TS 23.288”). More specifically, the server NWDAF serves as the control node shown in FIG. 2B, while the first and second client NWDAFs serve as the local nodes 254.

[0071] In order to train such ML model using the process 200, item and user embedding values for matrix factorization may be set such that they are associated with gNBs. For example, let’s assume that gNB #1 has N number of transmit (Tx) antennas and has the maximum Tx power of M and that gNB #1 currently serves P number of user equipments (UEs). Then a first IEV may be associated with the number of Tx antennas, the second IEV may be associated with the maximum Tx power, and an UEV may be associated with the number of the currently serving UEs. The product of the first and second IE Vs and the UEV would indicate the QoS sustainability of gNB #1.

[0072] One of the main goals of the ML model training here is to configure each client NWDAF to update the IE Vs associated with its controlling gNBs using the privacy sensitivedata that is only available at the client NWDAF, i.e., without providing such privacy sensitive data to the server NWDAF.

[0073] The server NWDAF may distribute to the client NWDAFs a function / model for determining gNB IDs identifying characteristics of gNBs. Note that this gNB ID is not associated with any particular gNB. Rather, the gNB ID is more like a classification ID indicating how the corresponding gNB is classified. The server NWDAF may also send to the client NWDAFs a global set of IEVS which is associated with a global set of gNB IDs.

[0074] Using the received function / model, each of the client NWDAFs may determine gNB IDs for its controlling gNBs. Then, upon receiving the global set of IEVs, each of the client NWDAFs may determine whether any of the gNB IDs it has is included in the global set of gNB IDs. If one or more of the gNB IDs the client NWDAF has is included in the global set of gNB IDs, the client NWDAF may update the IEVs associated with the one or more gNB ID with the global IEVs. Then, the client NWDAF may update the IEVs associated with its controlling gNBs using the privacy sensitive data that is only available at the client NWDAF, e.g., the QoS sustainability of the gNBs controlled by the client NWDAF. Then, the client NWDAF may share the updated IEVs with the server NWDAF.

[0075] Here the basic concept of the ML model training is similar to the existing FL - configuring each client NWDAF to update the ML model. The main difference is that, in the embodiments of this disclosure, each client NWDAF does not start the ML model training - i.e., the process of updating the IEVs associated with its controlling gNBs - from scratch. Rather, each client NWDAF starts its ML model training with the already good IEVs. Thus, the process of speed of training the ML model for determining the QoS sustainability can be improved.

[0076] FIG. 5 shows a process 500 according to some embodiments. The process may be performed by a device (e.g., 254) for recommending an item. The process 500 may begin with step s502. The step s502 comprises receiving, from a network node (252), a global set of item embedding values (IEVs) for matrix factorization. This step may correspond to the step s208 in the process 200 shown in FIG. 2A. The global set of IEVs is associated with a global set of items. Step s504 comprises initializing a local set of IEVs associated with a local set of items. This step may correspond to the step s206 in the process 200. The local set of items is a subset of the global set of items. Step s506 comprises updating the local set of IEVs based on at least some IEVs included in the global set of IEVs, thereby obtaining a first updated local set of IEVs. This stepmay correspond to the step s210 in the process 200. Step s508 comprises obtaining local training data available at the device and step s510 comprises updating the first updated local set of IEVS using the obtained local training data, thereby generating a second updated local set of IEVs. The steps s508 and s510 may correspond to the step s212 in the process 200. Recommending the item is performed based on at least one IEV and at least one device (or user) embedding value (DEV), and said at least one IEV is determined based on the second updated local set of IEVs.

[0077] In some embodiments, initializing the local set of IEVs comprises: generating random numbers; and assigning the generated random numbers to the local set of IEVs.

[0078] In some embodiments, updating the local set of IEVs comprises: identifying one or more items that are included in both the global set of items and the local set of items; and replacing the IEVs in the local set, which are associated with said identified one or more items, with the IEVs in the global set, which are associated with said identified one or more items.

[0079] In some embodiments, the local training data comprises a plurality of feedback values each of which is associated with an IEV and a DEV, and each of the feedback values indicates a likelihood that the device associated with the DEV would select an item associated with the IEV.

[0080] In some embodiments, updating the first updated local set of IEVs using the obtained local training data is performed by using the obtained local training data, training a machine learning (ML) model indicating the first updated local set of IEVs and one or more DEVs associated with the device until each of the first updated local set of IEVs and said one or more DEVs converges.

[0081] In some embodiments, the process 500 further comprises after obtaining the second updated local set of IEVs, sending the second updated local set of IEVs to the network node.

[0082] In some embodiments, said one or more converged DEVs is not sent from the device to the network node.

[0083] In some embodiments, the process 500 further comprises receiving, from the network node, an updated global set of IEVs for matrix factorization, wherein the updated global set of IEVs is associated with the global set of items; updating the second updated local set of IEVs based on at least some IEVs included in the updated global set of IEVs, thereby obtaining a third updated local set of IEVs; obtaining new local training data available at the device; and updatingthe third updated local set of IEVS using the obtained new local training data, thereby generating a fourth updated local set of IEVs.

[0084] FIG. 6 is a block diagram of network node 600 which can implement the control node 252 and / or the local node 254, according to some embodiments. As shown in FIG. 6, network node 600 may comprise: processing circuitry (PC) 602, which may include one or more processors (P) 655 (e.g., one or more general purpose microprocessors and / or one or more other processors, such as an application specific integrated circuit (ASIC), field-programmable gate arrays (FPGAs), and the like), which processors may be co-located in a single housing or in a single data center or may be geographically distributed (e.g., network node 600 may be a distributed computing apparatus comprising two or more computers or a monolithic computing apparatus consisting of a single computer); at least one network interface 648 (e.g., a physical interface or air interface) comprising a transmitter (Tx) 645 and a receiver (Rx) 647 for enabling network node 600 to transmit data to and receive data from other nodes connected to network 110 (e.g., an Internet Protocol (IP) network) to which network interface 648 is connected (physically or wirelessly) (e.g., network interface 648 may be coupled to an antenna arrangement comprising one or more antennas for enabling network node 600 to wirelessly transmi t / receive data); and a storage unit (a.k.a., “data storage system”) 608, which may include one or more non-volatile storage devices and / or one or more volatile storage devices. In embodiments where PC 602 includes a programmable processor, a computer readable storage medium (CRSM) 642 may be provided. CRSM 642 may store a computer program (CP) 643 comprising computer readable instructions (CRI) 644. CRSM 642 may be a non-transitory computer readable medium, such as, magnetic media (e.g., a hard disk), optical media, memory devices (e.g., random access memory, flash memory), and the like. In some embodiments, the CRI 644 of computer program 643 is configured such that when executed by PC 602, the CRI causes network node 600 to perform steps described herein (e.g., steps described herein with reference to the flow charts). In other embodiments, network node 600 may be configured to perform steps described herein without the need for code. That is, for example, PC 602 may consist merely of one or more ASICs. Hence, the features of the embodiments described herein may be implemented in hardware and / or software.

[0085] Summary of Embodiments

[0086] Al. A method 500 performed by a device 254 for recommending an item, the method comprising: receiving s502, from a network node 252, a global set of item embeddingvalues (IEVS) for matrix factorization, wherein the global set of IEVS is associated with a global set of items; initializing s504 a local set of IEVs associated with a local set of items, wherein the local set of items is a subset of the global set of items; updating s506 the local set of IEVs based on at least some IEVs included in the global set of IEVs, thereby obtaining a first updated local set of IEVs; obtaining s508 local training data available at the device; and updating s510 the first updated local set of IEVs using the obtained local training data, thereby generating a second updated local set of IEVs, wherein recommending the item is performed based on at least one IEV and at least one device (or user) embedding value (DEV), and said at least one IEV is determined based on the second updated local set of IEVs.

[0087] A2. The method of embodiment Al, wherein initializing the local set of IEVs comprises: generating random numbers; and assigning the generated random numbers to the local set of IEVs.

[0088] A3. The method of embodiment Al or A2, wherein updating the local set of IEVs comprises: identifying one or more items that are included in both the global set of items and the local set of items; and replacing the IEVs in the local set, which are associated with said identified one or more items, with the IEVs in the global set, which are associated with said identified one or more items.

[0089] A4. The method of any one of embodiments Al -A3, wherein the local training data comprises a plurality of feedback values each of which is associated with an IEV and a DEV, and each of the feedback values indicates a likelihood that the device associated with the DEV would select an item associated with the IEV.

[0090] A5. The method of any one of embodiments A1-A4, wherein updating the first updated local set of IEVs using the obtained local training data is performed by: using the obtained local training data, training a machine learning (ML) model indicating the first updated local set of IEVs and one or more DEVs associated with the device until each of the first updated local set of IEVs and said one or more DEVs converges.

[0091] A6. The method of any one of embodiments A1-A5, the method further comprising: after obtaining the second updated local set of IEVs, sending the second updated local set of IEVs to the network node.

[0092] A7. The method of embodiment A6, wherein said one or more converged DEVs is not sent from the device to the network node.

[0093] A8. The method of any one of embodiments A1-A7, the method further comprising: receiving, from the network node, an updated global set of IEVS for matrix factorization, wherein the updated global set of IEVs is associated with the global set of items; updating the second updated local set of IEVs based on at least some IEVs included in the updated global set of IEVs, thereby obtaining a third updated local set of IEVs; obtaining new local training data available at the device; and updating the third updated local set of IEVs using the obtained new local training data, thereby generating a fourth updated local set of IEVs.

[0094] B 1. A computer program 600 comprising instructions 644 which when executed by processing circuitry 602 cause the processing circuitry to perform the method of any one of embodiments A1-A8.

[0095] B2. A carrier containing the computer program of embodiment Bl, wherein the carrier is one of an electronic signal, an optical signal, a radio signal, and a computer readable storage medium.

[0096] Cl. A device 254 for recommending an item, the device being configured to: receive s502, from a network node 252, a global set of item embedding values (IEVs) for matrix factorization, wherein the global set of IEVs is associated with a global set of items; initialize s504 a local set of IEVs associated with a local set of items, wherein the local set of items is a subset of the global set of items; update s506 the local set of IEVs based on at least some IEVs included in the global set of IEVs, thereby obtaining a first updated local set of IEVs; obtain s508 local training data available at the device; and update s510 the first updated local set of IEVs using the obtained local training data, thereby generating a second updated local set of IEVs, wherein recommending the item is performed based on at least one IEV and at least one device (or user) embedding value (DEV), and said at least one IEV is determined based on the second updated local set of IEVs.

[0097] C2. The device of embodiment C 1 , wherein the device is configured to perform the method of any one of embodiments A2-A8.

[0098] DI. A system 600 comprising: processing circuitry 602; and a memory 641, said memory containing instructions executable by said processing circuitry, whereby the system is operative to perform the method of any one of embodiments A1-A8.

[0099] While various embodiments are described herein, it should be understood that they have been presented by way of example only, and not limitation. Thus, the breadth and scope of this disclosure should not be limited by any of the above-described exemplary embodiments. Moreover, any combination of the above-described elements in all possible variations thereof is encompassed by the disclosure unless otherwise indicated herein or otherwise clearly contradicted by context.

[0100] As used herein transmitting a message “to” or “toward” an intended recipient encompasses transmitting the message directly to the intended recipient or transmitting the message indirectly to the intended recipient (i.e., one or more other nodes are used to relay the message from the source node to the intended recipient). Likewise, as used herein receiving a message “from” a sender encompasses receiving the message directly from the sender or indirectly from the sender (i.e., one or more nodes are used to relay the message from the sender to the receiving node). Further, as used herein “a” means “at least one” or “one or more.”

[0101] Additionally, while the processes described above and illustrated in the drawings are shown as a sequence of steps, this was done solely for the sake of illustration. Accordingly, it is contemplated that some steps may be added, some steps may be omitted, the order of the steps may be re-arranged, and some steps may be performed in parallel.

[0102] Reference List

Claims

CLAIMS1. A method (500) performed by a device (254) for recommending an item, the method comprising: receiving (s502), from a network node (252), a global set of item embedding values, IEVS, for matrix factorization, wherein the global set of IEVS is associated with a global set of items; initializing (s504) a local set of IEVs associated with a local set of items, wherein the local set of items is a subset of the global set of items; updating (s506) the local set of IEVs based on at least some IEVs included in the global set of IEVs, thereby obtaining a first updated local set of IEVs; obtaining (s508) local training data available at the device; and updating (s510) the first updated local set of IEVs using the obtained local training data, thereby generating a second updated local set of IEVs, wherein recommending the item is performed based on at least a first IEV and at least a first device (or user) embedding value, DEV, and the first IEV is determined based on the second updated local set of IEVs.

2. The method of claim 1, wherein initializing the local set of IEVs comprises: generating random numbers; and assigning the generated random numbers to the local set of IEVs.

3. The method of claim 1 or 2, wherein updating the local set of IEVs comprises: identifying one or more items that are included in both the global set of items and the local set of items; and replacing the IEVs in the local set, which are associated with said identified one or more items, with the IEVs in the global set, which are associated with said identified one or more items.

4. The method of any one of claims 1-3, whereinthe local training data comprises a plurality of feedback values each of which is associated with an IEV and a DEV, and each of the feedback values indicates a likelihood that the device associated with the DEV would select an item associated with the IEV.

5. The method of any one of claims 1-4, wherein updating the first updated local set of IEVS using the obtained local training data is performed by: using the obtained local training data, training a machine learning, ML, model indicating the first updated local set of IEVs and one or more DEVs associated with the device until each of the first updated local set of IEVs and said one or more DEVs converges.

6. The method of any one of claims 1-5, wherein the method further comprises: after generating the second updated local set of IEVs, sending the second updated local set of IEVs to the network node.

7. The method of claim 6, wherein said one or more converged DEVs is not sent from the device to the network node.

8. The method of any one of claims 1-7, wherein the method further comprises: receiving, from the network node, an updated global set of IEVs for matrix factorization, wherein the updated global set of IEVs is associated with the global set of items; updating the second updated local set of IEVs based on at least some IEVs included in the updated global set of IEVs, thereby obtaining a third updated local set of IEVs; obtaining new local training data available at the device; and updating the third updated local set of IEVs using the obtained new local training data, thereby generating a fourth updated local set of IEVs.

9. A computer program (600) comprising instructions (644) which when executed by processing circuitry (602) cause the processing circuitry to perform the method of any one of claims 1-8.

10. A carrier containing the computer program of claim 9, wherein the carrier is one of an electronic signal, an optical signal, a radio signal, and a computer readable storage medium.

11. A device (254) for recommending an item, the device being configured to: receive (s502), from a network node (252), a global set of item embedding values, IEVS, for matrix factorization, wherein the global set of IEVs is associated with a global set of items; initialize (s504) a local set of IEVs associated with a local set of items, wherein the local set of items is a subset of the global set of items; update (s506) the local set of IEVs based on at least some IEVs included in the global set of IEVs, thereby obtaining a first updated local set of IEVs; obtain (s508) local training data available at the device; and update (s510) the first updated local set of IEVs using the obtained local training data, thereby generating a second updated local set of IEVs, wherein recommending the item is performed based on at least a first IEV and at least a first device (or user) embedding value (DEV), and the first IEV is determined based on the second updated local set of IEVs.

12. The device of claim 11, wherein the device is configured to perform the method of any one of claims 2-8.

13. A system (600) comprising: processing circuitry (602); and a memory (641), said memory containing instructions executable by said processing circuitry, whereby the system is operative to perform the method of any one of claims 1-8.

Citation Information

Patent Citations

  • Item Recommendation Method and Device for Protecting User Privacy and Learning System

    US20230162262A1