IP Library › Granted Patent US 11,263,530
Granted Patent B2
US 11,263,530 · App. 16/164,692 · Granted Mar 1, 2022

Apparatus for operations at maxout layer of neural networks

Inventors: Dong Han (Beijing, CN); Qi Guo (Beijing, CN); Tianshi Chen (Beijing, CN); Yunji Chen (Beijing, CN)
Assignee: Cambricon Technologies Corporation Limited
G06N3/082G06N3/04G06N3/06
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,263,530
App. No.
16/164,692
Filed
Oct 18, 2018
Granted
Mar 1, 2022
Kind
B2
Art Unit
2128
USPC
706/25
Abstract

Aspects for maxout layer operations in neural network are described herein. The aspects may include a load/store unit configured to retrieve input data from a storage module. The input data may be formatted as a three-dimensional vector that includes one or more feature values stored in a feature dimension of the three-dimensional vector. The aspects may further include a pruning unit configured to divide the one or more feature values into one or more feature groups based on one or more data ranges and select a maximum feature value from each of the one or more feature groups. Further still, the pruning unit may be configured to delete, in each of the one or more feature groups, feature values other than the maximum feature value and update the input data with the one or more maximum feature values.

Claims (30)

1. An apparatus for data pruning at a maxout layer of a neural network, comprising:

an operation circuit configured to receive a maxout layer operation instruction that includes an operation code and at least five operation fields, wherein the at least five operation fields respectively indicate a starting address of the input data, a bit length of the input data, a starting address of output data, a bit length of the output data, and the one or more data ranges that determine the one or more feature groups;

a load/store circuit configured to retrieve input data from a storage module in response to the maxout layer operation instruction,

wherein the input data is formatted as a three-dimensional vector that includes one or more feature values stored in a feature dimension of the three-dimensional vector; and

a pruning circuit configured to

in response to the maxout layer operation instruction, divide the one or more feature values into one or more feature groups based on one or more data ranges,

in response to the maxout layer operation instruction, select a maximum feature value from each of the one or more feature groups,

in response to the maxout layer operation instruction, delete, in each of the one or more feature groups, feature values other than the maximum feature value, and

in response to the maxout layer operation instruction, update the input data with the one or more maximum feature values.

2. The apparatus of claim 1 , wherein the input data further includes an abscissa and an ordinate.

3. The apparatus of claim 1 , further comprising a data conversion circuit configured to adjust a write sequence in storing the input data.

4. The apparatus of claim 3 , wherein the load/store circuit is further configured to store the one or more feature values prior to storing data in other dimensions of the input data in accordance with the adjusted write sequence.

5. The apparatus of claim 3 , wherein the data conversion circuit is further configured to adjust a read sequence in loading the input data.

6. The apparatus of claim 5 , wherein the load/store circuit is further configured to load the one or more feature values prior to loading the data in other dimensions of the input data in accordance with the adjusted read sequence.

7. The apparatus of claim 1 , further comprising the operation circuit configured to perform one or more operations to the updated input data, wherein the one or more operations include a sigmoid operation, a TanH operation, a relu operation, or a softmax operation.

8. The apparatus of claim 1 , further comprising a register circuit configured to store data addresses that indicate where the input data is stored in the storage module.

9. A method for data pruning at a maxout layer of a neural network, comprising:

receiving, by an operation circuit, a maxout layer operation instruction that includes an operation code and at least five operation fields, wherein the at least five operation fields respectively indicate a starting address of the input data, a bit length of the input data, a starting address of output data, a bit length of the output data, and the one or more data ranges that determine the one or more feature groups;

retrieving, in response to the maxout layer operation instruction, by a load/store circuit, input data from a storage module, wherein the input data is formatted as a three-dimensional vector that includes one or more feature values stored in a feature dimension of the three-dimensional vector;

dividing, in response to the maxout layer operation instruction, by a pruning circuit, the one or more feature values into one or more feature groups based on one or more data ranges;

selecting, in response to the maxout layer operation instruction, by the pruning circuit, a maximum feature value from each of the one or more feature groups;

deleting, in response to the maxout layer operation instruction, by the pruning circuit, feature values other than the maximum feature value in each of the one or more feature groups; and

updating, in response to the maxout layer operation instruction, by the pruning circuit, the input data with the one or more maximum feature values.

10. The method of claim 9 , wherein the input data further includes an abscissa and an ordinate.

11. The method of claim 9 , further comprising adjusting, by a data conversion circuit, a write sequence in storing the input data.

12. The method of claim 11 , further comprising storing, by the load/store circuit, the one or more feature values prior to storing data in other dimensions of the input data in accordance with the adjusted write sequence.

13. The method of claim 11 , further comprising adjusting, by the data conversion circuit, a read sequence in loading the input data.

14. The method of claim 13 , further comprising loading, by the load/store circuit, the one or more feature values prior to loading the data in other dimensions of the input data in accordance with the adjusted read sequence.

15. The method of claim 9 , further comprising performing, by the operation circuit, one or more operations to the updated input data, wherein the one or more operations include a sigmoid operation, a TanH operation, a relu operation, or a softmax operation.

16. The method of claim 9 , further comprising storing, by a register circuit, data addresses that indicate where the input data is stored in the storage module.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2018
From: HAN, DONG; GUO, QI; CHEN, TIANSHI; CHEN, YUNJI
To: CAMBRICON TECHNOLOGIES CORPORATION LIMITED
Reel/Frame 047259/0114 →
Continuity (2)
Continuation In Part PCTCN2016079637 · Apr 19, 2016
Related Publication 20190050736A1 · Feb 14, 2019