IP Library Granted Patent US 11,409,286
Granted Patent B2
US 11,409,286 · App. 16/718,495 · Granted Aug 9, 2022

Hardware random forest: low latency, fully reconfigurable ensemble classification

Inventors: Marcio Juliato (Portland, OR); Christopher Gutierrez (Hillsboro, OR); Shabbir Ahmed (Beaverton, OR); Manoj Sastry (Portland, OR); Liuyang Yang (Portland, OR); Xiruo Liu (Portland, OR)
Assignee: INTEL CORPORATION
G05D1/0088G06F16/9027G06K9/6267G06N5/045G05D2201/0213
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,409,286
App. No.
16/718,495
Granted
Aug 9, 2022
Kind
B2
Abstract

Systems, methods, computer program products, and apparatuses for low latency, fully reconfigurable hardware logic for ensemble classification methods, such as random forests. An apparatus may comprise circuitry for an interconnect and circuitry for a random forest implemented in hardware. The random forest comprising a plurality of decision trees connected via the interconnect, each decision tree comprising a plurality of nodes connected via the interconnect. A first decision tree of the plurality of decision trees comprising a first node of the plurality of nodes to: receive a plurality of elements of feature data via the interconnect, select a first element of feature data, of the plurality of elements of feature data, based on a configuration of the first node, and generate an output based on the first element of feature data, an operation, and a reference value, the operation and reference value specified in the configuration of the first node.

Claims (70)

1. An apparatus, comprising:

circuitry for an interconnect; and

circuitry for a random forest implemented in hardware, the random forest to comprise a plurality of decision trees connected via the interconnect, each decision tree to comprise a plurality of nodes connected via the interconnect, a first decision tree of the plurality of decision trees to comprise a first node of the plurality of nodes to:

receive a plurality of elements of feature data via the interconnect;

select a first element of feature data, of the plurality of elements of feature data, based on a configuration of the first node; and

generate an output based on the first element of feature data, an operation, and a reference value, the operation and reference value specified in the configuration of the first node.

2. The apparatus of claim 1 , comprising the first node to:

receive an updated configuration specifying a second element of feature data of the plurality of elements of feature data, an updated operation, and an updated reference value; and

update the configuration of the first node based on the updated configuration, wherein the first and second elements of feature data correspond to different features.

3. The apparatus of claim 2 , comprising the first node to:

receive a second plurality of elements of feature data via the interconnect;

select the second element of feature data of the second plurality of elements of feature data based on the updated configuration of the first node; and

generate a second output based on the second element of feature data, the updated operation, and the updated reference value.

4. The apparatus of claim 1 , comprising the circuitry for the interconnect to:

receive the output generated by the first node;

determine, based on a configuration of the interconnect, to use the output generated by the first node to generate a decision for the first decision tree; and

cause the decision for the first decision tree to be generated based at least in part on the output generated by the first node.

5. The apparatus of claim 4 , comprising the circuitry for the interconnect to:

receive an updated configuration for the interconnect, the updated configuration specifying to not use the output generated by the first node to generate the decision for the first decision tree; and

update the configuration of the interconnect based on the updated configuration for the interconnect.

6. The apparatus of claim 5 , comprising the circuitry for the interconnect to:

receive a second output generated by the first node; and

cause a second decision to be generated for the first decision tree without using the second output generated by the first node.

7. The apparatus of claim 4 , comprising the circuitry for the random forest to:

receive the decision for the first decision tree; and

determine a label for the decision of the first decision tree based on a lookup table indexed using the decision from the first decision tree.

8. The apparatus of claim 7 , the circuitry for the random forest to:

determine the label is returned by a majority of the decision trees; and

determine the label as a final output of the random forest without receiving a decision from each of the decision trees.

9. The apparatus of claim 8 , the circuitry for the random forest implemented in an autonomous vehicle, the autonomous vehicle to modify an operational parameter of the autonomous vehicle based on the final output of the random forest.

10. The apparatus of claim 1 , the plurality of elements of feature data to be received by the first node according to an ordering of the plurality of elements of feature data, the ordering to be determined based a respective count for each element of feature data, each count to be determined based on a count of nodes in each decision tree having a configuration specifying to select the corresponding element of feature data.

11. A method, comprising:

receiving, by a first node via an interconnect, a plurality of elements of feature data, wherein circuitry for a random forest implemented in hardware comprises a plurality of decision trees connected via the interconnect, wherein each decision tree comprises a plurality of nodes connected via the interconnect, a first decision tree of the plurality of decision trees comprising the first node;

selecting, by the first node, a first element of feature data, of the plurality of elements of feature data, based on a configuration of the first node; and

generating, by the first node, an output based on the first element of feature data, an operation, and a reference value, the operation and reference value specified in the configuration of the first node.

12. The method of claim 11 , further comprising:

receiving, by the first node, an updated configuration specifying a second element of feature data of the plurality of elements of feature data, an updated operation, and an updated reference value; and

updating, by the first node, the configuration of the first node based on the updated configuration, wherein the first and second elements of feature data correspond to different features.

13. The method of claim 12 , further comprising:

receiving, by the first node, a second plurality of elements of feature data via the interconnect;

selecting, by the first node, the second element of feature data of the second plurality of elements of feature data based on the updated configuration of the first node; and

generating, by the first node, a second output based on the second element of feature data, the updated operation, and the updated reference value.

14. The method of claim 11 , further comprising:

receiving, by the interconnect, the output generated by the first node;

determining, by the interconnect based on a configuration of the interconnect, to use the output generated by the first node to generate a decision for the first decision tree; and

causing, by the interconnect, the decision for the first decision tree to be generated based at least in part on the output generated by the first node.

15. The method of claim 14 , further comprising:

receiving, by the interconnect, an updated configuration for the interconnect, the updated configuration specifying to not use the output generated by the first node to generate the decision for the first decision tree; and

updating the configuration of the interconnect based on the updated configuration for the interconnect.

16. The method of claim 15 , further comprising:

receiving, by the interconnect, a second output generated by the first node; and

causing, by the interconnect, a second decision to be generated for the first decision tree without using the second output generated by the first node.

17. The method of claim 14 , further comprising:

receiving the decision for the first decision tree;

determining a label for the decision of the first decision tree based on a lookup table indexed using the decision from the first decision tree;

determining the label is returned by a majority of the decision trees; and

determining the label as a final output of the random forest without receiving a decision from each of the decision trees.

18. An autonomous vehicle, comprising:

circuitry for an interconnect; and

circuitry for a random forest implemented in hardware, the random forest to comprise a plurality of decision trees connected via the interconnect, each decision tree to comprise a plurality of nodes connected via the interconnect, a first decision tree of the plurality of decision trees to comprise a first node of the plurality of nodes to:

receive a plurality of elements of feature data via the interconnect;

select a first element of feature data, of the plurality of elements of feature data, based on a configuration of the first node; and

generate an output based on the first element of feature data, an operation, and a reference value, the operation and reference value specified in the configuration of the first node.

19. The autonomous vehicle of claim 18 , comprising the first node to:

receive an updated configuration specifying a second element of feature data of the plurality of elements of feature data, an updated operation, and an updated reference value; and

update the configuration of the first node based on the updated configuration, wherein the first and second elements of feature data correspond to different features.

20. The autonomous vehicle of claim 19 , comprising the first node to:

receive a second plurality of elements of feature data via the interconnect;

select the second element of feature data of the second plurality of elements of feature data based on the updated configuration of the first node; and

generate a second output based on the second element of feature data, the updated operation, and the updated reference value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2019
From: JULIATO, MARCIO; GUTIERREZ, CHRISTOPHER; AHMED, SHABBIR; SASTRY, MANOJ; YANG, LIUYANG; LIU, XIRUO
To: INTEL CORPORATION
Reel/Frame 051346/0970 →
Continuity (1)
Related Publication 20200125097A1 · Apr 23, 2020