20
1 Debugging, Developing, Distributing and Demonstrating Complex Signal Processing Systems with MATLAB November 3, 2016 Malcolm Slaney

Debugging, Developing, Distributing and Demonstrating ......2 Caveat I’m currently a Research Scientist in Google’s Machine Hearing Group, but today’s work was done at: •Apple

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Debugging, Developing, Distributing and Demonstrating ......2 Caveat I’m currently a Research Scientist in Google’s Machine Hearing Group, but today’s work was done at: •Apple

1

Debugging, Developing, Distributing

and Demonstrating Complex Signal

Processing Systems with MATLAB

November 3, 2016

Malcolm Slaney

Page 2: Debugging, Developing, Distributing and Demonstrating ......2 Caveat I’m currently a Research Scientist in Google’s Machine Hearing Group, but today’s work was done at: •Apple

2

Caveat

I’m currently a Research Scientist in Google’s Machine Hearing

Group, but today’s work was done at:• Apple Computer’s Advanced Technology Group

• Interval Research

• IBM’s Almaden Research

• Yahoo! Research

Not• Google

Page 3: Debugging, Developing, Distributing and Demonstrating ......2 Caveat I’m currently a Research Scientist in Google’s Machine Hearing Group, but today’s work was done at: •Apple

3

Outline

Debugging• CDROM

• Apple ASR via MEX

Developing• Hadoop for Neural Network Grid Search

Documenting and Demonstrating• Auditory Toolbox

• Telluride Decoding Toolbox

• Web API

• Snakes

• Support Vector Classifiers

Page 4: Debugging, Developing, Distributing and Demonstrating ......2 Caveat I’m currently a Research Scientist in Google’s Machine Hearing Group, but today’s work was done at: •Apple

4

Debugging – AT&T TrueVoice

Unknown (magical) processing

Spectral Estimation in MATLAB

https://www.youtube.com/watch?v=UFqX1Et-dWQ

102

103

Audio Frequency (Hz)

-4

-2

0

2

4

6

8

10

12

Aud

io G

ain

(dB

)

Spectral Analysis of TrueVoice Demo

Page 5: Debugging, Developing, Distributing and Demonstrating ......2 Caveat I’m currently a Research Scientist in Google’s Machine Hearing Group, but today’s work was done at: •Apple

5

James Kaiser

James: Malcolm, you have to see this

operator

Malcolm: Yea, Jim.

James (next year): Malcolm, you have to

see this operator.

Malcolm: Yea, Jim.

Page 6: Debugging, Developing, Distributing and Demonstrating ......2 Caveat I’m currently a Research Scientist in Google’s Machine Hearing Group, but today’s work was done at: •Apple

6

Debugging – CDROM Driver

Dropped samples• Software engineers disagreed

Correct

Test Audio

0 100 200 300 400 500 600 700 800-0.02

0

0.02Teager Output

Teager Energy

Operator

Page 7: Debugging, Developing, Distributing and Demonstrating ......2 Caveat I’m currently a Research Scientist in Google’s Machine Hearing Group, but today’s work was done at: •Apple

7

Debugging – Automatic Speech Recognition

Debugging Acoustic Models• Custom MEX

• Put() and Get() memory

MATLAB used to• Assemble picture of ASR results

• Walk the graph

• (Not possible now due to

memory management.)

Page 8: Debugging, Developing, Distributing and Demonstrating ......2 Caveat I’m currently a Research Scientist in Google’s Machine Hearing Group, but today’s work was done at: •Apple

8

Developing – Network Grid Search

Subplate Neurons• Structural lattice for developing cortex• Implicated in language learning• Disappear post development

Question• Develop tonotopic distribution?• Frequency map

Hadoop Test• Grid search for parameters• Compiled MATLAB binary• Command line arguments• Distribute MSR everywhere• 8000 CPUs one night

Page 9: Debugging, Developing, Distributing and Demonstrating ......2 Caveat I’m currently a Research Scientist in Google’s Machine Hearing Group, but today’s work was done at: •Apple

9

Distributing – Auditory Toolbox

Purpose• Common models of auditory perception

• Cochlear models

• Reference implementations

Success• Most popular toolkit for auditory modeling

• One of my highest cited references

• (a Tech Report!!!)

https://engineering.purdue.edu/~malcolm/interval/1998-010/

Page 10: Debugging, Developing, Distributing and Demonstrating ......2 Caveat I’m currently a Research Scientist in Google’s Machine Hearing Group, but today’s work was done at: •Apple

10

Distributing – Telluride Decoding Toolbox

System ID and Modeling• Audio <-> EEG

• Linear and non-linear models

Reason• Reference implementation

• With data for debugging and

testing

http://www.ine-web.org/software/decoding/

Page 11: Debugging, Developing, Distributing and Demonstrating ......2 Caveat I’m currently a Research Scientist in Google’s Machine Hearing Group, but today’s work was done at: •Apple

11

Distributing – Web APIs

Want

Solution

HTTP REST

MATLAB Code

MATLAB Code

HTTP

RESTStdio

Glue

Page 12: Debugging, Developing, Distributing and Demonstrating ......2 Caveat I’m currently a Research Scientist in Google’s Machine Hearing Group, but today’s work was done at: •Apple

12

Distributing - Snakes

http://www.slaney.org/malcolm/pubs.html#snakes

Page 13: Debugging, Developing, Distributing and Demonstrating ......2 Caveat I’m currently a Research Scientist in Google’s Machine Hearing Group, but today’s work was done at: •Apple

13

Demonstrating – Polynomial Support Vector Machine

http://www.slaney.org/malcolm/pubs.html#svc

0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

xx

x

x

xx

x

x

x

x

x

xx x

x xx

x

xx

x

x

o

o

o

oo

o

o

oo

ooo

o

o

o

o

oo

o

o

polynomial

1000

1

1

0.1

C

Radial Basis

Potential Sigma

Neural V

Help

Do It!

Polynomial Dimension

4

Neural C

1

Enter Points Here--left (red) and middle (blue)

mouse)

Clear

Show 2D Results

Show 3D Results

Page 14: Debugging, Developing, Distributing and Demonstrating ......2 Caveat I’m currently a Research Scientist in Google’s Machine Hearing Group, but today’s work was done at: •Apple

14

Demonstration – SVM Polynomial Distances

http://www.slaney.org/malcolm/pubs.html#svc

Page 15: Debugging, Developing, Distributing and Demonstrating ......2 Caveat I’m currently a Research Scientist in Google’s Machine Hearing Group, but today’s work was done at: •Apple

15

Demonstration – SVM Polynomial Results

http://www.slaney.org/malcolm/pubs.html#svc

-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5

-0.5

-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

0.4

0.5

Page 16: Debugging, Developing, Distributing and Demonstrating ......2 Caveat I’m currently a Research Scientist in Google’s Machine Hearing Group, but today’s work was done at: •Apple

16

Demonstrating – Linear Support Vector Machine

Matlab GUI• On top of support vector

classifier

Good• Exploring parameters

• Understanding

performance

http://www.slaney.org/malcolm/pubs.html#svc

0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

xx

x

x

xx

x

x

x

x

x

xx x

x xx

x

xx

x

x

o

o

o

oo

o

o

oo

ooo

o

o

o

o

oo

o

o

polynomial

1000

1

1

0.1

C

Radial Basis

Potential Sigma

Neural V

Help

Do It!

Polynomial Dimension

1

Neural C

1

Enter Points Here--left (red) and middle (blue)

mouse)

Clear

Show 2D Results

Show 3D Results

Page 17: Debugging, Developing, Distributing and Demonstrating ......2 Caveat I’m currently a Research Scientist in Google’s Machine Hearing Group, but today’s work was done at: •Apple

17

Demonstrating – SVM Linear Distance

http://www.slaney.org/malcolm/pubs.html#svc

Page 18: Debugging, Developing, Distributing and Demonstrating ......2 Caveat I’m currently a Research Scientist in Google’s Machine Hearing Group, but today’s work was done at: •Apple

18

Demonstrating – SVM Linear Results

http://www.slaney.org/malcolm/pubs.html#svc

-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5

-0.5

-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

0.4

0.5

Page 19: Debugging, Developing, Distributing and Demonstrating ......2 Caveat I’m currently a Research Scientist in Google’s Machine Hearing Group, but today’s work was done at: •Apple

19

Thank You

[email protected]

Page 20: Debugging, Developing, Distributing and Demonstrating ......2 Caveat I’m currently a Research Scientist in Google’s Machine Hearing Group, but today’s work was done at: •Apple

20

Outline

Debugging• CDROM

• Apple ASR via MEX

• Hadoop for NN Grid Search

Developing• Neural network on Hadoop

Documenting and Demonstrating• Auditory Toolbox

• Telluride Decoding Toolbox

• Web API

• Snakes

• Support Vector Classifiers