ml.lib nime 2015 slides

19
ml.lib: Robust, Cross-platform, Open-source Machine Learning for Max and Pure Data Jamie Bullock Associate Professor of Music Technology Birmingham City University Ali Momeni Associate Professor of Art Carnegie Mellon University

Upload: jamie-bullock

Post on 07-Aug-2015

493 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: ml.lib NIME 2015 slides

ml.lib: Robust, Cross-platform, Open-source Machine Learning for Max and Pure Data

Jamie Bullock Associate Professor of Music Technology

Birmingham City University

Ali Momeni Associate Professor of Art Carnegie Mellon University

Page 2: ml.lib NIME 2015 slides

Cont, A. (2008). Antescofo: Anticipatory Synchronization and Control of Interactive Parameters in Computer Music (pp. 33–40). Presented at the International Computer Music Conference, Belfast, Ireland: Ann Arbor, MI: Scholarly Publishing Office, University of Michigan Library.

Page 3: ml.lib NIME 2015 slides

Deyle, T., Palinko, S., & Poole, E. S. (2007). Hambone: A bio-acoustic gesture interface. … Computers. http://doi.org/10.1109/ISWC.2007.4373768

Page 4: ml.lib NIME 2015 slides

Sato, M., Poupyrev, I., & Harrison, C. (2012). Touché: enhancing touch interaction on humans, screens, liquids, and everyday objects. Chi, 483–492. http://doi.org/10.1145/2207676.2207743

Page 5: ml.lib NIME 2015 slides

Ono, M., Shizuki, B., & Tanaka, J. (2013). Touch & activate (pp. 31–40). Presented at the the 26th annual ACM symposium, New York, New York, USA: ACM Press. http://doi.org/10.1145/2501988.2501989

Page 6: ml.lib NIME 2015 slides

Poupyrev, Ivan, et al. "Botanicus Interacticus: interactive plants technology." ACM SIGGRAPH 2012 Emerging Technologies. ACM, 2012.

Page 7: ml.lib NIME 2015 slides

Nielsen,Usability Engineering (1993)

Syst

em a

ccep

tabi

lity

Social acceptability

Cost Compa-

tibility

Relia-bility

Etc.

Utility

Easy to learn

Efficient to use

Easy to remember

Few errors

Subjectively pleasing

Practical accepta-bility

Usefulness

Usability

Page 8: ml.lib NIME 2015 slides

. Raskin, The Humane Interface (2000)

• modeless: user actions should have the same effect regardless of the application’s state

Page 9: ml.lib NIME 2015 slides

addtrainmap

<class> <values …>3 .1 .4 .1 .5 .9 .2 .6

<values …>.1 .4 .1 .5 .9 .2 .6 3

Page 10: ml.lib NIME 2015 slides

recordManually segment time-varying input vectors

Page 11: ml.lib NIME 2015 slides

Dlibmlpack

Shark

• Efficient • Wide range of algorithms • Well supported • Good documentation

GRT

libsvm + others

Page 12: ml.lib NIME 2015 slides

GRT + FLEXT

=ml.lib

+ UCD

Page 13: ml.lib NIME 2015 slides

ClassificationAdaptive Boosting

Adaptive Naive BayesBootstrap Aggregator

Decision Trees Dynamic Time Warping

Finite State Machine Gaussian Mixture ModelHidden Markov Modelk-Nearest Neighbour

Linear Discriminant AnalysisMinimum DistanceParticle Classifier Random Forests

Support Vector Machines

Regression

Artificial Neural NetworkLinear Regression

Logistic RegressionMultidimensional Regression

Regression Tree

Feature Extraction

Peak DetectionMin / Max

Zero Crossings

Page 14: ml.lib NIME 2015 slides

Architecture

live

offline

algorithmtrainingvector

in-memorymodel

“add”

storedmodel

“train”

storeddata

“map”

“read / write”

in-memorydata

inputvector

outputvalue

Page 15: ml.lib NIME 2015 slides

Common Attributesprobs <0/1>

scaling <0/1>

Object-specific Attributesrandomize_training_order <0/1>

mode <0/1>

num_outputs <1..N>

Page 16: ml.lib NIME 2015 slides

Live Demo

Page 17: ml.lib NIME 2015 slides

Swept Frequency Sensing

Page 18: ml.lib NIME 2015 slides

Future Work

• Documentation!!! • Sort out HMMs • Implement GRT clustering algorithms • Possible threaded “train” • Maybe more feature extraction, LibXtract?

Page 19: ml.lib NIME 2015 slides

Thank You!