IP Library Granted Patent US 12,205,015
Granted Patent B2
US 12,205,015 · App. 17/301,611 · Granted Jan 21, 2025

Convolutional neural network with building blocks

Inventor: Eli Passov (Hod Hasharon, IL)
Assignee: AUTOBRAINS TECHNOLOGIES LTD.
G06N3/063G06F9/30021G06F9/30032G06N3/045
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,205,015
App. No.
17/301,611
Granted
Jan 21, 2025
Kind
B2
Abstract

An apparatus that may include a neural network processor, the neural network processor comprises multiple building blocks. Each of the at least some of the building blocks may include, may consist or may consist essentially of a channel split unit, a convolution unit, a concatenation unit, and a shuffle unit.

Claims (39)

1. An apparatus that comprises a neural network processor, the neural network processor comprises multiple building blocks;

wherein each of the multiple building blocks comprises:

a channel split unit, a convolution unit, a concatenation unit, and a shuffle unit;

wherein the channel split unit is executed by the neural network processor to receive information related to a group of channels, send information related to a first sub-group of the group of channels to the convolution unit, and send information related to a second sub-group of the group of channels to the concatenation unit;

wherein the convolution unit is executed by the neural network processor to perform at least one convolution operation on the information related to the first sub-group of the group of channels to provide convolution results; wherein the convolution results are associated with the first sub-group of the group of channels;

wherein the concatenation unit is executed by the neural network processor to concatenate the convolution results and the information related to the second sub-group of the group of channels to provide concatenation results, wherein each concatenation result of the concatenation results represents a dedicated channel of the group of channels;

wherein the shuffle unit is executed by the neural network processor to shuffle the concatenation results to provide shuffled results, wherein each of the shuffled results is associated with a dedicated channel of the group of channels;

wherein the shuffle unit is executed by the neural network processor to interleave shuffled results related to the first sub-group of the group of channels with shuffled results related to the second sub-group of the group of channels; and

wherein the shuffle unit is executed by the neural network processor to maintain, within the shuffled results related to the first sub-group of the group of channels, an order of shuffled results related to the first sub-group of the group of channels.

2. The apparatus according to claim 1 wherein adjacent concatenation results are mapped to spaced apart shuffled results.

3. The apparatus according to claim 1 wherein the shuffle unit is executed by the neural network processor to maintain, within the shuffled results related to the second sub-group of channels, an order of shuffled results related to the second sub-group of channels.

4. The apparatus according to claim 1 wherein the group of channels comprises a first number (N) of channels, wherein N is an even positive integer, wherein the first sub-group of channels comprises a first half of channels and wherein the second sub-group of channels comprises a second half of channels, wherein N/2 is a half of N.

5. The apparatus according to claim 1 wherein the convolution unit is a five by five convolution unit.

6. The apparatus according to claim 1 wherein the convolution unit is not a one by one convolution units.

7. The apparatus according to claim 1 wherein each of the multiple building blocks consists essentially of the channel split unit, the convolution unit, the concatenation unit, and the shuffle unit.

8. The apparatus according to claim 1 wherein each of the multiple building blocks consists of the channel split unit, the convolution unit, the concatenation unit, and the shuffle unit.

9. The apparatus according to claim 1 wherein each of the multiple building blocks consists of the channel split unit, the convolution unit, the concatenation unit, and the shuffle unit.

10. The apparatus according to claim 1 comprises at least one convolution unit that is coupled between a pair of building blocks.

11. The apparatus according to claim 1 wherein at least one convolution unit does not include one by one convolution subunits.

12. The apparatus according to claim 1 wherein at least one convolution unit comprises of five by five convolution subunits.

13. A non-transitory computer readable medium that stores instructions, the instructions are executed by a neural network processor to perform a method comprising:

receiving information related to a group of channels;

sending information related to a first sub-group of the group of channels to a convolution unit;

sending information related to a second sub-group of the group of channels to a concatenation unit;

performing, by the convolution unit, at least one convolution operation on the information related to the first sub-group of the group of channels to provide convolution results; wherein the convolution results are associated with the first sub-group of the group of channels;

concatenating, by the concatenation unit, the convolution results and the information related to the second sub-group of the group of channels to provide concatenation results, wherein each concatenation result of the concatenation results represents a dedicated channel of the group of channels; and

shuffling, by a shuffle unit, the concatenation results to provide shuffled results,

wherein each of the shuffled results is associated with a dedicated channel of the group of channels;

wherein the shuffle unit is executed by the neural network processor to interleave shuffled results related to the first sub-group of the group of channels with shuffled results related to the second sub-group of the group of channels; and

wherein the shuffle unit is executed by the neural network processor to maintain, within the shuffled results related to the first sub-group of the group of channels, an order of shuffled results related to the first sub-group of the group of channels.

14. A method executed by a neural network processor, comprising:

receiving information related to a group of channels;

sending information related to a first sub-group of the group of channels to a convolution unit;

sending information related to a second sub-group of the group of channels to a concatenation unit;

performing, by the convolution unit, at least one convolution operation on the information related to the first sub-group of the group of channels to provide convolution results; wherein the convolution results are associated with the first sub-group of the group of channels;

concatenating, by the concatenation unit, the convolution results and the information related to the second sub-group of the group of channels to provide concatenation results, wherein each concatenation result of the concatenation results represents a dedicated channel of the group of channels; and

shuffling, by a shuffle unit, the concatenation results to provide shuffled results, wherein each of the shuffled results is associated with a dedicated channel of the group of channels;

wherein the shuffle unit is executed by the neural network processor to interleave shuffled results related to the first sub-group of the group of channels with shuffled results related to the second sub-group of the group of channels; and

wherein the shuffle unit is executed by the neural network processor to maintain, within the shuffled results related to the first sub-group of the group of channels, an order of shuffled results related to the first sub-group of the group of channels.

Assignments (2)
CHANGE OF NAME Recorded Jan 3, 2023
From: CARTICA AI LTD
To: AUTOBRAINS TECHNOLOGIES LTD
Reel/Frame 062266/0553 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2021
From: PASSOV, ELI
To: AUTOBRAINS TECHNOLOGIES LTD.
Reel/Frame 056569/0405 →
Continuity (2)
Provisional Application 63006828 · Apr 8, 2020
Related Publication 20210319296A1 · Oct 14, 2021
References Cited (12)
US 9557994B2 · Symes · 2017 [cited by examiner]
US 10984245B1 · Tran · 2021 [cited by examiner]
US 11915125B2 · Song · 2024 [cited by examiner]
US 11954457B2 · Song · 2024 [cited by examiner]
US 11967044B2 · Song · 2024 [cited by examiner]
US 20020112147A1 · Chennupaty · 2002 [cited by examiner]
US 20030084082A1 · Debes · 2003 [cited by examiner]
US 20040054877A1 · Macy, Jr. · 2004 [cited by examiner]
US 20040054878A1 · Debes · 2004 [cited by examiner]
US 20170032222A1 · Sharma · 2017 [cited by examiner]
Lutz Roese-Koerner et al. “EffNet: An Efficient Structure for Convolutional Neural Networks”, 2018 IEEE, pp .6-10. [cited by examiner]
Wang et al. “Deep Parametric Continuous Convolutional Neural Networks”, 2018 IEEE, pp. 2589-2597. [cited by examiner]