WO2020166084A1 - 情報処理装置、情報処理方法及び情報処理プログラム - Google Patents

情報処理装置、情報処理方法及び情報処理プログラム Download PDF

Info

Publication number
WO2020166084A1
WO2020166084A1 PCT/JP2019/005697 JP2019005697W WO2020166084A1 WO 2020166084 A1 WO2020166084 A1 WO 2020166084A1 JP 2019005697 W JP2019005697 W JP 2019005697W WO 2020166084 A1 WO2020166084 A1 WO 2020166084A1
Authority
WO
WIPO (PCT)
Prior art keywords
layer
neural network
processing performance
reduction
amount
Prior art date
Application number
PCT/JP2019/005697
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 DE112019006560.2T priority Critical patent/DE112019006560T5/de
Priority to JP2020567178A priority patent/JP6854993B2/ja
Priority to CN201980091148.1A priority patent/CN113383347A/zh
Priority to PCT/JP2019/005697 priority patent/WO2020166084A1/ja
Priority to TW108117636A priority patent/TW202032434A/zh
Publication of WO2020166084A1 publication Critical patent/WO2020166084A1/ja
Priority to US17/356,712 priority patent/US20210319285A1/en

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections

Definitions

  • the present invention relates to a neural network.
  • Neural networks (hereinafter also simply referred to as networks) require large-scale calculations. For this reason, when the neural network is directly mounted on a device such as an embedded device having limited resources, the neural network cannot be operated in real time. In order to operate a neural network in real time on a device with limited resources, it is necessary to reduce the weight of the neural network.
  • Patent Document 1 discloses a configuration for improving the inference processing speed of a neural network.
  • Patent Document 1 discloses a configuration in which the product-sum calculation amount in the inference process is reduced by reducing the dimension amount of the weight matrix. More specifically, Patent Document 1 discloses a configuration in which the reduction amount is smaller in the first stage of the neural network and larger in the latter stage of the neural network in order to minimize the reduction in recognition accuracy due to the reduction in the calculation amount.
  • the amount of calculation in the latter stage of the neural network is greatly reduced. Therefore, in a neural network in which the amount of calculation in the subsequent stage is smaller than that in the preceding stage, the amount of calculation in the subsequent stage may be reduced more than necessary.
  • the reduction of the calculation amount affects the recognition accuracy. Therefore, if the amount of calculation in the subsequent stage is reduced more than necessary, the recognition rate may deteriorate and the required recognition accuracy may not be achieved.
  • the technique of Patent Document 1 has a problem that it is not possible to effectively reduce the calculation amount according to the distribution of the calculation amount because the distribution of the calculation amount in the neural network is not considered.
  • the present invention has one of the main purposes to solve the above problems. More specifically, it is a main object of the present invention to effectively reduce the calculation amount of the neural network according to the distribution of the calculation amount in the neural network.
  • the information processing apparatus is A processing performance calculator that calculates the processing performance of the device when a neural network having a plurality of layers is implemented, A request achievement determination unit that determines whether or not the processing performance of the device when the neural network is implemented satisfies the required processing performance, When the processing performance of the device when the neural network is implemented does not satisfy the required processing performance by the request achievement determination unit, the plurality of layers are calculated based on the calculation amount of each layer of the neural network. From among the above, a reduction layer designating unit for designating a reduction layer which is a layer for reducing the amount of calculation.
  • the reduction layer is specified based on the calculation amount of each layer, it is possible to effectively reduce the calculation amount according to the distribution of the calculation amount in the neural network.
  • FIG. 3 is a diagram showing an example of a neural network and an embedded device according to the first embodiment.
  • FIG. 6 is a diagram showing an example of the amount of calculation and processing time of each layer according to the first embodiment.
  • FIG. 4 is a diagram showing an example of reducing the amount of calculation according to the first embodiment.
  • FIG. 3 is a flowchart showing an outline of the operation according to the first embodiment.
  • FIG. 3 is a diagram showing an example of a functional configuration of the information processing apparatus according to the first embodiment.
  • FIG. 3 is a diagram showing a hardware configuration example of the information processing apparatus according to the first embodiment.
  • FIG. 3 is a flowchart showing an operation example of the information processing apparatus according to the first embodiment.
  • 3 is a flowchart showing an operation example of the information processing apparatus according to the first embodiment.
  • FIG. 4 is a diagram showing an example of a reduced amount of calculation according to the first embodiment.
  • FIG. 6 is a diagram showing an example of additional reduction of the amount of calculation according to the first embodiment.
  • FIG. 4 is a diagram showing a reduction example in the case where there are a plurality of layers having the same calculation amount according to the first embodiment. The figure which shows the example of reduction when the difference of the amount of calculation between the layer with the largest amount of calculation and the layer with the second amount of calculation according to Embodiment 1 is less than a threshold value.
  • Embodiment 1 ***Overview***
  • the weight reduction of the neural network in the case where the neural network is mounted on a device such as an embedded device having limited resources will be described. More specifically, in this embodiment, the layer with the largest amount of calculation is extracted from the plurality of layers of the neural network. Then, the calculation amount of the extracted layer is reduced so as to satisfy the required processing performance. In addition, the reduction of the recognition rate is suppressed by performing the re-learning after the reduction of the calculation amount. By repeatedly executing the above procedure, according to the present embodiment, it is possible to obtain a neural network with a small amount of calculation that can be implemented in a device with limited resources.
  • processing time for one layer
  • the processing time for one layer can be calculated by the following formula.
  • Total number of product operations per layer (OP)/device processing capacity (OP/sec) The “total sum of product operations per layer (OP)” can be calculated from the network specifications (parameters). “Device processing capacity (OP/sec)” is uniquely determined for each embedded device. From the above, it is possible to calculate the processing performance when the neural network is mounted on the embedded device. In the following, the processing performance refers to “ ⁇ (processing time for one layer)”, that is, the time required for the embedded device to process all the layers of the neural network (total processing time).
  • the neural network 10 has an L0 layer, an L1 layer, and an L2 layer.
  • the embedded device 20 processes each layer in the order of the L0 layer, the L1 layer, and the L2 layer.
  • the embedded device 20 has a processing capacity of 10 GOP (Giga Operations)/sec.
  • the required processing performance of the embedded device 20 is 1 second.
  • the calculation amount (total product sum calculation number) of the L0 layer is 100 GOP.
  • the calculation amount (total product sum calculation count) of the L1 layer is 0.1 GOP.
  • the calculation amount (total product sum calculation count) of the L2 layer is 0.01 GOP.
  • the neural network 10 is directly mounted on the embedded device 20, as shown in FIG. 2, it takes 10 seconds to process the L0 layer. It takes 0.01 seconds to process the L1 layer.
  • the processing of the L2 layer requires 0.001 seconds.
  • the total processing time of the L0 layer, the L1 layer, and the L2 layer is 10.111 seconds, which does not satisfy the required performance. Therefore, it is necessary to reduce the calculation amount (total product sum calculation number) of the neural network 10.
  • the amount of calculation is reduced by "the reduction amount is smaller in the first stage of the neural network and larger in the latter stage".
  • the required processing performance can be satisfied by reducing the total number of product operations as follows.
  • Reduction amount of total product sum operation count of L0 layer 91%
  • Reduction of total number of product operations in L1 layer 92%
  • Reduction amount of total product sum operations of L2 layer 93%
  • the total number of product operations of the L0 layer is 9 GOP
  • the total number of product operations of the L1 layer is 0.008 GOP
  • the total product sum of the L2 layer is The number of calculations is 0.0007 GOP.
  • the total processing time is 0.90087 seconds, and the required processing performance can be satisfied.
  • the recognition rate may decrease.
  • the L0 layer becomes a bottleneck and cannot satisfy the required processing performance.
  • the calculation amount of the L0 layer which has the largest number of total sum product sum calculations, is reduced.
  • the layer for which the calculation amount is to be reduced is also referred to as a reduction layer below.
  • the value of the total product sum operation count of the reduction layer is calculated so that the required processing performance (1 second in this example) is satisfied.
  • the processing time of the L0 layer needs to be 0.989 seconds. Therefore, it is necessary to reduce the total number of product sum operations in the L0 layer to 9.89 GOP.
  • the total sum of product operations of the reduction layer is reduced by the reduction amount as shown in step S1 of FIG.
  • the neural network 10 is changed so that It should be noted that the number of total product sum operations can be reduced by an arbitrary method. For example, the number of total product sum operations may be reduced by pruning. Further, since the reduction of the calculation amount also affects the recognition accuracy, in the present embodiment, the re-learning is performed after the change of the neural network 10 (reduction of the calculation amount) as shown in step S2 of FIG. It If it is found as a result of re-learning that the desired recognition rate can be achieved, even the changed neural network 10 can satisfy the required processing performance and the required recognition accuracy on the embedded device 20.
  • FIG. 7 shows a functional configuration example of the information processing apparatus 100
  • FIG. 8 shows a hardware configuration example of the information processing apparatus 100.
  • the information processing device 100 is a computer.
  • the information processing apparatus 100 includes a CPU 901, a storage device 902, a GPU (Graphics Processing Unit) 903, a communication device 904, and a bus 905 as hardware.
  • the CPU 901, the storage device 902, the GPU 903, and the communication device 904 are connected to the bus 905.
  • the CPU 901 and the GPU 903 are ICs (Integrated Circuits) that perform processing.
  • the CPU 901 executes a program that realizes the functions of a processing performance calculation unit 101, a request achievement determination unit 102, a reduction layer designation unit 103, a network conversion unit 104, and a recognition rate determination unit 106, which will be described later.
  • the GPU 903 executes a program that realizes the function of the learning unit 105 described below.
  • the storage device 902 is an HDD (Hard Disk Drive), a RAM (Random Access Memory), a ROM (Read Only Memory), or the like.
  • the storage device 902 stores a program that implements the functions of the processing performance calculation unit 101, the request achievement determination unit 102, the reduction layer designation unit 103, the network conversion unit 104, the learning unit 105, and the recognition rate determination unit 106.
  • the programs that implement the functions of the processing performance calculation unit 101, the request achievement determination unit 102, the reduction layer designation unit 103, the network conversion unit 104, and the recognition rate determination unit 106 are read by the CPU 901 and executed by the CPU 901. ..
  • a program that implements the function of the learning unit 105 is read by the GPU 903 and executed by the GPU 903.
  • FIG. 8 the state in which the CPU 901 is executing a program that realizes the functions of the processing performance calculation unit 101, the request achievement determination unit 102, the reduction layer designation unit 103, the network conversion unit 104, and the recognition rate determination unit 106 is schematically shown. Is represented. Further, FIG. 8 schematically illustrates a state in which the GPU 903 is executing a program that realizes the function of the learning unit 105.
  • the communication device 904 is an electronic circuit that executes a data communication process.
  • the communication device 904 is, for example, a communication chip or a NIC (Network Interface Card).
  • the processing performance calculation unit 101 uses the network structure information 111 and the processing capacity information 112 to calculate the processing performance of the embedded device 20 when the neural network 10 is mounted on the embedded device 20.
  • the network structure information 111 shows the total number of product sum operations of each layer of the neural network 10 illustrated in FIG.
  • the network structure information 111 may describe the specifications of the neural network 10 capable of calculating the total number of product sum operations of each layer instead of the number of total product sum operations of each layer.
  • the processing capacity information 112 shows the processing capacity (10 GOP/sec) of the embedded device 20 illustrated in FIG. Instead of the processing capacity of the embedded device 20, the processing capacity information 112 may describe the specifications of the embedded device 20 with which the processing capacity of the embedded device 20 can be calculated.
  • the processing performed by the processing performance calculation unit 101 corresponds to the processing performance calculation processing.
  • the request achievement determination unit 102 determines whether the processing performance of the embedded device 20 calculated by the processing performance calculation unit 101 satisfies the required processing performance described in the required processing performance information 113.
  • the process performed by the request achievement determination unit 102 corresponds to the request achievement determination process.
  • the reduction layer designation unit 103 designates the reduction layer and the reduction amount of the calculation amount of the reduction layer. In other words, when the request achievement determination unit 102 determines that the processing performance of the embedded device 20 when the neural network 10 is implemented does not satisfy the required processing performance, the reduction layer designation unit 103 causes the reduction layer designation unit 103 of each layer of the neural network 10. Based on the calculation amount, a reduction layer, which is a layer for reducing the calculation amount, is designated from a plurality of layers. More specifically, the reduction layer designation unit 103 designates the layer with the maximum amount of calculation as the reduction layer.
  • the reduction layer designating unit 103 determines the reduction amount of the calculation amount of the reduction layer so that the processing performance of the embedded device 20 when the neural network 10 after the reduction of the calculation amount is implemented satisfies the required processing performance. To do.
  • the processing performed by the reduction layer designation unit 103 corresponds to the reduction layer designation processing.
  • the network conversion unit 104 converts the neural network 10 so that the calculation amount of the reduction layer designated by the reduction layer designation unit 103 is reduced by the reduction amount determined by the reduction layer designation unit 103.
  • the learning unit 105 learns the neural network 10 after the conversion by the network conversion unit 104 using the learning data set 114.
  • the recognition rate determination unit 106 analyzes the learning result of the learning unit 105 and determines whether or not the recognition rate of the converted neural network 10 satisfies the required recognition rate described in the required recognition rate information 115.
  • the lightweight network structure information 116 is output.
  • the weight-reduction network structure information 116 indicates the total product sum operation count of each layer of the neural network 10 after conversion.
  • the processing performance calculation unit 101 acquires the network structure information 111 and the processing capacity information 112 and uses the acquired network structure information 111 and the processing capacity information 112 to mount the neural network 10 on the embedded device 20.
  • the processing performance of the embedded device 20 is calculated (step S101).
  • the processing performance calculation unit 101 calculates the processing time of each layer according to “total number of product sum operations per layer (OP)/processing capacity of device (OP/sec)”, and sums the calculated processing time of each layer. Obtain the processing performance of the embedded device 20.
  • the request achievement determination unit 102 determines whether the processing performance of the embedded device 20 calculated by the processing performance calculation unit 101 satisfies the required processing performance described in the required processing performance information 113 (step S102). ).
  • step S103 If the processing performance of the embedded device 20 satisfies the required processing performance (YES in step S103), the processing ends.
  • the reduction layer designation unit 103 performs bottleneck analysis (step S104) to reduce the reduction layer and the amount of calculation of the reduction layer.
  • the amount is designated (step S105).
  • the reduction layer designating unit 103 acquires from the request achievement determining unit 102 the information describing the total number of product sum operations and the processing time of each layer illustrated in FIG. Specify the layer of as the reduction layer.
  • the reduction layer designation unit 103 also outputs information notifying the reduction layer and the reduction amount to the network conversion unit 104.
  • the network conversion unit 104 converts the neural network 10 so that the total product sum operation number of the reduction layers designated by the reduction layer designation unit 103 is reduced by the reduction amount determined by the reduction layer designation unit 103. (Step S106).
  • the network conversion unit 104 converts the neural network by referring to the network structure information 111.
  • the network conversion unit 104 also notifies the learning unit 105 of the converted neural network 10.
  • the learning unit 105 learns the neural network 10 converted by the network conversion unit 104 using the learning data set 114 (step S107).
  • the learning unit 105 outputs the learning result to the recognition rate determination unit 106.
  • the recognition rate determination unit 106 analyzes the learning result of the learning unit 105 and determines whether or not the recognition rate of the converted neural network 10 satisfies the required recognition rate described in the required recognition rate information 115. (Step S108). When the recognition rate of the converted neural network 10 does not satisfy the required recognition rate, the recognition rate determination unit 106 notifies the reduction layer designation unit 103 that the recognition rate does not satisfy the required recognition rate. On the other hand, when the recognition rate of the converted neural network 10 satisfies the required recognition rate, the recognition rate determination unit 106 notifies the processing performance calculation unit 101 that the recognition rate does not satisfy the required recognition rate.
  • the reduction layer designation unit 103 re-designates the reduction amount (step S109). In re-designating the reduction amount, the reduction layer designation unit 103 relaxes the reduction amount. That is, the reduction layer designation unit 103 determines the reduced reduction amount when the recognition rate when the neural network 10 after the reduction of the calculation amount is mounted on the embedded device 20 does not satisfy the required recognition rate. .. For example, the reduction layer designation unit 103 relaxes the reduction amount shown in FIG. In FIG. 11, the reduction layer designation unit 103 relaxes the reduction amount by increasing the total number of product sum operations of the L0 layer from 9.89 GOP to 9.895 GOP. In this case, the processing performance is 1.0005 seconds, which is slightly less than the required processing performance.
  • the processing performance calculation unit 101 calculates the processing performance of the embedded device 20 for the converted neural network 10 (step S110). That is, the processing performance calculation unit 101 calculates the processing performance of the embedded device 20 using the network structure information 111 and the processing capacity information 112 regarding the converted neural network 10.
  • the request achievement determination unit 102 determines whether the processing performance of the embedded device 20 calculated by the processing performance calculation unit 101 satisfies the required processing performance described in the required processing performance information 113 (step S111). ).
  • the processing ends.
  • the request achievement determination unit 102 outputs the lightweight network structure information 116 to a specified output destination.
  • the reduction layer specifying unit 103 performs bottleneck analysis (step S113) to reduce the reduction layer and the amount of calculation of the reduction layer.
  • the amount is specified again (step S114).
  • the reduction layer designation unit 103 designates a layer that has not been designated as a reduction layer as an additional reduction layer.
  • the reduction layer designating unit 103 designates, as an additional reduction layer, a layer having the largest total product sum operation count among layers not yet designated as reduction layers.
  • the L0 layer has already been designated as the reduction layer, and the total product sum operation count of the L1 layer is larger than the total product sum operation count of L2.
  • the reduction layer specification unit 103 adds the L1 layer. Has been designated as a reduction layer. Then, in the example of FIG. 12, the reduction layer designation unit 103 determines to reduce the total product sum operation count of the L1 layer to 0.04 GOP (reduction amount: 0.06 GOP). As a result, the processing performance is 1 second, which satisfies the required processing performance. When all layers have already been designated as reduction layers, the reduction layer designation unit 103 designates the layer with the largest amount of calculation after reduction as the additional reduction layer.
  • Steps S115 to S118 are the same as steps S106 to S109, and a description thereof will be omitted.
  • the reduction layer designation unit 103 preferentially designates the subsequent layer as the reduction layer. That is, when there are two or more layers having the maximum total product sum operation number, the reduction layer designating unit 103 sets the last layer of the two or more layers having the maximum total product sum operation number as the reduction layer. specify. This is because the lower the layer, the less likely it is that the recognition rate will decrease due to the reduction in the amount of calculation. For example, as shown in FIG. 13, when the total number of sum of product operations of the L0 layer and the total number of sum of product operations of the L1 layer are both 100 GOP, the reduction layer designating unit 103 reduces the L1 layer which is the subsequent layer. Specify in the layer.
  • the reduction layer specifying unit 103 may specify the layer with the second calculation amount as the reduction layer.
  • the threshold value is 10% of the calculation amount of the layer having the maximum calculation amount. In this case, as shown in FIG.
  • the reduction layer designating unit 103 designates the L1 layer, which is the subsequent layer, as the reduction layer.
  • the threshold value is not limited to 10%. The user of the information processing device 100 can arbitrarily set the threshold value.
  • the designer of the neural network can automatically obtain the neural network that satisfies the required processing performance of the embedded device, even if he/she does not have knowledge about the embedded device of the mounting destination.
  • the person in charge of implementing the embedded device can automatically obtain the neural network which satisfies the required processing performance of the embedded device without knowledge of the neural network.
  • the storage device 902 stores an OS (Operating System). Then, at least part of the OS is executed by the CPU 901.
  • the CPU 901 executes a program that realizes the functions of the processing performance calculation unit 101, the request achievement determination unit 102, the reduction layer designation unit 103, the network conversion unit 104, and the recognition rate determination unit 106 while executing at least a part of the OS.
  • the CPU 901 executes the OS, task management, memory management, file management, communication control, etc. are performed.
  • the processing performance calculation unit 101, the request achievement determination unit 102, the reduction layer designation unit 103, the network conversion unit 104, the learning unit 105, and the recognition rate determination unit 106 which show information indicating the results of processing, data, signal values, and variable values.
  • At least one of them is stored in at least one of the storage device 902, the register, and the cache memory.
  • the programs that realize the functions of the processing performance calculation unit 101, the request achievement determination unit 102, the reduction layer designation unit 103, the network conversion unit 104, the learning unit 105, and the recognition rate determination unit 106 are magnetic disks, flexible disks, optical disks, It may be stored in a portable recording medium such as a compact disc, a Blu-ray (registered trademark) disc, or a DVD.
  • a portable recording medium in which a program that realizes the functions of the processing performance calculation unit 101, the request achievement determination unit 102, the reduction layer designation unit 103, the network conversion unit 104, the learning unit 105, and the recognition rate determination unit 106 is stored is commercially available. You may distribute it.
  • the “performance” calculation unit 101, the requirement achievement determination unit 102, the reduction layer designation unit 103, the network conversion unit 104, the learning unit 105, and the recognition rate determination unit 106 are replaced by “circuit” or “process” or “procedure”. Or “processing”. Further, the information processing device 100 may be realized by a processing circuit.
  • the processing circuits are, for example, logic ICs (Integrated Circuits), GAs (Gate Arrays), ASICs (Application Specific Integrated Circuits), and FPGAs (Field-Programmable Gate Arrays).
  • the superordinate concept of the processor and the processing circuit is referred to as “processing circuit”. That is, each of the processor and the processing circuit is a specific example of a “processing circuit”.
  • 10 neural network 20 embedded device, 100 information processing device, 101 processing performance calculation unit, 102 request achievement determination unit, 103 reduction layer designation unit, 104 network conversion unit, 105 learning unit, 106 recognition rate determination unit, 111 network structure information , 112 processing capacity information, 113 required processing performance information, 114 learning data set, 115 required recognition rate information, 116 lightweight network structure information, 901 CPU, 902 storage device, 903 GPU, 904 communication device, 905 bus.

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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

処理性能算出部(101)は、複数の層を有するニューラルネットワークが実装された場合の組込みデバイスの処理性能を算出する。要求達成判定部(102)は、ニューラルネットワークが実装された場合の組込みデバイスの処理性能が要求処理性能を満たすが否かを判定する。削減層指定部(103)は、ニューラルネットワークが実装された場合の組込みデバイスの処理性能が要求処理性能を満たさないと要求達成判定部(102)により判定された場合に、ニューラルネットワークの各層の演算量に基づき、複数の層の中から、演算量を削減する層である削減層を指定する。

Description

情報処理装置、情報処理方法及び情報処理プログラム
 本発明は、ニューラルネットワークに関する。
 ニューラルネットワーク(以下、単にネットワークともいう)では、大規模な演算を要する。このため、組込みデバイス等のリソースが限られるデバイスにニューラルネットワークをそのまま実装した場合は、リアルタイムにニューラルネットワークを動作させることができない。リソースが限られるデバイスでリアルタイムにニューラルネットワークを動作させるためには、ニューラルネットワークの軽量化が必要になる。
 特許文献1には、ニューラルネットワークの推論処理速度を向上させるための構成が開示されている。
 特許文献1では、重み行列の次元量削減により、推論処理における積和演算量を低減する構成が開示されている。より具体的には、特許文献1では、計算量削減による認識精度低下を極力抑えるため、ニューラルネットワークの前段ほど削減量を少なく、後段ほど削減量を多くする構成が開示されている。
特開2018-109947号公報
 特許文献1の技術では、ニューラルネットワークの後段の演算量を多く削減する。このため、後段の演算量が前段に比べて少ないニューラルネットワークでは、後段の演算量を必要以上に削減してしまう可能性がある。
 演算量の削減は、認識精度に影響を与える。このため、後段の演算量を必要以上削減してしまうと、認識率が悪化し、要求認識精度を達成できない、という事態も発生し得る。
 このように、特許文献1の技術では、ニューラルネットワーク内の演算量の分布を考慮しないため、演算量の分布に応じた効果的な演算量の削減を行うことができないという課題がある。
 本発明は、上記のような課題を解決することを主な目的の一つとしている。より具体的には、本発明は、ニューラルネットワーク内の演算量の分布に応じて、効果的にニューラルネットワークの演算量を削減できるようにすることを主な目的とする。
 本発明に係る情報処理装置は、
 複数の層を有するニューラルネットワークが実装された場合のデバイスの処理性能を算出する処理性能算出部と、
 前記ニューラルネットワークが実装された場合の前記デバイスの処理性能が要求処理性能を満たすが否かを判定する要求達成判定部と、
 前記ニューラルネットワークが実装された場合の前記デバイスの処理性能が前記要求処理性能を満たさないと前記要求達成判定部により判定された場合に、前記ニューラルネットワークの各層の演算量に基づき、前記複数の層の中から、演算量を削減する層である削減層を指定する削減層指定部とを有する。
 本発明によれば、各層の演算量に基づき削減層を指定するため、ニューラルネットワーク内の演算量の分布に応じた効果的な演算量の削減を行うことができる。
実施の形態1に係るニューラルネットワークと組込みデバイスの例を示す図。 実施の形態1に係る各層の演算量と処理時間の例を示す図。 従来技術に係る演算量の削減例を示す図。 実施の形態1に係るボトルネックを示す図。 実施の形態1に係る演算量の削減例を示す図。 実施の形態1に係る動作の概要を示すフローチャート図。 実施の形態1に係る情報処理装置の機能構成例を示す図。 実施の形態1に係る情報処理装置のハードウェア構成例を示す図。 実施の形態1に係る情報処理装置の動作例を示すフローチャート。 実施の形態1に係る情報処理装置の動作例を示すフローチャート。 実施の形態1に係る緩和された演算量の削減例を示す図。 実施の形態1に係る演算量の追加削減例を示す図。 実施の形態1に係る同じの演算量の層が複数ある場合の削減例を示す図。 実施の形態1に係る演算量が最大の層と演算量が2番目の層との間の演算量の差が閾値未満である場合の削減例を示す図。
 以下、本発明の実施の形態について、図を用いて説明する。以下の実施の形態の説明及び図面において、同一の符号を付したものは、同一の部分又は相当する部分を示す。
 実施の形態1.
***概要***
 本実施の形態では、ニューラルネットワークを組込みデバイス等のリソースが限られるデバイスに実装する場合のニューラルネットワークの軽量化を説明する。
 より具体的には、本実施の形態では、ニューラルネットワークの複数の層のうち最も演算量の多い層を抽出する。そして、抽出した層の演算量を、要求処理性能を満たすように削減する。また、演算量の削減後、再学習を実施することで、認識率の低下を抑制する。
 以上の手順を繰り返し実行することで、本実施の形態によれば、リソースが限られるデバイスに実装可能な演算量の少ないニューラルネットワークを得ることができる。
***手順***
 以下、図面を参照して、本実施の形態に係るニューラルネットワークの軽量化手順を説明する。
 以下の説明及び図面において、同一の符号を付したものは、同一の部分又は相当する部分を示す。
 本実施の形態では、CPU(Central Processing Unit)等の組込みデバイスにニューラルネットワークを実装する例を説明する。また、組込みデバイスは、ニューラルネットワークの処理を1層ずつ逐次実行するものとする。更に、ニューラルネットワークの処理にかかる時間は、以下の式で算出可能である。
  Σ(1層分の処理時間)
 また、1層分の処理時間は、以下の式で算出可能である。
  1層あたりの総積和演算回数(OP)/デバイスの処理能力(OP/sec)
 なお、「1層あたりの総積和演算回数(OP)」は、ネットワークの仕様(パラメータ)から算出可能である。
 「デバイスの処理能力(OP/sec)」は、組込みデバイスごとに一意に定まる。
 以上より、ニューラルネットワークを組込みデバイスに実装した際の処理性能を算出することができる。
 なお、以下では、処理性能とは、「Σ(1層分の処理時間)」、つまり、組込みデバイスがニューラルネットワークの全ての層の処理に要する時間(合計処理時間)をいう。
 「Σ(1層分の処理時間)<要求処理性能」の場合は、現状のニューラルネットワークを組込みデバイスに実装しても、要求処理性能を達成することができる。
 一方、「Σ(1層分の処理時間)>要求処理性能」の場合は、現状のニューラルネットワークを組込みデバイスに実装すると、要求処理性能を達成することができない。
 「Σ(1層分の処理時間)>要求処理性能」の場合は、ニューラルネットワークを変更して総積和演算回数を減らす必要がある。
 ここで、図1に示すニューラルネットワーク10及び組込みデバイス20を想定する。
 ニューラルネットワーク10は、L0層、L1層及びL2層を有する。そして、組込みデバイス20は、L0層、L1層及びL2層の順に各層を処理する。また、組込みデバイス20は、10GOP(Giga Operations)/secの処理能力を持つ。
 また、組込みデバイス20の要求処理性能は1秒であるとする。
 図2に示すように、L0層の演算量(総積和演算回数)は100GOPである。L1層の演算量(総積和演算回数)は0.1GOPである。L2層の演算量(総積和演算回数)は0.01GOPである。
 ニューラルネットワーク10をそのまま組込みデバイス20に実装したとすれば、図2に示すように、L0層の処理には10秒が必要である。L1層の処理には0.01秒が必要である。L2層の処理には、0.001秒が必要である。
 L0層、L1層及びL2層の合計処理時間は、10.011秒であり、要求性能を満たさない。このため、ニューラルネットワーク10の演算量(総積和演算回数)の削減が必要である。
 特許文献1の技術では、「ニューラルネットワークの前段ほど削減量を小さく、後段ほど削減量を大きく」して演算量を削減する。例えば、以下のように総積和演算回数を削減すれば、要求処理性能を満たすことができる。
  L0層の総積和演算回数の削減量:91%
  L1層の総積和演算回数の削減量:92%
  L2層の総積和演算回数の削減量:93%
 以上の削減量を実現すれば、図3に示すように、L0層の総積和演算回数は9GOPになり、L1層の総積和演算回数は0.008GOPになり、L2層の総積和演算回数は0.0007GOPになる。この結果、処理時間の合計は0.90087秒となり、要求処理性能を満たすことができる。
 しかしながら、もともとの総積和演算回数が少なかったL2層を多く削減しているので、認識率の低下が発生し得る。
 図4に示すように、本例では、L0層がボトルネックとなって要求処理性能を満たすことができない。
 このため、本実施の形態では、図5に示すように、総和積和演算回数の最も多いL0層の演算量を削減する。
 演算量の削減対象となる層を、以下では、削減層ともいう。
 本実施の形態では、要求処理性能(本例では、1秒)が満たされるように、削減層の総積和演算回数の値を算出する。
 図5の例では、L0層の処理時間を0.989秒にする必要がある。このため、L0層の総積和演算回数を9.89GOPに削減する必要がある。
 以上のようにして、削減層と削減量(図5の例では、90.11GOP)が決まると、図6のステップS1に示すように、削減層の総積和演算回数が削減量だけ削減されるように、ニューラルネットワーク10を変更する。
 なお、総積和演算回数は任意の方法で削減可能である。例えば、枝刈りにより総積和演算回数を削減してもよい。
 また、演算量の削減は、認識精度にも影響するため、本実施の形態では、図6のステップS2に示すように、ニューラルネットワーク10の変更(演算量の削減)後に、再学習が実施される。
 再学習の結果、所望の認識率を達成できることが判明すれば、変更後のニューラルネットワーク10であっても、組込みデバイス20上で要求処理性能及び要求認識精度を満たすことができる。
***構成の説明***
 次に、本実施の形態に係る情報処理装置100の構成を説明する。なお、情報処理装置100により行われる動作は、情報処理方法及び情報処理プログラムに相当する。
 図7は、情報処理装置100の機能構成例を示し、図8は、情報処理装置100のハードウェア構成例を示す。
 先ず、図8を参照して、情報処理装置100のハードウェア構成例を説明する。
***構成の説明***
 本実施の形態に係る情報処理装置100は、コンピュータである。
 情報処理装置100は、ハードウェアとして、CPU901、記憶装置902、GPU(Graphics Processing Unit)903及び通信装置904及びバス905を備える。
 CPU901、記憶装置902、GPU903及び通信装置904は、バス905に接続されている。
 CPU901及びGPU903は、プロセッシングを行うIC(Integrated Circuit)である。
 CPU901は、後述する処理性能算出部101、要求達成判定部102、削減層指定部103、ネットワーク変換部104及び認識率判定部106の機能を実現するプログラムを実行する。
 GPU903は、後述する学習部105の機能を実現するプログラムを実行する。
 記憶装置902は、HDD(Hard Disk Drive)、RAM(Random Access Memory)、ROM(Read Only Memory)等である。
 記憶装置902には、処理性能算出部101、要求達成判定部102、削減層指定部103、ネットワーク変換部104、学習部105及び認識率判定部106の機能を実現するプログラムが記憶されている。前述のように、処理性能算出部101、要求達成判定部102、削減層指定部103、ネットワーク変換部104及び認識率判定部106の機能を実現するプログラムはCPU901に読み込まれ、CPU901により実行される。学習部105の機能を実現するプログラムはGPU903に読み込まれ、GPU903により実行される。
 図8では、CPU901が処理性能算出部101、要求達成判定部102、削減層指定部103、ネットワーク変換部104及び認識率判定部106の機能を実現するプログラムを実行している状態が模式的に表されている。また、図8では、GPU903が学習部105の機能を実現するプログラムを実行している状態が模式的に表されている。
 通信装置904は、データの通信処理を実行する電子回路である。
 通信装置904は、例えば、通信チップ又はNIC(Network Interface Card)である。
 次に、図7を参照して、情報処理装置100の機能構成例を説明する。
 処理性能算出部101は、ネットワーク構造情報111と処理能力情報112とを用いて、ニューラルネットワーク10を組込みデバイス20に実装した際の組込みデバイス20の処理性能を算出する。
 ネットワーク構造情報111には、図2に例示するニューラルネットワーク10の各層の総積和演算回数が示される。ネットワーク構造情報111には、各層の総積和演算回数の代わりに、各層の総積和演算回数が算出可能なニューラルネットワーク10の仕様が記述されていてもよい。
 処理能力情報112には、図2に例示する組込みデバイス20の処理能力(10GOP/sec)が示される。処理能力情報112には、組込みデバイス20の処理能力の代わりに、組込みデバイス20の処理能力が算出可能な組込みデバイス20の仕様が記述されていてもよい。
 なお、処理性能算出部101により行われる処理は、処理性能算出処理に相当する。
 要求達成判定部102は、処理性能算出部101により算出された組込みデバイス20の処理性能が要求処理性能情報113に記述されている要求処理性能を満たすか否かを判定する。
 要求達成判定部102により行われる処理は、要求達成判定処理に相当する。
 削減層指定部103は、削減層と、削減層の演算量の削減量を指定する。
 つまり、ニューラルネットワーク10が実装された場合の組込みデバイス20の処理性能が要求処理性能を満たさないと要求達成判定部102により判定された場合に、削減層指定部103は、ニューラルネットワーク10の各層の演算量に基づき、複数の層の中から、演算量を削減する層である削減層を指定する。より具体的には、削減層指定部103は、演算量が最大の層を削減層に指定する。また、削減層指定部103は、演算量が削減された後のニューラルネットワーク10が実装された場合の組込みデバイス20の処理性能が要求処理性能を満たすように削減層の演算量の削減量を決定する。
 削減層指定部103により行われる処理は、削減層指定処理に相当する。
 ネットワーク変換部104は、削減層指定部103により指定された削減層の演算量が削減層指定部103により決定された削減量だけ削減されるようにニューラルネットワーク10を変換する。
 学習部105は、ネットワーク変換部104による変換後のニューラルネットワーク10を学習データセット114を用いて学習する。
 認識率判定部106は、学習部105の学習結果を分析して、変換後のニューラルネットワーク10の認識率が要求認識率情報115に記述される要求認識率を満たすか否かを判定する。
 変換後のニューラルネットワーク10の認識率が要求認識率を満たし、また、変換後のニューラルネットワーク10を実装した場合の組込みデバイス20の処理性能が要求処理性能を満たす場合は、要求達成判定部102が軽量化ネットワーク構造情報116を出力する。
 軽量化ネットワーク構造情報116には、変換後のニューラルネットワーク10の各層の総積和演算回数が示される。
***動作の説明***
 次に、本実施の形態に係る情報処理装置100の動作例を、図9及び図10を参照して説明する。
 先ず、処理性能算出部101が、ネットワーク構造情報111と処理能力情報112とを取得し、取得したネットワーク構造情報111と処理能力情報112とを用いて、ニューラルネットワーク10を組込みデバイス20に実装した際の組込みデバイス20の処理性能を算出する(ステップS101)。
 処理性能算出部101は、「1層あたりの総積和演算回数(OP)/デバイスの処理能力(OP/sec)」により各層の処理時間を算出し、算出した各層の処理時間を合計して組込みデバイス20の処理性能を得る。
 次に、要求達成判定部102が、処理性能算出部101により算出された組込みデバイス20の処理性能が要求処理性能情報113に記述されている要求処理性能を満たすか否かを判定する(ステップS102)。
 組込みデバイス20の処理性能が要求処理性能を満たす場合(ステップS103でYES)は、処理が終了する。
 組込みデバイス20の処理性能が要求処理性能を満たさない場合(ステップS103でNO)は、削減層指定部103が、ボトルネック解析を行い(ステップS104)、削減層と、削減層の演算量の削減量を指定する(ステップS105)。
 具体的には、削減層指定部103は、図4に例示する各層の総積和演算回数と処理時間とが記述される情報を要求達成判定部102から取得し、総積和演算回数が最大の層を削減層に指定する。
 また、削減層指定部103は、削減層と削減量とを通知する情報をネットワーク変換部104に出力する。
 次に、ネットワーク変換部104が、削減層指定部103により指定された削減層の総積和演算回数が削減層指定部103により決定された削減量だけ削減されるようにニューラルネットワーク10を変換する(ステップS106)。
 ネットワーク変換部104は、ネットワーク構造情報111を参照して、ニューラルネットワークを変換する。
 また、ネットワーク変換部104は、変換後のニューラルネットワーク10を学習部105に通知する。
 次に、学習部105が、ネットワーク変換部104による変換後のニューラルネットワーク10を学習データセット114を用いて学習する(ステップS107)。
 学習部105は、学習結果を認識率判定部106に出力する。
 次に、認識率判定部106が、学習部105の学習結果を分析して、変換後のニューラルネットワーク10の認識率が要求認識率情報115に記述される要求認識率を満たすか否かを判定する(ステップS108)。
 変換後のニューラルネットワーク10の認識率が要求認識率を満たさない場合は、認識率判定部106は、認識率が要求認識率を満たさない旨を削減層指定部103に通知する。
 一方、変換後のニューラルネットワーク10の認識率が要求認識率を満たす場合は、認識率判定部106は、認識率が要求認識率を満たさない旨を処理性能算出部101に通知する。
 変換後のニューラルネットワーク10の認識率が要求認識率を満たさない場合(ステップS108でNO)は、削減層指定部103が、削減量の再指定を行う(ステップS109)。削減量の再指定では、削減層指定部103は、削減量の緩和を行う。
 つまり、削減層指定部103は、演算量が削減された後のニューラルネットワーク10が組込みデバイス20に実装された場合の認識率が要求認識率を満たさない場合に、緩和された削減量を決定する。
 例えば、削減層指定部103は、図11に示す削減量の緩和を行う。
 図11では、削減層指定部103は、L0層の総積和演算回数を9.89GOPから9.895GOPに増やすことにより削減量の緩和を行っている。この場合は、処理性能が1.0005秒となり、わずかに要求処理性能に満たない。
 変換後のニューラルネットワーク10の認識率が要求認識率を満たす場合(ステップS108でYES)は、処理性能算出部101が、変換後のニューラルネットワーク10に対する組込みデバイス20の処理性能を算出する(ステップS110)。
 つまり、処理性能算出部101は、変換後のニューラルネットワーク10についてのネットワーク構造情報111と処理能力情報112とを用いて、組込みデバイス20の処理性能を算出する。
 次に、要求達成判定部102が、処理性能算出部101により算出された組込みデバイス20の処理性能が要求処理性能情報113に記述されている要求処理性能を満たすか否かを判定する(ステップS111)。
 組込みデバイス20の処理性能が要求処理性能を満たす場合(ステップS112でYES)は、処理が終了する。このとき、要求達成判定部102は、軽量化ネットワーク構造情報116を規定の出力先に出力する。
 組込みデバイス20の処理性能が要求処理性能を満たさない場合(ステップS112でNO)は、削減層指定部103が、ボトルネック解析を行い(ステップS113)、削減層と、削減層の演算量の削減量を再指定する(ステップS114)。
 ステップS114では、削減層指定部103は、未だ削減層に指定されていない層を追加の削減層として指定する。
 例えば、削減層指定部103は、未だ削減層に指定されていない層のうちで総積和演算回数が最大の層を追加の削減層として指定する。
 図12の例では、既にL0層が削減層に指定されており、L1層の総積和演算回数がL2の総積和演算回数よりも多いため、削減層指定部103は、L1層を追加の削減層に指定している。そして、図12の例では、削減層指定部103は、L1層の総積和演算回数を0.04GOPに削減する(削減量:0.06GOP)ことを決定している。この結果、処理性能は、1秒となり、要求処理性能を満たす。
 なお、既に全ての層を削減層に指定している場合は、削減層指定部103は、削減後の演算量が最大の層を追加の削減層に指定する。
 ステップS115~S118は、ステップS106~S109と同じであるため、説明を省略する。
 上記では、L0層の総積和演算回数がL1層及びL2層もよりも多い例を用いた。
 しかし、ニューラルネットワークによっては、総積和演算回数が同じの層が複数ある場合がある。このような場合は、削減層指定部103は、後段の層を優先して削減層に指定する。つまり、削減層指定部103は、総積和演算回数が最大の層が2つ以上ある場合に、総積和演算回数が最大の2つ以上の層のうちで最後段の層を削減層に指定する。これは、後段の層ほど、演算量の削減による認識率の低下が発生しにくいためである。
 例えば、図13に示すように、L0層の総積和演算回数とL1層の総積和演算回数がともに100GOPである場合は、削減層指定部103は、後段の層であるL1層を削減層に指定する。
 また、演算量が最大の層の演算量と演算量が2番目の層の演算量との差が閾値未満であり、演算量が最大の層よりも演算量が2番目の層が後段に位置する場合は、削減層指定部103が、演算量が2番目の層を削減層に指定するようにしてもよい。
 例えば、閾値が演算量が最大の層の演算量の10%である場合を想定する。この場合に、図14に示すように、L0層の総積和演算回数が100GOPであり、L1層の総積和演算回数が95GOPである場合は、L0層とL1層との間の総積和演算回数の差はL0層の総積和演算回数の10%未満なので、削減層指定部103は、後段の層であるL1層を削減層に指定する。
 なお、閾値は10%に限定されない。情報処理装置100のユーザが任意に閾値を設定することができる。
***実施の形態の効果の説明***
 以上、本実施の形態によれば、各層の演算量に基づき削減層を指定するため、ニューラルネットワーク内の演算量の分布に応じた効果的な演算量の削減を行うことができる。
 また、本実施の形態によれば、ニューラルネットワークの設計者が、実装先の組込みデバイスに関する知識が無くても、組込みデバイスの要求処理性能を満たすニューラルネットネットワークを自動的に得ることができる。
 同様に、本実施の形態によれば、組込みデバイスの実装担当者が、ニューラルネットワークに関する知識が無くても、組込みデバイスの要求処理性能を満たすニューラルネットネットワークを自動的に得ることができる。
***ハードウェア構成の説明***
 最後に、情報処理装置100のハードウェア構成の補足説明を行う。
 記憶装置902には、OS(Operating System)が記憶されている。
 そして、OSの少なくとも一部がCPU901により実行される。
 CPU901はOSの少なくとも一部を実行しながら、処理性能算出部101、要求達成判定部102、削減層指定部103、ネットワーク変換部104及び認識率判定部106の機能を実現するプログラムを実行する。
 CPU901がOSを実行することで、タスク管理、メモリ管理、ファイル管理、通信制御等が行われる。
 また、処理性能算出部101、要求達成判定部102、削減層指定部103、ネットワーク変換部104、学習部105及び認識率判定部106の処理の結果を示す情報、データ、信号値及び変数値の少なくともいずれかが、記憶装置902、レジスタ及びキャッシュメモリの少なくともいずれかに記憶される。
 また、処理性能算出部101、要求達成判定部102、削減層指定部103、ネットワーク変換部104、学習部105及び認識率判定部106の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD等の可搬記録媒体に格納されていてもよい。そして、処理性能算出部101、要求達成判定部102、削減層指定部103、ネットワーク変換部104、学習部105及び認識率判定部106の機能を実現するプログラムが格納された可搬記録媒体を商業的に流通させてもよい。
 また、処理性能算出部101、要求達成判定部102、削減層指定部103、ネットワーク変換部104、学習部105及び認識率判定部106の「部」を、「回路」又は「工程」又は「手順」又は「処理」に読み替えてもよい。
 また、情報処理装置100は、処理回路により実現されてもよい。処理回路は、例えば、ロジックIC(Integrated Circuit)、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)である。
 なお、本明細書では、プロセッサと処理回路との上位概念を、「プロセッシングサーキットリー」という。
 つまり、プロセッサと処理回路とは、それぞれ「プロセッシングサーキットリー」の具体例である。
 10 ニューラルネットワーク、20 組込みデバイス、100 情報処理装置、101 処理性能算出部、102 要求達成判定部、103 削減層指定部、104 ネットワーク変換部、105 学習部、106 認識率判定部、111 ネットワーク構造情報、112 処理能力情報、113 要求処理性能情報、114 学習データセット、115 要求認識率情報、116 軽量化ネットワーク構造情報、901 CPU、902 記憶装置、903 GPU、904 通信装置、905 バス。

Claims (11)

  1.  複数の層を有するニューラルネットワークが実装された場合のデバイスの処理性能を算出する処理性能算出部と、
     前記ニューラルネットワークが実装された場合の前記デバイスの処理性能が要求処理性能を満たすが否かを判定する要求達成判定部と、
     前記ニューラルネットワークが実装された場合の前記デバイスの処理性能が前記要求処理性能を満たさないと前記要求達成判定部により判定された場合に、前記ニューラルネットワークの各層の演算量に基づき、前記複数の層の中から、演算量を削減する層である削減層を指定する削減層指定部とを有する情報処理装置。
  2.  前記削減層指定部は、
     演算量が最大の層を前記削減層に指定する請求項1に記載の情報処理装置。
  3.  前記削減層指定部は、
     演算量が最大の層が2つ以上ある場合に、演算量が最大の2つ以上の層のうちで最後段の層を前記削減層に指定する請求項2に記載の情報処理装置。
  4.  前記削減層指定部は、
     演算量が最大の層の演算量と演算量が2番目の層の演算量との差が閾値未満であり、演算量が最大の層よりも演算量が2番目の層が後段に位置する場合に、演算量が2番目の層を前記削減層に指定する請求項1に記載の情報処理装置。
  5.  前記削減層指定部は、
     演算量が削減された後のニューラルネットワークが実装された場合の前記デバイスの処理性能が前記要求処理性能を満たすように前記削減層の演算量の削減量を決定する請求項1に記載の情報処理装置。
  6.  前記削減層指定部は、
     演算量が削減された後のニューラルネットワークが前記デバイスに実装された場合の前記デバイスの処理性能が前記要求処理性能を満たさない場合に、前記複数の層の中から、追加の削減層を指定する請求項1に記載の情報処理装置。
  7.  前記削減層指定部は、
     未だ前記削減層に指定されていない層のうちで演算量が最大の層を、前記追加の削減層に指定する請求項6に記載の情報処理装置。
  8.  前記削減層指定部は、
     既に前記複数の層の全てが前記削減層に指定されている場合に、削減後の演算量が最大の層を、前記追加の削減層に指定する請求項6に記載の情報処理装置。
  9.  前記削減層指定部は、
     演算量が削減された後のニューラルネットワークが前記デバイスに実装された場合の認識率が要求認識率を満たさない場合に、緩和された削減量を決定する請求項1に記載の情報処理装置。
  10.  コンピュータが、複数の層を有するニューラルネットワークが実装された場合のデバイスの処理性能を算出し、
     前記コンピュータが、前記ニューラルネットワークが実装された場合の前記デバイスの処理性能が要求処理性能を満たすが否かを判定し、
     前記ニューラルネットワークが実装された場合の前記デバイスの処理性能が前記要求処理性能を満たさないと判定された場合に、前記コンピュータが、前記ニューラルネットワークの各層の演算量に基づき、前記複数の層の中から、演算量を削減する層である削減層を指定する情報処理方法。
  11.  複数の層を有するニューラルネットワークが実装された場合のデバイスの処理性能を算出する処理性能算出処理と、
     前記ニューラルネットワークが実装された場合の前記デバイスの処理性能が要求処理性能を満たすが否かを判定する要求達成判定処理と、
     前記ニューラルネットワークが実装された場合の前記デバイスの処理性能が前記要求処理性能を満たさないと前記要求達成判定処理により判定された場合に、前記ニューラルネットワークの各層の演算量に基づき、前記複数の層の中から、演算量を削減する層である削減層を指定する削減層指定処理とをコンピュータに実行させる情報処理プログラム。
PCT/JP2019/005697 2019-02-15 2019-02-15 情報処理装置、情報処理方法及び情報処理プログラム WO2020166084A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
DE112019006560.2T DE112019006560T5 (de) 2019-02-15 2019-02-15 Informationsverarbeitungsvorrichtung, informationsverarbeitungsverfahren und informationsverarbeitungsprogramm
JP2020567178A JP6854993B2 (ja) 2019-02-15 2019-02-15 情報処理装置、情報処理方法及び情報処理プログラム
CN201980091148.1A CN113383347A (zh) 2019-02-15 2019-02-15 信息处理装置、信息处理方法和信息处理程序
PCT/JP2019/005697 WO2020166084A1 (ja) 2019-02-15 2019-02-15 情報処理装置、情報処理方法及び情報処理プログラム
TW108117636A TW202032434A (zh) 2019-02-15 2019-05-22 資訊處理裝置、資訊處理方法及資訊處理程式產品
US17/356,712 US20210319285A1 (en) 2019-02-15 2021-06-24 Information processing apparatus, information processing method and computer readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/005697 WO2020166084A1 (ja) 2019-02-15 2019-02-15 情報処理装置、情報処理方法及び情報処理プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/356,712 Continuation US20210319285A1 (en) 2019-02-15 2021-06-24 Information processing apparatus, information processing method and computer readable medium

Publications (1)

Publication Number Publication Date
WO2020166084A1 true WO2020166084A1 (ja) 2020-08-20

Family

ID=72044407

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/005697 WO2020166084A1 (ja) 2019-02-15 2019-02-15 情報処理装置、情報処理方法及び情報処理プログラム

Country Status (6)

Country Link
US (1) US20210319285A1 (ja)
JP (1) JP6854993B2 (ja)
CN (1) CN113383347A (ja)
DE (1) DE112019006560T5 (ja)
TW (1) TW202032434A (ja)
WO (1) WO2020166084A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017037392A (ja) * 2015-08-07 2017-02-16 トヨタ自動車株式会社 ニューラルネットワーク学習装置
WO2017138220A1 (ja) * 2016-02-12 2017-08-17 ソニー株式会社 情報処理方法および情報処理装置
WO2017154284A1 (ja) * 2016-03-09 2017-09-14 ソニー株式会社 情報処理方法および情報処理装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108268947A (zh) 2016-12-30 2018-07-10 富士通株式会社 用于提高神经网络的处理速度的装置和方法及其应用

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017037392A (ja) * 2015-08-07 2017-02-16 トヨタ自動車株式会社 ニューラルネットワーク学習装置
WO2017138220A1 (ja) * 2016-02-12 2017-08-17 ソニー株式会社 情報処理方法および情報処理装置
WO2017154284A1 (ja) * 2016-03-09 2017-09-14 ソニー株式会社 情報処理方法および情報処理装置

Also Published As

Publication number Publication date
CN113383347A (zh) 2021-09-10
US20210319285A1 (en) 2021-10-14
DE112019006560T5 (de) 2021-10-21
JP6854993B2 (ja) 2021-04-07
TW202032434A (zh) 2020-09-01
JPWO2020166084A1 (ja) 2021-03-11

Similar Documents

Publication Publication Date Title
JP5218390B2 (ja) 自律制御サーバ、仮想サーバの制御方法及びプログラム
KR102098713B1 (ko) Cnn과 rnn이 하나의 고성능 저전력 칩으로 집적된 이기종 프로세서 구조
US8635625B2 (en) Power-aware workload allocation in performance-managed computing environments
US11003496B2 (en) Performance-based multi-mode task dispatching in a multi-processor core system for high temperature avoidance
US8898422B2 (en) Workload-aware distributed data processing apparatus and method for processing large data based on hardware acceleration
US20200042419A1 (en) System and method for benchmarking ai hardware using synthetic ai model
JP7110278B2 (ja) 負荷を均衡化するための方法、装置、機器、コンピュータ読み取り可能な記憶媒体及びコンピュータプログラム
EP4036805A1 (en) Neural network computing chip and computing method
US20200174748A1 (en) Sorting Instances of Input Data for Processing through a Neural Network
US20180081715A1 (en) Network interface controller-based scheduling of processing tasks in a distributed computing system
WO2019143537A1 (en) Mission-critical ai processor with record and replay support
WO2020075433A1 (ja) ニューラルネットワーク処理装置、ニューラルネットワーク処理方法、およびニューラルネットワーク処理プログラム
US8959224B2 (en) Network data packet processing
WO2019165602A1 (zh) 数据转换方法和装置
US20230325235A1 (en) Training task queuing cause analysis method and system, device and medium
US9618999B1 (en) Idle-aware margin adaption
JP2022512211A (ja) 画像処理方法、装置、車載演算プラットフォーム、電子機器及びシステム
CN111859775A (zh) 加速深度学习推断的软硬件协同设计
WO2020166084A1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
US20180246735A1 (en) Information processing apparatus, pld management program and pld management method
JP2024513736A (ja) ニューラルネットワーク量子化の動的スケーリングのための人工知能プロセッサアーキテクチャ
JP2007233763A (ja) シミュレーション実行制御装置及びシミュレーション実行制御方法及びプログラム
KR101470695B1 (ko) 그리드 컴퓨팅 스케쥴링을 위한 생물지리학적 최적화 방법 및 시스템
JP2019133627A (ja) 情報処理方法及び情報処理システム
KR20230129785A (ko) 시뮬레이션 실행 시간 예측 방법

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020567178

Country of ref document: JP

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 19915400

Country of ref document: EP

Kind code of ref document: A1