Approximate computing and data reuse architectures for AI edge devices
A method can be used to reduce the memory storage and energy used by deep neural networks. The method can include determining the weights associated with the deep neural network. An input feature map can be received and used with the weights to generate approximated weights. Using the approximated weights and the input feature map a convolution inference can be performed.
1 . A computer-implemented method of reducing memory storage and energy used by deep neural networks, the computer-implemented method comprising:
determining weights associated with a deep neural network;
receiving an input feature map comprising input data;
generating approximated weights based on the input feature map and the weights by dividing the weights into uniform groups and linearly approximating each group of weights, wherein generating the approximated weights further comprises using a quadratic approximation; and
performing a convolution inference using the approximated weights and the input feature map.
2 . The computer-implemented method of claim 1 , further comprising:
outputting an output feature map based on the convolution inference.
3 . The computer-implemented method of claim 1 , further comprising, prior to generating the approximated weights, sorting the weights from a lowest value to a highest value.
4 . The computer-implemented method of claim 1 , wherein the approximated weights are a first set of approximated weights and the method further comprises generating a second set of approximated weights based on the input feature map and the first set of approximated weights.
5 . The computer-implemented method of claim 1 , further comprising storing the approximated weights in a memory of an electronic device.
6 . An electronic device, comprising:
memory; and
a processor configured to:
determine weights associated with a deep neural network;
receive an input feature map comprising input data;
generate approximated weights based on the input feature map and the weights by dividing the weights into uniform groups and linearly approximating each group of weights, wherein generating the approximated weights comprises using a quadratic approximation; and
perform a convolution inference using the approximated weights and the input feature map.
7 . The electronic device of claim 6 , wherein the electronic device comprises a portable electronic device comprising an energy storage device and a wireless transceiver.
8 . The electronic device of claim 6 , wherein the processor is further configured to output an output feature map based on the convolution inference.
9 . The electronic device of claim 6 , wherein the processor is further configured to, prior to generating the approximated weights, sort the weights from a lowest value to a highest value.
10 . The electronic device of claim 6 , wherein the approximated weights are a first set of approximated weights and the processor is further configured to generate a second set of approximated weights based on the input feature map and the first set of approximated weights.
11 . The electronic device of claim 6 , wherein the processor is further configured to store the approximated weights in the memory of the electronic device.