IP Library Granted Patent US 12,299,560
Granted Patent B2
US 12,299,560 · App. 17/476,905 · Granted May 13, 2025

Neural network processing device

Inventors: Masahiko Takiguchi (Yokohama, JP); Kazuhiro Matsumoto (Yokohama, JP)
Assignee: SAMSUNG DISPLAY CO., LTD.
G06N3/063G06N3/08
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,299,560
App. No.
17/476,905
Granted
May 13, 2025
Kind
B2
Abstract

A neural network processing device includes: a convolution part which receives an input signal and a learning completion weight parameter, performs a convolution operation on the input signal and the learning completion weight parameter, and outputs a convolution signal that is a result value of the convolution operation; a batch adjustment which receives the convolution signal and a learning completion normalization parameter, and outputs an adjustment signal obtained by adjusting an output deviation of the convolution signal; and an activation part which converts the adjustment signal into an output signal based on an activation function.

Claims (271)

1. A neural network processing device comprising:

a convolution part which receives an input signal and a learning completion weight parameter, performs a convolution operation on the input signal and the learning completion weight parameter, and outputs a convolution signal that is a result value of the convolution operation, the convolution part comprising:

a multiplier which multiplies the input signal and the learning completion weight parameter; and

a quantizer which quantizes an output of the multiplier and outputs the convolution signal;

a batch adjustment part which receives the convolution signal and a learning completion normalization parameter, and outputs an adjustment signal obtained by adjusting an output deviation of the convolution signal; and

an activation part which converts the adjustment signal into an output signal based on an activation function;

wherein the quantizer performs a quantization operation corresponding to:

z

q

=

{

M

z

>

M

round

(

z

×

2

t

-

1

÷

M

)

÷

2

t

-

1

×

M

-

M

<

z

M

-

M

z

M

,

where z is the output of the multiplier, t is a bit width of the convolution signal, M is a maximum value in a range −a to b, a and b are natural numbers other than 1, and z q is the convolution signal; and

wherein the quantizer includes a quantization setting to set a range of the convolution signal output from the quantizer such that it corresponds to a floating-point type range of an actual signal represented by a curve of a distribution of a signal output from the multiplier, thereby converting to a fixed-point type range that reduces a number of bits required for quantization.

2. The neural network processing device of claim 1 , wherein the activation part normalizes the output signal to a value between 0 and 1.

3. The neural network processing device of claim 1 , wherein the learning completion weight parameter w′ is calculated by the following Equation:

w

=

w

max

(

"\[LeftBracketingBar]"

w

"\[RightBracketingBar]"

)

,

where w is a learning parameter.

4. The neural network processing device of claim 1 , wherein the learning completion normalization parameter is normalized to a value between −1 and 1.

5. The neural network processing device of claim 1 , wherein the learning completion normalization parameter includes a first parameter and a second parameter, and

wherein the batch adjustment part includes:

a multiplier which multiplies the convolution signal and the first parameter;

a first quantizer which quantizes an output of the multiplier;

an adder which adds an output of the first quantizer and the second parameter; and

a second quantizer which quantizes an output of the adder.

6. The neural network processing device of claim 5 , wherein the first parameter is a value calculated by the following Equation:

A

=

max

(

"\[LeftBracketingBar]"

w

"\[RightBracketingBar]"

)

max

(

"\[LeftBracketingBar]"

y

"\[RightBracketingBar]"

)

A

,

where max(|w|) is a maximum value of an absolute value of a learning parameter w, max(|y|) is a maximum value of an absolute value of an output signal y,

A

=

γ

σ

B

,

γ

is a learning parameter, and σ B is a standard deviation of the input signal.

7. The neural network processing device of claim 5 , wherein the second parameter is a value calculated by the following Equation:

B

=

B

max

(

"\[LeftBracketingBar]"

y

"\[RightBracketingBar]"

)

,

where max(|y|) is a maximum value of an absolute value of an output signal y,

B

=

β

-

μ

B

γ

σ

B

,

each of γ and β is a learning parameter, μ B is a mean of the input signal, and σ B is a standard deviation of the input signal.

8. The neural network processing device of claim 1 , wherein the activation part converts the adjustment signal into the output signal to have a value between 0 and 1, based on the activation function.

9. The neural network processing device of claim 1 , wherein the input signal is an image signal.

10. A neural network processing device comprising:

an input layer;

an intermediate layer; and

an output layer, and

wherein the intermediate layer includes:

a convolution part which receives an input signal and a learning completion weight parameter from the input layer, performs a convolution operation on the input signal and the learning completion weight parameter, and outputs a convolution signal that is a result value of the convolution operation, the convolution part comprising:

a multiplier which multiplies the input signal and the learning completion weight parameter; and

a quantizer which quantizes an output of the multiplier and outputs the convolution signal;

a batch adjustment part which receives the convolution signal and a learning completion normalization parameter, and outputs an adjustment signal obtained by adjusting an output deviation of the convolution signal; and

an activation part which converts the adjustment signal into an output signal based on an activation function and outputs the output signal to the output layer;

wherein the quantizer performs a quantization operation corresponding to:

z

q

=

{

M

z

>

M

round

(

z

×

2

t

-

1

÷

M

)

÷

2

t

-

1

×

M

-

M

<

z

M

-

M

z

M

,

where z is the output of the multiplier, t is a bit width of the convolution signal, M is a maximum value in a range −a to b, a and b are natural numbers other than 1, and z q is the convolution signal; and

wherein the quantizer includes a quantization setting to set a range of the convolution signal output from the quantizer such that it corresponds to a floating-point type range of an actual signal represented by a curve of a distribution of a signal output from the multiplier, thereby converting to a fixed-point type range that reduces a number of bits required for quantization.

11. The neural network processing device of claim 10 , wherein the activation part normalizes the output signal to a value between 0 and 1.

12. The neural network processing device of claim 10 , wherein the learning completion weight parameter w′ is calculated by the following Equation:

w

=

w

max

(

"\[LeftBracketingBar]"

w

"\[RightBracketingBar]"

)

,

where w is a learning parameter.

13. The neural network processing device of claim 10 , wherein the learning completion normalization parameter is normalized to a value between −1 and 1.

14. The neural network processing device of claim 10 , wherein the learning completion normalization parameter includes a first parameter and a second parameter, and

wherein the batch adjustment part includes:

a multiplier which multiplies the convolution signal and the first parameter;

a first quantizer which quantizes an output of the multiplier;

an adder which adds an output of the first quantizer and the second parameter; and

a second quantizer which quantizes an output of the adder.

15. The neural network processing device of claim 14 , wherein the first parameter is a value calculated by the following Equation:

A

=

max

(

"\[LeftBracketingBar]"

w

"\[RightBracketingBar]"

)

max

(

"\[LeftBracketingBar]"

y

"\[RightBracketingBar]"

)

A

,

where max(|w|) is a maximum value of an absolute value of a learning parameter w, max(|y|) is a maximum value an absolute value of an output signal y,

A

=

γ

σ

B

,

is a learning parameter, and σ B is a standard deviation of the input signal.

16. The neural network processing device of claim 14 , wherein the second parameter is a value calculated by the following Equation:

B

=

B

max

(

"\[LeftBracketingBar]"

y

"\[RightBracketingBar]"

)

,

where max(|y|) is a maximum value of an absolute value of an output signal y,

B

=

β

-

μ

B

γ

σ

B

,

each of γ and β is a learning parameter, μ B is a mean of the input signal, and σ B is a standard deviation of the input signal.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2023
From: TAKIGUCHI, MASAHIKO; MATSUMOTO, KAZUHIRO
To: SAMSUNG DISPLAY CO., LTD.
Reel/Frame 063253/0742 →
Priority Claims (1)
KR 10-2020-0183601 · Dec 24, 2020 · national
Continuity (1)
Related Publication 20220207335A1 · Jun 30, 2022
References Cited (19)
US 10671922B2 · Ioffe · 2020 [cited by applicant]
US 20190042948A1 · Lee et al. · 2019 [cited by applicant]
US 20200026986A1 · Ha et al. · 2020 [cited by applicant]
US 20200193293A1 · Song et al. · 2020 [cited by applicant]
US 20200218964A1 · Nakahara · 2020 [cited by applicant]
JP 201957072A · 2019 [cited by applicant]
JP 2020506488A · 2020 [cited by applicant]
JP 202060967A · 2020 [cited by applicant]
KR 1020190014900A · 2019 [cited by applicant]
KR 1020190125141A · 2019 [cited by applicant]
KR 1020200072308A · 2020 [cited by applicant]
KR 1020200121497A · 2020 [cited by applicant]
WO 2019076866A1 · 2019 [cited by applicant]
Ge, Jiexian, et al. “BNReLU: Combine batch normalization and rectified linear unit to reduce hardware overhead.” 2019 IEEE 13th International Conference on ASIC (ASICON). IEEE, 2019. (Year: 2019). [cited by examiner]
Ding, Bin, Huimin Qian, and Jun Zhou. “Activation functions and their characteristics in deep neural networks.” 2018 Chinese control and decision conference (CCDC). IEEE, 2018. (Year: 2018). [cited by examiner]
Cai, Wen-Pu, and Wu-Jun Li. “Weight normalization based quantization for deep neural network compression.” arXiv preprint arXiv: 1907.00593 (2019) (Year: 2019). [cited by examiner]
“Can someone explain MaxAbsScaler in Scikit-learn?”, Oct. 15, 2019, https://stackoverflow.com/questions/58372209/can-someone-explain-maxabsscaler-in-scikit-learn (Year: 2019). [cited by examiner]
Krishnamoorthi, Raghuraman. “Quantizing deep convolutional networks for efficient inference: A whitepaper.” arXiv preprint arXiv: 1806.08342 (2018). (Year: 2018). [cited by examiner]
Choi, Jungwook, et al. “Accurate and efficient 2-bit quantized neural networks.” Proceedings of Machine Learning and Systems 1 (2019): 348-359. (Year: 2018). [cited by examiner]