WO2022113175A1 - 処理方法、処理システム及び処理プログラム - Google Patents
処理方法、処理システム及び処理プログラム Download PDFInfo
- Publication number
- WO2022113175A1 WO2022113175A1 PCT/JP2020/043686 JP2020043686W WO2022113175A1 WO 2022113175 A1 WO2022113175 A1 WO 2022113175A1 JP 2020043686 W JP2020043686 W JP 2020043686W WO 2022113175 A1 WO2022113175 A1 WO 2022113175A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- inference
- learning
- dnn2
- dnn1
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/098—Distributed learning, e.g. federated learning
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y40/00—IoT characterised by the purpose of the information processing
- G16Y40/30—Control
Definitions
- the present invention relates to a processing method, a processing system and a processing program.
- resources such as the calculation amount and memory of the device used in the edge device are referred to as a device other than the edge device (hereinafter, for convenience, cloud) which is physically and logically located farther from the user than the edge device. ), It is poor. For this reason, if a process with a large computational load is performed by an edge device, it may take a large amount of time to complete the process, or it may take a long time to complete other processes that do not have a large computational load. There is.
- Non-Patent Document 1 proposes application of so-called adaptive learning to the edge cloud. That is, in the method described in Non-Patent Document 1, a trained model trained using general-purpose training data in the cloud is expanded on an edge device, and learning is performed in the cloud using the data acquired by the edge device. By re-learning the model for which the above was performed, the operation that takes advantage of the cloud and the edge device is realized.
- the system administrator checks all the data acquired during operation, and which data is used and when to relearn the model for each model. It was necessary to perform a complicated process of determining the above and arranging the re-learning process of the model.
- the present invention has been made in view of the above, and is a processing method, processing system and processing capable of appropriately retraining a model placed on an edge and a cloud and maintaining the accuracy of the model.
- the purpose is to provide a program.
- the processing method according to the present invention is a processing method executed by a processing system that performs the first inference in the edge device and the second inference in the server device. Whether or not the tendency of the target data group to be inferred has changed in at least one of the edge device and the server device based on the fluctuation of the load or the decrease in the inference accuracy in at least one of the edge device and the server device. At least one of the first model for making the first inference and the second model for making the second inference when it is determined in the determination step that the tendency of the target data group has changed in the determination step. It is characterized by having a re-learning step of performing one of the re-learning.
- FIG. 1 is a diagram illustrating an outline of a processing method of the processing system according to the embodiment.
- FIG. 2 is a diagram illustrating an example of DNN1 and DNN2.
- FIG. 3 is a diagram schematically showing an example of the configuration of the processing system according to the embodiment.
- FIG. 4 is a diagram showing the relationship between the offload rate and the overall accuracy.
- FIG. 5 is a flowchart showing a processing procedure of the learning data generation processing in the embodiment.
- FIG. 6 is a flowchart showing a processing procedure of the relearning determination process for DNN1 in the embodiment.
- FIG. 7 is a flowchart showing a processing procedure of the relearning determination process for DNN2 in the embodiment.
- FIG. 8 is a diagram showing an example of a computer in which an edge device and a server device are realized by executing a program.
- FIG. 1 is a diagram illustrating an outline of a processing method of the processing system according to the embodiment.
- the processing system of the embodiment constitutes a model cascade using a high-precision model and a lightweight model.
- an edge device using a high-speed and low-precision lightweight model for example, DNN1 (first model)
- a low-speed and high-precision high-precision model for example, DNN2 (second model)
- a server device is a device that is physically and logically located far from the user.
- the edge device is an IoT device and various terminal devices that are physically and logically close to the user, and has less resources than a server device.
- DNN1 and DNN2 are models that output inference results based on the input processing target data.
- DNN1 and DNN2 take an image as an input and infer the probability of each class of the object appearing in the image.
- the two images shown in FIG. 1 are both the same image.
- the processing system acquires the degree of certainty about the inference of the DNN1 classification for the object shown in the input image.
- the degree of certainty is the degree of certainty that the result of subject recognition by DNN1 is correct.
- the certainty may be the probability of the class of the object in the image output by DNN1, for example the probability of the highest class.
- the inference result of DNN1 is adopted. That is, the inference result of the lightweight model is output as the final estimation result of the model cascade.
- the certainty is less than a predetermined threshold value
- the inference result obtained by inputting the same image into DNN2 is output as the final inference result.
- the processing system selects the edge device or the server device based on the certainty as to whether the edge device or the server device should process the processing target data, and selects the processing target data. To process.
- FIG. 2 is a diagram illustrating an example of DNN1 and DNN2.
- the DNN has an input layer for inputting data, a plurality of intermediate layers for variously converting data input from the input layer, and an output layer for outputting so-called inferred results such as probability and likelihood.
- the output value output from each layer may be irreversible if the input data needs to maintain anonymity.
- the processing system may use independent DNN1 and DNN2, respectively.
- DNN1 may be trained using the training data used in the training of DNN2.
- DNN1 solves the same problem as DNN2 and is lighter than DNN2.
- DNN1 has a first intermediate layer to a P (P ⁇ S) intermediate layer having fewer layers than the first intermediate layer to the S intermediate layer of DNN2.
- DNN1 and DNN2 may be designed so that DNN2 has a deeper layer than DNN1.
- darknet19 hereinafter referred to as YOLOv2
- YOLOv3 darknet53
- YOLOv3 darknet53
- the same NN may be configured so that DNN1 and DNN2 have different depths. Any network may be used for DNN1 and DNN2, respectively.
- CNN may be used.
- the models placed on the edge and the cloud are appropriately re-learned, and the accuracy of the model is maintained. Can be planned.
- FIG. 3 is a diagram schematically showing an example of the configuration of the processing system according to the embodiment.
- the processing system 100 includes a server device 20 and an edge device 30. Further, the server device 20 and the edge device 30 are connected via the network N.
- the network N is, for example, the Internet.
- the server device 20 is a server provided in a cloud environment.
- the edge device 30 is, for example, an IoT device and various terminal devices. In this embodiment, the case where the target data group to be processed in the server device 20 and the edge device 30 is an image group will be described as an example.
- a predetermined program is read into a computer or the like including a ROM (Read Only Memory), a RAM (Random Access Memory), a CPU (Central Processing Unit), etc., and the CPU loads the predetermined program. It is realized by executing it.
- so-called accelerators represented by GPUs, VPUs (Vision Processing Units), FPGAs (Field Programmable Gate Arrays), ASICs (Application Specific Integrated Circuits), and dedicated AI (Artificial Intelligence) chips are also used.
- the server device 20 and the edge device 30 each have a NIC (Network Interface Card) or the like, and may communicate with other devices via a telecommunication line such as a LAN (Local Area Network) or the Internet. It is possible.
- the server device 20 has an inference unit 21 that performs inference (second inference) using the trained high-precision model DNN2.
- DNN2 contains information such as model parameters.
- the inference unit 21 uses DNN2 to execute inference processing on the image output from the edge device 30.
- the inference unit 21 uses the image output from the edge device 30 as the input of the DNN 2.
- the inference unit 21 executes inference processing on the input image by using DNN2.
- the inference unit 21 acquires an inference result (for example, a probability for each class of an object shown in an image) as an output of DNN2. It is assumed that the input image is an image whose label is unknown.
- the inference result obtained by the inference unit 21 may be transmitted to the edge device 30 and returned to the user from the edge device 30.
- the server device 20 and the edge device 30 form a model cascade. Therefore, the inference unit 21 does not always make inferences.
- the reasoning unit 21 receives the input of the divided image determined to cause the server device 20 to execute the inference process in the edge device 30, and performs the inference by the DNN 2. Although it is described as an image here, it may be a feature amount extracted from the image instead of the image itself.
- the edge device 30 has an inference unit 31 having a trained lightweight model DNN1 and a determination unit 32.
- the inference unit 31 inputs an image to be processed into DNN1 and acquires an inference result.
- the inference unit 31 executes inference processing (first inference) on the input image by using DNN1.
- the inference unit 31 accepts the input of the image to be processed, processes the image to be processed, and outputs the inference result (for example, the probability for each class of the object appearing in the image).
- the determination unit 32 determines whether to adopt the inference result of the edge device 30 or the server device 20 by comparing the certainty degree with a predetermined threshold value.
- the edge device 30 determines whether or not the inference result inferred by the edge device 30 is adopted, and if it is determined not to adopt the inference result, the inference result of the server device 20 is adopted. It will be.
- the determination unit 32 outputs the inference result inferred by the inference unit 31 when the certainty degree is equal to or higher than a predetermined threshold value. When the reliability is less than a predetermined threshold value, the determination unit 32 outputs the image to be processed to the server device 20, and determines that the inference process is executed by the DNN 2 arranged in the server device 20.
- the processing system 100 provides, for example, a learning data generation unit 22, a learning data management unit 23, and a re-learning unit 24 in the server device 20 as functions related to the re-learning process for DNN1 and DNN2.
- the learning data generation unit 22, the learning data management unit 23, and the re-learning unit 24 are not limited to the server device 20, but may be provided in another device capable of communicating with the server device 20 and the edge device 30. ..
- the learning data generation unit 22 generates learning data to be used at the time of re-learning of DNN1 and DNN2 for each of DNN1 and DNN2.
- the learning data generation unit 22 generates, as re-learning data, data having a large contribution to load fluctuation or reduction of inference accuracy among the image groups that have actually executed inference processing during operation.
- the learning data generation unit 22 has a generation unit 221 and a correction unit 222.
- the generation unit 221 associates the inference result of the image with the image inferred by the DNN2 as a label, and relearns the data for the edge of the edge device 30 with respect to the DNN1. Generate as. The label of this training data is given by automatic annotation.
- the generation unit 221 may separately generate the learning data used at the time of re-learning of DNN1 and the data for testing. As the re-learning data of DNN1, all the data determined to be inferred on the server side may be targeted.
- the correction unit 222 accepts the input of correction for the inference result by DNN2 of the input image.
- This modification is a so-called manual annotation, and the administrator determines the image to be processed and corrects the inference result.
- the modification is a process of modifying the inference result by executing an inference process using a mechanism different from DNN2.
- the correction unit 222 transfers the data in which the corrected inference result (correct answer label) in which the inference result by the DNN2 of the image is modified is associated with the image in which the inference is executed in the DNN2 is associated with the data of the server device 20. Generated as cloud re-learning data for DNN2.
- the correction unit 222 may separately generate the learning data used at the time of re-learning of DNN2 and the data for testing.
- the learning data management unit 23 manages the learning data for re-learning of DNN1 and DNN2 generated by the learning data generation unit 22.
- the learning data management unit 23 has a storage unit 231 and a selection unit 232.
- the storage unit 231 stores the edge re-learning data for DNN1 generated by the learning data generation unit 22 in the edge re-learning data database (DB) 251. When there are a plurality of DNN1s, the storage unit 231 stores the edge re-learning data separately for each DNN1. The storage unit 231 stores the cloud relearning data for DNN2 generated by the learning data generation unit 22 in the cloud relearning data DB 252. When there are a plurality of DNN2s, the storage unit 231 stores the cloud re-learning data separately for each DNN2.
- DB edge re-learning data database
- the selection unit 232 extracts the re-learning data according to the request from the edge re-learning data DB 251 or the cloud re-learning data DB 252. Output to the re-learning unit 24.
- the re-learning unit 24 executes re-learning of at least one of DNN1 and DNN2.
- the re-learning unit 24 has a re-learning determination unit 241 (determination unit) for determining whether or not the re-learning of DNN1 or DNN2 can be executed, and a re-learning execution unit 242 (re-learning unit).
- the relearning determination unit 241 performs inference in at least one of the edge device 30 and the server device 20 based on the fluctuation of the load or the decrease in the inference accuracy in at least one of the edge device 30 and the server device 20. Judge whether or not the tendency of has changed. Then, the re-learning determination unit 241 determines that the re-learning of DNN1 or DNN2 is executed when it is determined that the tendency of the image group has changed. The re-learning determination unit 241 relearns DNN1 or DNN2 depending on the change from the set value of the offload rate (processing rate in the server device 20), the decrease in inference accuracy, or the amount of training data held. Determine to execute.
- the system administrator determines whether to perform re-learning based on the inference accuracy. This is because it is not always necessary to relearn DNN1 when the offload rate decreases. If the offload rate increases, it may be used as a trigger for re-learning DNN1.
- the server device 20 instructs the execution of the re-learning according to the necessity of the re-learning determined in this way, and the re-learning determination unit 241 executes the re-learning of the DNN1 or the DNN2 according to the instruction.
- DNN2 is often inferred for data offloaded from a plurality of DNN1, it is preferable to perform DNN2 based on a correction rate rather than an offload rate.
- the re-learning execution unit 242 executes re-learning of at least one of DNN1 and DNN2.
- the re-learning execution unit 242 executes re-learning of at least one of DNN1 and DNN2 by using the data having a large contribution to the fluctuation of the load or the decrease of the inference accuracy in the image group.
- the re-learning execution unit 242 executes re-learning of DNN1 using the edge re-learning data as training data.
- the re-learning execution unit 242 executes re-learning of DNN2 using the re-learning data for the cloud as learning data.
- the re-learning execution unit 242 transmits the DNN1 that has been relearned from the DNN1 (or a model equivalent to the DNN1) to the edge device 30 and arranges it as a model on the edge side.
- the re-learning execution unit 242 outputs the DNN2 that has been relearned from the DNN2 (or a model equivalent to the DNN2) to the inference unit 21 and arranges it as a model on the cloud side.
- the DNN1 and DNN2 for use in relearning and the DNN1 and DNN2 after relearning are held in the server device 20 and held in another device capable of communicating with the edge device 30 and the server device 20. You may.
- FIG. 4 is a diagram showing the relationship between the offload rate and the overall accuracy.
- FIG. 4 is obtained by obtaining the change in the overall accuracy of the inference result due to the change in the offload rate based on the inference result during operation.
- the threshold value is linked to the offload rate, and when the offload rate is lowered, the certainty threshold is raised.
- “Offload rate 0” means that all data is processed by the edge device 30 and the accuracy (acc_origin) is low
- “Offload rate 1” means that all data is processed by the server device 20.
- the accuracy (acc_origin) is high.
- the offload rate exceeds 0.4 (threshold value is 0.5)
- the improvement in accuracy is small even if the offload rate is increased, that is, even if the threshold value of the certainty is lowered. Therefore, if the threshold of certainty is set to 0.5, it is considered that the offload rate (0.4) and the accuracy (0.75) are balanced. In other words, when the offload rate is 0.4, the certainty threshold is set to 0.5. In this way, by setting the threshold value according to the balance between the offload rate and the accuracy, it is possible to adjust the offload rate and the overall accuracy according to each use case.
- the transmission amount transmitted from DNN1 to DNN2, that is, the transmission amount transmitted from the edge device 30 to the server device 20 may be used as an index value for obtaining the offload rate statistics. For example, if the inference process processed per unit time in the edge device 30, for example, inference of 5 frames per second is performed and the transmission amount corresponding to 2 frames is generated, the offload rate can be estimated to be 0.4. can. In this way, it is possible to obtain statistics on the offload rate and detect changes in the offload rate.
- the re-learning determination unit 241 determines whether or not to perform re-learning of DNN1 or DNN2 based on the change from the set value of the offload rate, the decrease in inference accuracy, and the amount of learning data.
- the re-learning determination unit 241 determines the execution of re-learning of the DNN 1 in the edge device 30 in the following cases.
- the re-learning determination unit 241 determines the execution of re-learning of DNN1 when the offload rate changes from the set value. In this case, it is probable that the offload rate increased due to the change in the tendency of the image group to be inferred, and the number of processes in the server device 20 increased. That is, it is detected that the total calculation cost fluctuates as the number of processes in the server device 20 increases. In such a case, it is considered that the accuracy of DNN1 is lowered because the inference result in which the certainty of the inference result of DNN1 in the edge device 30 is lower than a predetermined threshold value increases.
- the above setting value may be a setting range, and the execution of re-learning is determined in either case of a value above the setting range or a value below the setting range. May be good.
- the re-learning determination unit 241 determines the execution of re-learning of DNN1 when the inference accuracy of DNN1 is lower than the predetermined accuracy. In this case, it is determined by the system administrator that the inference accuracy of DNN1 has deteriorated, and the execution of re-learning of DNN1 is instructed. Further, the re-learning determination unit 241 determines the execution of the re-learning of the DNN 1 when the edge re-learning data reaches the batch amount.
- the re-learning determination unit 241 executes re-learning of DNN2 in the server device 20 in the following cases. Specifically, the re-learning determination unit 241 determines the execution of the re-learning of the DNN 2 when the inference accuracy of the DNN 2 is lower than the predetermined accuracy. In this case, it is determined by the system administrator that the inference accuracy of DNN2 has deteriorated, and the execution of re-learning of DNN2 is instructed.
- the re-learning determination unit 241 determines the execution of the re-learning of the DNN 2 when the correction rate for the inference result of the DNN 2 by the correction unit 222 becomes a predetermined rate or more. This is because it is determined that the inference accuracy of DNN2 has deteriorated. Further, the re-learning determination unit 241 determines the execution of the re-learning of the DNN 2 when the re-learning data for the cloud reaches the batch amount.
- FIG. 5 is a flowchart showing a processing procedure of the learning data generation processing in the embodiment.
- the generation unit 221 acquires the inference result of DNN2 and the image in which the inference is executed in DNN2 (step S11). Subsequently, the generation unit 221 generates data in which the inference result by the DNN2 of the image is associated with the image executed in the DNN2 as a label as edge re-learning data (step S12), and the storage unit 231 generates the data. , Instructs storage in the edge re-learning data DB 251 (step S13).
- the learning data generation unit 22 determines whether or not the input of the correction to the inference result of the DNN2 has been accepted (step S14). When the learning data generation unit 22 does not accept the input of the correction to the inference result by the DNN2 of the input image (step S14: No), the learning data generation unit 22 returns to the step S11.
- the correction unit 222 corresponds the image in which the inference is executed in DNN2 with the corrected inference result (correct answer label) of the image.
- the attached data is generated as cloud re-learning data for DNN2 of the server device 20 (step S15).
- the correction unit 222 instructs the storage unit 231 to store this data in the cloud relearning data DB 252 (step S16).
- FIG. 6 is a flowchart showing a processing procedure of the relearning determination process for DNN1 in the embodiment.
- the re-learning determination unit 241 determines whether or not the offload rate has increased from the set value (step S21). When the offload rate has not increased from the set value (step S21: No), the re-learning determination unit 241 determines whether or not the inference accuracy of DNN1 is lower than the predetermined accuracy (step S22). When the inference accuracy of DNN1 is not lower than the predetermined accuracy (step S22: No), the re-learning determination unit 241 determines whether or not the edge re-learning data has reached the batch amount (step S23). When the edge re-learning data has not reached the batch amount (step S23: No), the re-learning determination unit 241 returns to step S21 and determines the change in the offload rate.
- Step S21: Yes When the offload rate increases from the set value (step S21: Yes), or when the inference accuracy of DNN1 becomes lower than the predetermined accuracy (step S22: Yes), or the edge retraining data reaches the batch amount. (Step S23: Yes), the re-learning determination unit 241 determines the execution of the re-learning of the DNN 1 (step S24).
- the re-learning execution unit 242 requests the selection unit 232 to output the edge re-learning data, so that the selection unit 232 selects the edge re-learning data (step S25) and the re-learning execution unit 242. Output to.
- the re-learning execution unit 242 executes re-learning of DNN1 using this edge re-learning data as training data (step S26).
- the re-learning execution unit 242 performs an accuracy test with the test data corresponding to DNN1 (step S27), and when the accuracy is improved (step S28: Yes), the offload rate and the certainty corresponding to the offload rate.
- the threshold value of is set, and the relearned DNN1 is arranged as a model of the edge device 30 (step S29). If the accuracy of the relearned DNN1 is not improved (step S28: No), it is assumed that the inference accuracy of the DNN2 is also reduced. In such a case, the re-learning execution unit 242 returns to step S24 and relabels the heuristic, or uses data relabeled with a DNN different from DNN2 (for example, a higher load and higher precision DNN). DNN1 may be relearned. In such a case, DNN2 should be relearned in the same manner.
- FIG. 7 is a flowchart showing a processing procedure of the relearning determination process for DNN2 in the embodiment.
- the re-learning determination unit 241 determines whether or not the correction rate for the inference result of DNN2 by the correction unit 222 is equal to or higher than the predetermined rate (step S31). When the correction rate for the inference result of DNN2 by the correction unit 222 is not equal to or higher than the predetermined rate (step S31: No), the re-learning determination unit 241 determines whether or not the inference accuracy is lower than the predetermined accuracy. (Step S32). When the inference accuracy is not lower than the predetermined accuracy (step S32: No), the relearning determination unit 241 determines whether or not the cloud relearning data has reached the batch amount (step S33). When the cloud relearning data has not reached the batch amount (step S33: No), the relearning determination unit 241 returns to step S31 and makes a determination for the change in the offload rate.
- step S31: Yes When the correction rate for the inference result of DNN2 by the correction unit 222 is equal to or higher than the predetermined rate (step S31: Yes), or when the inference accuracy is lower than the predetermined accuracy (step S32: Yes), or the cloud.
- step S33: Yes When the re-learning data for use reaches the batch amount (step S33: Yes), the re-learning determination unit 241 determines the execution of re-learning of DNN2 (step S34).
- the re-learning execution unit 242 requests the selection unit 232 to output the re-learning data for the cloud, so that the selection unit 232 selects the re-learning data for the cloud (step S35) and the re-learning execution unit 242. Output to.
- the re-learning execution unit 242 executes re-learning of DNN2 using this cloud re-learning data as learning data (step S36).
- the relearning execution unit 242 performs an accuracy test with the test data corresponding to the DNN2 (step S37), and when the accuracy is improved (step S38: Yes), the relearned DNN2 is arranged as a model of the server device 20. (Step S39). If the accuracy is not improved (step S38: No), the re-learning execution unit 242 proceeds to step S34 to execute re-learning.
- At least one of the edge device 30 and the server device 20 is based on a load fluctuation or a decrease in inference accuracy in at least one of the edge device and the server device.
- the processing system 100 relearns at least one of DNN1 and DNN2. Therefore, according to the processing system 100, the timing of re-learning can be determined for each of DNN1 and DNN2, and the re-learning of DNN1 and DNN2 can be automatically executed.
- DNN1 and DNN2 are used among the image groups processed during the operation of the system, and at least one of DNN1 and DNN2 is used.
- DNN1 and DNN2 are used in order to perform re-learning.
- DNN1 and DNN2 by arranging these DNN1 and DNN2 in the edge device 30 and the server device 20, it is possible to maintain the accuracy of the models arranged in the edge and the cloud, respectively.
- the image in which the inference processing is actually executed in DNN2 and the inference result by DNN2 of the image are used as training data to relearn DNN1.
- an image that is actually inferred in DNN1 and is labeled with the inference result of DNN2 having higher accuracy than DNN1 is generated as edge re-learning data.
- Re-learning of DNN1 is performed using this edge re-learning data. Therefore, the DNN 1 becomes a domain-specific model every time it is relearned, and the accuracy required for the edge device 30 can be appropriately maintained.
- the image in which the inference processing is actually executed in DNN2 and the corrected inference result in which the inference result by DNN2 of the image is modified are added.
- Re-learning of DNN2 is executed as learning data. That is, in DNN2, an image in which the inference performed in DNN2 was incorrect and an image with a correct answer label is generated as cloud re-learning data, and the cloud re-learning data is used to re-learn DNN2. Since learning is performed, the accuracy of DNN2 can be improved.
- the models placed on the edge and the cloud are appropriately re-learned to maintain the accuracy of the model. Can be planned.
- edge devices 30 or server devices 20 there may be a plurality of edge devices 30 or server devices 20, and there may be a plurality of edge devices 30 and server devices 20.
- edge re-learning data is generated for each edge device 30
- cloud re-learning data is generated for each server device 20, and each model is re-learned using the corresponding learning data. Run.
- each component of each of the illustrated devices is a functional concept and does not necessarily have to be physically configured as shown in the figure. That is, the specific form of distribution / integration of each device is not limited to the one shown in the figure, and all or part of them may be functionally or physically distributed / physically in arbitrary units according to various loads and usage conditions. Can be integrated and configured. Further, each processing function performed by each device may be realized by a CPU and a program analyzed and executed by the CPU, or may be realized as hardware by wired logic.
- FIG. 8 is a diagram showing an example of a computer in which the edge device 30 and the server device 20 are realized by executing a program.
- the computer 1000 has, for example, a memory 1010 and a CPU 1020. Further, the accelerator described above may be provided to assist the calculation.
- the computer 1000 also has a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. Each of these parts is connected by a bus 1080.
- the memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM 1012.
- the ROM 1011 stores, for example, a boot program such as a BIOS (Basic Input Output System).
- BIOS Basic Input Output System
- the hard disk drive interface 1030 is connected to the hard disk drive 1090.
- the disk drive interface 1040 is connected to the disk drive 1100.
- a removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive 1100.
- the serial port interface 1050 is connected to, for example, a mouse 1110 and a keyboard 1120.
- the video adapter 1060 is connected to, for example, the display 1130.
- the hard disk drive 1090 stores, for example, an OS (Operating System) 1091, an application program 1092, a program module 1093, and program data 1094. That is, the program that defines each process of the edge device 30 and the server device 20 is implemented as a program module 1093 in which a code that can be executed by a computer is described.
- the program module 1093 is stored in, for example, the hard disk drive 1090.
- the program module 1093 for executing the same processing as the functional configuration in the edge device 30 and the server device 20 is stored in the hard disk drive 1090.
- the hard disk drive 1090 may be replaced by an SSD (Solid State Drive).
- the setting data used in the processing of the above-described embodiment is stored as program data 1094 in, for example, a memory 1010 or a hard disk drive 1090. Then, the CPU 1020 reads the program module 1093 and the program data 1094 stored in the memory 1010 and the hard disk drive 1090 into the RAM 1012 and executes them as needed.
- the program module 1093 and the program data 1094 are not limited to those stored in the hard disk drive 1090, but may be stored in, for example, a removable storage medium and read by the CPU 1020 via the disk drive 1100 or the like. Alternatively, the program module 1093 and the program data 1094 may be stored in another computer connected via a network (LAN (Local Area Network), WAN (Wide Area Network), etc.). Then, the program module 1093 and the program data 1094 may be read from another computer by the CPU 1020 via the network interface 1070.
- LAN Local Area Network
- WAN Wide Area Network
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Image Analysis (AREA)
Abstract
Description
[実施の形態の概要]
本発明の実施の形態について説明する。本発明の実施の形態では、学習済みの高精度モデル及び軽量モデルを使って推論処理を行う処理システムについて説明する。なお、実施の形態の処理システムでは、推論処理において用いるモデルとして、DNN(Deep Neural Network)を用いた場合を例に説明する。実施の形態の処理システムでは、DNN以外のニューラルネットワークを用いてもよいし、学習済みモデルに代えて低演算量の信号処理と高演算量の信号処理を用いてもよい。
次に、DNN1、DNN2について説明する。図2は、DNN1及びDNN2の一例を説明する図である。DNNは、データが入る入力層、入力層から入力されたデータを様々に変換する複数の中間層、確率や尤度など、いわゆる推論した結果を出力する出力層を有する。各層から出力される出力値は、入力されるデータが匿名性を保つ必要がある場合は非可逆としてもよい。
次に、処理システムの構成について説明する。図3は、実施の形態に係る処理システムの構成の一例を模式的に示す図である。
確信度の閾値の決め方と、オフロード率について説明する。図4は、オフロード率と全体精度との関係を示す図である。図4は、運用中の推論結果を基に、オフロード率の変動に伴う推論結果の全体精度の変動を求めることによって得られたものである。なお、閾値は、オフロード率に連動し、オフロード率を下げる場合には確信度の閾値を上げる。図4において、「Offload rate 0」は、全てのデータがエッジ装置30により処理され、精度(acc_origin)が低い状態であり、「Offload rate 1」は、すべてのデータがサーバ装置20により処理され、精度(acc_origin)が高い状態である。
再学習判定部241は、オフロード率の設定値からの変化、推論精度の低下、学習データ量を基に、DNN1またはDNN2の再学習を実行するか否かを判定する。
再学習判定部241は、以下の場合に、エッジ装置30におけるDNN1の再学習の実行を判定する。
次に、サーバ装置20における学習データ生成処理について説明する。図5は、実施の形態における学習データ生成処理の処理手順を示すフローチャートである。
次に、DNN1に対する再学習判定処理について説明する。図6は、実施の形態におけるDNN1に対する再学習判定処理の処理手順を示すフローチャートである。
次に、DNN2に対する再学習判定処理について説明する。図7は、実施の形態におけるDNN2に対する再学習判定処理の処理手順を示すフローチャートである。
このように、本実施の形態に係る処理システム100では、エッジ装置と前記サーバ装置との少なくとも一方における、負荷の変動または推論精度の低下に基づいて、エッジ装置30とサーバ装置20との少なくとも一方において、推論を行う画像群(対象データ群)の傾向が変化したか否かを判定する。そして、処理システム100では、画像群の傾向が変化したと判定された場合、DNN1とDNN2とのうち少なくともいずれか一方の再学習を実行する。したがって、処理システム100によれば、DNN1、DNN2ごとに再学習のタイミングを判定して、自動的にDNN1、DNN2の再学習を実行することができる。
図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
図8は、プログラムが実行されることにより、エッジ装置30及びサーバ装置20が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、演算を補助するために前述したアクセラレータを備えてもよい。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
21,31 推論部
22 学習データ生成部
23 学習データ管理部
24 再学習部
30 エッジ装置
32 判定部
100 処理システム
221 生成部
222 修正部
231 格納部
232 選択部
241 再学習判定部
242 再学習実行部
251 エッジ用再学習データDB
252 クラウド用再学習データDB
Claims (6)
- エッジ装置において第1の推論を行い、サーバ装置において第2の推論を行う処理システムが実行する処理方法であって、
前記エッジ装置と前記サーバ装置との少なくとも一方における、負荷の変動または推論精度の低下に基づいて、前記エッジ装置と前記サーバ装置との少なくとも一方において、推論を行う対象データ群の傾向が変化したか否かを判定する判定工程と、
前記判定工程において前記対象データ群の傾向が変化したと判定された場合、前記第1の推論を行う第1のモデルと前記第2の推論を行う第2のモデルとのうち少なくともいずれか一方の再学習を実行する再学習工程と、
を有することを特徴とする処理方法。 - 前記再学習工程は、前記対象データ群のうち、前記負荷の変動または前記推論精度の低下への貢献度が大きいデータを用いて、前記第1のモデルと前記第2のモデルとのうち少なくともいずれか一方の再学習を実行することを特徴とする請求項1に記載の処理方法。
- 前記再学習工程は、前記対象データ群のうち、前記第2の推論が実行された対象データと、該対象データの前記第2の推論における推論結果とを、学習データとし、前記第1のモデルの再学習を実行する請求項1または2に記載の処理方法。
- 前記再学習工程は、前記対象データ群のうち、前記第2の推論が実行された対象データと、該対象データの第2の推論における推論結果に修正が加えられた修正済み推論結果とを、学習データとし、前記第2のモデルの再学習を実行することを特徴とする請求項1~3のいずれか一つに記載の処理方法。
- エッジ装置において第1の推論を行い、サーバ装置において第2の推論を行う処理システムであって、
前記エッジ装置と前記サーバ装置との少なくとも一方における、負荷の変動または推論精度の低下に基づいて、前記エッジ装置と前記サーバ装置との少なくとも一方において、推論を行う対象データ群の傾向が変化したか否かを判定する判定部と、
前記判定部において前記対象データ群の傾向が変化したと判定された場合、前記第1の推論を行う第1のモデルと前記第2の推論を行う第2のモデルとのうち少なくともいずれか一方の再学習を実行する再学習部と、
を有することを特徴とする処理システム。 - エッジ装置とサーバ装置との少なくとも一方における、負荷の変動または推論精度の低下に基づいて、前記エッジ装置と前記サーバ装置との少なくとも一方において、推論を行う対象データ群の傾向が変化したか否かを判定する判定ステップと、
前記判定ステップにおいて前記対象データ群の傾向が変化したと判定された場合、前記エッジ装置において第1の推論を行う第1のモデルと前記サーバ装置において第2の推論を行う第2のモデルとのうち少なくともいずれか一方の再学習を実行する再学習ステップと、
をコンピュータに実行させるための処理プログラム。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US18/038,211 US20240095581A1 (en) | 2020-11-24 | 2020-11-24 | Processing method, processing system, and processing program |
| JP2022564857A JP7586191B2 (ja) | 2020-11-24 | 2020-11-24 | 処理方法、処理システム及び処理プログラム |
| PCT/JP2020/043686 WO2022113175A1 (ja) | 2020-11-24 | 2020-11-24 | 処理方法、処理システム及び処理プログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2020/043686 WO2022113175A1 (ja) | 2020-11-24 | 2020-11-24 | 処理方法、処理システム及び処理プログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2022113175A1 true WO2022113175A1 (ja) | 2022-06-02 |
Family
ID=81754221
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2020/043686 Ceased WO2022113175A1 (ja) | 2020-11-24 | 2020-11-24 | 処理方法、処理システム及び処理プログラム |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20240095581A1 (ja) |
| JP (1) | JP7586191B2 (ja) |
| WO (1) | WO2022113175A1 (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2024057374A1 (ja) * | 2022-09-12 | 2024-03-21 | 日本電信電話株式会社 | 抽出システム、抽出方法および抽出プログラム |
| WO2025069198A1 (ja) * | 2023-09-26 | 2025-04-03 | 日本電信電話株式会社 | 設定補助装置、設定補助方法、および設定補助プログラム |
| JP2025105535A (ja) * | 2023-12-28 | 2025-07-10 | コリア アドバンスド インスティテュート オブ サイエンス アンド テクノロジー | トランスフォーマーニューラルネットワークのための人工知能ニューラルネットワーク加速器及びその方法 |
| WO2025158507A1 (ja) * | 2024-01-22 | 2025-07-31 | Ntt株式会社 | 推論装置、推論方法、プログラム、及び推論システム |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20230111874A1 (en) * | 2021-10-12 | 2023-04-13 | Oracle International Corporation | Device emulations in a notebook session |
| CN116010069A (zh) * | 2021-10-21 | 2023-04-25 | 伊姆西Ip控股有限责任公司 | 管理推理过程的方法、电子设备和计算机程序产品 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2018010475A (ja) * | 2016-07-13 | 2018-01-18 | 富士通株式会社 | 機械学習管理プログラム、機械学習管理装置および機械学習管理方法 |
| JP2018045369A (ja) * | 2016-09-13 | 2018-03-22 | 株式会社東芝 | 認識装置、認識システム、認識方法およびプログラム |
| JP2020024534A (ja) * | 2018-08-07 | 2020-02-13 | 日本放送協会 | 画像分類装置及びプログラム |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20190079898A1 (en) * | 2017-09-12 | 2019-03-14 | Actiontec Electronics, Inc. | Distributed machine learning platform using fog computing |
| US12450523B2 (en) * | 2018-07-23 | 2025-10-21 | Kabushiki Kaisha Toshiba | Device and method for optimising model performance |
| US20200272899A1 (en) * | 2019-02-22 | 2020-08-27 | Ubotica Technologies Limited | Systems and Methods for Deploying and Updating Neural Networks at the Edge of a Network |
-
2020
- 2020-11-24 US US18/038,211 patent/US20240095581A1/en active Pending
- 2020-11-24 WO PCT/JP2020/043686 patent/WO2022113175A1/ja not_active Ceased
- 2020-11-24 JP JP2022564857A patent/JP7586191B2/ja active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2018010475A (ja) * | 2016-07-13 | 2018-01-18 | 富士通株式会社 | 機械学習管理プログラム、機械学習管理装置および機械学習管理方法 |
| JP2018045369A (ja) * | 2016-09-13 | 2018-03-22 | 株式会社東芝 | 認識装置、認識システム、認識方法およびプログラム |
| JP2020024534A (ja) * | 2018-08-07 | 2020-02-13 | 日本放送協会 | 画像分類装置及びプログラム |
Non-Patent Citations (1)
| Title |
|---|
| SHOHEI ENOMOTO, TAKEHARU EDA: "Acceleration of Deep Learning Inference by Model Cascading", IEICE TECHNICAL REPORT, vol. 119, no. 481, March 2020 (2020-03-01), pages 203 - 208, XP009537454, ISSN: 2432-6380 * |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2024057374A1 (ja) * | 2022-09-12 | 2024-03-21 | 日本電信電話株式会社 | 抽出システム、抽出方法および抽出プログラム |
| WO2024057578A1 (ja) * | 2022-09-12 | 2024-03-21 | 日本電信電話株式会社 | 抽出システム、抽出方法および抽出プログラム |
| JPWO2024057578A1 (ja) * | 2022-09-12 | 2024-03-21 | ||
| WO2025069198A1 (ja) * | 2023-09-26 | 2025-04-03 | 日本電信電話株式会社 | 設定補助装置、設定補助方法、および設定補助プログラム |
| JP2025105535A (ja) * | 2023-12-28 | 2025-07-10 | コリア アドバンスド インスティテュート オブ サイエンス アンド テクノロジー | トランスフォーマーニューラルネットワークのための人工知能ニューラルネットワーク加速器及びその方法 |
| JP7849071B2 (ja) | 2023-12-28 | 2026-04-21 | コリア アドバンスド インスティテュート オブ サイエンス アンド テクノロジー | トランスフォーマーニューラルネットワークのための人工知能ニューラルネットワーク加速器及びその方法 |
| WO2025158507A1 (ja) * | 2024-01-22 | 2025-07-31 | Ntt株式会社 | 推論装置、推論方法、プログラム、及び推論システム |
Also Published As
| Publication number | Publication date |
|---|---|
| JPWO2022113175A1 (ja) | 2022-06-02 |
| JP7586191B2 (ja) | 2024-11-19 |
| US20240095581A1 (en) | 2024-03-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7586191B2 (ja) | 処理方法、処理システム及び処理プログラム | |
| US11741361B2 (en) | Machine learning-based network model building method and apparatus | |
| CN111507993A (zh) | 一种基于生成对抗网络的图像分割方法、装置及存储介质 | |
| WO2021089013A1 (zh) | 空间图卷积网络的训练方法、电子设备及存储介质 | |
| US12536388B2 (en) | Learning self-evaluation to improve selective prediction in LLMs | |
| CN112651533A (zh) | 整合移动平均自回归-反向传播神经网络预测方法 | |
| CN110008332B (zh) | 通过强化学习提取主干词的方法及装置 | |
| KR20210066545A (ko) | 반도체 소자의 시뮬레이션을 위한 전자 장치, 방법, 및 컴퓨터 판독가능 매체 | |
| US20220129708A1 (en) | Segmenting an image using a neural network | |
| EP4386657A1 (en) | Image optimization method and apparatus, electronic device, medium, and program product | |
| JP2025515554A (ja) | 勾配要素を直接指定することによる機械訓練済みモデルの訓練 | |
| US20200250529A1 (en) | Arithmetic device | |
| CN114970879B (zh) | 用于数据增强过程的系统、方法和计算机程序产品 | |
| CN120896677A (zh) | 一种自适应通道压缩的通信分割学习系统及其方法、介质 | |
| CN117999560A (zh) | 机器学习模型的硬件感知渐进训练 | |
| CN113712511B (zh) | 一种脑成像融合特征的稳定模式判别方法 | |
| CN116029261A (zh) | 中文文本语法纠错方法及相关设备 | |
| US12572785B2 (en) | Methods and hardware for inter-layer data format conversion in neural networks | |
| CN121303376A (zh) | 一种量子线路转换方法、系统、电子设备和存储介质 | |
| CN113326832B (zh) | 模型训练、图像处理方法、电子设备及存储介质 | |
| US20220277200A1 (en) | Fast quantised training of trainable modules | |
| CN116957058A (zh) | 时空交通预测模型的对抗训练方法、装置、设备及介质 | |
| US20090222396A1 (en) | Adaptive multi-levels dictionaries and singular value decomposition techniques for autonomic problem determination | |
| CN115270935A (zh) | 环状无中心联邦学习方法、系统、电子装置和存储介质 | |
| WO2022127603A1 (zh) | 一种模型处理方法及相关装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20963440 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2022564857 Country of ref document: JP Kind code of ref document: A |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 18038211 Country of ref document: US |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 20963440 Country of ref document: EP Kind code of ref document: A1 |