Methods and apparatus to self-generate a multiple-output ensemble model defense against adversarial attacks
US-2024378511-A1 · Nov 14, 2024 · US
US10025755B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10025755-B2 |
| Application number | US-201614989851-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 7, 2016 |
| Priority date | Jul 6, 2015 |
| Publication date | Jul 17, 2018 |
| Grant date | Jul 17, 2018 |
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 and apparatus for processing data are provided. The processor includes an input buffer, a data extractor, a multiplier, and an adder. The input buffer receives data and stores the data. The data extractor extracts kernel data corresponding to a kernel in the data from the input buffer. The multiplier multiplies the extracted kernel data by a convolution coefficient. The adder calculates a sum of multiplication results from the multiplier.
Opening claim text (preview).
What is claimed is: 1. A hardware processor comprising: an input buffer configured to receive data and store the data; a data extractor configured to extract kernel data comprising a plurality of data elements and corresponding to a kernel in the data from the input buffer; a plurality of multipliers configured to multiply the kernel data by convolution coefficients; and an adder configured to calculate a sum of multiplication results from the plurality of multipliers, wherein the data extractor comprises a matrix switch configured to form electrical connections to the input buffer, to the plurality of multipliers, and to the adder based on the kernel. 2. The hardware processor of claim 1 , wherein the kernel comprises a plurality of kernels, and the data extractor is configured to simultaneously extract in parallel kernel data corresponding to each of the plurality of kernels from the data, and provide the kernel data that is extracted to the plurality of multipliers. 3. The hardware processor of claim 2 , wherein the plurality of multipliers are configured to simultaneously multiply in parallel the kernel data corresponding to each of the plurality of kernels by the convolution coefficients. 4. The hardware processor of claim 2 , wherein the adder is configured to calculate a sum of multiplication results for each of the plurality of kernels, and output a convolution result value for each of the plurality of kernels. 5. The hardware processor of claim 1 , wherein the input buffer comprises a plurality of buffers, each sequentially connected to one another, and wherein each of the plurality of buffers is configured to transfer a first value stored in a corresponding buffer to a subsequent buffer, receive a second value stored in a previous buffer, and store the second value. 6. The hardware processor of claim 1 , wherein the data is image data associated with an image having a width of W pixels, a size of the kernel is K, and a number of kernels is N, each of W, K, and N being an integer greater than or equal to 1, and wherein the input buffer comprises (K+N−1)*W buffers. 7. The hardware processor of claim 1 , wherein the data extractor is configured to form a first electrical connection to a buffer corresponding to the kernel in the input buffer to receive the kernel data corresponding to the kernel, and wherein the data extractor is configured to form a second electrical connection to the multiplier and transfer the kernel data to the multiplier. 8. The hardware processor of claim 1 , wherein the plurality of multipliers is an array multiplier having the plurality of multipliers arranged in a form of a two-dimensional array. 9. The hardware processor of claim 1 , wherein the adder comprises a plurality of adders arranged based on a binary tree architecture to sequentially add a result of applying the convolution coefficients to the kernel data corresponding to the kernel. 10. The hardware processor of claim 1 , wherein the hardware processor is configured to provide an output of the adder to a main processor. 11. The hardware processor of claim 1 , wherein the data extractor is configured to, in response to a change from a first kernel to a second kernel, extract second kernel data corresponding to the second kernel from the data and provide the second kernel data to the plurality of multipliers. 12. A method performed by a hardware processor, the method comprising: receiving, by the hardware processor, data and storing the data in an input buffer; forming, by a matrix switch of the hardware processor, electrical connections to an input buffer, to a plurality of multipliers, and to an adder based on a kernel in the data from the input buffer, and extracting kernel data comprising a plurality of data elements corresponding to the kernel; multiplying, by the plurality of multipliers, the kernel data by convolution coefficients; and calculating, by the adder, a sum of multiplication results from the multiplying the kernel data by the convolution coefficient. 13. The method of claim 12 , wherein the kernel comprises a plurality of kernels, and the extracting comprises simultaneously extracting in parallel kernel data corresponding to each of the plurality of kernels. 14. The method of claim 13 , wherein the multiplying comprises simultaneously multiplying in parallel the kernel data corresponding to each of the plurality of kernels by the convolution coefficients. 15. The method of claim 13 , wherein the calculating comprises calculating a sum of the multiplication results for each of the plurality of kernels and outputting a convolution result value for each of the plurality of kernels. 16. The method of claim 13 , wherein the extracting comprises: forming a first electrical connection to a buffer corresponding to the kernel of the input buffer and receiving the kernel data corresponding to the kernel; and forming a second electrical connection to the plurality of multipliers and transferring the kernel data to the plurality of multipliers. 17. A hardware processor comprising: an input buffer configured to receive data and store the data; a data extractor configured to simultaneously extract in parallel first kernel data comprising a plurality of data elements corresponding to a first kernel and second kernel data comprising a plurality of data elements corresponding to a second kernel from the data stored in the input buffer; a plurality of multipliers configured to simultaneously multiply in parallel the first kernel data by first convolution coefficients, and the second kernel data by second convolution coefficients; and an adder configured to calculate a first sum of the multiplication results for the first kernel and a second sum of multiplication results for the second kernel, and output the first sum and the second sum, wherein the data extractor comprises a matrix switch configured to form electrical connections to the input buffer, to the multiplier, and to the adder based on the first kernel and the second kernel. 18. The hardware processor of claim 17 , wherein the hardware processor does not store an intermediate calculation result.
Sum of products (for applications thereof, see the relevant places, e.g. G06F17/10, H03H17/00) · CPC title
using electronic means · CPC title
Computing arrangements based on biological models · CPC title
Correlation function computation {including computation of convolution operations (arithmetic circuits for sum of products per se, e.g. multiply-accumulators G06F7/5443; digital filters, e.g. FIR, IIR, adaptive filters H03H17/00)} · CPC title
Multidimensional correlation or convolution · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.