Vector computation unit in a neural network processor

US12277499B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12277499-B2
Application numberUS-202418636640-A
CountryUS
Kind codeB2
Filing dateApr 16, 2024
Priority dateMay 21, 2015
Publication dateApr 15, 2025
Grant dateApr 15, 2025

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 circuit for performing neural network computations for a neural network comprising a plurality of layers, the circuit comprising: activation circuitry configured to receive a vector of accumulated values and configured to apply a function to each accumulated value to generate a vector of activation values; and normalization circuitry coupled to the activation circuitry and configured to generate a respective normalized value from each activation value.

First claim

Opening claim text (preview).

The invention claimed is: 1. A vector computation unit for performing neural network computations comprising: normalization circuitry configured to: receive a vector of activation values; receive one or more control signals specifying a normalization function; and apply the normalization function to the activation values to generate respective normalized values for each activation value. 2. The vector computation unit of claim 1 , wherein the one or more control signals are provided by a sequencer. 3. The vector computation unit of claim 1 , further comprising activation circuitry configured to: receive a vector of accumulated values; receive one or more control signal specifying an activation function; and apply the activation function to the accumulated values to generate the vector of activation values. 4. The vector computation unit of claim 3 , wherein the accumulated values correspond to products of a matrix multiplication between a layer of the neural network and a parameter matrix for the layer. 5. The vector computation unit of claim 1 , further comprising pooling circuitry configured to: receive the normalized values; receive one or more control signals specifying a pooling function; and apply the pooling function to the normalized values to generate a pooled value. 6. The vector computation unit of claim 5 , wherein the pooled value comprises at least one of a maximum, a minimum, or an average of the activation values, or a maximum, a minimum, or an average of a subset of the activate values. 7. The vector computation unit of claim 5 , wherein the pooling circuitry comprises multiple parallel pooling circuitries, each pool circuitry configured to receive a subset of the activation values to generate a respective pooled value. 8. The vector computation unit of claim 1 , wherein applying the normalization function to the activation values comprises: determining a sum of the activation values; determining a multiplication factor based on the sum of the activation values; and multiplying the activation values by the multiplication factor to generate the normalized values. 9. The vector computation unit of claim 1 , further comprising a plurality of registers and a plurality of memory units configured to store the activation values. 10. A method for performing neural network computations comprising: receiving, by normalization circuitry of a vector computation unit, a vector of activation values; receiving, by the normalization circuitry, one or more control signals specifying a normalization function; and applying, by the normalization circuitry, the normalization function to the activation values to generate respective normalized values for each activation value. 11. The method of claim 10 , wherein the one or more control signals are provided by a sequencer. 12. The method of claim 10 , further comprising: receiving, by activation circuitry of the vector computation unit, a vector of accumulated values; receiving, by the activation circuitry, one or more control signal specifying an activation function; and applying, by the activation circuitry, the activation function to the accumulated values to generate the vector of activation values. 13. The method of claim 12 , wherein the accumulated values correspond to products of a matrix multiplication between a layer of the neural network and a parameter matrix for the layer. 14. The method of claim 10 , further comprising: receiving, by pooling circuitry of the vector computation unit, the normalized values; receiving, by the pooling circuitry, one or more control signals specifying a pooling function; and applying, by the pooling circuitry, the pooling function to the normalized values to generate a pooled value. 15. The method of claim 14 , wherein the pooled value comprises at least one of a maximum, a minimum, or an average of the activation values, or a maximum, a minimum, or an average of a subset of the activate values. 16. The method of claim 14 , wherein the pooling circuitry comprises multiple parallel pooling circuitries, each pool circuitry configured to receive a subset of the activation values to generate a respective pooled value. 17. The method of claim 10 , wherein applying the normalization function to the activation values comprises: determining a sum of the activation values; determining a multiplication factor based on the sum of the activation values; and multiplying the activation values by the multiplication factor to generate the normalized values. 18. A non-transitory computer readable medium for storing instructions executable by a processor to perform neural network computations, the instructions comprising: receiving a vector of activation values; receiving one or more control signals specifying a normalization function; and applying the normalization function to the activation values to generate respective normalized values for each activation value. 19. The non-transitory computer readable medium of claim 18 , wherein the instructions further comprise: receiving a vector of accumulated values; receiving one or more control signal specifying an activation function; and applying the activation function to the accumulated values to generate the vector of activation values. 20. The non-transitory computer readable medium of claim 18 , wherein the instructions further comprise: receiving the normalized values; receiving one or more control signals specifying a pooling function; and applying the pooling function to the normalized values to generate a pooled value.

Assignees

Inventors

Classifications

  • G06N3/08Primary

    Learning methods · CPC title

  • Feedforward networks · CPC title

  • Convolutional networks [CNN, ConvNet] · CPC title

  • Inference or reasoning models · CPC title

  • for evaluating functions by calculation {(G06F7/4824 takes precedence)} · 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 US12277499B2 cover?
A circuit for performing neural network computations for a neural network comprising a plurality of layers, the circuit comprising: activation circuitry configured to receive a vector of accumulated values and configured to apply a function to each accumulated value to generate a vector of activation values; and normalization circuitry coupled to the activation circuitry and configured to gener…
Who is the assignee on this patent?
Google Llc
What technology area does this patent fall under?
Primary CPC classification G06N3/08. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 15 2025 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 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).