IP Library Granted Patent US 10,699,160
Granted Patent B2
US 10,699,160 · App. 16/110,664 · Granted Jun 30, 2020

Neural network method and apparatus

Inventors: Sehwan Lee (Suwon-si, KR); Leesup Kim (Daejeon, KR); Hyeonuk Kim (Gyeongsan-si, KR); Jaehyeong Sim (Gunsan-si, KR); Yeongjae Choi (Changwon-si, KR)
Assignees: Samsung Electronics Co., Ltd.; Korea Advanced Institute of Science and Technology
G06K9/623G06K9/6251G06K9/6267G06N3/04G06N3/0454G06N3/063
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 10,699,160
App. No.
16/110,664
Granted
Jun 30, 2020
Kind
B2
Abstract

A processor-implemented neural network method includes: obtaining, from a memory, data an input feature map and kernels having a binary-weight, wherein the kernels are to be processed in a layer of a neural network; decomposing each of the kernels into a first type sub-kernel reconstructed with weights of a same sign, and a second type sub-kernel for correcting a difference between a respective kernel, among the kernels, and the first type sub-kernel; performing a convolution operation by using the input feature map and the first type sub-kernels and the second type sub-kernels decomposed from each of the kernels; and obtaining an output feature map by combining results of the convolution operation.

Claims (31)

1. A processor-implemented neural network method, comprising:

obtaining, from a memory, data of an input feature map and kernels having a binary-weight, wherein the kernels are to be processed in a layer of a neural network;

decomposing each of the kernels into a first type sub-kernel reconstructed with weights of a same sign, and a second type sub-kernel for correcting a difference between a respective kernel, among the kernels, and the first type sub-kernel;

performing a convolution operation by using the input feature map and the first type sub-kernels and the second type sub-kernels decomposed from each of the kernels; and

obtaining an output feature map by combining results of the convolution operation.

2. The method of claim 1 , wherein the first type sub-kernel is reconstructed by replacing weights of all elements of each of the kernels with a same value.

3. The method of claim 2 , wherein, when the input feature map has an index of an odd channel, the first type sub-kernel is a sub-kernel reconstructed by setting weights of all elements of the first type sub-kernel with a same value of a first sign, and when the input feature map has an index of an even channel, the first type sub-kernel is a sub-kernel reconstructed by replacing the weights of all elements of the first type sub-kernel with a same value of a second sign.

4. The method of claim 1 , wherein the first type sub-kernels respectively decomposed from the kernels for performing the convolution operation with the input feature map are identical.

5. The method of claim 1 , wherein the second type sub-kernel is a sub-kernel reconstructed by

defining selected elements of the second type sub-kernel with corresponding original weights of the respective kernel that are different from corresponding weights among the weights of the first type sub-kernel,

and not defining remaining elements of the second type sub-kernel with any weights.

6. The method of claim 1 , wherein the performing of the convolution operation comprises performing a first convolution operation between a current window of the input feature map and the first type sub-kernel decomposed from an initial kernel among the kernels, and performing a second convolution operation between the current window and each of the second type sub-kernels decomposed from the kernels.

7. The method of claim 6 , wherein, in the performing of the convolution operation, the first convolution operation between the current window and each of the first type sub-kernels decomposed from remaining kernels among the kernels, excluding the initial kernel, is clock-gated to be skipped, and a result of the first convolution operation performed with respect to the initial kernel is reused as results of the first convolution operation with respect to the remaining kernels.

8. The method of claim 6 , wherein the second convolution operation is performed between matrix elements for which a weight is defined in each of the second type sub-kernels and a corresponding pixel of the input feature map, and is skipped with respect to matrix elements in each of the second type sub-kernels for which a weight is not defined.

9. The method of claim 1 , wherein the obtaining of the output feature map comprises obtaining the output feature map by determining each pixel value among pixel values of the output feature map, based on a value obtained by adding double a result value of a second convolution operation between the second type sub-kernel and a window of the input feature map to a result value of a first convolution operation between the first type sub-kernel and the window.

10. A non-transitory computer-readable recording medium storing instructions that, when executed by a processor, cause the processor to perform the method of claim 1 .

11. A neural network apparatus, comprising:

a processor configured to

obtain data of an input feature map and kernels having a binary-weight, wherein the kernels are to be processed in a layer of the neural network,

decompose each of the kernels into a first type sub-kernel reconstructed with weights of a same sign, and a second type sub-kernel for correcting a difference between a respective kernel, among the kernels, and the first type sub-kernel,

perform a convolution operation by using the input feature map and the first type sub-kernels and the second type sub-kernels decomposed from each of the kernels, and

obtain an output feature map by combining results of the convolution operation.

12. The neural network apparatus of claim 11 , wherein the first type sub-kernel is reconstructed by replacing weights of all elements of each of the kernels with a same value.

13. The neural network apparatus of claim 12 , wherein, when the input feature map has an index of an odd channel, the first type sub-kernel is a sub-kernel reconstructed by replacing weights of all elements of the first type sub-kernel with a same value of a first sign, and when the input feature map has an index of an even channel, the first type sub-kernel is a sub-kernel reconstructed by replacing the weights of all elements of the first type sub-kernel with a same value of a second sign.

14. The neural network apparatus of claim 11 , wherein the first type sub-kernels respectively decomposed from the kernels for performing the convolution operation with the input feature map are identical.

15. The neural network apparatus of claim 11 , wherein the second type sub-kernel is a sub-kernel reconstructed by defining selected elements of the second type sub-kernel with corresponding original weights of the respective kernel that are different from corresponding weights among the weights of the first type sub-kernel, and not defining remaining elements of the second type sub-kernel with any weights.

16. The neural network apparatus of claim 11 , wherein, for the performing of the convolution, the processor is configured to execute the at least one program to perform a first convolution operation between a current window of the input feature map and the first type sub-kernel decomposed from an initial kernel among the kernels, and perform a second convolution operation between the current window and each of the second type sub-kernels decomposed from the kernels.

17. The neural network apparatus of claim 16 , wherein the processor is further configured to clock-gate a first convolution operation between the current window and each of the first type sub-kernels decomposed from remaining kernels among the kernels, excluding the initial kernel, to be skipped, and reuse a result of the first convolution operation performed with respect to the initial kernel as results of the first convolution operation with respect to the remaining kernels.

18. The neural network apparatus of claim 16 , wherein the second convolution operation is performed between matrix elements for which a weight is defined in each of the second type sub-kernels and a corresponding pixel of the input feature map, and is skipped with respect to matrix elements in each of the second type sub-kernels for which a weight is not defined.

19. The neural network apparatus of claim 11 , wherein the processor is further configured to obtain the output feature map by determining each pixel value among pixel values of the output feature map, based on a value obtained by adding double a result value of a second convolution operation between the second type sub-kernel and a window of the input feature map to a result value of a first convolution operation between the first type sub-kernel and the window.

20. The neural network apparatus of claim 11 , further comprising a memory storing instructions that, when executed, configure the processor to obtain the data and the kernels, decompose each of the kernels, perform the convolution operation, and obtain the output feature map.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 19, 2018
From: LEE, SEHWAN; KIM, LEESUP; KIM, HYEONUK; SIM, JAEHYEONG; CHOI, YEONGJAE
To: SAMSUNG ELECTRONICS CO., LTD.; KOREA ADVANCED INSTITUTE OF SCIENCE AND TECHNOLOGY
Reel/Frame 046908/0804 →
Priority Claims (1)
KR 10-2017-0135246 · Oct 18, 2017 · national
Continuity (2)
Provisional Application 62549084 · Aug 23, 2017
Related Publication 20190065896A1 · Feb 28, 2019
Cited By (1)
US 12,530,169