WO2020065874A1 - ネットワーク量子化方法、推論方法及びネットワーク量子化装置 - Google Patents

ネットワーク量子化方法、推論方法及びネットワーク量子化装置 Download PDF

Info

Publication number
WO2020065874A1
WO2020065874A1 PCT/JP2018/036104 JP2018036104W WO2020065874A1 WO 2020065874 A1 WO2020065874 A1 WO 2020065874A1 JP 2018036104 W JP2018036104 W JP 2018036104W WO 2020065874 A1 WO2020065874 A1 WO 2020065874A1
Authority
WO
WIPO (PCT)
Prior art keywords
quantization
network
tensor
neural network
value
Prior art date
Application number
PCT/JP2018/036104
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 PCT/JP2018/036104 priority Critical patent/WO2020065874A1/ja
Priority to JP2020547760A priority patent/JP7180680B2/ja
Priority to CN201880097850.4A priority patent/CN112740233A/zh
Publication of WO2020065874A1 publication Critical patent/WO2020065874A1/ja
Priority to US17/210,097 priority patent/US20210209470A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/211Selection of the most significant subset of features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24137Distances to cluster centroïds
    • G06F18/2414Smoothing the distance, e.g. radial basis function networks [RBFN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2431Multiple classes
    • 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/08Learning methods
    • 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

Definitions

  • the present disclosure relates to a network quantization method, an inference method, and a network quantization device.
  • a network with floating point precision is also referred to as a pre-quantization network
  • a network with fixed point precision is also referred to as a quantization network.
  • quantization is defined as a process of reducing the number of digits or the range of numerical values handled by a network.
  • the distribution of input data may differ from the assumed distribution.
  • the quantization error becomes large, which adversely affects the speed of machine learning and further the accuracy of inference after learning.
  • Patent Document 1 As a method for solving such a problem, for example, a method described in Patent Document 1 is known.
  • an individual fixed-point format is defined for each of the weight and data in each layer of the convolutional neural network.
  • an optimized number format representing the input data value is determined based on the distribution of the input data, and quantization is performed using the format.
  • Patent Document 1 attempts to solve the above problem by first examining the distribution of input data and selecting a number format suitable for the distribution.
  • the present disclosure has been made in order to solve such a problem, and has as its object to provide a network quantization method and the like that can construct a highly accurate quantization network.
  • a network quantization method for quantizing a neural network, comprising: a preparing step for preparing the neural network; A database construction step of constructing a tensor statistical information database handled by the neural network obtained when the test data set is input, and quantizing the value of the tensor based on the statistical information database and the neural network
  • a parameter generation step of generating a quantization parameter set and a network construction step of constructing a quantization network by quantizing the neural network using the quantization parameter set.
  • the parameter generation step based on the statistical information database, among the values of the tensor, the quantization step interval in the high frequency region including the value of the maximum frequency, the frequency higher than the high frequency region Is set to be smaller than the quantization step interval in a low frequency region including the value of the tensor whose frequency is not zero.
  • a network quantization method for quantizing a neural network, comprising: a preparing step for preparing the neural network; A database construction step of constructing a tensor statistical information database handled by the neural network obtained when the test data set is input, and quantizing the value of the tensor based on the statistical information database and the neural network
  • a parameter generation step of generating a quantization parameter set and a network construction step of constructing a quantization network by quantizing the neural network using the quantization parameter set.
  • the parameter generation step based on the statistical information database, among the values of the tensor, the non-zero frequency quantization region, the frequency is not zero, and does not overlap with the quantization region A non-quantized region is determined, and the value of the tensor in the quantized region is quantized, and the value of the tensor in the non-quantized region is not quantized.
  • a network quantization method for quantizing a neural network, comprising: a preparing step for preparing the neural network; A database construction step of constructing a tensor statistical information database handled by the neural network obtained when the test data set is input, and quantizing the value of the tensor based on the statistical information database and the neural network
  • a parameter generation step of generating a quantization parameter set and a network construction step of constructing a quantization network by quantizing the neural network using the quantization parameter set.
  • the parameter generating step based on the statistical information database, the value of the tensor -1,0, quantized to three values of + 1.
  • a network quantization method for quantizing a neural network, comprising: a preparing step for preparing the neural network; A database construction step of constructing a tensor statistical information database handled by the neural network obtained when the test data set is input, and quantizing the value of the tensor based on the statistical information database and the neural network
  • a parameter generation step of generating a quantization parameter set and a network construction step of constructing a quantization network by quantizing the neural network using the quantization parameter set.
  • the parameter generating step based on the statistical information database is quantized to two values of -1 and +1 values of the tensor.
  • an inference method is the network quantization method, wherein, based on statistical information of each of the plurality of test data sets, The method further includes a classification step of classifying at least a part into a first type and a second type, wherein the statistical information database includes a first database subset and a second database subset respectively corresponding to the first type and the second type.
  • the quantization parameter set includes a first parameter subset and a second parameter subset respectively corresponding to the first database subset and the second database subset
  • the quantization network includes the first parameter subset and the second parameter subset.
  • a network quantization method including a first network subset and a second network subset constructed by quantizing a neural network, and input data input to the quantization network among the first type and the second type A type selection step of selecting a type to be classified, and among the first type and the second type, based on the type selected in the type selection step, the first network subset and the second network subset A network selecting step of selecting one, and an inputting step of inputting the input data to one of the first network subset and the second network subset selected in the network selecting step.
  • a network quantization device is a network quantization device that quantizes a neural network, and is useful when a plurality of test data sets are input to the neural network.
  • a network quantization device is a network quantization device that quantizes a neural network, and is useful when a plurality of test data sets are input to the neural network.
  • a quantization region whose frequency is not zero and a non-quantized region whose frequency is not zero and do not overlap with the quantization region are determined, and the value of the tensor in the quantization region is determined. Quantize and do not quantize the value of the tensor in the non-quantized region.
  • a network quantization device is a network quantization device that quantizes a neural network, and is useful when a plurality of test data sets are input to the neural network.
  • a database construction unit for constructing a tensor statistical information database handled by the neural network, and a quantization parameter set is generated by quantizing the value of the tensor based on the statistical information database and the neural network.
  • a network quantization device is a network quantization device that quantizes a neural network, and is useful when a plurality of test data sets are input to the neural network.
  • FIG. 1 is a block diagram illustrating an outline of a functional configuration of the network quantization device according to the first embodiment.
  • FIG. 2 is a diagram illustrating an example of a hardware configuration of a computer that realizes a function of the network quantization device according to the first embodiment by software.
  • FIG. 3 is a flowchart illustrating a network quantization method according to the first embodiment.
  • FIG. 4 is a schematic diagram illustrating a quantization method according to a comparative example.
  • FIG. 5 is a schematic diagram illustrating the quantization method according to the first embodiment.
  • FIG. 6 is a schematic diagram showing a quantization range according to a modification of the first embodiment.
  • FIG. 7 is a schematic diagram illustrating an example of a quantization step interval determination method according to a modification of the first embodiment.
  • FIG. 1 is a block diagram illustrating an outline of a functional configuration of the network quantization device according to the first embodiment.
  • FIG. 2 is a diagram illustrating an example of a hardware configuration of a
  • FIG. 8 is a schematic diagram illustrating another example of the quantization step interval determination method according to the modification of the first embodiment.
  • FIG. 9 is a block diagram illustrating an outline of a functional configuration of the network quantization device according to the second embodiment.
  • FIG. 10 is a flowchart illustrating a network quantization method and an inference method according to the second embodiment.
  • FIG. 1 is a block diagram showing an outline of a functional configuration of a network quantization device 10 according to the present embodiment.
  • the network quantization device 10 is a device for quantizing the neural network 14. That is, the network quantization device 10 is a device that converts the neural network 14 with floating point precision into a quantization network that is a neural network with fixed point precision. Note that the network quantization device 10 does not need to quantize all tensors handled by the neural network 14, and may quantize at least some tensors.
  • the tensor is a value represented by an n-dimensional array (n is an integer of 0 or more) including parameters such as input data, output data, and weight in each layer of the neural network 14.
  • the tensor may include parameters related to the operation of the smallest unit in the neural network 14.
  • the tensor may include weights and bias values, which are functions defined as a convolutional layer. Further, parameters such as a normalization process in the neural network 14 may be included in the tensor.
  • the network quantization device 10 includes a database construction unit 16, a parameter generation unit 20, and a network construction unit 24.
  • the network quantization device 10 further includes a machine learning unit 28.
  • the database construction unit 16 is a processing unit that constructs a tensor statistical information database 18 that is obtained when the plurality of test data sets 12 are input to the neural network 14 and that is handled by the neural network 14.
  • the database construction unit 16 calculates statistical information such as the relationship between the value of each tensor and the frequency handled by the neural network 14 for the plurality of test data sets 12, and constructs a statistical information database 18 for each tensor.
  • the statistical information database 18 includes, for example, at least one of statistics such as an average value, a median value, a mode value, a maximum value, a minimum value, a maximum value, a minimum value, a variance, a deviation, a skewness, and a kurtosis of each tensor. Department is included.
  • the parameter generation unit 20 is a processing unit that generates a quantization parameter set by quantizing a tensor value based on the statistical information database 18 and the neural network 14. Based on the statistical information database 18, the parameter generation unit 20 sets the quantization step interval in the high-frequency region including the value with the maximum frequency among the values of the tensor to be less frequent and more frequent than the high-frequency region.
  • the quantization step interval is set to be smaller than the quantization step interval in a low-frequency region including a non-zero tensor value. Detailed processing contents of the parameter generation unit 20 will be described later.
  • the ⁇ network construction unit 24 is a processing unit that constructs a quantization network 26 by quantizing the neural network 14 using the quantization parameter set 22.
  • the machine learning unit 28 is a processing unit that causes the quantization network 26 to perform machine learning.
  • the machine learning unit 28 performs machine learning by inputting a plurality of test data sets 12 or other input data sets to the quantization network 26 constructed by the network construction unit 24. Thereby, the machine learning unit 28 constructs the quantization network 30 having higher inference accuracy than the quantization network 26.
  • the network quantization device 10 does not necessarily need to include the machine learning unit 28.
  • the network quantization device 10 can construct a quantization network with good accuracy.
  • FIG. 2 is a diagram illustrating an example of a hardware configuration of a computer 1000 that implements the functions of the network quantization device 10 according to the present embodiment using software.
  • the computer 1000 is a computer including an input device 1001, an output device 1002, a CPU 1003, a built-in storage 1004, a RAM 1005, a reading device 1007, a transmitting / receiving device 1008, and a bus 1009.
  • the input device 1001, output device 1002, CPU 1003, internal storage 1004, RAM 1005, reading device 1007, and transmitting / receiving device 1008 are connected by a bus 1009.
  • the input device 1001 is a device serving as a user interface such as an input button, a touch pad, and a touch panel display, and accepts a user operation.
  • the input device 1001 may be configured to receive a touch operation by a user, an operation by voice, or a remote operation by a remote controller or the like.
  • the built-in storage 1004 is a flash memory or the like. Further, in the internal storage 1004, at least one of a program for realizing the function of the network quantization device 10 and an application using the functional configuration of the network quantization device 10 may be stored in advance.
  • the RAM 1005 is a random access memory (Random Access Memory) and is used for storing data and the like when executing a program or an application.
  • the reader 1007 reads information from a recording medium such as a USB (Universal Serial Bus) memory.
  • the reading device 1007 reads a program or application from a recording medium on which the above-described program or application is recorded, and stores the program or application in the internal storage 1004.
  • the transmission / reception device 1008 is a communication circuit for performing wireless or wired communication.
  • the transmission / reception device 1008 communicates with, for example, a server device connected to a network, downloads the above-described program or application from the server device, and stores the program or application in the internal storage 1004.
  • the CPU 1003 is a central processing unit (Central Processing Unit), and copies programs and applications stored in the internal storage 1004 to the RAM 1005, and sequentially reads and executes instructions included in the programs and applications from the RAM 1005.
  • Central Processing Unit Central Processing Unit
  • FIG. 3 is a flowchart illustrating the network quantization method according to the present embodiment.
  • the neural network 14 is prepared (S10).
  • a neural network 14 that has been learned in advance is prepared.
  • the neural network 14 is an unquantized, that is, a floating-point-precision neural network.
  • the input data used in learning of the neural network 14 is not particularly limited, and may include a plurality of test data sets 12 shown in FIG.
  • the database construction unit 16 constructs a tensor statistical information database which is obtained when the plurality of test data sets 12 are input to the neural network 14 and which is handled by the neural network 14 (S20).
  • the database construction unit 16 calculates statistical information such as the relationship between the value of each tensor and the frequency handled by the neural network 14 for a plurality of test data sets 12, and constructs a statistical information database 18 for each tensor. I do.
  • the parameter generation unit 20 generates the quantization parameter set 22 by quantizing the value of the tensor based on the statistical information database 18 and the neural network 14 (S30).
  • the network construction unit 24 constructs the quantization network 26 by quantizing the neural network 14 using the quantization parameter set 22 (S40).
  • the machine learning unit 28 causes the quantization network 26 to perform machine learning (S50).
  • the machine learning unit 28 performs machine learning by inputting a plurality of test data sets 12 or other input data sets to the quantization network 26 constructed by the network construction unit 24. This makes it possible to construct a quantization network 30 having better inference accuracy than the quantization network 26.
  • the network quantization method according to the present embodiment does not necessarily need to include the machine learning step S50.
  • a neural network can be quantized with high accuracy.
  • the parameter generation unit 20 generates a quantization parameter set by quantizing the value of the tensor based on the statistical information database 18 and the neural network 14.
  • the quantization method in the parameter generation unit 20 will be described with reference to FIGS. 4 and 5 while comparing with the quantization method of the comparative example.
  • 4 and 5 are schematic diagrams illustrating a quantization method according to a comparative example and the present embodiment, respectively.
  • FIGS. 4 and 5 show graphs showing the relationship between the value of the tensor handled by the neural network 14 and the frequency.
  • the frequency has two maximum values, and the frequency is low in a region between the two maximum values and in a region outside the two maximum values.
  • the tensor values are unevenly distributed as described above, for example, according to the comparative example using the conventional quantization method described in Patent Literature 1, the entire region where data exists is quantized uniformly.
  • FIG. 4 shows an example in which quantization is performed with 8-bit resolution.
  • the parameter generation unit 20 sets the quantization step interval in the high-frequency region including the value at which the frequency becomes maximum among the tensor values, as compared with the high-frequency region.
  • the quantization step interval is set to be narrower than the quantization step interval in a low-frequency region including a tensor value having a low frequency and a non-zero frequency. This makes it possible to reduce the number of bits allocated to the low-frequency area in the quantization as compared with the comparative example. Therefore, since the accuracy of quantization can be improved, a quantization network with good accuracy can be constructed. In the example illustrated in FIG.
  • the high-frequency region includes a first region and a second region, each of which includes a value at which the frequency is maximum, among the tensor values, and the low-frequency region includes, among the tensor values, A third area including a value between the first area and the second area is included. Further, the value of the tensor of at least a part of the low-frequency region may not be quantized.
  • the low-frequency region includes a fourth region and a fifth region including values outside the first region and the second region, and a third region, and the value of the tensor of the low-frequency region is Not quantized.
  • the first region and the second region constituting the high-frequency region are equally quantized with a resolution of 7 bits. This makes it possible to minimize the number of bits allocated to the low frequency region in quantization. Therefore, the accuracy of quantization can be further improved.
  • the method of determining the high-frequency area and the low-frequency area is not particularly limited.
  • an area composed of data included in the upper 90% in descending order of the frequency may be set as the high-frequency area.
  • the value of the tensor in the low frequency region is not quantized, but may be quantized at a quantization step interval wider than that in the high frequency region.
  • the quantization step interval in the high frequency region is uniform, but the quantization step interval may be changed according to the frequency.
  • the quantization step interval may be set so that the quantization step interval becomes narrower as the frequency increases.
  • the quantization step interval is determined according to the frequency, but may be determined using an index according to the frequency. For example, based on a probability distribution p (x) using the value (x) of each element of the tensor as a random variable, a probability distribution q (x) using the value (x) of each element of the quantized tensor as a random variable is By measuring how much the difference is, the quantization step interval may be obtained as a quantization method (such as a method of determining the quantization step interval) that reduces the difference.
  • a quantization method such as a method of determining the quantization step interval
  • FIG. 6 is a schematic diagram showing a range of quantization according to a modification of the present embodiment.
  • FIG. 7 is a schematic diagram illustrating an example of a quantization step interval determination method according to a modification of the present embodiment.
  • FIG. 8 is a schematic diagram showing another example of the quantization step interval determination method according to the modification of the present embodiment.
  • the range of x to be quantized is set. For example, as shown in a graph (b) of FIG. 6, the entire range of x in which data exists is set as a quantization range. Alternatively, as shown in a graph (c) of FIG. 6, a part of the range of the value of x where data exists is set as a quantization range, for example, by setting a region with a low frequency out of the range.
  • the quantization step interval is set. For example, when the entire range of x where data is present is set as the range of quantization (graph (b) in FIG. 6), a partial range of the value of x where data is present is quantized. (The graph (c) in FIG. 6), the quantization step in the quantization range is set as shown in the graph (a) in FIG. 7 and the graph (a) in FIG. 8, respectively. Set.
  • a probability distribution q (x) corresponding to the quantized tensor value for the set quantization step is obtained.
  • a plurality of q (x) having different quantization ranges and quantization step intervals are prepared.
  • Kullback-Leibler divergence (the smaller the scale, the more similar q (x) is to p (x)) is a measure for measuring the difference between the two probability distributions p (x) and q (x). Used to determine q (x) such that this measure is less than a predetermined value.
  • the quantization step interval that is a setting for q (x) may be used as the quantization step interval to be obtained.
  • a quantization step interval for obtaining a quantization step interval that gives q (x) that minimizes the Kullback-Leibler divergence may be used.
  • the Kullback-Leibler divergence is represented by the following equation (1).
  • the function Clip (a, MIN, MAX) is a function for keeping the value of the variable a within the range from MIN to MAX, and its definition is defined by the following equation (3).
  • MIN and MAX in the above equation (2) are represented by the following equations (4) and (5).
  • Code mode is a parameter indicating whether the minimum value of FXP (x, m, n) is 0 or more. For example, if the minimum value of FXP (x, m, n) is 0 or more, there is no need to assign bits to negative values, and thus the number of bits can be saved by 1 bit.
  • the decimal point position is a fixed point position capable of expressing a value between MIN and MAX.
  • the decimal point position can be determined by acquiring information such as the median and standard deviation included in the statistical information database 18 described above.
  • the distribution of the variable x is not limited to the normal distribution.
  • the position of the decimal point can be appropriately determined according to the distribution shape. For example, when the distribution of the variable x is approximated by a mixed normal distribution, the decimal point position may be determined for each of a plurality of peaks included in the mixed normal distribution.
  • floating-point precision data which is an example of a tensor value
  • floating-point precision data is quantized to three values of -1, 0, and +1 based on a statistical information database.
  • four quantization parameters of a positive threshold, a negative threshold, a positive scale, and a negative scale are used.
  • the positive threshold is the minimum number quantized to +1
  • the negative threshold is the maximum number quantized to -1.
  • the positive scale and the negative scale are coefficients corresponding to +1 and ⁇ 1, respectively. More specifically, the positive scale is a coefficient for approximating the value of floating point data from +1 and the negative scale is a coefficient for approximating the value of floating point data from -1.
  • the median, the minimum value, and the maximum value of the data distribution are obtained from the statistical information database 18, a predetermined range is determined in the positive and negative directions from the median, and the data value in the range is set to 0.
  • the thresholds in the positive and negative directions in the range are determined as the positive threshold and the negative threshold, which are the above-described quantization parameters, respectively.
  • the absolute values of the maximum value and the minimum value are respectively calculated as the positive scale and the negative scale which are the above-described quantization parameters. Is determined.
  • the multiplication of the weight and the data value can be realized by the multiplication of the weight and +1, 0, or -1. That is, in the product-sum operation, multiplication is substantially unnecessary, so that the amount of operation can be significantly reduced.
  • floating-point precision data which is an example of a tensor value
  • Binary quantization can be regarded as integrating the value ⁇ 1 and the value 0 in the ternary quantization into one value ⁇ 1. Used. For the positive scale and the negative scale, the same applies to the binary quantization as to the ternary quantization.
  • the network quantization method according to the present embodiment is different from the network quantization method according to the first embodiment in that test data sets are classified into a plurality of types based on the statistical information of the test data sets and different processing is performed for each type. It is different from the conversion method.
  • a network quantization method, a network quantization apparatus, and an inference method using a quantization network generated by the network quantization method according to the present embodiment will be described focusing on differences from the first embodiment. I do.
  • FIG. 9 is a block diagram showing an outline of a functional configuration of network quantization apparatus 110 according to the present embodiment.
  • the network quantization device 110 includes a database construction unit 116, a parameter generation unit 120, and a network construction unit 124.
  • the network quantization device 110 further includes a machine learning unit 28.
  • the network quantization device 110 according to the present embodiment differs from the network quantization device 10 according to the first embodiment in a database construction unit 116, a parameter generation unit 120, and a network construction unit 124.
  • quantization is performed for each type of the plurality of test data sets 12 to obtain a quantization network with higher accuracy.
  • the database construction unit 116 like the database construction unit according to the first embodiment, obtains the tensor statistical information handled by the neural network 14 obtained when a plurality of test data sets are input to the neural network 14. Build a database.
  • the database construction unit 116 classifies at least a part of the plurality of test data sets 12 into a first type and a second type based on the statistical information of each of the plurality of test data sets 12. For example, when a plurality of images are used as the plurality of test data sets 12, the plurality of images are classified into a daytime outdoor image based on statistical information such as image brightness and a nighttime outdoor image. Is classified into a type or the like classified into an image of the type.
  • each of the plurality of test data sets 12 may be compared with a plurality of normal distributions to classify each test data set.
  • the statistical information database 118 constructed by the database construction unit 116 includes a first database subset and a second database subset corresponding to the first type and the second type, respectively.
  • the database structuring unit 116 obtains the first type of test data set included in the first type of the plurality of test data sets 12 and inputs the test data set to the neural network 14. Build a database subset.
  • the database construction unit 116 may include a second database including tensor statistical information handled by the neural network 14 obtained when the test data set included in the second type of the plurality of test data sets 12 is input to the neural network 14. Build a subset.
  • the parameter generation unit 120 generates the quantization parameter set 122 by quantizing the value of the tensor based on the statistical information database and the neural network, similarly to the parameter generation unit 20 according to the first embodiment.
  • the quantization parameter set 122 includes a first parameter subset and a second parameter subset corresponding to the first database subset and the second database subset, respectively.
  • the network construction unit 124 constructs the quantization network 126 by quantizing the neural network using the quantization parameter set 122, similarly to the network construction unit 24 according to the first embodiment.
  • the quantization network 126 includes a first network subset and a second network subset corresponding to the first parameter subset and the second parameter subset, respectively.
  • the quantization networks corresponding to the first type and the second type of the plurality of test data sets 12 are respectively constructed, a more accurate quantization network can be constructed.
  • the machine learning unit 28 causes the quantization network 126 to perform machine learning as in the first embodiment.
  • the machine learning unit 28 performs machine learning by inputting a first type and a second type of test data set to the first network subset and the second network subset, respectively. This makes it possible to construct the quantization network 130 with higher accuracy than the quantization network 126.
  • the database construction unit 116 may classify the plurality of test data sets 12 into three or more types. Accordingly, the statistical information database 118 may include three or more database subsets, and the quantization parameter set 122 may include three or more parameter subsets. Further, the quantization network 126 and the quantization network 30 may each include three or more network subsets.
  • FIG. 10 is a flowchart showing a network quantization method and an inference method according to the present embodiment.
  • the inference method according to the present embodiment includes all the steps of the flowchart shown in FIG. 10, and the network quantization method according to the present embodiment includes the steps from step S10 to step S150 in the flowchart shown in FIG. Including steps.
  • a neural network 14 is prepared (S10).
  • the database construction unit 116 classifies at least a part of the plurality of test data sets 12 into a first type and a second type (S115).
  • the database construction unit 116 constructs a tensor statistical information database 118 which is obtained when the plurality of test data sets 12 are input to the neural network 14 and which is handled by the neural network 14 (S120).
  • the statistical information database 118 includes a first database subset and a second database subset corresponding to the first type and the second type, respectively.
  • the parameter generation unit 120 generates a quantization parameter set 122 by quantizing the value of the tensor based on the statistical information database 118 and the neural network 14 (S130).
  • the quantization parameter set 122 includes a first parameter subset and a second parameter subset corresponding to the first database subset and the second database subset, respectively.
  • the network construction unit 24 constructs the quantization network 126 by quantizing the neural network 14 using the quantization parameter set 122 (S140).
  • the quantization network 126 includes a first network subset and a second network subset constructed by quantizing the neural network 14 using the first parameter subset and the second parameter subset, respectively.
  • the machine learning unit 28 causes the quantization network 126 to perform machine learning (S150).
  • the machine learning unit 28 performs machine learning by inputting a plurality of test data sets 12 or other input data sets to the quantization network 126 constructed by the network construction unit 124.
  • the machine learning unit 28 performs machine learning by inputting a first type and a second type of test data set to the first network subset and the second network subset, respectively. This makes it possible to construct the quantization network 130 with higher accuracy than the quantization network 126.
  • the network quantization method according to the present embodiment does not necessarily need to include the machine learning step S150.
  • a neural network can be quantized with high accuracy.
  • inference is performed using the quantization network 126 constructed by the network quantization method. Specifically, first, input data is prepared, and a type into which the input data to be input to the quantization network 126 is classified is selected from the first type and the second type (S160). In this step 160, for example, a computer or the like in which the quantization network 126 is mounted may analyze input data and select a type based on statistical information of the input data.
  • one of the first network subset and the second network subset is selected from the first type and the second type based on the type selected in the type selection step S160 (S170).
  • a computer in which the quantization network 126 is installed may select a network subset corresponding to the selected type.
  • input data is input to one of the first network subset and the second network subset selected in the network selection step S170 (S180). Thereby, inference is performed on the selected network subset.
  • inference since inference is performed using the quantization network quantized with high accuracy as described above, an inference result with high accuracy can be obtained. Further, in the present embodiment, inference is performed using a quantization network suitable for the type of input data, so that a more accurate inference result can be obtained.
  • the parameter generation unit included in the network quantization device according to the modification of the first embodiment is configured such that, based on the statistical information database, the tensor value includes a quantization region having a non-zero frequency and a frequency having a non-zero value.
  • a non-quantized region that does not overlap with the quantized region is determined, and the tensor value in the quantized region may be quantized, and the tensor value in the non-quantized region may not be quantized.
  • the present modification for example, in the network quantization method and the network quantization device according to the first embodiment, at least a part of the first region and the second region is determined as the quantization region, and the third region to the fifth region are determined. This corresponds to a case where at least a part of the region is determined as a non-quantized region and the value of the tensor in the non-quantized region is not quantized.
  • the value of the tensor to be quantized is smaller than that of the case where the value of the tensor to be quantized includes the value whose frequency is zero. Accuracy can be improved. Therefore, a highly accurate quantization network can be constructed.
  • the quantization region includes a value having a maximum frequency among tensor values
  • the non-quantization region includes a value having a lower frequency than the quantization region among tensor values. Good.
  • the network quantization method and the network quantization device determines at least one of the first region and the second region as the quantization region, and the third region to the fifth region are determined. Is determined as a non-quantized region and the value of the tensor in the non-quantized region is not quantized.
  • the quantization area includes the value having the maximum frequency among the tensor values, so that the quantization accuracy can be further improved. Therefore, a more accurate quantization network can be constructed.
  • the quantization area and the non-quantization area may be determined using an index according to frequency.
  • the quantization area and the non-quantization area may be determined according to a scale that measures the difference between the distribution of the tensor values and the distribution of the quantized tensor values.
  • the parameter generation unit of the network quantization device determines the quantization region and the non-quantization region according to a scale that measures the difference between the distribution of the tensor values and the distribution of the quantized tensor values. Is also good. For example, Kullback-Leibler divergence may be used as such a measure.
  • Some of the components constituting the network quantization device may be a computer system including a microprocessor, a ROM, a RAM, a hard disk unit, a display unit, a keyboard, a mouse, and the like.
  • the RAM or the hard disk unit stores a computer program.
  • the microprocessor achieves its functions by operating according to the computer program.
  • the computer program is configured by combining a plurality of instruction codes indicating instructions to the computer in order to achieve a predetermined function.
  • a part of the components constituting the above-described network quantization apparatus may be constituted by one system LSI (Large Scale Integration: large-scale integrated circuit).
  • the system LSI is an ultra-multifunctional LSI manufactured by integrating a plurality of components on one chip, and is specifically a computer system including a microprocessor, a ROM, a RAM, and the like. .
  • the RAM stores a computer program. When the microprocessor operates according to the computer program, the system LSI achieves its function.
  • Some of the components constituting the above-described network quantization device may be constituted by an IC card detachable to each device or a single module.
  • the IC card or the module is a computer system including a microprocessor, a ROM, a RAM, and the like.
  • the IC card or the module may include the above super-multifunctional LSI.
  • the microprocessor operates according to the computer program, the IC card or the module achieves its function.
  • the IC card or the module may have tamper resistance.
  • some of the components constituting the above-described network quantization device include a computer-readable recording medium capable of reading the computer program or the digital signal, for example, a flexible disk, a hard disk, a CD-ROM, an MO, It may be recorded on a DVD, DVD-ROM, DVD-RAM, BD (Blu-ray (registered trademark) @Disc), semiconductor memory, or the like. Further, the digital signal may be recorded on these recording media.
  • some of the components constituting the above-described network quantization device may be configured to transmit the computer program or the digital signal via a telecommunication line, a wireless or wired communication line, a network represented by the Internet, a data broadcast, or the like. May be transmitted.
  • the present disclosure may be the methods described above. Further, these methods may be a computer program that is realized by a computer, or may be a digital signal formed by the computer program.
  • the present disclosure is also a computer system including a microprocessor and a memory, wherein the memory stores the computer program, and the microprocessor operates according to the computer program. .
  • the computer or the digital signal is recorded on the recording medium and transferred, or the program or the digital signal is transferred via the network or the like, so that another computer becomes independent. It may be implemented by a system.
  • the present disclosure can be used for an image processing method and the like as a method for mounting a neural network on a computer or the like.

Abstract

ニューラルネットワーク(14)を量子化するネットワーク量子化方法であって、ニューラルネットワーク(14)に複数のテストデータセット(12)を入力する場合に得られるニューラルネットワーク(14)が扱うテンソルの統計情報データベース(18)を構築するデータベース構築ステップ(S20)と、テンソルの値を量子化することによって、量子化パラメータセット(22)を生成するパラメータ生成ステップ(S30)と、量子化パラメータセット(22)を用いてニューラルネットワーク(14)を量子化するネットワーク構築ステップ(S40)とを含み、パラメータ生成ステップ(S30)は、統計情報データベース(18)に基いて、テンソルの値のうち、頻度が極大となる値を含む高頻度領域における量子化ステップ間隔を、高頻度領域より頻度が低く、かつ、頻度がゼロでないテンソルの値を含む低頻度領域における量子化ステップ間隔より狭く設定する。

Description

ネットワーク量子化方法、推論方法及びネットワーク量子化装置
 本開示は、ネットワーク量子化方法、推論方法及びネットワーク量子化装置に関する。
 従来、ニューラルネットワークなどのネットワークを用いて機械学習が行われている。ここで、数値データを入力とし、なんらかの演算を施して数値データの出力値を得るモデルをネットワークと呼ぶ。ネットワークをコンピュータなどのハードウェアに実装する時には、ハードウェアコストを抑制するため、実装後の推論精度を浮動小数点精度と同程度に保ったまま、演算精度がより低いネットワークを構築することが求められる。
 例えば、全ての計算を浮動小数点精度で行うネットワークを実装する場合、ハードウェアコストが大きくなるので、推論精度を保ったまま、固定小数点精度で計算を行うネットワークの実現が求められる。
 以下では、浮動小数点精度のネットワークを量子化前ネットワークとも呼称し、固定小数点精度のネットワークを量子化ネットワークとも呼称する。
 ここでは、ほぼ任意の値を連続的に表現できる浮動小数点の値を、所定の区分に分割して符号化する処理のことを量子化と称している。より一般的には、量子化とは、ネットワークが扱う数値の桁数又は範囲を縮小する処理と定義される。
 量子化によって限定されたビット数で実数を表現する際に、入力データの分布が想定された分布と異なる場合がある。この場合、量子化誤差が大きくなり、機械学習の速度、さらには学習後の推論の精度に悪影響を与えるという問題がある。
 このような問題を解決する方法として、例えば、特許文献1に記載された方法が知られている。特許文献1に記載された方法では、畳み込みニューラルネットワークの各層内の重み及びデータの各々に個別の固定小数点フォーマットを定義する。畳み込みニューラルネットワークの機械学習を浮動小数点数で開始し、入力データの分布を推定するために解析する。続いて入力データの分布に基いて入力データ値を表す最適化数フォーマットを決定し、当該フォーマットを用いて量子化を行う。このように、特許文献1では、最初に入力データの分布を調べ、当該分布に適した数フォーマットを選ぶことにより、上記問題を解決しようとしている。
特開2018-10618号公報
 特許文献1に記載された方法では、扱うデータのダイナミックレンジを考慮し、そのデータが収まるような範囲に対して限定されたビット数を割り当てる。ここで、当該範囲内でデータの偏在があると、データがほぼ存在しない区間のデータにもビット数を割り当てることになる。これは、ビット数に対して意味のあるデータの量が少なくなることを意味する。したがって、量子化の精度が低下する。
 そこで、本開示は、このような問題を解決するためになされたものであり、精度の良好な量子化ネットワークを構築できるネットワーク量子化方法などを提供することを目的とする。
 上記目的を達成するために、本開示の一形態に係るネットワーク量子化方法は、ニューラルネットワークを量子化するネットワーク量子化方法であって、前記ニューラルネットワークを準備する準備ステップと、前記ニューラルネットワークに複数のテストデータセットを入力する場合に得られる前記ニューラルネットワークが扱うテンソルの統計情報データベースを構築するデータベース構築ステップと、前記統計情報データベースと前記ニューラルネットワークとに基いて、前記テンソルの値を量子化することによって、量子化パラメータセットを生成するパラメータ生成ステップと、前記量子化パラメータセットを用いて前記ニューラルネットワークを量子化することによって、量子化ネットワークを構築するネットワーク構築ステップとを含み、前記パラメータ生成ステップは、前記統計情報データベースに基いて、前記テンソルの値のうち、頻度が極大となる値を含む高頻度領域における量子化ステップ間隔を、前記高頻度領域より頻度が低く、かつ、頻度がゼロでない前記テンソルの値を含む低頻度領域における量子化ステップ間隔より狭く設定する。
 上記目的を達成するために、本開示の一形態に係るネットワーク量子化方法は、ニューラルネットワークを量子化するネットワーク量子化方法であって、前記ニューラルネットワークを準備する準備ステップと、前記ニューラルネットワークに複数のテストデータセットを入力する場合に得られる前記ニューラルネットワークが扱うテンソルの統計情報データベースを構築するデータベース構築ステップと、前記統計情報データベースと前記ニューラルネットワークとに基いて、前記テンソルの値を量子化することによって、量子化パラメータセットを生成するパラメータ生成ステップと、前記量子化パラメータセットを用いて前記ニューラルネットワークを量子化することによって、量子化ネットワークを構築するネットワーク構築ステップとを含み、前記パラメータ生成ステップは、前記統計情報データベースに基いて、前記テンソルの値のうち、頻度がゼロでない量子化領域と、頻度がゼロでなく、かつ、前記量子化領域と重ならない非量子化領域とを決定し、前記量子化領域における前記テンソルの値は量子化され、前記非量子化領域における前記テンソルの値は量子化されない。
 上記目的を達成するために、本開示の一形態に係るネットワーク量子化方法は、ニューラルネットワークを量子化するネットワーク量子化方法であって、前記ニューラルネットワークを準備する準備ステップと、前記ニューラルネットワークに複数のテストデータセットを入力する場合に得られる前記ニューラルネットワークが扱うテンソルの統計情報データベースを構築するデータベース構築ステップと、前記統計情報データベースと前記ニューラルネットワークとに基いて、前記テンソルの値を量子化することによって、量子化パラメータセットを生成するパラメータ生成ステップと、前記量子化パラメータセットを用いて前記ニューラルネットワークを量子化することによって、量子化ネットワークを構築するネットワーク構築ステップとを含み、前記パラメータ生成ステップは、前記統計情報データベースに基いて、前記テンソルの値を-1、0、+1の3値に量子化する。
 上記目的を達成するために、本開示の一形態に係るネットワーク量子化方法は、ニューラルネットワークを量子化するネットワーク量子化方法であって、前記ニューラルネットワークを準備する準備ステップと、前記ニューラルネットワークに複数のテストデータセットを入力する場合に得られる前記ニューラルネットワークが扱うテンソルの統計情報データベースを構築するデータベース構築ステップと、前記統計情報データベースと前記ニューラルネットワークとに基いて、前記テンソルの値を量子化することによって、量子化パラメータセットを生成するパラメータ生成ステップと、前記量子化パラメータセットを用いて前記ニューラルネットワークを量子化することによって、量子化ネットワークを構築するネットワーク構築ステップとを含み、前記パラメータ生成ステップは、前記統計情報データベースに基いて、前記テンソルの値を-1及び+1の2値に量子化する。
 上記目的を達成するために、本開示の一形態に係る推論方法は、上記ネットワーク量子化方法であって、前記複数のテストデータセットの各々の統計情報に基いて、前記複数のテストデータセットの少なくとも一部を第一類型及び第二類型に分類する分類ステップをさらに含み、前記統計情報データベースは、前記第一類型及び前記第二類型にそれぞれ対応する第一データベースサブセット及び第二データベースサブセットを含み、前記量子化パラメータセットは、前記第一データベースサブセット及び前記第二データベースサブセットにそれぞれ対応する第一パラメータサブセット及び第二パラメータサブセットを含み、前記量子化ネットワークは、前記第一パラメータサブセット及び前記第二パラメータサブセットをそれぞれ用いて前記ニューラルネットワークを量子化することによって構築された第一ネットワークサブセット及び第二ネットワークサブセットを含むネットワーク量子化方法と、前記第一類型及び前記第二類型のうち、前記量子化ネットワークに入力される入力データが分類される類型を選択する類型選択ステップと、前記第一類型及び前記第二類型のうち、前記類型選択ステップにおいて選択された類型に基いて、前記第一ネットワークサブセット及び前記第二ネットワークサブセットの一方を選択するネットワーク選択ステップと、前記ネットワーク選択ステップにおいて選択された前記第一ネットワークサブセット及び前記第二ネットワークサブセットの一方に前記入力データを入力する入力ステップとを含む。
 上記目的を達成するために、本開示の一形態に係るネットワーク量子化装置は、ニューラルネットワークを量子化するネットワーク量子化装置であって、前記ニューラルネットワークに複数のテストデータセットを入力する場合に得られる前記ニューラルネットワークが扱うテンソルの統計情報データベースを構築するデータベース構築部と、前記統計情報データベースと前記ニューラルネットワークとに基いて、前記テンソルの値を量子化することによって、量子化パラメータセットを生成するパラメータ生成部と、前記量子化パラメータセットを用いて前記ニューラルネットワークを量子化することによって、量子化ネットワークを構築するネットワーク構築部とを含み、前記パラメータ生成部は、前記統計情報データベースに基いて、前記テンソルの値のうち、頻度が極大となる値を含む高頻度領域における量子化ステップ間隔を、前記高頻度領域より頻度が低く、かつ、頻度がゼロでない前記テンソルの値を含む低頻度領域における量子化ステップ間隔より狭く設定する。
 上記目的を達成するために、本開示の一形態に係るネットワーク量子化装置は、ニューラルネットワークを量子化するネットワーク量子化装置であって、前記ニューラルネットワークに複数のテストデータセットを入力する場合に得られる前記ニューラルネットワークが扱うテンソルの統計情報データベースを構築するデータベース構築部と、前記統計情報データベースと前記ニューラルネットワークとに基いて、前記テンソルの値を量子化することによって、量子化パラメータセットを生成するパラメータ生成部と、前記量子化パラメータセットを用いて前記ニューラルネットワークを量子化することによって、量子化ネットワークを構築するネットワーク構築部とを含み、前記パラメータ生成部は、前記統計情報データベースに基いて、前記テンソルの値のうち、頻度がゼロでない量子化領域と、頻度がゼロでなく、かつ、前記量子化領域と重ならない非量子化領域とを決定し、前記量子化領域における前記テンソルの値を量子化し、前記非量子化領域における前記テンソルの値を量子化しない。
 上記目的を達成するために、本開示の一形態に係るネットワーク量子化装置は、ニューラルネットワークを量子化するネットワーク量子化装置であって、前記ニューラルネットワークに複数のテストデータセットを入力する場合に得られる前記ニューラルネットワークが扱うテンソルの統計情報データベースを構築するデータベース構築部と、前記統計情報データベースと前記ニューラルネットワークとに基いて、前記テンソルの値を量子化することによって、量子化パラメータセットを生成するパラメータ生成部と、前記量子化パラメータセットを用いて前記ニューラルネットワークを量子化することによって、量子化ネットワークを構築するネットワーク構築部とを含み、前記パラメータ生成部は、前記統計情報データベースに基いて、前記テンソルの値を-1、0、+1の3値に量子化する。
 上記目的を達成するために、本開示の一形態に係るネットワーク量子化装置は、ニューラルネットワークを量子化するネットワーク量子化装置であって、前記ニューラルネットワークに複数のテストデータセットを入力する場合に得られる前記ニューラルネットワークが扱うテンソルの統計情報データベースを構築するデータベース構築部と、前記統計情報データベースと前記ニューラルネットワークとに基いて、前記テンソルの値を量子化することによって、量子化パラメータセットを生成するパラメータ生成部と、前記量子化パラメータセットを用いて前記ニューラルネットワークを量子化することによって、量子化ネットワークを構築するネットワーク構築部とを含み、前記パラメータ生成部は、前記統計情報データベースに基いて、前記テンソルの値を-1及び+1の2値に量子化する。
 本開示により、精度の良好な量子化ネットワークを構築できるネットワーク量子化方法などを提供できる。
図1は、実施の形態1に係るネットワーク量子化装置の機能構成の概要を示すブロック図である。 図2は、実施の形態1に係るネットワーク量子化装置の機能をソフトウェアにより実現するコンピュータのハードウェア構成の一例を示す図である。 図3は、実施の形態1に係るネットワーク量子化方法を示すフローチャートである。 図4は、比較例に係る量子化方法を示す模式図である。 図5は、実施の形態1に係る量子化方法を示す模式図である。 図6は、実施の形態1の変形例に係る量子化の範囲を示す概略図である。 図7は、実施の形態1の変形例に係る量子化ステップ間隔決定方法の一例を示す概略図である。 図8は、実施の形態1の変形例に係る量子化ステップ間隔決定方法の他の例を示す概略図である。 図9は、実施の形態2に係るネットワーク量子化装置の機能構成の概要を示すブロック図である。 図10は、実施の形態2に係るネットワーク量子化方法及び推論方法を示すフローチャートである。
 以下、本開示の実施の形態について、図面を用いて詳細に説明する。なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示す。以下の実施の形態で示される数値、形状、材料、規格、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序等は、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、本開示の最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、各図は、必ずしも厳密に図示したものではない。各図において、実質的に同一の構成については同一の符号を付し、重複する説明は省略又は簡略化する場合がある。
 (実施の形態1)
 実施の形態1に係るネットワーク量子化方法及びネットワーク量子化装置について説明する。
 [1-1.ネットワーク量子化装置]
 まず、本実施の形態に係るネットワーク量子化装置の構成について、図1を用いて説明する。図1は、本実施の形態に係るネットワーク量子化装置10の機能構成の概要を示すブロック図である。
 ネットワーク量子化装置10は、ニューラルネットワーク14を量子化する装置である。つまり、ネットワーク量子化装置10は、浮動小数点精度のニューラルネットワーク14を、固定小数点精度のニューラルネットワークである量子化ネットワークに変換する装置である。なお、ネットワーク量子化装置10は、ニューラルネットワーク14が扱うすべてのテンソルを量子化しなくてもよく、少なくとも一部のテンソルを量子化すればよい。ここで、テンソルとは、ニューラルネットワーク14の各層における入力データ、出力データ及び重みなどのパラメータを含むn次元配列(nは0以上の整数)で表される値である。テンソルは、ニューラルネットワーク14における最小単位のオペレーションに係るパラメータを含んでもよい。ニューラルネットワーク14が畳み込みニューラルネットワークである場合には、畳み込み層と定義されている関数である重み及びバイアス値がテンソルに含まれてもよい。また、ニューラルネットワーク14における正規化処理などのパラメータがテンソルに含まれてもよい。
 図1に示されるように、ネットワーク量子化装置10は、データベース構築部16と、パラメータ生成部20と、ネットワーク構築部24とを備える。本実施の形態では、ネットワーク量子化装置10は、機械学習部28をさらに備える。
 データベース構築部16は、ニューラルネットワーク14に複数のテストデータセット12を入力する場合に得られるニューラルネットワーク14が扱うテンソルの統計情報データベース18を構築する処理部である。データベース構築部16は、複数のテストデータセット12に対するニューラルネットワーク14が扱う各テンソルの値と頻度との関係などの統計情報を計算し、各テンソルの統計情報データベース18を構築する。統計情報データベース18には、例えば、各テンソルの平均値、中央値、最頻値、最大値、最小値、極大値、極小値、分散、偏差、歪度、尖度などの統計量の少なくとも一部が含まれる。
 パラメータ生成部20は、統計情報データベース18とニューラルネットワーク14とに基いて、テンソルの値を量子化することによって、量子化パラメータセットを生成する処理部である。パラメータ生成部20は、統計情報データベース18に基いて、テンソルの値のうち、頻度が極大となる値を含む高頻度領域における量子化ステップ間隔を、高頻度領域より頻度が低く、かつ、頻度がゼロでないテンソルの値を含む低頻度領域における量子化ステップ間隔より狭く設定する。パラメータ生成部20の詳細な処理内容については後述する。
 ネットワーク構築部24は、量子化パラメータセット22を用いてニューラルネットワーク14を量子化することによって、量子化ネットワーク26を構築する処理部である。
 機械学習部28は、量子化ネットワーク26に機械学習させる処理部である。機械学習部28は、ネットワーク構築部24によって構築された量子化ネットワーク26に複数のテストデータセット12又は他の入力データセットを入力することで機械学習させる。これにより、機械学習部28は、量子化ネットワーク26より推論の精度が良好な量子化ネットワーク30を構築する。なお、ネットワーク量子化装置10は、機械学習部28を必ずしも備えなくてもよい。
 以上のような構成により、ネットワーク量子化装置10は、精度が良好な量子化ネットワークを構築できる。
 [1-2.ハードウェア構成]
 次に、本実施の形態に係るネットワーク量子化装置10のハードウェア構成について、図2を用いて説明する。図2は、本実施の形態に係るネットワーク量子化装置10の機能をソフトウェアにより実現するコンピュータ1000のハードウェア構成の一例を示す図である。
 コンピュータ1000は、図2に示すように、入力装置1001、出力装置1002、CPU1003、内蔵ストレージ1004、RAM1005、読取装置1007、送受信装置1008及びバス1009を備えるコンピュータである。入力装置1001、出力装置1002、CPU1003、内蔵ストレージ1004、RAM1005、読取装置1007及び送受信装置1008は、バス1009により接続される。
 入力装置1001は入力ボタン、タッチパッド、タッチパネルディスプレイなどといったユーザインタフェースとなる装置であり、ユーザの操作を受け付ける。なお、入力装置1001は、ユーザの接触操作を受け付ける他、音声での操作、リモコン等での遠隔操作を受け付ける構成であってもよい。
 内蔵ストレージ1004は、フラッシュメモリなどである。また、内蔵ストレージ1004は、ネットワーク量子化装置10の機能を実現するためのプログラム、及び、ネットワーク量子化装置10の機能構成を利用したアプリケーションの少なくとも一方が、予め記憶されていてもよい。
 RAM1005は、ランダムアクセスメモリ(Random Access Memory)であり、プログラム又はアプリケーションの実行に際してデータ等の記憶に利用される。
 読取装置1007は、USB(Universal Serial Bus)メモリなどの記録媒体から情報を読み取る。読取装置1007は、上記のようなプログラムやアプリケーションが記録された記録媒体からそのプログラムやアプリケーションを読み取り、内蔵ストレージ1004に記憶させる。
 送受信装置1008は、無線又は有線で通信を行うための通信回路である。送受信装置1008は、例えばネットワークに接続されたサーバ装置と通信を行い、サーバ装置から上記のようなプログラムやアプリケーションをダウンロードして内蔵ストレージ1004に記憶させる。
 CPU1003は、中央演算処理装置(Central Processing Unit)であり、内蔵ストレージ1004に記憶されたプログラム、アプリケーションをRAM1005にコピーし、そのプログラムやアプリケーションに含まれる命令をRAM1005から順次読み出して実行する。
 [1-3.ネットワーク量子化方法]
 次に、本実施の形態に係るネットワーク量子化方法について図3を用いて説明する。図3は、本実施の形態に係るネットワーク量子化方法を示すフローチャートである。
 図3に示されるように、ネットワーク量子化方法において、まず、ニューラルネットワーク14を準備する(S10)。本実施の形態では、予め学習済みのニューラルネットワーク14を準備する。ニューラルネットワーク14は、量子化されていない、つまり、浮動小数点精度のニューラルネットワークである。なお、ニューラルネットワーク14の学習において、使用される入力データは特に限定されず、図1に示される複数のテストデータセット12を含んでもよい。
 続いて、データベース構築部16は、ニューラルネットワーク14に複数のテストデータセット12を入力する場合に得られるニューラルネットワーク14が扱うテンソルの統計情報データベースを構築する(S20)。本実施の形態では、データベース構築部16が、複数のテストデータセット12に対するニューラルネットワーク14が扱う各テンソルの値と頻度との関係などの統計情報を計算し、各テンソルの統計情報データベース18を構築する。
 続いて、パラメータ生成部20は、統計情報データベース18とニューラルネットワーク14とに基いて、テンソルの値を量子化することによって、量子化パラメータセット22を生成する(S30)。
 続いて、ネットワーク構築部24は、量子化パラメータセット22を用いてニューラルネットワーク14を量子化することによって、量子化ネットワーク26を構築する(S40)。
 続いて、機械学習部28は、量子化ネットワーク26に機械学習させる(S50)。機械学習部28は、ネットワーク構築部24によって構築された量子化ネットワーク26に複数のテストデータセット12又は他の入力データセットを入力することで機械学習させる。これにより、量子化ネットワーク26より推論の精度が良好な量子化ネットワーク30を構築できる。なお、本実施の形態に係るネットワーク量子化方法は、機械学習ステップS50を必ずしも含まなくてもよい。
 以上のように、本実施の形態に係るネットワーク量子化方法によれば、ニューラルネットワークを精度良く量子化できる。
 [1-4.パラメータ生成部]
 次に、本実施の形態に係るパラメータ生成部20における量子化パラメータセット22の生成方法について、詳細に説明する。
 上述のとおり、パラメータ生成部20は、統計情報データベース18とニューラルネットワーク14とに基いて、テンソルの値を量子化することによって、量子化パラメータセットを生成する。以下、パラメータ生成部20における量子化方法について、図4及び図5を用いて比較例の量子化方法と比較しながら説明する。図4及び図5は、それぞれ比較例及び本実施の形態に係る量子化方法を示す模式図である。図4及び図5においては、ニューラルネットワーク14が扱うテンソルの値と頻度との関係を示すグラフが示されている。
 図4に示されるテンソルの値の分布例では、頻度が二つの極大値を有し、二つの極大値の間の領域、及び、二つの極大値の外側の領域では、頻度が低い。このようにテンソルの値が偏在している場合に、例えば、特許文献1に記載された従来技術の量子化方法を用いる比較例によれば、データが存在する領域全体を均等に量子化する。図4には、一例として、8ビットの分解能で量子化する例が示されている。
 比較例の量子化方法によれば、データが存在するものの、その頻度が低い領域も量子化するため、データがほぼ存在しない区間のデータにもビット数を割り当てることになる。これは、ビット数に対して意味のあるデータの量が少なくなることを意味する。したがって、量子化の精度が低下する。
 一方、本実施の形態に係るパラメータ生成部20は、統計情報データベース18に基いて、テンソルの値のうち、頻度が極大となる値を含む高頻度領域における量子化ステップ間隔を、高頻度領域より頻度が低く、かつ、頻度がゼロでないテンソルの値を含む低頻度領域における量子化ステップ間隔より狭く設定する。これにより、量子化において低頻度領域に割り当てられるビット数を上記比較例より低減できる。したがって、量子化の精度を改善できるため、精度の良好な量子化ネットワークを構築できる。図5に示される例では、高頻度領域は、テンソルの値のうち、各々が頻度が極大となる値を含む第一領域及び第二領域を含み、低頻度領域は、テンソルの値のうち、第一領域と第二領域との間の値を含む第三領域を含む。また、低頻度領域の少なくとも一部の領域のテンソルの値は量子化されなくてもよい。図5に示される例では、低頻度領域は、第一領域及び第二領域の外側の値を含む第四領域及び第五領域と、第三領域とからなり、低頻度領域のテンソルの値は量子化されない。高頻度領域を構成する第一領域及び第二領域は、それぞれ7ビットの分解能で均等に量子化されている。これにより、量子化において低頻度領域に割り当てられるビット数を最小限に低減できる。したがって、量子化の精度をより一層改善できる。
 ここで、高頻度領域及び低頻度領域の決定方法は特に限定されないが、例えば、頻度の高いデータから順に、上位90%に含まれるデータで構成される領域を高頻度領域としてもよい。
 また、図5に示される例では、低頻度領域のテンソルの値は量子化されないが、高頻度領域より広い量子化ステップ間隔で量子化されてもよい。
 また、図5に示される例では高頻度領域における量子化ステップ間隔は均一であるが、量子化ステップ間隔を頻度に応じて変えてもよい。例えば、頻度が高くなるにしたがって、量子化ステップ間隔が狭くなるように量子化ステップ間隔が設定されてもよい。
 また、図5に示される例では頻度に応じて量子化ステップ間隔を決定しているが、頻度に準じる指標を用いて決定してもよい。例えばテンソルの各要素の値(x)を確率変数とする確率分布p(x)を基準に、量子化されたテンソルの各要素の値(x)を確率変数とする確率分布q(x)がどれくらい違っているかを測定し、その違いが小さくなるような量子化の仕方(量子化ステップ間隔の決め方等)として、量子化ステップ間隔を求めてもよい。
 以下にその例を図6~図8を用いて説明する。図6は、本実施の形態の変形例に係る量子化の範囲を示す概略図である。図7は、本実施の形態の変形例に係る量子化ステップ間隔決定方法の一例を示す概略図である。図8は、本実施の形態の変形例に係る量子化ステップ間隔決定方法の他の例を示す概略図である。
 まず、量子化を行うxの範囲を設定する。例えば、図6のグラフ(b)に示されるように、データが存在しているxの全範囲を量子化の範囲と設定する。又は、図6のグラフ(c)に示されるように、頻度の小さい領域は範囲外にする等してデータが存在しているxの値の一部の範囲を量子化の範囲と設定する。
 続いて、量子化ステップ間隔を設定する。例えば、データが存在しているxの全範囲を量子化の範囲と設定した場合(図6のグラフ(b))、及び、データが存在しているxの値の一部の範囲を量子化の範囲と設定した場合(図6のグラフ(c))には、それぞれ、図7のグラフ(a)及び図8のグラフ(a)に示されるように、当該量子化の範囲における量子化ステップを設定する。
 続いて、図7のグラフ(b)及び図8のグラフ(b)に示されるように、設定された量子化ステップに対する量子化されたテンソルの値に対応する確率分布q(x)を求める。これらのような量子化の範囲及び量子化ステップ間隔の違うq(x)を複数準備する。次に、二つの確率分布p(x)、q(x)の違いを測る尺度として、Kullback-Leiblerダイバージェンス(この尺度が小さい値になるほどq(x)はp(x)に似ている)を用い、この尺度が所定の値より小さくなるq(x)を決定する。このq(x)に対する設定である量子化ステップ間隔を、求める量子化ステップ間隔としてもよい。例えば、Kullback-Leiblerダイバージェンスが最小となるq(x)を与える量子化ステップ間隔を求める量子化ステップ間隔としてもよい。なお、Kullback-Leiblerダイバージェンスは、以下の式(1)で表される。
Figure JPOXMLDOC01-appb-M000001
 [1-5.演算方法]
 次に、パラメータ生成部20における演算方法の具体例について説明する。以下、本実施の形態に係る量子化方法において利用し得る演算方法の例として、三つの演算方法を示す。
 [1-5-1.mビット固定小数点]
 浮動小数点精度のデータをmビット固定小数点のデータに量子化する演算方法について説明する。浮動小数点精度のデータをxで表すと、2-nをスケーリングファクタとして、xは、以下の式(2)を用いてmビット固定小数点精度の値FXP(x,m,n)に変換される。
Figure JPOXMLDOC01-appb-M000002
 ここで、関数Clip(a,MIN,MAX)は、変数aの値をMIN以上MAX以下の範囲に収める関数であり、その定義は以下の式(3)で定義される。
Figure JPOXMLDOC01-appb-M000003
 また、上記式(2)のMIN及びMAXは以下の式(4)及び式(5)で表される。
Figure JPOXMLDOC01-appb-M000004
Figure JPOXMLDOC01-appb-M000005
 このような量子化方法を用いる場合、量子化パラメータとして、符号モード及び小数点位置が用いられる。
 符号モードとは、FXP(x,m,n)の最小値が0以上か否かを示すパラメータである。例えば、FXP(x,m,n)の最小値が0以上であれば、ビットを負の値に割り振る必要がないため、ビット数を1ビット節約できる。
 小数点位置とは、MIN以上MAX以下の値を表現可能な固定小数点位置である。例えば、変数xの分布を正規分布(ガウス分布)で近似できる場合には、上述した統計情報データベース18に含まれる中央値、標準偏差などの情報を取得することで、小数点位置を決定できる。なお、ここでは変数xの分布が正規分布で近似される例について説明したが、変数xの分布は、正規分布に限定されない。変数xの分布が他の分布で近似される場合にも、小数点位置は分布形状に応じて適宜決定できる。例えば、変数xの分布が混合正規分布で近似される場合には、混合正規分布に含まれる複数のピーク毎に小数点位置が決定されてもよい。
 [1-5-2.対数]
 浮動小数点精度のデータを対数を用いて量子化する演算方法について説明する。本演算方法では、データの値の対数をとり、対数のスケールでビットを割り当てる。この方法では、量子化パラメータとして対数最大値が用いられる。対数最大値とは、統計情報データベース18から取得される浮動小数点精度のデータの値の最大値を超えない対数の最大値である。
 [1-5-3.3値及び2値]
 浮動小数点精度のデータを3値に量子化する演算方法について説明する。本演算方法では、統計情報データベースに基いて、テンソルの値の一例である浮動小数点精度のデータを-1、0、+1の3値に量子化する。本量子化においては、正閾値、負閾値、正スケール及び負スケールの四つの量子化パラメータが用いられる。正閾値は、+1に量子化される最小の数であり、負閾値は、-1に量子化される最大の数である。また、正スケール及び負スケールは、それぞれ+1及び-1に対応する係数である。より詳しくは、正スケールは、+1から浮動小数点のデータの値を近似するための係数であり、負スケールは、-1から浮動小数点のデータの値を近似するための係数である。
 例えば、統計情報データベース18からデータの分布の中央値(median)、最小値及び最大値を取得し、中央値から正方向及び負方向に所定の範囲を決定し、当該範囲のデータの値を0に量子化する。また、当該範囲の正方向及び負方向の閾値を、それぞれ、上述した量子化パラメータである正閾値及び負閾値と決定する。さらに、最大値及び最小値の絶対値をそれぞれ+1及び-1の浮動小数点近似値と仮定して、最大値及び最小値の絶対値を、それぞれ、上述した量子化パラメータである正スケール及び負スケールと決定する。
 この量子化方法によれば、例えば、畳み込みニューラルネットワークにおける積和演算において、重みとデータの値との乗算を、重みと+1、0、又は-1との乗算で実現できる。つまり、積和演算において、実質的に乗算が不要となるため、演算量を大幅に削減できる。
 また、統計情報データベースに基いて、テンソルの値の一例である浮動小数点精度のデータを-1、+1の2値に量子化してもよい。2値の量子化は、3値の量子化における値-1と値0とを1つの値-1に統合したものと見なすことができ、正閾値及び負閾値を同じ値とした1つの閾値が用いられる。正スケール及び負スケールは2値の量子化でも3値の量子化と同様である。
 (実施の形態2)
 実施の形態2に係るネットワーク量子化方法などについて説明する。本実施の形態に係るネットワーク量子化方法は、テストデータセットの統計情報に基いて、テストデータセットを複数の類型に分類し、類型毎に異なる処理を行う点において、実施の形態1に係る量子化方法と相違する。以下、本実施の形態に係るネットワーク量子化方法、ネットワーク量子化装置、及び、ネットワーク量子化方法によって生成された量子化ネットワークを用いた推論方法について、実施の形態1との相違点を中心に説明する。
 [2-1.ネットワーク量子化装置]
 まず、本実施の形態に係るネットワーク量子化装置の構成について、図9を用いて説明する。図9は、本実施の形態に係るネットワーク量子化装置110の機能構成の概要を示すブロック図である。
 図9に示されるように、ネットワーク量子化装置110は、データベース構築部116と、パラメータ生成部120と、ネットワーク構築部124とを備える。本実施の形態では、ネットワーク量子化装置110は、機械学習部28をさらに備える。本実施の形態に係るネットワーク量子化装置110は、データベース構築部116、パラメータ生成部120及びネットワーク構築部124において、実施の形態1に係るネットワーク量子化装置10と相違する。
 実施の形態1で述べたように、ニューラルネットワーク14が扱うテンソルの値の分布に応じて、テンソルの値の領域ごとに量子化ステップ間隔を変えることで、より精度の良好な量子化ネットワークを得られる。そこで本実施の形態では、複数のテストデータセット12の類型毎に量子化を行うことで、より一層精度が良好な量子化ネットワークを得る。
 本実施の形態に係るデータベース構築部116は、実施の形態1に係るデータベース構築部と同様に、ニューラルネットワーク14に複数のテストデータセットを入力する場合に得られるニューラルネットワーク14が扱うテンソルの統計情報データベースを構築する。本実施の形態では、データベース構築部116は、複数のテストデータセット12の各々の統計情報に基いて、複数のテストデータセット12の少なくとも一部を第一類型及び第二類型に分類する。例えば、複数のテストデータセット12として複数の画像を用いる場合には、複数の画像は、画像の明るさなどの統計情報に基いて、昼間の屋外の画像に分類される類型と、夜間の屋外の画像に分類される類型などに分類される。具体的な演算方法として、例えば、複数のテストデータセット12のすべてに対するテンソルの分布が混合正規分布に従うと推定し、当該混合正規分布に含まれる複数の正規分布の各々を一つの類型として分類してもよい。この場合、複数のテストデータセット12の各々と複数の正規分布とを照合し、各テストデータセットを分類してもよい。
 データベース構築部116によって構築される統計情報データベース118は、第一類型及び第二類型にそれぞれ対応する第一データベースサブセット及び第二データベースサブセットを含む。言い換えると、データベース構築部116は、複数のテストデータセット12のうち第一類型に含まれるテストデータセットをニューラルネットワーク14に入力する場合に得られるニューラルネットワーク14が扱うテンソルの統計情報を含む第一データベースサブセットを構築する。また、データベース構築部116は、複数のテストデータセット12のうち第二類型に含まれるテストデータセットをニューラルネットワーク14に入力する場合に得られるニューラルネットワーク14が扱うテンソルの統計情報を含む第二データベースサブセットを構築する。
 パラメータ生成部120は、実施の形態1に係るパラメータ生成部20と同様に、統計情報データベースとニューラルネットワークとに基いて、テンソルの値を量子化することによって、量子化パラメータセット122を生成する。本実施の形態では、量子化パラメータセット122は、第一データベースサブセット及び第二データベースサブセットにそれぞれ対応する第一パラメータサブセット及び第二パラメータサブセットを含む。
 ネットワーク構築部124は、実施の形態1に係るネットワーク構築部24と同様に、量子化パラメータセット122を用いてニューラルネットワークを量子化することによって、量子化ネットワーク126を構築する。本実施の形態では、量子化ネットワーク126は、第一パラメータサブセット及び第二パラメータサブセットにそれぞれ対応する第一ネットワークサブセット及び第二ネットワークサブセットを含む。
 これにより、本実施の形態では、複数のテストデータセット12の第一類型及び第二類型にそれぞれ対応する量子化ネットワークを構築するため、より精度が良好な量子化ネットワークを構築できる。
 また、本実施の形態でも、実施の形態1と同様に、機械学習部28は、量子化ネットワーク126に機械学習させる。本実施の形態では、機械学習部28は、第一ネットワークサブセット及び第二ネットワークサブセットにそれぞれ第一類型及び第二類型のテストデータセットを入力することで機械学習させる。これにより、量子化ネットワーク126より精度が良好な量子化ネットワーク130を構築できる。
 なお、データベース構築部116は、複数のテストデータセット12を三つ以上の類型に分類してもよい。またこれに伴い、統計情報データベース118は、三つ以上のデータベースサブセットを含んでもよいし、量子化パラメータセット122は、三つ以上のパラメータサブセットを含んでもよい。また、量子化ネットワーク126及び量子化ネットワーク30は、それぞれ三つ以上のネットワークサブセットを含んでもよい。
 [2-2.ネットワーク量子化方法及び推論方法]
 次に、本実施の形態に係るネットワーク量子化方法及びそれを用いた推論方法について、図10を用いて説明する。図10は、本実施の形態に係るネットワーク量子化方法及び推論方法を示すフローチャートである。
 本実施の形態に係る推論方法は、図10に示されるフローチャートの全ステップを含み、本実施の形態に係るネットワーク量子化方法は、図10に示されるフローチャートのうち、ステップS10からステップS150までのステップを含む。
 図10に示されるように、本実施の形態に係るネットワーク量子化方法及び推論方法において、まず、実施の形態1に係るネットワーク量子化方法と同様に、ニューラルネットワーク14を準備する(S10)。
 続いて、データベース構築部116は、複数のテストデータセット12の各々の統計情報に基いて、複数のテストデータセット12の少なくとも一部を第一類型及び第二類型に分類する(S115)。
 続いて、データベース構築部116は、ニューラルネットワーク14に複数のテストデータセット12を入力する場合に得られるニューラルネットワーク14が扱うテンソルの統計情報データベース118を構築する(S120)。本実施の形態では、統計情報データベース118は、第一類型及び第二類型にそれぞれ対応する第一データベースサブセット及び第二データベースサブセットを含む。
 続いて、パラメータ生成部120は、統計情報データベース118とニューラルネットワーク14とに基いて、テンソルの値を量子化することによって、量子化パラメータセット122を生成する(S130)。本実施の形態では、量子化パラメータセット122は、第一データベースサブセット及び第二データベースサブセットにそれぞれ対応する第一パラメータサブセット及び第二パラメータサブセットを含む。
 続いて、ネットワーク構築部24は、量子化パラメータセット122を用いてニューラルネットワーク14を量子化することによって、量子化ネットワーク126を構築する(S140)。本実施の形態では、量子化ネットワーク126は、第一パラメータサブセット及び第二パラメータサブセットをそれぞれ用いてニューラルネットワーク14を量子化することによって構築された第一ネットワークサブセット及び第二ネットワークサブセットを含む。
 続いて、機械学習部28は、量子化ネットワーク126に機械学習させる(S150)。機械学習部28は、ネットワーク構築部124によって構築された量子化ネットワーク126に複数のテストデータセット12又は他の入力データセットを入力することで機械学習させる。本実施の形態では、機械学習部28は、第一ネットワークサブセット及び第二ネットワークサブセットにそれぞれ第一類型及び第二類型のテストデータセットを入力することで機械学習させる。これにより、量子化ネットワーク126より精度が良好な量子化ネットワーク130を構築できる。なお、本実施の形態に係るネットワーク量子化方法は、機械学習ステップS150を必ずしも含まなくてもよい。
 以上のように、本実施の形態に係るネットワーク量子化方法によれば、ニューラルネットワークを精度良く量子化できる。
 続いて、本実施の形態に係る推論方法において、上記ネットワーク量子化方法によって、構築された量子化ネットワーク126を用いて推論を実行する。具体的には、まず、入力データを準備し、第一類型及び第二類型のうち、量子化ネットワーク126に入力される入力データが分類される類型を選択する(S160)。このステップ160は、例えば、量子化ネットワーク126が実装されたコンピュータなどが、入力データを解析し、入力データの統計情報に基いて類型を選択してもよい。
 続いて、第一類型及び第二類型のうち、類型選択ステップS160において選択された類型に基いて、第一ネットワークサブセット及び第二ネットワークサブセットの一方を選択する(S170)。このステップ160は、例えば、量子化ネットワーク126が実装されたコンピュータなどが、選択された類型に対応するネットワークサブセットを選択してもよい。
 続いて、ネットワーク選択ステップS170において選択された第一ネットワークサブセット及び第二ネットワークサブセットの一方に入力データを入力する(S180)。これにより、選択されたネットワークサブセットにおいて、推論が実行される。
 本実施の形態に係る推論方法によれば、上述のとおり精度良く量子化された量子化ネットワークを用いて推論を実行するため、精度の良好な推論結果が得られる。さらに、本実施の形態では、入力データの類型に適した量子化ネットワークを用いて推論を実行するため、より一層精度の良好な推論結果を得られる。
 (変形例など)
 以上、本開示に係るネットワーク量子化方法などについて、各実施の形態に基いて説明したが、本開示は、これらの実施の形態に限定されるものではない。本開示の主旨を逸脱しない限り、当業者が思いつく各種変形を各実施の形態に施したものや、各実施の形態における一部の構成要素を組み合わせて構築される別の形態も、本開示の範囲内に含まれる。
 例えば、上記実施の形態1の変形例に係るネットワーク量子化方法のパラメータ生成ステップは、統計情報データベースに基いて、テンソルの値のうち、頻度がゼロでない量子化領域と、頻度がゼロでなく、かつ、量子化領域と重ならない非量子化領域とを決定し、量子化領域におけるテンソルの値は量子化され、非量子化領域におけるテンソルの値は量子化されなくてもよい。また、上記実施の形態1の変形例に係るネットワーク量子化装置が備えるパラメータ生成部は、統計情報データベースに基いて、テンソルの値のうち、頻度がゼロでない量子化領域と、頻度がゼロでなく、かつ、量子化領域と重ならない非量子化領域とを決定し、量子化領域におけるテンソルの値は量子化され、非量子化領域におけるテンソルの値は量子化されなくてもよい。
 本変形例は、例えば、上記実施の形態1に係るネットワーク量子化方法及びネットワーク量子化装置において、第一領域及び第二領域の少なくとも一部を量子化領域と決定し、第三領域~第五領域の少なくとも一部を非量子化領域と決定し、かつ、非量子化領域におけるテンソルの値を量子化しない場合などに相当する。
 このように、量子化するテンソルの値の頻度がゼロでないテンソルの値を選択して量子化することにより、量子化するテンソルの値に頻度がゼロである値が含まれる場合より、量子化の精度を改善できる。したがって、精度の良好な量子化ネットワークを構築できる。
 また、本変形例において、量子化領域は、テンソルの値のうち、頻度が極大となる値を含み、非量子化領域は、テンソルの値のうち、量子化領域より頻度が低い値を含んでもよい。
 本変形例は、例えば、上記実施の形態1に係るネットワーク量子化方法及びネットワーク量子化装置において、第一領域及び第二領域の少なくとも一方を量子化領域と決定し、第三領域~第五領域の少なくとも一部を非量子化領域と決定し、かつ、非量子化領域におけるテンソルの値を量子化しない場合などに相当する。
 このように、量子化領域が、テンソルの値のうち、頻度が極大となる値を含むため、より一層量子化の精度を改善できる。したがって、より一層精度の良好な量子化ネットワークを構築できる。
 また、本変形例に係るネットワーク量子化方法のパラメータ生成ステップは、頻度に準じる指標を用いて量子化領域及び非量子化領域を決定してもよい。例えば、パラメータ生成ステップは、量子化領域と非量子化領域とを、テンソルの値の分布と量子化されたテンソルの値の分布との違いを測る尺度に応じて決定してもよい。また、ネットワーク量子化装置のパラメータ生成部は、量子化領域と非量子化領域とを、テンソルの値の分布と量子化されたテンソルの値の分布との違いを測る尺度に応じて決定してもよい。このような尺度として、例えば、Kullback-Leiblerダイバージェンスを用いてもよい。
 また、以下に示す形態も、本開示の一つ又は複数の態様の範囲内に含まれてもよい。
 (1)上記のネットワーク量子化装置を構成する構成要素の一部は、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムであってもよい。前記RAM又はハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
 (2)上記のネットワーク量子化装置を構成する構成要素の一部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
 (3)上記のネットワーク量子化装置を構成する構成要素の一部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしてもよい。前記ICカード又は前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカード又は前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカード又は前記モジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
 (4)また、上記のネットワーク量子化装置を構成する構成要素の一部は、前記コンピュータプログラム又は前記デジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
 また、上記のネットワーク量子化装置を構成する構成要素の一部は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
 (5)本開示は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
 (6)また、本開示は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
 (7)また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
 (8)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
 本開示は、ニューラルネットワークのコンピュータなどへの実装方法として、画像処理方法などに利用できる。
 10、110 ネットワーク量子化装置
 12 テストデータセット
 14 ニューラルネットワーク
 16、116 データベース構築部
 18、118 統計情報データベース
 20、120 パラメータ生成部
 22、122 量子化パラメータセット
 24、124 ネットワーク構築部
 26、30、126、130 量子化ネットワーク
 28 機械学習部
 1000 コンピュータ
 1001 入力装置
 1002 出力装置
 1003 CPU
 1004 内蔵ストレージ
 1005 RAM
 1007 読取装置
 1008 送受信装置
 1009 バス

Claims (17)

  1.  ニューラルネットワークを量子化するネットワーク量子化方法であって、
     前記ニューラルネットワークを準備する準備ステップと、
     前記ニューラルネットワークに複数のテストデータセットを入力する場合に得られる前記ニューラルネットワークが扱うテンソルの統計情報データベースを構築するデータベース構築ステップと、
     前記統計情報データベースと前記ニューラルネットワークとに基いて、前記テンソルの値を量子化することによって、量子化パラメータセットを生成するパラメータ生成ステップと、
     前記量子化パラメータセットを用いて前記ニューラルネットワークを量子化することによって、量子化ネットワークを構築するネットワーク構築ステップとを含み、
     前記パラメータ生成ステップは、前記統計情報データベースに基いて、前記テンソルの値のうち、頻度が極大となる値を含む高頻度領域における量子化ステップ間隔を、前記高頻度領域より頻度が低く、かつ、頻度がゼロでない前記テンソルの値を含む低頻度領域における量子化ステップ間隔より狭く設定する
     ネットワーク量子化方法。
  2.  ニューラルネットワークを量子化するネットワーク量子化方法であって、
     前記ニューラルネットワークを準備する準備ステップと、
     前記ニューラルネットワークに複数のテストデータセットを入力する場合に得られる前記ニューラルネットワークが扱うテンソルの統計情報データベースを構築するデータベース構築ステップと、
     前記統計情報データベースと前記ニューラルネットワークとに基いて、前記テンソルの値を量子化することによって、量子化パラメータセットを生成するパラメータ生成ステップと、
     前記量子化パラメータセットを用いて前記ニューラルネットワークを量子化することによって、量子化ネットワークを構築するネットワーク構築ステップとを含み、
     前記パラメータ生成ステップは、前記統計情報データベースに基いて、前記テンソルの値のうち、頻度がゼロでない量子化領域と、頻度がゼロでなく、かつ、前記量子化領域と重ならない非量子化領域とを決定し、前記量子化領域における前記テンソルの値は量子化され、前記非量子化領域における前記テンソルの値は量子化されない
     ネットワーク量子化方法。
  3.  ニューラルネットワークを量子化するネットワーク量子化方法であって、
     前記ニューラルネットワークを準備する準備ステップと、
     前記ニューラルネットワークに複数のテストデータセットを入力する場合に得られる前記ニューラルネットワークが扱うテンソルの統計情報データベースを構築するデータベース構築ステップと、
     前記統計情報データベースと前記ニューラルネットワークとに基いて、前記テンソルの値を量子化することによって、量子化パラメータセットを生成するパラメータ生成ステップと、
     前記量子化パラメータセットを用いて前記ニューラルネットワークを量子化することによって、量子化ネットワークを構築するネットワーク構築ステップとを含み、
     前記パラメータ生成ステップは、前記統計情報データベースに基いて、前記テンソルの値を-1、0、+1の3値に量子化する
     ネットワーク量子化方法。
  4.  ニューラルネットワークを量子化するネットワーク量子化方法であって、
     前記ニューラルネットワークを準備する準備ステップと、
     前記ニューラルネットワークに複数のテストデータセットを入力する場合に得られる前記ニューラルネットワークが扱うテンソルの統計情報データベースを構築するデータベース構築ステップと、
     前記統計情報データベースと前記ニューラルネットワークとに基いて、前記テンソルの値を量子化することによって、量子化パラメータセットを生成するパラメータ生成ステップと、
     前記量子化パラメータセットを用いて前記ニューラルネットワークを量子化することによって、量子化ネットワークを構築するネットワーク構築ステップとを含み、
     前記パラメータ生成ステップは、前記統計情報データベースに基いて、前記テンソルの値を-1及び+1の2値に量子化する
     ネットワーク量子化方法。
  5.  前記パラメータ生成ステップは、前記統計情報データベースに基いて、量子化パラメータとして、+1に量子化される最小の数である正閾値、及び、-1に量子化される最大の数である負閾値を決定する
     請求項3又は4に記載のネットワーク量子化方法。
  6.  前記パラメータ生成ステップは、前記統計情報データベースに基いて、量子化パラメータとして、+1及び-1にそれぞれ対応する係数である正スケール及び負スケールを決定する
     請求項5に記載のネットワーク量子化方法。
  7.  前記量子化領域は、前記テンソルの値のうち、頻度が極大となる値を含み、前記非量子化領域は、前記テンソルの値のうち、前記量子化領域より頻度が低い値を含む
     請求項2に記載のネットワーク量子化方法。
  8.  前記パラメータ生成ステップは、前記量子化領域と前記非量子化領域とを、前記テンソルの値の分布と量子化された前記テンソルの値の分布との違いを測る尺度に応じて決定する
     請求項2に記載のネットワーク量子化方法。
  9.  前記高頻度領域は、前記テンソルの値のうち、各々が頻度が極大となる値を含む第一領域及び第二領域を含み、
     前記低頻度領域は、前記テンソルの値のうち、前記第一領域と前記第二領域との間の値を含む第三領域を含む
     請求項1に記載のネットワーク量子化方法。
  10.  前記パラメータ生成ステップにおいて、前記低頻度領域の少なくとも一部の領域の前記テンソルの値は量子化されない
     請求項1又は9に記載のネットワーク量子化方法。
  11.  前記ネットワーク量子化方法は、さらに、
     前記量子化ネットワークに機械学習させる機械学習ステップをさらに含む
     請求項1~10のいずれか1項に記載のネットワーク量子化方法。
  12.  前記複数のテストデータセットの各々の統計情報に基いて、前記複数のテストデータセットの少なくとも一部を第一類型及び第二類型に分類する分類ステップをさらに含み、
     前記統計情報データベースは、前記第一類型及び前記第二類型にそれぞれ対応する第一データベースサブセット及び第二データベースサブセットを含み、
     前記量子化パラメータセットは、前記第一データベースサブセット及び前記第二データベースサブセットにそれぞれ対応する第一パラメータサブセット及び第二パラメータサブセットを含み、
     前記量子化ネットワークは、前記第一パラメータサブセット及び前記第二パラメータサブセットをそれぞれ用いて前記ニューラルネットワークを量子化することによって構築された第一ネットワークサブセット及び第二ネットワークサブセットを含む
     請求項1~11のいずれか1項に記載のネットワーク量子化方法。
  13.  請求項12に記載のネットワーク量子化方法と、
     前記第一類型及び前記第二類型のうち、前記量子化ネットワークに入力される入力データが分類される類型を選択する類型選択ステップと、
     前記第一類型及び前記第二類型のうち、前記類型選択ステップにおいて選択された類型に基いて、前記第一ネットワークサブセット及び前記第二ネットワークサブセットの一方を選択するネットワーク選択ステップと、
     前記ネットワーク選択ステップにおいて選択された前記第一ネットワークサブセット及び前記第二ネットワークサブセットの一方に前記入力データを入力する入力ステップとを含む
     推論方法。
  14.  ニューラルネットワークを量子化するネットワーク量子化装置であって、
     前記ニューラルネットワークに複数のテストデータセットを入力する場合に得られる前記ニューラルネットワークが扱うテンソルの統計情報データベースを構築するデータベース構築部と、
     前記統計情報データベースと前記ニューラルネットワークとに基いて、前記テンソルの値を量子化することによって、量子化パラメータセットを生成するパラメータ生成部と、
     前記量子化パラメータセットを用いて前記ニューラルネットワークを量子化することによって、量子化ネットワークを構築するネットワーク構築部とを含み、
     前記パラメータ生成部は、前記統計情報データベースに基いて、前記テンソルの値のうち、頻度が極大となる値を含む高頻度領域における量子化ステップ間隔を、前記高頻度領域より頻度が低く、かつ、頻度がゼロでない前記テンソルの値を含む低頻度領域における量子化ステップ間隔より狭く設定する
     ネットワーク量子化装置。
  15.  ニューラルネットワークを量子化するネットワーク量子化装置であって、
     前記ニューラルネットワークに複数のテストデータセットを入力する場合に得られる前記ニューラルネットワークが扱うテンソルの統計情報データベースを構築するデータベース構築部と、
     前記統計情報データベースと前記ニューラルネットワークとに基いて、前記テンソルの値を量子化することによって、量子化パラメータセットを生成するパラメータ生成部と、
     前記量子化パラメータセットを用いて前記ニューラルネットワークを量子化することによって、量子化ネットワークを構築するネットワーク構築部とを含み、
     前記パラメータ生成部は、前記統計情報データベースに基いて、前記テンソルの値のうち、頻度がゼロでない量子化領域と、頻度がゼロでなく、かつ、前記量子化領域と重ならない非量子化領域とを決定し、前記量子化領域における前記テンソルの値を量子化し、前記非量子化領域における前記テンソルの値を量子化しない
     ネットワーク量子化装置。
  16.  ニューラルネットワークを量子化するネットワーク量子化装置であって、
     前記ニューラルネットワークに複数のテストデータセットを入力する場合に得られる前記ニューラルネットワークが扱うテンソルの統計情報データベースを構築するデータベース構築部と、
     前記統計情報データベースと前記ニューラルネットワークとに基いて、前記テンソルの値を量子化することによって、量子化パラメータセットを生成するパラメータ生成部と、
     前記量子化パラメータセットを用いて前記ニューラルネットワークを量子化することによって、量子化ネットワークを構築するネットワーク構築部とを含み、
     前記パラメータ生成部は、前記統計情報データベースに基いて、前記テンソルの値を-1、0、+1の3値に量子化する
     ネットワーク量子化装置。
  17.  ニューラルネットワークを量子化するネットワーク量子化装置であって、
     前記ニューラルネットワークに複数のテストデータセットを入力する場合に得られる前記ニューラルネットワークが扱うテンソルの統計情報データベースを構築するデータベース構築部と、
     前記統計情報データベースと前記ニューラルネットワークとに基いて、前記テンソルの値を量子化することによって、量子化パラメータセットを生成するパラメータ生成部と、
     前記量子化パラメータセットを用いて前記ニューラルネットワークを量子化することによって、量子化ネットワークを構築するネットワーク構築部とを含み、
     前記パラメータ生成部は、前記統計情報データベースに基いて、前記テンソルの値を-1及び+1の2値に量子化する
     ネットワーク量子化装置。
PCT/JP2018/036104 2018-09-27 2018-09-27 ネットワーク量子化方法、推論方法及びネットワーク量子化装置 WO2020065874A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/JP2018/036104 WO2020065874A1 (ja) 2018-09-27 2018-09-27 ネットワーク量子化方法、推論方法及びネットワーク量子化装置
JP2020547760A JP7180680B2 (ja) 2018-09-27 2018-09-27 ネットワーク量子化方法、推論方法及びネットワーク量子化装置
CN201880097850.4A CN112740233A (zh) 2018-09-27 2018-09-27 网络量化方法、推理方法以及网络量化装置
US17/210,097 US20210209470A1 (en) 2018-09-27 2021-03-23 Network quantization method, and inference method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/036104 WO2020065874A1 (ja) 2018-09-27 2018-09-27 ネットワーク量子化方法、推論方法及びネットワーク量子化装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/210,097 Continuation US20210209470A1 (en) 2018-09-27 2021-03-23 Network quantization method, and inference method

Publications (1)

Publication Number Publication Date
WO2020065874A1 true WO2020065874A1 (ja) 2020-04-02

Family

ID=69950433

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/036104 WO2020065874A1 (ja) 2018-09-27 2018-09-27 ネットワーク量子化方法、推論方法及びネットワーク量子化装置

Country Status (4)

Country Link
US (1) US20210209470A1 (ja)
JP (1) JP7180680B2 (ja)
CN (1) CN112740233A (ja)
WO (1) WO2020065874A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4149007A1 (en) 2021-09-09 2023-03-15 Fujitsu Limited Arithmetic program, arithmetic method, and arithmetic device
JP2023516521A (ja) * 2021-02-07 2023-04-20 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 量子誤り訂正復号システム、方法、フォールトトレラント量子誤り訂正システム及びチップ
WO2024004221A1 (ja) * 2022-07-01 2024-01-04 日本電信電話株式会社 演算処理装置、演算処理方法、及び演算処理プログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11601134B2 (en) * 2020-01-10 2023-03-07 Robert Bosch Gmbh Optimized quantization for reduced resolution neural networks
CN115018076B (zh) * 2022-08-09 2022-11-08 聚时科技(深圳)有限公司 一种用于智能伺服驱动器的ai芯片推理量化方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0784975A (ja) * 1993-09-10 1995-03-31 Hitachi Ltd 情報処理装置および学習演算処理方法
WO2014192041A1 (ja) * 2013-05-29 2014-12-04 Kddi株式会社 基地局システム及び通信装置
JP2018010618A (ja) * 2016-05-03 2018-01-18 イマジネイション テクノロジーズ リミテッド 畳み込みニューラルネットワークハードウエア構成
WO2018139266A1 (ja) * 2017-01-30 2018-08-02 富士通株式会社 演算処理装置、情報処理装置、方法、およびプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0784975A (ja) * 1993-09-10 1995-03-31 Hitachi Ltd 情報処理装置および学習演算処理方法
WO2014192041A1 (ja) * 2013-05-29 2014-12-04 Kddi株式会社 基地局システム及び通信装置
JP2018010618A (ja) * 2016-05-03 2018-01-18 イマジネイション テクノロジーズ リミテッド 畳み込みニューラルネットワークハードウエア構成
WO2018139266A1 (ja) * 2017-01-30 2018-08-02 富士通株式会社 演算処理装置、情報処理装置、方法、およびプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WATANABE, KENTA ET AL.: "A Histogram ROI Quantization Method and its Applications", IEICE TECHNICAL REPORT, vol. 111, no. 467, 1 March 2012 (2012-03-01), pages 71 - 76 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023516521A (ja) * 2021-02-07 2023-04-20 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 量子誤り訂正復号システム、方法、フォールトトレラント量子誤り訂正システム及びチップ
JP7366484B2 (ja) 2021-02-07 2023-10-23 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 量子誤り訂正復号システム、方法、フォールトトレラント量子誤り訂正システム及びチップ
US11842250B2 (en) 2021-02-07 2023-12-12 Tencent Technology (Shenzhen) Company Limited Quantum error correction decoding system and method, fault-tolerant quantum error correction system, and chip
EP4149007A1 (en) 2021-09-09 2023-03-15 Fujitsu Limited Arithmetic program, arithmetic method, and arithmetic device
WO2024004221A1 (ja) * 2022-07-01 2024-01-04 日本電信電話株式会社 演算処理装置、演算処理方法、及び演算処理プログラム

Also Published As

Publication number Publication date
CN112740233A (zh) 2021-04-30
JP7180680B2 (ja) 2022-11-30
JPWO2020065874A1 (ja) 2021-08-30
US20210209470A1 (en) 2021-07-08

Similar Documents

Publication Publication Date Title
WO2020065874A1 (ja) ネットワーク量子化方法、推論方法及びネットワーク量子化装置
CN111652367B (zh) 一种数据处理方法及相关产品
US11373087B2 (en) Method and apparatus for generating fixed-point type neural network
US20200218982A1 (en) Dithered quantization of parameters during training with a machine learning tool
CN110874625B (zh) 一种数据处理方法及装置
US11615301B2 (en) Lossless exponent and lossy mantissa weight compression for training deep neural networks
US20240104166A1 (en) Softmax function approximation calculation device, approximation calculation method, and approximation calculation program
US20230385645A1 (en) Method for automatic hybrid quantization of deep artificial neural networks
US20200320385A1 (en) Using quantization in training an artificial intelligence model in a semiconductor solution
Kummer et al. Adaptive Precision Training (AdaPT): A dynamic quantized training approach for DNNs
WO2022215559A1 (ja) ハイブリッドモデル作成方法、ハイブリッドモデル作成装置、及び、プログラム
WO2021230006A1 (ja) ネットワーク量子化方法及びネットワーク量子化装置
CN113554097B (zh) 模型量化方法、装置、电子设备和存储介质
CN114139678A (zh) 卷积神经网络量化方法、装置、电子设备和存储介质
CN114970822A (zh) 一种神经网络模型量化方法、系统、设备及计算机介质
JP2022148635A (ja) 量子化方法、量子化装置、及び、プログラム
US20210210393A1 (en) Information processing apparatus and information processing method
JP7299134B2 (ja) データ処理装置及びその動作方法、プログラム
CN112508166A (zh) 信息处理装置和方法以及存储信息处理程序的记录介质
JP2022510944A (ja) 非可逆復元を伴う非可逆有意圧縮
CN110298438B (zh) 神经网络模型的调整方法和调整装置
JP7120288B2 (ja) ニューラルネットワーク軽量化装置、ニューラルネットワーク軽量化方法およびプログラム
US20230144390A1 (en) Non-transitory computer-readable storage medium for storing operation program, operation method, and calculator
WO2022130477A1 (ja) 符号化装置、復号装置、符号化方法、復号方法およびプログラム
CN117348837A (zh) 浮点精度模型的量化方法、装置、电子设备以及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18934710

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020547760

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18934710

Country of ref document: EP

Kind code of ref document: A1