IP Library Granted Patent US 9,020,871
Granted Patent B2
US 9,020,871 · App. 12/818,877 · Granted Apr 28, 2015

Automated classification pipeline tuning under mobile device resource constraints

Inventors: Nicholas D. Lane (Hanover, NH); David Chiyuan Chu (Beijing, CN); Jing Zhao (Beijing, CN); Feng Zhao (Issaquah, WA)
Assignee: Microsoft Technology Licensing, LLC
G06N99/005G06K9/00973
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 9,020,871
App. No.
12/818,877
Filed
Jun 18, 2010
Granted
Apr 28, 2015
Kind
B2
Examiner
WONG, LUT
Art Unit
2129
USPC
706/12
Abstract

An architecture and techniques to enable a mobile device to efficiently classify raw sensor data into useful high level inferred data is discussed. Classification efficiency is achieved by tuning the mobile device's raw sensor data classification pipeline to attain a balance of accuracy, latency and energy suitable for mobile devices. The tuning of the classification pipeline is accomplished via a multi-pipeline tuning approach that uses Statistical Machine Learning Tools (SMLTs) and a classification cost modeler.

Claims (28)

1. One or more computer readable storage memory devices including computer instructions executable by a processor of a computing device, the computer instructions being executable for tuning a general classification pipeline by performing operations comprising:

for individual iterations of a plurality of iterations that alternate between a training classification pipeline and the general classification pipeline, evaluating training data through the training classification pipeline or the general classification pipeline using pipeline parameters, wherein the pipeline parameters include at least one of data set parameters, feature extraction parameters, or model selection parameters; and

after evaluating the training data for a particular iteration of the plurality of iterations, determining if the training data and the pipeline parameters produce results meeting a criteria, and if the results from the particular iteration do not meet the criteria, then adjusting the pipeline parameters before continuing with a next iteration of the plurality of iterations.

2. The one or more computer readable storage memory devices of claim 1 , wherein adjusted parameters from a particular pipeline are used in the next iteration to adjust a next set of parameters for a next pipeline during the next iteration.

3. The one or more computer readable storage memory devices of claim 1 , wherein the criteria comprises one or more of a threshold accuracy value, a latency range, or an energy consumption range.

4. The one or more computer readable storage memory devices of claim 1 , wherein the general classification pipeline comprises at least a sampling module, a general classification pipeline feature extraction module, or a general classification pipeline model computation module.

5. The one or more computer readable storage memory devices of claim 4 , wherein the general classification pipeline feature extraction module and the general classification pipeline model computation module are each configured to exchange parameters with a training classification pipeline feature extraction module, and a training classification pipeline computation module, respectively.

6. The one or more computer readable storage memory devices of claim 1 , wherein the adjusting is comprised of determining a Pareto frontier of potential pipeline parameter configurations before continuing with the next iteration.

7. The one or more computer readable storage memory devices of claim 1 , wherein the evaluating comprises using a cost model, the cost model configured to calculate a latency cost and an energy cost.

8. The one or more computer readable storage memory devices of claim 7 , wherein the calculating of the energy cost comprises calculating the cost with respect to a specific target device hardware energy requirement.

9. The one or more computer readable storage memory devices of claim 1 , wherein the general classification pipeline includes a plurality of generalized modules that are pre-configured to execute on a plurality of different mobile devices.

10. A method comprising:

for individual iterations of a plurality of iterations that alternate between a training classification pipeline and the general classification pipeline, evaluating training data through the training classification pipeline or the general classification pipeline using pipeline parameters, wherein the pipeline parameters include one of data set parameters, feature extraction parameters, or model selection parameters; and

after evaluating the training data for a particular iteration of the plurality of iterations, determining if the training data and the pipeline parameters produce results meeting a criteria, and if the results from the particular iteration do not meet the criteria, then adjusting the pipeline parameters before continuing with a next iteration of the plurality of iterations, wherein adjusted parameters from a particular pipeline are used in the next iteration to adjust a next set of parameters for a next pipeline during the next iteration.

11. The method of claim 10 , wherein the criteria comprises a threshold accuracy value, a latency range, or an energy consumption range.

12. The method claim 10 , wherein the general classification pipeline comprises at least a sampling module, a general classification pipeline feature extraction module, or a general classification pipeline model computation module.

13. The method of claim 12 , wherein the general classification pipeline feature extraction module and the general classification pipeline model computation module are each configured to exchange parameters with a training classification pipeline feature extraction module, and a training classification pipeline computation module, respectively.

14. The method claim 10 , wherein the adjusting is comprised of determining a Pareto frontier of potential pipeline parameter configurations before continuing with the next iteration.

15. The method of claim 10 , wherein the evaluating comprises using a cost model, the cost model configured to calculate a latency cost and an energy cost.

16. A computing device comprising:

a processor; and

a memory coupled to the processor, the memory comprising computer-program instructions executable by the processor for performing acts comprising:

for individual iterations of a plurality of iterations that alternate between a training classification pipeline and the general classification pipeline, evaluating training data through the training classification pipeline or the general classification pipeline using pipeline parameters, wherein the pipeline parameters include one of data set parameters, feature extraction parameters, or model selection parameters; and

after evaluating the training data for a particular iteration of the plurality of iterations, determining if the training data and the pipeline parameters produce results meeting a criteria, and if the results from the particular iteration do not meet the criteria, then adjusting the pipeline parameters before continuing with a next iteration of the plurality of iterations.

17. The computing device of claim 16 , wherein adjusted parameters from a particular pipeline are used in the next iteration to adjust a next set of parameters for a next pipeline during the next iteration.

18. The computing device of claim 16 , wherein the criteria comprises a threshold accuracy value, a latency range, or an energy consumption range.

19. The computing device of claim 16 , wherein the evaluating comprises a cost model, the cost model configured to calculate a latency cost and an energy cost.

20. The computing device of claim 19 , wherein the calculating of the energy cost comprises calculating the energy cost with respect to a specific target device hardware energy requirement.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2010
From: CHU, DAVID CHIYUAN; LANE, NICHOLAS D.; ZHAO, JING; ZHAO, FENG
To: MICROSOFT CORPORATION
Reel/Frame 024561/0092 →
Continuity (1)
Related Publication 20110313953A1 · Dec 22, 2011