Apparatus employing user-specified binary point fixed point arithmetic
US-10228911-B2 · Mar 12, 2019 · US
US11308406B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11308406-B2 |
| Application number | US-201815877138-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 22, 2018 |
| Priority date | Jan 27, 2017 |
| Publication date | Apr 19, 2022 |
| Grant date | Apr 19, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A method of operating neural networks such as convolutional neural networks including, e.g., an input layer, an output layer and at least one intermediate layer between the input layer and the output layer, with the network layers including operating circuits performing arithmetic operations on input data to provide output data. The method includes: selecting a set of operating circuits in the network layers, performing arithmetic operations in operating circuits in the selected set of operating circuits by performing Residue Number System or RNS operations on RNS-converted input data by obtaining RNS output data in the Residue Number System, backward converting from the Residue Number System the RNS output data resulting from the RNS operations.
Opening claim text (preview).
The invention claimed is: 1. A method, comprising: scaling, using a set of operating circuits of a neural network, input data to the set of operating circuits using input scaling factors; converting, using the set of operating circuits of the neural network, the scaled input data to the set of operating circuits of the neural network to a Residual Number System (RNS) domain from one or more other domains, the neural network having a plurality of layers; performing arithmetic operations in the set of operating circuits in the RNS domain on the converted data; converting, using the set of operating circuits of the neural network, output results of the arithmetic operations of the set of operating circuits from the RNS domain to the one or more other domains; scaling the converted output results in the one or more other domains using output scaling factors complementary to the input scaling factors, generating scaled output results, wherein the input scaling factors are selected to determining a range of represented values in the RNS domain; and performing a classification operation based on the scaled output results. 2. The method of claim 1 , comprising: receiving at least some of the input data from one or more sensors; and generating one or more control signals based on results of the classification operation. 3. The method of claim 2 wherein the one or more control signals include: control parameters; control signals; model parameters; warning signals; or combinations thereof. 4. The method of claim 1 , comprising: selecting the set of operating circuits. 5. The method of claim 1 wherein the set of operating circuits perform arithmetic operations selected out of multiplications, additions and subtractions. 6. The method of claim 1 wherein the set of operating circuits includes operating circuits performing operations homogeneous with respect to a first set and a second set of input data, the method including converting both said first set and said second set of input data to the RNS domain. 7. The method of claim 1 wherein the set of operating circuits includes operating circuits performing operations homogeneous with respect to a first set and a second set of input data, the method including: converting the first set of input data to the RNS domain; and retrieving the second set of input data from a memory. 8. The method of claim 1 , comprising: setting input scaling factors and output scaling factors for each layer of the plurality of layers. 9. The method of claim 1 wherein the one or more other domains includes an integer domain. 10. The method of claim 1 , comprising: rounding scaled input data prior to converting the scaled input data to the RNS domain. 11. The method of claim 1 , comprising: using a same set of scaling factors for a plurality of the set of operating circuits; setting to unity scaling factors for at least a part of the set of operating circuits; using a power-of-two scaling factor for at least one of the set of operating circuits, wherein scaling includes shifting of binary data; or combinations thereof. 12. The method of claim 1 , comprising setting the respective scaling factors using a look-up-table. 13. The method of claim 1 , including performing at least one arithmetic operation in a RNS domain with power-of-two moduli. 14. A neural network, comprising: one or more inputs, which, in operation, receive input data; one or more outputs, which, in operation, output one or more output signals; and a plurality of network layers coupled between the one or more inputs and the one or more outputs, and which, in operation, perform classification operations, the performing including generating the one or more output signals based on the input data, the plurality of network layers including a set of operating circuits, which, in operation: scale respective sets of data using input scaling factors; convert scaled sets of data to a Residual Number System (RNS) domain from one or more other domains, wherein input scaling factors applied to a set of data determine a range of the RNS domain; perform arithmetic operations in the RNS domain on the converted data; convert respective results of the arithmetic operations from the RNS domain to the one or more other domains; and scale the converted results using output scaling factors complementary to the input scaling factors. 15. The neural network of claim 14 wherein, the input data comprises sensor data; and the output signals comprise control signals. 16. The neural network of claim 14 wherein the neural network, in operation, selects the set of operating circuits. 17. The neural network of claim 16 wherein the set of operating circuits, in operation, perform arithmetic operations selected out of multiplications, additions and subtractions. 18. The neural network of claim 14 wherein at least some of the set of operating circuits, in operation: set input scaling factors and output scaling factors for each layer of the plurality of layers. 19. The neural network of claim 14 wherein the set of operating circuits, in operation, round at least some of the scaled input data prior to converting the at least some of the scaled input data to the RNS domain. 20. A system, comprising: circuitry, which, in operation, generates source data; and a neural network coupled to the circuitry, wherein the neural network, in operation, performs classification operations, the performing classification operations including generating one or more output signals based on the source data and including a set of operating circuits, wherein the operating circuits, in operation: scale respective sets of data using input scaling factors; convert scaled sets of data to a Residual Number System (RNS) domain from one or more other domains, wherein input scaling factors applied to a set of data determine a range of the RNS domain; perform arithmetic operations in the RNS domain on the converted data; and convert respective results of the arithmetic operations from the RNS domain to the one or more other domains; and scale the converted results using output scaling factors complementary to the input scaling factors. 21. The system of claim 20 wherein, the circuitry comprises one or more sensors; and the output signals comprise control signals. 22. The system of claim 20 wherein at least some of the set of operating circuits, in operation: set input scaling factors and output scaling factors for each layer of the plurality of layers. 23. The system of claim 20 wherein the set of operating circuits, in operation, round at least some of the scaled input data prior to converting the at least some of the scaled input data to the RNS domain. 24. A non-transitory computer-readable medium whose contents configure a set of operating circuits of a neural network having a plurality of layers to perform a method, the method comprising: scaling input data to the set of operating circuits using input scaling factors; converting scaled input data to the set of operating circuits of the neural network to a Residual Number System (RNS) domain from one or more other domains, the input scaling factors determining a range of represented values in the RNS domain; performing arithmetic operations in the set of operating circuits in the RNS domain on the converted data; converting output results of the arithmetic operations of the set of o
Combinations of networks · CPC title
Probabilistic graphical models, e.g. probabilistic networks · CPC title
Convolutional networks [CNN, ConvNet] · CPC title
modifying the architecture, e.g. adding, deleting or silencing nodes or connections · CPC title
using representation by a residue number system · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.