Jointly pruning and quantizing deep neural networks

US11475308B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11475308-B2
Application numberUS-201916396619-A
CountryUS
Kind codeB2
Filing dateApr 26, 2019
Priority dateMar 15, 2019
Publication dateOct 18, 2022
Grant dateOct 18, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A system and a method generate a neural network that includes at least one layer having weights and output feature maps that have been jointly pruned and quantized. The weights of the layer are pruned using an analytic threshold function. Each weight remaining after pruning is quantized based on a weighted average of a quantization and dequantization of the weight for all quantization levels to form quantized weights for the layer. Output feature maps of the layer are generated based on the quantized weights of the layer. Each output feature map of the layer is quantized based on a weighted average of a quantization and dequantization of the output feature map for all quantization levels. Parameters of the analytic threshold function, the weighted average of all quantization levels of the weights and the weighted average of each output feature map of the layer are updated using a cost function.

First claim

Opening claim text (preview).

What is claimed is: 1. A neural network, comprising: a plurality of layers, at least one layer comprising jointly pruned and quantized weights and output feature maps, the jointly pruned weights being pruned using an analytic threshold function, each weight remaining after being pruned further being quantized based on a weighted average of a quantization and dequantization of the weight for all quantization levels, and the output feature maps being formed based on the pruned and quantized weights of the layer, each output feature map being quantized based on a weighted average of a quantization and dequantization of the output feature map for all quantization levels, and parameters of the analytic threshold function, the weighted average of all quantization levels of the weights and the weighted average of each output feature map of the layer being updated based on a cost function. 2. The neural network of claim 1 , wherein the neural network is a full-precision trained neural network before the weights and the output feature maps of the at least one layer are jointly pruned and quantized. 3. The neural network of claim 1 , wherein the cost function includes a pruning loss term, a weight quantization loss term and a feature map quantization loss term. 4. The neural network of claim 3 , wherein the parameters of the analytic threshold function, the weighted average of all quantization levels of the weights and the weighted average of each output feature map of the layer are updated based on an optimization of the cost function. 5. The neural network of claim 3 , wherein the parameters of the analytic threshold function, the weighted average of all quantization levels of the weights and the weighted average of each output feature map of the layer are iteratively updated based on an optimization of the cost function. 6. The neural network of claim 1 , wherein the parameters of the analytic threshold function include a first parameter that controls a sharpness of the analytic threshold function, and second parameter that controls a distance between a first edge and a second edge of the analytic threshold function. 7. A method to prune weights and output feature maps of a layer of a neural network, the method comprising: pruning weights of a layer of a neural network using an analytic threshold function, the neural network being a trained neural network; quantizing each weight of the layer remaining after pruning based on a weighted average of a quantization and dequantization of the weight for all quantization levels to form quantized weights for the layer; determining output feature maps of the layer based on the quantized weights of the layer; quantizing each output feature map of the layer based on a weighted average of a quantization and dequantization of the output feature map for all quantization levels; and updating parameters of the analytic threshold function, the weighted average of all quantization levels of the weights and the weighted average of each output feature map of the layer using a cost function. 8. The method of claim 7 , wherein updating the parameters of the analytic threshold function, the weighted average of all quantization levels of the weights and the weighted average of each output feature map of the layer further comprises optimizing the cost function. 9. The method of claim 8 , wherein the cost function includes a pruning loss term, a weight quantization loss term and a feature map quantization loss term. 10. The method of claim 7 , further comprising iteratively pruning the weights, quantizing each weight of the layer, determining the output feature maps of the layer, quantizing each output feature map of the layer, and updating the parameters of the analytic threshold function, the weighted average of all quantization levels of the weights and the weighted average of each output feature map of the layer to optimize the cost function. 11. The method of claim 10 , wherein the layer of the neural network is a first layer, the method further comprising: pruning weights of a second layer of the neural network using the analytic threshold function, the second layer being subsequent to the first layer in the neural network; quantizing each weight of the second layer remaining after pruning based on a weighted average of a quantization and dequantization of the weight for all quantization levels to form quantized weights for the second layer; determining the output feature maps of the second layer based on the quantized weights of the second layer; quantizing each output feature map of the second layer based on a weighted average of a quantization and a dequantization of the output feature map for all quantization levels; and updating parameters of the analytic threshold function, the weighted average of all quantization levels of the weights and the weighted average of each output feature map of the second layer using the cost function. 12. The method of claim 11 , wherein updating the parameters of the analytic threshold function, the weighted average of all quantization levels of the weights and the weighted average of each output feature map of the second layer further comprises optimizing the cost function. 13. The method of claim 7 , wherein the parameters of the analytic threshold function include a first parameter that controls a sharpness of the analytic threshold function, and second parameter that controls a distance between a first edge and a second edge of the analytic threshold function. 14. A neural network analyzer, comprising: an interface that receives a neural network, the neural network comprising a plurality of layers; and a processing device that generates a neural network comprising at least one layer having weights and output feature maps that have been jointly pruned and quantized, the processing device pruning the weights of the at least one layer of the neural network using an analytic threshold function, quantizing each weight of the at least one layer remaining after pruning based on a weighted average of a quantization and dequantization of the weight for all quantization levels to form quantized weights for the at least one layer, determining output feature maps of the at least one layer based on the quantized weights of the at least one layer, quantizing each output feature map of the at least one layer based on a weighted average of a quantization and dequantization of the output feature map for all quantization levels, and updating parameters of the analytic threshold function, the weighted average of all quantization levels of the weights and the weighted average of each output feature map of the at least one layer using a cost function. 15. The neural network analyzer of claim 14 , wherein the interface further outputs the neural network comprising at least one layer having weights and output feature maps that have been jointly pruned and quantized. 16. The neural network analyzer of claim 14 , wherein the neural network is a full-precision trained neural network before the weights and the output feature maps of the at least one layer are jointly pruned and quantized. 17. The neural network analyzer of claim 14 , wherein the cost function includes a pruning loss term, a weight quantization loss term and a feature map quantization loss term. 18. The neural network analyzer of claim 17 , wherein the parameters of the analytic threshold function, the weighted average of all quantization levels of the weights and the weighted average of each output feature map of the at least one layer are updated base

Assignees

Inventors

Classifications

  • Combinations of networks · CPC title

  • G06N3/082Primary

    modifying the architecture, e.g. adding, deleting or silencing nodes or connections · CPC title

  • Architecture, e.g. interconnection topology · CPC title

  • G06N3/063Primary

    using electronic means · CPC title

  • Backpropagation, e.g. using gradient descent · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11475308B2 cover?
A system and a method generate a neural network that includes at least one layer having weights and output feature maps that have been jointly pruned and quantized. The weights of the layer are pruned using an analytic threshold function. Each weight remaining after pruning is quantized based on a weighted average of a quantization and dequantization of the weight for all quantization levels to…
Who is the assignee on this patent?
Samsung Electronics Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06N3/082. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 18 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).