Graph structure-aware incremental learning for recommendation systems
By combining incremental learning and knowledge distillation techniques, local and global structural distillation components are integrated to solve the problem of long training time in graph neural network recommendation systems, thus enabling a recommendation system that can quickly respond to data changes.
Patent Information
- Application Number
- CN202080103130.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-08-17
- Publication Date
- 2026-01-30
- Estimated Expiration
- 2040-08-17
AI Technical Summary
Existing graph neural network-based recommendation systems require a long time to train models and cannot quickly respond to changes in user preferences and item popularity, resulting in untimely recommendations.
By employing incremental learning and knowledge distillation techniques, and combining local and global structural distillation components with self-embedded distillation components, the graph neural network model is updated, enabling it to be quickly updated without losing old knowledge when new data arrives.
It significantly reduces the computational resources and time required for model updates, ensuring that the recommender system can respond quickly to data changes and maintain a memory of users' and items' historical preferences.
Smart Images

Figure CN115867919B_ABST
Abstract
Description
Technical Field
[0001] This invention generally relates to using machine learning techniques to process graph-based data, particularly in the context of recommendation systems. Background Technology
[0002] Information filtering systems are systems that manage information overload by removing redundant or unnecessary information from the flow of information provided to human users. Recommender systems (RS) are a subclass of information filtering systems that attempt to predict a user's rating or preference for items. RSs are commonly used in business applications to guide users to find content they are genuinely interested in from the ever-growing volume of online information.
[0003] Personalized Recommendations (RS) play a vital role in many online services. Accurate personalized RS can benefit users, content publishers, and platform providers alike. RS is used across various business sectors to provide personalized recommendations to users, including, for example: providing video or music suggestions for streaming and download content provider platforms; providing product suggestions for online retail platforms; providing app suggestions for app store platforms; providing content suggestions for social media platforms; and suggesting news articles for mobile news apps or online news websites.
[0004] A graph is a data structure that represents real-world objects, things, or people as data points (e.g., nodes) and the relationships between nodes as a graph topology (also called a graph structure). Graphs can be useful data structures for analyzing complex real-life applications, such as modeling physical systems, learning molecular fingerprints, controlling traffic networks, and recommending friends in social networks. Graphical neural networks (GNNs) can be used to combine node features with graph structures, generating information about the graph through feature propagation and aggregation.
[0005] In Representation Learning (RS), various relationships exist, such as social networks (user-user graphs), item similarity (item-item graphs), and user-item interactions (which can be modeled as user-item bipartite graphs). Emerging techniques like Generative Neural Networks (GNNs) have proven powerful in representation learning and recommendation tasks. GNN-based RS integrates node features and graph structure to generate representations of users and items, which are then used to make recommendations.
[0006] A typical GNN-based Regression Study (RS) models the user-item interaction history as a bipartite graph, representing each user and item as a corresponding node in the graph. The embedding of each user node is generated by iteratively combining the user node's embedding with the item node's embedding in its local neighborhood, while the embedding of each item node is generated by iteratively combining the item node's own embedding with the user node's embedding in its local neighborhood. Most existing methods divide this process into two steps:
[0007] (1) Neighborhood aggregation, where the aggregation function operates on the feature vector set to generate an aggregated neighborhood vector, which is the aggregation node embedding of the neighbor.
[0008] (2) Center-neighbor combination, which combines the aggregated neighborhood vector (e.g., the aggregated node embedding of the neighbor) with the center user / item node embedding.
[0009] GNN-based RS generates user and item embeddings in a convolutional manner on a graph constructed based on user and item relationships by representing nodes as functions of their surrounding neighborhoods. In a bipartite graph setting, this means that the embedding of a user node is generated using its own embedding and the embeddings of the item nodes to which the user node is connected (where the connections represent previous interactions between the underlying user and item), and similarly, the embedding of an item node is generated using its own embedding and the embeddings of the user nodes to which the item node is connected (where the connections represent previous interactions between the underlying item and user).
[0010] One current problem with GNN-based Resource Analysis (RS) is the long training time required. This is particularly problematic for RS, which needs to provide users with up-to-date recommendations. Training an RS and deploying it to an online service typically involves three steps: data acquisition, training the RS model using the acquired data, and deploying the trained model (i.e., model deployment) to the online service for inference (i.e., for prediction). As user preferences and item popularity constantly change in the real world, it is crucial to minimize the time lag between data acquisition and model deployment so that deployed models are trained with the latest data, reflecting the latest user preferences and item popularity, and providing up-to-date recommendations.
[0011] Therefore, there is a need for a solution that can reduce the time required to update GNN-based RS, so that GNN-based RS can be updated more frequently. Summary of the Invention
[0012] According to a first exemplary aspect, a method for training a recommender system (RS) is provided. The RS is used to make recommendations over a bipartite graph, the bipartite graph including a plurality of user nodes, a plurality of item nodes, and an observation graph topology defining edges connecting at least some of the user nodes to some of the item nodes, the RS including an existing graph neural network (GNN) model configured with an existing parameter set. The method includes: applying a loss function to compute an updated parameter set of an updated GNN model, the updated GNN model being trained with a new graph using a first parameter set as initialization parameters, the loss function being used to distill knowledge based on node embeddings generated by the existing GNN model for the existing graph, wherein the new graph includes a plurality of user nodes and a plurality of item nodes also included in the existing graph; and replacing the existing GNN model of the RS with the updated GNN model.
[0013] In at least some applications, the systems and methods disclosed in this paper enable GNN models to be incrementally updated based on new graph data without requiring all existing graph data to be used during the forward propagation phase of the interactive training process, while also supporting the distillation of knowledge from existing graph data into the updated GNN model. Among other things, the systems and methods disclosed in this paper can mitigate catastrophic forgetting of the updated GNN model while significantly reducing the computational resources (e.g., processing power, memory, and power consumption) that may be required for full model retraining based on all available data.
[0014] According to one or more of the foregoing aspects, the loss function is applied as part of an iterative training process in which a temporary set of updated parameters is generated for training the updated GNN model, wherein, during the training process, the updated GNN model is configured with each temporary set of updated parameters to generate temporary node embeddings for the new graph.
[0015] According to one or more of the foregoing aspects, the loss function includes a local structure distillation component, which is used to distill the local graph structure of the existing graph for at least some of the project nodes and user nodes included in both the existing graph and the new graph during the iterative training process.
[0016] According to one or more of the foregoing aspects, the method includes determining the local structural distillation component by: (A) for each user node of at least some of the user nodes included in both the existing graph and the new graph: determining a local neighborhood set of item nodes in the existing graph for the user node; determining an existing average local neighborhood user node embedding of the user node based on the average of the embeddings generated by the existing GNN model for the item nodes in the neighborhood set; and determining a new average local neighborhood of the user node based on the average of the embeddings generated by the updated GNN model for the item nodes in the neighborhood set. User node embedding; determining a first user value, the first user value being the dot product of: (i) the embedding generated for the user node by the existing GNN model and (ii) the existing average local neighborhood user node embedding of the user node; determining a second user value, the second user value being the dot product of: (i) the embedding generated for the user node by the updated GNN model and (ii) the new average local neighborhood user node embedding of the user node; determining the user node difference between the first user value and the second user value; determining the average distance value of the user nodes, the average distance value of the user nodes being for all user nodes. (A) The average of at least some determined differences of the user nodes; (B) For each of the at least some of the item nodes included in both the existing graph and the new graph: determine a local neighborhood set of user nodes in the existing graph for the item node; determine an existing average local neighborhood item node embedding of the item node based on the average of the embeddings generated by the existing GNN model for the user nodes in the neighborhood set; determine a new average local neighborhood item node embedding of the item node based on the average of the embeddings generated by the updated GNN model for the user nodes in the neighborhood set; determine a first item value, the first item... The value is the dot product of: (i) the embedding generated for the item node by the existing GNN model and (ii) the existing average local neighborhood item node embedding of the item node; a second item value is determined, which is the dot product of: (i) the embedding generated for the item node by the updated GNN model and (ii) the new average local neighborhood user node embedding of the item node; the item node difference between the first item value and the second item value is determined; an average item node distance value is determined, which is the average of the at least some determined user node differences among the user nodes. The local structure distillation component is based on the sum of the average user node distance and the average item node distance.
[0017] According to one or more of the above aspects, the local structure distillation component includes the product of the local distillation hyperparameter and the sum of the average distance of the user node and the average distance of the project node, wherein the local distillation hyperparameter is used to control the magnitude of the local graph structure distillation.
[0018] According to one or more of the foregoing aspects, the loss function includes a global structure distillation component, which is used to distill the global graph structure of the existing graph for at least some of the project nodes and user nodes included in both the existing graph and the new graph during the iterative training process.
[0019] According to one or more of the foregoing aspects, the method includes determining the global structure distillation component by: determining the structural similarity between the existing graph and the new graph for each of the at least some user nodes and project nodes based on node embeddings generated by the existing GNN model and the updated GNN model; determining the global structure distribution of the existing graph and the new graph based on the determined structural similarity; wherein the global structure distillation component is based on the Kullback-Leibler (KL) divergence between the global structure distribution of the existing graph and the new graph.
[0020] According to one or more of the above aspects, the global structural distillation component is based on global distillation hyperparameters used to control the magnitude of the global graph structural distillation.
[0021] According to one or more of the above aspects, the loss function includes a self-embedding distillation component, which is used to retain knowledge from the existing graph for at least some project nodes and user nodes included in both the existing graph and the new graph during the iterative training process.
[0022] According to one or more of the above aspects, the loss function includes a Bayesian personalized ranking (BPR) loss component.
[0023] According to another exemplary aspect, a processing system for implementing a recommender system (RS) is provided, the RS being used to make recommendations over a bipartite graph, the bipartite graph including a plurality of user nodes, a plurality of item nodes, and an observation graph topology defining edges connecting at least some of the user nodes to some of the item nodes, the RS including an existing graph neural network (GNN) model configured with an existing set of parameters. The processing system includes a processing device and a non-volatile memory coupled to the processing device and storing executable instructions, which, when executed by the processing device, configure the processing system to perform the method described in one or more of the foregoing aspects.
[0024] According to another exemplary aspect, a non-volatile computer-readable storage device stores executable instructions for implementing a recommender system (RS) for making recommendations over a bipartite graph, the bipartite graph including a plurality of user nodes, a plurality of item nodes, and an observation graph topology defining edges connecting at least some of the user nodes to some of the item nodes, the RS including an existing graph neural network (GNN) model configured with an existing set of parameters. The executable instructions include instructions for configuring a processing system to perform the methods described in one or more of the foregoing aspects. Attached Figure Description
[0025] The accompanying drawings, which illustrate exemplary embodiments of this application, will now be shown by way of example, in which:
[0026] Figure 1 This is a block diagram of an example of a bipartite graph;
[0027] Figure 2 This is a flowchart of an exemplary embodiment of the process for training a graph neural network (GNN) model to process graph-structured data;
[0028] Figure 3 This is a block diagram of a recommender system (RS) provided in an exemplary embodiment;
[0029] Figure 4 This is a block diagram of incremental training of a GNN model provided in an exemplary embodiment;
[0030] Figure 5 It is used for training Figure 4 A flowchart of the knowledge distillation process in a GNN model;
[0031] Figure 6 It is a graphical representation of the global structural distillation process;
[0032] Figure 7 It can be used to execute machine-readable instructions to achieve Figure 3 A block diagram of an exemplary processing system.
[0033] Similar reference numerals can be used to denote similar components in different accompanying drawings. Detailed Implementation
[0034] According to an exemplary embodiment, a graph processing system combining a GNN-based recommender system (RS) is disclosed, as well as a method for training the GNN-based RS.
[0035] In an exemplary embodiment, incremental learning and knowledge distillation are jointly applied to ensure that the GNN-based RS remains up-to-date and to make recommendations based on recent data.
[0036] Incremental learning is a method of machine learning in which input data is continuously used to expand the knowledge of an existing model, i.e., to further train the model. It represents a dynamic technique that can be applied as training data becomes increasingly available over time. For example, in the RS (Resource Streaming) scenario, training data is continuously collected through online services such as a user's purchase history from an e-commerce platform or their listening / watching history from an online music / movie streaming service.
[0037] One known method for incrementally training models is to fine-tune an existing model using only new data. Specifically, this involves taking the parameters (e.g., weights) of the trained neural network and using these parameters as initialization parameters for a new model trained on new data from the same domain. However, this type of fine-tuning incremental training can lead to catastrophic forgetting of the model, causing it to overfit to the new data and forget old knowledge.
[0038] Knowledge distillation (KD) is the process of transferring knowledge from a large model (also known as the teacher model) to a small model (also known as the student model). While large models (such as very deep neural networks or ensembles of many models) have a higher knowledge capacity than small models, this capacity may not be fully utilized. KD transfers knowledge from large models to small models without sacrificing effectiveness. Traditionally, KD is used to compress models so that they can be deployed on less powerful hardware, such as smartphones, because smaller models are less costly to evaluate.
[0039] According to the disclosed embodiments, KD is applied to non-traditional applications. Specifically, in an exemplary embodiment, KD is applied to suppress catastrophic forgetting during incremental learning. In an exemplary embodiment, an existing GNN model is used as a KD teacher model, and the updated model is regarded as a KD student model. In at least some applications, this allows the model updated based on new data to still retain old knowledge.
[0040] The incremental learning method and system based on KD disclosed below can enable GNN models to retain old knowledge while learning from new data in certain applications. In the RS scenario, "old knowledge" can be analogized to the memory of long-term preferences and popularity of users and items, respectively, while new data can be used to learn new short-term preferences and popularity of users and items, respectively.
[0041] As will be described in detail below, exemplary embodiments relate to methods and systems for training a GNN-based RS (Resilient Graph) so as to: (1) prevent rapid changes in node embeddings generated during fine-tuning; (2) ensure that the node embeddings generated during fine-tuning effectively memorize the local graph structure of each node; and (3) ensure that the node embeddings also effectively memorize the global graph structure. Therefore, exemplary embodiments relate to a GNN-based RS that can be fine-tuned using new data and knowledge distillation, which distills local and global structural information of the graph and the self-embedding of each node in the graph.
[0042] As described above, a graph is a data structure that consists of a set of nodes and an association graph topology representing the connections between the nodes. Each node is a data point defined by measurement data represented as a set of node features (e.g., multidimensional feature vectors). The graph topology defines a set of connections (also called edges) between the nodes. Each edge represents a relationship connecting two nodes. A bipartite graph is a form of graph structure where each node belongs to one of two different node types, and direct relationships (e.g., 1-hop neighbors) exist only between nodes of different types. Figure 1 A simplified representation of a sample of the observed bipartite graph 101 is shown, which includes two types of nodes: user nodes u. A to u F (collectively referred to as user node set U) and project node i A to i D(Collectively referred to as the project node set V). In this invention, "u" refers to one or more general user nodes, and "i" refers to one or more general project nodes. Each corresponding user node u represents an instance of a user. Each corresponding project node i represents an instance of a unique project. For example, in various scenarios, a project can be: an audio / video media project (e.g., a movie, TV series, or video) that a user can stream or download from an online video content provider; an audio media project (e.g., a song or podcast) that a user can stream or download from an online audio content provider; an image / text media project (e.g., a new article, magazine article, or advertisement) that an online content provider can offer to a user; a software application (e.g., an online application) that a user can download or access from an online software provider (e.g., an app store); and various physical products that a user can order for delivery or pickup from an online retailer. The examples of possible project categories provided above are illustrative, not exhaustive.
[0043] In an exemplary embodiment, user node u A to u F and project node i A to i F Each node has its own corresponding feature set definition. For example, each user node u is defined by a corresponding user node feature vector x that specifies a set of user node features. u Definition. Each user node feature represents user attributes numerically. Examples of user attributes might include user ID, age, gender, relationship status, pet ownership, etc. Collectively, the user node set U can be represented as a user node feature matrix X. u In this matrix, each row represents the feature vector x of the corresponding user node u. u Each project node i is represented by a corresponding project node feature vector x, which specifies a set of project node features. v Definition. Each item node i features project attributes numerically. For example, in the case of a movie video, examples of project attributes might include: id, movie title, director, actors, genre, country of origin, year of release, period depicted, etc. Collectively, the set of item nodes I can be represented as an item node feature matrix X. v In this matrix, each row represents the feature vector x of the corresponding item node i. i .
[0044] Edge 102, which connects user node u to the corresponding project node i, indicates the relationship between the nodes, and edge 102 together defines the observation graph topology G. obsIn some exemplary embodiments, the presence or absence of edge 102 between nodes indicates the existence or absence of a predefined type of relationship between a user, represented by user node u, and an item, represented by item node i. For example, the presence or absence of edge 102 between user node u and item node i indicates whether the user has previously performed an action indicating sentiment or interest in a particular item, such as "clicking" an item or submitting a zoom (e.g., 1 to 5 stars) or binary (e.g., "like") rating for the item. For example, edge 102 could represent the user's click or rating history with an item. In the illustrative embodiments described below, edge 102 transmits binary relationship information such that the presence of an edge indicates the existence of a defined type of relationship (e.g., the user has previously "clicked" or rated / liked an item), and the absence of an edge indicates that such a relationship does not exist. However, in other embodiments, edge 102 may be associated with other attributes indicating the strength of the relationship (e.g., the number of times the user "clicked" a particular item, or the rating level given by the user). In some embodiments, edge 102 may indicate that the user has purchased, ordered, or otherwise consumed an item.
[0045] In the exemplary embodiment where the transmission definition relationship of edge 102 exists or does not exist, the graph topology G obs This can be represented by an adjacency matrix A, which defines a matrix of binary values indicating whether a connection edge exists between each user node u and each item node i. In some examples, adjacency matrix A corresponds to a "click" or "rating" matrix.
[0046] Therefore, bipartite graph 101 (e.g., G = X) u X i A) includes information about users (e.g., a set of user nodes U, composed of a user node feature matrix X). u (representation), information about the project (e.g., project node set I, composed of the project node feature matrix X) i (representation), and information about the historical interactions between users and projects (e.g., graph topology G). obs (represented by the adjacency matrix A).
[0047] Figure 2 It is used to train a GNN model (e.g., F(G)) to generate corresponding embedding sets E for the user node set U and the item node set I, respectively. U and E I A block diagram illustrating the training process of example 200. Embedding set E U Includes the corresponding embedded emb for each project node u u Embedded set E I Includes the corresponding embedded emb for each project node i iThe GNN model F(G) generates an embedding set E based on parameters P for user node sets U and I. U and E I The GNN structure is described. Parameters P are learned during training process 200 and may include weights imposed by matrix multiplication operations performed at one or more layers of the GNN and biases imposed at those layers. In an exemplary embodiment, training process 200 applies a gradient descent optimization process that iteratively updates parameters P to minimize loss L while repeatedly processing the training graph G. Specifically, training process 200 includes a forward propagation step 202, during which the GNN model F(G) uses parameters P to generate embedding sets E for the user node set U and the item node set I, respectively. U and E I For the initial training iteration, use the initial parameter set P. int As shown in step 204, for the generated embedding set E U and E I Calculate the loss L. As shown in step 206, during the backpropagation step, the parameters P of the GNN F(G) are updated based on the defined learning rate and loss L. The training process 200 terminates after a defined number of iterations (e.g., epochs) or when a threshold-optimized loss is achieved, resulting in a trained GNN model F(G) with a set of learning parameters P.
[0048] refer to Figure 3 A trained GNN model F(G) configured with learning parameters P can be used in RS 300 to generate recommendations for user node U and item node I. The embedding set E generated by the GNN model F(G) is... U and E I This can be applied to recommendation selection operation 302, which is based on the embedding set E. U and E I The embeddings included are compared to compute recommendations, such as user-specific item recommendations. For example, the known RS method is used to process the embeddings to provide user-specific item recommendations. In an exemplary embodiment, recommendation selection operation 302 is used to determine user-specific recommendations as follows: For each user-item pair, the user node embedding emb is computed. u Embedded EMB in project nodes i The corresponding pairwise dot products are calculated. Therefore, in the case of F item nodes i, for each user node u, F scaling value dot products are computed. Each scaling value represents a predicted probability that the user associated with user node u will click the corresponding item for which a scaling value has been computed. In the case of an RS 300 configured to recommend at most k items, the k items that are not previously connected to the user and have the highest scaling value computed for the user are selected to recommend to the user.
[0049] Thus, in some examples, user-specific item recommendations can be used to generate a target message transmitted to a specific user. For example, the target message can be generated on an automated computer-based RS operated by a platform provider. An electronic device associated with the user can access or receive the target message via a communication network and present a representation of the target message to the user via a user interface of the electronic device.
[0050] In an exemplary embodiment, the RS 300 is initially configured with a basic GNN model F t=0 that has been trained using the training process 200 to generate an embedding set E t=0 for an initial value of the base graph G u t=0 、E i t=0 . As used in the present invention, t represents a time step or time frame at which user, item, and user-item relationship data are collected to populate the corresponding graph G t , where t = 0 corresponds to an initial base time frame represented by the base graph G t=0 . The training process 200 can be used to learn a basic parameter set P0 of the basic GNN model F t=0 , where the base graph G t=0 serves as a training data set. In an exemplary embodiment, the loss calculated in step 204 to learn the base parameters P t=0 can be calculated based on a known bipartite graph RS loss, such as the commonly used Bayesian personalized ranking (BPR) loss
[0051] Thus, once the basic GNN model F t=0 has been trained to learn the base parameters P t=0 , the trained basic GNN model F t=0 can be applied in the RS 300 to generate recommendations for users and items represented in the base graph G t=0 . Over time, new data regarding users, items, and the relationships between users and items will become available, with the result that the basic GNN model F0 may become outdated. Thus, in an exemplary embodiment, the RS 300 is configured with a GNN update module 304 that is used to periodically update the GNN model F when new user data, item data, and relationship data become available (e.g., are collected) t(G). In various exemplary embodiments, updates may be triggered by one or more of the following: periodic scheduling (e.g., once a day); when a threshold amount of new data is collected (e.g., when a threshold criterion regarding new users, new projects, and / or new relationships is reached); data analysis of users and project providers or feedback from users and project providers indicating suboptimal system performance; and / or instructions and updates from system administrators.
[0052] Now for reference Figure 4 Describes the ongoing incremental training process 400. Figure 4 In this process, when new user data, project data, and relationship data become available (e.g., are collected), the GNN update module 304 performs an incremental training process 400. Figure 4 In this process, new user data, project data, and relationship data are updated in graph G using discrete incremental updates. t=1 G t=2 G t=3 This indicates that each graph represents data about items, users, and user-item interactions observed and collected at corresponding time frames t=1, t=2, and t=3. As mentioned above, in some examples, the update time frames may each correspond to a day, but the time frame can be any suitable time length for collecting a statistically appropriate amount of data, and consecutive time frames do not need to be equal in length. According to an exemplary embodiment, as... Figure 4 As shown, the GNN model F(G) is based on graph G. t=1 G t=2 G t=3 The GNN model F is incrementally trained periodically on new data, thereby generating a GNN model F that is incrementally updated over time. t=1 F t=2 and F t=3 Etc. Basic and incremental GNN models F t=0 F t=1 F t=2 ...both have the same GNN model structure, which has the same number and configuration of NN layers and aggregation layers. Therefore, the basic and incremental GNN models each have the same GNN model structure, where each GNN model F... t=0 F t=1 F t=2 ...the only operation is determined by a corresponding set of learned parameters P t=0 P t=1 P t=2 P t=3 ……definition.
[0053] By applying (i.e., executing) something similar to Figure 2The training process of 200 involves the distillation technique described below, designed to mitigate catastrophic forgetting, and can be illustrated using Figure G. t The new data represented in the figure are used to incrementally train (e.g., fine-tune) the corresponding trained GNN model F. t–1 Each model in the model is used to generate a new trained GNN model F. t To preserve knowledge, in an exemplary embodiment, the loss function calculation for fine-tuning includes the following components: (1) a local structure distillation component, enabling node embeddings to effectively remember the local graph structure of each node; (2) a global structure distillation component, enabling node embeddings to effectively remember the global graph structure; (3) a self-embedding distillation component, preventing rapid changes in node embeddings that occur during fine-tuning; and (4) a conventional RS loss component, such as BPR loss.
[0054] refer to Figure 4 and Figure 5 Now, the fine-tuning of the trained GNN model will be described according to an exemplary embodiment. As described above, the basic GNN model F t=0 By basis parameter P t=0 The configuration has been adjusted for basemap G. t=0 We've learned about these parameters. Base map G t=0 The user, project, and user-project relationship data represented in the figure were collected within the basic time period t=0.
[0055] During the second time period t=1, additional user, item, and user-item relationship data are acquired. This is done while updating graph G. t=1 =(X u t=1 ,X i t=1 A t=1 The new data represented in the base map G can include: t=0 The data represented in the base graph G is about new interactions between existing users and existing projects. t=0 New or updated feature data of existing users and / or existing projects represented in the base map G; not in the base map G t=0 The data represents the characteristic data about new users and / or new projects; the data about the interaction between new users and existing projects; the data about the interaction between existing users and new projects; and the data about the interaction between new users and new projects.
[0056] Figure 5 This illustrates how the data update module 304 coordinates the updating of the GNN model F. t–1 Updated to GNN model F t The KD update process of the GNN model 500. In the GNN model F... t=0 Fine-tuning to GNN model F t=1In this case, the basic model parameter P t=0 Used for training and updating GNN model F t=1 The initialization parameter set is determined, and graph G is updated. t=1 =(X u t=1 ,X i t=1 A t=1 This is used as the training dataset. Furthermore, for knowledge distillation purposes, the GNN model F... t–1 Used as a teacher model, GNN model F t It is a student model.
[0057] In an exemplary embodiment, during the KD update process 500, in the forward propagation step 502, the student GNN model F t Generation: User node embedding set E U t Including updating graph G t The corresponding user node embedding emb is included in each user node u. u t ; and the project node embedding set E I t Including updating graph G t The corresponding project node embedding for each project node i included in the emb i t For the first training iteration, targeting the teacher GNN model F... t–1 Learned GNN model parameters P t–1 Used as a student GNN model F t The initial parameters.
[0058] Teacher GNN model F t–1 It can be based on the learning parameter P t–1 Perform forward reasoning (step 503) to generate: a set of teacher user node embeddings E U t–1 , including Figure G t–1 The corresponding user node embedding of user node u is included in the emb. u t–1 ; and the teacher project node embedding set E I t–1 , including Figure G t–1 The corresponding project node of project node i is embedded in the emb. i t–1 In an exemplary embodiment, during the duration of the KD update process 500, the same set of teacher user node embeddings E will be used. U t–1 and the same set of teacher project node embeddings E It–1 This enables the use of the teacher GNN model F t–1 The forward inference step 503 is executed only once during the KD update process 500. In some examples, the teacher user node embedding set E U t–1 And teacher project node embedding set E I t–1 In GNN model F t–1 When the training is complete, it is stored in the memory of RS 300. In this case, the forward inference step 503 will be completed in advance and does not need to be completed as part of the KD update process 500.
[0059] As shown in step 506, the loss function is computed during each training iteration. As mentioned above, the loss function can include multiple components, each controlling the GNN model F. t Different aspects of training include (1) local structure distillation components that enable node embeddings to effectively memorize the local graph structure of each node; (2) global structure distillation components that enable node embeddings to effectively memorize the global graph structure; (3) self-embedding distillation components that prevent rapid changes in node embeddings during fine-tuning; and (4) conventional RS loss components, such as BPR loss.
[0060] Local structural distillation components
[0061] In one exemplary embodiment, one of the calculated loss components is the local structure distillation component L that supports local structure distillation during training. local (Operation 510). Typically, for top-k RS, the most representative information is the dot product between the user embedding and the item embedding for user-item pairs, which encodes the user's interest in the paired items. Component L local It is based on the distillation of the dot product between the central node embedding and the neighborhood representation. Specifically, component L local Used to suppress teacher-based GNN model F t–1 The generated embedding computes the dot product of node embeddings and neighborhood representations, relative to the student GNN-based model F. t The difference between the dot product of the node embedding of the same node and the neighborhood representation for the same neighborhood is calculated using the generated embedding computation.
[0062] As shown in box 508, in a part of the loss calculation step 506, a set of user and item node neighborhoods N is determined. u t N i t N u t–1 N i t–1The membership of these neighborhoods remains unchanged during training and is computed once as part of the first training iteration. Specifically, for graph G... t For each user node u represented in the graph, determine the student graph neighborhood N. u t It includes as graph G t The project node i is a direct neighbor (e.g., connected by an edge) of the topic user node u. For distillation purposes, if the topic user node u is also included in the previous time-slot graph G... t–1 In the middle, it is still the previous time slot diagram G. t–1 User node u determines the teacher graph neighborhood N u t–1 Similarly, for graph G t For each project node i represented in the graph, determine the student graph neighborhood N. i t It includes as graph G t User nodes u that are direct neighbors of topic item node i. For distillation purposes, if topic item node i is also included in the previous time slot graph G. t–1 In the middle, it is still the previous time slot diagram G. t–1 Project node i determines the teacher graph neighborhood N i t–1 In some examples, the corresponding node neighborhood N u t N i t N u t–1 N i t–1 It can include all direct neighbors, and in some examples, the neighborhood can be determined by randomly sampling up to a predefined number of direct neighbor nodes.
[0063] The node neighborhood defined in box 508 is specifically the teacher user and project node neighborhood N. u t–1 N i t–1 Combined with teacher node embedding and student node embedding, it is used in box 510 to determine the local structural distillation component L. local Specifically, for the teacher GNN model F... t–1 The neighborhood representation of user node u can be based on the neighborhood N of user node u. u t–1 All teacher project nodes are embedded in emb i t–1 The average value is expressed by equation (1):
[0064]
[0065] For the student GNN model F t The neighborhood representation of user node u can be based on the neighborhood N of user node u. u t-1 All user project nodes embed emb i t The average value. It should be noted that for the student GNN model F... t The user node neighborhood used is based on the teacher graph G. t–1 The neighborhood in, but the item embedding is based on the student GNN model F t The generated embedding is determined, as shown in equation (2):
[0066]
[0067] The average local neighborhood embedding of project node i can be determined similarly, as shown in equations (3) and (4):
[0068]
[0069]
[0070] Local structural distillation components It can be calculated according to equation (5):
[0071]
[0072] Where: λ local These are hyperparameters controlling the amplitude of local structural distillation, where |U| and |I| are G t and G t–1 The number of users and projects that exist in the middle. It is the neighborhood The number of project nodes i included in the list.
[0073] In at least some cases, the average local neighborhood embedding and Encode the general preferences of users from the previous time block and the current time block respectively. Ensure the student's user node embedding and local neighborhood dot product. Maintaining user node embeddings and local neighborhood dot products that are relatively close to the teacher Similarly, the student's item node embeddings and local neighborhood dot products are kept relatively close to the teacher's item node embeddings and local neighborhood dot products, so that the resulting GNN model can explicitly preserve the user's historical preferences.
[0074] In summary, as shown in the above equations and descriptions, in the exemplary embodiment, the local structural distillation component can be determined as follows. For the existing figure G t–1 And new map Gt The user node u included in the existing graph G t–1 In this context, the local neighborhood set of the project node is determined for user node u. Based on the existing GNN model G t-1 For neighborhood set The average embedding of the project nodes is used to determine the existing average local neighborhood user node embedding of user node u. Based on the updated GNN model G t For neighborhood set The average embedding of the project nodes is used to determine the new average local neighborhood user node embedding of the user nodes. A first user value is determined, which is the dot product of: (i) the embedding generated for the user node by the existing GNN model and (ii) the existing average local neighborhood user node embedding of the user node; a second user value is determined, which is the dot product of: (i) the embedding generated for the user node by the updated GNN model and (ii) the new average local neighborhood user node embedding of the user node; a user node difference between the first user value and the second user value is determined; an average user node distance value is determined, which is the average of at least some determined user node differences among the user nodes. The above is repeated for item nodes to determine an average item node distance value, which is the average of at least some determined user node differences among the user nodes. The local structure distillation component is based on the sum of the average user node distance and the average item node distance.
[0075] Global structure distillation components
[0076] Although local structural distillation components Facilitating the transfer of local topological information from the teacher graph to the student GNN graph for training the student GNN model, but local structural distillation components The global position information of each node, which is the relative position of a node with respect to all other nodes, is not captured. In the context of certain RS scenarios, the global position of each node can encode rich information.
[0077] For example, in the case of a specific user node u, the embedding distance between that user node and all other user nodes can encode the user's general user preference set. The embedding distance between a user node and an item node can encode the type of item the user prefers. Therefore, in an exemplary embodiment, the loss calculation step 506 includes determining the global structure distillation component. Operation 514, the global structure distillation component has a target for storing embedded information, which encodes the position information of a node relative to all other nodes in the graph. Operation 514 in Figure 6 The diagram is shown below. A set of user node anchor points is generated. Project node anchor embedding collection Encoding global structural information ( Figure 6 Generally, it shows the node that performs the operation 514 on the user node or project node. These anchor points are embedded. The average embeddings of cluster 608T and cluster 608S are used for calculation. Cluster 608T is derived using K-means clustering of teacher user and project node embeddings, respectively, and cluster 608S is derived using K-means clustering of student user and project node embeddings, respectively. 2K clusters are obtained, with each cluster 608T, 608S representing a general user preference group or project category. For each user node (e.g., node 604), two probability distributions are calculated: one captures the probability that the user belongs to a user preference group, and the other represents the probability that the user's favorite projects belong to a specific project category. Similar distributions are constructed for each project node. These probability distributions are constructed by considering the (normalized) embedding similarity within each cluster 608T, 608S with the corresponding cluster anchor node (e.g., node 602) (shown by the relevant bar charts in boxes 606T, 606S, where each bar represents the normalized embedding similarity between the corresponding cluster 608T corresponding to the teacher embedding and the corresponding cluster 608S corresponding to the student embedding). Global structural distillation components. As a loss regularization term, it encourages the distribution of teachers to match the distribution of students. Specifically, the components... The aim is to minimize the sum of the Kullback-Leibler (KL) divergences between the global structural distributions of teachers and students. For user node u, the global structural similarity between the teacher GNN model and the student GNN model can be calculated as:
[0078]
[0079] Here, and These are the kth entries of the global structure distribution associated with the K user anchor embeddings of the student GNN model and the teacher GNN model, respectively (it should be noted that in equation (6), the global structure distribution symbol...). The superscript "s" in the text refers to a student, and the global structure distribution symbol is... The superscript "t" in Equation 6 refers to the teacher. Therefore, the use of the symbol "t" in Equation 6 differs from other equations in this invention, where "t" refers to the current time frame and is associated with the student GNN model.
[0080] To calculate the final global structure distillation components, the update graph G is calculated. t The average KL divergence among the distributions of all nodes represented in the figure:
[0081]
[0082] Where, λ global It is a hyperparameter that controls the magnitude of global structural distillation.
[0083] In addition to local structural distillation components In addition, global structural distillation components Preserve nodes relative to teacher graph G t–1 And student picture G t The relative positions of all other nodes between them. In the RS scenario, the global position of each node can provide useful information, as described above. For a specific user node, user node 604 is associated with different user node groups (e.g., teacher graph G). t–1 Cluster 608T and student graph G t The embedding distance between clusters (608S) in the dataset can encode a user's general user preference groups. The embedding distance between user nodes and item nodes can encode the types of items a user prefers. Global structure distillation components. It preserves users' long-term category preferences. Similar information is also preserved for project nodes.
[0084] Self-embedded distillate
[0085] In an exemplary embodiment, in order to preserve information specific to each user node and each item node (independent of the global graph structure and neighborhood structure), a self-embedded distillation component is determined in operation 514. Quantity The aim is to directly distill the knowledge embeddings of each user and item by adding a mean squared error term to the loss function. This ensures that the knowledge is accurately reflected in the student GNN model F. t During incremental training, the embedding learned in each increment does not deviate too far from its previous position. The distillation intensity of each node is controlled using a weighting factor η, which is related to the value of the new graph G. t The number of new records (e.g., new relations) introduced by each node in the algorithm is proportional to the number of nodes introduced. The distillation loss term for self-embedding is:
[0086]
[0087] Where: λ self It is a hyperparameter that controls the amplitude of self-intercalation distillation. η u and η i This is a coefficient that controls the distillation intensity at each node. In some scenarios, a distillation intensity control coefficient η is introduced into the ordinary mean squared error (MSE). u and η i This may increase the distillation intensity of nodes with richer historical records.
[0088] Full loss function
[0089] As described above, in an exemplary embodiment, the conventional RS loss component, such as the BPR loss... This can be included in the loss function calculation in step 506. In this regard, operation 516 calculates the BPR loss component L as follows. BPS :
[0090]
[0091] in, R represents the training batch, and Θ is the model parameter set. + R represents the observed positive interaction. - This indicates unobserved negative interactions in the sample.
[0092] In an exemplary embodiment, three distillation components With BPR loss components Combining to extract knowledge from the teacher GNN model F t–1 Distillation to student GNN model F t Provides a loss function:
[0093]
[0094] In an optional exemplary embodiment, the distillation component can be excluded from the loss function L. One or more of these can include other components, and can use loss other than BPR loss. Different components besides those.
[0095] As shown in step 518, during the backpropagation step, the student GNN model F is determined based on the defined learning rate and loss function L. t (G t The updated parameter Pt is obtained. The training process 500 terminates after a defined number of iterations or when the threshold optimization loss is achieved, resulting in a set of learned parameters P. t The trained GNN model F t .
[0096] like Figure 4 As shown, the process can be repeated 500 times for subsequent graphs G. t Training the GNN model F for subsequent updates t Among them, the previous GNN model F t Used as a teacher model.
[0097] Therefore, exemplary embodiments disclose methods and systems for training RS 300. RS 300 is used to make recommendations for a bipartite graph, the bipartite graph including multiple user nodes, multiple item nodes, and an observation graph topology defining edges connecting at least some of the user nodes to some of the item nodes. RS 300 includes an existing parameter set P. t–1 The existing graph neural network (GNN) model F is configured. t–1 The updated GNN model F is calculated using the loss function. t Update parameter set P t The updated GNN model F t Is it using the first parameter set P? t–1 As initialization parameters, use the new graph G t The loss function is trained and used based on an existing GNN model F. t–1 For the existing graph G t–1 The generated node embeddings are used to distill knowledge, wherein the new graph G t Included in existing diagram G t–1 It also includes multiple user nodes u and multiple project nodes i. The existing GNN model F of RS 300 t–1 The updated GNN model F t replace.
[0098] Processing unit
[0099] In an exemplary embodiment, RS 300 is a computer implemented using one or more computing devices. Figure 7 This is a block diagram of an exemplary processing system 170, which can be used to execute machine-executable instructions for RS 300 or one or more of its modules and operations, including a GNN model F, a DNN update module 304, and a recommendation selection operation 302. Other processing systems suitable for implementing the embodiments described herein may be used, which may include components different from those described below. Although Figure 7 A single instance of each component is shown, but multiple instances of each component may exist in the processing system 170.
[0100] Processing system 170 may include one or more processing devices 172, such as processors, microprocessors, central processing units (CPUs), neural processing units (NPUs), tensor processing units (TPUs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), special-purpose logic circuits, or combinations thereof. Processing system 170 may also include one or more input / output (I / O) interfaces 174, which may support connection to one or more suitable input devices 184 and / or output devices 186. Processing system 170 may include one or more network interfaces 176 for wired or wireless communication with a network.
[0101] The processing system 170 may also include one or more storage units 178, which may include mass storage units such as solid-state drives, hard disk drives, disk drives, and / or optical disk drives. The processing system 170 may include one or more memories 180, which may include volatile or non-volatile memories (e.g., flash memory, random access memory (RAM), and / or read-only memory (ROM)). The one or more memories 180 may store instructions executable by one or more processing devices 172, for example, to perform the examples described in this invention. The one or more memories 180 may include other software instructions, such as software instructions for implementing an operating system and other applications / functions.
[0102] A bus 182 may exist to provide communication between components of the processing system 170, including one or more processing devices 172, one or more I / O interfaces 174, one or more network interfaces 176, one or more storage units 178, and / or one or more memories 180. The bus 182 may be any suitable bus architecture, including, for example, a memory bus, a peripheral bus, or a video bus.
[0103] Although the present invention describes methods and processes by way of steps in a certain order, one or more steps in the methods and processes may be omitted or modified as appropriate. Where appropriate, one or more steps may be performed in an order other than that described.
[0104] Although the invention has been described at least partially in terms of method, those skilled in the art will understand that the invention is also directed to various components for performing at least some aspects and features of the method, whether by hardware components, software, or any combination thereof. Accordingly, the technical solutions of the invention can be embodied in the form of a software product. Suitable software products can be stored in pre-recorded storage devices or other similar non-volatile or non-transitory computer-readable media, including DVDs, CD-ROMs, USB flash drives, removable hard drives, or other storage media. The software product includes instructions tangibly stored thereon, which enable a processing device (e.g., a personal computer, server, or network device) to perform examples of the methods disclosed herein.
[0105] The invention may be embodied in other specific forms without departing from the subject matter of the claims. The exemplary embodiments described are illustrative in all respects and not restrictive. Features selected from one or more of the foregoing embodiments may be combined to create alternative embodiments not explicitly described, and it is understood that features suitable for such combinations are within the scope of the invention.
[0106] All values and sub-ranges within the scope of the disclosure are also disclosed. Furthermore, although the systems, devices, and processes disclosed and illustrated herein may include a specific number of elements / components, modifications may be made to say the systems, devices, and assemblies to include more or fewer of such elements / components. For example, although any element / component disclosed may be referred to as a single quantity, embodiments disclosed herein may be modified to include multiple such elements / components. The subject matter described herein is intended to cover and encompass all appropriate technical changes.
[0107] The contents of any published literature identified in this invention are incorporated herein by reference.
Claims
1. A method for training a recommender system (RS), characterized in that, The RS is used to make recommendations for a bipartite graph that includes a plurality of user nodes, a plurality of item nodes, and an observed graph topology that defines edges connecting at least some of the user nodes to some of the item nodes, the RS including an existing graph neural network (GNN) model configured by an existing set of parameters, the method comprising: applying a loss function to compute an updated set of parameters for an updated GNN model trained on a new graph using the first set of parameters as initialization parameters, the loss function to distill knowledge based on node embeddings generated by the existing GNN model for an existing graph, wherein the new graph includes a plurality of user nodes and a plurality of item nodes also included in the existing graph; the loss function being applied as part of an iterative training process, the loss function including a self-embedding distillation component to preserve knowledge from the existing graph for at least some item nodes and user nodes included in both the existing graph and the new graph during the iterative training process; the self-embedding distillation component being: wherein, is the self-embedding distillation component; is a hyperparameter that controls the magnitude of self-embedding distillation; and is a coefficient that controls the strength of distillation for each node; U represents the set of user nodes; I represents the set of item nodes; , represents the respective user node embedding for each user node u at different time frames; represents the respective item node embedding for each item node i at different time frames; is a set of user node and item node neighborhoods; replacing the existing GNN model of the RS with the updated GNN model.
2. The method of claim 1, wherein, the loss function being applied as part of an iterative training process in which temporary sets of updated parameters are generated for training the updated GNN model, wherein, in the training process, the updated GNN model is configured by each temporary set of updated parameters to generate temporary node embeddings for the new graph.
3. The method of claim 2, wherein, the loss function further including a local structure distillation component to distill local graph structure of the existing graph for at least some item nodes and user nodes included in both the existing graph and the new graph during the iterative training process.
4. The method of claim 3, wherein, the method including determining the local structure distillation component by: for each user node of the at least some of the user nodes included in both the existing graph and the new graph: determining a local neighborhood set of item nodes in the existing graph for the user node; determining an existing average local neighborhood user node embedding for the user node based on an average of embeddings generated by the existing GNN model for the item nodes in the neighborhood set; determining a new average local neighborhood user node embedding for the user node based on an average of embeddings generated by the updated GNN model for the item nodes in the neighborhood set; determining a first user value that is a dot product of (i) an embedding generated by the existing GNN model for the user node and (ii) the existing average local neighborhood user node embedding for the user node; determining a second user value that is a dot product of (i) an embedding generated by the updated GNN model for the user node and (ii) the new average local neighborhood user node embedding for the user node; determining a user node difference value between the first user value and the second user value; determining a user node average distance value, the user node average distance value being an average of the user node difference values determined for the at least some of the user nodes; for each item node of the at least some of the item nodes included in both the existing graph and the new graph: determining a local neighborhood set of user nodes in the existing graph for the item node; determining an existing average local neighborhood item node embedding for the item node based on an average of embeddings generated by the existing GNN model for the user nodes in the neighborhood set; determining a new average local neighborhood item node embedding for the item node based on an average of embeddings generated by the updated GNN model for the user nodes in the neighborhood set; determining a first item value, the first item value being a dot product of (i) an embedding generated by the existing GNN model for the item node and (ii) the existing average local neighborhood item node embedding for the item node; determining a second item value, the second item value being a dot product of (i) an embedding generated by the updated GNN model for the item node and (ii) the new average local neighborhood user node embedding for the item node; determining an item node difference value between the first item value and the second item value; determining a user node average distance value, the user node average distance value being an average of the user node difference values determined for the at least some of the user nodes; wherein the local structural distillation component is based on a sum of the user node average distance and the item node average distance.
5. The method of claim 4, wherein, the local structural distillation component includes a product of a local distillation hyperparameter and the sum of the user node average distance and the item node average distance, the local distillation hyperparameter being used to control a magnitude of the local graph structural distillation.
6. The method according to any one of claims 2 to 5, characterized in that, the loss function further includes a global structural distillation component for distilling a global graph structure of the existing graph for at least some item nodes and user nodes included in both the existing graph and the new graph during the iterative training process.
7. The method of claim 6, wherein, the method includes determining the global structural distillation component by: determining, for each of the at least some user nodes and item nodes, a structural similarity between the existing graph and the new graph based on node embeddings generated by the existing GNN model and the updated GNN model; determining a global structural distribution of the existing graph and the new graph based on the determined structural similarities; wherein the global structural distillation component is based on a Kullback-Leibler (KL) divergence between the global structural distributions of the existing graph and the new graph.
8. The method of claim 7, wherein, the global structural distillation component is based on a global distillation hyperparameter used to control a magnitude of the global graph structural distillation.
9. The method according to any one of claims 2 to 5, characterized in that, the loss function includes a Bayesian personalized ranking (BPR) loss component.
10. A processing system for implementing a recommender system (RS), characterized in that, The RS is for making recommendations for a bipartite graph that includes a plurality of user nodes, a plurality of item nodes, and an observed graph topology defining edges connecting at least some of the user nodes to some of the item nodes, the RS including an existing graph neural network (GNN) model configured by an existing set of parameters, the processing system including a processing device and a non-volatile memory coupled to the processing device and storing executable instructions that, when executed by the processing device, configure the processing system to perform the method of any of claims 1-9.
11. A non-volatile computer readable memory, characterized by, Executable instructions are stored for implementing a recommender system (RS), the RS for making recommendations for a bipartite graph that includes a plurality of user nodes, a plurality of item nodes, and an observed graph topology defining edges connecting at least some of the user nodes to some of the item nodes, the RS including an existing graph neural network (GNN) model configured by an existing set of parameters, the executable instructions including instructions that configure a processing system to perform the method of any of claims 1-9.
Citation Information
Patent Citations
Crop pest control scheme recommendation system based on deep learning
CN107330887A
Human body behavior prediction method based on knowledge distillation
CN110490136A
Image incremental learning method based on dynamic correction vector
CN111199242A
Prediction method and system based on heterogeneous graph neural network model
CN111400560A
Model training method and device based on knowledge distillation, equipment and medium
CN117313830A