WO2022064656A1 - 処理システム、処理方法及び処理プログラム - Google Patents

処理システム、処理方法及び処理プログラム Download PDF

Info

Publication number
WO2022064656A1
WO2022064656A1 PCT/JP2020/036394 JP2020036394W WO2022064656A1 WO 2022064656 A1 WO2022064656 A1 WO 2022064656A1 JP 2020036394 W JP2020036394 W JP 2020036394W WO 2022064656 A1 WO2022064656 A1 WO 2022064656A1
Authority
WO
WIPO (PCT)
Prior art keywords
inference
processing
model
server device
data
Prior art date
Application number
PCT/JP2020/036394
Other languages
English (en)
French (fr)
Inventor
旭 史
昇平 榎本
毅晴 江田
啓 坂本
Original Assignee
日本電信電話株式会社
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to JP2022551064A priority Critical patent/JP7452679B2/ja
Priority to CN202080105384.7A priority patent/CN116194933A/zh
Priority to PCT/JP2020/036394 priority patent/WO2022064656A1/ja
Priority to EP20955250.4A priority patent/EP4220498A4/en
Publication of WO2022064656A1 publication Critical patent/WO2022064656A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0495Quantised networks; Sparse networks; Compressed networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]

Definitions

  • the present invention relates to a processing system, a processing method 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. For example, there is a case where a process wait occurs for other processes while a process having a large amount of calculation is being performed by the edge device.
  • 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 that has been used, the operation that takes advantage of the cloud and the edge device is realized.
  • the above edge cloud network is expected to be applied to applications such as automatic analysis of surveillance camera images, automatic driving, and smart speakers.
  • real-time performance is important as well as accuracy, but communication costs and delays between the edge and cloud have been problems.
  • the present invention has been made in view of the above, and an object of the present invention is to provide a processing system, a processing method, and a processing program capable of reducing the amount of data transfer from the edge device to the server device and reducing the delay. do.
  • the processing system is a processing system performed by using an edge device and a server device, and the edge device uses the first model.
  • the inference result by the first inference unit is output, and when the reliability is equal to or less than the threshold value, the inference unit has a determination unit that outputs the feature amount of the data to be processed to the server device. It has a second inference unit that executes inference processing on the processing target data based on the feature amount of the processing target data output from the edge device by using the second model having higher inference accuracy than the first model. It is characterized by that.
  • the present invention it is possible to reduce the amount of data transfer from the edge device to the server device and reduce the delay.
  • FIG. 1 is a diagram illustrating an outline of a processing method of the processing system according to the embodiment.
  • FIG. 2-1 is a diagram illustrating an example of DNN1 and DNN2.
  • FIG. 2-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 illustrating an example of selecting a DNN base model.
  • FIG. 5 is a diagram showing an outline of the structure of YOLO v3.
  • FIG. 6-1 is a diagram illustrating an example of the structure of DNN.
  • FIG. 6-2 is a diagram illustrating an example of the structure of DNN.
  • FIG. 7 is a sequence diagram showing a processing flow of the processing system according to the embodiment.
  • FIG. 2-1 is a diagram illustrating an example of DNN1 and DNN2.
  • FIG. 2-2 is a diagram illustrating an example of DNN1 and DNN2.
  • FIG. 8 is a diagram showing the processing time of each DNN selected as an example in the processing system.
  • FIG. 9 is a distribution diagram of the entropy of the test data obtained based on the inference result of DNN.
  • FIG. 10 is a diagram showing the relationship between the offload rate and the overall accuracy.
  • FIG. 11 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 high-precision model and the lightweight model constitute a model cascade.
  • 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.
  • the DNN1 takes an image as an input and infers the probability of each class of the object appearing in the image based on the feature amount extracted from the image.
  • the DNN2 infers the probability of each class of the object to be inferred in the image to be inferred by using the feature amount extracted by the DNN1 (intended to output a predetermined intermediate layer, hereinafter referred to as a feature map) as an input.
  • both DNN1 and DNN2 make inferences for the same image.
  • the edge device it is determined whether to adopt the inference result of DNN1 or DNN2 based on the comparison result between the reliability (described later) and the threshold value.
  • the reliability is a value for determining whether the processing target data should be processed in the edge device or the server device.
  • the reliability may be obtained, for example, based on the entropy of the inference result by DNN1.
  • the reliability may be set to a value that becomes smaller as the entropy of the inference result of DNN1 becomes higher. Specific examples will be described later.
  • the reliability of the inference of the DNN1 classification for the object shown in the input image is acquired. Then, in the processing system, when the acquired reliability exceeds a predetermined threshold value, 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. On the other hand, in the processing system, when the reliability is equal to or less than a predetermined threshold value, the inference result obtained by inputting the feature map extracted by DNN1 into DNN2 is output as the final inference result.
  • the processing system according to the embodiment selects the edge device or the server device based on the comparison result between the reliability and the threshold value as to which of the edge device and the server device should process the data to be processed. Then, the processing target data is processed. Therefore, the processing system according to the embodiment can control whether the processing is executed in the edge device or the cloud.
  • DNN1 and DNN2 are diagrams 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 uses DNN2 on the cloud side and DNN1 on the edge side.
  • a feature extraction layer Bf2 that extracts the feature amount of the input image and outputs it as a feature map, and a layer that performs processing using the extracted feature amount (for example, reflected in the input image).
  • a high-precision model with a layer that detects an object and infers the probability of each class of the object that appears in the input image (hereinafter collectively referred to as the detection layer Bd2) and a detection layer Bd2 (second execution unit) is adopted. (See Fig. 2-1).
  • the training data is used in advance to train DNN2'before placement.
  • the trained feature extraction layer Bf2 of DNN2 ′ is used as it is on the edge side.
  • a DNN that is placed in front of the detection layer Bd1 (see arrow Y1 in FIG. 2-1) and that combines the feature extraction layer Bf2 (first extraction unit) and the detection layer Bd1 (first execution unit) is edged. Let it be DNN1 on the side (see Fig. 2-2).
  • the detection layer Bd1 infers the probability of each class of the object reflected in the input image by using the feature map (feature amount of a certain layer) extracted by the feature extraction layer Bf2 of DNN1.
  • the DNN1 arranged on the edge side deletes the feature amount extraction layer Bf1 (see FIG. 2-1) from the original DNN1 and arranges the feature amount extraction layer Bf2 of the trained DNN2'instead (see FIG. 2-2). ). That is, DNN1 composed of a combination of the feature amount extraction layer Bf2 of DNN2'and the detection layer Bd1 of DNN1'is arranged on the edge side. Of the DNN1 shown in FIG. 2-2, the feature amount extraction layer Bf2 may be fixed and learning may be performed again. Further, the DNN2 arranged on the server side has a configuration in which the feature amount extraction layer Bf2 is deleted from the initial DNN2'(see FIG. 2-1) (see FIG. 2-2).
  • the parameters of the feature extraction layer Bf2 are fixed to the parameters after the initial training of DNN2', and the detection layer Bd1 in the subsequent stage is trained using the learning data.
  • both the feature extraction layer Bf2 and the detection layer Bd1 are trained using the learning data.
  • learning may be performed in cooperation with DNN2 and DNN1.
  • DNN2 may be retrained using the training data used by DNN1.
  • training may be performed using common learning data between DNN1 and DNN2.
  • the feature extraction layer Bf2 in the initial DNN2' is arranged as the feature extraction layer Bf2 of the DNN1 on the edge side. Therefore, the detection layer Bd2 of the DNN2 on the cloud side can execute the inference process using the feature map output by the feature extraction layer Bf2 of the DNN1 on the edge side (see the arrow Y2 in FIG. 2-2). .. Therefore, in the processing system according to the present embodiment, it can be said that the same feature map is shared between the edge and the cloud, and inference processing can be performed on each of the edge side and the cloud side.
  • the execution of the feature extraction process can be omitted, so that the calculation time can be shortened and the delay can be reduced.
  • the data output from the edge side to the cloud side is not an image to be processed but a feature map extracted from the image, it is possible to reduce the amount of data transfer from the edge side to the cloud side. Since it is sufficient that the same feature map can be shared between the edge and the cloud, the minimum condition that the feature extraction layer Bf2 of DNN1 actually arranged on the edge side and the feature extraction layer Bf2 of the initial DNN2'must be satisfied is The sizes of the layers to be connected are the same. This is because the detection layer of DNN1 is relearned again.
  • the parameter values may differ between the feature extraction layer Bf2 of DNN1 and the feature extraction layer Bf2 of DNN2'.
  • 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.
  • 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 (second inference unit) that makes inferences using the trained high-precision model DNN2.
  • DNN2 contains information such as model parameters.
  • DNN2 has a detection layer Bd2 as described above.
  • the inference unit 21 uses DNN2 to execute inference processing on the input image based on the feature map of the input image output from the edge device 30.
  • the inference unit 21 returns the quantized feature map output from the edge device 30 to the FP32 and uses it as an input to the detection layer Bd2 of the 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.
  • the inference unit 21 receives the inference data, that is, the output value of Bf2 of the feature extraction layer of DNN1, and outputs the inference result.
  • the feature map is a feature quantity of data whose label is unknown.
  • the inference data is an image.
  • the server device 20 and the edge device 30 form a model cascade. Therefore, the inference unit 21 does not always make inferences.
  • the inference unit 21 accepts the input of the quantized feature map and performs inference by the detection layer Bd2 of the DNN2.
  • the edge device 30 has an inference unit 31 (first inference unit) having a trained lightweight model DNN1, a determination unit 32, and a quantization unit 33.
  • the inference unit 31 makes inferences using the trained lightweight model DNN1.
  • DNN1 contains information such as model parameters.
  • the DNN1 has a feature extraction layer Bf2 and a detection layer Bd1 of the trained DNN2'(see FIG. 2-1) as described above.
  • the inference unit 31 uses DNN1 to extract the feature amount of the input image as a feature map, and executes inference processing on the input image based on the extracted feature map.
  • the inference unit 31 inputs an image to be processed into DNN1 and acquires an inference result.
  • the inference unit 31 extracts the feature amount of the processing target data using DNN1, and executes the inference processing for the processing target data based on the extracted feature amount.
  • 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 to be reflected 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 reliability with a predetermined threshold value.
  • the determination unit 32 When the reliability exceeds a predetermined threshold value, the determination unit 32 outputs the inference result inferred by the inference unit 31. When the reliability is equal to or less than a predetermined threshold value, the determination unit 32 outputs a feature map, which is an output of the feature extraction layer Bf2 connected to DNN1 on the edge side, to the server device 20, and performs inference processing to the server device 20. It is determined that the arranged DNN2 is executed.
  • the reliability may be set to a value that becomes smaller as the entropy of the inference result of DNN1 becomes larger.
  • the entropy of the inference result of DNN1 may be obtained by the equation (1).
  • C is a set of all labels c output by DNN1, and y is the probability of each label.
  • the quantized unit 33 quantizes the feature map extracted by the feature extraction layer Bf2 of the DNN 1 and quantizes the quantized feature map into the server device 20. Output to.
  • FIG. 4 is a diagram illustrating an example of selecting a base model of DNN1 and DNN2.
  • darknet19 which is a back-end model of YOLOv2 which is relatively lightweight and high speed
  • YOLOv3 Darknet53
  • the selected NN is an example, and if it is a high-precision NN, a high-speed NN and a NN whose accuracy is lower than that of a high-precision NN, and a NN that can share the feature quantity extraction layer, how? You may make a choice.
  • the edge device 30 and the server device 20 may be configured to have different depths in the same NN.
  • FIG. 5 is a diagram showing an outline of the structure of YOLO v3. It is a figure explaining the selection example of the base model of DNN1 and DNN2.
  • YOLOv3 has a convolutional layer (feature extraction layer) Bf-1 having a Residual block Bf-1 for feature extraction, and a detection unit Bd2-1 which is a network (FPN) for object detection.
  • FPN network
  • YOLOv3 maintains high accuracy. Therefore, it is desirable to avoid damaging the configuration in Residual block Bf-1. Subsequently, in YOLOv3, it is desirable to have a configuration in which the feature map is received in the previous stage of the detection unit Bd2-1 so that the detection unit Bd2-1 can execute the detection using the feature map as it is. The deeper the layer (the larger the number), the heavier the calculation of the model and the larger the number of parameters to be used. Therefore, it is desirable that the DNN1 of the edge device 30 is a model having a shallow layer in order to be lightweight and high speed.
  • FIG. 6-1 and 6-2 are diagrams illustrating an example of the structure of DNN1 and DNN2.
  • the pre-stage of YOLOv2 in which the trained feature extraction layer Bf2-1 holding the Residual block Bf-1 is selected as it is as the base model of the edge device 30 in order to avoid damaging the configuration in the Residual block Bf-1 of YOLOv3. (Arrow Y11 in FIG. 6-1), and used as DNN1 of the edge device 30. Therefore, in the edge device 30, the feature map is extracted from the image in the feature extraction layer Bf2-1 using the YOLOv2 reconstructed in this way, and the input image is used in the detection layer Bd1-1 using the extracted feature map. Infer the probability of each class of objects reflected in.
  • the edge device 30 outputs Result1 assuming that Result1 is reliable (see arrow Y11 in FIG. 6-2). ) End the process.
  • the feature extraction layer Bf2-1 in the edge device 30 has a structure common to the feature extraction layer Bf2-1 of YOLOv3 which is the base model of the server device 20, the feature extraction layer Bf2-1 The feature map output from the server device 20 can also be shared by the detection unit Bd2-1 of the server device 20.
  • YOLOv3 having a configuration in which the feature extraction layer Bf2-1 is deleted from YOLOv3 is applied as DNN2.
  • the edge device 30 when Result1 is equal to or less than the threshold value, it is considered that Result1 is unreliable, and the feature map of the feature extraction layer Bf2-1 is output to the edge device 30 after being quantized (arrow Y12 in FIG. 6-2). reference). Then, in the server device 20, this feature map is returned to FP32, the feature map is input to the detection unit Bd2-1 of the reconstructed YOLOv3, and the inference result (Result2) of the detection unit Bd2-1 is output (Result2). See arrow Y13 in FIG. 6-2). Therefore, the calculation range in the server device 20 is the calculation range in the detection unit Bd2-1. In other words, in the server device 20, the calculation in the feature extraction layer Bf2-1 can be omitted.
  • FIG. 7 is a sequence diagram showing a processing flow of the processing system according to the embodiment.
  • the edge device 30 when the inference unit 31 accepts the input of the image (step S1), the input image is input to the DNN1.
  • the feature extraction layer Bf2 extracts the feature amount of the input image as a feature map (step S2) and outputs it to the determination unit 32 (step S3).
  • the detection layer Bd1 executes inference processing for the input image based on the feature map, for example, detection processing (step S4), and outputs the inference process to the determination unit 32 (step S5).
  • the determination unit 32 calculates the reliability based on the inference result by the inference unit 31 (step S6), compares the calculated reliability with a predetermined threshold value, and determines whether or not the reliability is equal to or less than the predetermined threshold value. (Step S7).
  • step S7 When the reliability is not equal to or less than the threshold value (step S7: No), that is, when the reliability exceeds the threshold value, the determination unit 32 outputs the inference result inferred by DNN1 of the inference unit 31 (step S8).
  • step S7 when the reliability is equal to or less than the threshold value (step S7: Yes), the determination unit 32 outputs the feature map to the quantization unit 33 (step S9), and the quantization unit 33 quantizes the feature map (step). S10), transmission to the server device 20 (step S11).
  • the inference unit 21 returns the quantized feature map output from the edge device 30 to the FP32 and uses it as an input to the detection layer Bd2 of the DNN2.
  • the detection layer Bd2 executes inference processing for the input image, for example, detection processing, based on the feature map output from the edge device 30 (step S12).
  • the server device 20 transmits the inference result of the DNN 2 to the edge device 30 (step S13), and outputs the inference result from the edge device 30 (step S14). In the actual embodiment, it is assumed that the inference result is returned to the user, and the final inference result is output from the edge device 30.
  • the inference result of DNN2 may be output from the server device 20, or the server device 20 may be configured to hold the inference result as it is.
  • the edge device 30 may transmit the inference result to the server device 20 when the inference result is used on the server device 20 side.
  • FIG. 8 is a diagram showing the processing time of each DNN selected as an example in the processing system 100.
  • the edge device DNN1 is a model in which the trained feature extraction layer Bf2-1 holding the Residual block Bf-1 is placed in front of YOLOv2 and trained.
  • DNN2 of the server device 20 is YOLOv3 which has been learned.
  • the processing time is also shown for YOLO v2, which is the base model of the edge device 30.
  • the edge device DNN1 has a feature extraction layer Bf2-1 minutes deeper than YOLOv2, so that the processing time is longer than YOLOv2, but the inference accuracy is improved compared to YOLOv2.
  • the processing time per image of the edge device DNN1 is about twice as fast as that of the server device 20 DNN2 YOLOv3. In this way, even when the feature extraction layer Bf2-1 of YOLOv3 is arranged in place of the feature extraction layer of YOLOv2, the DNN1 of the edge device can maintain the speeding up of processing while improving the inference accuracy. It is possible.
  • FIG. 9 is a distribution diagram of the entropy of the test data obtained based on the inference result of DNN1.
  • Offload rate 0 is a state in which all data is processed by the edge device 30 and the original accuracy (acc_origin) is low when not quantized
  • Offload rate 1 is a state in which all data is a server. It is processed by the apparatus 20 and has a high original accuracy (acc_origin) when it is not quantized.
  • Int4 quantization, int6 quantization, and int8 quantization are performed on the feature map by the feature extraction layer Bf2 of the edge device 30.
  • int4 quantization when int6 quantization, and int8 quantization, when int8 quantization is performed on the feature map by the feature extraction layer Bf2 of the edge device 30, the accuracy is improved.
  • the amount of transferred data could be reduced by 75% compared to the case without quantization with almost no loss. Therefore, it is desirable to apply int8 quantization to the quantization of the feature map.
  • a cost term may be provided so that the feature map output by the feature extraction layer Bf2 becomes more sparse.
  • int6 and / or int4 show an offload rate and / or overall accuracy close to int8 in FIG. 10, it shows an offload rate and / or overall accuracy close to int8 among int6 or int4.
  • the smaller of the quantization bit rates may be selected.
  • the quantized feature map may be compressed.
  • an image coding method such as HEVC or VVC may be adopted.
  • a general-purpose compression method such as ZIP may be adopted. It should be noted that the same property as the above-mentioned natural image is intended to be a general property incorporated in image coding such that the correlation between adjacent pixels is often high.
  • dequantization may be performed when quantization is performed, and decoding may be performed when compression is performed. Quantization and / or compression may be performed by an edge device or by another device physically or logically located closer to the edge device (rather than the server device). The dequantization and / or decoding may be performed by the server device or by another device physically or logically located closer to the server device (rather than the edge device).
  • the offload rate exceeds 0.4 (entropy threshold value is 0.5)
  • the threshold value is set to 0.5, it is considered that the offload rate and the accuracy are balanced. 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 threshold value for deciding whether to infer on the edge device side or the server device side As an example, it is conceivable to use the accuracy as a whole as a reference. If the inference on the edge device side or the inference on the server device side does not change the accuracy so much, the edge device side can process it, and if the accuracy drops when the edge device side processes it, the server device side can process it.
  • a threshold that can be processed is desirable. For example, in the case of FIG. 10, it can be seen that when the quantization bit rate is 8 (acc_int8), the threshold value of the offload rate should be 0.4. Then, the threshold value of the entropy of the inference result on the edge side may be determined so that the offload rate becomes 0.4. In the case of FIG. 10, the entropy threshold value may be about 0.5.
  • the feature extraction layer Bf2 in the DNN2'before being arranged in the server device 20 is arranged as the feature extraction layer Bf2 of the DNN1 of the edge device 30, so that the feature map output by the edge device 30 is obtained.
  • the execution of the feature extraction process can be omitted, so that the calculation time of the entire system can be shortened and the delay can be reduced.
  • the output data from the edge device 30 to the server device 20 is not an image to be processed but a feature map extracted from the image, it is possible to reduce the amount of data transfer from the edge device 30 to the server device 20.
  • the edge device transmits a feature map that is neither a processed image or an encoded image nor a commonly used feature quantity such as a frequency signal to the server device, it is a secret to a third party. It is also possible to improve the sex. In order to ensure confidentiality, it is sufficient to impose a constraint that the relationship between the feature map and the input data (target image) is irreversible when learning.
  • DNN1 in which the feature extraction layer Bf2 in DNN2'before being arranged in the server device 20 is arranged in front of the detection layer Bd1 in the edge device 30.
  • this DNN1 we actually performed a classification task and evaluated that it is effective as a lightweight model in terms of both accuracy and speed.
  • the reliability used in determining which inference result of the edge device 30 or the server device 20 is to be adopted is formulated as the entropy of the inference result of DNN1 and the threshold value is set. This made it possible to adjust the offload rate and overall accuracy according to the use case during actual operation.
  • an image has been described as an example of the data to be processed, but the detection result may be detected by various sensors, not limited to the image.
  • the case where YOLOv2 and YOLOv3 are applied as the base model of DNN1 and DNN2 has been described as an example, but the base model of DNN1 and DNN2 may be appropriately set according to the task.
  • 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.
  • each component of each of the illustrated devices is functional and conceptual, 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. 11 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)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)
  • Apparatus For Radiation Diagnosis (AREA)

Abstract

処理システム(100)は、エッジ装置(30)とサーバ装置(20)とを用いて行われる処理システムであって、エッジ装置(30)は、第1のモデルを用いて、処理対象データの特徴量を抽出し、抽出した特徴量を基に処理対象データに対する推論処理を実行する推論部(31)と、推論部(31)による推論結果に対する信頼度が閾値を超えた場合には推論部(31)による推論結果を出力し、信頼度が閾値以下である場合には処理対象データの特徴量をサーバ装置(20)に出力する判定部(32)と、を有し、サーバ装置(20)は、第1のモデルよりも推論精度が高い第2のモデルを用いて、エッジ装置(30)から出力された処理対象データの特徴量を基に処理対象データに対する推論処理を実行する推論部(21)と、を有する。

Description

処理システム、処理方法及び処理プログラム
 本発明は、処理システム、処理方法及び処理プログラムに関する。
 センサに代表されるIoTデバイスにより収集されたデータのデータ量は、膨大であるため、クラウドコンピューティングで収集されたデータを集約及び処理する際、膨大な通信量が発生する。このため、ユーザに近いエッジ装置でも、収集されたデータを処理するエッジコンピューティングに注目が集まっている。
 しかしながら、エッジ装置で用いられる装置の演算量やメモリ等のリソースは、エッジ装置よりもユーザから物理的及び論理的に遠くに配置されたエッジ装置以外の装置(以下、簡便のためクラウドと記載する)と比して、貧弱である。このため、演算負荷が大きい処理をエッジ装置で行うと、処理が完了するまでに多大な時間を要したり、演算量が大きくない他の処理が完了するまでにも時間を要したりする場合がある。例えば、演算量が大きな処理がエッジ装置で行われている間に、他の処理について処理待ちが発生してしまうような場合である。
 ここで、演算量が大きい処理の一つに機械学習に係る処理が挙げられる。非特許文献1には、いわゆるアダプティブラーニングのエッジ・クラウドへの適用が提案されている。すなわち、非特許文献1に記載の方法は、クラウドで汎用的な学習データを用いて学習を行った学習済みモデルをエッジ装置に展開し、エッジ装置で取得されたデータを用いて、クラウドで学習を行ったモデルに対して再度学習を行うことでクラウドとエッジ装置との利点を活かした運用を実現している。
:大越他, "クラウド・エッジ連携によるDNNモデル運用方式の提案と評価", 第80回全国大会講演論文集 2018(1), 3-4, 2018-03-13.
 上記のエッジ・クラウドネットワークは、例えば、監視カメラ映像の自動分析、自動運転、スマートスピーカー等などのアプリケーションへの適用が期待されている。これらのアプリケーションでは、精度とともに、リアルタイム性が重要とされているものの、エッジ・クラウド間の、通信コストや遅延が問題となっていた。
 本発明は、上記に鑑みてなされたものであって、エッジ装置からサーバ装置に対するデータ転送量の低減及び低遅延化を図ることができる処理システム、処理方法及び処理プログラムを提供することを目的とする。
 上述した課題を解決し、目的を達成するために、本発明に係る処理システムは、エッジ装置とサーバ装置とを用いて行われる処理システムであって、エッジ装置は、第1のモデルを用いて、処理対象データの特徴量を抽出し、抽出した特徴量を基に処理対象データに対する推論処理を実行する第1の推論部と、第1の推論部による推論結果に対する信頼度が閾値を超えた場合には第1の推論部による推論結果を出力し、信頼度が閾値以下である場合には処理対象データの特徴量をサーバ装置に出力する判定部と、を有し、サーバ装置は、第1のモデルよりも推論精度が高い第2のモデルを用いて、エッジ装置から出力された処理対象データの特徴量を基に処理対象データに対する推論処理を実行する第2の推論部と、を有することを特徴とする。
 本発明によれば、エッジ装置からサーバ装置に対するデータ転送量の低減及び低遅延化を図ることができる。
図1は、実施の形態に係る処理システムの処理方法の概要を説明する図である。 図2-1は、DNN1及びDNN2の一例を説明する図である。 図2-2は、DNN1及びDNN2の一例を説明する図である。 図3は、実施の形態に係る処理システムの構成の一例を模式的に示す図である。 図4は、DNNのベースモデルの選定例について説明する図である。 図5は、YOLOv3の構造の概略を示す図である。 図6-1は、DNNの構造の一例を説明する図である。 図6-2は、DNNの構造の一例を説明する図である。 図7は、実施の形態に係る処理システムの処理の流れを示すシーケンス図である。 図8は、処理システムにおいて一例として選定した各DNNの処理時間を示す図である。 図9は、DNNの推論結果を基に求めたテストデータのエントロピーの分布図である。 図10は、オフロード率と全体精度との関係を示す図である。 図11は、プログラムが実行されることにより、エッジ装置及びサーバ装置が実現されるコンピュータの一例を示す図である。
 以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
[実施の形態]
[実施の形態の概要]
 本発明の実施の形態について説明する。本発明の実施の形態では、学習済みの高精度モデル及び軽量モデルを使って推論処理を行う処理システムについて説明する。なお、実施の形態の処理システムでは、推論処理において用いるモデルとして、DNN(Deep Neural Network)を用いた場合を例に説明する。実施の形態の処理システムでは、どのようなニューラルネットワークを用いてもよいし、学習済みモデルに代えて低演算量の信号処理と高演算量の信号処理を用いてもよい。
 図1は、実施の形態に係る処理システムの処理方法の概要を説明する図である。実施の形態の処理システムは、高精度モデル及び軽量モデルは、モデルカスケードを構成する。実施の形態の処理システムでは、高速かつ低精度な軽量モデル(例えば、DNN1(第1のモデル))を用いるエッジ装置と、低速かつ高精度な高精度モデル(例えば、DNN2(第2のモデル))を用いるクラウド(サーバ装置)とのいずれにおいて処理を実行するかを、信頼度を用いて制御する。例えば、サーバ装置は、ユーザから物理的及び論理的に遠い場所に配置された装置である。エッジ装置は、ユーザから物理的及び論理的に近い場所に配置されたIoT機器及び各種端末装置であり、サーバ装置と比してリソースが少ない。
 DNN1及びDNN2は、入力された処理対象データを基に推論結果を出力するモデルである。図1の例では、DNN1は、画像を入力とし、画像から抽出した特徴量を基に、当該画像に写る物体のクラスごとの確率を推論する。DNN2は、DNN1が抽出した特徴量(所定の中間層の出力を意図する、以下、特徴マップという)を入力として、推論対象である画像に写る物体のクラスごとの確率を推論する。なお、DNN1及びDNN2は、いずれも同じ画像に対する推論を行う。また、処理システムでは、エッジ装置において、信頼度(後述)と閾値との比較結果に基づいて、DNN1及びDNN2のいずれにおける推論結果を採用するかを判定する。信頼度は、エッジ装置とサーバ装置とのいずれにおいて処理対象データを処理すべきかを判定するための値である。信頼度は、例えば、DNN1による推論結果のエントロピーに基づいて求めてもよい。信頼度はDNN1の推論結果のエントロピーが高いほど小さくなる値とすればよい。具体例は後述する。
 図1に示すように、処理システムでは、入力画像に写る物体に対するDNN1のクラス分類の推論についての信頼度を取得する。そして、処理システムでは、取得した信頼度が所定の閾値を超える場合、DNN1の推論結果が採用される。つまり、軽量モデルの推論結果が、モデルカスケードの最終的な推定結果として出力される。一方で、処理システムでは、信頼度が所定の閾値以下である場合、DNN1が抽出した特徴マップをDNN2に入力して得られた推論結果が、最終的な推論結果として出力される。
 このように、実施の形態に係る処理システムは、エッジ装置とサーバ装置とのいずれにおいて処理対象データを処理すべきかを、信頼度と閾値との比較結果を基に、エッジ装置またはサーバ装置を選択して、処理対象データを処理する。このため、実施の形態に係る処理システムは、エッジ装置とクラウドとのいずれにおいて処理を実行するかを制御することができる。
[軽量モデル及び高精度モデル]
 次に、DNN1、DNN2について説明する。図2-1及び図2-2は、DNN1及びDNN2の一例を説明する図である。DNNは、データが入る入力層、入力層から入力されたデータを様々に変換する複数の中間層、確率や尤度など、いわゆる推論した結果を出力する出力層を有する。各層から出力される出力値は、入力されるデータが匿名性を保つ必要がある場合は非可逆としてもよい。
 上述したように、処理システムは、クラウド側でDNN2を用い、エッジ側でDNN1を用いる。クラウド側に配置する前のDNN2´として、入力画像の特徴量を抽出して特徴マップとして出力する特徴抽出層Bf2と、抽出された特徴量を用いた処理を行う層(たとえば、入力画像に写る物体を検知したり、入力画像に写る物体のクラスごとの確率を推論したりする層(以下まとめて検知層Bd2という))検知層Bd2(第2の実行部)とを有する高精度モデルを採用する(図2-1参照)。処理システムでは、予め学習用データを用いて、配置前にDNN2´を訓練する。
 そして、処理システムでは、エッジ側に配置する前に、エッジ側に配置する前のDNN1´の特徴量抽出層Bf1に代えて、訓練済みのDNN2´の特徴抽出層Bf2を、そのままエッジ側の軽量な検知層Bd1の前段に配置し(図2-1の矢印Y1参照)、特徴抽出層Bf2(第1の抽出部)と検知層Bd1(第1の実行部)とを組み合わせたDNNを、エッジ側のDNN1とする(図2-2参照)。検知層Bd1は、DNN1の特徴抽出層Bf2が抽出した特徴マップ(ある層の特徴量)を用いて、入力画像に写る物体のクラスごとの確率を推論する。ここで、エッジ側に配置したDNN1とクラウド側に配置したDNN2の構成について説明する。エッジ側に配置したDNN1は、当初のDNN1から特徴量抽出層Bf1(図2-1参照)を削除し、訓練済みのDNN2´の特徴量抽出層Bf2を代わりに配置する(図2-2参照)。すなわち、DNN2´の特徴量抽出層Bf2と、DNN1´の検知層Bd1との組合せからなるDNN1が、エッジ側に配置される。なお、図2-2に示すDNN1のうち、特徴量抽出層Bf2を固定し、再度学習を行ってもよい。また、サーバ側に配置するDNN2は、当初のDNN2´(図2-1参照)から、特徴量抽出層Bf2を削除した構成となる(図2-2参照)。
 DNN1については、特徴抽出層Bf2のパラメータを当初のDNN2´の訓練後のパラメータに固定し、後段の検知層Bd1を、学習用データを用いて訓練する。或いは、DNN1については、特徴抽出層Bf2及び検知層Bd1のいずれに対しても、学習用データを用いて訓練する。また、DNN2とDNN1とで独立して学習を行う他、DNN2とDNN1とで連携して学習を行ってもよい。例えば、DNN1が用いた学習用データを用いてDNN2を再訓練してもよい。また、DNN1とDNN2との相互で、共通する学習用データを用いて訓練を行ってもよい。
 本実施の形態に係る処理システムでは、当初のDNN2´における特徴抽出層Bf2を、エッジ側のDNN1の特徴抽出層Bf2として配置する。このため、クラウド側のDNN2の検知層Bd2は、エッジ側のDNN1の特徴抽出層Bf2が出力した特徴マップを用いて推論処理を実行することが可能になる(図2-2の矢印Y2参照)。したがって、本実施の形態に係る処理システムでは、エッジ・クラウド間で同じ特徴マップを共有して、エッジ側、クラウド側のそれぞれにおいて、推論処理が可能であるといえる。
 これによって、クラウド側で推論を行う場合に、特徴抽出処理の実行を省略できるため、計算時間を短縮することができ、低遅延化を図ることが可能になる。また、エッジ側からクラウド側に出力するデータは、処理対象の画像ではなく、画像から抽出した特徴マップであるため、エッジ側からクラウド側に対するデータ転送量を低減することが可能になる。なお、エッジ・クラウド間で同じ特徴マップを共有できればよいため、エッジ側に実際に配置されるDNN1の特徴抽出層Bf2と、当初のDNN2´の特徴抽出層Bf2とが満たすべき最小の条件は、接続する層のサイズが一致することである。これは、DNN1の検知層については改めて再学習を行うためである。なお、DNN1の特徴抽出層Bf2とDNN2´の特徴抽出層Bf2とでパラメータの値が異なっていてもよい。
[処理システム]
 次に、処理システムの構成について説明する。図3は、実施の形態に係る処理システムの構成の一例を模式的に示す図である。
 実施の形態に係る処理システム100は、サーバ装置20及びエッジ装置30を有する。また、サーバ装置20及びエッジ装置30は、ネットワークNを介して接続される。ネットワークNは、例えばインターネットである。例えば、サーバ装置20は、クラウド環境に設けられたサーバである。また、エッジ装置30は、例えば、IoT機器及び各種端末装置である。
 サーバ装置20及びエッジ装置30は、それぞれROM(Read Only Memory)、RAM(Random Access Memory)、CPU(Central Processing Unit)等を含むコンピュータ等に所定のプログラムが読み込まれて、CPUが所定のプログラムを実行することで実現される。また、GPUやVPU(Vision Processing Unit)、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)や専用のAI(Artificial Intelligence)チップに代表されるいわゆるアクセラレータも用いられる。サーバ装置20及びエッジ装置30は、それぞれ、NIC(Network Interface Card)等を有し、LAN(Local Area Network)やインターネットなどの電気通信回線を介した他の装置との間の通信を行うことも可能である。
 図3に示すように、サーバ装置20は、学習済みの高精度モデルであるDNN2を用いて推論を行う推論部21(第2の推論部)を有する。DNN2は、モデルパラメータ等の情報を含む。DNN2は、前述したように検知層Bd2を有する。
 推論部21は、DNN2を用いて、エッジ装置30から出力された入力画像の特徴マップを基に、入力画像に対する推論処理を実行する。推論部21は、エッジ装置30から出力された、量子化された特徴マップを、FP32に戻して、DNN2の検知層Bd2の入力とする。推論部21は、DNN2の出力として推論結果(例えば、画像に写る物体のクラスごとの確率)を取得する。推論部21は、推論用データ、つまりDNN1の特徴抽出層のBf2の出力値を受け付け、推論結果を出力する。特徴マップは、ラベルが未知のデータの特徴量であるものとする。例えば、推論用データは、画像である。また、推論結果をユーザに返す場合、推論部21で得られた推論結果はエッジ装置30に伝送され、エッジ装置30からユーザに返してもよい。
 ここで、サーバ装置20及びエッジ装置30は、モデルカスケードを構成する。このため、推論部21は、常に推論を行うわけではない。推論部21は、推論処理をサーバ装置20に実行させると判定された場合に、量子化された特徴マップの入力を受け付けて、DNN2の検知層Bd2による推論を行う。
 エッジ装置30は、学習済みの軽量モデルであるDNN1を有する推論部31(第1の推論部)と、判定部32と、量子化部33を有する。
 推論部31は、学習済みの軽量モデルであるDNN1を用いて推論を行う。DNN1は、モデルパラメータ等の情報を含む。DNN1は、前述したように訓練済みのDNN2´(図2-1参照)の特徴抽出層Bf2と、検知層Bd1とを有する。推論部31は、DNN1を用いて、入力画像の特徴量を特徴マップとして抽出し、抽出した特徴マップを基に入力画像に対する推論処理を実行する。
 推論部31は、DNN1に、処理対象の画像を入力して推論結果を取得する。推論部31は、DNN1を用いて、処理対象データの特徴量を抽出し、抽出した特徴量を基に前記処理対象データに対する推論処理を実行する。推論部31は、処理対象の画像の入力を受け付け、処理対象の画像を処理し、推論結果(例えば、画像に写る物体のクラスごとの確率)を出力する。
 判定部32は、エッジ装置30とサーバ装置20とのいずれの推論結果を採用するか否かを、信頼度と所定の閾値とを比較することで判定する。
 判定部32は、信頼度が所定の閾値を超えた場合、推論部31が推論した推論結果を出力する。判定部32は、信頼度が所定の閾値以下である場合、エッジ側のDNN1につなげられた特徴抽出層Bf2の出力である特徴マップをサーバ装置20に出力して、推論処理をサーバ装置20に配置されたDNN2に実行させることを判定する。
 信頼度は、前述したようにDNN1の推論結果のエントロピーが大きいほど小さくなる値とすればよい。DNN1の推論結果のエントロピーは、式(1)で求めればよい。Cは、DNN1で出力される全てのラベルcの集合であり、yはそれぞれのラベルの確率である。信頼度は、このように求めたエントロピーから、例えば信頼度=1/エントロピーのように求めればよい。
Figure JPOXMLDOC01-appb-M000001
 量子化部33は、判定部32が推論処理をサーバ装置20に実行させることを判定した場合、DNN1の特徴抽出層Bf2によって抽出された特徴マップを量子化し、量子化した特徴マップをサーバ装置20に出力する。
[DNN1、DNN2のモデル選定例]
 図4は、DNN1、DNN2のベースモデルの選定例について説明する図である。本実施の形態では、物体のクラスごとの確率を推論するモデルとして、図4に示すように、比較的軽量かつ高速であるYOLOv2のバックエンドモデルであるdarknet19(以下、YOLOv2と記載する。)を、エッジ装置30のベースモデルとして選定し、比較的高精度であるYOLOv3のバックエンドモデルであるdarknet53(以下、YOLOv3と記載する。)を、サーバ装置20のベースモデルとして選定した。選定したNNは例であり、高精度なNNと、高速であるNNであって高精度なNNよりも精度は落ちるNNとであって、特徴量抽出層を共有できるNNであればどのように選択をしてもよい。簡単な例では、同一のNNで、エッジ装置30とサーバ装置20とで深さが異なるように構成してもよい。
 図5は、YOLOv3の構造の概略を示す図である。DNN1、DNN2のベースモデルの選定例について説明する図である。YOLOv3は、Residual block Bf-1を有する特徴抽出を行う畳み込み層(特徴抽出層)Bf-1と、物体検知用のネットワーク(FPN)である検知部Bd2-1とを有する。ここで、エッジ・クラウド間で特徴マップを共有するために、以下に注目した。
 まず、Residual block Bf-1が入ることで、YOLOv3では、高精度を保持する。このため、Residual block Bf-1内の構成を損なうことを避けることが望ましい。続いて、YOLOv3では、検知部Bd2-1が特徴マップをそのまま用いて検知を実行できるように、検知部Bd2-1の前段で特徴マップを受けつける構成とすることが望ましい。なお、層が深くなるほど(多くなるほど)、モデルの計算が重くなり、使用するパラメータ数も多くなる。このため、エッジ装置30のDNN1は、軽量かつ高速とするために、層が浅いモデルであることが望ましい。
[DNN1,DNN2の構造の一例]
 図6-1及び図6-2は、DNN1,DNN2の構造の一例を説明する図である。YOLOv3のResidual block Bf-1内の構成を損なうことを避けるため、Residual block Bf-1を保持する学習済みの特徴抽出層Bf2-1を、そのまま、エッジ装置30のベースモデルとして選定したYOLOv2の前段に配置し(図6-1の矢印Y11)、エッジ装置30のDNN1とした。したがって、エッジ装置30では、このように再構築したYOLOv2を用いて、特徴抽出層Bf2-1において画像から特徴マップを抽出し、抽出した特徴マップを用いて、検知層Bd1-1において、入力画像に写る物体のクラスごとの確率を推論する。
 そして、エッジ装置30では、検知層Bd1-1の結果(Result1)の信頼度が所定の閾値を超える場合には、Result1が信頼できるとして、Result1を出力して(図6-2の矢印Y11参照)処理を終了する。ここで、前述したように、エッジ装置30における特徴抽出層Bf2-1は、サーバ装置20のベースモデルであるYOLOv3の特徴抽出層Bf2-1と共通の構造を有するため、特徴抽出層Bf2-1から出力された特徴マップは、サーバ装置20の検知部Bd2-1においても共有が可能である。なお、サーバ装置20では、YOLOv3から特徴抽出層Bf2-1を削除した構成のYOLOv3を、DNN2として適用する。
 そこで、エッジ装置30では、Result1が閾値以下である場合には、Result1が信頼できないとして、特徴抽出層Bf2-1の特徴マップをエッジ装置30に量子化後に出力する(図6-2の矢印Y12参照)。そして、サーバ装置20では、この特徴マップをFP32に戻して、特徴マップを、再構築後のYOLOv3の検知部Bd2-1に入力し、検知部Bd2-1の推論結果(Result2)を出力する(図6-2の矢印Y13参照)。したがって、サーバ装置20での計算範囲は、検知部Bd2-1での計算範囲となる。言い換えると、サーバ装置20では、特徴抽出層Bf2-1での計算を省略できる。
[処理システムの処理手順]
 図7は、実施の形態に係る処理システムの処理の流れを示すシーケンス図である。図7に示すように、まず、エッジ装置30において、推論部31は、画像の入力を受け付けると(ステップS1)、入力画像をDNN1に入力する。DNN1では、特徴抽出層Bf2が、入力画像の特徴量を特徴マップとして抽出し(ステップS2)、判定部32に出力する(ステップS3)。DNN1では、検知層Bd1が、特徴マップを基に入力画像に対する推論処理、例えば、検知処理を実行し(ステップS4)、判定部32に出力する(ステップS5)。
 判定部32は、推論部31が推論結果に基づいて信頼度を計算し(ステップS6)、計算した信頼度と所定の閾値とを比較し信頼度が所定の閾値以下であるか否かを判定する(ステップS7)。
 信頼度が閾値以下でない場合(ステップS7:No)、すなわち、信頼度が閾値を超える場合、判定部32は、推論部31のDNN1が推論した推論結果を出力する(ステップS8)。
 一方、信頼度が閾値以下である場合(ステップS7:Yes)、判定部32は、特徴マップを量子化部33に出力し(ステップS9)、量子化部33は、特徴マップを量子化し(ステップS10)、サーバ装置20に送信する(ステップS11)。
 サーバ装置20では、推論部21が、エッジ装置30から出力された、量子化された特徴マップを、FP32に戻して、DNN2の検知層Bd2の入力とする。検知層Bd2が、エッジ装置30から出力された特徴マップを基に、入力画像に対する推論処理、例えば、検知処理を実行する(ステップS12)。サーバ装置20は、DNN2の推論結果をエッジ装置30に送信し(ステップS13)、エッジ装置30から出力される(ステップS14)。なお、本実の形態では、ユーザに推論結果を返す構成を想定し、エッジ装置30から最終的な推論結果を出力する構成としているが、サーバ装置20側で最終的な推論結果を用いる場合は、DNN2の推論結果をサーバ装置20から出力する、或いは、サーバ装置20でそのまま保持するよう構成してもよい。DNN1の推論結果を使用する場合には、エッジ装置30は、サーバ装置20側で当該推論結果を用いる場合、推論結果をサーバ装置20に送信すればよい。
[評価実験1]
 エッジ装置30のDNN1の処理時間と、サーバ装置のDNN2の処理時間とを評価した。タスクは、分類であり、テストデータは、ImageNet(各クラス300枚、計3000画像)であり、HWは、Platform: NVIDIA GeForceRTX2070+AMD 3600である。図8は、処理システム100において一例として選定した各DNNの処理時間を示す図である。
 図8において、エッジ装置のDNN1は、Residual block Bf-1を保持する学習済みの特徴抽出層Bf2-1を、YOLOv2の前段に配置し、訓練を行ったモデルである。サーバ装置20のDNN2は、学習済みのYOLOv3である。比較のために、エッジ装置30のベースモデルであるYOLOv2についても処理時間を示す。
 図8に示すように、エッジ装置のDNN1は、YOLOv2よりも特徴抽出層Bf2-1分、層を深くしたため、YOLOv2よりも処理時間が長くなっているものの、YOLOv2よりも推論精度の改善が見られた。そして、エッジ装置のDNN1は、サーバ装置20のDNN2であるYOLOv3よりも、画像1枚当たりの処理時間が約2倍速い。このように、エッジ装置のDNN1は、YOLOv3の特徴抽出層Bf2-1を、YOLOv2の特徴抽出層に代えて配置した場合であっても、推論精度を上げつつ、処理の高速化についても維持が可能である。
[評価実験2]
 エッジ装置30のDNN1を用いて、テストデータのエントロピーの分布を可視化した。タスク、テストデータ、HWは、図8と同じ条件である。図9は、DNN1の推論結果を基に求めたテストデータのエントロピーの分布図である。
 エントロピーが高いほど、DNN1の推論結果が信頼できない。このため、モデルカスケードにおいてエッジ装置とサーバ装置とのいずれにおいて処理を実行するかを判定するための評価値として、信頼度を採用することは適切であることといえる。そして、ほとんどのデータのエントロピーが0.5以下であるため、エッジ装置とサーバ装置とのいずれにおいて処理を実行するかを判定する際に使用するエントロピーの閾値は、0.5を目安として設定すればよいと考えられる。
[評価実験3]
 そこで、エントロピーの閾値(オフロード率)の変動に伴う推論結果の全体精度の変動を求める評価実験3を行った。なお、閾値は、オフロード率に連動し、オフロード率を下げる場合には閾値を上げる。この評価実験では、int4、int6、int8で、エッジ装置30の特徴抽出層Bf2によって抽出された特徴マップに対する量子化を行った。なお、タスク、テストデータ、HWは、図8と同じ条件である。図10は、オフロード率と全体精度との関係を示す図である。図10において、「Offload rate 0」は、全てのデータがエッジ装置30により処理され、量子化しない場合のオリジナル精度(acc_origin)が低い状態であり、「Offload rate 1」は、すべてのデータがサーバ装置20により処理され、量子化しない場合のオリジナル精度(acc_origin)が高い状態である。エッジ装置30の特徴抽出層Bf2による特徴マップに対しては、int4量子化、int6量子化、int8量子化を行っている。
 このうち、図10に示すように、int4量子化、int6量子化、int8量子化のうち、エッジ装置30の特徴抽出層Bf2による特徴マップに対してint8量子化を行った場合には、精度をほぼ落とさずに、転送データ量を、量子化しない場合と比して75%削減できた。したがって、特徴マップの量子化には、int8量子化を適用することが望ましい。
 なお、特徴抽出層Bf2が出力する特徴マップが、よりスパースになるようなコスト項を設けてもよい。その結果、int6及び/またはint4が図10におけるint8と近しいオフロード率及び/または全体精度を示すようになった場合、int6またはint4のうち、int8と近しいオフロード率及び/または全体精度を示す量子化ビットレートのうちより小さい方を選択すればよい。
 また、量子化された特徴マップを圧縮してもよい。圧縮しようとする場合、特徴マップも量子化された特徴マップも対象の画像に含まれる、自然画像と同様の性質を有するため、HEVCやVVCなどの画像符号化方式を採用してもいいし、ZIPなどの汎用的な圧縮方式を採用してもいい。なお、前述した自然画像と同様の性質とは、隣接する画素間の相関は高い場合が多い、というような画像符号化に取り入れられている一般的な性質を意図する。また、量子化を行う場合は逆量子化を、圧縮を行う場合は復号を行えばよい。量子化及び/または圧縮はエッジ装置で行ってもいいし物理的若しくは論理的に(サーバ装置よりも)エッジ装置の近くに配置された別の装置で行ってもいい。逆量子化及び/または復号化は、サーバ装置で行ってもいいし、物理的若しくは論理的に(エッジ装置よりも)サーバ装置の近くに配置された別の装置で行ってもよい。
 また、オフロード率が0.4(エントロピー閾値が0.5)を超えると、オフロード率を上げても、すなわち、エントロピー閾値を下げても、精度の向上が少なくなっている。このため、閾値を0.5に設定すると、オフロード率と精度のバランスが取れるものと考えられる。このように、オフロード率と精度とのバランスに応じて閾値を設定することで、それぞれのユースケースに応じたオフロード率や全体精度の調整が可能になる。
 ここで、エントロピーの閾値を決める理由についてさらに説明する。エントロピーの閾値を下げるということは、オフロード率が高くなるということを意味する。つまり、エントロピーの閾値を下げることで、サーバ装置側で推論するデータ数が増えるといいかえてもよい。
 ここで、エッジ装置側で推論するかサーバ装置側で推論するかを決めるための閾値について考える。一例として、全体としての精度を基準とすることが考えられる。エッジ装置側で推論してもサーバ装置側で推論しても精度があまりかわらない程度であればエッジ装置側で処理でき、エッジ装置側で処理をしたときに精度が下がる場合にサーバ装置側で処理できるような閾値が望ましい。例えば図10の場合、量子化ビットレートを8(acc_int8)とした場合にオフロード率の閾値を0.4にすればよいことがわかる。そして、オフロード率が0.4となるようにエッジ側の推論結果のエントロピーの閾値を決定すればよい。図10の場合、エントロピー閾値は、0.5程度とすればよい。
[実施の形態の効果]
 このように、実施の形態では、サーバ装置20に配置する前のDNN2´における特徴抽出層Bf2を、エッジ装置30のDNN1の特徴抽出層Bf2として配置することで、エッジ装置30が出力した特徴マップを、サーバ装置20においても共有することができる。すなわち、サーバ装置20のDNN2の検知層Bd2は、エッジ装置30のDNN1の特徴抽出層Bf2が出力した特徴マップを用いて推論処理を実行することが可能になる。
 したがって、サーバ装置20側で推論を行う場合に特徴抽出処理の実行を省略できるため、システム全体の計算時間を短縮することができ、低遅延化を図ることが可能になる。また、エッジ装置30からサーバ装置20への出力データは、処理対象の画像ではなく、画像から抽出した特徴マップであるため、エッジ装置30からサーバ装置20に対するデータ転送量を低減することが可能になる。また、エッジ装置は、処理対象の画像や符号化された画像でも、周波数信号のような一般的に用いられる特徴量でもない特徴マップを、サーバ装置に送信しているため、第三者に対する秘密性の向上を図ることもできる。秘密性を確実に担保しようとする場合、学習を行う際に、さらに特徴マップと入力データ(対象の画像)との関係を非可逆とする制約を課せばよい。
 実施の形態では、サーバ装置20に配置する前のDNN2´における特徴抽出層Bf2を、エッジ装置30の検知層Bd1の前段に配置したDNN1を提案した。このDNN1については、実際に分類タスクを行い、精度及び速さともに軽量モデルとして有効であることを評価できた。
 また、本実施の形態では、エッジ装置30とサーバ装置20とのいずれの推論結果を採用するかを判定する際に使用する信頼度を、DNN1の推論結果のエントロピーとして定式化し、閾値を設定することによって、実際の運用時におけるユースケースに応じたオフロード率や全体精度の調整を可能とした。
 なお、本実施の形態では、処理対象データとして画像を例に説明したが、画像に限らず、各種センサが検知した検知結果でもよい。また、本実施の形態では、DNN1,DNN2のベースモデルとして、YOLOv2,YOLOv3を適用した場合を例に説明したが、DNN1,DNN2のベースモデルは、タスクに応じて適宜設定すればよい。
 また、本実施の形態では、エッジ装置30またはサーバ装置20が複数であってもよく、また、エッジ装置30とサーバ装置20とがいずれも複数であってもよい。
[システム構成等]
 図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
 また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部又は一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
 図11は、プログラムが実行されることにより、エッジ装置30及びサーバ装置20が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、演算を補助するために前述したアクセラレータを備えてもよい。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
 メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
 ハードディスクドライブ1090は、例えば、OS(Operating System)1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、エッジ装置30及びサーバ装置20の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、エッジ装置30及びサーバ装置20における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
 また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
 なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
 以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例及び運用技術等は全て本発明の範疇に含まれる。
 20 サーバ装置
 21,31 推論部
 30 エッジ装置
 32 判定部
 33 量子化部
 100 処理システム

Claims (6)

  1.  エッジ装置とサーバ装置とを用いて行われる処理システムであって、
     前記エッジ装置は、
     第1のモデルを用いて、処理対象データの特徴量を抽出し、抽出した特徴量を基に前記処理対象データに対する推論処理を実行する第1の推論部と、
     前記第1の推論部による推論結果に対する信頼度が閾値を超えた場合には前記第1の推論部による推論結果を出力し、前記信頼度が閾値以下である場合には前記処理対象データの特徴量を前記サーバ装置に出力する判定部と、
     を有し、
     前記サーバ装置は、
     前記第1のモデルよりも推論精度が高い第2のモデルを用いて、前記エッジ装置から出力された前記処理対象データの特徴量を基に前記処理対象データに対する推論処理を実行する第2の推論部と、
     を有することを特徴とする処理システム。
  2.  前記第1のモデルは、
     前記処理対象データの特徴量を抽出する第1の抽出部と、
     前記処理対象データの特徴量を基に第1の推論処理を実行する第1の実行部と、
     を有し、
     前記第2のモデルは、
     前記処理対象データの特徴量を基に第2の推論処理を実行する第2の実行部
     を有し、
     前記第2の実行部は、前記第1の抽出部によって抽出された前記処理対象データの特徴量を基に、前記第2の推論処理を実行することを特徴とする請求項1に記載の処理システム。
  3.  前記判定部は、量子化した前記処理対象データの特徴量を前記サーバ装置に出力することを特徴とする請求項1または2に記載の処理システム。
  4.  前記信頼度は、前記第1の推論部による推論結果のエントロピーに基づくことを特徴とする請求項1~3のいずれか一つに記載の処理システム。
  5.  エッジ装置とサーバ装置とを用いて行われる処理システムが実行する処理方法であって、
     前記エッジ装置が、第1のモデルを用いて、処理対象データの特徴量を抽出し、抽出した特徴量を基に前記処理対象データに対する推論処理を実行する第1の推論工程と、
     前記エッジ装置が、前記第1の推論工程における推論結果に対する信頼度が閾値を超えた場合には前記第1の推論工程における推論結果を出力し、前記信頼度が閾値以下である場合には前記処理対象データの特徴量を前記サーバ装置に出力する判定工程と、
     前記サーバ装置が、前記第1のモデルよりも推論精度が高い第2のモデルを用いて、前記エッジ装置から出力された前記処理対象データの特徴量を基に前記処理対象データに対する推論処理を実行する第2の推論工程と、
     を含んだことを特徴とする処理方法。
  6.  方法をコンピュータに実行させる処理プログラムであって、
     エッジ装置としてのコンピュータに、
     第1のモデルを用いて、処理対象データの特徴量を抽出し、抽出した特徴量を基に前記処理対象データに対する推論処理を実行する第1の推論ステップと、
     前記第1の推論ステップにおける推論結果に対する信頼度が閾値を超えた場合には前記第1の推論ステップにおける推論結果を出力し、前記信頼度が閾値以下である場合には前記処理対象データの特徴量を出力する判定ステップと、
     を実行させ、
     サーバ装置としてのコンピュータに、
     前記第1のモデルよりも推論制度が高い第2のモデルを用いて、前記エッジ装置から出力された前記処理対象データの特徴量を基に前記処理対象データに対する推論処理を実行する第2の推論ステップ、
     を実行させることを特徴とする処理プログラム。
PCT/JP2020/036394 2020-09-25 2020-09-25 処理システム、処理方法及び処理プログラム WO2022064656A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2022551064A JP7452679B2 (ja) 2020-09-25 2020-09-25 処理システム、処理方法及び処理プログラム
CN202080105384.7A CN116194933A (zh) 2020-09-25 2020-09-25 处理系统、处理方法以及处理程序
PCT/JP2020/036394 WO2022064656A1 (ja) 2020-09-25 2020-09-25 処理システム、処理方法及び処理プログラム
EP20955250.4A EP4220498A4 (en) 2020-09-25 2020-09-25 PROCESSING SYSTEM, PROCESSING METHOD AND PROCESSING PROGRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/036394 WO2022064656A1 (ja) 2020-09-25 2020-09-25 処理システム、処理方法及び処理プログラム

Publications (1)

Publication Number Publication Date
WO2022064656A1 true WO2022064656A1 (ja) 2022-03-31

Family

ID=80846432

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/036394 WO2022064656A1 (ja) 2020-09-25 2020-09-25 処理システム、処理方法及び処理プログラム

Country Status (4)

Country Link
EP (1) EP4220498A4 (ja)
JP (1) JP7452679B2 (ja)
CN (1) CN116194933A (ja)
WO (1) WO2022064656A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024029347A1 (ja) * 2022-08-04 2024-02-08 ソニーセミコンダクタソリューションズ株式会社 情報処理装置、情報処理方法、及び情報処理システム
WO2024057578A1 (ja) * 2022-09-12 2024-03-21 日本電信電話株式会社 抽出システム、抽出方法および抽出プログラム
WO2024079902A1 (ja) * 2022-10-14 2024-04-18 日本電気株式会社 処理制御システム、処理制御装置、および処理制御方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008309945A (ja) * 2007-06-13 2008-12-25 Kddi Corp パターンマッチング方法および装置ならびにその特徴量正規化方法および装置
JP2017126158A (ja) * 2016-01-13 2017-07-20 日本電信電話株式会社 2値分類学習装置、2値分類装置、方法、及びプログラム
JP2018045369A (ja) * 2016-09-13 2018-03-22 株式会社東芝 認識装置、認識システム、認識方法およびプログラム
WO2019220620A1 (ja) * 2018-05-18 2019-11-21 日本電気株式会社 異常検出装置、異常検出方法及びプログラム
JP2020065225A (ja) * 2018-10-19 2020-04-23 株式会社日立製作所 計算機、センシングシステム、及びデータ通信方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008309945A (ja) * 2007-06-13 2008-12-25 Kddi Corp パターンマッチング方法および装置ならびにその特徴量正規化方法および装置
JP2017126158A (ja) * 2016-01-13 2017-07-20 日本電信電話株式会社 2値分類学習装置、2値分類装置、方法、及びプログラム
JP2018045369A (ja) * 2016-09-13 2018-03-22 株式会社東芝 認識装置、認識システム、認識方法およびプログラム
WO2019220620A1 (ja) * 2018-05-18 2019-11-21 日本電気株式会社 異常検出装置、異常検出方法及びプログラム
JP2020065225A (ja) * 2018-10-19 2020-04-23 株式会社日立製作所 計算機、センシングシステム、及びデータ通信方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
MORITA, KAZUNARI : "Use of Homomorphic Encryption for Secret Person Re-identification", IEICE TECHNICAL REPORT, vol. 117, no. 443, 12 February 2018 (2018-02-12), JP , pages 53 - 58, XP009535719, ISSN: 0913-5685 *
OKAYAMA YOSHIAKI: "Overview of Edge with the Cloud in Support of IoT", NIKKEI SYSTEMS, no. 302, 26 May 2018 (2018-05-26), JP , pages 50 - 53, XP009543447, ISSN: 1881-1620 *
OKOSHI ET AL.: "Proposal and Evaluation of DNN Model Operation Method with Cloud/Edge Collaboration", PROCEEDINGS OF THE 80TH NATIONAL CONVENTION, no. 1, 13 March 2018 (2018-03-13), pages 3 - 4
See also references of EP4220498A4

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024029347A1 (ja) * 2022-08-04 2024-02-08 ソニーセミコンダクタソリューションズ株式会社 情報処理装置、情報処理方法、及び情報処理システム
WO2024057578A1 (ja) * 2022-09-12 2024-03-21 日本電信電話株式会社 抽出システム、抽出方法および抽出プログラム
WO2024057374A1 (ja) * 2022-09-12 2024-03-21 日本電信電話株式会社 抽出システム、抽出方法および抽出プログラム
WO2024079902A1 (ja) * 2022-10-14 2024-04-18 日本電気株式会社 処理制御システム、処理制御装置、および処理制御方法

Also Published As

Publication number Publication date
JP7452679B2 (ja) 2024-03-19
CN116194933A (zh) 2023-05-30
JPWO2022064656A1 (ja) 2022-03-31
EP4220498A4 (en) 2024-06-19
EP4220498A1 (en) 2023-08-02

Similar Documents

Publication Publication Date Title
WO2022064656A1 (ja) 処理システム、処理方法及び処理プログラム
CN110084281B (zh) 图像生成方法、神经网络的压缩方法及相关装置、设备
CN113033537B (zh) 用于训练模型的方法、装置、设备、介质和程序产品
US20190156213A1 (en) Gradient compressing apparatus, gradient compressing method, and non-transitory computer readable medium
CN112001914A (zh) 深度图像补全的方法和装置
CN111488985B (zh) 深度神经网络模型压缩训练方法、装置、设备、介质
US10929676B2 (en) Video recognition using multiple modalities
CN110765860A (zh) 摔倒判定方法、装置、计算机设备及存储介质
CN113505848B (zh) 模型训练方法和装置
KR20220130630A (ko) 이미지 처리 방법, 안면 인식 모델 훈련 방법, 장치 및 기기
JP2023507248A (ja) 物体検出および認識のためのシステムおよび方法
US20230143985A1 (en) Data feature extraction method and related apparatus
KR20210076691A (ko) 프레임워크 간 뉴럴 네트워크의 학습을 검증하는 방법 및 장치
CN113971733A (zh) 一种基于超图结构的模型训练方法、分类方法及装置
JP2019197445A (ja) 画像認識装置、画像認識方法、およびプログラム
Appiah et al. Fast generation of image’s histogram using approximation technique for image processing algorithms
CN116363429A (zh) 图像识别模型的训练方法、图像识别方法、装置及设备
CN114724144B (zh) 文本识别方法、模型的训练方法、装置、设备及介质
CN112966600B (zh) 用于拥挤人群计数的自适应多尺度上下文聚合方法
CN114882334A (zh) 用于生成预训练模型的方法、模型训练方法及装置
CN115147895A (zh) 人脸鉴伪方法、装置及计算机程序产品
WO2022269884A1 (ja) 処理方法、処理システム及び処理プログラム
JP2023008671A (ja) 処理システム、処理方法及び処理プログラム
WO2024057578A1 (ja) 抽出システム、抽出方法および抽出プログラム
WO2023286218A1 (ja) 処理方法及び処理システム

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: 20955250

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022551064

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020955250

Country of ref document: EP

Effective date: 20230425