Modular Analog Multiplier-Accumulator Unit Element for Multi-Layer Neural Networks
AssigneeRedpine Signals, Inc.
InventorsMartin KRAEMER, Ryan BOESCH, Wei XIONG
Life of this patent
Estimating the term…
Abstract
An analog machine learning architecture uses modular analog multiplier-accumulator (AMAC) elements of fixed size to form a machine learning (ML) system with increasing feature map size. A single 3 × 3 × 64 AMAC array is arranged to provide a three layer ML architecture with first layer 3×3×64, second layer 3×3×128, and third layer 3×3×256 using arrangements of single 3×3×64 AMACs arranged in parallel, where the bias of each AMAC is separately established in a unique interval of time.
Claims16
A multi-layer modular neural network comprising:
- a plurality of analog multiplier-accumulator (AMAC) cells, each AMAC cell generating n feature maps (fmaps), each AMAC cell comprising an analog multiplier-accumulator accumulating a charge proportional to a multiplication of an input with a weight, adjusting the accumulated charge with a bias, and having a digital output by digitizing the adjusted accumulated charge;
- a first layer providing n feature maps, the first layer comprising one AMAC cell with the AMAC cell output coupled to a first layer output;
- a second layer providing 2*n feature maps, the second layer comprising a first AMAC cell and a second AMAC cell, the first AMAC cell input and second AMAC cell input coupled to the output of the first layer, the first AMAC cell digital output and the second AMAC cell digital output summed to provide an output of the second layer;
- a third layer providing 4*n feature maps, the third layer comprising a first AMAC cell, a second AMAC cell, a third AMAC cell, and a fourth AMAC cell, the first AMAC cell input, second AMAC cell input, third AMAC cell input, and fourth AMAC cell input coupled to the output of the second layer, the third layer having an adder generating an output from a sum of the first AMAC cell output, second AMAC cell output, third AMAC cell output, and fourth AMAC cell output.
A layer for a modular neural network, the layer performing a convolution over an interval of time T, the layer comprising:
- a plurality N of analog multiplier-accumulators (AMACs), each AMAC comprising an AND gate multiplying an input with a weight and coupling the resulting product onto a weighted analog charge bus, the weighted analog charge bus coupled to an analog to digital converter generating an AMAC digital output, each AMAC also having a bias input adding or subtracting charge from the weighted analog charge bus;
- each AMAC digital output coupled to an adder generating a digital output comprising a sum of AMAC digital outputs;
- each AMAC bias input set during a unique N/T interval of time.
A modular three layer neural network comprising:
- a plurality of modular analog multiplier accumulators (AMACs), each AMAC configured to operate on an input and a coefficient and transferring a weighted charge to an analog charge bus, each AMAC having a bias input transferring a weighted offset charge to the analog charge bus, the analog charge bus coupled to an analog to digital converter (ADC) generating a digital output, each AMAC generating a fixed number of feature maps (fmaps);
- a first layer comprising a single modular AMAC;
- the second layer comprising two modular AMACs, each modular AMAC having a respective input coupled to an output of the single modular AMAC of the first layer, the second layer generating an output formed by a sum of the outputs of the two modular AMACs of the second layer;
- a third layer comprising four modular AMACs, each modular AMAC having a respective input coupled to the output of the second layer, the third layer generating an output formed by a sum of the outputs of the four modular AMACs of the third layer;
- the first layer bias established to place the output of the first layer in a dynamic range of the first layer modular AMAC;
- the second layer bias established during sequential intervals of time for each of the second layer modular AMACs;
- the third layer bias established during separate intervals of time for each of the third layer modular AMACs.
Dependencies are inferred from the claim text.