Excitation method and device, excitation system, computer equipment and storage medium
By implementing an incentive method on the user node, using bid requests, communication paths, and expected income adjustment strategies, the maximum problem of interests in federal learning has been solved, the income of server and user nodes is maximized, and the effectiveness of federal learning has been improved.
Patent Information
- Application Number
- CN202411370113.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-29
- Publication Date
- 2025-01-28
AI Technical Summary
In the federated learning process based on the auction mechanism, it is difficult for servers and user nodes to maximize their benefits, resulting in poor federated learning effects.
By implementing an incentive method on the user node, the user node receives the bid request of the server, determines the communication path, and determines the target resource data and expected income according to the requirements of the bid resource and the communication path. The user node sends the bid information based on this information, and matches the expected income adjustment strategy according to the bid result to adjust the expected income to participate in the next round of bidding processes.
By fully considering the impact of the communication path and the expected income adjustment based on bidding results, user nodes and servers can maximize income during the federal learning process, thereby effectively inspiring user nodes to participate in federal learning and improve the effectiveness of federal learning training.
Smart Images

Figure CN119376922A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of artificial intelligence technology, and in particular to an incentive method, apparatus, incentive system, computer equipment and storage medium. Background Art
[0002] Federated learning is a distributed machine learning paradigm that protects user data privacy without sharing local data. The federated learning process includes: the server selects a portion of user nodes for model training, sends the global model to the user nodes, and each selected user node performs local training and uploads the updated local model to the server. The server then aggregates the local model and obtains a new global model. This process is iterated until convergence or the model accuracy reaches a threshold.
[0003] Federated learning protects data privacy and can utilize user privacy data. In order to increase the enthusiasm of user nodes to participate in federated learning, federated learning based on an auction mechanism is proposed. The auction mechanism is a method in which a server can effectively select high-quality users while considering multi-dimensional information. In the auction mechanism, the server first issues a bidding request containing parameter requirements to the user. The user node uploads the bidding information and the expected benefits according to its own situation. Then the server determines the winner of the auction and selects these winners for federated learning training. Finally, the server distributes the expected benefits to these users who are training.
[0004] However, in the auction mechanism, it is difficult for the server to know the private information of the user node in advance, and the bidding decision of the user node will not be shared and announced. Therefore, it is difficult for the user node to improve its current decision with only its own historical decision information. In other words, in the current federated learning process based on the auction mechanism, neither the server nor the user node can maximize its benefits, resulting in poor federated learning results. Summary of the invention
[0005] Based on this, it is necessary to provide an incentive method, device, incentive system, computer equipment, computer-readable storage medium and computer program product that can maximize the interests of servers and user nodes in the process of federated learning based on an auction mechanism to address the above technical problems.
[0006] In a first aspect, the present application provides an incentive method, which is applied to a user node, and the method includes:
[0007] Receiving a bidding request sent by a server, wherein the bidding request includes a bidding resource requirement;
[0008] determining a communication path with the server in response to the bid request, and determining target resource data and expected revenue according to the bid resource requirements and the communication path;
[0009] Sending bidding information to the server according to the target resource data and the expected revenue;
[0010] Receive the bidding result for the bidding information sent by the server, match the expected profit adjustment strategy based on the bidding result, adjust the expected profit according to the expected profit adjustment strategy, and use the adjusted expected profit to participate in the next round of bidding process.
[0011] In one embodiment, adjusting the expected revenue according to the expected revenue adjustment strategy and using the adjusted expected revenue to participate in the next round of bidding process includes:
[0012] After adjusting the expected benefit according to the expected benefit adjustment strategy, jump to the step of sending bidding information to the server according to the target resource data and the expected benefit until receiving the federated learning task or bidding end information sent by the server.
[0013] In one embodiment, the bid resource requirement includes a communication resource requirement and a local resource requirement, and determining the target resource data and the expected benefit according to the bid resource requirement and the communication path includes:
[0014] Determining communication resource data corresponding to the communication resource demand based on the communication path, and determining local resource data according to the local resource demand;
[0015] The user node loss is determined according to the communication resource data and the local resource data, and the expected benefit of the user node is determined through the user node loss.
[0016] In one of the embodiments, the communication resource data includes at least one of delay, bandwidth, and communication loss, and the local resource data includes at least one of local data volume and computing loss of the user node.
[0017] In one embodiment, the bid resource requirement includes resource constraints, and determining the user node loss according to the communication resource data and the local resource data includes:
[0018] Determining whether the communication resource data and the local resource data satisfy the resource constraint condition;
[0019] When the communication resource data and the local resource data satisfy the resource constraint condition, the user node loss is determined according to the communication resource data and the local resource data.
[0020] In one embodiment, determining the user node loss according to the communication resource data and the local resource data includes:
[0021] According to the resource factor of the user node, the communication resource data and the local resource data are weighted and summed to obtain the user node loss.
[0022] In one embodiment, the adjusting strategy based on matching the expected revenue based on the bidding results includes:
[0023] If the bidding result indicates that the user node is selected, and the bidding result of the previous round indicates that the user node is selected, then determining that the expected revenue adjustment strategy is the first strategy, and the first strategy is used to increase the expected revenue; or,
[0024] If the bidding result indicates that the user node is selected, and the bidding result of the previous round indicates that the user node is not selected, then determining the expected revenue adjustment strategy to be the second strategy, the second strategy is used to maintain the expected revenue unchanged in subsequent bidding rounds; or,
[0025] If the bidding result indicates that the user node is not selected, and the bidding result of the previous round indicates that the user node is not selected, then determining the expected revenue adjustment strategy to be the third strategy, and the third strategy is used to adjust the expected revenue downward; or,
[0026] If the bidding result indicates that the user node is not selected, and the bidding result of the previous round indicates that the user node is selected, the expected profit adjustment strategy is determined to be the fourth strategy, and the fourth strategy is used to maintain the expected profit of the previous round unchanged in subsequent bidding rounds.
[0027] In one embodiment, determining a communication path with the server in response to the bid request comprises:
[0028] Obtaining a Pareto optimal path set, wherein the Pareto optimal path set includes at least one Pareto optimal path between the user node and the server, and the Pareto optimal path set is constructed by using a multi-factor algorithm;
[0029] A communication path between the user node and the server is determined from the Pareto optimal path set.
[0030] In a second aspect, the present application provides an incentive method, which is applied to a server, and the method includes:
[0031] Sending a bidding request to each user node, wherein the bidding request includes a bidding resource requirement;
[0032] Receiving bidding information sent by each user node, the bidding information including target resource data and expected revenue of the user node, the target resource data and expected revenue being determined by the target node according to the bidding resource demand and the communication path between the target node and the server;
[0033] The bidding result of each user node is determined based on the target resource data and expected benefit of each user node, and the bidding result is fed back to each user node respectively. The bidding result is used to instruct the user node to match the expected benefit adjustment strategy according to the bidding result, and adjust the expected benefit according to the expected benefit adjustment strategy.
[0034] In one embodiment, the method further comprises:
[0035] If the expected benefits sent by each of the user nodes in the current round meet the convergence conditions, the target user node is determined from each of the user nodes according to the target resource data and expected benefits sent by each of the user nodes in the current round, and a federated learning task is sent to each of the target user nodes.
[0036] In one embodiment, determining the bidding result of each user node according to the target resource data and expected revenue of each user node includes:
[0037] Determine the server revenue corresponding to each user node according to the target resource data and expected revenue of each user node;
[0038] Determine a preset number of first user nodes from the user nodes, the server revenue corresponding to the first user nodes is greater than the server revenue corresponding to each second user node, and the second user nodes are nodes among the user nodes except the first user nodes;
[0039] The bidding result of each of the first user nodes is determined to be a first bidding result indicating that it is selected, and the bidding result of each of the second user nodes is determined to be a second bidding result indicating that it is not selected.
[0040] In one embodiment, determining the server revenue corresponding to each user node according to the target resource data and expected revenue of each user node includes:
[0041] For any of the user nodes, the target resource data of the user node is weighted and summed according to the resource factor of the server to obtain resource benefits, and the server benefits corresponding to the user node are determined according to the resource benefits and the expected benefits of the user node.
[0042] In one of the embodiments, the convergence condition includes that the expected revenue sent by each of the user nodes in the current round is in a stable state.
[0043] In a third aspect, the present application also provides an incentive system, the system comprising: a server and a plurality of user nodes, wherein:
[0044] The server is used to send a bidding request to each of the user nodes, wherein the bidding request includes a bidding resource requirement;
[0045] The user node is used to determine a communication path with the server in response to the bidding request, determine target resource data and expected revenue according to the bidding resource demand information and the communication path, and send bidding information to the server according to the target resource data and expected revenue;
[0046] The server is further configured to determine the bidding result corresponding to each user node based on the bidding information sent by each user node, and send the bidding result to each user node;
[0047] The user node is further used to determine an expected revenue adjustment strategy according to the bidding result, adjust the expected revenue according to the expected revenue adjustment strategy, and use the adjusted expected revenue to participate in the next round of bidding process.
[0048] In a fourth aspect, the present application further provides an incentive device, applied to a user node, the device comprising:
[0049] A receiving module, used for receiving a bidding request sent by a server, wherein the bidding request includes a bidding resource requirement;
[0050] a determination module, configured to determine a communication path with the server in response to the bidding request, and determine target resource data and expected revenue according to the bidding resource requirements and the communication path;
[0051] A sending module, used for sending bidding information to the server according to the target resource data and the expected revenue;
[0052] The adjustment module is used to receive the bidding results for the bidding information sent by the server, match the expected profit adjustment strategy based on the bidding results, adjust the expected profit according to the expected profit adjustment strategy, and use the adjusted expected profit to participate in the next round of bidding process.
[0053] In one embodiment, the adjustment module is further used for:
[0054] After adjusting the expected benefit according to the expected benefit adjustment strategy, jump to the step of sending bidding information to the server according to the target resource data and the expected benefit until receiving the federated learning task or bidding end information sent by the server.
[0055] In one embodiment, the bid resource requirement includes a communication resource requirement and a local resource requirement, and the determination module is further used to:
[0056] Determining communication resource data corresponding to the communication resource demand based on the communication path, and determining local resource data according to the local resource demand;
[0057] The user node loss is determined according to the communication resource data and the local resource data, and the expected benefit of the user node is determined through the user node loss.
[0058] In one of the embodiments, the communication resource data includes at least one of delay, bandwidth, and communication loss, and the local resource data includes at least one of local data volume and computing loss of the user node.
[0059] In one embodiment, the determining module is further configured to:
[0060] Determining whether the communication resource data and the local resource data satisfy the resource constraint condition;
[0061] When the communication resource data and the local resource data satisfy the resource constraint condition, the user node loss is determined according to the communication resource data and the local resource data.
[0062] In one embodiment, the determining module is further configured to:
[0063] According to the resource factor of the user node, the communication resource data and the local resource data are weighted and summed to obtain the user node loss.
[0064] In one embodiment, the adjustment module is further used for:
[0065] If the bidding result indicates that the user node is selected, and the bidding result of the previous round indicates that the user node is selected, then determining that the expected revenue adjustment strategy is the first strategy, and the first strategy is used to increase the expected revenue; or,
[0066] If the bidding result indicates that the user node is selected, and the bidding result of the previous round indicates that the user node is not selected, then determining the expected revenue adjustment strategy to be the second strategy, the second strategy is used to maintain the expected revenue unchanged in subsequent bidding rounds; or,
[0067] If the bidding result indicates that the user node is not selected, and the bidding result of the previous round indicates that the user node is not selected, then determining the expected revenue adjustment strategy to be the third strategy, and the third strategy is used to adjust the expected revenue downward; or,
[0068] If the bidding result indicates that the user node is not selected, and the bidding result of the previous round indicates that the user node is selected, the expected profit adjustment strategy is determined to be the fourth strategy, and the fourth strategy is used to maintain the expected profit of the previous round unchanged in subsequent bidding rounds.
[0069] In one embodiment, the determining module is further configured to:
[0070] Obtaining a Pareto optimal path set, wherein the Pareto optimal path set includes at least one Pareto optimal path between the user node and the server, and the Pareto optimal path set is constructed by using a multi-factor algorithm;
[0071] A communication path between the user node and the server is determined from the Pareto optimal path set.
[0072] In a fifth aspect, the present application further provides an incentive device, applied to a server, the device comprising:
[0073] A first sending module, configured to send a bidding request to each user node, wherein the bidding request includes a bidding resource requirement;
[0074] A receiving module, configured to receive bidding information sent by each user node, wherein the bidding information includes target resource data and expected revenue of the user node, wherein the target resource data and expected revenue are determined by the target node according to the bidding resource demand and the communication path between the target node and the server;
[0075] The first determination module is used to determine the bidding results of each user node based on the target resource data and expected benefits of each user node, and to feed back the bidding results to each user node respectively, wherein the bidding results are used to instruct the user node to match the expected benefit adjustment strategy according to the bidding results, and to adjust the expected benefit according to the expected benefit adjustment strategy.
[0076] In one embodiment, the device further comprises:
[0077] The second determination module is used to determine the target user node from each user node according to the target resource data and expected benefit sent by each user node in the current round if the expected benefit sent by each user node in the current round meets the convergence condition, and send the federated learning task to each target user node.
[0078] In one embodiment, the first determining module is further configured to:
[0079] Determine the server revenue corresponding to each user node according to the target resource data and expected revenue of each user node;
[0080] Determine a preset number of first user nodes from the user nodes, the server revenue corresponding to the first user nodes is greater than the server revenue corresponding to each second user node, and the second user nodes are nodes among the user nodes except the first user nodes;
[0081] The bidding result of each of the first user nodes is determined to be a first bidding result indicating that it is selected, and the bidding result of each of the second user nodes is determined to be a second bidding result indicating that it is not selected.
[0082] In one embodiment, the first determining module is further configured to:
[0083] For any of the user nodes, the target resource data of the user node is weighted and summed according to the resource factor of the server to obtain resource benefits, and the server benefits corresponding to the user node are determined according to the resource benefits and the expected benefits of the user node.
[0084] In a sixth aspect, the present application further provides a computer device, comprising a memory and a processor, wherein the memory stores a computer program, and the processor implements any of the above incentive methods when executing the computer program.
[0085] In a seventh aspect, the present application also provides a computer-readable storage medium having a computer program stored thereon, and the computer program implements any of the above-mentioned incentive methods when executed by a processor.
[0086] In an eighth aspect, the present application also provides a computer program product, including a computer program, which implements any of the above incentive methods when executed by a processor.
[0087] The above-mentioned incentive method, device, computer equipment, storage medium and computer program product, the user node receives a bid request sent by the server, the bid request includes a bid resource demand; determines the communication path between the server in response to the bid request, and determines the target resource data and expected benefits according to the bid resource demand and the communication path; sends bid information to the server according to the target resource data and expected benefits; receives the bid result for the bid information sent by the server, and matches the expected benefit adjustment strategy based on the bid result, adjusts the expected benefit according to the expected benefit adjustment strategy, and uses the adjusted expected benefit to participate in the next round of bidding process. Using the incentive method, device, computer equipment, storage medium and computer program product provided by the embodiment of the present application, in the process of federated learning based on the auction mechanism, the user node can fully consider the influence of the communication path when bidding, and in the bidding process, the expected benefit can be adaptively adjusted based on the expected benefit adjustment strategy matched by the bid result, and the next round of bidding quotation can be made. Through multiple rounds of expected benefit adjustment process, the server and user nodes can maximize their benefits in the process of federated learning, thereby effectively motivating user nodes to participate in federated learning, making full use of high-quality user nodes for federated learning training, and improving the training effect of federated learning. BRIEF DESCRIPTION OF THE DRAWINGS
[0088] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the related technologies, the drawings required for use in the embodiments or the related technical descriptions are briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0089] Figure 1 A diagram of an application environment of an incentive method in an embodiment;
[0090] Figure 2 is a flow chart of an excitation method in an embodiment;
[0091] Figure 3 is a flow chart of step 204 in one embodiment;
[0092] Figure 4 is a schematic diagram of an excitation method in one embodiment;
[0093] Figure 5 is a flow chart of step 204 in one embodiment;
[0094] Figure 6 A schematic diagram of constructing a Pareto optimal path set in one embodiment;
[0095] Figure 7is a flow chart of an excitation method in another embodiment;
[0096] Figure 8 is a flow chart of step 706 in one embodiment;
[0097] Fig. 9 is a schematic diagram of an excitation method in one embodiment;
[0098] Fig.10 A schematic diagram of the effect of an excitation method in an embodiment;
[0099] Fig.11 A schematic diagram of the effect of an excitation method in an embodiment;
[0100] Fig.12 is a structural block diagram of an excitation device in one embodiment;
[0101] Fig.13 is a structural block diagram of an excitation device in another embodiment;
[0102] Fig.14 FIG. 4 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION
[0103] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0104] The incentive method provided in the embodiment of the present application can be applied to Figure 1In the application environment shown. Among them, the user node 102 communicates with the server 104 through the network. The data storage system can store the data that the server 104 needs to process. The data storage system can be integrated on the server 104, or it can be placed on the cloud or other network servers. The server 104 sends a bidding request to each user node 102 in the current bidding round. The user node 102 can determine the target resource data (the resources that can be provided, such as the amount of local data, the calculation loss of the user node, the delay and bandwidth of the communication path, the communication loss, etc.) and the expected benefit (the expected return obtained from the server 104) based on the communication path and bidding resource requirements with the server 104, and send the bidding information to the server based on the target resource data and the expected benefit. Based on the target resource data and expected benefit sent by each user node 102, the server 104 selects nodes from the target node 102 based on the goal of maximizing benefits, and feedbacks the bidding results of the current bidding round (whether it is selected) to each user node 102. Each user node 102 can adjust the expected benefit based on the bidding results and the goal of maximizing benefits and continue to participate in the next round of bidding process. When the server 104 determines that the expected benefits sent by each user node 102 have reached a stable state, it can determine the target user node that will eventually participate in the federated learning training and send the federated learning task to the target user node. Each target user node starts the federated learning task, that is, performs local training and uploads the updated model to the server 104. The server 104 then aggregates the local model and obtains a new global model. This process is iterated until convergence or the model accuracy reaches a threshold.
[0105] The user node 102 may be, but is not limited to, various personal computers, laptops, smart phones, tablet computers, IoT devices, and portable wearable devices. The IoT devices may be smart speakers, smart TVs, smart air conditioners, smart car-mounted devices, etc. The portable wearable devices may be smart watches, smart bracelets, head-mounted devices, etc. The server 104 may be implemented as an independent server or a server cluster consisting of multiple servers.
[0106] In an exemplary embodiment, Figure 2 As shown, a method of stimulation is provided, which is applied to Figure 1 Taking the user node 102 in the example as an example, the method includes the following steps 202 to 208. Among them:
[0107] Step 202: receiving a bidding request sent by a server, wherein the bidding request includes bidding resource requirements.
[0108] The embodiment of the present application does not specifically limit the model trained by the federated learning task. The following only illustrates the embodiment of the present application using the federated learning task of training an image recognition model.
[0109] In an embodiment of the present application, the server can first determine the bidding resource requirements based on the federated learning task (for example, resource data that needs to be provided by the user node, including local data volume, computing loss of the user node, delay and bandwidth of the communication path, communication loss and other resource data), and then issue a bidding request to each user node in the current network topology according to the bidding resource requirements.
[0110] Step 204, determining a communication path with the server in response to the bidding request, and determining target resource data and expected revenue according to the bidding resource requirements and the communication path.
[0111] In an embodiment of the present application, after receiving a bid request sent by a server, a user node can determine the communication path between the user node and the server, and determine the target resource data and expected benefits based on the communication path and the bid resource requirements. Exemplarily, the bid resource requirements include communication resource requirements and local resource requirements, that is, the target resource data may include communication resource data and local resource data. The user node can determine the communication resource data based on the communication path, and determine the local resource data based on information such as the amount of local data of the user node, and determine the expected return (that is, the expected benefit) by providing the communication resource data and local resource data to the server.
[0112] For example, an SDN (Software-Defined Networking) controller can calculate the communication path or communication path set between the user node and the server based on the current network topology, and send the communication path or communication path set to the user node. That is, the user node can directly obtain the communication path between the user node and the server from the SDN controller, or determine the communication path between the user node and the server from the communication path set sent by the SDN controller.
[0113] In an exemplary embodiment, referring to Figure 3 As shown, in step 204, determining the target resource data and expected benefits according to the bidding resource requirements and the communication path may include the following steps 302 to 304, wherein:
[0114] In step 302, communication resource data corresponding to the communication resource demand is determined based on the communication path, and local resource data is determined according to the local resource demand;
[0115] In step 304, the user node loss is determined based on the communication resource data and the local resource data, and the expected benefit of the user node is determined through the user node loss.
[0116] In an embodiment of the present application, the communication resource data may include at least one of delay, bandwidth, and communication loss. The communication resource data can be determined when the communication path is determined. When the SDN controller determines the communication path or a set of communication paths between the user node and the server, it can simultaneously calculate the delay, bandwidth, and communication loss corresponding to the communication path, and when sending the communication path or a set of communication paths to the user node, the delay, bandwidth, and communication loss corresponding to the communication path are also sent to the user node. When the communication resource requirement indicates that the user node needs to report the delay, bandwidth, and communication loss for this bid, the user node can obtain the delay, bandwidth, and communication loss corresponding to the communication path as communication resource data, and report it to the server to participate in the bid.
[0117] The local resource data may include at least one of the local data volume and the computing loss of the user node. Exemplarily, when the local resource demand indicates that the user node needs to report the local data volume and the computing loss of the user node, the user node can report the current local resource data volume and computing loss obtained from local statistics based on the local resource demand to the server to participate in the bidding.
[0118] After determining the communication resource data and the local resource data, the user node loss caused by the user node providing these communication resource data and the local resource data during the federated learning process can be calculated based on the communication resource data and the local resource data. And the expected benefit of the user node can be determined based on the user node loss. Exemplarily, in the initial bidding round, the expected benefit of the user node can be the user node loss, or the user node loss can be adjusted up or down according to a preset ratio or preset range to obtain the expected benefit of the user node.
[0119] In an exemplary embodiment, determining the user node loss based on the communication resource data and the local resource data may include: performing weighted sum processing on the communication resource data and the local resource data according to the resource factor of the user node to obtain the user node loss.
[0120] In the embodiment of the present application, each communication resource data and local resource data has a preset resource factor on the user node side. The communication resource data and local resource data are weighted and summed according to the resource factor of the user node to obtain the user node loss. The specific process is shown in formula (1):
[0121] c(·)=α c1 s1+…+α cs s5 formula (I)
[0122] Among them, s1...s5 represent delay, bandwidth, communication loss, local data volume, and user node computing loss, respectively, and α c1 ...αc5 They represent the resource factor of delay in the user node, the resource factor of bandwidth, the resource factor of communication loss, the resource factor of local data volume, and the resource factor of computational loss of the user node, respectively. c(·) is used to represent the user node loss.
[0123] In an exemplary embodiment, the bidding resource requirements include resource constraints, and determining the user node loss based on the communication resource data and the local resource data may include:
[0124] Determine whether the communication resource data and the local resource data meet the resource constraint condition; when the communication resource data and the local resource data meet the resource constraint condition, determine the user node loss according to the communication resource data and the local resource data.
[0125] In the disclosed embodiment, after receiving the bidding request sent by the server, the user node may carry resource constraints in the bidding request, that is, the resource conditions required by the server to participate in the federated learning training, such as the maximum acceptable delay, minimum bandwidth, minimum value of the user's local data volume, etc. Only when the communication resource data and local resource data of the user node meet the resource constraints, the bidding process for participating in the federated learning is determined, and the user node loss is determined based on the communication resource data and local resource data, so as to screen high-quality user nodes for federated learning training and improve the federated learning training results.
[0126] Step 206: Send bidding information to the server according to the target resource data and expected revenue.
[0127] In the embodiment of the present application, after the user node determines the target resource data and expected revenue that can be provided, the bidding information can be sent to the server, and the bidding information can include the target resource data and expected revenue. After receiving the bidding information sent by each user node, the server can determine the server revenue based on the target resource data and expected revenue provided by each user node, select the user node from each user node based on the optimization goal of maximizing the revenue, and determine the bidding result of each target node in the current bidding round according to the selection result, for example, the bidding result can include being selected or not selected, and feedback the bidding result to each user node.
[0128] Step 208, receiving the bidding results for the bidding information sent by the server, matching the expected revenue adjustment strategy based on the bidding results, adjusting the expected revenue according to the expected revenue adjustment strategy, and using the adjusted expected revenue to participate in the next round of bidding process.
[0129] In an embodiment of the present application, the user node can receive the bidding results sent by the server, and match the expected profit adjustment strategy based on the bidding results with the goal of maximizing the profit. The expected profit adjustment strategy is a strategy for adjusting the expected profit, which may include a strategy for increasing the expected profit, a strategy for decreasing the expected profit, a strategy for maintaining the current expected profit unchanged, etc. Exemplarily, when the bidding result is selected, the expected profit adjustment strategy matched to the user node with the goal of maximizing the profit should be a strategy for increasing the expected profit, so that the profit of the user node is as large as possible; or when the bidding result is not selected, the expected profit adjustment strategy matched to the user node with the goal of maximizing the profit should be a strategy for decreasing the expected profit, so that the user node can obtain the maximum profit as much as possible on the basis of a successful bid.
[0130] After matching the expected profit adjustment strategy, the expected profit of the current bidding round can be adjusted based on the expected profit adjustment strategy, and the adjusted expected profit can be used to participate in the next bidding process.
[0131] In an exemplary embodiment, adjusting the expected revenue according to the expected revenue adjustment strategy and using the adjusted expected revenue to participate in the next round of bidding process may include:
[0132] After adjusting the expected revenue according to the expected revenue adjustment strategy, jump to the step of sending bidding information to the server according to the target resource data and the expected revenue until receiving the federated learning task or bidding end information sent by the server.
[0133] In an embodiment of the present application, after the expected revenue is adjusted, bidding information can be sent to the server in the next bidding round based on the target resource data and the adjusted expected revenue, and the process of the aforementioned steps 106 to 108 is iterated repeatedly until the expected revenue in the bidding information sent by each target node is in a stable state, that is, the expected revenue reported by the target node no longer changes. The server believes that each user node has no motivation to change the expected revenue, and therefore can select the target user node that ultimately participates in the federated learning training from each user node, and send the federated learning task to each target user node, and send the bidding end information to other unselected user nodes.
[0134] When the user node receives the federated learning task sent by the server, the federated learning training process can be carried out; or, when the user node receives the bidding end information sent by the server, the bidding process of this federated learning is ended.
[0135] The incentive method provided by the embodiment of the present application, the user node receives a bid request sent by the server, the bid request includes a bid resource demand; determines the communication path between the server in response to the bid request, and determines the target resource data and expected benefits according to the bid resource demand and the communication path; sends bid information to the server according to the target resource data and expected benefits; receives the bid result for the bid information sent by the server, and matches the expected benefit adjustment strategy based on the bid result, adjusts the expected benefit according to the expected benefit adjustment strategy, and uses the adjusted expected benefit to participate in the next round of bidding process. Using the incentive method provided by the embodiment of the present application, in the process of federated learning based on the auction mechanism, the user node can fully consider the influence of the communication path when bidding, and in the bidding process, the expected benefit can be adaptively adjusted based on the expected benefit adjustment strategy matched by the bid result, and the next round of bidding quotation can be made. Through multiple rounds of expected benefit adjustment process, the server and user nodes can maximize their benefits in the process of federated learning, thereby effectively motivating user nodes to participate in federated learning, making full use of high-quality user nodes for federated learning training, and improving the training effect of federated learning.
[0136] In an exemplary embodiment, adjusting the expected revenue strategy based on the bidding result matching may include:
[0137] If the bidding result indicates that the user node is selected, and the bidding result of the previous round indicates that the user node is selected, then the expected profit adjustment strategy is determined to be the first strategy, and the first strategy is used to increase the expected profit; or,
[0138] If the bidding result indicates that the user node is selected, and the bidding result of the previous round indicates that the user node is not selected, then the expected profit adjustment strategy is determined to be the second strategy, and the second strategy is used to maintain the expected profit unchanged in subsequent bidding rounds; or,
[0139] If the bidding result indicates that the user node is not selected, and the bidding result of the previous round indicates that the user node is not selected, then the expected profit adjustment strategy is determined to be the third strategy, and the third strategy is used to adjust the expected profit downward; or,
[0140] If the bidding result indicates that the user node is not selected, and the bidding result of the previous round indicates that the user node is selected, the expected profit adjustment strategy is determined to be the fourth strategy, and the fourth strategy is used to maintain the expected profit of the previous round unchanged in subsequent bidding rounds.
[0141] In the embodiments of the present application, if a user node is selected in a previous bidding process, it may increase its expected revenue to obtain greater benefits. Conversely, if a user node is not selected in the previous bidding process, it may reduce its expected revenue to win the bid. The above process will converge until no user node changes its expected revenue, that is, each user node is in a stable state. The stable state is as described in Theorem 1: Users are sorted in descending order according to the difference between the resource revenue of the server (the revenue obtained by using the target resource data provided by the user node, U(x), where x represents the user node) and the user node loss of the user node (denoted as C(x)). The optimal bid (expected revenue) of the first X user nodes is the difference between the expected revenue of user node x and U(x + 1) - C(x + 1), while the optimal bids of other user nodes are the same as their user node losses.
[0142] The above Theorem 1 can be proved by contradiction. Assume that the state of Theorem 1 is unstable. Then it means that there is a user node (user node 1) that is not among the first X user nodes but is selected by the server, and there is a user node (user node 4) that is among the first X users but is not selected. Assume that the resource revenues of these two user nodes are U1 and U4 respectively, and the resource revenues of the Xth and (X + 1)th user nodes (user nodes 3 and user nodes 4) are U2 and U3 respectively. The losses of these user nodes correspond to C1, C2, C3, C4 respectively. The bids of these two user nodes are P1 and P4 respectively, and the bids of the Xth and (X + 1)th user nodes are P2 and P3 respectively. Then we can get:
[0143] U1 - c1 > U2 - c2 > U3 - c3 > U4 - c4
[0144] p2 = U2 - U3 + c3
[0145] p3 = c3
[0146] U1 - p1 < U4 - p4
[0147] Then user node 1 has the incentive to reduce its bid to satisfy U1 - P1 > U4 - P4 in the next communication round. User node 4 also has the incentive to reduce its bid until P4 = C4. When P4 = C4, user node 1 can set P1 < U1 - U4 + C4 to satisfy U1 - P1 > U4 - P4. Then the server has no incentive to select user node 4. User node 1 can further increase its bid until P1 = U1 - U3 + C3 to increase its revenue and be selected by the server. In this case, no user node has the incentive to change its bid. However, this contradicts the assumption of a stable state in Theorem 1. Therefore, the state in Theorem 1 is stable.
[0148] Theorem 1 shows that under complete information conditions, bidding will eventually converge, and the first X user nodes will eventually bid with a fixed expected return. However, the complete information state does not always exist in reality. In the incomplete information scenario, user nodes do not know the bids (expected returns) and final returns of other user nodes. User nodes cannot directly obtain their optimal bids, and user nodes need to adjust their bids based on the results of the previous round of bidding. Therefore, an expected return adjustment strategy can be designed based on the goal of maximizing returns to adjust the bids of user nodes. Figure 4 As shown, in the initial round, each user node initializes its bid as its cost (that is, the user node loss). The server then selects the user node based on the user node's bid in the current bidding round. For user nodes selected in this round, the user nodes can increase their expected benefits in the next round with a fixed step size until they are not selected. If the user node was selected in the previous round but not selected in this round, the user node should select the expected benefit of the previous round as its expected benefit in the next round, and do not change its expected benefit in the next few rounds. This bidding process ends when no user node changes its expected benefit.
[0149] That is, during the bidding process, the user node can adjust the expected benefit based on the principle of maximizing benefit. When the received bidding result indicates that the user node is selected, and the bidding result of the previous round indicates that the user node is also selected, the expected benefit adjustment strategy can be determined as the first strategy, and the first strategy is used to increase the expected benefit until the user node is not selected, so as to maximize the benefit of the user node. When the bidding result received by the user node indicates that the user node is not selected, and the bidding result of the previous round indicates that the user node is selected, it indicates that the maximum expected benefit of the current user node is the expected benefit determined in the previous round, and the expected benefit adjustment strategy can be determined as the fourth strategy, and the fourth strategy is used to make the user node maintain the expected benefit of the previous round unchanged in subsequent bidding rounds.
[0150] When the bid result received indicates that the user node is not selected, and the bid result of the previous round indicates that the user node is not selected, then the expected benefit adjustment strategy can be determined as the third strategy, and the third strategy is used to adjust the expected benefit downward until the user node is selected, so as to maximize the benefit of the user node. When the bid result received by the user node indicates that the user node is selected, and the bid result of the previous round indicates that the user node is not selected, it indicates that the maximum expected benefit of the current user node is the expected benefit determined in the current round, then the expected benefit adjustment strategy can be determined as the second strategy, and the second strategy is used to make the user node maintain the expected benefit of the current round unchanged in subsequent bidding rounds.
[0151] The user node adjusts the expected return according to the above expected return adjustment strategy until no user node changes the expected return according to the expected return adjustment strategy. Figure 4 The process shown is distributed for user nodes and does not need to know the decisions of other user nodes. The process has linear complexity and is scalable in the number of users and bidding parameters, thus showing that it can be applied in practical scenarios.
[0152] In an exemplary embodiment, referring to Figure 5 As shown, in step 204, determining the communication path with the server in response to the bid request may include:
[0153] Step 502, obtaining a Pareto optimal path set, wherein the Pareto optimal path set includes at least one Pareto optimal path between a user node and a server, and the Pareto optimal path set is constructed by using a multi-factor algorithm;
[0154] Step 504: determine the communication path between the user node and the server from the Pareto optimal path set.
[0155] In an embodiment of the present application, the path selection process can be modeled based on a multi-factor algorithm. During the communication process between the server and the user node, there is a controller, usually an SDN controller. This controller is designed to collect topology information, including latency, bandwidth, and loss. The controller calculates a set of Pareto optimal paths for each user to establish a connection with the server. The topology can be represented as G(V,E), where E is a set of connections, V represents a set of nodes, each connection e(i,j)∈E, i,j∈V, and each connection has m standard factors, represented as w(i,j)=(w1,w2,…,wm). In the topology, K users and a server are located at a specific node. The server is represented as Vs and the user is represented as Vc. When a user at node Vc (referred to as the user node for short) selects a path p to reach the server at node Vs, there may be multiple paths. A path is composed of a series of nodes connected by edges, which can be represented as etc. are all intermediate nodes between nodes Vc and Vs in path p.
[0156] By evaluating the standard factors of all edges in the path, we can obtain the path standard vector w(p) = {w1(p), w2(p), ..., w m (p)}. There are two main types of standards, one is the additive standard and the other is the bottleneck standard. In the additive standard, w(p) represents the sum of the standard factors of all edges, and in the bottleneck standard, w(p) represents the minimum value of the standard factors of all edges. In this way, the standard vector of the path can be obtained based on multiple standard factors, and the Pareto optimal path set can be constructed based on the standard vector of the path.
[0157] Advantage occurs when one path is superior to another on at least one criterion. This can be expressed by using the symbol ≥ to indicate that the left side is superior to or at least equal to the right side. Advantage can then be expressed as: If path p is superior to path q, then this means that w i (p)≥w i (q), and the inequality holds at least once, where w i () represents the i-th standard vector in the standard vector corresponding to the path.
[0158] In order to calculate the optimal path, Figure 6 The algorithm shown in the embodiment of the present application can use the ParetoBSF (Pareto Optimality Best So Far) algorithm, which expands the path using the BFS (BestSo Far) method and uses the Pareto optimization condition in early pruning. The algorithm constructs a path queue to store intermediate paths, constructs a Pareto optimal path set for each node, and temporarily stores the Pareto optimal path from the source node to the corresponding node. Given a source node Vc and a destination node Vs, the algorithm finds the connecting node starting from Vc, then expands the path by adding corresponding links, and adds these paths to the path queue.
[0159] In the case of multiple nodes connected, the algorithm expands to multiple paths. Then, a path can be taken from the path queue, the connected nodes can be explored, and the path can be further expanded, pushing the new path into the queue. By continuously adding and removing paths from the queue, the algorithm will expand the path from Vc to Vs.
[0160] It should be noted that before adding the extended path to the path queue, it is necessary to check whether the path forms a loop or is dominated by any other path in the Pareto optimal path set temporarily explored by the specific node (since the Pareto optimal path is a path that is not dominated by other paths, if the current path is dominated by other paths, it is considered to be dominated by other paths). Because circular paths are not allowed and extending suboptimal paths does not lead to optimality, if any of the conditions is met, the path is directly discarded, otherwise, the path will be added and the Pareto optimal path set of the node will be updated. The pathfinding process ends when the path queue becomes empty, and the Pareto optimal path set stored on Vs represents the optimal path from Vc to Vs.
[0161] The SDN controller can send the calculated Pareto optimal path set to the user node. The user node can find a path that meets the resource constraints from the Pareto optimal path set to the server. For example, the resource constraints include the maximum acceptable delay and the minimum acceptable bandwidth. Then, the optimal path with a delay less than or equal to the maximum delay and a bandwidth greater than or equal to the minimum bandwidth can be screened from the Pareto optimal path set. Finally, the user node loss is calculated based on the three parameters of path delay, bandwidth and communication loss, and the optimal path with the lowest cost is selected as the communication path based on the calculated loss.
[0162] That is, in the embodiment of the present application, each user node needs to consider multiple conditions to select the optimal communication path to connect to the server. For user node i, user node i selects the optimal path that meets resource constraints and has the lowest cost in the Pareto optimal path set as the communication path between the server. Then the user node can determine the bidding information based on the communication path and send it to the server. The server selects the user node based on the bidding information of each user node, and announces the selection result to enter the next round of bidding. The user node adjusts the bidding information according to the expected profit adjustment strategy matching the bidding result until no user node changes the bidding information.
[0163] In an exemplary embodiment, Figure 7 As shown, a method of stimulation is provided, which is applied to Figure 1 The server 104 in the example is used as an example to illustrate, including the following steps 702 to 706. Among them:
[0164] Step 702: Send a bidding request to each user node, where the bidding request includes bidding resource requirements.
[0165] In an embodiment of the present application, the server can first determine the bidding resource requirements based on the federated learning task (for example, resource data that needs to be provided by the user node, including local data volume, computing loss of the user node, delay and bandwidth of the communication path, communication loss and other resource data), and then issue a bidding request to each user node in the current network topology according to the bidding resource requirements.
[0166] Step 704, receiving the bidding information sent by each user node, the bidding information includes the target resource data and expected benefits of the user node, the target resource data and expected benefits are determined by the target node according to the bidding resource demand and the communication path between the target node and the server.
[0167] In an embodiment of the present application, after each user node receives a bid request, it can determine the communication path between the server and the bid request, and then determine the target resource data and expected benefits based on the bid resource requirements and the communication path, and send the bid information to the server based on the target resource data and the expected benefits (the specific process can be referred to the relevant description of the aforementioned embodiment, which will not be repeated here in the embodiment of the present application).
[0168] Step 706, determine the bidding result of each user node according to the target resource data and expected benefit of each user node, and feed back the bidding result to each user node respectively. The bidding result is used to instruct the user node to match the expected benefit adjustment strategy according to the bidding result, and adjust the expected benefit according to the expected benefit adjustment strategy.
[0169] After receiving the bidding information of each user node, the server can determine the server revenue for each user node (the difference between the revenue brought by the target resource data and the expected revenue of the user node) based on the target resource data provided by each user node, and select a preset number of user nodes based on the principle of maximizing revenue, and determine the bidding result of each user node based on the selection result of this round, for example: the bidding result of the user node selected in this round is selected, and the bidding result of the user node not selected is not selected.
[0170] In an exemplary embodiment, referring to Figure 8 As shown, in step 706, determining the bidding result of each user node according to the target resource data and expected income of each user node may include the following steps 802 to 806, wherein:
[0171] Step 802: Determine the server revenue corresponding to each user node according to the target resource data and expected revenue of each user node.
[0172] In the embodiment of the present application, the server can determine the benefits that the server can obtain based on the target resource data, and then use the difference between the benefits and the expected benefits of the user node as the server benefits. Similarly, for any user node, the server can determine the server benefits for the user node.
[0173] In an exemplary embodiment, determining the server revenue corresponding to each user node according to the target resource data and expected revenue of each user node may include:
[0174] For any user node, the target resource data of the user node is weighted and summed according to the resource factor of the server to obtain the resource benefit, and the server benefit corresponding to the user node is determined based on the resource benefit and the expected benefit of the user node.
[0175] In the embodiment of the present application, the target resource data includes communication resource data and local resource data, the communication resource may include at least one of delay, bandwidth, and communication loss, and the local resource data may include at least one of local data volume and computing loss of the user node. Each communication resource data and local resource data has a preset resource factor on the server side. The resource benefit for the user node can be obtained by weighted summing each communication resource data and local resource data according to the resource factor on the server side. The specific process is shown in formula (II):
[0176] U(·)=α s1 s1+…+α s5 s5 formula (2)
[0177] Among them, s1...s5 represent delay, bandwidth, communication loss, local data volume, and user node computing loss, respectively, and α s1 ...α s5 They represent the resource factor of server delay, bandwidth, communication loss, local data volume, and user node computational loss, respectively. U(·) is used to represent the resource benefit of the server for the user node.
[0178] After the resource benefit for the user node is determined, the difference between the resource benefit and the expected benefit of the user node may be used as the server benefit of the server for the user node.
[0179] Step 804: determine a preset number of first user nodes from the user nodes, the server revenue corresponding to the first user nodes is greater than the server revenue corresponding to each second user node, and the second user nodes are nodes other than the first user nodes among the user nodes.
[0180] Step 806: determine the bidding result of each first user node to be a first bidding result indicating being selected, and determine the bidding result of each second user node to be a second bidding result indicating being unselected.
[0181] In the embodiment of the present application, the preset number may be the number of nodes that are pre-set to participate in the federated learning training. Based on the principle of maximizing revenue, the server may determine the preset number of user nodes with the highest server revenue as the first user node, and send a first bidding result to each first user node, the first bidding result indicating that the first user node is selected in the current round. Each user node except the first user node is regarded as a second user node, and a second bidding result is sent to each second user node, the second bidding result indicating that the second user node is not selected in the current round.
[0182] Then, the user node that receives the first bidding result determines whether to increase the expected return or maintain the current expected return based on the bidding results of the previous round. The user node that receives the second bidding result determines whether to decrease the expected return or maintain the current expected return based on the bidding results of the previous round, until the expected returns reported by each user node tend to be stable, that is, they no longer change or the changes are small. When they are within the preset change range, the target user node participating in the federated learning task can be determined from each user node, and the bidding process ends.
[0183] In an exemplary embodiment, the above method may further include:
[0184] If the expected benefits sent by each user node in the current round meet the convergence conditions, the target user node is determined from each user node according to the target resource data and expected benefits sent by each user node in the current round, and the federated learning task is sent to each target user node.
[0185] In the embodiment of the present application, the server can determine whether the user node has a motivation to change the expected benefit in each bidding round, and determine that the expected benefit sent by each user node in the current round meets the convergence condition on the basis of determining that each user node has no motivation to change the expected benefit. In one embodiment, the convergence condition can include that the expected benefit sent by each user node in the current round is in a stable state.
[0186] The expected benefits being in a stable state may include that the expected benefits sent by each user node in the current round no longer change or the change range is within a preset range. That is, when each user node has determined the maximum expected benefits that it can participate in the bidding by increasing or decreasing the benefits, the server can determine the target user node from each user node based on the expected benefits reported by each user node, send the federated learning task to each target user node, and send the bidding end information to other user nodes.
[0187] In the embodiment of the present application, the server can send a bid request including a bid resource demand to each user node, and receive bid information sent by each user node in response to the bid request, wherein the bid information includes the target resource data and expected benefits of the user node, and the target resource data and expected benefits are determined by the target node according to the bid resource demand and the communication path between the server. The server can determine the bid results of each user node according to the target resource data and expected benefits of each user node, and feedback the bid results to each user node respectively, and the bid results are used to indicate that the user node matches the expected benefit adjustment strategy according to the bid results, and adjusts the expected benefits according to the expected benefit adjustment strategy. Using the incentive method provided by the embodiment of the present application, in the process of federated learning based on the auction mechanism, the user node can fully consider the influence of the communication path when bidding, and the expected benefit adjustment strategy can be matched based on the bid result in the bidding process. Adaptive adjustment is made to the expected benefit, and the next round of bidding quotation is carried out. Through multiple rounds of expected benefit adjustment processes, the server and user nodes can maximize their benefits in the process of federated learning, thereby effectively motivating user nodes to participate in federated learning, making full use of high-quality user nodes for federated learning training, and improving the training effect of federated learning.
[0188] In an exemplary embodiment, referring to Figure 1 As shown, an incentive system is provided, which may include: a server 104 and a plurality of user nodes 102, wherein:
[0189] The server 104 is used to send a bidding request to each user node 102, wherein the bidding request includes a bidding resource requirement;
[0190] The user node 102 is used to determine a communication path with the server in response to the bidding request, determine target resource data and expected revenue according to the bidding resource requirement information and the communication path, and send bidding information to the server 104 according to the target resource data and expected revenue;
[0191] The server 104 is further configured to determine the bidding result corresponding to each user node 102 based on the bidding information sent by each user node 102, and send the bidding result to each user node 102;
[0192] The user node 102 is further used to determine an expected revenue adjustment strategy according to the bidding result, adjust the expected revenue according to the expected revenue adjustment strategy, and use the adjusted expected revenue to participate in the next round of bidding process.
[0193] In the present application, refer to Fig. 9As shown, when the server 104 needs to perform federated learning training, it can send a corresponding bid request to the user node 102. Each user node 102 can determine the target resource data and expected benefits provided by itself in the bid based on the bid request, and send the corresponding bid information to the server 104 (the specific process can refer to the relevant description of the aforementioned embodiment, which will not be repeated in the embodiment of this application). The server 104 can select the acquired users from each user node 102 to form a user set based on the bid information sent by each user node 102 (this process involves multiple rounds of bidding processes, and the specific process can refer to the relevant description of the aforementioned embodiment, which will not be repeated in the embodiment of this application), and send a federated learning task to each user node in the user set, including the current global model, such as an image recognition model. Each user node that receives the federated learning task can perform local training on the global model and upload the updated local model. The server aggregates the local models uploaded by each user node, ends the federated learning training, and sends the corresponding expected benefits to each user node. When the global model obtained after aggregation meets the training conditions (for example, the accuracy is greater than the accuracy threshold or the communication round reaches the maximum communication round), the federated learning training is terminated, otherwise the next round of federated learning training process is continued.
[0194] By adopting the incentive system provided in the embodiment of the present application, the server and user nodes can maximize their profits in the federated learning process, thereby effectively incentivizing user nodes to participate in federated learning and making full use of high-quality user nodes for federated learning training, which can improve the training effect of federated learning.
[0195] In order to enable those skilled in the art to better understand the embodiments of the present application, the embodiments of the present application are described below through specific examples.
[0196] In the embodiment of the present application, the federated learning process needs to be modeled first. Federated learning includes a training process and a model update process. In the training process, consider an enterprise as a central server, initiate a federated learning process and select devices with data from a device set K as user nodes to train a model ω. Each user i∈K has a local data set and the local data set has ni data samples. The server selects a user subset To train the model. The goal of training is to obtain the optimal global model parameter ω to minimize the global loss function
[0197] Here F i(ω) is the local loss function of user node i. The federated learning process includes multiple rounds of communication during the training process. In each round of communication, the server sends the global model ω to the selected user node. Each selected user node uses stochastic gradient descent to perform multi-step local model training and obtain ωi. Then each selected user node uploads the local model to the server, and the server aggregates the local model as follows:
[0198] The process between the server and the user iterates until a termination condition is met. During the local model training process, the user updates the local model by stochastic gradient descent with a learning rate η: .
[0199] After modeling federated learning, it is necessary to model the bidding mechanism. The bidding mechanism is an effective tool for selecting high-quality user nodes. Figure 1 As shown in Figure 1, in the bidding process, the server and user node play the roles of auctioneer and bidder respectively, and the bidder responds to the auctioneer with resources and expected returns. The characteristic of bidding is that it allows users to report their multi-dimensional types. In order to select high-quality user nodes to participate in federated learning, the server and user nodes conduct a bidding process. The server first publishes a bidding request to the user node. The server has a scoring function S(s i1 ,…,s in , p i )=U(s i1 ,…,s in )-p i To evaluate the selected user node, where s = {s1, ...s n} is the resource vector (i.e., the target resource data), and p is the expected benefit of the user node's expected resource provision. The provided resources include local data volume, computing consumption, communication delay, communication bandwidth, communication loss, etc. The score function is a quasi-linear function S(s i1 ,…,s in , p i )=U(s i1 ,…,s in )-p i . Where, the subscript i = 1, 2, ..., K is the index of the user node, and the function U(·) is the revenue function of the server.
[0200] When a user node receives a bidding request, it will decide whether to join the bidding and how much expected profit it wants if it joins. Each user node has a private loss function c i (s1,…,s n ), user nodes aim to maximize their own benefit function P i (s1,…,s n , pi )=p i -c i (s1,…,s n ). Only when the user node’s revenue is not less than 0, the user node will be willing to participate in federated learning training.
[0201] After the user has finished bidding, the server will terminate the bidding collection process, and then the server will determine the winning set X of the bidding according to the scoring function and select these users for federated learning training. The total revenue of the server is Here i ={s i1 ,…,s in} is the resource vector of user node i.
[0202] After the server determines the winner, it will conduct a federated learning process with the selected user node. The federated learning process will be repeated for M communication rounds. In round t, the server first sends the global model ω(t-1) aggregated in the previous round t-1 to the selected user. Then each user updates the local model based on the local data set using stochastic gradient descent, and then sends the updated local model ω(t-1) to the selected user. i (t) is sent to the server, and finally the server aggregates the global model in round t
[0203] Finally, it is necessary to model the multi-factor algorithm routing process. During the communication process between the server and the user, there is a controller, usually an SDN controller. This controller is designed to collect topology information, including latency, bandwidth, and loss. The controller calculates the Pareto optimal path set for each user to establish a connection with the server. After calculating the Pareto optimal path set from the user node to the server, the controller will pass this information to the user node. The user node can directly use these calculated paths or make choices based on specific requirements to optimize their communication paths.
[0204] From the above information, we can see that both the user and the server have an optimization problem. For the user, the optimization problem is how to determine their optimal bid. Each user node i first calculates its own Pareto optimal path set, and each path corresponds to a specific delay s i1 , bandwidth s i2 , communication loss s i3 The local data volume of the user node is s i4 , the computational loss of the user node is s i5The decision variable of the user node is the expected benefit of the user node. According to the loss function of the user node and the resource constraints carried in the bid request, each user node will choose its own optimal communication path and determine the expected benefit to maximize its expected benefit function: Here is the maximum delay that the communication can tolerate, is the minimum bandwidth required by the communication transfer model, is the minimum amount of local training data required by the server. The loss function can be set to completely replace the utility function: c(·) = α c1 s1+…+α c5 s5. Here α c1 , …, α c5 is the resource factor corresponding to the user loss function. This optimization problem can be divided into two steps. First, the user considers and The constraint is to select the optimal path from the Pareto optimal path set and select the optimal path according to the delay s i1 , bandwidth s i2 , communication loss s i3 The loss caused is minimized to determine the communication path, and then the user node determines the expected profit of bidding to the server. Therefore, the profit of the user node can be expressed as:
[0205] If the user node is not selected by the server in the current communication round, the user node needs to change its expected benefit to increase its score in the server selection.
[0206] Then there is the optimization problem of the server. The bidding information submitted by the user node to the server includes latency, bandwidth, communication loss, local data volume, computing loss, and expected revenue. The server's revenue function is the difference between the revenue it obtains based on the resources provided by the user node and the expected revenue paid to the user:
[0207] The server's decision variable is the selected user set X. Therefore, the server's optimization problem is: The server's revenue function can also be set as a complete substitution utility function, that is: U(·) = α s1 s1+…+α s5 s5. Here α s1 , …, α s5 is the resource factor of the server revenue function.
[0208] The server selects the user subset with the highest score based on the scores of the user nodes. If the user node was selected in the previous round, it may increase its expected return to gain more profit. On the contrary, if the user node was not selected in the previous bidding, it may reduce its expected return to win the bidding. The above process will converge until no user node changes its bid.
[0209] In one example, the federated learning process may include the following steps S1 to S3.
[0210] S1. Based on the current device alliance partition, obtain the overall benefit value of the device.
[0211] Specifically, consider the image recognition task on the network topology Rocketfuel, which has 87 nodes and 161 edges, 175 nodes and 375 edges, and 318 nodes and 763 edges. There are K = 25, 50, and 100 users, respectively. The server selects X = 10 users to train the image recognition task. The delay is collected from the topology, and the bandwidth and communication loss are randomly generated using a uniform distribution. The federated learning process uses the classic FedAvg algorithm to train the image recognition model. The data is the raw material for subsequent analysis. User nodes are distributed on the nodes of the network topology.
[0212] S2. Based on the distribution and topological parameters of user nodes, users select the optimal bid to maximize their own interests, and the server selects the optimal user set to maximize the server's benefits;
[0213] Specifically, the goal of the user node is to maximize its own benefits, and the benefit modeling of the user node refers to the above embodiment. Each user will choose its own optimal communication path and determine the expected benefit to maximize its expected benefit function. The goal of the server is to maximize its own benefits, and the benefit modeling of the server refers to the above embodiment. The server selects the user set X to maximize its own benefit function.
[0214] Step S2 includes the following steps S21 and S22, wherein:
[0215] S21, the user node selects the optimal communication path;
[0216] Specifically, the user sets the source node and the destination node in a given topology, and calculates the Pareto optimal path set through the ParetoBFS algorithm. If the Pareto optimal path satisfies the constraints in the user's benefit function, it is added to the restricted Pareto optimal path set. For the paths in the restricted Pareto optimal path set, α is calculated according to the loss function of user node i. c1 s1+α c2 s2+α c3The value of s3 is then sorted in ascending order, and the first path is the communication path between the selected user node i and the server.
[0217] S22, selecting expected benefits based on the optimal communication path of the user node;
[0218] The user node calculates its current loss and initializes its expected return to the current loss value. Then the user node uploads the bidding information of the current round. The server selects the user set selected in the current round based on the bidding information of the user node. The user node changes the bidding information according to the selection result of the server in the previous round. This process is repeated until no user changes the bidding information.
[0219] S3. Based on the final server selection result, conduct federated learning training to obtain training results.
[0220] Specifically, federated learning is trained on the MNIST and CIFAR-10 datasets respectively. The MNIST dataset has 60,000 images and the CIFAR-10 dataset has 50,000 images. During training, half of the data is used for training, and the other half is divided into ten parts for testing.
[0221] This example is verified on the MNIST dataset and the CIFAR-10 dataset. The server and the user communicate through the network topology Rocketfuel. There are three topologies: 87 nodes and 161 edges, 175 nodes and 375 edges, and 318 nodes and 763 edges. There are K = 25, 50, and 100 users respectively. The server selects X = 10 users for model training. The federated learning process includes 200 communication rounds and the learning rate is 0.01.
[0222] The method proposed in this example is compared with four incentive mechanism methods in federated learning. The first is a baseline auction method that does not consider the routing in the communication. The server selects the user node based on the amount of local data of the user and the computing cost of the user. The second is a game-based incentive mechanism that can incentivize more customers to join FL and increase the amount of training data. The third is a contract-based incentive mechanism that selects customers by summarizing multi-dimensional parameters into one-dimensional criteria. The fourth is an incentive mechanism based on deep reinforcement learning that dynamically adjusts the server's pricing strategy and the customer's training strategy. For the training model accuracy and communication latency, the comparison with the four methods is as follows: Fig.10 As shown in the figure, the method proposed in this study can achieve higher model accuracy and lower latency. Fig.11 The convergence performance of the method proposed in this example on the MNIST and CIFAR-10 datasets under three topologies is shown. The training can usually converge quickly to a stable accuracy.
[0223] It should be understood that, although the various steps in the flowcharts involved in the above-mentioned embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps does not have a strict order restriction, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-mentioned embodiments can include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.
[0224] Based on the same inventive concept, the embodiment of the present application also provides an excitation device for implementing the excitation method involved above. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above method, so the specific limitations in one or more excitation device embodiments provided below can refer to the limitations on the excitation method above, and will not be repeated here.
[0225] In an exemplary embodiment, Fig.12 As shown, an incentive device is provided, including: a receiving module 1202, a determining module 1204, a sending module 1206 and an adjusting module 1208, wherein:
[0226] The receiving module 1202 is used to receive a bidding request sent by a server, wherein the bidding request includes a bidding resource requirement;
[0227] A determination module 1204, configured to determine a communication path with the server in response to the bidding request, and determine target resource data and expected revenue according to the bidding resource requirements and the communication path;
[0228] A sending module 1206, configured to send bidding information to the server according to the target resource data and the expected revenue;
[0229] The adjustment module 1208 is used to receive the bidding results for the bidding information sent by the server, match the expected profit adjustment strategy based on the bidding results, adjust the expected profit according to the expected profit adjustment strategy, and use the adjusted expected profit to participate in the next round of bidding process.
[0230] By adopting the incentive device provided in the embodiment of the present application, in the federated learning process based on the auction mechanism, the user node can fully consider the influence of the communication path when bidding, and can adaptively adjust the expected profit based on the expected profit adjustment strategy matching the bidding result during the bidding process, and make the next round of bidding quotations. Through multiple rounds of expected profit adjustment process, the server and user nodes can maximize their profits in the federated learning process, thereby effectively incentivizing user nodes to participate in federated learning, making full use of high-quality user nodes for federated learning training, and improving the federated learning training effect.
[0231] In one embodiment, the adjustment module 1208 is further configured to:
[0232] After adjusting the expected benefit according to the expected benefit adjustment strategy, jump to the step of sending bidding information to the server according to the target resource data and the expected benefit until receiving the federated learning task or bidding end information sent by the server.
[0233] In one embodiment, the bid resource requirement includes a communication resource requirement and a local resource requirement, and the determination module 1204 is further used to:
[0234] Determining communication resource data corresponding to the communication resource demand based on the communication path, and determining local resource data according to the local resource demand;
[0235] The user node loss is determined according to the communication resource data and the local resource data, and the expected benefit of the user node is determined through the user node loss.
[0236] In one of the embodiments, the communication resource data includes at least one of delay, bandwidth, and communication loss, and the local resource data includes at least one of local data volume and computing loss of the user node.
[0237] In one embodiment, the determining module 1204 is further configured to:
[0238] Determining whether the communication resource data and the local resource data satisfy the resource constraint condition;
[0239] When the communication resource data and the local resource data satisfy the resource constraint condition, the user node loss is determined according to the communication resource data and the local resource data.
[0240] In one embodiment, the determining module 1204 is further configured to:
[0241] According to the resource factor of the user node, the communication resource data and the local resource data are weighted and summed to obtain the user node loss.
[0242] In one embodiment, the adjustment module 1208 is further configured to:
[0243] If the bidding result indicates that the user node is selected, and the bidding result of the previous round indicates that the user node is selected, then determining that the expected revenue adjustment strategy is the first strategy, and the first strategy is used to increase the expected revenue; or,
[0244] If the bidding result indicates that the user node is selected, and the bidding result of the previous round indicates that the user node is not selected, then determining the expected revenue adjustment strategy to be the second strategy, the second strategy is used to maintain the expected revenue unchanged in subsequent bidding rounds; or,
[0245] If the bidding result indicates that the user node is not selected, and the bidding result of the previous round indicates that the user node is not selected, then determining the expected revenue adjustment strategy to be the third strategy, and the third strategy is used to adjust the expected revenue downward; or,
[0246] If the bidding result indicates that the user node is not selected, and the bidding result of the previous round indicates that the user node is selected, the expected profit adjustment strategy is determined to be the fourth strategy, and the fourth strategy is used to maintain the expected profit of the previous round unchanged in subsequent bidding rounds.
[0247] In one embodiment, the determining module 1204 is further configured to:
[0248] Obtaining a Pareto optimal path set, wherein the Pareto optimal path set includes at least one Pareto optimal path between the user node and the server, and the Pareto optimal path set is constructed by using a multi-factor algorithm;
[0249] A communication path between the user node and the server is determined from the Pareto optimal path set.
[0250] In an exemplary embodiment, Fig.13 As shown, an incentive device is provided, which is applied to a server, and the device includes: a first sending module 1302, a receiving module 1304 and a first determining module 1306, wherein:
[0251] A first sending module 1302 is used to send a bidding request to each user node, wherein the bidding request includes a bidding resource requirement;
[0252] The receiving module 1304 is used to receive the bidding information sent by each user node, wherein the bidding information includes the target resource data and expected revenue of the user node, and the target resource data and expected revenue are determined by the target node according to the bidding resource demand and the communication path between the target node and the server;
[0253] The first determination module 1306 is used to determine the bidding results of each user node based on the target resource data and expected benefits of each user node, and to feed back the bidding results to each user node respectively, wherein the bidding results are used to instruct the user node to match the expected benefit adjustment strategy according to the bidding results, and to adjust the expected benefit according to the expected benefit adjustment strategy.
[0254] By adopting the incentive device provided in the embodiment of the present application, in the federated learning process based on the auction mechanism, the user node can fully consider the influence of the communication path when bidding, and can adaptively adjust the expected profit based on the expected profit adjustment strategy matching the bidding result during the bidding process, and make the next round of bidding quotations. Through multiple rounds of expected profit adjustment process, the server and user nodes can maximize their profits in the federated learning process, thereby effectively incentivizing user nodes to participate in federated learning, making full use of high-quality user nodes for federated learning training, and improving the federated learning training effect.
[0255] In one embodiment, the device further comprises:
[0256] The second determination module is used to determine the target user node from each user node according to the target resource data and expected benefit sent by each user node in the current round if the expected benefit sent by each user node in the current round meets the convergence condition, and send the federated learning task to each target user node.
[0257] In one embodiment, the first determining module is further configured to:
[0258] Determine the server revenue corresponding to each user node according to the target resource data and expected revenue of each user node;
[0259] Determine a preset number of first user nodes from the user nodes, the server revenue corresponding to the first user nodes is greater than the server revenue corresponding to each second user node, and the second user nodes are nodes among the user nodes except the first user nodes;
[0260] The bidding result of each of the first user nodes is determined to be a first bidding result indicating that it is selected, and the bidding result of each of the second user nodes is determined to be a second bidding result indicating that it is not selected.
[0261] In one embodiment, the first determining module is further configured to:
[0262] For any of the user nodes, the target resource data of the user node is weighted and summed according to the resource factor of the server to obtain resource benefits, and the server benefits corresponding to the user node are determined according to the resource benefits and the expected benefits of the user node.
[0263] Each module in the above-mentioned incentive device can be implemented in whole or in part by software, hardware or a combination thereof. Each module can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in a computer device in the form of software, so that the processor can call and execute the operations corresponding to each module above.
[0264] In an exemplary embodiment, a computer device is provided. The computer device may be a terminal, and its internal structure diagram may be as shown in FIG. Fig.14 As shown. The computer device includes a processor, a memory, an input / output interface, a communication interface, a display unit and an input device. Among them, the processor, the memory and the input / output interface are connected through a system bus, and the communication interface, the display unit and the input device are connected to the system bus through the input / output interface. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal in a wired or wireless manner, and the wireless manner can be implemented through WIFI, a mobile cellular network, NFC (near field communication) or other technologies. When the computer program is executed by the processor, an excitation method is implemented. The display unit of the computer device is used to form a visually visible picture, which can be a display screen, a projection device or a virtual reality imaging device. The display screen can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer device can be a touch layer covering the display screen, or a button, trackball or touchpad set on the computer device shell, or an external keyboard, touchpad or mouse.
[0265] Those skilled in the art will understand that Fig.14 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0266] In an exemplary embodiment, in one embodiment, a computer device is further provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the steps in the above-mentioned method embodiments when executing the computer program.
[0267] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in the above-mentioned method embodiments are implemented.
[0268] In one embodiment, a computer program product is provided, including a computer program, which implements the steps in the above method embodiments when executed by a processor.
[0269] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant regulations.
[0270] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., but are not limited to this.
[0271] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0272] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.
Claims
1. A motivation method, characterized in that: Applied to user nodes, the methods include: Receiving a bidding request sent by a server, wherein the bidding request includes a bidding resource requirement; determining a communication path with the server in response to the bid request, and determining target resource data and expected revenue according to the bid resource requirements and the communication path; Sending bidding information to the server according to the target resource data and the expected revenue; Receive the bidding result for the bidding information sent by the server, match the expected profit adjustment strategy based on the bidding result, adjust the expected profit according to the expected profit adjustment strategy, and use the adjusted expected profit to participate in the next round of bidding process.
2. The method according to claim 1, characterized in that The step of adjusting the expected revenue according to the expected revenue adjustment strategy and using the adjusted expected revenue to participate in the next round of bidding process includes: After adjusting the expected benefit according to the expected benefit adjustment strategy, jump to the step of sending bidding information to the server according to the target resource data and the expected benefit until receiving the federated learning task or bidding end information sent by the server.
3. The method according to claim 1 or 2, characterized in that: The bidding resource requirements include communication resource requirements and local resource requirements, and determining target resource data and expected benefits according to the bidding resource requirements and the communication path includes: Determining communication resource data corresponding to the communication resource demand based on the communication path, and determining local resource data according to the local resource demand; The user node loss is determined according to the communication resource data and the local resource data, and the expected benefit of the user node is determined through the user node loss.
4. The method according to claim 3, characterized in that The communication resource data includes at least one of delay, bandwidth, and communication loss, and the local resource data includes at least one of local data volume and computing loss of the user node.
5. The method according to claim 3, characterized in that: The bidding resource requirement includes resource constraints, and determining the user node loss according to the communication resource data and the local resource data includes: Determining whether the communication resource data and the local resource data satisfy the resource constraint condition; When the communication resource data and the local resource data satisfy the resource constraint condition, the user node loss is determined according to the communication resource data and the local resource data.
6. The method according to claim 5, characterized in that The determining of the user node loss according to the communication resource data and the local resource data comprises: According to the resource factor of the user node, the communication resource data and the local resource data are weighted and summed to obtain the user node loss.
7. The method according to claim 1, characterized in that The adjusting strategy based on matching the expected revenue based on the bidding results includes: If the bidding result indicates that the user node is selected, and the bidding result of the previous round indicates that the user node is selected, then determining that the expected revenue adjustment strategy is the first strategy, and the first strategy is used to increase the expected revenue; or, If the bidding result indicates that the user node is selected, and the bidding result of the previous round indicates that the user node is not selected, then determining the expected revenue adjustment strategy to be the second strategy, the second strategy is used to maintain the expected revenue unchanged in subsequent bidding rounds; or, If the bidding result indicates that the user node is not selected, and the bidding result of the previous round indicates that the user node is not selected, then determining the expected revenue adjustment strategy to be the third strategy, and the third strategy is used to adjust the expected revenue downward; or, If the bidding result indicates that the user node is not selected, and the bidding result of the previous round indicates that the user node is selected, the expected profit adjustment strategy is determined to be the fourth strategy, and the fourth strategy is used to maintain the expected profit of the previous round unchanged in subsequent bidding rounds.
8. The method according to claim 1, characterized in that The determining a communication path with the server in response to the bid request comprises: Obtaining a Pareto optimal path set, wherein the Pareto optimal path set includes at least one Pareto optimal path between the user node and the server, and the Pareto optimal path set is constructed by using a multi-factor algorithm; A communication path between the user node and the server is determined from the Pareto optimal path set.
9. A motivation method, characterized in that: Applied to the server, the methods include: Sending a bidding request to each user node, wherein the bidding request includes a bidding resource requirement; Receiving bidding information sent by each user node, the bidding information including target resource data and expected revenue of the user node, the target resource data and expected revenue being determined by the target node according to the bidding resource demand and the communication path between the target node and the server; The bidding result of each user node is determined based on the target resource data and expected benefit of each user node, and the bidding result is fed back to each user node respectively. The bidding result is used to instruct the user node to match the expected benefit adjustment strategy according to the bidding result, and adjust the expected benefit according to the expected benefit adjustment strategy.
10. The method according to claim 9, characterized in that The method further comprises: If the expected benefits sent by each of the user nodes in the current round meet the convergence conditions, the target user node is determined from each of the user nodes according to the target resource data and expected benefits sent by each of the user nodes in the current round, and a federated learning task is sent to each of the target user nodes.
11. The method according to claim 9, characterized in that Determining the bidding result of each user node according to the target resource data and expected income of each user node includes: Determine the server revenue corresponding to each user node according to the target resource data and expected revenue of each user node; Determine a preset number of first user nodes from the user nodes, the server revenue corresponding to the first user nodes is greater than the server revenue corresponding to each second user node, and the second user nodes are nodes among the user nodes except the first user nodes; The bidding result of each of the first user nodes is determined to be a first bidding result indicating that it is selected, and the bidding result of each of the second user nodes is determined to be a second bidding result indicating that it is not selected.
12. The method according to claim 11, characterized in that Determining the server revenue corresponding to each user node according to the target resource data and expected revenue of each user node includes: For any of the user nodes, the target resource data of the user node is weighted and summed according to the resource factor of the server to obtain resource benefits, and the server benefits corresponding to the user node are determined according to the resource benefits and the expected benefits of the user node.
13. The method according to any one of claims 9 to 12, characterized in that The convergence condition includes that the expected revenue sent by each user node in the current round is in a stable state.
14. An incentive system, characterized in that: The system comprises: a server and a plurality of user nodes, wherein: The server is used to send a bidding request to each of the user nodes, wherein the bidding request includes a bidding resource requirement; The user node is used to determine a communication path with the server in response to the bidding request, determine target resource data and expected revenue according to the bidding resource demand information and the communication path, and send bidding information to the server according to the target resource data and expected revenue; The server is further configured to determine the bidding result corresponding to each user node based on the bidding information sent by each user node, and send the bidding result to each user node; The user node is further used to determine an expected revenue adjustment strategy according to the bidding result, adjust the expected revenue according to the expected revenue adjustment strategy, and use the adjusted expected revenue to participate in the next round of bidding process.
15. An excitation device, characterized in that: Applied to a user node, the device comprises: A receiving module, used for receiving a bidding request sent by a server, wherein the bidding request includes a bidding resource requirement; a determination module, configured to determine a communication path with the server in response to the bidding request, and determine target resource data and expected revenue according to the bidding resource requirements and the communication path; A sending module, used for sending bidding information to the server according to the target resource data and the expected revenue; The adjustment module is used to receive the bidding results for the bidding information sent by the server, match the expected profit adjustment strategy based on the bidding results, adjust the expected profit according to the expected profit adjustment strategy, and use the adjusted expected profit to participate in the next round of bidding process.
16. An excitation device, characterized in that: Applied to a server, the device comprises: A first sending module, configured to send a bidding request to each user node, wherein the bidding request includes a bidding resource requirement; A receiving module, configured to receive bidding information sent by each user node, wherein the bidding information includes target resource data and expected revenue of the user node, wherein the target resource data and expected revenue are determined by the target node according to the bidding resource demand and the communication path between the target node and the server; A determination module is used to determine the bidding results of each user node based on the target resource data and expected benefits of each user node, and to feed back the bidding results to each user node respectively, wherein the bidding results are used to instruct the user node to match the expected benefit adjustment strategy based on the bidding results, and to adjust the expected benefit based on the expected benefit adjustment strategy.
17. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 8 or 9 to 13 are implemented.
18. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 8 or 9 to 13 are implemented.