Methods and systems for training models and methods and systems for predicting sequence data
By constructing a fusion model of dynamic and static graphs, the problem that GCN cannot handle the fusion of dynamic and static graphs is solved, and more accurate sequence data prediction is achieved, especially in traffic flow prediction, which improves the prediction accuracy.
Patent Information
- Application Number
- CN202211073426.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2019-11-27
- Publication Date
- 2026-03-06
- Estimated Expiration
- 2039-11-27
AI Technical Summary
Existing graph convolutional networks (GCNs) cannot effectively handle the fusion of dynamic and static graphs, resulting in poor prediction accuracy in scenarios such as traffic flow prediction.
A machine learning model based on graph convolutional networks is adopted. By constructing dynamic graphs and static graphs, the first graph convolutional network and the second graph convolutional network are used to process the historical sequence data and static data of the object respectively, and the two are fused to generate more accurate prediction results.
It improves the accuracy of sequence data prediction, especially in traffic flow prediction scenarios, enabling more accurate prediction of traffic flow in the next time slot.
Smart Images

Figure CN115423190B_ABST
Abstract
Description
[0001] This application is a divisional application of patent application No. 201911180700.2, filed on November 27, 2019, entitled "Method and System for Training Models and Method and System for Predicting Sequence Data". Technical Field
[0002] This application generally relates to the field of artificial intelligence, and more specifically, to a method and system for training a machine learning model based on graph convolutional networks for predicting sequential data, and a method and system for predicting sequential data using a machine learning model based on graph convolutional networks. Background Technology
[0003] With the emergence of massive amounts of data, artificial intelligence technology has developed rapidly, and machine learning is an inevitable product of the development of artificial intelligence to a certain stage. It is dedicated to extracting valuable potential information from large amounts of data through computational means. Modeling data sequences (e.g., traffic flow arranged in chronological order) using machine learning to uncover patterns behind them is crucial for various application scenarios (e.g., traffic prediction).
[0004] Graph Convolutional Networks (GCNs) are an extension of Convolutional Neural Networks (CNNs). CNNs can only process regular data structures, such as two-dimensional images and three-dimensional videos. GCNs, however, define graph convolutions using graph theory or spatial locality, enabling convolutions to be defined on irregular network data structures (such as social networks and traffic graphs), thus better utilizing relational information to uncover patterns behind sequential data.
[0005] However, current GCN methods cannot handle multi-graph fusion, especially the fusion of dynamic and static graphs. Because existing GCN methods lack the ability to handle the fusion of dynamic and static graphs, the following three key issues remain unresolved:
[0006] • The relationships between points in a graph vary depending on their roles. For example, in a transportation graph network, a region can be viewed as a point, with edges generated as vehicles travel between regions. The same region can be considered both a starting point and an ending point. The relationships between starting points and between ending points are often different. However, existing methods cannot handle such dual-relationship graph networks.
[0007] • Dynamism. The relationships (edges) between points in a graph typically change over time.
[0008] • Because it cannot utilize additional information to construct a static graph and merge the static and dynamic graphs, the model's prediction accuracy is not high. Summary of the Invention
[0009] The present invention addresses the problem that current GCNs cannot handle the fusion of dynamic and static graphs, resulting in poor model prediction accuracy. For example, in traffic prediction scenarios, it improves the accuracy of traffic flow prediction.
[0010] According to an exemplary embodiment of this application, a method for predicting sequence data using a machine learning model based on graph convolutional networks is provided, comprising: obtaining sequence prediction samples of an object, wherein the sequence prediction samples include a plurality of sequence data arranged in chronological order; and using the machine learning model to perform prediction on the sequence prediction samples to provide a prediction result about the next sequence data following the plurality of sequence data, wherein the machine learning model is pre-trained to predict the next sequence data following the series of sequence data arranged in chronological order, and the machine learning model includes at least a plurality of graph convolutional networks, wherein the plurality of graph convolutional networks include a first graph convolutional network trained using a dynamic graph constructed based on historical sequence data of the object and a second graph convolutional network trained using a static graph constructed based on static data related to the object.
[0011] Optionally, the step of performing predictions on the sequence prediction samples to provide a prediction result for the next sequence data following the plurality of sequence data may include: inputting the sequence prediction samples into a first graph convolutional network and a second graph convolutional network respectively; obtaining a first prediction result for the sequence prediction samples using the first graph convolutional network and obtaining a second prediction result for the sequence prediction samples using the second graph convolutional network; and fusing the first prediction result and the second prediction result according to a predetermined rule to provide a prediction result for the next sequence data following the plurality of sequence data.
[0012] Optionally, fusing the first prediction result and the second prediction result according to a predetermined rule to provide a prediction result for the next sequence data after the plurality of sequence data may include: averaging the first prediction result and the second prediction result to obtain a prediction result for the next sequence data after the plurality of sequence data.
[0013] Optionally, the machine learning model may further include a sub-prediction model that performs predictions based on the outputs of the plurality of graph convolutional networks. The step of performing predictions on the sequence prediction samples to provide predictions about the next sequence data following the plurality of sequence data may include: inputting the sequence prediction samples into a first graph convolutional network and a second graph convolutional network respectively; obtaining a first prediction result for the sequence prediction samples using the first graph convolutional network and a second prediction result for the sequence prediction samples using the second graph convolutional network; constructing sub-prediction samples based on the obtained first and second prediction results; and using the sub-prediction model to perform predictions on the constructed sub-prediction samples to provide predictions about the next sequence data following the plurality of sequence data.
[0014] Optionally, the machine learning model may further include a backtracking neural network for extracting temporal features of the sequence data, wherein the step of performing predictions on the sequence prediction samples to provide prediction results for the next sequence data following the plurality of sequence data includes: inputting the sequence prediction samples into the backtracking neural network and extracting temporal features of the sequence prediction samples using the backtracking neural network; inputting the extracted temporal features into a first graph convolutional network and a second graph convolutional network respectively, obtaining a first prediction result for the sequence prediction samples using the first graph convolutional network and obtaining a second prediction result for the sequence prediction samples using the second graph convolutional network; and fusing the first prediction result and the second prediction result according to a predetermined rule to provide prediction results for the next sequence data following the plurality of sequence data.
[0015] Optionally, the machine learning model may further include a backtracking neural network for extracting temporal features of the sequence data, and a sub-prediction model for performing predictions based on the outputs of the plurality of graph convolutional networks. The step of performing predictions on the sequence prediction samples to provide prediction results for the next sequence data following the plurality of sequence data includes: inputting the sequence prediction samples into the backtracking neural network and extracting temporal features of the sequence prediction samples using the backtracking neural network; inputting the extracted temporal features into a first graph convolutional network and a second graph convolutional network respectively, obtaining a first prediction result for the sequence prediction samples using the first graph convolutional network and a second prediction result for the sequence prediction samples using the second graph convolutional network; constructing sub-prediction samples based on the obtained first and second prediction results; and using the sub-prediction model to perform predictions on the constructed sub-prediction samples to provide prediction results for the next sequence data following the plurality of sequence data.
[0016] Optionally, the backtracking neural network can be a long short-term memory (LSTM) network, and the first graph convolutional network and the second graph convolutional network can be two-dimensional graph convolutional networks.
[0017] Optionally, the sub-prediction model can be one of a logistic regression model and a decision tree model.
[0018] Optionally, the dynamic graph is constructed directly using the historical sequence data of the object, or the dynamic graph is constructed using time features extracted from the historical sequence data.
[0019] Optionally, the object may be a traffic vehicle, the sequence data may be traffic flow data between regions in different time slots of the traffic map network, and the static data may be static data reflecting the attributes of regions in the traffic map network.
[0020] Optionally, the static data may include geographic information of each region in the traffic map network and point of interest information of each region in the traffic map network. The static map may include a first static map constructed based on the geographic information and a second static map constructed based on the point of interest information. The second graph convolutional network may include a second graph convolutional network trained using the first static map and a second graph convolutional network trained using the second static map. The step of performing predictions on the sequence prediction samples to provide prediction results about the next sequence data after the plurality of sequence data may include: using the machine learning model to predict the traffic flow data of the next time slot for a series of traffic flow data arranged in chronological order across different time slots.
[0021] According to another exemplary embodiment of this application, a computer-readable storage medium for storing instructions is provided, wherein when the instructions are executed by at least one computing device, the at least one computing device causes the at least one computing device to perform a method for predicting sequence data as described above.
[0022] According to another exemplary embodiment of this application, a system is provided that includes at least one computing device and at least one storage device with storage instructions, wherein the instructions, when executed by the at least one computing device, cause the at least one computing device to perform a method for predicting sequence data as described above.
[0023] According to another exemplary embodiment of this application, a system for predicting sequence data using a machine learning model based on graph convolutional networks is provided. The system may include: a prediction sample acquisition device configured to acquire sequence prediction samples of an object, wherein the sequence prediction samples include a plurality of sequence data arranged in chronological order; and a prediction device configured to use the machine learning model to perform prediction on the sequence prediction samples to provide a prediction result about the next sequence data following the plurality of sequence data, wherein the machine learning model is pre-trained to predict the next sequence data following a series of sequence data arranged in chronological order, and the machine learning model includes at least a plurality of graph convolutional networks, wherein the plurality of graph convolutional networks include a first graph convolutional network trained using a dynamic graph constructed based on historical sequence data of the object and a second graph convolutional network trained using a static graph constructed based on static data related to the object.
[0024] Optionally, the prediction device is configured to: input the sequence prediction samples into a first graph convolutional network and a second graph convolutional network respectively; obtain a first prediction result for the sequence prediction samples using the first graph convolutional network and obtain a second prediction result for the sequence prediction samples using the second graph convolutional network; and fuse the first prediction result and the second prediction result according to a predetermined rule to provide a prediction result for the next sequence data following the plurality of sequence data.
[0025] Optionally, fusing the first prediction result and the second prediction result according to a predetermined rule to provide a prediction result for the next sequence data after the plurality of sequence data may include: averaging the first prediction result and the second prediction result to obtain a prediction result for the next sequence data after the plurality of sequence data.
[0026] Optionally, the machine learning model may further include a sub-prediction model that performs predictions based on the outputs of the plurality of graph convolutional networks, wherein the prediction device may be configured to: input the sequence prediction samples into a first graph convolutional network and a second graph convolutional network respectively; obtain a first prediction result for the sequence prediction samples using the first graph convolutional network and obtain a second prediction result for the sequence prediction samples using the second graph convolutional network; construct sub-prediction samples based on the obtained first and second prediction results; and use the sub-prediction model to perform predictions on the constructed sub-prediction samples to provide prediction results for the next sequence data following the plurality of sequence data.
[0027] Optionally, the machine learning model may further include a backtracking neural network for extracting temporal features of the sequence data, wherein the prediction device may be configured to: input the sequence prediction sample into the backtracking neural network and extract the temporal features of the sequence prediction sample using the backtracking neural network; input the extracted temporal features into a first graph convolutional network and a second graph convolutional network respectively; obtain a first prediction result for the sequence prediction sample using the first graph convolutional network and obtain a second prediction result for the sequence prediction sample using the second graph convolutional network; and fuse the first prediction result and the second prediction result according to a predetermined rule to provide a prediction result for the next sequence data following the plurality of sequence data.
[0028] Optionally, the machine learning model may further include a backtracking neural network for extracting temporal features of the sequence data, and a sub-prediction model for performing predictions based on the outputs of the plurality of graph convolutional networks. The prediction device may be configured to: input the sequence prediction sample into the backtracking neural network and extract the temporal features of the sequence prediction sample using the backtracking neural network; input the extracted temporal features into a first graph convolutional network and a second graph convolutional network respectively; obtain a first prediction result for the sequence prediction sample using the first graph convolutional network and a second prediction result for the sequence prediction sample using the second graph convolutional network; construct a sub-prediction sample based on the obtained first and second prediction results; and use the sub-prediction model to perform predictions on the constructed sub-prediction samples to provide prediction results for the next sequence data following the plurality of sequence data.
[0029] Optionally, the backtracking neural network can be a long short-term memory (LSTM) network, and the first graph convolutional network and the second graph convolutional network can be two-dimensional graph convolutional networks.
[0030] Optionally, the sub-prediction model can be one of a logistic regression model and a decision tree model.
[0031] Optionally, the dynamic graph is constructed directly using the historical sequence data of the object, or the dynamic graph is constructed using time features extracted from the historical sequence data.
[0032] Optionally, the object may be a traffic vehicle, the sequence data may be traffic flow data between regions in different time slots of the traffic map network, and the static data may be static data reflecting the attributes of regions in the traffic map network.
[0033] Optionally, the static data may include geographic information of each region in the traffic map network and point of interest information of each region in the traffic map network. The static map may include a first static map constructed based on the geographic information and a second static map constructed based on the point of interest information. The second graph convolutional network may include a second graph convolutional network trained using the first static map and a second graph convolutional network trained using the second static map. The prediction device may be configured to use the machine learning model to predict traffic flow data for the next time slot based on a series of traffic flow data arranged in chronological order for different time slots.
[0034] According to another exemplary embodiment of this disclosure, a method is provided for training a machine learning model based on graph convolutional networks for predicting sequence data, comprising: obtaining a sequence training sample set of an object, wherein the sequence training sample set includes a plurality of sequence training samples, and each sequence training sample includes a plurality of sequence data arranged in chronological order; and training the machine learning model based on the sequence training sample set, wherein the machine learning model includes at least a plurality of graph convolutional networks, wherein the plurality of graph convolutional networks include a first graph convolutional network trained using a dynamic graph constructed based on historical sequence data of the object and a second graph convolutional network trained using a static graph constructed based on static data related to the object.
[0035] Optionally, the step of training the machine learning model may include: constructing a dynamic graph based on each sequence training sample in the sequence training sample set, and constructing a static graph based on static data related to the object; inputting each sequence training sample in the sequence training sample set into a first graph convolutional network and a second graph convolutional network respectively; training the first graph convolutional network using the dynamic graph and training the second graph convolutional network using the static graph based on each sequence training sample.
[0036] Optionally, the machine learning model may further include a sub-prediction model that performs predictions based on the outputs of the plurality of graph convolutional networks, wherein the step of training the machine learning model may further include: constructing sub-training samples based on the outputs of the first graph convolutional network and the second graph convolutional network for each sequence training sample, and training the sub-prediction model using the sub-training samples.
[0037] Optionally, the machine learning model may further include a backtracking neural network for extracting temporal features of sequence data, wherein the step of training the machine learning model may include: constructing a dynamic graph based on each sequence training sample in the sequence training sample set, and constructing a static graph based on static data related to the object; inputting each sequence training sample in the sequence training sample set into the backtracking neural network, and using the backtracking neural network to extract temporal features of each sequence training sample; inputting the extracted temporal features of each sequence training sample into a first graph convolutional network and a second graph convolutional network respectively; training the backtracking neural network based on the temporal features of each sequence training sample, and using the dynamic graph to train the first graph convolutional network and using the static graph to train the second graph convolutional network.
[0038] Optionally, the machine learning model may further include a sub-prediction model that performs predictions based on the outputs of the plurality of graph convolutional networks, wherein the step of training the machine learning model may further include: constructing sub-training samples based on the outputs of the first graph convolutional network and the second graph convolutional network for the temporal features of each sequence training sample, and training the sub-prediction model using the sub-training samples.
[0039] Optionally, the backtracking neural network can be a long short-term memory (LSTM) network, and the first graph convolutional network and the second graph convolutional network can be two-dimensional graph convolutional networks.
[0040] Optionally, the sub-prediction model can be one of a logistic regression model and a decision tree model.
[0041] Optionally, constructing a dynamic graph based on each sequence training sample in the sequence training sample set may include: directly constructing a dynamic graph using each sequence training sample, or constructing a dynamic graph using the temporal features extracted from each sequence training sample.
[0042] Optionally, the object may be a traffic vehicle, the sequence data may be traffic flow data between regions in different time slots of the traffic map network, and the static data may be static data reflecting the attributes of regions in the traffic map network.
[0043] Optionally, the static data may include geographic information of each region in the traffic map network and information on nodes of interest in each region in the traffic map network. The static map may include a first static map constructed based on the geographic information and a second static map constructed based on the information on nodes of interest. The second graph convolutional network may include a second graph convolutional network trained using the first static map and a second graph convolutional network trained using the second static map. The machine learning model may be trained to predict traffic flow data for the next time slot based on a series of traffic flow data arranged in chronological order for different time slots.
[0044] According to another exemplary embodiment, a computer-readable storage medium for storing instructions is provided, wherein when the instructions are executed by at least one computing device, the at least one computing device causes the at least one computing device to perform a method for training a machine learning model as described above.
[0045] According to another exemplary embodiment, a system is provided that includes at least one computing device and at least one storage device containing storage instructions, wherein the instructions, when executed by the at least one computing device, cause the at least one computing device to perform a method for training a machine learning model as described above.
[0046] According to another exemplary embodiment, a system is provided for training a machine learning model based on graph convolutional networks for predicting sequence data. The system may include: a training sample acquisition device configured to acquire a sequence training sample set of an object, wherein the sequence training sample set includes a plurality of sequence training samples, and each sequence training sample includes a plurality of sequence data arranged in chronological order; and a training device configured to train the machine learning model based on the sequence training sample set, wherein the machine learning model includes at least a plurality of graph convolutional networks, wherein the plurality of graph convolutional networks include a first graph convolutional network trained using a dynamic graph constructed based on historical sequence data of the object and a second graph convolutional network trained using a static graph constructed based on static data related to the object.
[0047] Optionally, the training device may be configured to: construct a dynamic graph based on each sequence training sample in the sequence training sample set, and construct a static graph based on static data related to the object; input each sequence training sample in the sequence training sample set into a first graph convolutional network and a second graph convolutional network respectively; and train the first graph convolutional network using the dynamic graph and the second graph convolutional network using the static graph based on each sequence training sample.
[0048] Optionally, the machine learning model may further include a sub-prediction model that performs predictions based on the outputs of the plurality of graph convolutional networks, wherein the training device may be configured to: construct sub-training samples based on the outputs of the first graph convolutional network and the second graph convolutional network for each sequence training sample, and train the sub-prediction model using the sub-training samples.
[0049] Optionally, the machine learning model may further include a backtracking neural network for extracting temporal features from sequence data, wherein the training device may be configured to: construct a dynamic graph based on each sequence training sample in the sequence training sample set, and construct a static graph based on static data related to the object; input each sequence training sample in the sequence training sample set into the backtracking neural network, and extract temporal features from each sequence training sample using the backtracking neural network; input the extracted temporal features of each sequence training sample into a first graph convolutional network and a second graph convolutional network, respectively; train the backtracking neural network based on the temporal features of each sequence training sample, and train the first graph convolutional network using the dynamic graph and train the second graph convolutional network using the static graph.
[0050] Optionally, the machine learning model may further include a sub-prediction model that performs predictions based on the outputs of the plurality of graph convolutional networks, wherein the training device may be configured to: construct sub-training samples based on the outputs of the first graph convolutional network and the second graph convolutional network for the temporal features of each sequence training sample, and train the sub-prediction model using the sub-training samples.
[0051] Optionally, the backtracking neural network can be a long short-term memory (LSTM) network, and the first graph convolutional network and the second graph convolutional network can be two-dimensional graph convolutional networks.
[0052] Optionally, the sub-prediction model can be one of a logistic regression model and a decision tree model.
[0053] Optionally, constructing a dynamic graph based on each sequence training sample in the sequence training sample set may include: directly constructing a dynamic graph using each sequence training sample, or constructing a dynamic graph using the temporal features extracted from each sequence training sample.
[0054] Optionally, the object may be a traffic vehicle, the sequence data may be traffic flow data between regions in different time slots of the traffic map network, and the static data may be static data reflecting the attributes of regions in the traffic map network.
[0055] Optionally, the static data may include geographic information of each region in the traffic map network and information on nodes of interest in each region in the traffic map network. The static map may include a first static map constructed based on the geographic information and a second static map constructed based on the information on nodes of interest. The second graph convolutional network may include a second graph convolutional network trained using the first static map and a second graph convolutional network trained using the second static map. The machine learning model may be trained to predict traffic flow data for the next time slot based on a series of traffic flow data arranged in chronological order for different time slots.
[0056] The method and system for training machine learning models according to exemplary embodiments of this application can train machine learning models that can effectively handle the fusion of dynamic and static graphs, thereby enabling the trained machine learning models to provide more accurate prediction results for sequence data.
[0057] The method for predicting sequence data using a machine learning model according to the exemplary embodiments of this application can effectively handle the fusion of dynamic and static graphs, thereby providing more accurate sequence data prediction results. For example, in traffic flow prediction scenarios, it can more accurately predict the traffic flow in the next time slot. Attached Figure Description
[0058] These and / or other aspects and advantages of this application will become clearer and more readily understood from the following detailed description of embodiments of this application taken in conjunction with the accompanying drawings, wherein:
[0059] Figure 1 This is a block diagram illustrating a system for training a machine learning model based on a graph convolutional network for predicting sequence data, according to an exemplary embodiment of this application.
[0060] Figure 2 This is a schematic diagram illustrating an example of a machine learning model according to an exemplary embodiment of this application;
[0061] Figure 3 This is a flowchart of a method for training a machine learning model based on a graph convolutional network for predicting sequence data, according to an exemplary embodiment of this application.
[0062] Figure 4 This is a block diagram illustrating a system for predicting sequence data using a machine learning model based on graph convolutional networks, according to an exemplary embodiment of this application.
[0063] Figure 5 This is a schematic diagram illustrating a process of predicting sequence data using a machine learning model based on graph convolutional networks according to an exemplary embodiment of this application;
[0064] Figure 6 This is a flowchart illustrating a method for predicting sequence data using a machine learning model based on graph convolutional networks, according to an exemplary embodiment of this application. Detailed Implementation
[0065] To enable those skilled in the art to better understand this application, exemplary embodiments of this application will be further described in detail below with reference to the accompanying drawings and specific implementations.
[0066] Figure 1This is a block diagram illustrating a system (hereinafter, for ease of description, simply referred to as a "model training system") 100 for training a machine learning model based on a graph convolutional network for predicting sequence data according to an exemplary embodiment of this application. Figure 1 As shown, the model training system 100 may include a training sample acquisition device 110 and a training device 120.
[0067] Specifically, the training sample acquisition device 110 can acquire a sequence training sample set of the object. Here, the sequence training sample set may include multiple sequence training samples, and each sequence training sample may include multiple sequence data arranged in chronological order. As an example, in a traffic flow prediction scenario, the object may be a traffic vehicle, and the sequence data may be traffic flow data between regions in a traffic map network of different time slots. In the traffic map network, a region can be regarded as a node, vehicles traveling between different regions generate edges, and the same region can be regarded as both a starting point and an ending point.
[0068] For the sake of brevity, the present invention will be described using a traffic flow prediction scenario as an example. However, those skilled in the art will understand that neither the objects nor the corresponding sequence data mentioned above are limited to the examples presented. The objects and sequence data can vary depending on the application scenario. For instance, in a pedestrian flow prediction scenario, the object can be people, and the sequence data can be pedestrian flow data between regions in a traffic map network across different time slots. Similarly, in a bird migration prediction scenario, the object can be birds, and the sequence data can be migration patterns between different regions in different time slots, and so on.
[0069] Furthermore, the multiple sequence data arranged in chronological order can be multiple sequence data from different time slots, and the intervals between adjacent time slots can be the same or different; this application does not impose any limitations on this. For example, multiple sequence data arranged in chronological order can be represented as [X t-24×7 X t-24 X t-3 X t-2 X t-1 These are, respectively, sequence data from one week ago (i.e., the sequence data from the (t-24×7)th time slot), sequence data from one day ago (i.e., the sequence data from the (t-24)th time slot), and sequence data from the three most recent time slots (i.e., the sequence data from the (t-3), (t-2), and (t-1)th time slots). Each sequence data can be represented as a matrix. For example, in a traffic flow prediction scenario, the sequence data for each time slot can be represented by x... ij The matrix formed by x ij This represents the traffic flow from region i to region j in the traffic map network.
[0070] The training sample acquisition device 110 can acquire information related to sequence data, process the information to obtain corresponding sequence data and construct sequence training samples, directly acquire sequence data and construct sequence training samples, or directly acquire sequence training sample sets generated by other devices. For example, the training sample acquisition device 110 can acquire information related to sequence data manually, semi-automatically, or fully automatically, and perform statistical analysis to obtain corresponding sequence data. Here, the training sample acquisition device 110 can receive sequence data or information related to sequence data manually input by the user through an input device (e.g., a workstation), or the training sample acquisition device 110 can acquire sequence data or information related to sequence data from a data source in a fully automatic manner, for example, by systematically requesting the data source to send sequence data or information related to sequence data to the training sample acquisition device 110 through a timer mechanism implemented in software, firmware, hardware, or a combination thereof, or it can automatically acquire data or information with human intervention, for example, by requesting the acquisition of sequence data or information related to sequence data upon receiving specific user input. Each time sequence data or information related to the sequence data is acquired, preferably, the training sample acquisition device 110 can store the captured data in non-volatile memory. As an example, a data warehouse can be used to store the acquired sequence data or information related to the sequence data.
[0071] Here, the multiple sequence data can be sequence data from different time slots. The training sample acquisition device 110 can obtain the multiple sequence data by extracting the sequence data of the corresponding time slots in chronological order from all the obtained sequence data, and use the multiple sequence data to construct sequence training samples.
[0072] After obtaining a sequence training sample set of the object, the training device 120 can train a machine learning model based on the sequence training sample set. Here, the machine learning model may include at least a plurality of graph convolutional networks. The plurality of graph convolutional networks may include a first graph convolutional network trained using a dynamic graph constructed based on historical sequence data of the object and a second graph convolutional network trained using a static graph constructed based on static data related to the object.
[0073] Figure 2 This is a schematic diagram illustrating an example of a machine learning model according to an exemplary embodiment of this application. Next, referring to... Figure 2 The training process of machine learning models will be introduced.
[0074] Specifically, according to an exemplary embodiment, the machine learning model 200 may include at least a first graph convolutional network 210 and a second graph convolutional network 220. In this case, the training device 120 may construct a dynamic graph based on each sequence training sample in the sequence training sample set, and construct a static graph based on static data related to the object. Here, the dynamic graph reflects the dynamic correlation between sequence data, which changes over time. The static graph reflects the static correlation between sequence data, which does not change over time. For example, in a traffic prediction scenario, the dynamic graph and the static graph may be represented as follows: and G s = (V, E, A), where V represents the set of regions in the transportation map network (i.e., the set of nodes in the graph), and E represents the set of edges between nodes. A represents the set of values associated with edges (e.g., traffic flow between regions). In addition, A can represent the set of values associated with edges, except that it does not change over time.
[0075] According to an exemplary embodiment, the above-mentioned construction of a dynamic graph based on each sequence training sample in the sequence training sample set may include: directly constructing a dynamic graph using each sequence training sample, or constructing a dynamic graph using temporal features extracted from each sequence training sample. Here, the temporal features may reflect the temporal correlation between sequence data. Furthermore, when constructing a dynamic graph using each sequence training sample, the training device 120 may construct a dynamic graph using each sequence data (i.e., using sequence data from each time slot) from among the multiple sequence data included in each sequence training sample. Additionally, in a traffic flow prediction scenario, the above-mentioned static data may be static data reflecting the attributes of regions in a traffic map network. For example, static data may include geographic information of each region in the traffic map network and information on nodes of interest (POIs) for each region in the traffic map network. Accordingly, the static graph may include a first static graph constructed based on the geographic information and a second static graph constructed based on the POI information. During the graph construction process, due to the different roles played by nodes in the graph (e.g., starting point or ending point), edges may be constructed separately to record corresponding relationships (e.g., relationships between starting points and relationships between ending points). According to an exemplary embodiment, such a graph containing dual relationships can be represented using a tensor structure. Taking a traffic map network as an example, the tensor structure can be represented as the number of points (representing the starting point) * the number of points (representing the ending point) * the number of timestamps (representing the number of time slots). Furthermore, it should be noted that the sources of the static graphs mentioned above can be numerous, and the construction methods can also differ. It is not necessarily a first static graph constructed based on geographic information and a second static graph constructed based on point-of-interest information. Instead, other static data (e.g., population density near each region) can be used to construct the static graph, and this application does not limit this.
[0076] After constructing the dynamic and static graphs, the training device 120 can input each sequence training sample from the sequence training sample set into the first graph convolutional network 210 and the second graph convolutional network 220, respectively. Based on each sequence training sample, the first graph convolutional network 210 is trained using the dynamic graph, and the second graph convolutional network 220 is trained using the static graph. As described above, the static graph may include a first static graph constructed based on geographic information and a second static graph constructed based on point-of-interest information. Correspondingly, the second graph convolutional network 220 may include a second graph convolutional network trained using the first static graph and a second graph convolutional network trained using the second static graph. It should be noted that, in this application, the number of second graph convolutional networks is not limited to one, but may be multiple. Furthermore, in this application, the first and second graph convolutional networks may be two-dimensional graph convolutional networks (2D-GCN), but are not limited to this.
[0077] According to another exemplary embodiment, refer to Figure 2 In addition to the first graph convolutional network 210 and the second graph convolutional network 220, the machine learning model 200 may also include a sub-prediction model 230 that performs predictions based on the outputs of the plurality of graph convolutional networks. In this case, the training device 120 may also construct sub-training samples based on the outputs of the first and second graph convolutional networks for each sequence training sample, and use the sub-training samples to train the sub-prediction model 230. Here, the sub-prediction model may be one of a logistic regression model and a decision tree model, but is not limited thereto. For example, when the sub-training model is a logistic regression model, the training device 120 may construct sub-training samples by using the first output of the first graph convolutional network for each sequence training sample and the second output of the second graph convolutional network for the training sample as features of the sub-training samples, and use the sub-training samples to train the logistic regression model to determine the parameters of the logistic regression model. Here, the label of the sub-training sample may be the sequence data of the next time slot after the time slot corresponding to the last sequence data in each sequence training sample. Optionally, the training device 120 may also construct sub-training samples by using the average of the first output and the second output as features of the sub-training samples. The present invention does not limit the construction method of sub-training samples, as long as it can fuse the outputs of multiple graph convolutional networks.
[0078] According to another exemplary embodiment, the machine learning model 200 may include, in addition to multiple graph convolutional networks, a backtracking neural network 205 for extracting temporal features from sequence data. Here, the backtracking neural network 205 may be a Long Short-Term Memory (LSTM) network, but is not limited to this; it may be any backtracking neural network suitable for processing sequence data. When the machine learning model 200 includes a backtracking neural network, the training device 120 may first construct a dynamic graph based on each sequence training sample in the sequence training sample set, and construct a static graph based on static data related to the object; subsequently, the training device 120 may input each sequence training sample in the sequence training sample set into the backtracking neural network 205, and utilize the backtracking neural network 205 to extract the temporal features of each sequence training sample. For example, when sequence training samples (X... t-24×7 X t-24 X t-3 X t-2 X t-1 When input into an LSTM, the final extracted temporal features can be represented as:
[0079] Finally, the training device 120 can input the extracted temporal features of each sequence training sample into the first graph convolutional network and the second graph convolutional network, respectively, and train the backtracking neural network based on the temporal features of each sequence training sample. It also trains the first graph convolutional network using the dynamic graph and the second graph convolutional network using the static graph. In other words, in this case, the training device 120 can construct a dynamic graph based on the temporal features extracted using the backtracking neural network 205, and the extracted temporal features can also be used when training subsequent models using the constructed graph. For example, when the extracted temporal features pass through each graph convolutional network, each graph convolutional network can perform the following calculations:
[0080]
[0081] Among them, × n This represents matrix multiplication of the nth dimension of a tensor, where L is the Laplace matrix. It is the learnable weight matrix of the l-th layer of the graph convolutional network. σ is the hidden state of layer l, σ(·) is the activation function, and Ti represents the Chebyshev polynomial.
[0082] Furthermore, according to another exemplary embodiment of this application, in addition to including the backtracking neural network 205, the first graph convolutional network 210, and the second graph convolutional network 230, the machine learning model 200 may also include a sub-prediction model 230. In this case, the training device 120 may also construct sub-training samples based on the outputs of the first graph convolutional network and the second graph convolutional network for the temporal features of each sequence training sample, and use the sub-training samples to train the sub-prediction model 230.
[0083] For the machine learning models mentioned above, a suitable loss function can be defined, and the parameters of the machine learning model can be determined when the value of the loss function is minimized. For example, the mean squared error (MSE) loss function J can be used, which can be expressed as follows:
[0084]
[0085] Where, x ij It is the true value of the sequence data (e.g., in a traffic flow prediction scenario, x). ij (This refers to the traffic flow between region i and region j). It is the predicted value of the sequence data, y ij Is with x ij The corresponding indicator value (e.g., when x) ij When y is a non-zero value, ij =1; when x ij When y is zero ij =0).
[0086] Ultimately, the machine learning model 200 can be trained to predict the next sequence of data following a given sequence of data arranged in chronological order. For example, in a traffic flow prediction scenario, the machine learning model 200 can be trained to predict traffic flow data for the next time slot based on a series of traffic flow data arranged in chronological order across different time slots.
[0087] The above has been referred to Figure 1 and Figure 2 A training system 100 and a machine learning model 200 according to exemplary embodiments of the present invention have been described. The machine learning model based on graph convolutional networks trained according to the above exemplary embodiments can effectively handle the fusion of dynamic and static graphs, thereby providing more accurate prediction results.
[0088] It should be noted that although the model training system 100 is described above as being divided into devices for performing corresponding processes (e.g., training sample acquisition device 110 and training device 120), those skilled in the art will understand that the processes performed by the aforementioned devices can also be performed without any specific device division in the model training system 100 or without clear boundaries between the devices. Furthermore, the above references... Figure 1 The model training system 100 described herein is not limited to the devices described above, but may also include other devices (e.g., storage devices, data processing devices, etc.) as needed, or the above devices may be combined.
[0089] Figure 3 This is a flowchart illustrating a method for training a machine learning model for predicting sequence data according to an exemplary embodiment of this application (hereinafter, for ease of description, it is simply referred to as the "model training method").
[0090] Here, as an example, Figure 3 The model training method shown can be derived from Figure 1 The model training system 100 shown can be used for execution, but it can also be implemented entirely in software via computer programs or instructions. Furthermore, it can be executed via a specifically configured computing system or device, for example, via a system including at least one computing device and at least one storage device storing instructions, wherein the instructions, when executed by the at least one computing device, cause the at least one computing device to execute the aforementioned model training method. For ease of description, it is assumed that... Figure 3 The model training method shown is by Figure 1 The model training system 100 shown is used to perform this, and it is assumed that the model training system 100 can have Figure 1 The configuration shown.
[0091] Reference Figure 3 In step S310, the training sample acquisition device 110 acquires a sequence training sample set of the object. Here, the sequence training sample set may include multiple sequence training samples, and each sequence training sample may include multiple sequence data arranged in chronological order. As an example, the object may be a traffic vehicle, and the sequence data may be traffic flow data between areas in different time slot traffic map networks, but is not limited to this. (The above has already been referred to...) Figure 1 The sequence data and its acquisition have been described, and will not be repeated here. Please refer to [link / reference]. Figure 1 The relevant content described also applies here.
[0092] Next, in step S320, the training device 120 can train a machine learning model based on a sequence training sample set. Specifically, the machine learning model here may include at least multiple graph convolutional networks. The multiple graph convolutional networks may include a first graph convolutional network trained using a dynamic graph constructed based on historical sequence data of the object, and a second graph convolutional network trained using a static graph constructed based on static data related to the object. Since already referred to... Figure 2 The structural examples of machine learning models and how to train them in various example scenarios have been described, so they will not be repeated here. For related content, please refer to [link to relevant information]. Figure 2 The description.
[0093] In addition, the above references Figure 1 The details mentioned in describing the various devices included in the model training system also apply here; therefore, for relevant details regarding the steps above, please refer to [link to relevant documentation]. Figure 1 The corresponding descriptions will not be repeated here.
[0094] In the following text, reference will be made to Figures 4 to 6 The process of using a trained machine learning model to predict sequence data is described.
[0095] Figure 4 This is a block diagram illustrating a system (hereinafter referred to as the "prediction system") 400 that uses a machine learning model based on graph convolutional networks to predict sequence data according to an exemplary embodiment of this application.
[0096] Reference Figure 4 The prediction system 400 may include a prediction sample acquisition device 410 and a prediction device 420. Specifically, the prediction sample acquisition device 410 may be configured to acquire sequence prediction samples of the target. Here, the sequence prediction samples may include multiple sequence data arranged in chronological order. The prediction device 420 may utilize a machine learning model based on graph convolutional networks to perform predictions on the sequence prediction samples to provide prediction results about the next sequence data following the multiple sequence data. (Refer to the above...) Figures 1 to 3The machine learning model has been pre-trained to predict the next sequence of data following a chronologically ordered sequence of data, and the machine learning model includes at least multiple graph convolutional networks. These multiple graph convolutional networks include a first graph convolutional network trained using a dynamic graph constructed based on historical sequence data of the object, and a second graph convolutional network trained using a static graph constructed based on static data related to the object. As an example, the dynamic graph may be constructed directly using historical sequence data of the object, or it may be constructed using temporal features extracted from the historical sequence data. Descriptions regarding graph construction and machine learning model training have been referenced. Figures 1 to 3 The above has already been described, so I will not repeat it here.
[0097] As an example, in a traffic flow prediction scenario, the aforementioned objects can be vehicles, the sequence data can be traffic flow data between regions in a traffic map network across different time slots, and the static data can be static data reflecting the attributes of regions in the traffic map network. According to an exemplary embodiment, the static data may include, but is not limited to, geographic information of each region in the traffic map network and point-of-interest (POI) information for each region in the traffic map network. Accordingly, the aforementioned static map may include a first static map constructed based on the geographic information and a second static map constructed based on the POI information, but is not limited to these. Accordingly, the second graph convolutional network may include a second graph convolutional network trained using the first static map and a second graph convolutional network trained using the second static map, but is not limited to these. In a traffic flow prediction scenario, the prediction device may be configured to use the aforementioned machine learning model to predict traffic flow data for the next time slot based on a series of traffic flow data arranged chronologically across different time slots.
[0098] The following will describe in detail the process by which the prediction device 420 performs predictions.
[0099] According to an exemplary embodiment, when performing prediction, the prediction device 420 may first input sequence prediction samples into a first graph convolutional network and a second graph convolutional network, respectively. Then, it may use the first graph convolutional network to obtain a first prediction result for the sequence prediction samples and use the second graph convolutional network to obtain a second prediction result for the sequence prediction samples. Finally, the prediction device 420 may fuse the first prediction result and the second prediction result according to a predetermined rule to provide a prediction result for the next sequence data following the plurality of sequence data. As an example, fusing the first prediction result and the second prediction result according to a predetermined rule to provide a prediction result for the next sequence data following the plurality of sequence data may be by averaging the first prediction result and the second prediction result. However, those skilled in the art will understand that the predetermined rule is not limited to averaging the first prediction result and the second prediction result, but may be any appropriate calculation method for fusing the first prediction result and the second prediction result predefined by the user.
[0100] As referenced above Figure 2 The machine learning model may further include a sub-prediction model that performs predictions based on the outputs of the plurality of graph convolutional networks. The training of this sub-prediction model has been mentioned previously and will not be repeated here. When the machine learning model includes a sub-prediction model in addition to the first and second graph convolutional networks, during prediction, the prediction device 420 may first input the sequence prediction samples into the first and second graph convolutional networks respectively. The first graph convolutional network is used to obtain a first prediction result for the sequence prediction samples, and the second graph convolutional network is used to obtain a second prediction result for the sequence prediction samples. Then, based on the obtained first and second prediction results, sub-prediction samples are constructed. Finally, the prediction device 420 may use the sub-prediction model to perform predictions on the constructed sub-prediction samples to provide prediction results for the next sequence data following the plurality of sequence data. Here, the method of constructing sub-prediction samples is the same as described above. Figure 1 and Figure 2 The methods for constructing sub-training samples mentioned above are the same, so they will not be repeated here.
[0101] As referenced above Figure 2According to another exemplary embodiment, the machine learning model may include a backtracking neural network for extracting temporal features of the sequence data, in addition to the first and second graph convolutional networks. In this case, when performing prediction, the prediction device 420 may first input the sequence prediction sample into the backtracking neural network and use the backtracking neural network to extract the temporal features of the sequence prediction sample. Then, the extracted temporal features are input into the first and second graph convolutional networks respectively. The first graph convolutional network is used to obtain a first prediction result for the sequence prediction sample, and the second graph convolutional network is used to obtain a second prediction result for the sequence prediction sample. Finally, the prediction device 420 may fuse the first and second prediction results according to a predetermined rule to provide a prediction result for the next sequence data following the plurality of sequence data. The method of fusing the first and second prediction results according to the predetermined rule has been mentioned above and will not be repeated here.
[0102] According to another exemplary embodiment, in addition to including a first graph convolutional network, a second graph convolutional network, and a backtracking neural network for extracting temporal features of sequence data, the machine learning model may also include a sub-prediction model that performs predictions based on the outputs of the plurality of graph convolutional networks. In this case, when performing predictions, the prediction device 420 may obtain prediction results for the next sequence data by: inputting a sequence prediction sample into the backtracking neural network and extracting temporal features of the sequence prediction sample using the backtracking neural network; inputting the extracted temporal features into the first graph convolutional network and the second graph convolutional network respectively, obtaining a first prediction result for the sequence prediction sample using the first graph convolutional network and obtaining a second prediction result for the sequence prediction sample using the second graph convolutional network; constructing a sub-prediction sample based on the obtained first and second prediction results; and using the sub-prediction model to perform predictions on the constructed sub-prediction samples to provide prediction results for the next sequence data following the plurality of sequence data.
[0103] As an example, the backtracking neural network mentioned above can be a Long Short-Term Memory (LSTM) network, but is not limited to it, as long as the backtracking neural network is suitable for processing sequential data. The first and second graph convolutional networks can be two-dimensional graph convolutional networks, but are not limited to them. In addition, the sub-prediction model can be one of a logistic regression model and a decision tree model, but is not limited to them.
[0104] To facilitate a more intuitive understanding of the concept of this invention, the following references are made. Figure 5 An exemplary process for predicting sequential data using a machine learning model based on graph convolutional networks is described. Figure 5The machine learning model shown includes LSTM, three 2D graph convolutional networks, and an LR model; however, according to the above reference... Figures 1 to 4 As can be seen from the description, the structure of machine learning models is not limited to Figure 5 Examples.
[0105] Reference Figure 5 During prediction, the prediction device 420 can input sequence prediction samples, including multiple historical sequence data, into an LSTM. The LSTM extracts the temporal features of the sequence prediction samples, thereby learning the temporal correlation of the sequence data. Subsequently, the prediction device 420 can input the temporal features into a 2D-GCN trained using a dynamic graph, a 2D-GCN trained using a first static graph (e.g., the first static graph can be constructed based on the geographic information of each region in a transportation map network), and a 2D-GCN trained using a second static graph (e.g., the second static graph can be constructed based on the point of interest information of each region in a transportation map network), thereby learning the spatial correlation of the sequence data. Then, the prediction device 420 can construct sub-prediction samples based on the output of each 2D-GCN and input the sub-prediction samples into an LR model. That is, the LR model fuses the prediction results of each 2D-GCN for the sequence prediction samples, ultimately predicting the next sequence data.
[0106] The above has been referred to Figure 4 and Figure 5 A prediction system according to exemplary embodiments is described. The prediction system according to exemplary embodiments can effectively handle the fusion of dynamic and static graphs using a machine learning model based on graph convolutional networks, thus enabling it to handle dual-relationship graph networks and the dynamics of relationships between points in the graph, and improving prediction accuracy. For example, in a traffic prediction scenario, the prediction system according to exemplary embodiments can effectively improve the accuracy of traffic flow prediction.
[0107] It should be noted that although the prediction system 400 is described above as being divided into devices for performing corresponding processes (e.g., prediction sample acquisition device 410 and prediction device 420), those skilled in the art will understand that the processes performed by the aforementioned devices can also be performed in the prediction system 400 without any specific device division or without clear boundaries between the devices. Furthermore, the above references... Figure 4 The described prediction system 400 is not limited to the devices described above, but may also include other devices (e.g., storage devices, data processing devices, etc.) as needed, or the above devices may be combined. Furthermore, as an example, the above references... Figure 1 The model training system 100 and the prediction system 400 described can also be combined into one system or can be independent of each other; this application does not limit this.
[0108] Figure 6 This is a flowchart illustrating a method for predicting sequence data using a machine learning model based on graph convolutional networks according to an exemplary embodiment of this application (hereinafter, for ease of description, it is simply referred to as the "prediction method").
[0109] Here, as an example, Figure 6 The prediction method shown can be derived from Figure 4 The prediction system 400 shown can be executed, but it can also be implemented entirely in software via computer programs or instructions. Furthermore, it can be executed via a specifically configured computing system or computing device, for example, via a system including at least one computing device and at least one storage device containing instructions, wherein the instructions, when executed by the at least one computing device, cause the at least one computing device to execute the aforementioned prediction method. For ease of description, it is assumed that... Figure 6 The prediction method shown is by Figure 4 The prediction system 400 shown is used to perform this, and it is assumed that the prediction system 400 can have... Figure 4 The configuration shown.
[0110] Reference Figure 6 In step S610, the prediction sample acquisition device 410 acquires a sequence prediction sample of the object. Here, the sequence prediction sample may include multiple sequence data arranged in chronological order. For details regarding the acquisition of the sequence prediction sample of the object by the prediction sample acquisition device 410 (e.g., a description of the object, sequence data, etc.), please refer to [link to relevant documentation]. Figure 5 The description will not be repeated here.
[0111] In step S620, the prediction device 420 may utilize a machine learning model based on graph convolutional networks to perform predictions on the sequence prediction samples obtained in step S610 to provide prediction results about the next sequence data following the plurality of sequence data. Here, the machine learning model is pre-trained to predict the next sequence data following a series of sequence data arranged in chronological order, and the machine learning model includes at least a plurality of graph convolutional networks. Specifically, the plurality of graph convolutional networks may include a first graph convolutional network trained using a dynamic graph constructed based on historical sequence data of the object and a second graph convolutional network trained using a static graph constructed based on static data related to the object. Details regarding the machine learning model and the process of performing predictions under different structures of the machine learning model have been referred to Figures 4 to 5 The above has already been described, so I will not repeat it here.
[0112] In addition, due to Figure 6 The prediction method shown can be derived from Figure 4The prediction system 400 shown is used to perform this; therefore, for any relevant details regarding the steps described above, please refer to [link to relevant documentation]. Figure 4 For the sake of brevity, the corresponding descriptions will not be repeated here.
[0113] The above has been referred to Figures 1 to 6 A model training system and training method, as well as a prediction system and prediction method, are described according to exemplary embodiments of this application.
[0114] However, it should be understood that: Figure 1 and Figure 4 The systems and apparatuses illustrated can be configured as software, hardware, firmware, or any combination thereof to perform specific functions. For example, these systems or apparatuses may correspond to dedicated integrated circuits, pure software code, or modules combining software and hardware. Furthermore, one or more functions implemented by these systems or apparatuses may also be uniformly executed by components in physical entity devices (e.g., processors, clients, or servers).
[0115] Furthermore, the above method can be implemented by instructions recorded on a computer-readable storage medium. For example, according to an exemplary embodiment of this application, a computer-readable storage medium storing instructions can be provided, wherein when the instructions are executed by at least one computing device, the at least one computing device performs the following steps: acquiring a sequence training sample set of an object, wherein the sequence training sample set includes a plurality of sequence training samples, and each sequence training sample includes a plurality of sequence data arranged in chronological order; training the machine learning model based on the sequence training sample set, wherein the machine learning model includes at least a plurality of graph convolutional networks, wherein the plurality of graph convolutional networks include a first graph convolutional network trained using a dynamic graph constructed based on historical sequence data of the object and a second graph convolutional network trained using a static graph constructed based on static data related to the object.
[0116] Furthermore, according to another exemplary embodiment of this application, a computer-readable storage medium for storing instructions may be provided, wherein when the instructions are executed by at least one computing device, the at least one computing device causes the at least one computing device to perform the following steps: acquiring a sequence prediction sample of an object, wherein the sequence prediction sample includes a plurality of sequence data arranged in chronological order; and using the machine learning model to perform a prediction on the sequence prediction sample to provide a prediction result about the next sequence data following the plurality of sequence data, wherein the machine learning model is pre-trained to predict the next sequence data following the series of sequence data arranged in chronological order, and the machine learning model includes at least a plurality of graph convolutional networks, wherein the plurality of graph convolutional networks include a first graph convolutional network trained using a dynamic graph constructed based on historical sequence data of the object and a second graph convolutional network trained using a static graph constructed based on static data related to the object.
[0117] The instructions stored in the aforementioned computer-readable storage medium can run in an environment deployed in computer devices such as clients, hosts, agent devices, and servers. It should be noted that the instructions can also perform more specific processing when executing the above steps; the details of this further processing are already provided in the reference... Figure 3 and Figure 6 As mentioned in the description, it will not be repeated here to avoid repetition.
[0118] It should be noted that the model training system and prediction system according to the exemplary embodiments of this disclosure can rely entirely on the operation of computer programs or instructions to achieve the corresponding functions. That is, each device corresponds to each step in the functional architecture of the computer program, so that the entire system is called through a special software package (e.g., a lib library) to achieve the corresponding functions.
[0119] On the other hand, when Figure 1 and Figure 4 When the systems and apparatus shown are implemented as software, firmware, middleware, or microcode, the program code or code segment used to perform the corresponding operation can be stored in a computer-readable medium such as a storage medium, such that at least one processor or at least one computing device can perform the corresponding operation by reading and running the corresponding program code or code segment.
[0120] For example, according to an exemplary embodiment of this application, a system comprising at least one computing device and at least one storage device including storage instructions may be provided, wherein the instructions, when executed by the at least one computing device, cause the at least one computing device to perform the following steps: acquiring a sequence training sample set of an object, wherein the sequence training sample set includes a plurality of sequence training samples, and each sequence training sample includes a plurality of sequence data arranged in chronological order; training the machine learning model based on the sequence training sample set, wherein the machine learning model includes at least a plurality of graph convolutional networks, wherein the plurality of graph convolutional networks include a first graph convolutional network trained using a dynamic graph constructed based on historical sequence data of the object and a second graph convolutional network trained using a static graph constructed based on static data related to the object.
[0121] For example, according to another exemplary embodiment of this application, a system comprising at least one storage device including at least one computing device and storage instructions is provided, wherein, when executed by the at least one computing device, the instructions cause the at least one computing device to perform the following steps: acquiring a sequence prediction sample of an object, wherein the sequence prediction sample comprises a plurality of sequence data arranged in chronological order; and using the machine learning model to perform a prediction on the sequence prediction sample to provide a prediction result about the next sequence data following the plurality of sequence data, wherein the machine learning model is pre-trained to predict the next sequence data following the series of sequence data arranged in chronological order, and the machine learning model comprises at least a plurality of graph convolutional networks, wherein the plurality of graph convolutional networks include a first graph convolutional network trained using a dynamic graph constructed based on historical sequence data of the object and a second graph convolutional network trained using a static graph constructed based on static data related to the object.
[0122] Specifically, the system described above can be deployed on a server or client, or on nodes in a distributed network environment. Furthermore, the system can be a PC, tablet, personal digital assistant, smartphone, web application, or other device capable of executing the aforementioned set of instructions. Additionally, the system may include a video display (such as a liquid crystal display) and a user interface (such as a keyboard, mouse, touch input device, etc.). Moreover, all components of the system can be interconnected via a bus and / or network.
[0123] Here, the system is not necessarily a single system, but can be a collection of any devices or circuits capable of executing the above instructions (or instruction sets) individually or in combination. The system can also be part of an integrated control system or system manager, or can be configured to interface with a portable electronic device locally or remotely (e.g., via wireless transmission).
[0124] In the system, the at least one computing device may include a central processing unit (CPU), a graphics processing unit (GPU), a programmable logic device, a dedicated processor system, a microcontroller, or a microprocessor. By way of example and not limitation, the at least one computing device may also include an analog processor, a digital processor, a microprocessor, a multi-core processor, a processor array, a network processor, etc. The computing device may execute instructions or code stored in one of a storage devices, wherein the storage device may also store data. Instructions and data may also be sent and received over a network via a network interface device, wherein the network interface device may employ any known transport protocol.
[0125] Storage devices can be integrated with computing devices, for example, by placing RAM or flash memory within an integrated circuit microprocessor. Alternatively, storage devices can include separate devices, such as external disk drives, storage arrays, or other storage devices usable by any database system. Storage devices and computing devices can be operatively coupled, or can communicate with each other, for example, via I / O ports, network connections, etc., enabling the computing device to read instructions stored in the storage device.
[0126] The foregoing has described various exemplary embodiments of this application. It should be understood that the above description is merely exemplary and not exhaustive, and this application is not limited to the disclosed exemplary embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A method for predicting sequence data using a machine learning model based on graph convolutional networks, comprising: obtaining a sequence prediction sample of an object, wherein the sequence prediction sample comprises a plurality of sequence data arranged in time order; performing prediction for the sequence prediction sample using the machine learning model to provide a prediction result about a next sequence data following the plurality of sequence data, wherein the machine learning model is trained beforehand to predict a next sequence data following a series of sequence data arranged in time order, and the machine learning model comprises at least a plurality of graph convolutional networks, wherein the plurality of graph convolutional networks comprises a first graph convolutional network trained using a dynamic graph constructed based on historical sequence data of the object and a second graph convolutional network trained using a static graph constructed based on static data related to the object; wherein the sequence data is traffic flow data between regions in a traffic graph network at different time slots, and the static data is static data reflecting attributes of regions in the traffic graph network; the step of performing prediction for the sequence prediction sample to provide a prediction result about a next sequence data following the plurality of sequence data comprises: inputting the sequence prediction sample into the first graph convolutional network and the second graph convolutional network respectively; obtaining a first prediction result for the sequence prediction sample using the first graph convolutional network and a second prediction result for the sequence prediction sample using the second graph convolutional network; fusing the first prediction result and the second prediction result according to a predetermined rule to provide the prediction result about the next sequence data following the plurality of sequence data.
2. The method of claim 1, wherein, the step of fusing the first prediction result and the second prediction result according to a predetermined rule to provide the prediction result about the next sequence data following the plurality of sequence data comprises: averaging the first prediction result and the second prediction result to obtain the prediction result about the next sequence data following the plurality of sequence data.
3. The method of claim 1, wherein, the machine learning model further comprises a sub-prediction model for performing prediction based on outputs of the plurality of graph convolutional networks, and the step of performing prediction for the sequence prediction sample to provide a prediction result about a next sequence data following the plurality of sequence data comprises: inputting the sequence prediction sample into the first graph convolutional network and the second graph convolutional network respectively; obtaining a first prediction result for the sequence prediction sample using the first graph convolutional network and a second prediction result for the sequence prediction sample using the second graph convolutional network; constructing a sub-prediction sample based on the obtained first prediction result and the second prediction result; performing prediction for the constructed sub-prediction sample using the sub-prediction model to provide the prediction result about the next sequence data following the plurality of sequence data.
4. The method of claim 1, wherein, the machine learning model further comprises a backtracking neural network for extracting time features of the sequence data, and the step of performing prediction for the sequence prediction sample to provide a prediction result about a next sequence data following the plurality of sequence data comprises: inputting the sequence prediction sample into the backtracking neural network, and extracting time features of the sequence prediction sample by using the backtracking neural network; inputting the extracted time features into a first graph convolutional network and a second graph convolutional network respectively, obtaining a first prediction result for the sequence prediction sample by using the first graph convolutional network and obtaining a second prediction result for the sequence prediction sample by using the second graph convolutional network; fusing the first prediction result and the second prediction result according to a predetermined rule to provide a prediction result about a next sequence data after the plurality of sequence data.
5. The method of claim 1, wherein, The machine learning model further comprises a backtracking neural network for extracting time features of sequence data, and a sub-prediction model for performing prediction based on outputs of the plurality of graph convolutional networks, wherein the step of performing prediction for the sequence prediction sample to provide a prediction result about a next sequence data after the plurality of sequence data comprises: inputting the sequence prediction sample into the backtracking neural network, and extracting time features of the sequence prediction sample by using the backtracking neural network; inputting the extracted time features into a first graph convolutional network and a second graph convolutional network respectively, obtaining a first prediction result for the sequence prediction sample by using the first graph convolutional network and obtaining a second prediction result for the sequence prediction sample by using the second graph convolutional network; constructing a sub-prediction sample based on the obtained first prediction result and second prediction result; performing prediction for the constructed sub-prediction sample by using the sub-prediction model to provide a prediction result about a next sequence data after the plurality of sequence data.
6. The method of claim 4 or 5, wherein, The backtracking neural network is a long short-term memory (LSTM) network, and the first graph convolutional network and the second graph convolutional network are two-dimensional graph convolutional networks.
7. The method of claim 3 or 5, wherein, The sub-prediction model is one of a logistic regression model and a decision tree model.
8. The method of claim 1, wherein, The dynamic graph is constructed directly by using historical sequence data of the object, or the dynamic graph is constructed by using time features extracted from the historical sequence data.
9. The method of claim 1, wherein, The object is a traffic vehicle.
10. The method of claim 9, wherein, The static data comprises geographic information of each region in a traffic graph network and point of interest information of each region in the traffic graph network, The static graph comprises a first static graph constructed based on the geographic information and a second static graph constructed based on the point of interest information, and the second graph convolutional network comprises a second graph convolutional network trained by using the first static graph and a second graph convolutional network trained by using the second static graph, The step of performing prediction for the sequence prediction sample to provide a prediction result about a next sequence data after the plurality of sequence data comprises: predicting traffic flow data of a next time slot for a series of traffic flow data of time slots arranged in time sequence by using the machine learning model; The plurality of sequence data are a plurality of sequence data of different time slots, and intervals between adjacent time slots are the same or different.
11. A computer-readable storage medium storing instructions, wherein, The instructions, when executed by at least one computing device, cause the at least one computing device to perform the method recited in any one of claims 1 to 10.
12. A system comprising at least one computing device and at least one storage device storing instructions, wherein, The instructions, when executed by the at least one computing device, cause the at least one computing device to perform the method of any one of claims 1 to 10.
13. A system for predicting sequence data using a machine learning model based on graph convolutional networks, comprising: a prediction sample obtaining device configured to obtain a sequence prediction sample of an object, wherein the sequence prediction sample comprises a plurality of sequence data arranged in a time sequence; a prediction device configured to perform prediction using the machine learning model for the sequence prediction sample to provide a prediction result about a next sequence data following the plurality of sequence data, wherein the machine learning model is trained in advance to predict a next sequence data following a series of sequence data arranged in a time sequence, and the machine learning model comprises at least a plurality of graph convolutional networks, wherein the plurality of graph convolutional networks comprises a first graph convolutional network trained using a dynamic graph constructed based on historical sequence data of the object and a second graph convolutional network trained using a static graph constructed based on static data related to the object; wherein the sequence data is traffic flow data between regions in a time-varying traffic graph network, and the static data is static data reflecting attributes of regions in the traffic graph network; the prediction device is configured to: input the sequence prediction sample into the first graph convolutional network and the second graph convolutional network respectively; obtain a first prediction result for the sequence prediction sample using the first graph convolutional network and a second prediction result for the sequence prediction sample using the second graph convolutional network; fuse the first prediction result and the second prediction result according to a predetermined rule to provide the prediction result about the next sequence data following the plurality of sequence data.
14. The system of claim 13, wherein, The fusing of the first prediction result and the second prediction result according to the predetermined rule to provide the prediction result about the next sequence data following the plurality of sequence data comprises averaging the first prediction result and the second prediction result to obtain the prediction result about the next sequence data following the plurality of sequence data.
15. The system of claim 13, wherein, The machine learning model further comprises a sub-prediction model for performing prediction based on outputs of the plurality of graph convolutional networks, wherein the prediction device is configured to: input the sequence prediction sample into the first graph convolutional network and the second graph convolutional network respectively; obtain a first prediction result for the sequence prediction sample using the first graph convolutional network and a second prediction result for the sequence prediction sample using the second graph convolutional network; construct a sub-prediction sample based on the obtained first prediction result and second prediction result; perform prediction using the sub-prediction model for the constructed sub-prediction sample to provide the prediction result about the next sequence data following the plurality of sequence data.
16. The system of claim 13, wherein, The machine learning model further comprises a backtracking neural network for extracting temporal features of sequence data, wherein the prediction device is configured to: input the sequence prediction sample into the backtracking neural network and extract temporal features of the sequence prediction sample using the backtracking neural network; inputting the extracted time features into the first graph convolution network and the second graph convolution network respectively, obtaining a first prediction result for the sequence prediction sample by using the first graph convolution network and a second prediction result for the sequence prediction sample by using the second graph convolution network; fusing the first prediction result and the second prediction result according to a predetermined rule to provide a prediction result about next sequence data after the plurality of sequence data.
17. The system of claim 13, wherein, The machine learning model further comprises a backtracking neural network for extracting time features of sequence data, and a sub-prediction model for performing prediction based on outputs of the plurality of graph convolution networks, wherein the prediction device is configured to: input the sequence prediction sample into the backtracking neural network and extract time features of the sequence prediction sample by using the backtracking neural network; input the extracted time features into the first graph convolution network and the second graph convolution network respectively, obtain a first prediction result for the sequence prediction sample by using the first graph convolution network and a second prediction result for the sequence prediction sample by using the second graph convolution network; construct a sub-prediction sample based on the obtained first prediction result and second prediction result; perform prediction for the constructed sub-prediction sample by using the sub-prediction model to provide a prediction result about next sequence data after the plurality of sequence data.
18. The system of claim 16 or 17, wherein, The backtracking neural network is a long short-term memory (LSTM) network, and the first graph convolution network and the second graph convolution network are two-dimensional graph convolution networks.
19. The system of claim 15 or 17, wherein, The sub-prediction model is one of a logistic regression model and a decision tree model.
20. The system of claim 13, wherein, The dynamic graph is constructed directly by using historical sequence data of the object, or the dynamic graph is constructed by using time features extracted from the historical sequence data.
21. The system of claim 13, wherein, The object is a traffic vehicle.
22. The system of claim 21, wherein, The static data includes geographic information of each region in a traffic graph network and point of interest information of each region in the traffic graph network, The static graph includes a first static graph constructed based on the geographic information and a second static graph constructed based on the point of interest information, and the second graph convolution network includes a second graph convolution network trained by using the first static graph and a second graph convolution network trained by using the second static graph, The prediction device is configured to use the machine learning model to predict traffic flow data of a next time slot for a series of traffic flow data of different time slots arranged in time sequence; The plurality of sequence data are a plurality of sequence data of different time slots, and intervals between adjacent time slots are the same or different.
23. A method for training a graph convolution network-based machine learning model for predicting sequence data, comprising: obtaining a sequence training sample set of an object, wherein the sequence training sample set comprises a plurality of sequence training samples, and each sequence training sample comprises a plurality of sequence data arranged in time sequence; training the machine learning model based on the sequence training sample set, The machine learning model comprises at least a plurality of graph convolution networks, wherein the plurality of graph convolution networks comprises a first graph convolution network trained by a dynamic graph constructed based on historical sequence data of the object and a second graph convolution network trained by a static graph constructed based on static data related to the object. The sequence data is traffic flow data between regions in a traffic graph network at different time slots, and the static data is static data reflecting attributes of regions in the traffic graph network. The step of training the machine learning model comprises: constructing a dynamic graph based on each sequence training sample in the sequence training sample set and constructing a static graph based on static data related to the object; inputting each sequence training sample in the sequence training sample set into the first graph convolution network and the second graph convolution network respectively; training the first graph convolution network by using the dynamic graph and training the second graph convolution network by using the static graph based on each sequence training sample.
24. The method of claim 23, wherein, The machine learning model further comprises a sub-prediction model for performing prediction based on outputs of the plurality of graph convolution networks, and the step of training the machine learning model further comprises: constructing sub-training samples based on outputs of the first graph convolution network and the second graph convolution network respectively for each sequence training sample, and training the sub-prediction model by using the sub-training samples.
25. The method of claim 23, wherein, The machine learning model further comprises a backtracking neural network for extracting time features of the sequence data, and the step of training the machine learning model comprises: constructing a dynamic graph based on each sequence training sample in the sequence training sample set and constructing a static graph based on static data related to the object; inputting each sequence training sample in the sequence training sample set into the backtracking neural network and extracting time features of each sequence training sample by using the backtracking neural network; inputting the extracted time features of each sequence training sample into the first graph convolution network and the second graph convolution network respectively; training the backtracking neural network and training the first graph convolution network by using the dynamic graph and training the second graph convolution network by using the static graph based on the time features of each sequence training sample.
26. The method of claim 25, wherein, The machine learning model further comprises a sub-prediction model for performing prediction based on outputs of the plurality of graph convolution networks, and the step of training the machine learning model further comprises: constructing sub-training samples based on outputs of the first graph convolution network and the second graph convolution network respectively for the time features of each sequence training sample, and training the sub-prediction model by using the sub-training samples.
27. The method of claim 25 or 26, wherein, The backtracking neural network is a long short-term memory (LSTM) network, and the first graph convolution network and the second graph convolution network are two-dimensional graph convolution networks.
28. The method of claim 24 or 26, wherein, The sub-prediction model is one of a logistic regression model and a decision tree model.
29. The method of claim 23, wherein, The step of constructing a dynamic graph based on each sequence training sample in the sequence training sample set comprises directly constructing a dynamic graph by using each sequence training sample or constructing a dynamic graph by using time features extracted from each sequence training sample.
30. The method of claim 23, wherein, The object is a traffic vehicle.
31. The method of claim 30, wherein, The static data comprises geographic information of each region in the traffic graph network and point of interest information of each region in the traffic graph network, The static graph includes a first static graph constructed based on the geographic information and a second static graph constructed based on the point of interest information, the second graph convolution network includes a second graph convolution network trained using the first static graph and a second graph convolution network trained using the second static graph, The machine learning model is trained to predict traffic flow data of a next time slot for a series of traffic flow data of different time slots arranged in time sequence.
32. A computer-readable storage medium storing instructions, wherein, The instructions, when executed by the at least one computing device, cause the at least one computing device to perform the method of any one of claims 23-31.
33. A system comprising at least one computing device and at least one storage device storing instructions, wherein, The instructions, when executed by the at least one computing device, cause the at least one computing device to perform the method of any one of claims 23-31.
34. A system for training a graph convolution network-based machine learning model for predicting sequence data, comprising: a training sample obtaining device configured to obtain a sequence training sample set of an object, wherein the sequence training sample set includes a plurality of sequence training samples, and each sequence training sample includes a plurality of sequence data arranged in time sequence; a training device configured to train the machine learning model based on the sequence training sample set, wherein the machine learning model includes at least a plurality of graph convolution networks, wherein the plurality of graph convolution networks includes a first graph convolution network trained using a dynamic graph constructed based on historical sequence data of the object and a second graph convolution network trained using a static graph constructed based on static data related to the object; wherein the sequence data is traffic flow data between regions in a traffic graph network at different time slots, and the static data is static data reflecting attributes of regions in the traffic graph network; the training device is configured to: construct a dynamic graph based on each sequence training sample in the sequence training sample set, and construct a static graph based on static data related to the object; input each sequence training sample in the sequence training sample set into the first graph convolution network and the second graph convolution network respectively; train the first graph convolution network using the dynamic graph and train the second graph convolution network using the static graph based on each sequence training sample.
35. The system of claim 34, wherein, The machine learning model further includes a sub-prediction model for performing prediction based on outputs of the plurality of graph convolution networks, wherein the training device is further configured to: construct a sub-training sample based on outputs of the first graph convolution network and the second graph convolution network for each sequence training sample respectively, and train the sub-prediction model using the sub-training sample.
36. The system of claim 34, wherein, The machine learning model further includes a backtracking neural network for extracting time features of sequence data, wherein the training device is configured to: construct a dynamic graph based on each sequence training sample in the sequence training sample set, and construct a static graph based on static data related to the object; input each sequence training sample in the sequence training sample set into the backtracking neural network, and extract time features of each sequence training sample using the backtracking neural network; input the extracted time features of each sequence training sample into the first graph convolution network and the second graph convolution network respectively; The backtracking neural network is trained based on the time features of each sequence training sample, and a first graph convolution network is trained using the dynamic graph and a second graph convolution network is trained using the static graph.
37. The system of claim 36, wherein, The machine learning model further comprises a sub-prediction model configured to perform prediction based on outputs of the plurality of graph convolution networks, wherein the training device is further configured to: construct sub-training samples based on the outputs of the first graph convolution network and the second graph convolution network for the time features of each sequence training sample, respectively, and train the sub-prediction model using the sub-training samples.
38. The system of claim 36 or 37, wherein, The backtracking neural network is a long short-term memory (LSTM) network, and the first graph convolution network and the second graph convolution network are two-dimensional graph convolution networks.
39. The system of claim 35 or 37, wherein, The sub-prediction model is one of a logistic regression model and a decision tree model.
40. The system of claim 34, wherein, Constructing the dynamic graph based on each sequence training sample in the set of sequence training samples comprises directly constructing the dynamic graph using each sequence training sample, or constructing the dynamic graph using time features extracted from each sequence training sample.
41. The system of claim 34, wherein, The object is a traffic vehicle.
42. The system of claim 41, wherein, The static data comprises geographic information of each region in a traffic graph network and point of interest information of each region in the traffic graph network, The static graph comprises a first static graph constructed based on the geographic information and a second static graph constructed based on the point of interest information, and the second graph convolution network comprises a second graph convolution network trained using the first static graph and a second graph convolution network trained using the second static graph, The machine learning model is trained to predict traffic flow data of a next time slot for a series of traffic flow data of different time slots arranged in chronological order.
Citation Information
Patent Citations
Model training method and system and sequence data prediction method and system
CN110097193A
Attention based sequential image processing
US20190122103A1