IP Library › Granted Patent US 11,003,985
Granted Patent B2
US 11,003,985 · App. 15/806,111 · Granted May 11, 2021

Convolutional neural network system and operation method thereof

Inventors: Jin Kyu Kim (Sejong, KR); Byung Jo Kim (Sejong, KR); Seong Min Kim (Sejong, KR); Ju-Yeob Kim (Daejeon, KR); Mi Young Lee (Daejeon, KR); Joo Hyun Lee (Daejeon, KR)
Assignee: ELECTRONICS AND TELECOMMUNICATIONS RESEARCH INSTITUTE
G06N3/063G06F7/5443G06F17/15G06F17/153G06N3/04G06N3/0454G06N3/082
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 11,003,985
App. No.
15/806,111
Granted
May 11, 2021
Kind
B2
Abstract

Provided is a convolutional neural network system including a data selector configured to output an input value corresponding to a position of a sparse weight from among input values of input data on a basis of a sparse index indicating the position of a nonzero value in a sparse weight kernel, and a multiply-accumulate (MAC) computator configured to perform a convolution computation on the input value output from the data selector by using the sparse weight kernel.

Claims (37)

1. A convolutional neural network system comprising:

a data selector configured to output an input value corresponding to a position of a sparse weight from among input values of input data on a basis of a sparse index indicating the position of a nonzero value in a sparse weight kernel; and

a multiply-accumulate (MAC) computator configured to perform a convolution computation on the input value output from the data selector by using the sparse weight kernel,

wherein the sparse weight kernel comprises at least one weight value of ‘0’,

wherein the data selector comprises:

a switch circuit; and

a plurality of multiplexes (MUXes),

wherein the switch circuit is configured to provide the respective input values to the plurality of MUXes on a basis of the sparse weight kernel, and

each of the plurality of MUXes is configured to select and output, on a basis of the sparse index, the input value corresponding to the position of the sparse weight from among the input values provided by the switch circuit.

2. The convolutional neural network system of claim 1 , wherein the data selector is configured not to output, from among the input values, an input value corresponding to a position of ‘0’ in the sparse weight kernel.

3. The convolutional neural network system of claim 1 , further comprising:

an input buffer device configured to store, from an external memory, an input tile that is a part of the input data; and

an output buffer device configured to store a result value of the convolution computation from the MAC computator and to provide the stored result value to the external memory.

4. The convolutional neural network system of claim 1 , further comprising:

a weight kernel buffer device configured to receive the sparse weight kernel from an external memory, provide the received sparse weight kernel to the MAC computator, and provide the sparse index of the sparse weight kernel to the data selector.

5. The convolutional neural network system of claim 1 , wherein the MAC computator comprises a plurality of MAC cores configured to receive the respective input values output from the plurality of MUXes, and to perform the convolution computation on the received input values on the basis of the sparse weight kernel.

6. The convolutional neural network system of claim 5 , wherein each of the plurality of MAC cores comprises:

a multiplier configured to perform a multiplication on the input value and the sparse weight;

an adder configured to perform addition on a result of the multiplication and a previous addition result; and

a register configured to store a result of the addition.

7. The convolutional neural network system of claim 1 , wherein the sparse weight kernel is a weight kernel converted from a full weight kernel through a neural network compression, and

the full weight kernel is configured from nonzero weight values.

8. The convolutional neural network system of claim 7 , wherein the neural network compression is performed on a basis of at least one of a parameter dropout scheme, a weight sharing scheme, or a parameter quantization scheme for the full weight kernel.

9. A convolutional neural network system comprising:

an input buffer device configured to receive, from an external memory, an input tile comprising a plurality of input values, and store the plurality of input values of the received input tile;

a data selector configured to output at least one input value from among the plurality of input values from the input buffer device on a basis of a sparse index indicating a position of a sparse weight of nonzero in a sparse weight kernel;

a multiply-accumulate (MAC) computator configured to perform a convolution computation on a basis of the sparse weight and the at least one input value from the data selector; and

an output buffer device configured to store a result value of the convolution computation from the MAC computator and to provide the stored result value to the external memory as an output tile,

wherein the data selector comprises:

a switch circuit; and

a plurality of multiplexes (MUXes),

wherein the switch circuit is configured to respectively connect the plurality of input values to the plurality of MUXes on a basis of the sparse weight kernel and a size of the input tile, and

each of the plurality of MUXes is configured to select and output, on the basis of the sparse index, the at least one input value corresponding to the position of the sparse weight from among the connected input values.

10. The convolutional neural network system of claim 9 , wherein each of the plurality of MUXes does not output an input value corresponding to a ‘0’ weight in the sparse weight kernel.

11. The convolutional neural network system of claim 9 , wherein the at least one input value from each of the plurality of MUXes is an input value corresponding to the position of the sparse weight.

12. The convolutional neural network system of claim 9 , wherein, when the sparse weight kernel has a size of K×K (where K is a natural number), the switch circuit is configured to connect 2K input values to the plurality of MUXes.

13. The convolutional neural network system of claim 9 , wherein the MAC computator comprises a plurality of MAC cores configured to perform the convolution computations on the basis of the sparse weight kernel and the at least one input value from each of the plurality of MUXes.

Assignments (2)
LICENSE Recorded Mar 23, 2026
From: ELECTRONICS AND TELECOMMUNICATIONS RESEARCH INSTITUTE
To: INFERENCE STACK INC.
Reel/Frame 075226/0256 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 8, 2017
From: KIM, JIN KYU; KIM, BYUNG JO; KIM, SEONG MIN; KIM, JU-YEOB; LEE, MI YOUNG; LEE, JOO HYUN
To: ELECTRONICS AND TELECOMMUNICATIONS RESEARCH INSTITUTE
Reel/Frame 044711/0349 →
Priority Claims (2)
KR 10-2016-0147744 · Nov 7, 2016 · national
KR 10-2017-0028471 · Mar 6, 2017 · national
Continuity (1)
Related Publication 20180129935A1 · May 10, 2018
Cited By (8)
US 12,254,398 US 12,380,321 US 12,530,169 US 12,596,913 US 12,619,678 US 12,657,428 US 12,682,242 US 12,693,990