WO2020149178A1 - ニューラルネットワークの縮約装置 - Google Patents
ニューラルネットワークの縮約装置 Download PDFInfo
- Publication number
- WO2020149178A1 WO2020149178A1 PCT/JP2020/000231 JP2020000231W WO2020149178A1 WO 2020149178 A1 WO2020149178 A1 WO 2020149178A1 JP 2020000231 W JP2020000231 W JP 2020000231W WO 2020149178 A1 WO2020149178 A1 WO 2020149178A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- neural network
- unit
- arithmetic
- accuracy
- calculations
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0495—Quantised networks; Sparse networks; Compressed networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
Definitions
- the present invention relates to a contracting device for a neural network.
- a neural network is known as a machine learning method used for object recognition and the like.
- a convolution operation and the like which requires a large number of operations, are performed, which has been a problem when an arithmetic unit mounted on a vehicle performs real-time processing.
- a reduction method that reduces the calculation load of the neural network while suppressing the influence on the recognition performance by reducing the branches (interlayer coupling) in which the weighting factor of each node of the neural network is equal to or less than the threshold value ( A compression method) is disclosed (see Non-Patent Document 1).
- Non-Patent Document 1 discloses a method of reducing the number of operations of the neural network by reducing some branches of the neural network. However, even if the number of operations is reduced, the processing time of the arithmetic processing is shortened. Not necessarily. In addition, a plurality of arithmetic units provided in the arithmetic unit may not be effectively used for the arithmetic processing of the neural network. Such a problem may occur not only in the vehicle-mounted arithmetic device but also in other arithmetic devices using a neural network.
- the present invention is to solve the above problems, and an object of the present invention is to reduce the processing time of a neural network and reduce the number of operations of the neural network so that a plurality of arithmetic units can be effectively used. It is to provide a contracting device.
- a neural network contracting apparatus is a neural network contracting apparatus that reduces the number of operations of a neural network by an arithmetic unit including a plurality of arithmetic units by contracting the neural network.
- An arithmetic unit assigning unit that sets the assigned number of the arithmetic units for the arithmetic processing of the neural network; an arithmetic operation number setting unit that sets the arithmetic operation number of the neural network after contraction based on the assigned number of the arithmetic units;
- a neural network contracting unit for contracting the neural network so that the number of operations of the neural network by the arithmetic unit becomes equal to the number of operations set by the operation number setting unit.
- FIG. 11 is a diagram showing another example of the node processing of the first intermediate layer according to the first embodiment.
- FIG. 1 is a block diagram of an automatic driving system according to the first embodiment.
- the neural network contracting device may be a monitoring camera system, a medical image diagnostic system, a voice recognition system, or the like. It can be applied to other systems.
- a vehicle 10 that automatically drives using a neural network and a server 20 that periodically notifies the vehicle 10 of parameters of the neural network are connected by wireless communication. ..
- the vehicle 10 is provided with a camera 120 that captures an image of the surroundings of the vehicle, a vehicle control unit 110 that controls automatic driving of the vehicle 10, and an actuator 130 that is used for various operations such as accelerator, brake, and steering.
- the server 20 is equipped with a neural network contracting apparatus 100 that reduces the number of operations of the neural network by the contracting technique.
- the vehicle control unit 110 includes an image input unit 111 that converts an image input from the camera 120 into a predetermined format, an image recognition unit 112 that recognizes an image using a neural network, and an actuator that outputs a control signal corresponding to the recognition result.
- a signal output unit 113 for outputting to 130 is provided.
- the image recognition unit 112 is notified by the neural network contracting apparatus 100 of the parameters of the contracted neural network.
- the parameter of the neural network is a parameter for constructing the contracted neural network in the image recognition unit 112, and is, for example, a weighting coefficient used in the neural network.
- the image recognition unit 112 constructs a reduced neural network based on the parameters notified from the neural network reduction device 100, and recognizes the image input from the image input unit 111 using the neural network.
- the signal output unit 113 outputs to the actuator 130 a control signal including vehicle control information necessary for automatic driving such as the traveling direction and traveling speed of the host vehicle based on the recognition result of the image.
- the actuator 130 includes a drive actuator for accelerator, a braking actuator for brake, a steering actuator for steering, and the like. The actuator 130 controls the vehicle 10 based on the control signal from the signal output unit 113.
- the vehicle control unit 110 is realized by the arithmetic device 140 including a plurality of arithmetic units.
- An arithmetic unit of the arithmetic unit 140 is assigned to various processes of the vehicle control unit 110.
- image recognition using a neural network is performed, and automatic driving control of the vehicle 10 is performed based on the recognition result. ..
- the image recognition process has a large calculation load, and therefore, a larger number of computing units are assigned to the image recognition process than the other processes of the vehicle control unit 110.
- the neural network contracting apparatus 100 is provided with a neural network holding unit 101, an arithmetic unit allocating unit 102, an arithmetic operation number setting unit 103, and a neural network contracting unit 104.
- the neural network holding unit 101 holds a learned neural network that has been learned by a PC, a server, or the like, that is, a neural network used for inference processing.
- the arithmetic unit allocating unit 102 sets the number of arithmetic units to be allocated to the arithmetic unit 140 for the arithmetic processing of the neural network when the image recognition unit 112 performs image recognition using the neural network.
- the arithmetic unit allocation unit 102 sets the number of allocated arithmetic units input by the user via the input device or the like in the reduction device 100.
- the number-of-calculations setting unit 103 calculates the number of calculations necessary for the calculation processing of the neural network held in the neural network holding unit 101, and sets the number of calculations of the neural network after contraction based on the number of assigned computing units. ..
- the neural network contracting unit 104 contracts the neural network held in the neural network holding unit 101 so that the number of times the neural network is operated by the operation device 140 becomes equal to the number of times of operations set by the number-of-operations setting unit 103. To do. Further, the neural network contracting unit 104 notifies the image recognition unit 112 of the vehicle 10 of the parameters of the contracted neural network, and reduces the number of operations of the neural network used for the image recognition processing of the image recognition unit 112. ing.
- Each unit of the contracting apparatus 100 of the neural network may be realized by software using a processor, or may be realized by a logic circuit (hardware) formed in an integrated circuit or the like.
- the processor reads and executes the program stored in the memory to execute various processes.
- the processor for example, a CPU (Central Processing Unit), MPU (Micro Processing Unit), GPU (Graphics Processing Unit), etc. are used.
- the memory is configured by one or a plurality of recording media such as ROM (Read Only Memory) and RAM (Random Access Memory) depending on the purpose.
- FIG. 2 is a diagram illustrating an example of the neural network according to the first embodiment.
- FIG. 3 is a diagram illustrating an example of node processing of the first intermediate layer according to the first embodiment.
- FIG. 4 is a diagram illustrating another example of node processing of the first intermediate layer according to the first embodiment.
- FIG. 5 is a diagram illustrating an example of node processing of the second intermediate layer according to the first embodiment.
- FIG. 6 is a diagram illustrating an example of node processing in the output layer according to the first embodiment.
- FIG. 7 is a diagram illustrating an example of the contraction process according to the first embodiment. Further, in the following description, for convenience of description, the reference numerals of FIG.
- the neural network includes an input layer 200, a first intermediate layer 201, a second intermediate layer 202, and an output layer 203.
- the neural network When five input values X 0 -X 4 are input to the input layer 200, the neural network outputs two output values Y 0 , Y from the output layer 203 via the first and second intermediate layers 201, 202. 1 is output.
- the input layer 200 is provided with five input nodes N X0 to N X4 as input elements
- the output layer 203 is provided with two output nodes N Y0 and N Y1 as output elements.
- the first intermediate layer 201 is provided with nodes N 00 -N 03 as arithmetic elements
- the second intermediate layer 202 is provided with nodes N 10 -N 13 .
- the nodes N 00 -N 03 of the first intermediate layer 201 multiply the input values X 0 -X 4 input from the input layer 200 by the weighting factor set for each interlayer coupling (branch), and perform each multiplication.
- the result of adding the results is output to the nodes N 10 -N 13 of the second intermediate layer 202.
- the nodes N 10 -N 13 of the second intermediate layer 202 multiply the values input from the nodes N 00 -N 03 of the first intermediate layer 201 by the weighting factor set for each interlayer coupling, and
- the result of adding the multiplication results is output to the output nodes N Y0 and N Y1 of the output layer 203.
- the output nodes N Y0 and N Y1 of the output layer 203 multiply the values input from the nodes N 10 -N 13 of the second intermediate layer 202 by the weighting factor set for each interlayer coupling, and the respective multiplication results And outputs the result of adding as output values Y 0 and Y 1 .
- FIG. 3 shows the arithmetic processing of the node N 00 of the first intermediate layer 201.
- the node N 00 of the first intermediate layer 201 uses the weighting factors W 000 -W 040 between the input nodes N X0 -N X4 and the node N 00 of the input layer 200, and outputs from the node N 00.
- the output value Z 00 is calculated by the following equation (1).
- Z 00 X 0 *W 000 +X 1 *W 010 +X 2 *W 020 +X 3 *W 030 +X 4 *W 040 (1)
- FIG. 4 shows the arithmetic processing of the node N 01 of the first intermediate layer 201.
- the input node N X0 weighting factor of layers of -N X4 and node N 01 W 001 -W 041 of node N 01 in the input layer 200 of the first intermediate layer 201 is used, is output from the node N 01
- the output value Z 01 is calculated by the following equation (2).
- the output values Z 02 and Z 03 are similarly output to the other nodes N 02 and N 03 of the first intermediate layer 201.
- Z 01 X 0 *W 001 +X 1 *W 011 +X 2 *W 021 +X 3 *W 031 +X 4 *W 041 (2)
- FIG. 5 shows the arithmetic processing of the node N 10 of the second intermediate layer 202. 5 the node N 00 -N 03 and the weight coefficient W 100 -W 130 of layers of nodes N 10 of the second node N in 10 the first intermediate layer 202 of the intermediate layer 201 is used, from the node N 10
- the output value Z 11 to be output is obtained by the following equation (3).
- the output values Z 11 -Z 13 are similarly output to the other nodes N 11 -N 13 of the second intermediate layer 202.
- Z 11 Z 00 *W 100 +Z 01 *W 110 +Z 02 *W 120 +Z 03 *W 130 (3)
- FIG. 6 shows the arithmetic processing of the output node N Y0 of the output layer 203.
- the weighting factors W 200 -W 230 between the nodes N 10 -N 13 and the output node N Y0 of the second intermediate layer 202 are used, and the output nodes N Y0 to The output value Y 0 to be output is obtained by the following equation (4).
- the output value Y 1 is similarly output to the other output node N Y1 of the output layer 203.
- Y 0 Z 10 *W 200 +Z 11 *W 210 +Z 12 *W 220 +Z 13 *W 230 (4)
- the neural network of this embodiment is used for the image recognition unit 112 for automatic driving.
- Image input values X 0 -X 4 are input from the image input unit 111 to the input nodes N X0 -N X4 of the input layer 200, and output values which are image recognition results from the output nodes N Y0 , N Y1 of the output layer 203.
- Y 0 and Y 1 are output.
- the probability that the image is another vehicle is output as Y 0
- the probability that the image is a pedestrian is output as Y 1 .
- the vehicle control unit 110 controls the own vehicle to follow the other vehicle, and when the image has a high probability of being a pedestrian, the own vehicle avoids the pedestrian. Controlled by.
- the neural network includes a network configuration and a weighting factor for obtaining a desired output value from the input value, and the neural network holding unit 101 stores various information such as the network configuration and the weighting factor.
- the arithmetic unit allocating unit 102 sets the number of arithmetic units to be allocated to the arithmetic processing of the neural network, that is, the image recognition processing of the image recognition unit 112.
- the number of arithmetic units assigned to the image recognition process is set in consideration of the processing load of each unit of the vehicle control unit 110.
- An FPGA Field Programmable Gate Array
- the FPGA is an arithmetic unit 140 capable of designing and executing desired processing in the form of a logic circuit.
- the FPGA is equipped with an arithmetic unit called DSP (Digital Signal Processor) that can process multiply-accumulate operations at high speed, and is useful for processing multiplication and addition of neural networks at high speed. Since the number of DSPs to be mounted is predetermined for each FPGA, the arithmetic unit allocating unit 102 sets the number of DSPs used for arithmetic processing of the neural network. Note that the number of operations of the neural network is generally much larger than the number of DSPs of the FPGA, and it is difficult to process the entire neural network at once. Therefore, the calculation processing of the neural network is performed in a plurality of times. Further, the arithmetic device 140 is not limited to the FPGA, and may be any device provided with a plurality of product-sum arithmetic units usable for the neural network.
- the calculation count setting unit 103 calculates the calculation count of the neural network before reduction. As an example, the number of calculations required for the calculation processing of the neural network shown in FIG. 2 will be described.
- the arithmetic processing of each node of the second intermediate layer 202 requires a total of 7 arithmetic operations including 4 multiplications and 3 additions as shown in the above equation (3).
- the number-of-calculations setting unit 103 reduces the number of calculations of the neural network before the reduction, and reduces the neural network after the reduction to an integer multiple of the number of assigned operation units set by the operation unit assignment unit 102.
- Set the number of network operations As calculated by the above equation (5), the number of calculations of the neural network before reduction is 78 times.
- the number of assigned arithmetic units is 20, as an example, the number of arithmetic operations of the neural network after contraction is set by the following equation (6).
- the neural network contracting unit 104 reduces the number of calculations of the neural network before contraction of 78 and the number of calculations of 60 set by the calculation number setting unit 103 by 18 to reduce the number of calculations. Contract.
- the number of calculations of the neural network before reduction may be acquired by the neural network reduction unit 104 from the calculation number setting unit 103, or may be calculated by the neural network reduction unit 104 in the same manner as the calculation number setting unit 103. Good.
- the contraction method of the neural network is not particularly limited, but the present embodiment will be described by exemplifying the Pruning process.
- the Pruning processing determines that the influence on the output value Z 00 is sufficiently small and reduces the multiplication processing for multiplying the input value by the weighting coefficient.
- the neural network is contracted by sequentially reducing the weighting coefficient with the smallest absolute value of the weighting coefficient of the neural network.
- the number of operations of the node N 00 is three times of multiplication and two times of addition, which is a total of five times, and the number of operations is reduced by four times compared with the expression (1).
- the number of operations is reduced by deleting the connection between nodes that has a small effect on the output.
- Z 00 X 0 *W 000 +X 2 *W 020 +X 3 *W 030 (7)
- FIG. 8 is a block diagram showing a part of the arithmetic unit according to the first embodiment.
- FIG. 9 is a diagram showing an example of a timing chart of the arithmetic processing of the neural network.
- FIG. 10 is a diagram showing another example of a timing chart of the arithmetic processing of the neural network.
- FIG. 11 is a diagram showing another example of a timing chart of the arithmetic processing of the neural network.
- the memory 301 stores the intermediate data 303 calculated by the calculator 302. Further, the arithmetic processing is repeated by the arithmetic unit 302 using the input value 304 and the intermediate data 305 stored in the memory 301. When all arithmetic processing is completed by the arithmetic unit 302, the arithmetic unit 302 outputs an arithmetic result 306. Assuming that the number of assigned arithmetic units 302 is 20, and the number of arithmetic operations required for the reduced neural network is 60, the arithmetic result 306 is output after the arithmetic processing of 3 cycles is executed for one arithmetic unit 302. It As shown in FIG.
- the neural network as a whole has a processing time T of three cycles of 60 times (#0-#59). ), the arithmetic processing ends.
- the processing time T shows the processing time for one cycle by one arithmetic unit 302, but the arithmetic processing is executed in parallel by the 20 arithmetic units 302 at the processing time T.
- FIG. 10 shows a case in which the number of operations of the neural network is reduced without considering the number of assigned operation units 302.
- the number of arithmetic units 302 assigned is 20, and the number of arithmetic operations of the neural network is reduced from 78 times to 62 times.
- the number of calculations of the neural network is 60, the number of calculations is only increased twice (#60, #61), but the processing time T of 4 cycles is required for the entire neural network. The processing time T for one cycle increases.
- FIG. 11 shows a case where the number of calculations of the neural network is reduced without considering the number of allocations of the calculator 302.
- the number of assigned arithmetic units 302 is 20, and the number of arithmetic operations of the neural network is reduced from 78 times to 45 times.
- the arithmetic processing of the first cycle and the arithmetic processing of the second cycle all 20 arithmetic units 302 are used, but in the arithmetic processing of the third cycle, only 5 of the 20 arithmetic units 302 are used. Absent.
- the processing time of the operation processing is not shortened although the number of times of operation is reduced 15 times.
- the arithmetic unit 302 is not effectively used in the arithmetic processing of the third cycle, and the recognition performance of the image recognition unit 112 may deteriorate.
- the number of operations of the neural network used for image recognition of the image input from the camera is set to the integer of the number assigned to the operator 302 set by the operator assigning unit 102. It has been reduced to double. As a result, the plurality of computing units 302 assigned to the computing process of the neural network simultaneously start the computing process and simultaneously finish the computing process. It is possible to eliminate the cycle of calculation by only some of the arithmetic units 302, reduce the processing time of the arithmetic processing, and maximize the usage efficiency of the plurality of arithmetic units 302.
- the number of calculations is not limited to the configuration in which the total number of calculations from the first intermediate layer 201 to the output layer 203 of the neural network is reduced, and the number of calculations may be reduced for each layer of the neural network.
- the arithmetic unit allocation unit 102 sets the allocation number of the arithmetic units 302 for each layer of the neural network.
- the number of assigned arithmetic units 302 to the first intermediate layer 201 is set to 8
- the number of assigned arithmetic units 302 to the second intermediate layer 202 is set to 8
- the number of assigned arithmetic units 302 to the output layer 203 is set to 4. It
- the number of calculations setting unit 103 sets the number of calculations for each layer of the contracted neural network.
- the number of operations for the first intermediate layer 201 is set by the following equation (8)
- the number of operations for the second intermediate layer 202 is set by the following equation (9)
- the number of operations for the output layer 203 is the following equation (10).
- the number of assigned arithmetic units 302 is set individually for each layer in equations (8) to (10)
- the same number of assigned arithmetic units 302 may be set for each layer.
- the neural network contracting unit 104 reduces the number of operations for each layer of the neural network by using a contraction method such as Pruning.
- the calculation processing for four times in the first intermediate layer 201 is reduced, the calculation processing for four times in the second intermediate layer 202 is reduced, and the calculation processing for two times in the output layer 203 is reduced.
- the calculation processing can be performed with a relatively small number of allocations (e.g., 8) of the calculation units 302.
- the implementation scale can be reduced.
- the number-of-calculations setting unit 103 sets the number of calculations of the neural network after contraction by subtracting the remainder obtained by dividing the number of calculations required for the calculation processing of the neural network by the number of allocations of the calculator 302 from this number of calculations. It is not limited to the configuration.
- the equation (11) becomes the same as the equation (6).
- the number of calculations is set to 40 according to the following equation (12).
- the number-of-calculations setting unit 103 is not limited to the configuration that sets the number of calculations of the neural network after contraction so as to be an integer multiple of the number of allocations of the calculator 302.
- the number-of-times-of-calculations setting unit 103 does not necessarily need to set the number of calculations of the reduced neural network to an integral multiple of the number of allocations of the arithmetic units 302.
- the number-of-operations setting unit 103 divides the number of operations of the neural network after the contraction so that the remainder obtained by dividing the number of operations of the neural network before the contraction by the number of allocations of the operator 302 becomes more than half of the number of allocations of the unit 302. The number of calculations may be set.
- the number of calculations after reduction is changed according to the value of m.
- the number of operations after reduction is 59, only 19 of the 20 arithmetic units 302 are used in the arithmetic processing of the third cycle, and one arithmetic unit 302 is used.
- the vessel 302 is unused. For this reason, although the use efficiency of the computing unit 302 is reduced, the reduction rate of the neural network can be changed to be flexible according to the recognition accuracy of the reduced neural network.
- the value of m may be set arbitrarily by the user or may be set in advance.
- FIG. 13 is a block diagram of the automatic driving system according to the second embodiment.
- the same blocks as those in the automatic driving system according to the first embodiment are designated by the same reference numerals.
- the neural network reduction apparatus 100 includes a verification data holding unit 106 and a recognition accuracy verification unit 107 as a function of verifying the recognition accuracy of the neural network.
- the verification data storage unit 106 stores verification values and correct values as verification data for verifying the recognition accuracy of the contracted neural network.
- the recognition accuracy verification unit 107 verifies the recognition accuracy by calculating the recognition accuracy of the contracted neural network and comparing the recognition accuracy with a predetermined target accuracy. In this case, the recognition accuracy verification unit 107 inputs the verification value read from the verification data holding unit 106 to the contracted neural network, and reads the output value output from the neural network and the verification data holding unit 106. The recognition accuracy is calculated by comparing with the correct answer value. Then, the recognition accuracy verification unit 107 verifies the recognition accuracy based on the target accuracy by comparing the recognition accuracy with the target accuracy.
- the recognition accuracy verification unit 107 When the recognition accuracy verified by the recognition accuracy verification unit 107 is less than the target accuracy, the recognition accuracy verification unit 107 notifies the arithmetic unit allocation unit 102 of an instruction to increase the number of allocated arithmetic units. Upon receiving a command to increase the number of assigned operation units from the recognition accuracy verification unit 107, the operation unit assignment unit 102 increments the number of assigned operation units by one and updates the assigned number. The number-of-calculations setting unit 103 sets the number of calculations of the contracted neural network based on the updated number of allocated arithmetic units.
- the recognition accuracy verification unit 107 notifies the arithmetic unit allocation unit 102 of a command to reduce the number of allocated arithmetic units.
- the arithmetic unit assignment unit 102 reduces the assigned number of arithmetic units by one and updates the assigned number.
- the number-of-calculations setting unit 103 sets the number of calculations of the contracted neural network based on the updated number of allocated arithmetic units.
- the number of neural network calculations before contraction is 78.
- the number of assigned operation units is set to 20 by the operation unit assignment unit 102
- the number of operations is set to 60 by the operation number setting unit 103 using the following equation (14).
- the recognition accuracy verification unit 107 verifies the recognition accuracy of the contracted neural network.
- the arithmetic unit allocation unit 102 increases the number of arithmetic units allocated by one to 21.
- the operation unit assignment unit 102 resets the number of operations to 63 using the following equation (15).
- the recognition accuracy verification unit 107 verifies the recognition accuracy of the re-reduced neural network.
- the recognition accuracy by the recognition accuracy verification unit 107 becomes equal to or higher than the target accuracy
- the parameters of the neural network are notified to the image recognition unit 112 and used for the image recognition processing on the image input from the camera 120.
- the arithmetic unit allocation unit 102 increases the number of allocated arithmetic units by one again. By repeating this process, the recognition accuracy of the neural network can approach the target accuracy.
- the recognition accuracy verification unit 107 feeds back an instruction to increase the number of allocated arithmetic units to the arithmetic unit allocation unit 102 so as to improve the recognition accuracy. It is not limited to the configuration. When the recognition accuracy of the contracted neural network is higher than necessary, the recognition accuracy verification unit 107 feeds back a command to decrease the number of allocated arithmetic units to the arithmetic unit allocation unit 102 so as to reduce the recognition accuracy to the target accuracy. Good.
- the automatic driving system similar to the first embodiment, it is possible to reduce the processing time of the arithmetic processing and increase the usage efficiency of the plurality of arithmetic units. Further, the number of arithmetic units assigned to the arithmetic processing of the neural network can be adjusted according to the recognition accuracy of the contracted neural network. Therefore, the number of calculations of the neural network can be reduced to such an extent that the recognition accuracy of the neural network can maintain the target accuracy.
- FIG. 14 is a block diagram of the automatic driving system according to the third embodiment.
- the same blocks as those in the automatic driving system according to the second embodiment are designated by the same reference numerals.
- the neural network contracting apparatus 100 is configured to adjust the number of operations of the number-of-operations setting unit 103 based on the verification result of the recognition accuracy verification unit 107. There is. That is, when the recognition accuracy verified by the recognition accuracy verification unit 107 is less than the target accuracy, the recognition accuracy verification unit 107 notifies the operation count setting unit 103 of an instruction to increase the operation count. Upon receiving a command to increase the number of operations from the recognition accuracy verification unit 107, the number of operations setting unit 103 increases the number of operations of the neural network after contraction and resets the number of operations.
- the recognition accuracy verification unit 107 notifies the operation count setting unit 103 of a command to reduce the operation count.
- the calculation number setting unit 103 receives the calculation number reduction command from the recognition accuracy verification unit 107, the calculation number setting unit 103 reduces the calculation number of the contracted neural network and resets the calculation number.
- the number of neural network calculations before contraction is 78.
- the number of operations is set by the operation number setting unit 103 using the following equation (16).
- the neural network contracting unit 104 reduces the arithmetic processing for 58 times of the neural network and contracts the neural network.
- the recognition accuracy verification unit 107 verifies the recognition accuracy of the contracted neural network.
- the neural network contracting unit 104 reduces the neural network's 38 arithmetic operations and contracts the neural network again. Since the number of operations of the neural network has increased from 20 to 40, improvement in recognition accuracy can be expected.
- the recognition accuracy verification unit 107 verifies the recognition accuracy of the re-reduced neural network.
- the recognition accuracy by the recognition accuracy verification unit 107 becomes equal to or higher than the target accuracy
- the parameters of the neural network are notified to the image recognition unit 112 and used for the image recognition processing on the image input from the camera 120.
- the calculation number setting unit 103 again increases the value of n in Expression (16) by one. By repeating this process, the recognition accuracy of the neural network can approach the target accuracy.
- the recognition accuracy verification unit 107 feeds back an operation number increase command to the operation number setting unit 103 so as to improve the recognition accuracy. I can't.
- the recognition accuracy verification unit 107 may feed back a calculation frequency reduction command to the calculation number setting unit 103 so as to reduce the recognition accuracy to the target accuracy.
- the automatic driving system As described above, in the automatic driving system according to the third embodiment, as in the second embodiment, it is possible to reduce the processing time of the arithmetic processing and improve the usage efficiency of the plurality of arithmetic units.
- the number of operations of the neural network can be adjusted according to the recognition accuracy of the contracted neural network. Therefore, the number of calculations of the neural network can be reduced to such an extent that the recognition accuracy of the neural network can maintain the target accuracy.
- FIG. 15 is a block diagram of an automatic driving system according to the fourth embodiment.
- the same blocks as those in the automatic driving system according to the first embodiment are designated by the same reference numerals.
- the neural network contracting apparatus 100 is provided with a calculation number correcting unit 108 as a function of correcting the calculation number of the neural network after contraction.
- the number-of-times-of-calculations correction unit 108 corrects the number of calculations of the reduced neural network based on the number of assigned operation units set by the operation-unit assignment unit 102.
- the calculation number correction unit 108 corrects the calculation number of the neural network so that it becomes an integral multiple of the number of assigned arithmetic units set by the arithmetic unit assignment unit 102 for the reduced neural network.
- the number of neural network calculations before contraction is 78.
- the number of calculations setting unit 103 sets the number of calculations of the neural network after contraction to 39 times.
- the number of calculations of the neural network after contraction is a value that is half the number of calculations of the neural network before contraction.
- the neural network contracting unit 104 reduces the arithmetic processing of the 39th part to contract the neural network.
- the arithmetic unit allocating unit 102 sets the number of arithmetic units to be allocated to 20
- the arithmetic operation number correcting unit 108 corrects the arithmetic operation number of the neural network after contraction using the following equation (17).
- Number of calculations after correction (div(39,20)+INT(div(mod(39,20),20)+0.5))*20...(17)
- Div (A, B) in the equation (17) indicates a process of dividing A by B
- INT(X) indicates a process of rounding down the fractional part of X.
- the expression (17) is (1+1)*20. Therefore, the number of calculations after correction is set to 40 times. As a result, it becomes possible to correct the number of operations of the neural network after contraction to be an integral multiple of the number of assigned operation units.
- the automatic driving system As described above, in the automatic driving system according to the fourth embodiment of the present invention, as in the first embodiment, it is possible to reduce the processing time of the arithmetic processing and improve the usage efficiency of a plurality of arithmetic units. Further, it is possible to first reduce the neural network and correct the number of calculations of the reduced neural network while considering the number of assigned arithmetic units.
- the contracting device for the neural network used for the image recognition processing has been described, but the present invention is not limited to this configuration.
- the neural network contracting device can be applied to other recognition processing such as voice recognition processing as well as contraction of a neural network used for prediction processing of future data.
- the neural network contracting apparatus 100 is provided in the server 20, but the neural network contracting apparatus 100 may be provided in the vehicle 10.
- the calculation number setting unit 103 and the neural network contraction unit 104 are configured to calculate the number of calculations of the neural network before the contraction by the arithmetic device 140, but the present invention is not limited to this structure.
- the number of operations of the neural network before contraction may be held in the neural network holding unit 101 in advance.
- the neural network contracting apparatus 100 may be provided with a calculation number calculation unit that calculates the calculation times of the neural network before contraction.
- the arithmetic unit allocating unit 102 sets the number of the arithmetic units 302 to be assigned to the arithmetic processing of the neural network, but the present invention is not limited to this configuration.
- the arithmetic unit allocating unit 102 may set a ratio of the total number of the arithmetic units 302 to be allocated to the arithmetic processing of the neural network.
- the number-of-calculations setting unit 103 sets the number of calculations of the neural network, but the present invention is not limited to this structure.
- the calculation number setting unit 103 may set the reduction rate of the neural network instead of the calculation number of the neural network.
- the number-of-operations correction unit 108 corrects the number of operations of the neural network after contraction so that it becomes an integral multiple of the number of allocations of the arithmetic units, but the present invention is not limited to this configuration. Not done.
- the number-of-operations correction unit 108 may correct the number of operations for each layer of the neural network, or the number of operations of the neural network may be adjusted so that the remainder divided by the number of assigned operation units is more than half the number of assigned operation units. May be corrected.
- the neural network contracting apparatus (100) contracts the neural network to the number of operations of the neural network by the arithmetic unit (140) including the plurality of arithmetic units (302).
- a reduction device (100) for a neural network which is reduced by means of the calculation, wherein an arithmetic unit allocation unit (102) for setting the number of arithmetic units (302) allocated to arithmetic processing of the neural network, and an allocation of arithmetic units (302).
- the calculation number setting unit (103) that sets the calculation number of the neural network after contraction based on the number, and the calculation number of the neural network by the calculation device (140) set by the calculation number setting unit (103)
- a neural network contracting unit (104) for contracting the neural network so as to be equal to the number of times.
- the number of calculations necessary for the calculation processing of the neural network is reduced in consideration of the allocation number of the calculation unit (302) for the calculation processing of the neural network. That is, the number of operations per cycle that can be simultaneously processed by the plurality of arithmetic units (302) assigned to the arithmetic processing of the neural network is considered. Therefore, the number of operations of the neural network is reduced so as to eliminate the cycle in which only a small number of arithmetic units (302) are operated, the processing time of the arithmetic processing is shortened, and the use efficiency of the plurality of arithmetic units (302) is increased. be able to.
- the operation number setting unit (103) is smaller than the operation number of the neural network before contraction and is set by the arithmetic unit assigning unit (102).
- the number of calculations of the neural network after contraction is set to an integer multiple of the number of allocations of the arithmetic unit (302).
- the plurality of arithmetic units (302) assigned to the arithmetic processing of the neural network simultaneously start the arithmetic processing and simultaneously terminate the arithmetic processing. Therefore, there is no cycle in which only some of the arithmetic units (302) perform arithmetic operations, which can shorten the processing time of arithmetic processing and maximize the usage efficiency of the plurality of arithmetic units (302).
- the number-of-operations setting unit (103) is the number of allocated operation units (302) set by the operation unit allocation unit (102),
- the number of operations of the contracted neural network is set so that the remainder obtained by dividing the number of operations is equal to or more than half of the number assigned to the operator (302).
- the plurality of computing units (302) assigned to the computing process of the neural network start the computing processes at the same time, and more than half of the plurality of computing units (302) simultaneously perform the computing processes (302).
- the arithmetic processing is ended. Therefore, there is no cycle in which only a small number of arithmetic units (302) are used for calculation, and it is possible to shorten the processing time of the arithmetic processing and improve the usage efficiency of the plurality of arithmetic units (302).
- the neural network has a plurality of layers, and the computing unit assigning unit (102) assigns the computing unit (302) to each layer of the neural network.
- the number of calculations is set, and the number-of-calculations setting unit (103) sets the number of calculations of the neural network after contraction for each layer of the neural network.
- the neural network contracting unit (104) contracts the neural network by the Pruning process. According to this configuration, it is possible to reduce the number of operations of the neural network while suppressing the deterioration of the accuracy of the neural network due to the prune processing.
- the neural network contracting apparatus (100) includes an accuracy verification unit (recognition accuracy verification unit 107) that calculates the accuracy of the contracted neural network and compares the accuracy with the target accuracy.
- an accuracy verification unit recognition accuracy verification unit 107 that calculates the accuracy of the contracted neural network and compares the accuracy with the target accuracy.
- the arithmetic unit allocating unit (102) sets a small number of the arithmetic units (302) to be allocated, and when the precision is less than the target precision, the arithmetic unit allocating unit (102) calculates the arithmetic unit (302). ).
- this configuration it is possible to adjust the number of arithmetic units (302) assigned to the arithmetic processing of the neural network according to the accuracy of the contracted neural network. Therefore, the number of calculations of the neural network can be reduced to such an extent that the accuracy of the neural network can maintain the target accuracy.
- the neural network contracting apparatus (100) includes an accuracy verification unit (recognition accuracy verification unit 107) that calculates the accuracy of the contracted neural network and compares the accuracy with the target accuracy.
- an accuracy verification unit recognition accuracy verification unit 107 that calculates the accuracy of the contracted neural network and compares the accuracy with the target accuracy.
- the number-of-calculations setting unit (103) sets the number of computations of the neural network after reduction to a small number, and when the precision is less than the target precision, the number-of-calculations setting unit (103) reduces Set a large number of calculations for the neural network of.
- the number of operations of the neural network can be adjusted according to the accuracy of the contracted neural network. Therefore, the number of calculations of the neural network can be reduced to such an extent that the accuracy of the neural network can maintain the target accuracy.
- the number of operations of the neural network by the arithmetic unit (140) including a plurality of arithmetic units (302) is reduced by contracting the neural network.
- a neural network contracting device (100) wherein an arithmetic operation number setting unit (103) for setting the arithmetic operation number of the neural network after the contraction and an arithmetic operation number of the neural network by the arithmetic device (140) are set.
- Neural network reduction unit (104) that reduces the neural network so that the number of operations set by the unit (103) becomes equal to the number of operations assigned to the operation unit (302) for the operation processing of the neural network.
- An arithmetic unit allocating unit (102) and an arithmetic operation number correcting unit (108) that corrects the arithmetic operation number of the contracted neural network based on the number of arithmetic units (302) assigned.
- the number of calculations required for the calculation processing of the neural network after contraction is corrected in consideration of the number of the calculation units (302) assigned to the calculation processing of the neural network. That is, the number of operations per cycle that can be simultaneously processed by the plurality of arithmetic units (302) assigned to the arithmetic processing of the neural network is considered. Therefore, it is possible to correct the number of calculations of the neural network so as to eliminate the cycle in which only a small number of arithmetic units are operated, thereby shortening the processing time of the arithmetic processing and improving the usage efficiency of the plurality of arithmetic units (302). ..
- neural network contracting device 100 neural network contracting device, 102 arithmetic unit allocating unit, 103 arithmetic operation number setting unit, 104 neural network contracting unit, 107 recognition accuracy verification unit (accuracy verification unit), 108 arithmetic operation correction unit, 140 arithmetic device, 302 arithmetic operation vessel
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
Abstract
Description
以下、添付の図面を参照して、ニューラルネットワークの縮約装置を適用した自動運転システムについて説明する。図1は、第1の実施形態に係る自動運転システムのブロック図である。なお、以下の説明では、ニューラルネットワークの縮約装置を自動運転システムに適用した一例について説明するが、ニューラルネットワークの縮約装置は、監視カメラシステム、医療用の画像診断システム、音声認識システム等の他のシステムに適用可能である。
Z00=X0*W000+X1*W010+X2*W020+X3*W030+X4*W040・・・(1)
Z01=X0*W001+X1*W011+X2*W021+X3*W031+X4*W041・・・(2)
Z11=Z00*W100+Z01*W110+Z02*W120+Z03*W130・・・(3)
Y0=Z10*W200+Z11*W210+Z12*W220+Z13*W230・・・(4)
36回+28回+14回=78回・・・(5)
78-mod(78,20)=60・・・(6)
Z00=X0*W000+X2*W020+X3*W030・・・(7)
36-mod(36,8)=32・・・(8)
28-mod(28,8)=24・・・(9)
14-mod(14,4)=12・・・(10)
低減後の演算回数=78-mod(78,20)-20×n・・・(11)
(n=0,1,2… 但し、低減後の演算回数は正数)
78-mod(78,20)-20=40・・・(12)
低減後の演算回数=78-mod(78,20)-m・・・(13)
(m=0,1,2,・・・,k)
以下に、第2の実施形態に係る自動運転システムについて説明する。第2の実施形態に係る自動運転システムは、ニューラルネットワークの認識精度を検証しながら、演算器の割り当て数の調整によってニューラルネットワークを縮約する点について第1の実施形態と相違している。したがって、第1の実施形態と同様な構成については説明を省略する。図13は、第2の実施形態に係る自動運転システムのブロック図である。図13では、第1の実施形態の自動運転システムと同一のブロックについては同一の符号を付している。
78-mod(78,20)=60・・・(14)
78-mod(78,21)=63・・・(15)
また、縮約後のニューラルネットワークの認識精度に応じて、ニューラルネットワークの演算処理に対する演算器の割り当て数を調整することができる。よって、ニューラルネットワークの認識精度が目標精度を維持できる程度に、ニューラルネットワークの演算回数を低減することができる。
以下に、第3の実施形態に係る自動運転システムについて説明する。第3の実施形態に係る自動運転システムは、ニューラルネットワークの認識精度を検証しながら、演算回数の調整によってニューラルネットワークを縮約する点について第2の実施形態と相違している。したがって、第1の実施形態と同様な構成については説明を省略する。図14は、第3の実施形態に係る自動運転システムのブロック図である。図14では、第2の実施形態の自動運転システムと同一のブロックについては同一の符号を付している。
低減後の演算回数=78-mod(78,20)-20×n・・・(16)
(n=0,1,2,・・・。但し、低減後の演算回数は正数)
また、縮約後のニューラルネットワークの認識精度に応じて、ニューラルネットワークの演算回数を調整することができる。よって、ニューラルネットワークの認識精度が目標精度を維持できる程度に、ニューラルネットワークの演算回数を低減することができる。
以下に、第4の実施形態に係る自動運転システムについて説明する。第4の実施形態に係る自動運転システムは、縮約後のニューラルネットワークの演算回数を、演算器の割り当て数の調整によって補正する点について第1の実施形態と相違している。したがって、第1の実施形態と同様な構成については説明を省略する。図15は、第4の実施形態に係る自動運転システムのブロック図である。図15では、第1の実施形態の自動運転システムと同一のブロックについては同一の符号を付している。
補正後の演算回数=(div(39,20)+INT(div(mod(39,20),20)+0.5))*20・・・(17)
Claims (8)
- 複数の演算器を備えた演算装置によるニューラルネットワークの演算回数を、ニューラルネットワークを縮約することによって低減するニューラルネットワークの縮約装置であって、
ニューラルネットワークの演算処理に対する前記演算器の割り当て数を設定する演算器割り当て部と、
前記演算器の割り当て数に基づいて縮約後のニューラルネットワークの演算回数を設定する演算回数設定部と、
前記演算装置によるニューラルネットワークの演算回数が、前記演算回数設定部によって設定された演算回数と等しくなるように、ニューラルネットワークを縮約するニューラルネットワーク縮約部とを備えたことを特徴とするニューラルネットワークの縮約装置。 - 前記演算回数設定部は、縮約前のニューラルネットワークの演算回数よりも小さく、かつ前記演算器割り当て部によって設定された前記演算器の割り当て数の整数倍に縮約後のニューラルネットワークの演算回数を設定することを特徴とする請求項1に記載のニューラルネットワークの縮約装置。
- 前記演算回数設定部は、前記演算器割り当て部によって設定された前記演算器の割り当て数で、縮約前のニューラルネットワークの演算回数を除算した余りが当該演算器の割り当て数の半分以上になるように、縮約後のニューラルネットワークの演算回数を設定することを特徴とする請求項1に記載のニューラルネットワークの縮約装置。
- ニューラルネットワークは複数の層を有しており、
前記演算器割り当て部はニューラルネットワークの層毎に前記演算器の割り当て数を設定し、
前記演算回数設定部はニューラルネットワークの層毎に縮約後のニューラルネットワークの演算回数を設定することを特徴とする請求項1に記載のニューラルネットワークの縮約装置。 - 前記ニューラルネットワーク縮約部はPruning処理によってニューラルネットワークを縮約することを特徴とする請求項1に記載のニューラルネットワークの縮約装置。
- 縮約後のニューラルネットワークの精度を算出して、当該精度と目標精度を比較する精度検証部を備え、
前記精度が目標精度以上の場合に前記演算器割り当て部が前記演算器の割り当て数を小さく設定し、前記精度が目標精度未満の場合に前記演算器割り当て部が前記演算器の割り当て数を大きく設定することを特徴とする請求項1から請求項5のいずれか一項に記載のニューラルネットワークの縮約装置。 - 縮約後のニューラルネットワークの精度を算出して、当該精度と目標精度を比較する精度検証部を備え、
前記精度が目標精度以上の場合に前記演算回数設定部が縮約後のニューラルネットワークの演算回数を小さく設定し、前記精度が目標精度未満の場合に前記演算回数設定部が縮約後のニューラルネットワークの演算回数を大きく設定することを特徴とする請求項1から請求項5のいずれか一項に記載のニューラルネットワークの縮約装置。 - 複数の演算器を備えた演算装置によるニューラルネットワークの演算回数を、ニューラルネットワークを縮約することによって低減するニューラルネットワークの縮約装置であって、
縮約後のニューラルネットワークの演算回数を設定する演算回数設定部と、
前記演算装置によるニューラルネットワークの演算回数が、前記演算回数設定部によって設定された演算回数と等しくなるように、ニューラルネットワークを縮約するニューラルネットワーク縮約部と、
ニューラルネットワークの演算処理に対する前記演算器の割り当て数を設定する演算器割り当て部と、
前記演算器の割り当て数に基づいて縮約後のニューラルネットワークの演算回数を補正する演算回数補正部とを備えたことを特徴とするニューラルネットワークの縮約装置。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US17/298,801 US12412097B2 (en) | 2019-01-18 | 2020-01-08 | Neural network compression device |
| DE112020000202.0T DE112020000202T5 (de) | 2019-01-18 | 2020-01-08 | Komprimierungsvorrichtung für neuronale Netze |
| CN202080006824.3A CN113272831B (zh) | 2019-01-18 | 2020-01-08 | 神经网络的缩简装置 |
| JP2020566382A JP7104183B2 (ja) | 2019-01-18 | 2020-01-08 | ニューラルネットワークの縮約装置 |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2019-006660 | 2019-01-18 | ||
| JP2019006660 | 2019-01-18 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2020149178A1 true WO2020149178A1 (ja) | 2020-07-23 |
Family
ID=71613862
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2020/000231 Ceased WO2020149178A1 (ja) | 2019-01-18 | 2020-01-08 | ニューラルネットワークの縮約装置 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US12412097B2 (ja) |
| JP (1) | JP7104183B2 (ja) |
| CN (1) | CN113272831B (ja) |
| DE (1) | DE112020000202T5 (ja) |
| WO (1) | WO2020149178A1 (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP4092579A1 (en) | 2021-05-21 | 2022-11-23 | Fujitsu Limited | Machine learning program, machine learning method, and information processing device |
| JP2023030754A (ja) * | 2021-08-24 | 2023-03-08 | キヤノン株式会社 | ニューラルネットワーク演算装置、ニューラルネットワーク演算装置の制御方法およびプログラム |
| JP2024510624A (ja) * | 2021-03-26 | 2024-03-08 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 行列乗算演算のための行列の近似のためのデータ圧縮器 |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20220036164A1 (en) * | 2020-07-29 | 2022-02-03 | Micron Technology, Inc. | Neuromorphic memory and inference engine stacked with image sensor to reduce data traffic to host |
| US12246736B2 (en) | 2020-07-29 | 2025-03-11 | Micron Technology, Inc. | Image sensor for processing sensor data to reduce data traffic to host system |
| US20250103901A1 (en) * | 2023-09-22 | 2025-03-27 | Robert Bosch Gmbh | Collaborative learning with full model alignment |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH11215380A (ja) * | 1998-01-26 | 1999-08-06 | Ricoh Co Ltd | 画像処理装置 |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2877413B2 (ja) * | 1990-02-06 | 1999-03-31 | 富士通株式会社 | 余剰ニューロン決定処理方式 |
| JP6258560B2 (ja) * | 2015-05-27 | 2018-01-10 | 株式会社日立製作所 | ニューラルネットワークの学習装置及び学習方法 |
| US10452971B2 (en) * | 2015-06-29 | 2019-10-22 | Microsoft Technology Licensing, Llc | Deep neural network partitioning on servers |
| US10762426B2 (en) * | 2016-08-12 | 2020-09-01 | Beijing Deephi Intelligent Technology Co., Ltd. | Multi-iteration compression for deep neural networks |
| KR102415506B1 (ko) * | 2016-10-26 | 2022-07-01 | 삼성전자주식회사 | 뉴럴 네트워크 간소화 방법 및 장치 |
| KR102457463B1 (ko) * | 2017-01-16 | 2022-10-21 | 한국전자통신연구원 | 희소 파라미터를 사용하는 압축 신경망 시스템 및 그것의 설계 방법 |
| US10650303B2 (en) * | 2017-02-14 | 2020-05-12 | Google Llc | Implementing neural networks in fixed point arithmetic computing systems |
| US11615297B2 (en) * | 2017-04-04 | 2023-03-28 | Hailo Technologies Ltd. | Structured weight based sparsity in an artificial neural network compiler |
| WO2020033898A1 (en) * | 2018-08-09 | 2020-02-13 | Board Of Trustees Of Michigan State University | Systems and methods for providing flexible, multi-capacity models for use of deep neural networks in mobile devices |
| KR102796861B1 (ko) * | 2018-12-10 | 2025-04-17 | 삼성전자주식회사 | 인공 신경망을 압축하기 위한 장치 및 방법 |
-
2020
- 2020-01-08 US US17/298,801 patent/US12412097B2/en active Active
- 2020-01-08 WO PCT/JP2020/000231 patent/WO2020149178A1/ja not_active Ceased
- 2020-01-08 JP JP2020566382A patent/JP7104183B2/ja active Active
- 2020-01-08 DE DE112020000202.0T patent/DE112020000202T5/de active Pending
- 2020-01-08 CN CN202080006824.3A patent/CN113272831B/zh active Active
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH11215380A (ja) * | 1998-01-26 | 1999-08-06 | Ricoh Co Ltd | 画像処理装置 |
Non-Patent Citations (2)
| Title |
|---|
| KOJIMA , TAKAO: "Intelligent technology to support the s advancement of automated driving", HITACHI REVIEW, vol. 99, no. 5, October 2017 (2017-10-01), pages 52 - 56, ISSN: 0367-5874 * |
| YOSHIDA, AKIMASA: "2.2 Execution method of coarse grain task parallel processing", LAYER-UNIFIED EXECUTION CONTROL SCHEME FOR COARSE GRAIN TASK PARALLEL PROCESSING, IPSJ JOURNAL, vol. 45, no. 12, 15 December 2004 (2004-12-15), pages 2732 - 2740, ISSN: 0387-5806 * |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2024510624A (ja) * | 2021-03-26 | 2024-03-08 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 行列乗算演算のための行列の近似のためのデータ圧縮器 |
| JP7797522B2 (ja) | 2021-03-26 | 2026-01-13 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 行列乗算演算のための行列の近似のためのデータ圧縮器 |
| EP4092579A1 (en) | 2021-05-21 | 2022-11-23 | Fujitsu Limited | Machine learning program, machine learning method, and information processing device |
| JP2023030754A (ja) * | 2021-08-24 | 2023-03-08 | キヤノン株式会社 | ニューラルネットワーク演算装置、ニューラルネットワーク演算装置の制御方法およびプログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| US12412097B2 (en) | 2025-09-09 |
| DE112020000202T5 (de) | 2021-08-26 |
| JP7104183B2 (ja) | 2022-07-20 |
| JPWO2020149178A1 (ja) | 2021-10-14 |
| US20220036190A1 (en) | 2022-02-03 |
| CN113272831A (zh) | 2021-08-17 |
| CN113272831B (zh) | 2024-07-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2020149178A1 (ja) | ニューラルネットワークの縮約装置 | |
| CN111758104B (zh) | 适合于硬件实现的神经网络参数优化方法、神经网络计算方法和装置 | |
| JP7021904B2 (ja) | 畳み込み神経網処理方法及び装置 | |
| US11847569B2 (en) | Training and application method of a multi-layer neural network model, apparatus and storage medium | |
| JP7325158B2 (ja) | ニューラル・ネットワーク・コアにおける動的精度のためのデータ表現 | |
| JP6990813B2 (ja) | 多層ニューラルネットワークモデルの学習及び適用方法、装置、並びに記憶媒体 | |
| KR20190128795A (ko) | 웨이트 매트릭스를 포맷하는 방법, 포맷된 데이터를 사용하는 가속기 및 이를 포함하는 시스템 | |
| CN111062472A (zh) | 一种基于结构化剪枝的稀疏神经网络加速器及其加速方法 | |
| KR102610842B1 (ko) | 뉴럴 네트워크에서의 프로세싱 엘리먼트 및 그 동작 방법 | |
| KR101987475B1 (ko) | 하드웨어 구현에 적합한 신경망 파라미터 최적화 방법, 신경망 연산방법 및 그 장치 | |
| CN107844826A (zh) | 神经网络处理单元及包含该处理单元的处理系统 | |
| KR20200062743A (ko) | 컨볼루션 신경망 훈련의 다차원 병렬화 방법과 이를 수행하는 장치 사이의 재구성 가능한 연결 구조 | |
| CN115600637B (zh) | 面向数据流神经网络加速器设计的架构自动优化方法 | |
| KR102247896B1 (ko) | 학습된 파라미터의 형태변환을 이용한 컨벌루션 신경망 파라미터 최적화 방법, 컨벌루션 신경망 연산방법 및 그 장치 | |
| KR102396447B1 (ko) | 파이프라인 구조를 가지는 인공신경망용 연산 가속 장치 | |
| CN109919312B (zh) | 卷积神经网络的运算方法、装置及dpu | |
| KR102153167B1 (ko) | 인공 신경망을 위한 행렬 연산기 및 행렬 연산 방법 | |
| CN114065923A (zh) | 一种卷积神经网络的压缩方法、系统及加速装置 | |
| CN110929854A (zh) | 一种数据处理方法、装置及硬件加速器 | |
| CN108304926B (zh) | 一种适用于神经网络的池化计算装置及方法 | |
| CN114298291A (zh) | 一种模型量化处理系统及一种模型量化处理方法 | |
| CN110197262B (zh) | 用于lstm网络的硬件加速器 | |
| CN116205275A (zh) | 量化参数模型的训练方法及装置、电子设备、存储介质 | |
| CN114065121B (zh) | 一种求解伊辛模型的计算方法及设备 | |
| CN114647818A (zh) | 矩阵运算结果的确定方法及装置、存储介质、电子装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20740966 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2020566382 Country of ref document: JP Kind code of ref document: A |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 20740966 Country of ref document: EP Kind code of ref document: A1 |
|
| WWG | Wipo information: grant in national office |
Ref document number: 17298801 Country of ref document: US |