WebエンジニアがTensorFlowで機械学習に入門しながら顔識別アプリを作ってみた / 2016-05-20 Machine Learning Kotohajime

WebエンジニアがTensorFlowで機械学習に入門しながら顔識別アプリを作ってみた / 2016-05-20 Machine Learning Kotohajime

84394d788041102b59ac0b157fcc0244?s=128

すぎゃーん

May 20, 2016
Tweet

Transcript

  1. 8FCΤϯδχΞ͕ 5FOTPS'MPXͰ ػցֶशʹೖ໳͠ͳ͕Β إࣝผΞϓϦΛ࡞ͬͯΈͨ ػցֶशίτϋδϝ ͗͢ΌʔΜ !TVHZBO

  2. ࣗݾ঺հ w ໊લ͗͢ΌʔΜ w 5XJUUFS!TVHZBO w (JUIVCTVHZBO w #MPHEIBUFOBOFKQTVHZBO ͗͢ΌʔΜϝϞ

     w ৬ۀ8FCܥΤϯδχΞ w +BWB 1FSM  3VCZ (P 1ZUIPO FUD  w झຯΞΠυϧϮλΫ
  3. ࣗݾ঺հ w ػցֶशૉਓ w ൒೥લͷࢲʮػցֶशʁͳʹͦΕ͓͍͍͠ͷʯ w Ͱ͌ʔ΀ΒʔʹΜ͙ɺ͍ͬͯ͏ͷ͕εΰ͍Β͍͠ ͱ͍͏ఔ౓ͷ஌ࣝ

  4. 5FOTPS'MPX w ػցֶशϥΠϒϥϦ w ೥݄ʹ(PPHMF͔Βొ৔ w 5VUPSJBM΋ॆ࣮ͯ͠ΔͬΆ͍ ͜ͷػʹͪΐͬͱ৮ͬͯΈΔ͔ɺͱؾܰʹ࢝ΊͯΈͨ ࣮ࡍ͜ͷλΠϛϯάͰೖ໳ͯ͠Έͨਓ͕ଟ͔ͬͨ

  5. 5FOTPS'MPX5VUPSJBMT w ./*45'PS.-#FHJOOFST w %FFQ./*45GPS&YQFSUT w 5FOTPS'MPX.FDIBOJDT w $POWPMVUJPOBM/FVSBM/FUXPSLT w

    ʜ https://www.tensorflow.org/versions/master/tutorials/index.html
  6. ./*450OMJOF%&.0

  7. ./*45 w ػցֶशͷz)FMMP 8PSMEzతଘࡏ w खॻ͖ͷ਺ࣈ ʙ Λ൑ผ͢Δ໰୊ w σʔληοτ͕ఏڙ͞Ε͍ͯΔ

    w Y DIBOOFM w  GPS5SBJOJOH  GPS5FTU
  8. ./*45 w 4PGUNBY3FHSFTTJPO.PEFM w ୯૚ͷ؆୯ͳ΋ͷ ࣝผ཰໿  w .VMUJMBZFS$POWPMVUJPOBM/FUXPSL w

    ଟ૚ͷ৞ΈࠐΈΛ࢖ͬͨ΋ͷ ࣝผ཰໿
  9. ./*450OMJOF ࣝผ཰্͕͕͍ͬͯ͢͝ͷ͸෼͔͚ͬͨͲʜ ͍·͍ͪΠϝʔδ͕Θ͔ͳ͍ ˣ ՄࢹԽ࣮ͯ͠ࡍʹࢼͤΔΑ͏ʹ͠Α͏ 8FCͷΠϯλϑΣʔεͰ

  10. ./*450OMJOF https://tensorflow-mnist.herokuapp.com/

  11. ./*450OMJOF w 1ZUIPO w ֶशͨ͠෼ྨϞσϧͷೖग़ྗΛ8FC"1*Խ w +BWB4DSJQU w )5.-$BOWBTͰϑϦʔඳը w

    "1*΁ͷೖྗʹม׵ͯ͠ग़ྗΛҰཡදࣔ
 ϦΞϧλΠϜʹඳը಺༰ͷ෼ྨ݁Ռ͕ݟ͑Δʂʂ
  12. $*'"3ϞσϧͰ إࣝผ

  13. $*'"3 w ./*45ͷΑ͏ͳσʔληοτ w Y DIBOOFMT 3(#  w DMBTTFT

    w  GPS5SBJOJOH  GPS5FTU
  14. UFOTPSqPXNPEFMTJNBHFDJGBS w 5FOTPS'MPXʹಉࠝ w JOQVUTσʔλϑΝΠϧ͔ΒCBUDIੜ੒ w JOGFSFODF৞ΈࠐΈਪ࿦Ϟσϧ w MPTTଛࣦؔ਺ w

    USBJOMPTTΛ࠷খԽͤ͞Δ0QUJNJ[FS
  15. طʹ෼ྨϞσϧ͕͋ΔͳΒ ҧ͏σʔληοτͰ΋ࢼͯ͠Έ͍ͨ ΞχϝͷΩϟϥࣝผͳͲͷઌߦྫ͸طʹଟ਺͋Δʜ ˣ ͦ͏ͩΞΠυϧͷإࣝผͩʂ UFOTPSqPXNPEFMTJNBHFDJGBS

  16. ΞΠυϧإࣝผ http://d.hatena.ne.jp/sugyan/20160112/1452558576

  17. ڭࢣσʔλ w σʔληοτΛࣗ෼Ͱ༻ҙ͢Δඞཁ͕͋Δ w ਺ඦຕʙɺMBCFM*%ͱηοτͰ w ˠ͜Ε͕Ұ൪େม w $*'"3ޓ׵ͷόΠφϦϑΥʔϚοτ w

    ˠࣗલͰม׵͢Ε͹؆୯ʹ࡞ΕΔ
  18. ڭࢣσʔλ w ݸਓϒϩά͔Βը૾ΛεΫϨΠϐϯάͯ͠ऩू w إ෦෼Λݕग़ͯ͠੾Γग़͢ w 0QFO$7ͷ$BTDBEF$MBTTJpFS w ࣗࡱΓͳͲ͸܏͍͍ͯΔإ͕ଟ͍ͷͰରԠ൛Λࣗ࡞ w

    ճసิਖ਼ͯ͠ਖ਼໘޲͖Ͱอଘ w ͋ͱ͸ͻͨ͢Β໨ࢹͰϥϕϧ෇͚
 ؅ཧ༻ΞϓϦΛ3VCZPO3BJMTͰࣗ࡞
  19. ڭࢣσʔλ

  20. ΞΠυϧإࣝผ w ݁Ռਖ਼౴཰ऑʜ w ֶशσʔλ͕গͳ͍ʁ w YͰ͸খ͗͢͞Δʁ w Ϟσϧ͕ශऑʁ

  21. ࣗ෼ͰࣝผϞσϧ࡞੒

  22. ΞΠυϧإࣝผ w ಉࠝͷDJGBSύοέʔδʹཔΒͣࣗ෼Ͱॻ͘ w JOQVUTY 5'3FDPSEpMFGPSNBU w JOGFSFODFDPOWPMVUJPOMBZFST w MPTTTBNFBTDJGBS

    w USBJOVTF"EBN0QUJNJ[FS
  23. ΞΠυϧإࣝผ

  24. ΞΠυϧإࣝผ w ݁Ռਖ਼౴཰ͪΐͬͱ্͕ͬͨʜʁ w ෼ྨ਺΋ม͑ͯ͠·ͬͯൺֱධՁͰ͖ͣ w ΍ͬͺΓσʔλ਺͸ͨ͘͞Μඞཁͦ͏ w ෼ྨ਺΋΋ͬͱ૿΍ͯ͠ࢼ͍ͨ͠ʜ

  25. إࣝผ
 ର৅ൣғΛ޿͛Δ

  26. ϥΠϒΞΠυϧ w ผশ஍ԼΞΠυϧɺΠϯσΟʔζΞΠυϧɺFUD w ֤ॴϥΠϒϋ΢εɺళฮΠϯετΞ౳Ͱ׆ಈ w ౎಺ɺ஍ํ͞·͟· w ਺ઍਓ Ұສਓऑʁ

    ډΔͱݴΘΕ͍ͯΔ w 5XJUUFSΞΧ΢ϯτ΍ϒϩά͍࣋ͬͯΔࢠ͸ଟ͍
  27. ΞΠυϧإࣝผ

  28. ΞΠυϧإࣝผ w ໨ඪ਺ઍਓͷΞΠυϧͷإΛࣝผ͢Δ w ͭ·ΓͦΕ͚ͩͷڭࢣσʔλ͕ඞཁ w 5XJUUFS͔Βը૾෇͖5XFFUΛݕࡧ͠ɺͻͨ͢Βऩू w Ҏલ·Ͱͱಉ༷ʹͻͨ͢Β໨ࢹͰϥϕϧ෇͚ w

    ˠ͜Ε͕ͱͯ΋େม w ˠେม͚ͩͲɺ΍Δ͔͠ͳ͍
  29. ΞΠυϧإࣝผ w ஌͍ͬͯΔࢠ͔Β༏ઌతʹϥϕϧ෇͚ w ˠͱ͍ͬͯ΋͍͍ͤͥʙਓఔ౓ w ஌Βͳ͍ࢠͰ΋ɺஅఆͰ͖Ε͹0, w ୯ମͰ͍ࣸͬͯΔը૾5XFFUͳΒ͖ͬͱ౤ߘऀຊਓ w

    ஌͍ͬͯΔࢠͱҰॹʹ͍ࣸͬͯΔ৔߹΋൑ผՄೳ w ෳ਺ਓ͍ࣸͬͯͯ൑ผͰ͖ͳ͍৔߹͸ޙճ͠
  30. ΞΠυϧإࣝผ Կສ΋ͷإը૾ʹର͠ ઍԿඦ΋ͷϥϕϧΛબ୒͢Δͷ͸ ͕͢͞ʹෛ୲͕େ͖͗͢Δ ˣ ֶशͤͨ͞Ϟσϧʹख఻ͬͯ΋Β͓͏

  31. ΞΠυϧإࣝผ  ͋Δఔ౓ͷ਺͕ू·ͬͨإը૾Λֶशͤ͞Δ  ະ෼ྨͷإը૾ʹର͠ਪ࿦ͤ͞Δ  ݁ՌΛνΣοΫ ݁ہ͸ਓྗͷ໨ࢹखಈʜ  w

    ߹ͬͯΕ͹ֶशσʔλ͕૿͑Δ w ؒҧͬͯΕ͹௚͢ˠֶशσʔλ͕૿͑Δ  ͋Δఔ౓ֶशσʔλ͕૿͑ͨΒ·ֶͨश͠ͳ͓͢
  32. ΞΠυϧإࣝผ ༧ଌ݁ՌΛ֬ೝ͢Δ͚ͩ

  33. ΞΠυϧإࣝผ ʮ͜ͷإ͸୭͔ʯ͔Β ʮ͜ͷإ͸˓˓ͬΆ͍͚Ͳ߹͍ͬͯΔ͔ʯʹ ߜΔ͜ͱ͕Ͱ͖ͯෛ୲ܰݮ ͦΕͰ΋݁ߏͭΒ͍͚Ͳ

  34. ΞΠυϧإࣝผ w ࣌఺Ͱ w ऩूإը૾໿  w ϥϕϧ෇͚ࡁΈ໿  w

    ϥϕϧ͸໿ छྨ ਓ
  35. ΞΠυϧإࣝผ w ࣌఺Ͱ෼ྨ਺ڧ w ఺Ҏ্ू·ͬͨ΋ͷ͚ͩΛ෼ྨର৅ w ͦΕҎ֎ͷ΋ͷ͸ʮର৅֎ʯͱͯ͠෼ྨ w ߹ܭͰສڧͷֶशσʔλɺTUFQ΄ͲͰे෼ʹऩଋ w

    ·ͩਖ਼֬ʹධՁ͸Ͱ͖͍ͯͳ͍ w ͚Ͳɺײ֮తʹ͸͔ͳΓ౰ͨͬͯΔͱࢥ͏ w ͦΖͦΖ๻ࣗ਎ͷੑೳΛ௒͑ͦ͏
  36. ΞΠυϧإࣝผߟ࡯ w ޡճ౴ͷ܏޲ਓؒͷײ֮ͱ͚ͬ͜͏ҧ͏ w ൅ͷ৭͕ࣅ͍ͯΔ͚ͩɺͱ͔ w มإɾϝΠΫɾϑΟϧλՃ޻ͳͲإࣝผͱͯ͠͸೉қ౓ߴ͍ w ͕ɺҙ֎ͱࣝผͰ͖Δ ͜ͱ΋͋Δ

     w ͔ͤͬ͘σʔλूΊͯ΋ಥવଔۀͯ͠͠·͏໰୊ w ͔ͳ͍͠
  37. ΞΠυϧإࣝผߟ࡯ w ՝୊ w ਓྗΛഉআͰ͖͍ͯͳ͍ w ˠ๻͕ࢮΜͰ΋ֶश͠ଓ͚ΔγεςϜʹ͍ͨ͠ w ࠓޙͷల๬ w

    ͪΌΜͱੑೳධՁ w Ͳͷఔ౓ͷֶशσʔλ਺ͰͲͷఔ౓ͷਖ਼౴཰͔ w ύϥϝʔλ਺ͷௐ੔ɺޮ཰Խ
  38. ूΊͨσʔλͰإੜ੒

  39. ΞΠυϧإੜ੒ http://d.hatena.ne.jp/sugyan/20160516/1463359395

  40. ΞΠυϧإੜ੒ w %$("/ %FFQ$POWPMVUJPOBM(FOFSBUJWF "EWFSTBSJBM/FUXPSLT  w (FOFSBUPS %JTDSJNJOBUPSͱ͍͏ͭͷϞσϧΛ ֶशͤ͞Δ͜ͱͰɺʮֶशσʔλʹ͍ۙը૾ʯ

    Λੜ੒Ͱ͖ΔΑ͏ʹͳΔ w ͜͜·Ͱ෼ྨثͱ͔࡞ͬͯ΍͍ͬͯΕ͹ɺࣗ෼Ͱ ίʔυॻ͍ͯ5FOTPS'MPXͰ࡞ΕΔ
  41. ·ͱΊ

  42. ·ͱΊ ػցֶशͱ͔·ͬͨ͘ԑ͕ແ͔͚ͬͨͲ 5FOTPS'MPX͖͔͚ͬʹͱΓ͋͑ͣ৮ͬͯΈͨΒ ͳΜ͔໘നͯࣗ͘෼Ͱ࡞Γ͍ͨ΋ͷͰ͖ͯ ৭ʑࢼߦࡨޡͯͨ͠Βษڧʹͳͬͨ͠ %FFQ-FBSOJOH͛͢ʔ

  43. ·ͱΊ w ػցֶशʹೖ໳͠ͳ͕Β৭ʑͭͬͯ͘Έ·ͨ͠ w ͿͬͪΌ͚ɺཧ࿦ͱ͔ͦΜͳʹ஌Βͳ͍ w ͚Ͳௐ΂ͳ͕Βίʔυॻ͚͹Կͱ͔ͳΔ ʁ  w

    ઌߦྫ΍υΩϡϝϯτ࿨༁΋ͨ͘͞Μ͋Δ͠ w 8FCܥͷ஌ࣝΛ׆͔ͯ͠૊Έ߹ΘͤΒΕΔͷ͸ڧΈ w ݁ՌͷՄࢹԽɺֶश༻σʔλͷ؅ཧͳͲ
  44. ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠