WO2020122067A1 - 情報処理装置、車載制御装置、車両制御システム - Google Patents

情報処理装置、車載制御装置、車両制御システム Download PDF

Info

Publication number
WO2020122067A1
WO2020122067A1 PCT/JP2019/048288 JP2019048288W WO2020122067A1 WO 2020122067 A1 WO2020122067 A1 WO 2020122067A1 JP 2019048288 W JP2019048288 W JP 2019048288W WO 2020122067 A1 WO2020122067 A1 WO 2020122067A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
data
calculation
dnn
information processing
Prior art date
Application number
PCT/JP2019/048288
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 US17/413,264 priority Critical patent/US20220051030A1/en
Priority to CN201980079673.1A priority patent/CN113168574A/zh
Publication of WO2020122067A1 publication Critical patent/WO2020122067A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/955Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/96Management of image or video recognition tasks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle

Definitions

  • the present invention relates to an information processing device and an in-vehicle control device and a vehicle control system using the same.
  • a large amount of arithmetic processing is required to obtain highly accurate recognition results using a neural network. For example, it is known that one photographed image is calculated about 100 billion times to 1 trillion times. However, performing such a large amount of arithmetic processing in a device mounted on a vehicle is not realistic from the viewpoint of device size and power consumption. Therefore, there is a demand for a technique that can obtain a highly accurate recognition result using a neural network even with a small amount of calculation.
  • Patent Document 1 is known as the background art of the present invention.
  • a detection layer that detects and outputs one or more feature quantities from an output from a preceding layer and an integrated layer that outputs the integrated output from the detection layer are alternately arranged.
  • an information processing device that detects a predetermined pattern in an input image by a calculation process using a hierarchical neural network configured by, only neurons whose output value in the detection layer is equal to or more than a predetermined value are A technique is disclosed in which output value data is stored in a memory, and the output value of a neuron not stored in the memory is calculated using a predetermined value instead.
  • An information processing apparatus includes a DNN calculation unit that executes a DNN calculation by a neural network composed of a plurality of layers, and a weight storage unit that stores a weight used in the DNN calculation, and the DNN calculation unit includes: Of the data input to the predetermined layer of the neural network, the data having a value larger than a predetermined threshold is specified as the calculation target data, and the weight corresponding to the calculation target data is acquired from the weight storage unit, The calculation of the predetermined layer is executed based on the calculation target data and the weight acquired from the weight storage unit.
  • An in-vehicle control device includes the information processing device described above and an action plan formulation unit that formulates an action plan of a vehicle, the information processing device is mounted on the vehicle, and the DNN operation unit is The DNN calculation is executed based on the sensor information regarding the surrounding condition of the vehicle, and the action plan formulation unit formulates an action plan of the vehicle based on the computation result of the DNN calculation unit.
  • a vehicle control system includes the above-described on-vehicle control device and a server device that can communicate with the on-vehicle control device, the server device determines the threshold, and the on-vehicle control device includes the server device.
  • the resource allocation of the DNN computing unit is determined based on the threshold determined by the above.
  • It is a schematic diagram of a DNN operation unit.
  • It is a functional block diagram of each operation part of a DNN operation part concerning a 1st embodiment of the present invention.
  • It is a figure explaining the concrete calculation process of each calculation part in a DNN calculation part.
  • It is a functional block diagram of each operation part of a DNN operation part concerning a 2nd embodiment of the present invention.
  • It is a functional block diagram of each operation part of a DNN operation part concerning a 3rd embodiment of the present invention.
  • FIG. 1 is a diagram showing a configuration of an in-vehicle control device according to an embodiment of the present invention.
  • the vehicle-mounted control device 1 shown in FIG. 1 is mounted on a vehicle and used, and is connected to a camera 2, a LiDAR (Light Detection and Ranging) 3 and a radar 4 which respectively function as sensors for detecting the surrounding conditions of the vehicle. There is.
  • the vehicle-mounted control device 1 receives the captured image of the surroundings of the vehicle acquired by the camera 2 and the distance information from the vehicle to the surrounding objects acquired by the LiDAR 3 and the radar 4, respectively.
  • a plurality of cameras 2, a LiDAR 3 and a radar 4 may be mounted on the vehicle, and captured images and distance information acquired by the plurality of sensors may be input to the vehicle-mounted control device 1.
  • the in-vehicle control device 1 has functional blocks of a sensor fusion unit 11, a sensor information storage unit 12, a weight storage unit 13, a DNN calculation unit 14, and an action plan formulation unit 15.
  • the sensor fusion unit 11, the DNN calculation unit 14, and the action plan formulation unit 15 perform calculations such as CPU (Central Processing Unit), GPU (Graphics Processing Unit), FPGA (Field Programmable Gate Array), ASIC (Application Specific Integrated Circuit), and the like. Each is configured by using a processing circuit and various programs used in combination with these.
  • the sensor information storage unit 12 and the weight storage unit 13 are each configured by using a storage device such as a RAM (Random Access Memory), a HDD (Hard Disk Drive), and a flash memory. It should be noted that the weight storage unit 13 and the DNN calculation unit 14 configure an information processing device 10 that performs information processing for recognizing the surrounding conditions of the vehicle.
  • Photographed images and distance information respectively input from the camera 2, LiDAR 3, and radar 4 are stored in the sensor information storage unit 12 as sensor information related to the surrounding conditions of the vehicle.
  • the distance information input from each of the LiDAR 3 and the radar 4 is stored in the sensor information storage unit 12 after being integrated by the sensor fusion processing of the sensor fusion unit 11.
  • the sensor fusion process does not necessarily have to be performed.
  • Information from other sensors may be stored in the sensor information storage unit 12 in addition to the sensor information, or only one of the captured image and the distance information may be stored in the sensor information storage unit 12 as the sensor information. ..
  • the DNN calculation unit 14 reads sensor information (captured image or distance information) from the sensor information storage unit 12 and executes DNN (Deep Neural Network) calculation on the read sensor information.
  • the DNN operation performed by the DNN operation unit 14 is an operation process corresponding to one form of artificial intelligence, and realizes information processing performed by the information processing device 10.
  • the DNN calculation unit 14 acquires necessary weight information from the weight storage unit 13.
  • the weight storage unit 13 stores, as a learned model, weight information calculated in advance by a server (not shown) and updated based on the learning result of the DNN calculation performed by the DNN calculating unit 14 so far. The details of the DNN calculator 14 will be described later.
  • the action plan formulation unit 15 formulates a vehicle action plan based on the DNN calculation result by the DNN calculation unit 14 and outputs the action plan information. For example, the information for supporting the brake operation and the steering wheel operation performed by the driver of the vehicle, and the information for the vehicle to perform the automatic driving are output as the action plan information.
  • the action plan information output from the action plan formulation unit 15 is displayed on the display provided in the vehicle, or is input to various ECUs (Electronic Control Units) mounted on the vehicle to perform various vehicle controls. It is also used for.
  • the action plan information may be transmitted to the server or another vehicle.
  • FIG. 2 is a schematic diagram of the DNN calculation unit 14.
  • N operation units (where N is a natural number of 3 or more) are layered from the first layer operation unit 14-1 to the Nth layer operation unit 14-N.
  • the DNN operation unit 14 includes the first layer operation unit 14-1, the second layer operation unit 14-2,..., The kth layer operation unit 14-k,.
  • An N-layer neural network of -N is formed.
  • the DNN calculation unit 14 sets a weight for each of these calculation units and executes the DNN calculation, thereby calculating and outputting a calculation result indicating the recognition result of the surrounding condition of the vehicle from the input data (sensor information).
  • the first first-layer arithmetic unit 14-1 corresponds to the input layer
  • the last N-th layer arithmetic unit 14-N corresponds to the output layer.
  • FIG. 3 is a functional block diagram of each arithmetic unit of the DNN arithmetic unit 14 according to the first embodiment of the present invention.
  • the first layer calculation unit 14-1 to the Nth layer calculation unit 14-N have the same functional configuration, and therefore, in FIG.
  • the functional blocks of the k-layer arithmetic unit 14-k are shown.
  • the functional blocks of the k-th layer arithmetic unit 14-k will be described to explain all the arithmetic units configuring the DNN arithmetic unit 14 of the present embodiment.
  • the k-th layer operation unit 14-k has a non-zero value identification unit 141, a matrix product reconstruction unit 142, a convolution operation unit 143, and an activation operation unit 144.
  • Input data from the previous layer (k ⁇ 1th layer) to the kth layer operation unit 14-k is input to the non-zero value specifying unit 141.
  • This input data includes a plurality of data values representing the calculation result in the arithmetic unit of the previous layer, and some of the data values are 0 by the activation calculation described below performed in the arithmetic unit of the previous layer. It is said that.
  • the sensor information read from the sensor information storage unit 12 is input to the non-zero value specifying unit 141 as input data from the previous layer.
  • the weight storage unit 13 stores the weight for each data value of the input data. Upon receiving the notification of the non-zero value location from the non-zero value specifying section 141, the weight storage section 13 extracts and outputs the weight corresponding to the non-zero value location among the stored weights. To do. As a result, the weight corresponding to the non-zero value specified as the calculation target data by the non-zero value specifying unit 141 is output from the weight storing unit 13 and is acquired by the matrix product reconstructing unit 142.
  • the matrix product reconstruction unit 142 based on the calculation target data output from the non-zero value specifying unit 141 and the weight acquired from the weight storage unit 13, the k-th layer of the N-layer neural network in the DNN calculation unit 14. Reconstruct the matrix product to perform the operation of.
  • the product-sum operation formula of each data value of the operation target data output from the non-zero value specifying unit 141 and the weight acquired from the weight storage unit 13 is reconfigured as the matrix product of the k-th layer.
  • the convolution operation unit 143 performs a convolution operation for calculating the matrix product reconstructed by the matrix product reconstructing unit 142.
  • the convolution operation performed by the convolution operation unit 143 the k-th layer operation is performed by the k-th layer operation unit 14-k.
  • the activation calculation unit 144 carries out an activation calculation for activating the calculation result of the convolution calculation unit 143.
  • the activation operation is performed using an activation function called a ReLU (Rectified Linear Unit) function.
  • the ReLU function is a function that outputs 0 for an input value less than 0 and outputs the input value as it is for a value of 0 or more.
  • the activation calculation may be performed using a function other than the ReLU function.
  • Each data value for which the activation operation is performed by the activation operation unit 144 is output from the k-th layer operation unit 14-k and becomes the input data of the next layer.
  • the input data of the next layer includes the data value set to 0 by the activation operation.
  • the non-zero value identification unit 141 identifies each data value of a, b, c, d, and e as a non-zero value, notifies these locations to the weight storage unit 13, and also identifies these data values.
  • the data to be subsequently calculated is sequentially output to the matrix product reconstructing unit 142. That is, the non-zero value specifying unit 141 discards four zero values out of the nine data values included in the input data, and sends only the remaining five non-zero values to the matrix product reconstructing unit 142 as calculation target data. Output.
  • the weight storage unit 13 stores nine weights w1 to w9 corresponding to the nine data values in the input data.
  • the weight storage unit 13 causes the weights w1, w2, w4 corresponding to the notified data values of a, b, c, d, and e. w7 and w8 are extracted and output to the matrix product reconstruction unit 142.
  • the matrix product reconstructing unit 142 includes the data values a, b, c, d, and e output as the calculation target data from the non-zero value specifying unit 141 and the weights w1, w2, and w4 acquired from the weight storage unit 13. , W7, w8 are reconstructed as a matrix product of the k-th layer and output to the convolution operation unit 143.
  • the convolution operation unit 143 calculates the product of each data value of a, b, c, d and e and the weights w1, w2, w4, w7 and w8 by the product sum operation formula output from the matrix product reconstruction unit 142. The sum operation is performed and the operation of the kth layer is executed.
  • the product-sum operation of each layer is executed with only the non-zero value as the operation target, so that the number of multiplications in the product-sum operation of each layer can be reduced as compared with the prior art.
  • the number of multiplications can be reduced from 9 to 5. Therefore, it is possible to realize parallel processing with only five multipliers, and it is possible to reduce the number of multipliers as compared with the related art.
  • the DNN operation using the ReLU function as the activation function has a characteristic that about half of the data value after the activation operation is 0. Therefore, in the DNN operation unit 14 of the present embodiment, the number of multipliers assigned to the operation of each layer can be determined in advance according to the number of data values included in the input data of each layer. As a result, it is possible to simplify the hardware while suppressing the deterioration of the recognition accuracy.
  • the information processing device 10 includes a DNN calculation unit 14 that executes a DNN calculation by a neural network including a plurality of layers, and a weight storage unit 13 that stores the weight used in the DNN calculation.
  • the DNN calculation unit 14 specifies, as data to be calculated, data having a value larger than a predetermined threshold value (zero) out of data input to a predetermined layer of the neural network (non-zero value specifying unit 141),
  • the weight corresponding to the calculation target data is acquired from the weight storage unit 13 (matrix product reconstructing unit 142).
  • calculation of a predetermined layer is executed (convolution calculation unit 143). Since it did in this way, in the information processing apparatus 10 which performs the calculation using a neural network, the hardware can be simplified.
  • the vehicle-mounted control device 1 includes the information processing device 10 and the action plan formulation unit 15 that formulates the action plan of the vehicle.
  • the information processing device 10 is mounted on a vehicle, and the DNN calculation unit 14 executes the DNN calculation based on sensor information related to the surroundings of the vehicle.
  • the action plan formulation unit 15 formulates an action plan of the vehicle based on the calculation result of the DNN calculation unit 14. Since it did in this way, the action plan of a vehicle can be appropriately formulated using the calculation result of the DNN calculating part 14.
  • FIG. 5 is a functional block diagram of each operation unit of the DNN operation unit 14 according to the second embodiment of the present invention.
  • the first layer operation unit 14-1 to the Nth layer operation unit 14-N all have the same functional configuration. Therefore, FIG. 5 shows the functional blocks of the k-th layer arithmetic unit 14-k as a representative of these.
  • the functional blocks of the k-th layer arithmetic unit 14-k will be described to explain all the arithmetic units configuring the DNN arithmetic unit 14 of the present embodiment.
  • the k-th layer operation unit 14-k is provided in addition to the non-zero value specifying unit 141, the matrix product reconstructing unit 142, the convolution operation unit 143, and the activation operation unit 144 described in the first embodiment. Further, it has a threshold value setting unit 145, a reverse bias setting unit 146, and a bias setting unit 147.
  • the threshold setting unit 145 sets a threshold for input data and notifies the reverse bias setting unit 146 and the bias setting unit 147.
  • the reverse bias setting unit 146 applies a reverse bias to the input data by subtracting the threshold value set by the threshold value setting unit 145 from each data value included in the input data.
  • the input data reverse biased by the reverse bias setting unit 146 is input to the non-zero value specifying unit 141.
  • the non-zero value specifying unit 141 specifies a non-zero value in the reverse-biased input data, notifies the weight storage unit 13 of the non-zero value, and outputs a data value of 0. Discard from the input data. At this time, all data values of 0 or less are regarded as zero values and discarded. Then, the data value remaining without being discarded is specified as the subsequent calculation target data, and is output to the bias setting unit 147.
  • the bias setting unit 147 applies a bias to each data value output from the non-zero value specifying unit 141 by adding the threshold value set by the threshold setting unit 145. As a result, the reverse bias applied by the reverse bias setting unit 146 is canceled, and the original input data value is restored. However, the input data discarded by the non-zero value specifying unit 141 is not restored and is not regarded as the subsequent calculation target data.
  • the calculation target data returned to the original data value by the bias setting unit 147 is input to the matrix product reconstruction unit 142. As a result, the input data having a value larger than the threshold value is specified as the calculation target data, and the same calculation process as that described in the first embodiment is executed.
  • FIG. 6 is a diagram illustrating an outline of calculation target data according to the second embodiment of the present invention.
  • each data value having the data distribution as shown in FIG. 6A is input as input data to the kth layer operation unit 14-k shown in FIG.
  • the horizontal axis represents the size of the data value and the vertical axis represents the number of data.
  • the reverse bias setting unit 146 reverse biases the input data by the amount of the threshold set by the threshold setting unit 145, as shown in FIG. 6B, whereby the data distribution of FIG. Shift in the negative direction.
  • the non-zero value specifying unit 141 regards all data values of 0 or less as zero values in the data distribution of FIG. 6B and discards them. As a result, as shown in FIG. 6C, a data distribution in which the portion of 0 or less is removed is formed.
  • the bias setting unit 147 biases the data in which the zero value is discarded by the non-zero value specifying unit 141 by the amount of the threshold value set by the threshold setting unit 145,
  • the data distribution of FIG. 6C is shifted in the positive direction. Comparing the data distribution of FIG. 6(d) with the original data distribution of FIG. 6(a), all data below the threshold value is removed, and only data having a value larger than the threshold value is included. As a result, it can be seen that, in the calculation target data having the data distribution shown in FIG. 6D, the data near the zero value, which has little influence on the recognition, can be removed.
  • the threshold setting unit 145 can set an arbitrary threshold. For example, when each pixel value of a captured image acquired by the camera 2 at a predetermined frame rate is used as input data to the DNN calculation unit 14, the captured images of each frame are similar to each other before and after. Therefore, it is possible to set the threshold value for the captured image of the current frame, that is, the current data based on the calculation result of the DNN calculation unit 14 for the captured image of the previous frame, that is, the past input data. Also, different thresholds may be set for each data value included in the input data.
  • a threshold value can be set by an arbitrary method, and data having a value larger than the threshold value can be specified as calculation target data in each calculation unit of the DNN calculation unit 14.
  • the threshold value may be changed for each layer of the DNN calculation, that is, for each calculation unit constituting the DNN calculation unit 14.
  • the information processing device 10 further includes a threshold value setting unit 145 that sets a threshold value.
  • the DNN calculation unit 14 specifies, as data to be calculated, data having a value larger than the threshold value set by the threshold value setting unit 145, out of the data input to the predetermined layer of the neural network. Since this is done, it is possible to further improve processing performance and suppress deterioration of recognition accuracy while simplifying hardware.
  • the threshold setting unit 145 can set the threshold for the current data based on the calculation result of the DNN calculating unit 14 for the past data. With this configuration, it is possible to easily set an appropriate threshold value for data input in time series, such as a captured image of the surroundings of the vehicle acquired at a predetermined frame rate.
  • FIG. 7 is a functional block diagram of each arithmetic unit of the DNN arithmetic unit 14 according to the third embodiment of the present invention.
  • the first layer operation unit 14-1 to the Nth layer operation unit 14-N all have the same functional configuration. Therefore, FIG. 7 shows the functional blocks of the k-th layer arithmetic unit 14-k as a representative thereof.
  • the functional blocks of the k-th layer arithmetic unit 14-k will be described to explain all the arithmetic units configuring the DNN arithmetic unit 14 of the present embodiment.
  • the k-th layer operation unit 14-k is provided in addition to the non-zero value specifying unit 141, the matrix product reconstructing unit 142, the convolution operation unit 143, and the activation operation unit 144 described in the first embodiment. Further, it has a data output limiting unit 148.
  • the data output restriction unit 148 imposes an output restriction on each data value after the activation calculation by the activation calculation unit 144, based on the preset limit setting value. For example, the number of non-zero values among the data values after activation calculation is counted, and when the counted number exceeds the limit set value, all the remaining data values are replaced with 0. As a result, data output is limited so that the number of non-zero values in the data values included in the input data of the next layer is equal to or less than the limit setting value.
  • FIG. 8 is a diagram illustrating an outline of data output restriction according to the third embodiment of the present invention.
  • a proportional relationship as shown in FIG. 8 is established between the number of data outputs in each operation unit of the DNN operation unit 14 and the operation time in the next layer. That is, as the number of non-zero-valued data in the input data of the next layer increases, the number of multiplications required in the operation of the next layer increases, so that the operation time in the next layer becomes longer.
  • Such a change in the calculation time in each calculation unit affects the execution time of the DNN calculation in the entire DNN calculation unit 14, so that the DNN calculation time varies for each data. This is not preferable because it leads to instability of vehicle control.
  • the data output limiting unit 148 is used to perform the data output limitation as described above. At that time, a limit setting value corresponding to the calculation time required for the calculation in the next layer is set in the data output limiting unit 148. As a result, as shown in FIG. 8, when the count number of the non-zero value in the data after the activation calculation exceeds the limit set value, the data value is replaced with 0 and the subsequent data output is stopped. Therefore, the number of data outputs can be limited so that the calculation time in the next layer does not exceed the required calculation time.
  • FIG. 9 is a diagram for explaining the effect of data output restriction in the third embodiment of the present invention.
  • FIG. 9A shows the relationship between the DNN calculation time and the vehicle control timing when the conventional data output restriction is not implemented.
  • the timing at which the DNN calculation result is obtained also changes for each image information.
  • the vehicle control interval performed based on the DNN calculation result becomes indefinite, which leads to instability of the vehicle control.
  • FIG. 9B shows the relationship between the DNN calculation time and the vehicle control timing when the data output limitation according to the present embodiment is performed.
  • the timing of obtaining the DNN calculation result is also constant.
  • the vehicle control interval performed based on the DNN calculation result becomes constant, and the vehicle control can be stably performed.
  • the data output limiting unit 148 can select data to be subject to output limitation based on various criteria. For example, the number of non-zero values is sequentially counted according to the calculation order of each data, and when the counted number exceeds the limit set value, the data of the subsequent calculation order can be subject to output limitation.
  • the data to be subject to output limitation may be selected based on the absolute value of each data, the weight of each data, and the like. For example, when each data is arranged in the order of the absolute value or the corresponding weight, the data whose order exceeds the limit setting value can be the output restriction target. Further, these may be combined to select data to be subject to output restriction, or other criteria may be used to select data to be subject to output restriction.
  • the number of data output from the data output limiting unit 148 can be limited to the limit set value or less when the number of non-zero data in the data after activation calculation exceeds the limit set value, It is also possible to select the data to be subject to output restriction based on various criteria.
  • the limit setting value set for the data output limiting unit 148 may be changed for each layer of the DNN calculation, that is, for each calculation unit configuring the DNN calculation unit 14. For example, by setting the execution time of the DNN operation in the entire DNN operation unit 14 and setting the operation time assigned to each layer according to the operation load in each layer, the limit setting of the data output restriction unit 148 in each operation unit is set. You can set the value. At this time, the limit setting value of each arithmetic unit may be dynamically changed according to the input data.
  • the calculation time in each calculation unit is directly measured, and when the measured calculation time exceeds the limit set value, the data output from the calculation unit is output. You may limit it. For example, it is possible to directly measure the calculation time by counting the number of calculation processing cycles in each calculation unit.
  • the information processing apparatus 10 further includes a data output limiting unit 148 that limits the output of the calculation result of the predetermined layer when the number of data in the calculation result of the predetermined layer of the neural network exceeds the predetermined limit setting value. Prepare Since this is done, it is possible to stabilize the control by keeping the output interval of the calculation result constant.
  • the data output limiting unit 148 is based on at least one of the calculation order of each data in the calculation result of the predetermined layer of the neural network, the absolute value of each data, and the magnitude of the weight corresponding to each data. , It is possible to select data to be subject to output restriction. In this way, appropriate data can be subject to output restriction in consideration of the degree of influence on the DNN calculation.
  • FIG. 10 is a functional block diagram of each arithmetic unit of the DNN arithmetic unit 14 according to the fourth embodiment of the present invention.
  • the first layer operation unit 14-1 to the Nth layer operation unit 14-N have the same functional configuration.
  • the functional blocks of the k-th layer arithmetic unit 14-k are shown in FIG. 10 as a representative thereof.
  • the functional blocks of the k-th layer arithmetic unit 14-k will be described to explain all the arithmetic units configuring the DNN arithmetic unit 14 of the present embodiment.
  • the k-th layer operation unit 14-k is provided in addition to the non-zero value specifying unit 141, the matrix product reconstructing unit 142, the convolution operation unit 143, and the activation operation unit 144 described in the first embodiment. Further, it has a weight limiting unit 149.
  • the weight limiting unit 149 compares the weight of each calculation target data acquired from the weight storage unit 13 with a preset weight threshold value, and when the weight is less than the weight threshold value, does not output the weight to the matrix product reconstructing unit 142. Dispose of.
  • the matrix product reconstructing unit 142 does not reconstruct the matrix product for the operation target data whose weight is discarded by the weight limiting unit 149 among the operation target data output from the non-zero value specifying unit 141.
  • the convolution operation unit 143 omits the k-th layer convolution operation based on the weight less than the threshold value.
  • an arbitrary weight threshold can be set for the weight limiting unit 149.
  • the weight threshold value set for the weight limiting unit 149 may be changed for each layer of the DNN calculation, that is, for each calculation unit that configures the DNN calculation unit 14. Further, the weight threshold of each arithmetic unit may be dynamically changed according to the input data.
  • the DNN calculation unit 14 omits the calculation of the predetermined layer based on the weight. Since this is done, it is possible to further improve processing performance and suppress deterioration of recognition accuracy while simplifying hardware.
  • FIG. 11 is a diagram showing a configuration of a vehicle control system according to the fifth embodiment of the present invention.
  • the vehicle control system 100 shown in FIG. 11 has an in-vehicle control device 1A and a server device 5.
  • the on-vehicle control device 1A is mounted on a vehicle and used, like the on-vehicle control device 1 described in the first embodiment, and is connected to the camera 2, the LiDAR 3, and the radar 4, which are sensors.
  • the in-vehicle control device 1A includes The server information acquisition unit 16 is further provided.
  • the server device 5 is installed outside the vehicle in which the in-vehicle control device 1A is installed, and can communicate with the in-vehicle control device 1A via the communication network 6.
  • the server device 5 determines a learned model, a threshold value for input data and weight, a limit set value according to the calculation time, and the like as information used in the in-vehicle control device 1A, and transmits these information to the in-vehicle control device 1A. ..
  • the communication network 6 may be, for example, a mobile phone communication network or a wireless LAN.
  • the server information acquisition unit 16 acquires the information transmitted from the server device 5 and outputs it to the weight storage unit 13 and the DNN calculation unit 14. For example, a learned model is output to the weight storage unit 13 and stored in the weight storage unit 13. Thereby, the DNN calculation unit 14 can perform the DNN calculation using the learned model created in the server device 5. Further, the DNN calculator 14 outputs the threshold value for the input data described in the second embodiment, the limit setting value described in the third embodiment, the weight threshold value described in the fourth embodiment, and the like. It Based on these pieces of information, the DNN calculation unit 14 can perform the processing described in each of the second to fourth embodiments.
  • the server information acquisition unit 16 may determine the resource allocation of the DNN calculation unit 14 based on the threshold value for the input data acquired from the server device 5. For example, when allocating the plurality of multipliers included in the DNN calculator 14 to the calculators of the respective layers, the number of multipliers to be allocated is changed according to the threshold value determined by the server device 5. Specifically, since the layer to which a large threshold value is set has a smaller amount of data to be calculated, the number of multipliers assigned to the calculation unit of the layer is reduced. On the contrary, since the layer to which the smaller threshold is set has a larger amount of data to be calculated, the number of multipliers assigned to the calculation unit of the layer is increased. By doing so, the optimum resource allocation can be made to the arithmetic units of the respective layers constituting the DNN arithmetic unit 14.
  • the vehicle control system 100 includes the in-vehicle control device 1A and the server device 5 that can communicate with the in-vehicle control device 1A.
  • the server device 5 determines a threshold value for data input to a predetermined layer of the neural network.
  • the in-vehicle control device 1A can determine the resource allocation of the DNN calculation unit 14 based on the threshold value determined by the server device 5. With this configuration, an arbitrary threshold value can be easily set for the DNN operation unit 14, and the DNN operation unit 14 can be appropriately allocated resources according to the threshold value.
  • the DNN calculation is executed on the information processing device 10 included in the vehicle-mounted control devices 1 and 1A mounted on the vehicle based on the sensor information about the vehicle surroundings to determine the vehicle surroundings.
  • the present invention is not limited to this.
  • the present invention can be applied to various information processing devices as long as the DNN calculation is performed by a neural network including a plurality of layers.
  • 1, 1A In-vehicle control device, 2: Camera, 3: LiDAR, 4: Radar, 5: Server device, 6: Communication network, 10: Information processing device, 11: Sensor fusion unit, 12: Sensor information storage unit, 13 : Weight storage unit, 14: DNN operation unit, 15: action plan formulation unit, 16: server information acquisition unit, 141: non-zero value identification unit, 142: matrix product reconstruction unit, 143: convolution operation unit, 144: activity Conversion operation unit, 145: threshold value setting unit, 146: reverse bias setting unit, 147: bias setting unit, 148: data output limiting unit, 149: weight limiting unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Molecular Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Traffic Control Systems (AREA)
  • Image Analysis (AREA)

Abstract

情報処理装置は、複数の層からなるニューラルネットワークによるDNN演算を実行するDNN演算部と、前記DNN演算において用いられる重みを格納する重み格納部と、を備え、前記DNN演算部は、前記ニューラルネットワークの所定の層に入力されたデータのうち、所定の閾値よりも大きい値を有するデータを演算対象データとして特定し、前記演算対象データに対応する重みを前記重み格納部から取得し、前記演算対象データと、前記重み格納部から取得した重みとに基づき、前記所定の層の演算を実行する。

Description

情報処理装置、車載制御装置、車両制御システム
 本発明は、情報処理装置と、これを用いた車載制御装置および車両制御システムとに関する。
 従来、カメラの撮影画像や各種センサの情報から車両の周囲状況を認識し、その認識結果に基づいて様々な運転支援を行う技術が広く利用されている。こうした車両の運転支援技術において、近年では複雑な周囲状況に対して高精度な認識結果を得るために、人間の大脳における神経細胞の働きをモデル化したニューラルネットワークを利用した演算を行うことが提案されている。
 一般に、ニューラルネットワークを利用して高精度な認識結果を得るためには、大量の演算処理が必要となる。例えば、1枚の撮影画像に対して1000億回から1兆回程度の演算を行うものが知られている。しかしながら、車両に搭載して用いられる装置においてこのように大量の演算処理を行うことは、装置サイズや消費電力の観点から現実的ではない。したがって、少ない演算量でもニューラルネットワークを利用して高精度な認識結果を得られる技術が求められている。
 本願発明の背景技術として、特許文献1が知られている。特許文献1には、前段の層からの出力から1つ以上の特徴量を検出して出力する検出層と、当該検出層からの出力を統合して出力する統合層とを交互に配置することにより構成される階層型ニューラルネットワークを用いた計算処理によって、入力画像中の所定のパターンを検出する情報処理装置において、検出層内の各ニューロンの出力値が所定の値以上であるニューロンのみ、その出力値のデータをメモリに格納し、メモリに格納されなかったニューロンの出力値については、代わりに所定の値を用いて演算を行う技術が開示されている。
日本国特開2005-346472号公報
 特許文献1の技術では、入力画像が変化すると、それに応じて各ニューロンの出力値も変化するため、どのニューロンの出力値がメモリに格納されるかが一定ではない。したがって、多様な入力画像を適切に処理するためには、想定される最大の演算量に対応して情報処理装置を構成する必要があり、ハードウェアを簡素化することができない。
 本発明による情報処理装置は、複数の層からなるニューラルネットワークによるDNN演算を実行するDNN演算部と、前記DNN演算において用いられる重みを格納する重み格納部と、を備え、前記DNN演算部は、前記ニューラルネットワークの所定の層に入力されたデータのうち、所定の閾値よりも大きい値を有するデータを演算対象データとして特定し、前記演算対象データに対応する重みを前記重み格納部から取得し、前記演算対象データと、前記重み格納部から取得した重みとに基づき、前記所定の層の演算を実行する。
 本発明による車載制御装置は、上記の情報処理装置と、車両の行動計画を策定する行動計画策定部と、を備え、前記情報処理装置は前記車両に搭載されており、前記DNN演算部は、前記車両の周囲状況に関するセンサ情報に基づいて前記DNN演算を実行し、前記行動計画策定部は、前記DNN演算部の演算結果に基づいて前記車両の行動計画を策定する。
 本発明による車両制御システムは、上記の車載制御装置と、前記車載制御装置と通信可能なサーバ装置と、を備え、前記サーバ装置は、前記閾値を決定し、前記車載制御装置は、前記サーバ装置により決定された前記閾値に基づいて、前記DNN演算部のリソース配分を決定する。
 本発明によれば、ニューラルネットワークを利用した演算を行う情報処理装置において、ハードウェアの簡素化を図ることができる。
本発明の一実施形態に係る車載制御装置の構成を示す図である。 DNN演算部の概要図である。 本発明の第1の実施形態に係るDNN演算部の各演算部の機能ブロック図である。 DNN演算部における各演算部の具体的な演算処理を説明する図である。 本発明の第2の実施形態に係るDNN演算部の各演算部の機能ブロック図である。 本発明の第2の実施形態における演算対象データの概要を説明する図である。 本発明の第3の実施形態に係るDNN演算部の各演算部の機能ブロック図である。 本発明の第3の実施形態におけるデータ出力制限の概要を説明する図である。 本発明の第3の実施形態におけるデータ出力制限の効果を説明する図である。 本発明の第4の実施形態に係るDNN演算部の各演算部の機能ブロック図である。 本発明の第5の実施形態に係る車両制御システムの構成を示す図である。
(第1の実施形態)
 図1は、本発明の一実施形態に係る車載制御装置の構成を示す図である。図1に示す車載制御装置1は、車両に搭載されて使用され、車両の周囲状況を検出するためのセンサとしてそれぞれ機能するカメラ2、LiDAR(Light Detection and Ranging)3およびレーダ4と接続されている。車載制御装置1には、カメラ2が取得した車両周囲の撮影画像と、LiDAR3およびレーダ4がそれぞれ取得した車両から周囲の物体までの距離情報とが入力される。なお、カメラ2、LiDAR3およびレーダ4は、車両に複数ずつ搭載されており、これら複数のセンサがそれぞれ取得した撮影画像や距離情報が車載制御装置1に入力されるようにしてもよい。
 車載制御装置1は、センサフュージョン部11、センサ情報格納部12、重み格納部13、DNN演算部14および行動計画策定部15の各機能ブロックを有する。センサフュージョン部11、DNN演算部14および行動計画策定部15は、例えばCPU(Central Processing Unit)、GPU(Graphics Processing Unit)、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)等の演算処理回路や、これらと組み合わせて利用される各種プログラムを用いてそれぞれ構成される。また、センサ情報格納部12および重み格納部13は、RAM(Random Access Memory)、HDD(Hard Disk Drive)、フラッシュメモリ等の記憶装置を用いてそれぞれ構成される。なお、重み格納部13およびDNN演算部14により、車両の周囲状況を認識するための情報処理を行う情報処理装置10が構成される。
 カメラ2、LiDAR3およびレーダ4からそれぞれ入力された撮影画像や距離情報は、車両の周囲状況に関するセンサ情報として、センサ情報格納部12に格納される。なお、LiDAR3およびレーダ4からそれぞれ入力される距離情報は、センサフュージョン部11のセンサフュージョン処理によって統合された後、センサ情報格納部12に格納される。ただし、センサフュージョン処理は必ずしも実施しなくてもよい。また、他のセンサからの情報をセンサ情報に加えてセンサ情報格納部12に格納してもよいし、撮影画像と距離情報の一方のみをセンサ情報としてセンサ情報格納部12に格納してもよい。
 DNN演算部14は、センサ情報格納部12からセンサ情報(撮影画像または距離情報)を読み出し、読み出したセンサ情報に対してDNN(Deep Neural Network)演算を実行する。このDNN演算部14が行うDNN演算とは、人工知能の一形態に相当する演算処理であり、情報処理装置10が担う情報処理を実現するものである。DNN演算の実行に際して、DNN演算部14は、重み格納部13から必要な重み情報を取得する。重み格納部13には、不図示のサーバにより予め計算され、DNN演算部14がこれまでに実施したDNN演算の学習結果に基づいて更新された重み情報が、学習済みモデルとして格納されている。なお、DNN演算部14の詳細については、後で説明する。
 行動計画策定部15は、DNN演算部14によるDNN演算結果に基づいて車両の行動計画を策定し、行動計画情報を出力する。例えば、車両の運転者が行うブレーキ操作やハンドル操作を支援するための情報や、車両が自動運転を行うための情報を、行動計画情報として出力する。行動計画策定部15から出力された行動計画情報は、車両内に設けられたディスプレイ上にその内容が表示されたり、車両に搭載された各種ECU(Electronic Control Unit)に入力されて様々な車両制御に用いられたりする。なお、行動計画情報をサーバや他の車両に送信してもよい。
 次に、DNN演算部14について説明する。図2は、DNN演算部14の概要図である。図2に示すように、DNN演算部14には、第1層演算部14-1から第N層演算部14-Nまで、N個の演算部(ただし、Nは3以上の自然数)が層状に並べられている。すなわち、DNN演算部14には、第1層演算部14-1、第2層演算部14-2、・・・、第k層演算部14-k、・・・、第N層演算部14-NからなるN層のニューラルネットワークが形成されている。DNN演算部14は、これらの演算部に対して重みをそれぞれ設定してDNN演算を実行することで、入力データ(センサ情報)から車両の周囲状況の認識結果を示す演算結果を算出して出力する。なお、図2に示したN層の各演算部のうち、最初の第1層演算部14-1は入力層に相当し、最後の第N層演算部14-Nは出力層に相当する。
 図3は、本発明の第1の実施形態に係るDNN演算部14の各演算部の機能ブロック図である。なお、DNN演算部14において、第1層演算部14-1~第N層演算部14-Nは、いずれも同様の機能構成を有しているため、図3ではこれらを代表して、第k層演算部14-kの機能ブロックを示している。以下では、この第k層演算部14-kの機能ブロックを説明することで、本実施形態のDNN演算部14を構成する全ての演算部についての説明を行う。
 第k層演算部14-kは、非ゼロ値特定部141、行列積再構成部142、畳み込み演算部143、活性化演算部144を有している。
 第k層演算部14-kに対する前層(第k-1層)からの入力データは、非ゼロ値特定部141に入力される。この入力データには、前層の演算部での演算結果を表す複数のデータ値が含まれており、そのうちいくつかのデータ値は、前層の演算部において行われる後述の活性化演算によって0とされている。なお、第1層演算部14-1の場合は、センサ情報格納部12から読み出したセンサ情報が、前層からの入力データとして非ゼロ値特定部141に入力される。
 非ゼロ値特定部141は、入力データに含まれる複数のデータ値の中で、非ゼロ値、すなわち0以外の値を有するデータ値の箇所を特定する。そして、特定した入力データにおける非ゼロ値の箇所を重み格納部13に通知するとともに、0であるデータ値を入力データから廃棄する。これにより、入力データのうち非ゼロ値のみが、以降の演算対象データとして、非ゼロ値特定部141から行列積再構成部142に出力される。換言すると、非ゼロ値特定部141は、入力データに対する閾値を0とし、この閾値(=0)よりも大きい値を有するデータを、以降の演算対象データとして特定する。
 重み格納部13には、入力データの各データ値に対する重みが格納されている。非ゼロ値特定部141から非ゼロ値の箇所の通知を受けると、これに応じて重み格納部13は、格納されている重みのうち、非ゼロ値の箇所に対応する重みを抽出して出力する。これにより、非ゼロ値特定部141が演算対象データとして特定した非ゼロ値に対応する重みが重み格納部13から出力され、行列積再構成部142において取得される。
 行列積再構成部142は、非ゼロ値特定部141から出力された演算対象データと、重み格納部13から取得した重みとに基づき、DNN演算部14におけるN層のニューラルネットワークのうち第k層の演算を実行するための行列積を再構成する。ここでは、非ゼロ値特定部141から出力された演算対象データの各データ値と、重み格納部13から取得した重みとの積和演算式を、第k層の行列積として再構成する。
 畳み込み演算部143は、行列積再構成部142により再構成された行列積を演算するための畳み込み演算を行う。この畳み込み演算部143が行う畳み込み演算により、第k層演算部14-kによる第k層の演算が実施される。
 活性化演算部144は、畳み込み演算部143の演算結果を活性化するための活性化演算を実施する。ここでは、例えばReLU(Rectified Linear Unit)関数と呼ばれる活性化関数を用いて、活性化演算を行う。ReLU関数とは、0未満の入力値に対しては0を出力し、0以上の値に対しては入力値をそのまま出力する関数である。なお、ReLU関数以外を用いて活性化演算を行ってもよい。この活性化演算部144が行う活性化演算により、畳み込み演算部143の演算結果における各データ値のうち、次層(第k+1層)での演算に及ぼす影響が小さいデータ値は0へと変換される。
 活性化演算部144により活性化演算が行われた各データ値は、第k層演算部14-kから出力され、次層の入力データとなる。この次層の入力データには、前述したように、活性化演算によって0とされたデータ値が含まれている。
 続いて、DNN演算部14における各演算部の具体的な演算処理について、図4を参照して以下に説明する。なお、図4でも図3と同様に、図2の第1層演算部14-1~第N層演算部14-Nのうち、第k層演算部14-kの具体的な演算処理を代表例として示している。
 第k層演算部14-kに対する前層からの入力データとして、例えば図4に示すように、9つのデータ値が順に入力されたとする。これらのデータ値には、0以外の値を有するa,b,c,d,eの各データ値と、4つのゼロ値とが含まれている。この場合、非ゼロ値特定部141では、a,b,c,d,eの各データ値を非ゼロ値として特定し、これらの箇所を重み格納部13に通知するとともに、これらのデータ値を以降の演算対象データとして、順に行列積再構成部142へ出力する。すなわち、非ゼロ値特定部141は、入力データに含まれる9つのデータ値のうち、4つのゼロ値を廃棄し、残りの5つの非ゼロ値のみを演算対象データとして行列積再構成部142へ出力する。
 重み格納部13には、入力データにおける9つのデータ値にそれぞれ対応して、9つの重みw1~w9が格納されている。非ゼロ値特定部141から非ゼロ値の箇所の通知を受けると、重み格納部13は、通知されたa,b,c,d,eの各データ値に対応する重みw1,w2,w4,w7,w8を抽出し、行列積再構成部142に出力する。
 行列積再構成部142は、非ゼロ値特定部141から演算対象データとして出力されたa,b,c,d,eの各データ値と、重み格納部13から取得した重みw1,w2,w4,w7,w8との積和演算式を、第k層の行列積として再構成し、畳み込み演算部143に出力する。畳み込み演算部143は、行列積再構成部142から出力された積和演算式により、a,b,c,d,eの各データ値と、重みw1,w2,w4,w7,w8との積和演算を行い、第k層の演算を実行する。
 従来のDNN演算では、入力データに含まれる全てのデータ値を演算対象として各層の積和演算が実行されるため、上記のように入力データに9つのデータ値が含まれる場合には、各層の積和演算において9回の乗算が必要となる。したがって、これらの乗算を高速化のために並列処理で実施しようとすると、9つの乗算器が必要となる。
 一方、本実施形態のDNN演算部14によるDNN演算では、非ゼロ値のみを演算対象として各層の積和演算が実行されるため、各層の積和演算における乗算回数を従来よりも低減できる。例えば、上記のように入力データに9つのデータ値が含まれ、そのうち4つのデータ値が0である場合には、乗算回数を9回から5回に低減できる。したがって、5つの乗算器のみで並列処理を実現することができ、従来よりも乗算器の数を減らすことが可能となる。
 なお、活性化関数にReLU関数を用いたDNN演算では、一般的に、活性化演算後のデータ値のおよそ半分が0であるという特徴を有することが知られている。したがって、本実施形態のDNN演算部14では、各層の入力データに含まれるデータ値の数に応じて、各層の演算に割り当てる乗算器の数を予め決定しておくことができる。これにより、認識精度の劣化を抑制しつつ、ハードウェアを簡素化することが可能となる。
 以上説明した本発明の第1の実施形態によれば、以下の作用効果を奏する。
(1)情報処理装置10は、複数の層からなるニューラルネットワークによるDNN演算を実行するDNN演算部14と、DNN演算において用いられる重みを格納する重み格納部13とを備える。DNN演算部14は、ニューラルネットワークの所定の層に入力されたデータのうち、所定の閾値(ゼロ)よりも大きい値を有するデータを演算対象データとして特定し(非ゼロ値特定部141)、その演算対象データに対応する重みを重み格納部13から取得する(行列積再構成部142)。そして、特定した演算対象データと、重み格納部13から取得した重みとに基づき、所定の層の演算を実行する(畳み込み演算部143)。このようにしたので、ニューラルネットワークを利用した演算を行う情報処理装置10において、ハードウェアの簡素化を図ることができる。
(2)車載制御装置1は、情報処理装置10と、車両の行動計画を策定する行動計画策定部15とを備える。情報処理装置10は車両に搭載されており、DNN演算部14は、車両の周囲状況に関するセンサ情報に基づいてDNN演算を実行する。行動計画策定部15は、DNN演算部14の演算結果に基づいて車両の行動計画を策定する。このようにしたので、DNN演算部14の演算結果を利用して、車両の行動計画を適切に策定することができる。
(第2の実施形態)
 次に、本発明の第2の実施形態について説明する。本実施形態では、DNN演算部14において、ゼロ値付近のデータを演算対象データから除外する例を説明する。なお、本実施形態における車載制御装置1の構成、情報処理装置10の構成、およびN個の演算部が層状に並べられたDNN演算部14の構成は、第1の実施形態において図1、2でそれぞれ説明したものと同様である。そのため、以下ではこれらの説明を省略する。
 図5は、本発明の第2の実施形態に係るDNN演算部14の各演算部の機能ブロック図である。なお、本実施形態でも第1の実施形態と同様に、DNN演算部14において、第1層演算部14-1~第N層演算部14-Nは、いずれも同様の機能構成を有しているため、図5ではこれらを代表して、第k層演算部14-kの機能ブロックを示している。以下では、この第k層演算部14-kの機能ブロックを説明することで、本実施形態のDNN演算部14を構成する全ての演算部についての説明を行う。
 本実施形態において、第k層演算部14-kは、第1の実施形態で説明した非ゼロ値特定部141、行列積再構成部142、畳み込み演算部143および活性化演算部144に加えて、さらに閾値設定部145、逆バイアス設定部146およびバイアス設定部147を有している。
 閾値設定部145は、入力データに対する閾値を設定し、逆バイアス設定部146およびバイアス設定部147に通知する。逆バイアス設定部146は、入力データに含まれる各データ値から閾値設定部145により設定された閾値を減算することにより、入力データに逆バイアスをかける。逆バイアス設定部146によって逆バイアスがかけられた入力データは、非ゼロ値特定部141に入力される。
 非ゼロ値特定部141は、第1の実施形態と同様に、逆バイアスがかけられた入力データにおいて非ゼロ値の箇所を特定し、重み格納部13に通知するとともに、0であるデータ値を入力データから廃棄する。このとき、0以下のデータ値は全てゼロ値とみなして廃棄する。そして、廃棄されずに残ったデータ値を以降の演算対象データとして特定し、バイアス設定部147に出力する。
 バイアス設定部147は、非ゼロ値特定部141から出力される各データ値に対して、閾値設定部145により設定された閾値を加算することにより、バイアスをかける。その結果、逆バイアス設定部146によってかけられた逆バイアスが解消され、元の入力データの値に戻される。ただし、非ゼロ値特定部141により廃棄された入力データについては元に戻されず、以降の演算対象データとはされない。バイアス設定部147によって元のデータ値に戻された演算対象データは、行列積再構成部142に入力される。これにより、閾値よりも大きい値を有する入力データが演算対象データとして特定され、第1の実施形態で説明したのと同様の演算処理が実行される。
 図6は、本発明の第2の実施形態における演算対象データの概要を説明する図である。例えば、図5に示した第k層演算部14-kに対して、図6(a)に示すようなデータ分布を有する各データ値が入力データとして入力されたとする。図6(a)において、横軸はデータ値の大きさを表し、縦軸はデータの個数を表している。このとき、逆バイアス設定部146は、図6(b)に示すように、閾値設定部145によって設定された閾値の分だけ入力データに逆バイアスをかけることで、図6(a)のデータ分布をマイナス方向にシフトさせる。
 非ゼロ値特定部141は、図6(b)のデータ分布に対して、0以下のデータ値を全てゼロ値とみなして廃棄する。これにより、図6(c)に示すように、0以下の部分が除去されたデータ分布が形成される。
 バイアス設定部147は、図6(d)に示すように、閾値設定部145によって設定された閾値の分だけ、非ゼロ値特定部141によってゼロ値が廃棄されたデータにバイアスをかけることで、図6(c)のデータ分布をプラス方向にシフトさせる。この図6(d)のデータ分布を元の図6(a)のデータ分布と比較すると、閾値以下のデータは全て除去され、閾値よりも大きい値を有するデータのみが含まれている。これにより、図6(d)のデータ分布を有する演算対象データでは、認識に影響の少ないゼロ値付近のデータを除去できることが分かる。
 ここで、閾値設定部145では任意の閾値を設定することができる。例えば、カメラ2が所定のフレームレートで取得した撮影画像の各画素値をDNN演算部14への入力データとする場合、各フレームの撮影画像は、前後のフレーム同士で相互に類似している。したがって、前フレームの撮影画像、すなわち過去の入力データに対するDNN演算部14の演算結果に基づいて、現フレームの撮影画像、すなわち現在のデータに対する閾値を設定することが可能である。また、入力データに含まれる各データ値ごとに異なる閾値を設定してもよい。例えば、演算対象データに設定可能な残りのデータ数、すなわち乗算器の残り数に応じて閾値を段階的に引き上げることで、演算結果への影響が少ないデータ値から順に廃棄することができる。これ以外にも、任意の方法で閾値を設定し、その閾値よりも大きい値を有するデータをDNN演算部14の各演算部における演算対象データとして特定することができる。なお、DNN演算の各層ごとに、すなわちDNN演算部14を構成する各演算部ごとに閾値を変化させるようにしてもよい。
 以上説明した本発明の第2の実施形態によれば、第1の実施形態で説明したものに加えて、さらに以下の作用効果を奏する。
(3)情報処理装置10は、閾値を設定する閾値設定部145をさらに備える。DNN演算部14は、ニューラルネットワークの所定の層に入力されたデータのうち、閾値設定部145により設定された閾値よりも大きい値を有するデータを演算対象データとして特定する。このようにしたので、ハードウェアの簡素化を図りつつ、さらなる処理性能の向上と認識精度劣化の抑制を図ることができる。
(4)閾値設定部145は、過去のデータに対するDNN演算部14の演算結果に基づいて、現在のデータに対する閾値を設定することができる。このようにすれば、所定のフレームレートで取得される車両周囲の撮影画像のように、時系列で入力されるデータに対して、適切な閾値を容易に設定することが可能となる。
(第3の実施形態)
 次に、本発明の第3の実施形態について説明する。本実施形態では、DNN演算部14の演算時間を一定時間内とする例を説明する。なお、第2の実施形態と同じく、本実施形態においても、車載制御装置1の構成、情報処理装置10の構成、およびN個の演算部が層状に並べられたDNN演算部14の構成は、第1の実施形態において図1、2でそれぞれ説明したものと同様である。そのため、以下ではこれらの説明を省略する。
 図7は、本発明の第3の実施形態に係るDNN演算部14の各演算部の機能ブロック図である。なお、本実施形態でも第1、第2の実施形態と同様に、DNN演算部14において、第1層演算部14-1~第N層演算部14-Nは、いずれも同様の機能構成を有しているため、図7ではこれらを代表して、第k層演算部14-kの機能ブロックを示している。以下では、この第k層演算部14-kの機能ブロックを説明することで、本実施形態のDNN演算部14を構成する全ての演算部についての説明を行う。
 本実施形態において、第k層演算部14-kは、第1の実施形態で説明した非ゼロ値特定部141、行列積再構成部142、畳み込み演算部143および活性化演算部144に加えて、さらにデータ出力制限部148を有している。
 データ出力制限部148は、予め設定された制限設定値に基づいて、活性化演算部144による活性化演算後の各データ値に対する出力制限を実施する。例えば、活性化演算後のデータ値のうち非ゼロ値の個数をカウントし、そのカウント数が制限設定値を超過した場合には、残りのデータ値を全て0に置き換える。これにより、次層の入力データに含まれるデータ値における非ゼロ値の個数が制限設定値以下となるように、データの出力制限を実施する。
 図8は、本発明の第3の実施形態におけるデータ出力制限の概要を説明する図である。一般的に、DNN演算部14の各演算部におけるデータ出力数と次層での演算時間との間には、図8に示すような比例関係が成り立つ。すなわち、次層の入力データにおける非ゼロ値のデータの個数が多くなるほど、次層の演算で必要な乗算回数が増えるため、次層での演算時間が長くなる。こうした各演算部での演算時間の変化は、DNN演算部14全体でのDNN演算の実行時間に影響するため、データごとにDNN演算時間のばらつきが生じる。これは車両制御の不安定化につながるため、好ましくない。
 そこで本実施形態では、データ出力制限部148を用いて、前述のようなデータの出力制限を実施する。その際、次層での演算に対して要求される演算時間に応じた制限設定値をデータ出力制限部148に設定する。これにより、図8に示すように、活性化演算後のデータにおける非ゼロ値のカウント数が制限設定値を超えると、データ値が0に置き換えられて以降のデータ出力が停止される。したがって、次層での演算時間が要求される演算時間を超えないように、データの出力数を制限することができる。
 図9は、本発明の第3の実施形態におけるデータ出力制限の効果を説明する図である。図9(a)は、従来のデータ出力制限を実施しない場合のDNN演算時間と車両制御タイミングとの関係を示している。この場合は、入力される画像情報ごとにDNN演算時間の長さが変化するため、DNN演算結果が得られるタイミングも画像情報ごとに変化する。その結果、DNN演算結果に基づいて行われる車両制御の間隔が不定となり、これは車両制御の不安定化につながる。
 図9(b)は、本実施形態によるデータ出力制限を実施した場合のDNN演算時間と車両制御タイミングとの関係を示している。この場合は、入力される画像情報ごとにDNN演算時間の長さが一定であるため、DNN演算結果が得られるタイミングも一定となる。その結果、DNN演算結果に基づいて行われる車両制御の間隔が一定となり、車両制御を安定して行うことが可能となる。
 なお、データ出力制限部148では、出力制限対象とするデータを様々な基準により選択することができる。例えば、各データの演算順序に応じて非ゼロ値の個数を順にカウントしていき、そのカウント数が制限設定値を超過したら、以降の演算順序のデータを出力制限対象とすることができる。また、各データの絶対値や、各データに対応する重みの大きさなどにより、出力制限対象とするデータを選択してもよい。例えば、各データを絶対値や対応する重みの大きさ順に並べたときに、その順番が制限設定値を超えるデータを出力制限対象とすることができる。さらに、これらを組み合わせて出力制限対象とするデータを選択してもよいし、他の基準を用いて出力制限対象とするデータを選択してもよい。活性化演算後のデータにおいて非ゼロ値であるデータの個数が制限設定値を超過したときに、データ出力制限部148から出力されるデータ数を制限設定値以下に制限することができれば、どのような基準で出力制限対象とするデータを選択しても構わない。
 また、DNN演算の各層ごとに、すなわちDNN演算部14を構成する各演算部ごとに、データ出力制限部148に対して設定する制限設定値を変化させるようにしてもよい。例えば、DNN演算部14全体でのDNN演算の実行時間を定めておき、各層での演算負荷に応じて各層に割り当てる演算時間を設定することで、各演算部におけるデータ出力制限部148の制限設定値を定めることができる。このとき、入力データに応じて各演算部の制限設定値を動的に変化させてもよい。
 さらに、データ出力制限部148においてデータ数をカウントせずに、各演算部での演算時間を直接測定し、測定した演算時間が制限設定値を超過したときに、当該演算部からのデータ出力を制限してもよい。例えば、各演算部での演算処理のサイクル数をカウントすることで、演算時間を直接測定することが可能となる。
 以上説明した本発明の第3の実施形態によれば、第1の実施形態で説明したものに加えて、さらに以下の作用効果を奏する。
(5)情報処理装置10は、ニューラルネットワークの所定の層の演算結果におけるデータ数が所定の制限設定値を超過した場合、所定の層の演算結果の出力を制限するデータ出力制限部148をさらに備える。このようにしたので、演算結果の出力間隔を一定として、制御の安定化を図ることができる。
(6)データ出力制限部148は、ニューラルネットワークの所定の層の演算結果における各データの演算順序、各データの絶対値、各データに対応する重みの大きさの少なくともいずれか一つに基づいて、出力制限対象とするデータを選択することができる。このようにすれば、DNN演算に及ぼす影響度を考慮して、適切なデータを出力制限対象とすることができる。
(第4の実施形態)
 次に、本発明の第4の実施形態について説明する。本実施形態では、DNN演算部14において重みの大きさを考慮して、演算対象データを絞り込む例を説明する。なお、第2、第3の実施形態と同じく、本実施形態においても、車載制御装置1の構成、情報処理装置10の構成、およびN個の演算部が層状に並べられたDNN演算部14の構成は、第1の実施形態において図1、2でそれぞれ説明したものと同様である。そのため、以下ではこれらの説明を省略する。
 図10は、本発明の第4の実施形態に係るDNN演算部14の各演算部の機能ブロック図である。なお、本実施形態でも第1~第3の実施形態と同様に、DNN演算部14において、第1層演算部14-1~第N層演算部14-Nは、いずれも同様の機能構成を有しているため、図10ではこれらを代表して、第k層演算部14-kの機能ブロックを示している。以下では、この第k層演算部14-kの機能ブロックを説明することで、本実施形態のDNN演算部14を構成する全ての演算部についての説明を行う。
 本実施形態において、第k層演算部14-kは、第1の実施形態で説明した非ゼロ値特定部141、行列積再構成部142、畳み込み演算部143および活性化演算部144に加えて、さらに重み制限部149を有している。
 重み制限部149は、重み格納部13から取得した各演算対象データの重みを予め設定された重み閾値と比較し、重み閾値未満の場合は、その重みを行列積再構成部142へ出力せずに廃棄する。行列積再構成部142では、非ゼロ値特定部141から出力された演算対象データのうち、重み制限部149により重みが廃棄された演算対象データについては、行列積の再構成を行わない。これにより、畳み込み演算部143では、閾値未満の重みに基づく第k層の畳み込み演算が省略される。
 ここで、重み制限部149に対しては任意の重み閾値を設定することができる。なお、DNN演算の各層ごとに、すなわちDNN演算部14を構成する各演算部ごとに、重み制限部149に対して設定する重み閾値を変化させるようにしてもよい。また、入力データに応じて各演算部の重み閾値を動的に変化させてもよい。
 以上説明した本発明の第4の実施形態によれば、第1の実施形態で説明したものに加えて、以下の作用効果を奏する。
(7)DNN演算部14は、重み格納部13から取得した重みが所定の重み閾値未満である場合、当該重みに基づく所定の層の演算を省略する。このようにしたので、ハードウェアの簡素化を図りつつ、さらなる処理性能の向上と認識精度劣化の抑制を図ることができる。
(第5の実施形態)
 次に、本発明の第5の実施形態について説明する。本実施形態では、DNN演算部14において用いられる学習済みモデルや各種設定値を、外部のサーバ装置から取得する例を説明する。
 図11は、本発明の第5の実施形態に係る車両制御システムの構成を示す図である。図11に示す車両制御システム100は、車載制御装置1Aとサーバ装置5を有する。車載制御装置1Aは、第1の実施形態で説明した車載制御装置1と同様に、車両に搭載されて使用されるものであり、センサであるカメラ2、LiDAR3およびレーダ4と接続されている。また、車載制御装置1Aは、第1の実施形態で説明したセンサフュージョン部11、センサ情報格納部12、重み格納部13、DNN演算部14および行動計画策定部15の各機能ブロックに加えて、サーバ情報取得部16をさらに備えている。
 サーバ装置5は、車載制御装置1Aが搭載されている車両の外部に設置されており、車載制御装置1Aと通信ネットワーク6を介して通信可能である。サーバ装置5は、車載制御装置1Aで用いられる情報として、学習済みモデル、入力データや重みに対する閾値、演算時間に応じた制限設定値などを決定し、これらの情報を車載制御装置1Aに送信する。なお、通信ネットワーク6には、例えば携帯電話用の通信ネットワークや無線LAN等を用いることができる。
 サーバ情報取得部16は、サーバ装置5から送信された情報を取得し、重み格納部13やDNN演算部14に出力する。重み格納部13には例えば学習済みモデルが出力され、重み格納部13に格納される。これにより、サーバ装置5において作成された学習済みモデルを用いて、DNN演算部14がDNN演算を行うことができる。また、DNN演算部14には、第2の実施形態で説明した入力データに対する閾値や、第3の実施形態で説明した制限設定値や、第4の実施形態で説明した重み閾値などが出力される。これらの情報に基づき、DNN演算部14は第2~第4の実施形態でそれぞれ説明したような処理を行うことができる。
 さらに、サーバ情報取得部16がサーバ装置5から取得した入力データに対する閾値に基づいて、DNN演算部14のリソース配分を決定するようにしてもよい。例えば、DNN演算部14が有する複数の乗算器を各層の演算部に対してそれぞれ割り当てる際に、サーバ装置5が決定した閾値の大きさに応じて、割り当てる乗算器の数を変化させる。具体的には、大きい閾値が設定された層ほど演算対象データが少なくなるため、当該層の演算部に対して割り当てる乗算器の数を少なくする。反対に、小さい閾値が設定された層ほど演算対象データが多くなるため、当該層の演算部に対して割り当てる乗算器の数を多くする。このようにすれば、DNN演算部14を構成する各層の演算部に対して、最適なリソース配分とすることができる。
 以上説明した本発明の第5の実施形態によれば、以下の作用効果を奏する。
(8)車両制御システム100は、車載制御装置1Aと、車載制御装置1Aと通信可能なサーバ装置5とを備える。サーバ装置5は、ニューラルネットワークの所定の層に入力されるデータに対する閾値を決定する。車載制御装置1Aは、サーバ装置5により決定された閾値に基づいて、DNN演算部14のリソース配分を決定することができる。このようにすれば、DNN演算部14に対して任意の閾値を容易に設定できるとともに、その閾値に応じてDNN演算部14を適切なリソース配分とすることができる。
 なお、以上説明した各実施形態では、車両に搭載される車載制御装置1,1Aに含まれる情報処理装置10について、車両の周囲状況に関するセンサ情報に基づいてDNN演算を実行し、車両の周囲状況の認識を行うものを例として説明したが、本発明はこれに限定されない。複数の層からなるニューラルネットワークによるDNN演算を実行するものであれば、様々な情報処理装置について本発明を適用可能である。
 以上説明した各実施形態や各種変形例はあくまで一例であり、発明の特徴が損なわれない限り、本発明はこれらの内容に限定されるものではない。また、各実施形態や各種変形例は、単独で採用してもよいし、任意に組み合わせてもよい。さらに、上記では種々の実施形態や変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
 次の優先権基礎出願の開示内容は引用文としてここに組み込まれる。
 日本国特許出願2018-232687(2018年12月12日出願)
 1,1A:車載制御装置、2:カメラ、3:LiDAR、4:レーダ、5:サーバ装置、6:通信ネットワーク、10:情報処理装置、11:センサフュージョン部、12:センサ情報格納部、13:重み格納部、14:DNN演算部、15:行動計画策定部、16:サーバ情報取得部、141:非ゼロ値特定部、142:行列積再構成部、143:畳み込み演算部、144:活性化演算部、145:閾値設定部、146:逆バイアス設定部、147:バイアス設定部、148:データ出力制限部、149:重み制限部

Claims (9)

  1.  複数の層からなるニューラルネットワークによるDNN演算を実行するDNN演算部と、
     前記DNN演算において用いられる重みを格納する重み格納部と、を備え、
     前記DNN演算部は、
     前記ニューラルネットワークの所定の層に入力されたデータのうち、所定の閾値よりも大きい値を有するデータを演算対象データとして特定し、
     前記演算対象データに対応する重みを前記重み格納部から取得し、
     前記演算対象データと、前記重み格納部から取得した重みとに基づき、前記所定の層の演算を実行する、情報処理装置。
  2.  請求項1に記載の情報処理装置において、
     前記閾値は0である、情報処理装置。
  3.  請求項1に記載の情報処理装置において、
     前記閾値を設定する閾値設定部をさらに備え、
     前記DNN演算部は、前記所定の層に入力されたデータのうち、前記閾値設定部により設定された前記閾値よりも大きい値を有するデータを前記演算対象データとして特定する、情報処理装置。
  4.  請求項3に記載の情報処理装置において、
     前記閾値設定部は、過去のデータに対する前記DNN演算部の演算結果に基づいて、現在のデータに対する前記閾値を設定する、情報処理装置。
  5.  請求項1に記載の情報処理装置において、
     前記所定の層の演算結果におけるデータ数が所定の制限設定値を超過した場合、前記所定の層の演算結果の出力を制限するデータ出力制限部をさらに備える、情報処理装置。
  6.  請求項5に記載の情報処理装置において、
     前記データ出力制限部は、前記所定の層の演算結果における各データの演算順序、各データの絶対値、各データに対応する重みの大きさの少なくともいずれか一つに基づいて、出力制限対象とするデータを選択する、情報処理装置。
  7.  請求項1に記載の情報処理装置において、
     前記DNN演算部は、前記重み格納部から取得した重みが所定の重み閾値未満である場合、当該重みに基づく前記所定の層の演算を省略する、情報処理装置。
  8.  請求項1から請求項7のいずれか一項に記載の情報処理装置と、
     車両の行動計画を策定する行動計画策定部と、を備え、
     前記情報処理装置は前記車両に搭載されており、
     前記DNN演算部は、前記車両の周囲状況に関するセンサ情報に基づいて前記DNN演算を実行し、
     前記行動計画策定部は、前記DNN演算部の演算結果に基づいて前記車両の行動計画を策定する、車載制御装置。
  9.  請求項8に記載の車載制御装置と、
     前記車載制御装置と通信可能なサーバ装置と、を備え、
     前記サーバ装置は、前記閾値を決定し、
     前記車載制御装置は、前記サーバ装置により決定された前記閾値に基づいて、前記DNN演算部のリソース配分を決定する、車両制御システム。
PCT/JP2019/048288 2018-12-12 2019-12-10 情報処理装置、車載制御装置、車両制御システム WO2020122067A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/413,264 US20220051030A1 (en) 2018-12-12 2019-12-10 Information Processing Device, In-Vehicle Control Device, and Vehicle Control System
CN201980079673.1A CN113168574A (zh) 2018-12-12 2019-12-10 信息处理装置、车载控制装置、车辆控制系统

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018232687A JP7189000B2 (ja) 2018-12-12 2018-12-12 情報処理装置、車載制御装置、車両制御システム
JP2018-232687 2018-12-12

Publications (1)

Publication Number Publication Date
WO2020122067A1 true WO2020122067A1 (ja) 2020-06-18

Family

ID=71077311

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/048288 WO2020122067A1 (ja) 2018-12-12 2019-12-10 情報処理装置、車載制御装置、車両制御システム

Country Status (4)

Country Link
US (1) US20220051030A1 (ja)
JP (1) JP7189000B2 (ja)
CN (1) CN113168574A (ja)
WO (1) WO2020122067A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017068577A (ja) * 2015-09-30 2017-04-06 株式会社東芝 演算装置、方法及びプログラム
JP2018060268A (ja) * 2016-10-03 2018-04-12 株式会社日立製作所 認識装置および学習システム
WO2018080624A1 (en) * 2016-10-27 2018-05-03 Google Llc Exploiting input data sparsity in neural network compute units
US20180253636A1 (en) * 2017-03-06 2018-09-06 Samsung Electronics Co., Ltd. Neural network apparatus, neural network processor, and method of operating neural network processor
US20180330235A1 (en) * 2017-05-15 2018-11-15 National Taiwan University Apparatus and Method of Using Dual Indexing in Input Neurons and Corresponding Weights of Sparse Neural Network

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5333239A (en) * 1988-09-12 1994-07-26 Fujitsu Limited Learning process system for use with a neural network structure data processing apparatus
JP3168204B2 (ja) * 1989-12-20 2001-05-21 富士通株式会社 ネットワーク構成データ処理装置
JPH06266868A (ja) * 1992-12-24 1994-09-22 Olympus Optical Co Ltd ニューロン素子
KR101458004B1 (ko) * 2013-12-26 2014-11-04 주식회사 코스콤 인공 신경망 모형을 이용한 주가 등락 예측 시스템 및 주가 등락 예측 방법
US10013652B2 (en) * 2015-04-29 2018-07-03 Nuance Communications, Inc. Fast deep neural network feature transformation via optimized memory bandwidth utilization
WO2017149722A1 (ja) * 2016-03-03 2017-09-08 三菱電機株式会社 演算装置および演算方法
KR102415506B1 (ko) * 2016-10-26 2022-07-01 삼성전자주식회사 뉴럴 네트워크 간소화 방법 및 장치
US10175980B2 (en) * 2016-10-27 2019-01-08 Google Llc Neural network compute tile
CN108171323B (zh) * 2016-12-28 2021-03-26 上海寒武纪信息科技有限公司 一种人工神经网络计算装置和方法
CN107622305A (zh) * 2017-08-24 2018-01-23 中国科学院计算技术研究所 用于神经网络的处理器和处理方法
US10635978B2 (en) * 2017-10-26 2020-04-28 SparkCognition, Inc. Ensembling of neural network models
US11500099B2 (en) * 2018-03-14 2022-11-15 Uatc, Llc Three-dimensional object detection
US11663001B2 (en) * 2018-11-19 2023-05-30 Advanced Micro Devices, Inc. Family of lossy sparse load SIMD instructions
US20200160185A1 (en) * 2018-11-21 2020-05-21 Nvidia Corporation Pruning neural networks that include element-wise operations

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017068577A (ja) * 2015-09-30 2017-04-06 株式会社東芝 演算装置、方法及びプログラム
JP2018060268A (ja) * 2016-10-03 2018-04-12 株式会社日立製作所 認識装置および学習システム
WO2018080624A1 (en) * 2016-10-27 2018-05-03 Google Llc Exploiting input data sparsity in neural network compute units
US20180253636A1 (en) * 2017-03-06 2018-09-06 Samsung Electronics Co., Ltd. Neural network apparatus, neural network processor, and method of operating neural network processor
US20180330235A1 (en) * 2017-05-15 2018-11-15 National Taiwan University Apparatus and Method of Using Dual Indexing in Input Neurons and Corresponding Weights of Sparse Neural Network

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HAN, SONG ET AL.: "Deep Compression: Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman Coding", ARXIV, 15 February 2016 (2016-02-15), pages 1 - 14, XP055393078, Retrieved from the Internet <URL:https://arxiv.org/abs/1510.00149v5> [retrieved on 20200212] *
SHIMADA, NAOKI ET AL.: "Introduction to Deep Learning with Chainer", 27 September 2017 (2017-09-27), Tokyo, pages 2 - 4, ISBN: 978-4-7741-9186-7 *

Also Published As

Publication number Publication date
JP2020095463A (ja) 2020-06-18
JP7189000B2 (ja) 2022-12-13
US20220051030A1 (en) 2022-02-17
CN113168574A (zh) 2021-07-23

Similar Documents

Publication Publication Date Title
CN109754066B (zh) 用于生成定点型神经网络的方法和装置
US11475298B2 (en) Using quantization in training an artificial intelligence model in a semiconductor solution
CN109389219B (zh) 用于对神经网络的参数进行量化的方法和装置
US11429838B2 (en) Neural network device for neural network operation, method of operating neural network device, and application processor including the neural network device
US20190212981A1 (en) Neural network processing unit including approximate multiplier and system on chip including the same
US20200125947A1 (en) Method and apparatus for quantizing parameters of neural network
KR102562320B1 (ko) 비트 연산 기반의 뉴럴 네트워크 처리 방법 및 장치
KR20190036317A (ko) 뉴럴 네트워크 시스템 및 뉴럴 네트워크 시스템의 동작방법
US11663451B2 (en) Two-dimensional array-based neuromorphic processor and implementing method
CN112529146B (zh) 神经网络模型训练的方法和装置
KR20210154502A (ko) 부동 소수점 연산을 수행하는 뉴럴 네트워크 장치 및 그의 동작 방법
US20200380360A1 (en) Method and apparatus with neural network parameter quantization
CN111105017A (zh) 神经网络量化方法、装置及电子设备
US20190050370A1 (en) Hardware accelerator for online estimation
WO2022163861A1 (ja) ニューラルネットワーク生成装置、ニューラルネットワーク演算装置、エッジデバイス、ニューラルネットワーク制御方法およびソフトウェア生成プログラム
WO2020122067A1 (ja) 情報処理装置、車載制御装置、車両制御システム
WO2021193134A1 (ja) 情報処理装置、車載制御装置
US20230065725A1 (en) Parallel depth-wise processing architectures for neural networks
US11335045B2 (en) Combining feature maps in an artificial intelligence semiconductor solution
US11756289B2 (en) Information processing apparatus, arithmetic processing device, and method of controlling information processing apparatus
EP4038571A1 (en) Detection and treatment of dermatological conditions
CN112561050A (zh) 一种神经网络模型训练方法及装置
US11823043B2 (en) Machine learning with input data domain transformation
WO2022230906A1 (ja) ニューラルネットワーク生成装置、ニューラルネットワーク演算装置、エッジデバイス、ニューラルネットワーク制御方法およびソフトウェア生成プログラム
WO2023004570A1 (en) Activation buffer architecture for data-reuse in a neural network accelerator

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19897493

Country of ref document: EP

Kind code of ref document: A1