{
  "patent_number": "US 11507804",
  "country": "US",
  "title": "Efficient Hardware for Spiking Neural Network Calculations",
  "original_title": "Device and method for calculating convolution in a convolutional neural network",
  "summary": "This patent describes a specialized processor designed to quickly calculate layers in a spiking convolutional neural network by using parallel computing units whose number doesn't depend on the network's size, making AI processing more efficient.",
  "what_it_does": "This device computes at least one convolution layer within a spiking convolutional neural network when an input event occurs. It uses one or more 'convolution modules,' each containing 'elementary computing units' (Claim 1). These units work in parallel to calculate the internal values of the network's neurons. A key feature is that the number of these elementary computing units is independent of the total number of neurons in the convolution layer (Claim 1). Each module maps the 'weight coefficients' (like filters) of the network's kernel to these computing units in parallel. The device also includes memory to store these computed neuron values and dynamically calculates where to store them based on the input event and layer parameters (Claim 1). For example, if a smart camera detects an object, this device processes the image data by having multiple small computing units simultaneously apply different filters to parts of the image, storing the intermediate results in dynamically assigned memory locations for further processing.",
  "what_it_does_not_cover": [
    "Does not cover devices for non-spiking convolutional neural networks, as it specifically claims 'spiking convolutional neural network' (Claim 1).",
    "Does not cover architectures where the number of elementary computing units is directly dependent on the number of neurons in the convolution layer (Claim 1).",
    "Does not cover systems that process convolution layers purely sequentially without parallel mapping of weight coefficients to computing units (Claim 1).",
    "Does not cover devices that use fixed memory addresses for neuron internal values without dynamically computing them based on input events and layer parameters (Claim 1).",
    "Does not cover neural network computations that do not involve convolution layers, such as purely recurrent neural networks or fully connected layers without a convolutional component (Claim 1)."
  ],
  "filed": "2017-04-27",
  "granted": "2022-11-22",
  "expires": "2037-04-27",
  "status": "active",
  "holder": "Commissariat a lEnergie Atomique et aux Energies Alternatives CEA",
  "holder_url": "https://patentbrief.org/company/commissariat-a-lenergie-atomique-et-aux-energies-alternatives-cea",
  "inventors": [
    {
      "name": "Olivier Bichler",
      "url": "https://patentbrief.org/inventor/olivier-bichler"
    },
    {
      "name": "Vincent LORRAIN",
      "url": "https://patentbrief.org/inventor/vincent-lorrain"
    },
    {
      "name": "Antoine Dupret",
      "url": "https://patentbrief.org/inventor/antoine-dupret"
    }
  ],
  "times_cited": 1,
  "tags": [
    "ai_ml",
    "semiconductors",
    "consumer_electronics",
    "telecommunications",
    "automotive"
  ],
  "abstract": "A processor for computing at least one convolution layer of a convolutional neural network is provided, in response to an input event, the convolutional neural network comprising at least one convolution kernel, the convolution kernel containing weight coefficients. The processor comprises at least one convolution module configured to compute the one or more convolution layers, each convolution module comprising a set of elementary processing units for computing the internal value of the convolution-layer neurons that are triggered by the input event, each convolution module being configured to match the weight coefficients of the kernel with certain at least of the elementary processing units of the module in parallel, the number of elementary processing units being independent of the number of neurons of the convolution layer.",
  "url": "https://patentbrief.org/patent/us/11507804/device-and-method-for-calculating-convolution-in-a-convolutional-neural-network",
  "markdown_url": "https://patentbrief.org/patent/us/11507804/device-and-method-for-calculating-convolution-in-a-convolutional-neural-network/md",
  "google_patents_url": "https://patents.google.com/patent/US11507804",
  "relatedPatents": [
    {
      "patentNumber": "9256823",
      "countryCode": "US",
      "title": "Efficiently Updating Connections in AI Brains",
      "url": "https://patentbrief.org/patent/us/9256823/apparatus-and-methods-for-efficient-updates-in-spiking-neuron-network"
    },
    {
      "patentNumber": "11741188",
      "countryCode": "US",
      "title": "How a Chip Uses Memory to Speed Up AI Calculations",
      "url": "https://patentbrief.org/patent/us/11741188/hardware-accelerated-discretized-neural-network"
    },
    {
      "patentNumber": "10740671",
      "countryCode": "US",
      "title": "How IBM Uses Resistive Memory Chips to Speed Up AI Training",
      "url": "https://patentbrief.org/patent/us/10740671/convolutional-neural-networks-using-resistive-processing-unit-array"
    },
    {
      "patentNumber": "9256215",
      "countryCode": "US",
      "title": "How Artificial Neurons Learn from Spikes and Internal States",
      "url": "https://patentbrief.org/patent/us/9256215/apparatus-and-methods-for-generalized-state-dependent-learning-in-spiking-neuron"
    },
    {
      "patentNumber": "10373050",
      "countryCode": "US",
      "title": "How to Make AI Run Faster on Smaller Computer Chips",
      "url": "https://patentbrief.org/patent/us/10373050/tensor-processing-unit-tpu"
    }
  ]
}