PiedPiper – Distributed Machine Learning Applied In Music Genre Recognition

437 views

Published on

How do you teach a machine what "sounds like" means?

Published in: Technology, Education
1 Comment
0 Likes
Statistics
Notes
  • Is this a work in progress? Why stop at gradient descent? Artificial Neural nets (which are in a sense a broader version of GD) have been shown to be a more effective means of distiguishing genres that a variety of other techniques in previous work.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

No Downloads
Views
Total views
437
On SlideShare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
0
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide

PiedPiper – Distributed Machine Learning Applied In Music Genre Recognition

  1. 1. twitter.com/tudorcristea
  2. 2. Pies, pipes, or anycombination thereof are notinvolved.
  3. 3. Refers to the story of thePied Piper of Hamelin: followthe music.
  4. 4. Root problem: musicinformation retrieval.ID3 information(CDDB/Gracenote) is usuallyflawed.
  5. 5. Everybody likes music.What kind of music?
  6. 6. Difficult to say? That isbecause it is a difficult (as insubjective) question.
  7. 7. Usually neither we or theartists we listen to limit ourrange to just one musicgenre.
  8. 8. We like stuff that sounds likethe stuff we like.
  9. 9. Tough problem: teach that toa machine.
  10. 10. Tough, but not impossible:teach it what sounds likemeans.
  11. 11. Luckily, music…
  12. 12. …has hues.
  13. 13. First of all, we’re going toneed some (legal) teachingmaterial:ccmixter.org/query-api
  14. 14. Second, a way to extractsome meaningful featuresout of those MP3 files:ifs.tuwien.ac.at/mir/audiofeatureextraction.html
  15. 15. Rhythm Histograms Rhythm Patterns
  16. 16. 3.243435282592375 1.994601142999418 1.602942870377543 2.580839981133314 1.543740353999544 2.068105015908046 3.6326878820874143.263291634847903 3.044904881070487 4.5829566086821 1.956934469923299 2.580545989450239 2.429407925390764 2.7889940737971761.690166884934422 1.555860154231844 2.538332189091759 3.308823909719808 2.901616552714908 2.822014163802716 3.0575808599362664.119539882459613 5.453411739995226 5.700965142221574 3.644340096592682 2.396144855618434 2.668955574617245 3.0848443872190492.390710363180224 3.76382419342901 5.030486764491426 4.300433534348324 4.821028562923828 4.280883335826844 2.1908307218552842.961580313318945 4.34391019602777 2.951321599170762 2.449444142519419 4.812316305000328 3.951498800499126 3.9178108682622463.715130504668615 3.998629684199756 5.181464895638284 6.084726075190199 7.913084886632093 3.706451224577581 4.6980033854991593.824291021844686 5.384668543825263 3.953003636302575 3.428872039025952 4.824143429813525 4.541042340953487 4.2649370571015067.33094855091972 4.580084845659833 6.295917883436843 4.14291707342239 4.954729182869467 5.254899441852804 7.7562136367968767.677458410851154 8.173543349122873 7.614100030473213 7.518159783076418 7.843224352722845 7.125038216943838 5.1956124345523225.151940097341069 3.0640282849477 5.918468920797019 6.15884358569437 4.81452719506864 5.800933882702959 5.7441743649191347.569921298684167 6.712979004287242 7.717992870245721 5.684438150875594 7.127374728497071 4.792119949151986 5.201951009012564.384040088867235 7.480543165254396 6.068555547993299 7.616701708848335 7.766169335357228 11.382122364726827 12.85890459785702919.849080334434777 7.158426099912344 4.517127293813476 6.274332358430609 8.472280658535901 7.801381678697753 8.7588557399594868.997139007750159 9.00666057300392 7.949432386638614 8.794768734764487 8.989550890287987 8.302698807962054 14.1821239634476468.391117712214388 11.11758041425602 9.466868578773333 8.624599196425805 9.839857864388469 10.01151957620144 14.26838188731137413.453466400101796 13.307992403194998 14.386721104633946 8.597042271214999 5.38266610228167 8.56467105950794 9.0818423356443128.751284030192279 7.571968441155724 8.989899908097717 10.798020955384793 10.240883714858885 9.95734131838057 13.8802902277087939.695548728433801 8.659073120491788 8.454564226658066 15.185547619830412 10.20496195273381 9.444081140439875 9.54779742006919.295915277584736 13.426555546246881 14.028824815440144 12.40471194483655 15.310328654641358 3.859719187222005 5.0164938486046934.94214997156282 8.578907909909004 6.94284649966117 5.369714403322543 9.600482742973435 9.755788157713518 10.43316812290886610.848681227375263 7.679992449798913 8.094613338358835 10.093465358580273 10.102689258506887 10.20504928557266 10.20775296340705510.160430268333766 10.649981306839111 9.65257694380794 8.186103579325769 10.115554717636922 9.81887110074179 14.4707088064866876.260998589366658 7.145961791822931 4.400459800176191 6.432841170064679 7.207109587185632 10.054109307587924 8.1485603785343849.481813014405802 9.496118214594299 10.386204280440149 12.76674363352633 12.460836669545115 15.961674114984211 12.71743859944801313.695306246773496 16.741151349256675 11.890804211283207 13.184462990253897 12.343617842695329 15.5897867805953811.602280125984032 12.516441905610472 13.799204673707482 7.101041266172024 4.993316589832442 5.644348388281271 4.6760782645908554.546299225476101 6.93578128842586 8.276079288197144 8.23367669095205 10.748422886150713 10.771386105217127 11.0320992913189987.812005415842901 9.178449512371232 10.23516826121661 10.90301593546188 10.189220210347054 8.810998620905725 11.7871835472066089.296236912340708 10.738220788891837 9.522449017668217 12.557179627621437 14.192937597513765 5.996579734461314 4.5510638339051844.831507524016216 6.339155247104576 6.183923078107966 8.454775808034872 10.800599276392719 12.00146662496045 14.06107973105591711.240781910608634 10.14613611148149 8.220503778510432 7.665807831411472 7.629925985769293 5.676148468868258 6.5076233924771337.136358910584341 10.375461251213538 8.949849488418403 11.611373119952349 11.95095051883064 15.7706208019365 16.85633596114455212.191199445332309 7.788081303313621 11.66089295005103 14.184085123792396 15.043473556928557 11.762577736576716 25.90585739778333616.716924329462138 25.499979343490466 20.730583684244632 25.659206437972436 22.267453929132937 31.36252606331415630.022068712065376 35.37839821990554 28.467015190336838 23.240537780206445 27.036056141332217 22.285161424867912 41.0711269267306159.47331283268421 78.34108682145228 98.71614105494565 8.977171134544522 6.904445013840824 5.079352087117484 6.7670117969595474.529028036594085 6.974298791708502 8.923714823963904 8.243909316285263 10.317986757880721 8.695841266592888 10.71730915068036412.49861281405036 10.461037143501649 8.995606768277778 9.136664427796598 12.38754496496926 10.635964588452383 8.697719671089467.503901567503874 10.248588034536084 11.686036205118295 14.447685802137656 15.301764309325383 7.355452352186035 4.9313583446818894.96446501860343 6.604293070535694 5.817617856710792 5.595589306370536 10.169040335952701 7.656965890729936…Sounds good?
  17. 17. Lastly, a way todistributively store, process,and interpret the results:hbase.apache.orghadoop.apache.orgmahout.apache.org
  18. 18. Step 1 offset = 0 offset = 10 offset = 20 Mapper Mapper Mapper for index in offset .. limit do download(index) end for pp/downloads/$tag
  19. 19. Step 2 index = 0 index = 10 index = 20 Mapper Mapper Mapper for mp3 in index .. limit do extract(mp3) end for features table
  20. 20. Rows and columns in HBase(Table, RowKey, Family, Column, Timestamp) → Value
  21. 21. A time-oriented view into parts of a row
  22. 22. $tag + $url = { <- row key data = { <- column family ssd = …, <- column qualifier rp = …, rh = …, artist = …, title = … }}
  23. 23. Step 3??? for example in features[$tag] do train(example) end fortag = { data = { sgd = … } } models table
  24. 24. Gradient descent visualization
  25. 25. Gradient descent algorithm
  26. 26. Step 4 Upload a fileProfit! Extract features for model in models do classify(example, model) end for Display results

×