Patent classifications
G06F7/556
DEEP NEURAL NETWORK HARDWARE ACCELERATOR BASED ON POWER EXPONENTIAL QUANTIZATION
A deep neural network hardware accelerator comprises: an AXI-4 bus interface, an input cache area, an output cache area, a weighting cache area, a weighting index cache area, an encoding module, a configurable state controller module, and a PE array. The input cache area and the output cache area are designed as a line cache structure; an encoder encodes weightings according to an ordered quantization set, the quantization set storing the possible value of the absolute value of all of the weightings after quantization. During the calculation of the accelerator, the PE unit reads data from the input cache area and the weighting index cache area to perform shift calculation, and sends the calculation result to the output cache area. The accelerator uses shift operations to replace floating point multiplication operations, reducing the requirements for computing resources, storage resources, and communication bandwidth, and increasing the calculation efficiency of the accelerator.
DEEP NEURAL NETWORK HARDWARE ACCELERATOR BASED ON POWER EXPONENTIAL QUANTIZATION
A deep neural network hardware accelerator comprises: an AXI-4 bus interface, an input cache area, an output cache area, a weighting cache area, a weighting index cache area, an encoding module, a configurable state controller module, and a PE array. The input cache area and the output cache area are designed as a line cache structure; an encoder encodes weightings according to an ordered quantization set, the quantization set storing the possible value of the absolute value of all of the weightings after quantization. During the calculation of the accelerator, the PE unit reads data from the input cache area and the weighting index cache area to perform shift calculation, and sends the calculation result to the output cache area. The accelerator uses shift operations to replace floating point multiplication operations, reducing the requirements for computing resources, storage resources, and communication bandwidth, and increasing the calculation efficiency of the accelerator.
SECRET SIGMOID FUNCTION CALCULATION SYSTEM, SECRET LOGISTIC REGRESSION CALCULATION SYSTEM, SECRET SIGMOID FUNCTION CALCULATION APPARATUS, SECRET LOGISTIC REGRESSION CALCULATION APPARATUS, SECRET SIGMOID FUNCTION CALCULATION METHOD, SECRET LOGISTIC REGRESSION CALCULATION METHOD, AND PROGRAM
A technique for performing secure computation of a sigmoid function with high speed and precision is provided. A secret sigmoid function calculation system is a system, in which g(x) is assumed to be a secure computable function, which calculates, from a share [[x]] of an input value x, a share [[σ′(x)]] of a value of a sigmoid function for the input value x, and includes: a first comparing means that generates a first comparison result [[c]]=less_than([[x]], t.sub.1); a second comparing means that generates a second comparison result [[d]]=greater_than([[x]], t.sub.0); a first logical computation means that generates a first logical computation result [[e]]=not([[c]]); a second logical computation means that generates a second logical computation result [[k]]=and([[c]], [[d]]) or [[k]]=mul([[c]], [[d]]); and a function value calculating means that calculates the share [[σ′(x)]]=mul([[k]], [[g(x)]])+[[e]].
SECRET SIGMOID FUNCTION CALCULATION SYSTEM, SECRET LOGISTIC REGRESSION CALCULATION SYSTEM, SECRET SIGMOID FUNCTION CALCULATION APPARATUS, SECRET LOGISTIC REGRESSION CALCULATION APPARATUS, SECRET SIGMOID FUNCTION CALCULATION METHOD, SECRET LOGISTIC REGRESSION CALCULATION METHOD, AND PROGRAM
A technique for performing secure computation of a sigmoid function with high speed and precision is provided. A secret sigmoid function calculation system is a system, in which g(x) is assumed to be a secure computable function, which calculates, from a share [[x]] of an input value x, a share [[σ′(x)]] of a value of a sigmoid function for the input value x, and includes: a first comparing means that generates a first comparison result [[c]]=less_than([[x]], t.sub.1); a second comparing means that generates a second comparison result [[d]]=greater_than([[x]], t.sub.0); a first logical computation means that generates a first logical computation result [[e]]=not([[c]]); a second logical computation means that generates a second logical computation result [[k]]=and([[c]], [[d]]) or [[k]]=mul([[c]], [[d]]); and a function value calculating means that calculates the share [[σ′(x)]]=mul([[k]], [[g(x)]])+[[e]].
CIRCULAR ACCUMULATOR FOR FLOATING POINT ADDITION
Certain aspects of the present disclosure are directed to methods and apparatus for circular floating point addition. An example method generally includes obtaining a first floating point number represented by a first significand and a first exponent, obtaining a second floating point number represented by a second significand and second exponent, and adding the first floating point number and the second floating point number using a circular accumulator device.
Arithmetic logic unit, data processing system, method and module
An arithmetic logic unit, comprising an addition unit for determining a sum of a first input and a second input; and a logarithmic addition unit for determining an output using the sum and a third input. The output is a multiply-accumulate output represented in a logarithmic domain when the first, second and third inputs are represented in the logarithmic domain.
Arithmetic logic unit, data processing system, method and module
An arithmetic logic unit, comprising an addition unit for determining a sum of a first input and a second input; and a logarithmic addition unit for determining an output using the sum and a third input. The output is a multiply-accumulate output represented in a logarithmic domain when the first, second and third inputs are represented in the logarithmic domain.
Secure computation system, secure computation device, secure computation method, and program
A secure computation technique of calculating a polynomial in a shorter calculation time is provided. A secure computation system generates concealed text [[u]] of u, which is the result of magnitude comparison between a value x and a random number r, from concealed text [[x]] by using concealed text [[r]]; generates concealed text [[c]] of a mask c from the concealed text [[x]], [[r]], and [[u]]; reconstructs the mask c from the concealed text [[c]]; calculates, for i=0, . . . , n, a coefficient b.sub.i from an order n, coefficients a.sub.0, a.sub.1, . . . , a.sub.n, and the mask c; generates, for i=1, . . . , n, concealed text [[s.sub.i]] of a selected value s.sub.i, which is determined in accordance with the result u of magnitude comparison, from the concealed text; [[u]]; and calculates a linear combination b.sub.0+b.sub.1[[s.sub.1]]+ . . . +b.sub.n[[s.sub.n]] of the coefficient b.sub.i and the concealed text [[s.sub.i]] as concealed text [[a.sub.0+a.sub.1x.sup.1+ . . . +a.sub.nx.sup.n]].
Solving multivariate quadratic problems using digital or quantum annealing
A method may include obtaining a set of multivariate quadratic polynomials associated with a multivariate quadratic problem and generating an Ising Model connection weight matrix “W” and an Ising Model bias vector “b” based on the multivariate quadratic polynomials. The method may also include providing the matrix “W” and the vector “b” to an annealing system configured to solve problems written according to the Ising Model and obtaining an output from the annealing system that represents a set of integers. The method may also include using the set of integers as a solution to the multivariate quadratic problem.
Solving multivariate quadratic problems using digital or quantum annealing
A method may include obtaining a set of multivariate quadratic polynomials associated with a multivariate quadratic problem and generating an Ising Model connection weight matrix “W” and an Ising Model bias vector “b” based on the multivariate quadratic polynomials. The method may also include providing the matrix “W” and the vector “b” to an annealing system configured to solve problems written according to the Ising Model and obtaining an output from the annealing system that represents a set of integers. The method may also include using the set of integers as a solution to the multivariate quadratic problem.