JP2022054660A - Neural network weight saving device, neural network weight saving method and program - Google Patents
Neural network weight saving device, neural network weight saving method and program Download PDFInfo
- Publication number
- JP2022054660A JP2022054660A JP2020161812A JP2020161812A JP2022054660A JP 2022054660 A JP2022054660 A JP 2022054660A JP 2020161812 A JP2020161812 A JP 2020161812A JP 2020161812 A JP2020161812 A JP 2020161812A JP 2022054660 A JP2022054660 A JP 2022054660A
- Authority
- JP
- Japan
- Prior art keywords
- neural network
- coefficient
- channel
- layer
- learning
- 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.)
- Granted
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 184
- 238000000034 method Methods 0.000 title claims description 42
- 230000006870 function Effects 0.000 claims abstract description 182
- 238000013139 quantization Methods 0.000 claims abstract description 95
- 238000012549 training Methods 0.000 claims abstract description 74
- 238000012937 correction Methods 0.000 claims abstract description 50
- 238000012545 processing Methods 0.000 claims abstract description 47
- 239000013585 weight reducing agent Substances 0.000 claims description 41
- 230000004048 modification Effects 0.000 claims description 37
- 238000012986 modification Methods 0.000 claims description 37
- 230000008569 process Effects 0.000 claims description 20
- 238000010606 normalization Methods 0.000 claims description 15
- 230000009466 transformation Effects 0.000 claims description 5
- 230000001131 transforming effect Effects 0.000 claims 1
- 230000007423 decrease Effects 0.000 abstract description 4
- 238000007667 floating Methods 0.000 description 10
- 230000010365 information processing Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 230000004913 activation Effects 0.000 description 7
- 230000006866 deterioration Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000011478 gradient descent method Methods 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
本発明は、ニューラルネットワーク軽量化装置、ニューラルネットワーク軽量化方法およびプログラムに関する。 The present invention relates to a neural network weight reduction device, a neural network weight reduction method and a program.
近年、各種の分野においてニューラルネットワークが用いられている。例えば、物体の認識または物体の位置検出などを目的とした一般的なニューラルネットワークのモデルが知られている。かかる一般的なニューラルネットワークのモデルでは、畳み込み層または全結合層における演算に、16~32ビットの浮動小数点によってそれぞれ表現される特徴量および重みパラメータが使用される。 In recent years, neural networks have been used in various fields. For example, a general neural network model for the purpose of object recognition or object position detection is known. In such a general neural network model, features and weight parameters represented by 16-32 bit floating point numbers are used for operations in the convolutional layer or the fully connected layer, respectively.
一方、例えば、量子化ニューラルネットワークの形態の一つである2値化ニューラルネットワークでは、畳み込み層または全結合層における演算に使用される特徴量および重みパラメータは、それぞれ(-1と1で表現される)1ビット(すなわち2値)で表現され得る。これによって、畳み込み層または全結合層での浮動小数点演算がビット演算に置き換えられ得る。ビット演算が使用される場合には、浮動小数点演算が使用される場合よりも、低消費電力かつ高速な演算処理が実行され得るとともに、メモリ使用量も低減され得るため、FPGA(Field Programmable Gate Array)またはモバイル端末などといった、演算リソースの限られたデバイス上でもディープラーニングモデルの効率的な処理が可能となることが知られている。 On the other hand, for example, in a binarized neural network, which is one of the forms of a quantized neural network, the feature amount and the weight parameter used for the operation in the convolution layer or the fully connected layer are represented by (-1 and 1), respectively. Can be represented by 1 bit (ie, binary). This can replace floating point operations in the convolution layer or fully connected layer with bit operations. When bit operation is used, lower power consumption and higher speed operation processing can be performed than when floating point operation is used, and memory usage can be reduced. Therefore, FPGA (Field Programmable Gate Array) can be used. ) Or mobile terminals, etc., it is known that efficient processing of deep learning models is possible even on devices with limited computing resources.
例えば、2値化ニューラルネットワークの構築方法が開示されている(例えば、非特許文献1参照)。より詳細に、かかる非特許文献1には、全ての畳み込み層または全結合層において、浮動小数点で表現される重みパラメータを符号関数により-1または1で表現される2値に変換するとともに、入力される特徴量も符号関数により-1または1で表現される2値に変換する方法が開示されている。
For example, a method for constructing a binarized neural network is disclosed (see, for example, Non-Patent Document 1). More specifically, in such Non-Patent
また、量子化ニューラルネットワークの構築方法が開示されている(例えば、非特許文献2参照)。より詳細に、かかる非特許文献2には、あらかじめ層ごとに、異なる量子化ビット数(ビット精度)を持つ重みパラメータと入力特徴量との組み合わせが複数定義されており、畳み込みニューラルネットワークは、各層において複数の組み合わせの中から最適な組み合わせを一つ選択するように学習される方法が開示されている。 Further, a method for constructing a quantized neural network is disclosed (see, for example, Non-Patent Document 2). More specifically, in Non-Patent Document 2, a plurality of combinations of weight parameters having different quantization bit numbers (bit precision) and input features are defined in advance for each layer, and the convolutional neural network is used for each layer. Discloses a method of learning to select one of the most suitable combinations from a plurality of combinations.
しかしながら、非特許文献1に開示されている方法によれば、畳み込み層または全結合層に入力されるデータ(例えば、特徴量および重みパラメータなど)の2値化に伴って生じる誤差(量子化誤差)が大きく量子化ニューラルネットワークモデルの精度が大きく劣化してしまう可能性がある。また、非特許文献1に開示されている方法によれば、チャネル数が固定であるため、量子化ニューラルネットワークが冗長なチャネルを含んでしまう可能性がある。
However, according to the method disclosed in
また、非特許文献2に開示されている方法によれば、量子化ビット数を層ごとに推定することが可能である一方、学習の過程において、重みパラメータと入力特徴量との複数の組み合わせそれぞれに対応する畳み込み層をメモリ上にロードし、その全ての畳み込み層に対する順伝播および逆伝播を何度も繰り返す必要がある。そのため、非特許文献2に開示されている方法によれば、収束までに多くの時間を要する上に、全部の組み合わせをあらかじめ定義するのは困難であり得る。 Further, according to the method disclosed in Non-Patent Document 2, the number of quantization bits can be estimated for each layer, while a plurality of combinations of weight parameters and input features are used in the learning process. It is necessary to load the convolution layer corresponding to the above into the memory and repeat the forward propagation and back propagation to all the convolution layers many times. Therefore, according to the method disclosed in Non-Patent Document 2, it takes a lot of time to converge, and it may be difficult to define all the combinations in advance.
そこで、あらかじめ用意すべきデータ(例えば、非特許文献2に開示されている複数の組み合わせそれぞれに対応する畳み込み層)の量を低減しつつ、処理効率の向上と精度劣化の抑制とが可能なニューラルネットワークを構築することを可能とする技術が提供されることが望まれる。 Therefore, while reducing the amount of data to be prepared in advance (for example, the convolution layer corresponding to each of the plurality of combinations disclosed in Non-Patent Document 2), the neural network can improve the processing efficiency and suppress the deterioration of accuracy. It is hoped that technology that makes it possible to build a network will be provided.
上記問題を解決するために、本発明のある観点によれば、複数の処理層を含んだ第1のニューラルネットワークを取得する入力部と、前記複数の処理層の少なくとも一つの処理層を修正対象層として特定し、前記修正対象層に対して、訓練可能な第1の係数を含んだ第1の量子化関数と、訓練可能な第2の係数を含んだ第2の量子化関数と、チャネル単位の訓練可能な第3の係数を含んだチャネル減衰関数とを導入して第2のニューラルネットワークを生成する修正部と、前記第2のニューラルネットワークに基づく学習により、前記第1のニューラルネットワークの重みパラメータと前記第1の係数と前記第2の係数と前記第3の係数とを訓練する学習部と、学習後の第2のニューラルネットワークに基づく再学習により、前記重みパラメータを再訓練する再学習部と、再学習後の第2のニューラルネットワークから前記チャネル減衰関数と前記修正対象層における訓練後の第3の係数に応じた冗長チャネルの重みパラメータとが削除された第3のニューラルネットワークを出力する出力部と、を備える、ニューラルネットワーク軽量化装置が提供される。 In order to solve the above problem, according to a certain viewpoint of the present invention, an input unit for acquiring a first neural network including a plurality of processing layers and at least one processing layer of the plurality of processing layers are to be modified. A first quantization function containing a first trainable coefficient, a second quantization function containing a trainable second coefficient, and a channel for the layer to be modified, which are specified as layers. A modification part that introduces a channel attenuation function containing a trainable third coefficient of the unit to generate a second neural network, and learning based on the second neural network of the first neural network. The weight parameter is retrained by a learning unit that trains the weight parameter, the first coefficient, the second coefficient, and the third coefficient, and retraining based on the second neural network after learning. The learning unit and the third neural network in which the channel attenuation function and the weight parameter of the redundant channel corresponding to the third coefficient after training in the modified target layer are deleted from the second neural network after re-learning. A neural network weight reduction device including an output unit for output is provided.
前記学習部は、前記重みパラメータを訓練する第1の学習と、前記第1の係数、前記第2の係数および前記第3の係数を訓練する第2の学習とを、片方ずつ行ってもよい。 The learning unit may perform the first learning for training the weight parameter and the second learning for training the first coefficient, the second coefficient, and the third coefficient one by one. ..
前記チャネル減衰関数は、前記第2の学習に際して、前記修正対象層への入力に対して前記第3の係数に応じた値の乗算をチャネル単位に実行する処理を含んでもよい。 The channel decay function may include a process of executing a multiplication of a value corresponding to the third coefficient with respect to the input to the correction target layer on a channel-by-channel basis in the second learning.
前記チャネル減衰関数は、前記第1の学習に際して、前記修正対象層への入力のうち、前記第3の係数に応じた値が所定の閾値を下回るチャネルに対応する入力を零にする処理を含んでもよい。 The channel decay function includes a process of zeroing an input corresponding to a channel whose value corresponding to the third coefficient is lower than a predetermined threshold value among the inputs to the correction target layer in the first learning. But it may be.
前記冗長チャネルは、訓練後の前記第3の係数に応じた値が前記所定の閾値を下回るチャネルであってもよい。 The redundant channel may be a channel in which the value corresponding to the third coefficient after training is lower than the predetermined threshold value.
前記チャネル減衰関数は、前記第2の学習に際して、前記修正対象層への入力に対して、前記第3の係数に応じた値の乗算とともに、段階的に値が小さくなる調整パラメータの乗算を実行する処理を含んでもよい。 In the second learning, the channel decay function executes multiplication of a value corresponding to the third coefficient and multiplication of an adjustment parameter whose value is gradually reduced with respect to the input to the correction target layer. It may include the processing to be performed.
前記学習部は、前記第2の学習に際して、前記調整パラメータが組み込まれた損失関数に基づいて学習を行うことにより前記調整パラメータを段階的に小さくしてもよい。 In the second learning, the learning unit may gradually reduce the adjustment parameter by performing learning based on the loss function in which the adjustment parameter is incorporated.
前記学習部は、前記第2の学習に際して、あらかじめ定められたスケジュールに従って、前記調整パラメータを段階的に小さくしてもよい。 In the second learning, the learning unit may gradually reduce the adjustment parameters according to a predetermined schedule.
前記修正部は、前記修正対象層への入力に対して前記チャネル減衰関数および前記第1の量子化関数が適用されるように、前記チャネル減衰関数および前記第1の量子化関数を導入してもよい。 The modification unit introduces the channel attenuation function and the first quantization function so that the channel attenuation function and the first quantization function are applied to the input to the modification target layer. May be good.
前記第1の量子化関数は、前記チャネル減衰関数からの出力に対して第1の正規化を行った後に前記第1の係数を乗算する処理を含んでもよい。 The first quantization function may include a process of multiplying the output from the channel decay function by the first coefficient after performing the first normalization.
前記第1の正規化は、前記チャネル減衰関数からの出力を第1の値域に収める変換を含んでもよい。 The first normalization may include a transformation that keeps the output from the channel decay function in the first range.
前記修正部は、前記修正対象層の重みパラメータに対して前記第2の量子化関数が適用されるように、前記第2の量子化関数を導入してもよい。 The modification unit may introduce the second quantization function so that the second quantization function is applied to the weight parameter of the modification target layer.
前記第2の量子化関数は、前記修正対象層の重みパラメータに対して第2の正規化を行った後に前記第2の係数を乗算する処理を含んでもよい。 The second quantization function may include a process of multiplying the weight parameter of the layer to be modified by the second coefficient after performing the second normalization.
前記第2の正規化は、前記修正対象層の重みパラメータを第2の値域に収める変換を含んでもよい。 The second normalization may include a transformation that puts the weight parameter of the layer to be modified into the second range.
前記修正対象層は、畳み込み層および全結合層の少なくともいずれか一つを含んでもよい。 The modification target layer may include at least one of a convolution layer and a fully connected layer.
前記再学習部は、前記第1の係数を訓練後の第1の係数に固定し、前記第2の係数を訓練後の第2の係数に固定し、前記第3の係数を訓練後の第3の係数に固定した状態において、前記重みパラメータを再訓練してもよい。 The re-learning unit fixes the first coefficient to the first coefficient after training, fixes the second coefficient to the second coefficient after training, and fixes the third coefficient to the second coefficient after training. The weight parameter may be retrained in a state fixed to the coefficient of 3.
また、本発明の別の観点によれば、複数の処理層を含んだ第1のニューラルネットワークを取得することと、前記複数の処理層の少なくとも一つの処理層を修正対象層として特定し、前記修正対象層に対して、訓練可能な第1の係数を含んだ第1の量子化関数と、訓練可能な第2の係数を含んだ第2の量子化関数と、チャネル単位の訓練可能な第3の係数を含んだチャネル減衰関数とを導入して第2のニューラルネットワークを生成することと、前記第2のニューラルネットワークに基づく学習により、前記第1のニューラルネットワークの重みパラメータと前記第1の係数と前記第2の係数と前記第3の係数とを訓練することと、学習後の第2のニューラルネットワークに基づく再学習により、前記重みパラメータを再訓練することと、再学習後の第2のニューラルネットワークから前記チャネル減衰関数と前記修正対象層における訓練後の第3の係数に応じた冗長チャネルの重みパラメータとが削除された第3のニューラルネットワークを出力することと、を含む、ニューラルネットワーク軽量化方法が提供される。 Further, according to another aspect of the present invention, the first neural network including the plurality of processing layers is acquired, and at least one processing layer of the plurality of processing layers is specified as the modification target layer. A first quantization function containing a trainable first coefficient, a second quantization function containing a trainable second coefficient, and a trainable first on a channel-by-channel basis for the layer to be modified. By introducing a channel attenuation function including a coefficient of 3 to generate a second neural network and learning based on the second neural network, the weight parameter of the first neural network and the first Retraining the weighting parameters by training the coefficients, the second coefficient, and the third coefficient, and retraining based on the second neural network after training, and the second after retraining. To output a third neural network in which the channel attenuation function and the weight parameter of the redundant channel corresponding to the third coefficient after training in the modified target layer are removed from the neural network of the neural network. A weight reduction method is provided.
また、本発明の別の観点によれば、コンピュータを、複数の処理層を含んだ第1のニューラルネットワークを取得する入力部と、前記複数の処理層の少なくとも一つの処理層を修正対象層として特定し、前記修正対象層に対して、訓練可能な第1の係数を含んだ第1の量子化関数と、訓練可能な第2の係数を含んだ第2の量子化関数と、チャネル単位の訓練可能な第3の係数を含んだチャネル減衰関数とを導入して第2のニューラルネットワークを生成する修正部と、前記第2のニューラルネットワークに基づく学習により、前記第1のニューラルネットワークの重みパラメータと前記第1の係数と前記第2の係数と前記第3の係数とを訓練する学習部と、学習後の第2のニューラルネットワークに基づく再学習により、前記重みパラメータを再訓練する再学習部と、再学習後の第2のニューラルネットワークから前記チャネル減衰関数と前記修正対象層における訓練後の第3の係数に応じた冗長チャネルの重みパラメータとが削除された第3のニューラルネットワークを出力する出力部と、を備えるニューラルネットワーク軽量化装置として機能させるプログラムが提供される。 Further, according to another aspect of the present invention, the computer has an input unit for acquiring a first neural network including a plurality of processing layers and at least one processing layer of the plurality of processing layers as a modification target layer. A first quantization function containing a first trainable coefficient, a second quantization function containing a trainable second coefficient, and a channel-by-channel unit for the layer to be modified. The weight parameter of the first neural network by the correction part which introduces the channel attenuation function including the trainable third coefficient to generate the second neural network and the learning based on the second neural network. And a learning unit that trains the first coefficient, the second coefficient, and the third coefficient, and a re-learning unit that retrains the weight parameter by re-learning based on the second neural network after learning. And outputs a third neural network in which the channel attenuation function and the weight parameter of the redundant channel corresponding to the third coefficient after training in the modified target layer are deleted from the second neural network after retraining. A program is provided that functions as a neural network weight reduction device including an output unit.
以上説明したように本発明によれば、あらかじめ用意すべきデータ量を低減しつつ、処理効率の向上と精度劣化の抑制とが可能なニューラルネットワークを構築することを可能とする技術が提供される。 As described above, according to the present invention, there is provided a technique capable of constructing a neural network capable of improving processing efficiency and suppressing deterioration of accuracy while reducing the amount of data to be prepared in advance. ..
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。 Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the present specification and the drawings, components having substantially the same functional configuration are designated by the same reference numerals, so that duplicate description will be omitted.
また、本明細書および図面において、実質的に同一の機能構成を有する複数の構成要素を、同一の符号の後に異なる数字を付して区別する場合がある。ただし、実質的に同一の機能構成を有する複数の構成要素等の各々を特に区別する必要がない場合、同一符号のみを付する。また、異なる実施形態の類似する構成要素については、同一の符号の後に異なるアルファベットを付して区別する場合がある。ただし、異なる実施形態の類似する構成要素等の各々を特に区別する必要がない場合、同一符号のみを付する。 Further, in the present specification and the drawings, a plurality of components having substantially the same functional configuration may be distinguished by adding different numbers after the same reference numerals. However, if it is not necessary to distinguish each of a plurality of components having substantially the same functional configuration, only the same reference numerals are given. Further, similar components of different embodiments may be distinguished by adding different alphabets after the same reference numerals. However, if it is not necessary to distinguish each of the similar components of different embodiments, only the same reference numerals are given.
(1.実施形態の詳細)
続いて、本発明の実施形態の詳細について説明する。
(1. Details of the embodiment)
Subsequently, the details of the embodiment of the present invention will be described.
(1-1.構成の説明)
まず、本発明の実施形態に係るニューラルネットワーク軽量化装置の構成例について説明する。図1は、本発明の実施形態に係るニューラルネットワーク軽量化装置の機能構成例を示す図である。図1に示されるように、本発明の実施形態に係るニューラルネットワーク軽量化装置10は、入力部100、修正部101、学習部102、再学習部103および出力部104を備える。
(1-1. Explanation of configuration)
First, a configuration example of the neural network weight reduction device according to the embodiment of the present invention will be described. FIG. 1 is a diagram showing a functional configuration example of the neural network weight reduction device according to the embodiment of the present invention. As shown in FIG. 1, the neural network
ニューラルネットワーク軽量化装置10は、CPU(Central Processing Unit)などの演算装置を含み、図示しないメモリにより記憶されているプログラムがCPUによりRAM(Random Access Memory)に展開されて実行されることにより、その機能が実現され得る。このとき、当該プログラムを記録した、コンピュータに読み取り可能な記録媒体も提供され得る。あるいは、ニューラルネットワーク軽量化装置10は、専用のハードウェアにより構成されていてもよいし、複数のハードウェアの組み合わせにより構成されてもよい。
The neural network
(入力部100)
入力部100は、軽量化対象のニューラルネットワーク(第1のニューラルネットワーク)および軽量化対象のニューラルネットワークの学習に使用されるデータ(学習用データセット)を取得する。例えば、入力部100は、軽量化対象のニューラルネットワークおよび学習用データセットを、図示しないメモリから読み出すことによって取得してもよい。例えば、軽量化対象のニューラルネットワークは、学習前のニューラルネットワークの構造(モデル構造)であってよい。
(Input unit 100)
The
図2は、軽量化対象のニューラルネットワークの一例を示す図である。図2に示されるように、軽量化対象のニューラルネットワークは、第1層から第N層(Nは2以上の整数)までの複数の層によって構成される。第1層には、入力データが入力され、第N層からは、出力データが出力される。第1層から第N層までの各層には、処理層が含まれており、第1層から第N層までの各層の次層には、活性化関数が挿入されている。第1層から第N層までの各層に含まれる処理層は、次層に含まれる活性化関数に対して出力を行う。 FIG. 2 is a diagram showing an example of a neural network to be reduced in weight. As shown in FIG. 2, the neural network to be lightened is composed of a plurality of layers from the first layer to the Nth layer (N is an integer of 2 or more). Input data is input to the first layer, and output data is output from the Nth layer. Each layer from the first layer to the Nth layer contains a treatment layer, and an activation function is inserted in the next layer of each layer from the first layer to the Nth layer. The processing layer included in each layer from the first layer to the Nth layer outputs to the activation function included in the next layer.
図2に示された例では、第1層から第(N-1)層までの各層に含まれる処理層は、畳み込み層であり、第N層に含まれる処理層は、全結合層である。しかし、第1層から第N層までの各層に含まれる処理層の種類は、図2に示された例に限定されない。例えば、軽量化対象のニューラルネットワークは、処理層として畳み込み層および全結合層の一方を、1または複数含んでもよいし、処理層として畳み込み層および全結合層のそれぞれを、1または複数含んでもよい。また、軽量化対象のニューラルネットワークは、畳み込み層以外かつ全結合層以外の処理層を含んでもよい。 In the example shown in FIG. 2, the treated layer included in each layer from the first layer to the (N-1) layer is a convolutional layer, and the treated layer included in the Nth layer is a fully connected layer. .. However, the type of the treatment layer included in each layer from the first layer to the Nth layer is not limited to the example shown in FIG. For example, the neural network to be lightened may include one or more of the convolution layer and the fully connected layer as the processing layer, and may include one or more of each of the convolution layer and the fully connected layer as the processing layer. .. Further, the neural network to be reduced in weight may include a processing layer other than the convolutional layer and the fully connected layer.
また、図2には、軽量化対象のニューラルネットワークの第1層から第N層までの処理層によって使用される重みパラメータとして、重みパラメータw1~wNが示されている。本発明の実施形態では、軽量化対象のニューラルネットワークの各処理層による演算に、16~32ビットの浮動小数点によってそれぞれ表現される特徴量および重みパラメータが使用される場合を想定する。しかし、軽量化対象のニューラルネットワークの各処理層によって使用される特徴量および重みパラメータそれぞれの形式は、かかる例に限定されない。 Further, FIG. 2 shows weight parameters w1 to wN as weight parameters used by the processing layers from the first layer to the Nth layer of the neural network to be reduced in weight. In the embodiment of the present invention, it is assumed that the feature amount and the weight parameter represented by the floating point of 16 to 32 bits are used for the operation by each processing layer of the neural network to be lightened. However, the format of each feature quantity and weight parameter used by each processing layer of the neural network to be lightened is not limited to such an example.
図1に戻って説明を続ける。入力部100によって取得された軽量化対象のニューラルネットワークおよび学習用データセットは、修正部101に出力される。
The explanation will be continued by returning to FIG. The neural network to be reduced in weight and the training data set acquired by the
(修正部101)
修正部101は、入力部100から入力された軽量化対象のニューラルネットワークに基づいて、軽量化対象のニューラルネットワークに含まれる少なくとも一つの処理層を修正対象層として特定する。ここでは、第1層から第(N-1)層に含まれる畳み込み層、および、第N層に含まれる全結合層の全部を、修正対象層として特定する場合を想定する。しかし、修正部101は、軽量化対象のニューラルネットワークに含まれる畳み込み層および全結合層の一部のみを修正対象層として特定してもよい(すなわち、修正対象層は、畳み込み層および全結合層の少なくともいずれか一つを含んでもよい)。
(Correction part 101)
The
例えば、修正部101は、軽量化対象のニューラルネットワークに含まれる畳み込み層および全結合層のうち、あらかじめ定められた一部のみを修正対象層として特定してもよい。一例として、最初の畳み込み層(すなわち、第1層に含まれる畳み込み層)、および、最後の畳み込み層(すなわち、第(N-1)層に含まれる畳み込み層)は、他の層の畳み込み層よりもニューラルネットワークの精度に与える影響が大きい可能性があるため、修正対象層として特定されなくてもよい。
For example, the
修正部101は、修正対象層に対して(複数の修正対象層が特定された場合には、複数の修正対象層それぞれに対して)、訓練可能な係数γ1(第1の係数)を含んだ第1の量子化関数と、訓練可能な係数γ2(第2の係数)を含んだ第2の量子化関数と、チャネル単位の訓練可能な係数α(第3の係数)を含んだチャネル減衰関数とを導入する。例えば、量子化関数は、連続的な値を離散的な値に変換する関数を意味し得る。これによって、修正部101は、訓練対象のニューラルネットワーク(第2のニューラルネットワーク)を生成する。修正部101によって生成された訓練対象のニューラルネットワークおよび学習用データセットは、学習部102に出力される。
The
(学習部102)
学習部102は、修正部101から入力された学習用データセットに基づいて、修正部101から入力された訓練対象のニューラルネットワークに基づく学習を行う。例えば、学習部102は、誤差逆伝播法(バックプロパゲーション)などを用いて、訓練対象のニューラルネットワークに基づく学習を行う。これによって、重みパラメータと、第1の量子化関数に含まれる係数γ1と、第2の量子化関数に含まれる係数γ2と、チャネル減衰関数に含まれる係数αとが訓練される。
(Learning unit 102)
The
なお、後に詳細に説明するように、学習部102は、重みパラメータを訓練する第1の学習と、係数γ1、係数γ2および係数αを訓練する第2の学習とを、片方ずつ行うのが望ましい。また、重みパラメータの初期値には、乱数が使用されてよいが、軽量化対象のニューラルネットワークの訓練済みの重みパラメータがあれば、訓練済みの重みパラメータが初期値として利用されてもよい。学習部102による学習後の訓練対象のニューラルネットワークおよび学習用データセットは、再学習部103に出力される。
As will be described in detail later, it is desirable that the
(再学習部103)
再学習部103は、学習部102から入力された学習用データセットに基づいて、学習部102から入力された学習後の訓練対象のニューラルネットワークに基づく再学習を行う。例えば、再学習部103は、重みパラメータを初期化し、誤差逆伝播法などを用いて、学習後の訓練対象のニューラルネットワークに基づく再学習を行う。これによって、重みパラメータが再訓練される。再学習部103による再学習後の訓練対象のニューラルネットワークは、出力部104に出力される。
(Re-learning unit 103)
The
(出力部104)
出力部104は、再学習部103から入力された再学習後の訓練対象のニューラルネットワークから、チャネル減衰関数を削除するとともに、修正対象層における訓練後の係数αに応じた冗長チャネルの重みパラメータを削除して、出力対象のニューラルネットワーク(第3のニューラルネットワーク)を生成する。そして、出力部104は、出力対象のニューラルネットワークを出力する。なお、出力対象のニューラルネットワークは、どのように出力されてもよい。例えば、出力部104は、出力対象のニューラルネットワークを記録媒体に出力することによって、記録媒体に出力対象のニューラルネットワークを記録してもよい。あるいは、出力部104は、出力対象のニューラルネットワークを通信装置に出力することによって、通信装置を介して出力対象のニューラルネットワークを他の装置に送信してもよい。
(Output unit 104)
The
(1-2.動作の説明)
続いて、本発明の実施形態に係るニューラルネットワーク軽量化装置10の動作例について説明する。上記したように、入力部100によって、軽量化対象のニューラルネットワーク(図2)および学習用データセットが取得される。ここでは一例として、学習用データとして2次元画像が使用される場合を想定する。このとき、軽量化対象のニューラルネットワークに含まれる第l(エル)層の畳み込み層によって行われる演算は、下記の数式(1)のように示される。
(1-2. Explanation of operation)
Subsequently, an operation example of the neural network
ここで、xlは、第l(エル)層の畳み込み層への入力特徴量を示し、wlは、第l層の畳み込み層によって使用される重みパラメータを示し、添え字i、j、n、mは、それぞれ出力チャネル、入力チャネル、画像の幅、画像の高さを示し、f()は、活性化関数を示している。ただし、数式(1)において第(l+1)層への入力特徴量xi l+1に対応する画像の幅と画像の高さを示す添え字は省略されている。数式(1)に示されるように、重みパラメータと入力特徴量との内積が計算された後に、活性化関数が適用される。例えば、活性化関数にはランプ関数などが利用されてよい。また、活性化関数の適用前にバッチ正規化が適用されてもよい。 Here, x l indicates the input feature amount to the convolutional layer of the l-th layer, and wl indicates the weight parameter used by the convolutional layer of the l -th layer, and the subscripts i, j, n , M indicate an output channel, an input channel, an image width, and an image height, respectively, and f () indicates an activation function. However, in the formula (1), the subscripts indicating the width and height of the image corresponding to the input feature amount x il + 1 to the ( l + 1) layer are omitted. As shown in equation (1), the activation function is applied after the inner product of the weight parameter and the input feature is calculated. For example, a ramp function or the like may be used as the activation function. Also, batch normalization may be applied before applying the activation function.
図3は、第l層の畳み込み層の一般的な構成例を示す図である。図3を参照すると、第l層の畳み込み層202が示されている。第l層の畳み込み層202には、前層からの出力に対して活性化関数が適用されたデータが入力特徴量xlとして入力される。また、第l層の畳み込み層202は、重みパラメータwlを有している。第l層の畳み込み層202は、入力特徴量xlと重みパラメータwlとの内積を計算する。かかる計算結果は、次層に出力される。入力部100は、軽量化対象のニューラルネットワークおよび学習用データセットを修正部101に出力する。
FIG. 3 is a diagram showing a general configuration example of the convolutional layer of the first layer. Referring to FIG. 3, the
図4は、修正部101の動作例を示すフローチャートである。修正部101は、入力部100から入力された軽量化対象のニューラルネットワークに基づいて、修正対象層を特定する(S100)。ここでは、第1層から第(N-1)層に含まれる畳み込み層、および、第N層に含まれる全結合層の全部を、修正対象層として特定する場合を想定する。修正部101は、修正対象層に対して、訓練可能な係数γ1を含んだ第1の量子化関数と、訓練可能な係数γ2を含んだ第2の量子化関数と、チャネル単位の訓練可能な係数αを含んだチャネル減衰関数とを導入する(S101)。一例として、第l層の畳み込み層へのチャネル減衰関数および量子化関数の導入例について説明する。
FIG. 4 is a flowchart showing an operation example of the
図5は、第l層の畳み込み層へのチャネル減衰関数および量子化関数の導入例を説明するための図である。図5を参照すると、第l層の畳み込み層202が示されている。また、図5を参照すると、第l層の畳み込み層202への入力として、入力特徴量xlが示され、第l層の畳み込み層202が有する重みパラメータwlが示されている。
FIG. 5 is a diagram for explaining an example of introducing a channel decay function and a quantization function into the convolution layer of the first layer. Referring to FIG. 5, the
図5に示されるように、修正部101は、第l層の畳み込み層202への入力(入力特徴量xl)に対して、チャネル減衰関数204および量子化関数205(第1の量子化関数)が適用されるように、チャネル減衰関数204および量子化関数205を導入する。チャネル減衰関数204は、チャネル単位の訓練可能な係数αlを含んでいる。量子化関数205は、訓練可能な係数γ1lを含んでいる。
As shown in FIG. 5, the
一方、修正部101は、第l層の畳み込み層202の重みパラメータwlに対して、量子化関数206(第2の量子化関数)が適用されるように、量子化関数206を導入する。量子化関数206は、訓練可能な係数γ2lを含んでいる。
On the other hand, the
チャネル減衰関数204は、第l層の畳み込み層202への入力(入力特徴量xl)の各チャネルに対応する値を減衰させる関数である。後にも説明するように、重みパラメータwlを訓練する第1の学習(以下、単に「重みパラメータ訓練」とも言う)と、係数αlと係数γ1lと係数γ2lとを訓練する第2の学習(以下、単に「係数訓練」とも言う)とが、片方ずつ行われる。チャネル減衰関数204は、重みパラメータ訓練時に適用される処理と、係数訓練時に適用される処理とを含んでいる。
The
より詳細に、チャネル減衰関数204は、係数訓練に際して、第l層の畳み込み層202への入力(入力特徴量xl)に対して、係数αlに応じた値の乗算をチャネル単位に実行する処理を含む。さらに、チャネル減衰関数204は、係数訓練に際して、第l層の畳み込み層202への入力(入力特徴量xl)に対して、段階的に値が小さくなる調整パラメータηlの乗算を実行する処理を含む。
More specifically, the
例えば、入力特徴量xlのチャネル数がCであるとすると、xlは、xi
l(i=1,2,...,C)と表現され、係数αlは、入力特徴量xlのチャネル数Cと同数の要素を持つベクトルαi
l(i=1,2,...,C)として表現され得る。係数αlに応じた値の例としては、係数αlにsoftmax関数を適用して得られる値が用いられ得る。このとき、チャネルiに対応する係数αi
lに応じた値は、softmaxi(αl)と表現され得る。一例として、チャネル減衰関数204は、係数訓練時の処理として、下記の数式(2)のように表現される処理を含む。
For example, assuming that the number of channels of the input feature amount x l is C, x l is expressed as x i l (i = 1, 2, ..., C), and the coefficient α l is the input feature amount x. It can be expressed as a vector α il ( i = 1 , 2, ..., C) having the same number of elements as the number of channels C of l . As an example of the value corresponding to the coefficient α l , the value obtained by applying the softmax function to the coefficient α l can be used. At this time, the value corresponding to the coefficient α il corresponding to the channel i can be expressed as softmax i ( α l ). As an example, the
後にも説明するように、αlが訓練されていくと、αlの値はチャネル間において差が生じるようになる。より詳細には、αlの値が0に近いチャネルほど、ニューラルネットワークの精度への寄与が小さいチャネルである(冗長チャネルである可能性が高い)とみなされ得る。また、後にも説明するように、調整パラメータηlは、係数訓練時に、0以上の範囲内において段階的に値が小さくなる。調整パラメータηlが小さくなるほど、チャネル間に生じるαlの値の差が大きくなると考えられるため、冗長チャネルの特定が容易になることが期待される。 As will be explained later, as α l is trained, the value of α l will differ between channels. More specifically, a channel having a value of α l closer to 0 can be regarded as a channel having a smaller contribution to the accuracy of the neural network (more likely to be a redundant channel). Further, as will be described later, the value of the adjustment parameter η l gradually decreases within the range of 0 or more at the time of coefficient training. As the adjustment parameter η l becomes smaller, it is considered that the difference in the values of α l generated between the channels becomes larger, so that it is expected that it becomes easier to identify the redundant channel.
一方、チャネル減衰関数204は、重みパラメータ訓練に際して、第l層の畳み込み層202への入力(入力特徴量xl)のうち、係数αlに応じた値が所定の閾値δを下回るチャネルに対応する入力(入力特徴量xl)を零にする処理を含む。閾値δは、所与の非負値であってよい。一例として、チャネル減衰関数204は、重みパラメータ訓練時の処理として、下記の数式(3)のように表現される処理を含む。
On the other hand, the
すなわち、softmaxi(αl)が閾値δを下回った場合、チャネルiは冗長チャネルであるとみなされ、チャネルiに対応する入力特徴量xi lは、零にされる。 That is, when softmax i (α l ) falls below the threshold value δ, the channel i is considered to be a redundant channel, and the input feature amount x i l corresponding to the channel i is set to zero.
量子化関数205は、チャネル減衰関数204からの出力Xlに対して正規化(第1の正規化)を行った後に係数γ1lを乗算する処理を含む。チャネル減衰関数204からの出力Xlに対する正規化は、チャネル減衰関数204からの出力Xlを所定の値域(第1の値域)に収める変換を含んでよい。ここでは、所定の値域に収める変換として、チャネル減衰関数204からの出力Xlを、出力Xlの絶対値の第l層における全チャネルにおける最大値であるmax|Xl|で割る演算を用いる場合を想定する。
The
一例として、チャネル減衰関数204からの出力Xlを量子化関数205によってkビットの符号付き整数に量子化する場合には、量子化関数205は、下記の数式(4)のように表現される処理を含む。
As an example, when the output X l from the
数式(4)において、Round関数は、値を(例えば、四捨五入によって)整数に丸める関数である。β1は、2k-1/max(|Xl|)の逆数(すなわち、max(|Xl|/2k-1)である。つまり、数式(4)に示されるquantize関数は、値を整数に丸めた後に浮動小数点で表現されるβ1を乗じて浮動小数点に戻す形態をしている。例えば、量子化関数205は、学習段階においては、かかる形態を有していてよい。しかし、β1の乗算は、畳み込み層202による演算の後に適用されても次層への出力は変わらない。したがって、推論段階においては、β1は畳み込み層202の後段に移動されてもよい。これによって、畳み込み層202にはRound関数によって値が丸められた後の整数が入力され、畳み込み演算による負荷が軽減され得る。
In formula (4), the Round function is a function that rounds a value to an integer (eg, by rounding). β1 is the reciprocal of 2 k-1 / max (| X l |) (that is, max (| X l | / 2 k-1 ). That is, the quantize function shown in the equation (4) has a value. It has a form of rounding to an integer and then multiplying it by β1 expressed by a floating point number to return it to a floating point number. For example, the
上記した非特許文献3にも量子化についての記載があるが、このように既に開示されている量子化においては、γ1=1(固定値)である。一方、数式(4)に示された量子化は、このように既に開示されている量子化とは異なり、quantize関数の中に訓練可能なγ1が含まれている。γ1の訓練によって最適な量子化ビット数が推定され得る。一例として、γ1=1かつk=8ビットである場合には、Round関数が適用された後の最大値は、27-1となる。一方、γ1=2-4かつk=8ビットである場合には、Round関数が適用された後の最大値は、23となり、Round関数が適用された後の値は、4ビットで表現可能となる。 Although there is a description about quantization in the above-mentioned Non-Patent Document 3, in the quantization already disclosed as described above, γ1 = 1 (fixed value). On the other hand, in the quantization shown in the equation (4), unlike the quantization already disclosed as described above, the trainable γ1 is included in the quantize function. The optimum number of quantization bits can be estimated by training γ1. As an example, when γ1 = 1 and k = 8 bits, the maximum value after the Round function is applied is 27-1. On the other hand, when γ1 = 2 -4 and k = 8 bits, the maximum value after the Round function is applied is 23, and the value after the Round function is applied can be expressed by 4 bits. Will be.
なお、上記では、量子化関数205によってkビットの符号付き整数への量子化が行われる場合を想定した。しかし、量子化関数205は、kビットの符号なし整数への量子化を行ってもよい。かかる場合には、数式(4)における2k-1は、2kに置き換えられればよい。
In the above, it is assumed that the
量子化関数206は、重みパラメータwlに対して正規化(第2の正規化)を行った後に係数γ2lを乗算する処理を含む。重みパラメータwlに対する正規化は、重みパラメータwlを所定の値域(第2の値域)に収める変換を含んでよい。ここでは、所定の値域に収める変換として、重みパラメータwlを、wlの絶対値の第l層における全チャネルにおける最大値であるmax|wl|で割る演算を用いる場合を想定する。
The
一例として、重みパラメータwlを量子化関数206によってkビットの符号付き整数に量子化する場合には、量子化関数206は、下記の数式(5)のように表現される処理を含む。
As an example, when the weight parameter wl is quantized to a k-bit signed integer by the
数式(5)において、Round関数は、数式(4)に示されたRound関数と同様の特徴を有する。β2は、2k-1/max(|wl|)の逆数(すなわち、max(|wl|/2k-1)である。数式(5)に示されるquantize関数も、数式(4)に示されたquantize関数と同様に、値を整数に丸めた後に浮動小数点で表現されるβ2を乗じて浮動小数点に戻す形態をしている。例えば、量子化関数206は、学習段階においては、かかる形態を有していてよい。また、推論段階においては、β2は畳み込み層202の後段に移動されてもよい。
In the formula (5), the Round function has the same characteristics as the Round function shown in the formula (4). β2 is the reciprocal of 2 k-1 / max (| wl |) (that is, max (| wl | / 2 k-1 ) . The quantize function shown in the formula (5) is also the formula (4). Similar to the quantize function shown in, the value is rounded to an integer and then multiplied by β2 expressed by the floating point to return to the floating point. For example, the
なお、量子化関数206は、量子化関数205と同様に、kビットの符号なし整数への量子化を行ってもよい。かかる場合には、数式(5)における2k-1は、2kに置き換えられればよい。
The
図4に戻って説明を続ける。修正部101は、チャネル減衰関数204と量子化関数205と量子化関数206とを導入していない修正対象層が存在する場合には(S102において「NO」)、まだチャネル減衰関数204と量子化関数205と量子化関数206とを導入していない修正対象層に対してS101を実行する。一方、修正部101は、全部の修正対象層に対して、チャネル減衰関数204と量子化関数205と量子化関数206とを導入し終わった場合には(S102において「YES」)、修正を終了する。
The explanation will be continued by returning to FIG. If there is a layer to be modified that does not introduce the
図1に戻って説明を続ける。修正部101は、チャネル減衰関数204と量子化関数205と量子化関数206との導入によって生成した訓練対象のニューラルネットワークおよび学習用データセットを、学習部102に出力する。学習部102は、上記したように、修正部101から入力された学習用データセットに基づいて、修正部101から入力された訓練対象のニューラルネットワークに基づく学習を行う。これによって、重みパラメータwと係数αと係数γ1と係数γ2とが訓練される。
The explanation will be continued by returning to FIG. The
図6は、学習部102の動作例を示すフローチャートである。上記したように、学習部102は、重みパラメータ訓練と係数訓練とを、片方ずつ行う。まず、学習部102は、訓練対象のニューラルネットワークの重みパラメータwを初期化し(S110)、重みパラメータ訓練を行う。より詳細に、学習部102は、係数αと係数γ1と係数γ2とを固定した状態において、損失関数に基づく誤差逆伝播法(例えば、誤差逆伝播法に基づく確率的勾配降下法)によって、重みパラメータwを更新する(S111)。重みパラメータ訓練においては、冗長チャネルに対応する入力特徴量が零にされる(数式(3))。
FIG. 6 is a flowchart showing an operation example of the
なお、本発明の実施形態において用いられる損失関数は特定の関数に限定されず、一般的なニューラルネットワークにおいて用いられる損失関数と同様の損失関数が用いられてよい。例えば、学習部102は、学習用データセットに基づいて、訓練対象のニューラルネットワークからの出力値と正解値との差分を算出し、当該差分に基づく平均二乗誤差を損失関数として算出してもよい。
The loss function used in the embodiment of the present invention is not limited to a specific function, and a loss function similar to the loss function used in a general neural network may be used. For example, the
続いて、学習部102は、重みパラメータwの更新回数が所定の回数に達したか否かを判定する(S112)。例えば、重みパラメータwの更新回数は、イテレーション数であってもよく、所定の回数は、イテレーション数の閾値(例えば、5回など)であってもよい。学習部102は、重みパラメータwの更新回数が所定の回数に達していないと判定した場合には(S112において「NO」)、S111に戻る。
Subsequently, the
一方、学習部102は、重みパラメータwの更新回数が所定の回数に達したと判定した場合には(S112において「YES」)、係数訓練を行う。より詳細に、学習部102は、重みパラメータwを固定した状態において、正則化項が付与された損失関数に基づく誤差逆伝播法(例えば、誤差逆伝播法に基づく確率的勾配降下法)によって、係数αと係数γ1と係数γ2とを更新する(S113)。例えば、正則化項が付与された損失関数は、以下の数式(6)のように表現され得る。
On the other hand, when it is determined that the number of updates of the weight parameter w has reached a predetermined number of times (“YES” in S112), the
数式(6)において、第1項である損失関数Lは、重みパラメータ訓練の損失関数と同様に限定されない。第2項、第3項および第4項それぞれは、正則化項である。λ1、λ2およびλ3は、正則化の強度を決める係数であり、所与の非負値であってよい。第2項には、調整パラメータηlのL1ノルムの修正対象層全体における総和が含まれている。学習部102は、このように調整パラメータηが付与された損失関数に基づいて学習を行うことにより調整パラメータηを段階的に小さくすることが可能である。
In the equation (6), the loss function L, which is the first term, is not limited in the same manner as the loss function of the weight parameter training. Each of the second, third and fourth terms is a regularization term. λ 1 , λ 2 and λ 3 are coefficients that determine the strength of the regularization and may be given non-negative values. The second term contains the sum of the L1 norms of the adjustment parameter η l over the entire layer to be modified. The
しかしながら、調整パラメータηを段階的に小さくする手法は、かかる例に限定されない。例えば、学習部102は、係数訓練に際して、あらかじめ定められたスケジュールに従って、調整パラメータηを段階的に小さくしてもよい。一例として、学習部102は、所定の回数のイテレーションごとに所定の幅だけ調整パラメータηを小さくしてもよい(例えば、1イテレーションごとに0.001だけ調整パラメータηを小さくしてもよい)。なお、上記したように、調整パラメータηを段階的に小さくすることは、冗長チャネルの特定に役立つことが期待される。
However, the method of gradually reducing the adjustment parameter η is not limited to such an example. For example, the
第3項には、量子化関数205に含まれる係数γ1lのL1ノルムの修正対象層全体における総和が含まれている。すなわち、第3項は、量子化関数205に含まれる係数γ1に関する制約項である。同様に、第4項には、量子化関数206に含まれる係数γ2lのL1ノルムの修正対象層全体における総和が含まれている。すなわち、第4項は、量子化関数206に含まれる係数γ2に関する制約項である。
The third term includes the sum of the L1 norms of the coefficient γ1 l included in the
損失関数Lは、量子化ビット数が多いほど小さくなると考えられる。したがって、単純に損失関数Lに基づいて、係数γ1と係数γ2とを更新すると、係数γ1と係数γ2とが大きくなってしまい、量子化ビット数が抑えられなくなってしまうと考えられる。しかし、このような制約項が損失関数Lに付与されることによって、ニューラルネットワークの精度劣化を抑制するだけではなく、必要な程度に抑制された量子化ビット数を推定することが可能となる。 It is considered that the loss function L becomes smaller as the number of quantization bits increases. Therefore, if the coefficient γ1 and the coefficient γ2 are simply updated based on the loss function L, the coefficient γ1 and the coefficient γ2 become large, and it is considered that the number of quantization bits cannot be suppressed. However, by applying such a constraint term to the loss function L, it is possible not only to suppress the deterioration of the accuracy of the neural network but also to estimate the number of quantization bits suppressed to a necessary degree.
このように、学習部102による係数訓練では、チャネル数(すなわち、冗長チャネル以外のチャネル数)と量子化ビット数とが同時に推定され得る。したがって、チャネル数と量子化ビット数との間に存在するトレードオフ関係を考慮しながら、チャネル数および量子化ビット数の最適解が求められ得る。これによって、チャネル数および量子化ビット数それぞれが独立に推定される場合(例えば、チャネル削減後のモデルに対して量子化が行われる場合、または、量子化済みのモデルに対してチャネル削減が行われる場合など)よりも、精度劣化を抑制しつつ、処理効率の低下も抑制したニューラルネットワークを構築することが期待され得る。
As described above, in the coefficient training by the
続いて、学習部102は、係数γ1、係数γ2および係数αの更新回数が所定の回数に達したか否かを判定する(S114)。例えば、係数γ1、係数γ2および係数αの更新回数は、イテレーション数であってもよく、所定の回数は、イテレーション数の閾値(例えば、3回など)であってもよい。学習部102は、係数γ1、係数γ2および係数αの更新回数が所定の回数に達していないと判定した場合には(S114において「NO」)、S113に戻る。
Subsequently, the
一方、学習部102は、重みパラメータwの更新回数が所定の回数に達したと判定した場合には(S114において「YES」)、正則化項が付与された損失関数が収束したか否かを判定する(S115)。学習部102は、正則化項が付与された損失関数が収束していないと判定した場合には(S115において「NO」)、S111に戻る。一方、学習部102は、正則化項が付与された損失関数が収束したと判定した場合には(S115において「YES」)、訓練対象のニューラルネットワークの訓練を終了する。例えば、正則化項が付与された損失関数またはその変化が閾値よりも小さくなった場合に、正則化項が付与された損失関数が収束したと判定されてもよい。
On the other hand, when the
学習後の訓練対象のニューラルネットワークおよび学習用データセットは、再学習部103に出力される。
The neural network to be trained and the data set for training after training are output to the
再学習部103は、学習部102から入力された学習用データセットに基づいて、学習部102から入力された学習後の訓練対象のニューラルネットワークに基づく再学習を行う。より詳細に、再学習部103は、重みパラメータwを初期化し、係数γ1を学習部102による訓練後の係数γ1に固定し、係数γ2を学習部102による訓練後の係数γ2に固定し、係数αを学習部102による訓練後の係数αに固定した状態において、損失関数に基づく誤差逆伝播法(例えば、誤差逆伝播法に基づく確率的勾配降下法)によって、重みパラメータwを更新する。これによって、チャネル数および量子化ビット数が特定された状態における最適な重みパラメータwが獲得され、ニューラルネットワークの精度の更なる向上が期待され得る。
The
再学習部103による再学習後の訓練対象のニューラルネットワークは、出力部104に出力される。
The neural network to be trained after re-learning by the
出力部104は、再学習部103から入力された再学習後の訓練対象のニューラルネットワークから、修正対象層に対して導入されたチャネル減衰関数204を削除するとともに、修正対象層における訓練後の係数αに応じた冗長チャネルの重みパラメータを削除する。これによって、出力対象のニューラルネットワークが生成される。冗長チャネルは、訓練後の係数αに応じた値が閾値δを下回るチャネルであってよい。例えば、訓練後のsoftmaxi(αl)が閾値δを下回る場合には、第l層においてチャネルiが冗長チャネルであるとみなされ、第l層からチャネルiの重みパラメータwi
lが削除される。
The
なお、出力対象のニューラルネットワークは、かかる例に限定されず、各種の変形が施されてもよい。例えば、出力部104は、訓練後の係数γ1lと初期値として設定された量子化ビット数kとを統合してもよい(例えば、数式(4)においてγ1l=2-4かつk=8である場合、(2-4)x(28-1)-1は、23に統合されてもよい)。同様に、出力部104は、訓練後の係数γ2lとkとを統合してもよい。
The neural network to be output is not limited to this example, and various modifications may be applied. For example, the
さらに、上記したように、出力部104は、学習段階において量子化関数205に含まれていたβ1を畳み込み層202の後段に移動させてもよい。これによって、推論段階においては畳み込み層202に浮動小数点で表現されるβ1が含まれなくなるため、畳み込み層202による畳み込み演算の負荷が軽減され得る。同様に、出力部104は、学習段階において量子化関数206に含まれていたβ2を畳み込み層202の後段に移動させてもよい。出力部104は、このようにして生成した出力対象のニューラルネットワークを出力する。
Further, as described above, the
(1-3.効果の説明)
本発明の実施形態によれば、入力部100と、修正部101と、学習部102と、再学習部103と、出力部104とを備える、ニューラルネットワーク軽量化装置10が提供される。入力部100は、複数の処理層を含んだ軽量化対象のニューラルネットワークを取得する。そして、修正部101は、複数の処理層の少なくとも一つの処理層を修正対象層として特定し、修正対象層に対して、訓練可能な係数γ1を含んだ量子化関数205と、訓練可能な係数γ2を含んだ量子化関数206と、チャネル単位の訓練可能な係数αを含んだチャネル減衰関数204とを導入して訓練対象のニューラルネットワークを生成する。
(1-3. Explanation of the effect)
According to an embodiment of the present invention, there is provided a neural network
学習部102は、訓練対象のニューラルネットワークに基づく学習により、軽量化対象のニューラルネットワークの重みパラメータwと係数γ1と係数γ2と係数αとを訓練する。再学習部103は、学習後の訓練対象のニューラルネットワークに基づく再学習により、重みパラメータwを再訓練する。出力部104は、再学習後の訓練対象のニューラルネットワークからチャネル減衰関数204と修正対象層における訓練後の係数αに応じた冗長チャネルの重みパラメータwとが削除された出力対象のニューラルネットワークを出力する。
The
かかる構成によれば、チャネル数(すなわち、冗長チャネル以外のチャネル数)と量子化ビット数とが同時に推定され得る。したがって、チャネル数と量子化ビット数との間に存在するトレードオフ関係を考慮しながら、チャネル数および量子化ビット数の最適解が求められ得る。これによって、チャネル数および量子化ビット数それぞれが独立に推定される場合よりも、精度劣化を抑制しつつ、処理効率の低下も抑制したニューラルネットワークを構築することが可能となる。 According to such a configuration, the number of channels (that is, the number of channels other than redundant channels) and the number of quantization bits can be estimated at the same time. Therefore, the optimum solution for the number of channels and the number of quantization bits can be obtained while considering the trade-off relationship existing between the number of channels and the number of quantization bits. This makes it possible to construct a neural network that suppresses a decrease in processing efficiency while suppressing a deterioration in accuracy as compared with a case where the number of channels and the number of quantization bits are estimated independently.
以上、本発明の実施形態の詳細について説明した。 The details of the embodiment of the present invention have been described above.
(2.各種の変形例)
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
(2. Various modifications)
Although the preferred embodiments of the present invention have been described in detail with reference to the accompanying drawings, the present invention is not limited to these examples. It is clear that a person having ordinary knowledge in the field of technology to which the present invention belongs can come up with various modifications or modifications within the scope of the technical ideas described in the claims. , These are also naturally understood to belong to the technical scope of the present invention.
例えば、上記では、学習部102が、係数αと係数γ1と係数γ2とを独立的に更新する例を主に説明した。しかし、学習部102は、訓練対象のニューラルネットワークとは別のニューラルネットワーク(第4のニューラルネットワーク)に基づいて、係数αと係数γ1と係数γ2とを生成してもよい。かかる係数更新の変形例について、図7を参照しながら説明する。
For example, in the above, the example in which the
図7は、係数更新の変形例について説明するための図である。図7を参照すると、訓練対象のニューラルネットワークとは別にニューラルネットワーク209(第4のニューラルネットワーク)が設けられている。ニューラルネットワーク209の構成は特に限定されない。例えば、ニューラルネットワーク209は、畳み込み層および全結合層の少なくともいずれか一つを含んでもよい。学習部102は、係数訓練において正則化項が付与された損失関数に基づく誤差逆伝播法によって、ニューラルネットワーク209の重みパラメータを更新する。
FIG. 7 is a diagram for explaining a modified example of coefficient update. Referring to FIG. 7, a neural network 209 (fourth neural network) is provided separately from the neural network to be trained. The configuration of the
学習部102は、修正対象層への入力(入力特徴量xl)に基づくデータをニューラルネットワーク209にも入力させ、かかるデータに応じたニューラルネットワーク209からの出力に基づいて、係数αと係数γ1と係数γ2とを生成してもよい。かかる場合には、係数αと係数γ1と係数γ2が、修正対象層への入力に対して依存する。このとき、修正対象層への入力と同じデータがニューラルネットワーク209に入力されてもよいし、修正対象層への入力の平均値などといった一意に定まる統計量が代表値としてニューラルネットワーク209に入力されてもよい。
The
(3.ハードウェア構成例)
続いて、本発明の実施形態に係るニューラルネットワーク軽量化装置10のハードウェア構成例について説明する。以下では、本発明の実施形態に係るニューラルネットワーク軽量化装置10のハードウェア構成例として、情報処理装置900のハードウェア構成例について説明する。なお、以下に説明する情報処理装置900のハードウェア構成例は、ニューラルネットワーク軽量化装置10のハードウェア構成の一例に過ぎない。したがって、ニューラルネットワーク軽量化装置10のハードウェア構成は、以下に説明する情報処理装置900のハードウェア構成から不要な構成が削除されてもよいし、新たな構成が追加されてもよい。
(3. Hardware configuration example)
Subsequently, a hardware configuration example of the neural network
図8は、本発明の実施形態に係るニューラルネットワーク軽量化装置10の例としての情報処理装置900のハードウェア構成を示す図である。情報処理装置900は、CPU(Central Processing Unit)901と、ROM(Read Only Memory)902と、RAM(Random Access Memory)903と、ホストバス904と、ブリッジ905と、外部バス906と、インタフェース907と、入力装置908と、出力装置909と、ストレージ装置910と、通信装置911と、を備える。
FIG. 8 is a diagram showing a hardware configuration of an
CPU901は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置900内の動作全般を制御する。また、CPU901は、マイクロプロセッサであってもよい。ROM902は、CPU901が使用するプログラムや演算パラメータ等を記憶する。RAM903は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。これらはCPUバス等から構成されるホストバス904により相互に接続されている。
The
ホストバス904は、ブリッジ905を介して、PCI(Peripheral Component Interconnect/Interface)バス等の外部バス906に接続されている。なお、必ずしもホストバス904、ブリッジ905および外部バス906を分離構成する必要はなく、1つのバスにこれらの機能を実装してもよい。
The
入力装置908は、マウス、キーボード、タッチパネル、ボタン、マイクロフォン、スイッチおよびレバー等ユーザが情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、CPU901に出力する入力制御回路等から構成されている。情報処理装置900を操作するユーザは、この入力装置908を操作することにより、情報処理装置900に対して各種のデータを入力したり処理動作を指示したりすることができる。
The
出力装置909は、例えば、CRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ(LCD)装置、OLED(Organic Light Emitting Diode)装置、ランプ等の表示装置およびスピーカ等の音声出力装置を含む。
The
ストレージ装置910は、データ格納用の装置である。ストレージ装置910は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置等を含んでもよい。ストレージ装置910は、例えば、HDD(Hard Disk Drive)で構成される。このストレージ装置910は、ハードディスクを駆動し、CPU901が実行するプログラムや各種データを格納する。
The
通信装置911は、例えば、ネットワークに接続するための通信デバイス等で構成された通信インタフェースである。また、通信装置911は、無線通信または有線通信のどちらに対応してもよい。
The
以上、本発明の実施形態に係るニューラルネットワーク軽量化装置10のハードウェア構成例について説明した。
The hardware configuration example of the neural network
10 ニューラルネットワーク軽量化装置
100 入力部
101 修正部
102 学習部
103 再学習部
104 出力部
10 Neural network
Claims (18)
前記複数の処理層の少なくとも一つの処理層を修正対象層として特定し、前記修正対象層に対して、訓練可能な第1の係数を含んだ第1の量子化関数と、訓練可能な第2の係数を含んだ第2の量子化関数と、チャネル単位の訓練可能な第3の係数を含んだチャネル減衰関数とを導入して第2のニューラルネットワークを生成する修正部と、
前記第2のニューラルネットワークに基づく学習により、前記第1のニューラルネットワークの重みパラメータと前記第1の係数と前記第2の係数と前記第3の係数とを訓練する学習部と、
学習後の第2のニューラルネットワークに基づく再学習により、前記重みパラメータを再訓練する再学習部と、
再学習後の第2のニューラルネットワークから前記チャネル減衰関数と前記修正対象層における訓練後の第3の係数に応じた冗長チャネルの重みパラメータとが削除された第3のニューラルネットワークを出力する出力部と、
を備える、ニューラルネットワーク軽量化装置。 An input unit that acquires a first neural network that includes multiple processing layers,
At least one processing layer of the plurality of processing layers is specified as a modification target layer, and a first quantization function including a trainable first coefficient and a trainable second processing layer are specified for the modification target layer. A modification part that introduces a second quantization function containing the coefficients of and a channel attenuation function containing a trainable third coefficient on a channel-by-channel basis to generate a second neural network.
A learning unit that trains the weight parameter of the first neural network, the first coefficient, the second coefficient, and the third coefficient by learning based on the second neural network.
A re-learning unit that retrains the weight parameters by re-learning based on the second neural network after learning,
An output unit that outputs a third neural network in which the channel attenuation function and the weight parameter of the redundant channel corresponding to the third coefficient after training in the modified target layer are deleted from the second neural network after retraining. When,
A neural network weight reduction device equipped with.
請求項1に記載のニューラルネットワーク軽量化装置。 The learning unit performs a first learning for training the weight parameter and a second learning for training the first coefficient, the second coefficient, and the third coefficient, one by one.
The neural network weight reduction device according to claim 1.
請求項2に記載のニューラルネットワーク軽量化装置。 The channel decay function includes a process of executing a multiplication of a value corresponding to the third coefficient with respect to an input to the correction target layer on a channel-by-channel basis in the second learning.
The neural network weight reduction device according to claim 2.
請求項3に記載のニューラルネットワーク軽量化装置。 The channel decay function includes a process of zeroing an input corresponding to a channel whose value corresponding to the third coefficient is lower than a predetermined threshold value among the inputs to the correction target layer in the first learning. ,
The neural network weight reduction device according to claim 3.
請求項4に記載のニューラルネットワーク軽量化装置。 The redundant channel is a channel in which the value corresponding to the third coefficient after training is lower than the predetermined threshold value.
The neural network weight reduction device according to claim 4.
請求項3~5のいずれか一項に記載のニューラルネットワーク軽量化装置。 In the second learning, the channel decay function executes multiplication of a value corresponding to the third coefficient and multiplication of an adjustment parameter whose value is gradually reduced with respect to the input to the correction target layer. Including processing to do,
The neural network weight reduction device according to any one of claims 3 to 5.
請求項6に記載のニューラルネットワーク軽量化装置。 In the second learning, the learning unit gradually reduces the adjustment parameter by performing learning based on the loss function in which the adjustment parameter is incorporated.
The neural network weight reduction device according to claim 6.
請求項6に記載のニューラルネットワーク軽量化装置。 In the second learning, the learning unit gradually reduces the adjustment parameters according to a predetermined schedule.
The neural network weight reduction device according to claim 6.
請求項1~8のいずれか一項に記載のニューラルネットワーク軽量化装置。 The modification unit introduces the channel attenuation function and the first quantization function so that the channel attenuation function and the first quantization function are applied to the input to the modification target layer.
The neural network weight reduction device according to any one of claims 1 to 8.
請求項9に記載のニューラルネットワーク軽量化装置。 The first quantization function includes a process of multiplying the output from the channel decay function by the first coefficient after performing the first normalization.
The neural network weight reduction device according to claim 9.
請求項10に記載のニューラルネットワーク軽量化装置。 The first normalization comprises transforming the output from the channel decay function into the first range.
The neural network weight reduction device according to claim 10.
請求項1~11のいずれか一項に記載のニューラルネットワーク軽量化装置。 The modification unit introduces the second quantization function so that the second quantization function is applied to the weight parameter of the modification target layer.
The neural network weight reduction device according to any one of claims 1 to 11.
請求項12に記載のニューラルネットワーク軽量化装置。 The second quantization function includes a process of multiplying the weight parameter of the layer to be modified by the second coefficient after performing the second normalization.
The neural network weight reduction device according to claim 12.
請求項13に記載のニューラルネットワーク軽量化装置。 The second normalization includes a transformation that puts the weight parameter of the layer to be modified into the second range.
The neural network weight reduction device according to claim 13.
請求項1~14のいずれか一項に記載のニューラルネットワーク軽量化装置。 The modification target layer includes at least one of a convolution layer and a fully connected layer.
The neural network weight reduction device according to any one of claims 1 to 14.
請求項1~15のいずれか一項に記載のニューラルネットワーク軽量化装置。 The re-learning unit fixes the first coefficient to the first coefficient after training, fixes the second coefficient to the second coefficient after training, and fixes the third coefficient to the second coefficient after training. The weight parameter is retrained in a state fixed to the coefficient of 3.
The neural network weight reduction device according to any one of claims 1 to 15.
前記複数の処理層の少なくとも一つの処理層を修正対象層として特定し、前記修正対象層に対して、訓練可能な第1の係数を含んだ第1の量子化関数と、訓練可能な第2の係数を含んだ第2の量子化関数と、チャネル単位の訓練可能な第3の係数を含んだチャネル減衰関数とを導入して第2のニューラルネットワークを生成することと、
前記第2のニューラルネットワークに基づく学習により、前記第1のニューラルネットワークの重みパラメータと前記第1の係数と前記第2の係数と前記第3の係数とを訓練することと、
学習後の第2のニューラルネットワークに基づく再学習により、前記重みパラメータを再訓練することと、
再学習後の第2のニューラルネットワークから前記チャネル減衰関数と前記修正対象層における訓練後の第3の係数に応じた冗長チャネルの重みパラメータとが削除された第3のニューラルネットワークを出力することと、
を含む、ニューラルネットワーク軽量化方法。 Obtaining a first neural network containing multiple processing layers,
At least one processing layer of the plurality of processing layers is specified as a modification target layer, and a first quantization function including a trainable first coefficient and a trainable second processing layer are specified for the modification target layer. To generate a second neural network by introducing a second quantization function containing the coefficients of and a channel decay function containing a trainable third coefficient on a per-channel basis.
By learning based on the second neural network, the weight parameter of the first neural network, the first coefficient, the second coefficient, and the third coefficient are trained.
By retraining based on the second neural network after training, the weight parameter is retrained, and
To output a third neural network in which the channel attenuation function and the weight parameter of the redundant channel corresponding to the third coefficient after training in the modified target layer are deleted from the second neural network after retraining. ,
How to reduce the weight of neural networks, including.
複数の処理層を含んだ第1のニューラルネットワークを取得する入力部と、
前記複数の処理層の少なくとも一つの処理層を修正対象層として特定し、前記修正対象層に対して、訓練可能な第1の係数を含んだ第1の量子化関数と、訓練可能な第2の係数を含んだ第2の量子化関数と、チャネル単位の訓練可能な第3の係数を含んだチャネル減衰関数とを導入して第2のニューラルネットワークを生成する修正部と、
前記第2のニューラルネットワークに基づく学習により、前記第1のニューラルネットワークの重みパラメータと前記第1の係数と前記第2の係数と前記第3の係数とを訓練する学習部と、
学習後の第2のニューラルネットワークに基づく再学習により、前記重みパラメータを再訓練する再学習部と、
再学習後の第2のニューラルネットワークから前記チャネル減衰関数と前記修正対象層における訓練後の第3の係数に応じた冗長チャネルの重みパラメータとが削除された第3のニューラルネットワークを出力する出力部と、
を備えるニューラルネットワーク軽量化装置として機能させるプログラム。
Computer,
An input unit that acquires a first neural network that includes multiple processing layers,
At least one processing layer of the plurality of processing layers is specified as a modification target layer, and a first quantization function including a trainable first coefficient and a trainable second processing layer are specified for the modification target layer. A modification part that introduces a second quantization function containing the coefficients of and a channel attenuation function containing a trainable third coefficient on a channel-by-channel basis to generate a second neural network.
A learning unit that trains the weight parameter of the first neural network, the first coefficient, the second coefficient, and the third coefficient by learning based on the second neural network.
A re-learning unit that retrains the weight parameters by re-learning based on the second neural network after learning,
An output unit that outputs a third neural network in which the channel attenuation function and the weight parameter of the redundant channel corresponding to the third coefficient after training in the modified target layer are deleted from the second neural network after retraining. When,
A program that functions as a neural network weight reduction device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020161812A JP6992864B1 (en) | 2020-09-28 | 2020-09-28 | Neural network weight reduction device, neural network weight reduction method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020161812A JP6992864B1 (en) | 2020-09-28 | 2020-09-28 | Neural network weight reduction device, neural network weight reduction method and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6992864B1 JP6992864B1 (en) | 2022-01-13 |
JP2022054660A true JP2022054660A (en) | 2022-04-07 |
Family
ID=80213731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020161812A Active JP6992864B1 (en) | 2020-09-28 | 2020-09-28 | Neural network weight reduction device, neural network weight reduction method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6992864B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190180177A1 (en) * | 2017-12-08 | 2019-06-13 | Samsung Electronics Co., Ltd. | Method and apparatus for generating fixed point neural network |
JP2019164793A (en) * | 2018-03-19 | 2019-09-26 | エスアールアイ インターナショナル | Dynamic adaptation of deep neural networks |
JP2020113273A (en) * | 2019-01-09 | 2020-07-27 | 三星電子株式会社Samsung Electronics Co.,Ltd. | Method and device for neural network quantization |
JP2020119528A (en) * | 2019-01-23 | 2020-08-06 | 株式会社ストラドビジョン | Method and device for determining fl (fractional length) value by using weighted quantization loss values to thereby quantize cnn parameters and feature values to be used for optimizing hardware applicable to mobile devices or compact networks with high precision |
-
2020
- 2020-09-28 JP JP2020161812A patent/JP6992864B1/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190180177A1 (en) * | 2017-12-08 | 2019-06-13 | Samsung Electronics Co., Ltd. | Method and apparatus for generating fixed point neural network |
JP2019164793A (en) * | 2018-03-19 | 2019-09-26 | エスアールアイ インターナショナル | Dynamic adaptation of deep neural networks |
JP2020113273A (en) * | 2019-01-09 | 2020-07-27 | 三星電子株式会社Samsung Electronics Co.,Ltd. | Method and device for neural network quantization |
JP2020119528A (en) * | 2019-01-23 | 2020-08-06 | 株式会社ストラドビジョン | Method and device for determining fl (fractional length) value by using weighted quantization loss values to thereby quantize cnn parameters and feature values to be used for optimizing hardware applicable to mobile devices or compact networks with high precision |
Also Published As
Publication number | Publication date |
---|---|
JP6992864B1 (en) | 2022-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7047612B2 (en) | Neural network weight reduction device, information processing device, neural network weight reduction method and program | |
WO2020019236A1 (en) | Loss-error-aware quantization of a low-bit neural network | |
US10380479B2 (en) | Acceleration of convolutional neural network training using stochastic perforation | |
JP6787444B1 (en) | Neural network weight reduction device, neural network weight reduction method and program | |
JP6789894B2 (en) | Network coefficient compressor, network coefficient compression method and program | |
US11531879B1 (en) | Iterative transfer of machine-trained network inputs from validation set to training set | |
JP6856112B1 (en) | Neural network weight reduction device, neural network weight reduction method and program | |
CN112771547A (en) | End-to-end learning in a communication system | |
JP6992864B1 (en) | Neural network weight reduction device, neural network weight reduction method and program | |
US20220405561A1 (en) | Electronic device and controlling method of electronic device | |
JP7279225B2 (en) | METHOD, INFORMATION PROCESSING DEVICE, AND PROGRAM FOR TRANSFER LEARNING WHILE SUPPRESSING CATASTIC FORGETTING | |
CN113490955A (en) | System and method for generating a pyramid level architecture | |
CN113316791A (en) | Training in a communication system | |
WO2020177863A1 (en) | Training of algorithms | |
JP7081708B1 (en) | Neural network weight reduction device, neural network weight reduction method and program | |
JP7120288B2 (en) | Neural network weight reduction device, neural network weight reduction method and program | |
JP7055211B2 (en) | Data processing system and data processing method | |
JP2023124376A (en) | Information processing apparatus, information processing method, and program | |
JP6994572B2 (en) | Data processing system and data processing method | |
JP2019095894A (en) | Estimating device, learning device, learned model, estimation method, learning method, and program | |
US11995555B1 (en) | Training a neural network with quantized weights | |
JP7454888B1 (en) | Method and device for reducing the weight of neural network models using hardware characteristics | |
JP6942204B2 (en) | Data processing system and data processing method | |
KR20230066700A (en) | Apparatus and method for generating adaptive parameters for deep learning accelerators | |
WO2023158494A1 (en) | Neural architecture search with improved computational efficiency |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200928 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20211109 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211122 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6992864 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |