Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Deep Learning (TensorFlow) で インテリアスタイル判定器を 作って...

Deep Learning (TensorFlow) で インテリアスタイル判定器を 作ってみるテスト

RoomClip (https://roomclip.jp) にある大量の「部屋写真」を TensorFlow (https://tensorflow.org)を使って学習させ
インテリアスタイルを分類する機械を作ってみるテスト。
Fashion Tech Talks (http://fashtech.connpass.com/event/29726/)で登壇した資料です

hirayama

May 16, 2016
Tweet

Other Decks in Technology

Transcript

  1. CZ5VOOFMגࣜձࣾ  ద౰ͳ஋ΛʮධՁʯͯ͠ΈΔ f 1 ( )= 0.5*1+ 0.1= 0.6

    f 100 ( )= 0.5*100 + 0.1= 50.1 εέʔϧ͕ҧ͍͗ͯ͢ѻ͍ͮΒ͍ʜ
  2. CZ5VOOFMגࣜձࣾ  վΊͯద౰ͳYͰධՁͯ͠ΈΔ f x ( )=σ 0.5x + 0.1

    ( ) f 1 ( )=σ 0.5+ 0.1 ( )= 0.64 f 100 ( )=σ 50 + 0.1 ( )= 0.99
  3. CZ5VOOFMגࣜձࣾ  ਖ਼ղͰ͋Δ̌ʹ͚ۙͮΔΑ͏ʹ ؔ਺Λͪΐͬͱमਖ਼ Λճ܁Γฦ͢ w = −4.2 b =

    −0.1 f 1 ( )=σ (−4.3) = 0.013 ͔ͳΓվળ͞Εͨʂ f 100 ( )=σ (−420.1) = 0.00000....
  4. CZ5VOOFMגࣜձࣾ  ෳ਺ͷೖྗΛड͚औͬͯΈͨΓɺɺɺ x 1 (w 11 ,b 11 )

    x 12 (w 21 ,b 21 ) f ((x 1 , x 2 )) x 2 (w 12 ,b 12 ) x 22
  5. CZ5VOOFMגࣜձࣾ  ༗໊ͳखॻ͖จࣈͷೝࣝ ✕ݸͷೖྗ஋ͱΈͳ͢ (w 0 ,b 0 ) (w

    1 ,b 1 ) ɾɾɾ (w 9 ,b 9 ) ग़ྗΛݸʹͯ͠ɺ ͦΕͧΕ̌ʙ̕ͱ͍͏ҙຯΛ΋ͨͤΔ
  6. CZ5VOOFMגࣜձࣾ  σΟʔϓϥʔχϯάҎ֎ͷϝιου΋ ݁ߏ͍ͧ͢͝ ˎ47. ˎΫϥελϦϯά ˎڠௐϑΟϧλϦϯά ˎҨ఻తϓϩάϥϛϯά ˎϕΠδΞϯωοτϫʔΫ 

    ػցֶश͡Όͳͨͬͯ͘ʂ  ˎओ੒෼෼ੳɺҼࢠ෼ੳɺ෼ࢄ෼ੳɺ਺ྔԽࡾྨ ˎϑʔϦΤղੳɺ΢ΣʔϒϨοτม׵ ˎUݕఆɺ'ݕఆɺΧΠೋ৐ݕఆɺγϟϐϩʔ΢ϧΫݕఆ ˎࣗݾ૬ؔ܎਺ɺ4"3*."Ϟσϧ ˎฏۉ஋ɺඪ४ภࠩɺ૬ؔ܎਺ɺதԝ஋ʂ
  7. CZ5VOOFMגࣜձࣾ  ΠϯςϦΞελΠϧ ΞϝϦΧϯ ΞϯςΟʔΫ ΞδΞϯ Χϥϑϧ ΧϯτϦʔ ΤϨΨϯτ ϑϨϯνγοΫ

    ϑϨϯν ϑϨϯνφνϡϥϧ ΨʔϦʔ ͪ͝Όͪ͝Ό ΠϯμετϦΞϧ ࿨෩ δϟϯΫ ϝϯζ෦԰ ϛουηϯνϡϦʔ ϛοΫεΠϯςϦΞ Ϟμϯ Ϟϊτʔϯ Ϟϩοί φνϡϥϧ ๺ԤϰΟϯςʔδ உલΠϯςϦΞ Ξ΢τυΞ Ϩτϩ Ϩτϩϙοϓ ๺Ԥ γϟϏʔ γϟϏʔγοΫ ত࿨ γϯϓϧ γϯϓϧφνϡϥϧ γϯϓϧϞμϯ ত࿨Ϩτϩ ϰΟϯςʔδ ੢ւ؛ΠϯςϦΞ ϗϫΠτΠϯςϦΞ ΧϦϑΥϧχΞελΠϧ ΧϑΣ෩ γϧόʔ ϑϨϯνΧϯτϦʔ ਫۄ ੜ׆ײ ΞϝϦΧϯϏϯςʔδ ϙοϓ ΧϑΣ෩ ϏʔνελΠϧ ΤεχοΫ ϑϥϯεΞϯςΟʔΫ ϗϫΠτφνϡϥϧ ϖοτΠϯςϦΞ ϛοΫεελΠϧ ࿨Ϟμϯ ๺ԤϞμϯ ඣ෦԰ ΧϑΣΠϯςϦΞ ϒϧοΫϦϯελΠϧ ΫϥγΧϧ ΦϦΤϯλϧ ԘܥΠϯςϦΞ ϛχϚϦετ
  8. CZ5VOOFMגࣜձࣾ  ෼ྨͰ͖Δ͔   ϨϯΨ͕͋Δ   άϦʔϯ͕͋Δ   ໦໨ௐͷՈ۩  

    ΠϯμετϦΞϧͳΞΠςϜ   ӳࣈͷϙελʔ গ͚ͩ͠ҧ͏͕ɺɺɺཁૉ͸ࣅ͍ͯΔ
  9. CZ5VOOFMגࣜձࣾ  Ϟσϧ͕෼͔Βͳ͍ͷͰɺ $//Λ࢖ͬͯΈΔ x 1 x 2 x n

    ɾɾɾ (w 0 ,b 0 ) (w 1 ,b 1 ) ɾɾɾ (w 19 ,b 19 ) உલΠϯςϦΞ ΠϯμετϦΞϧ ੢ւ؛෩
  10. CZ5VOOFMגࣜձࣾ  Ϟσϧ͕෼͔Βͳ͍ͷͰɺ $//Λ࢖ͬͯΈΔ x 1 x 2 x n

    ɾɾɾ (w 0 ,b 0 ) (w 1 ,b 1 ) ɾɾɾ (w 19 ,b 19 ) உલΠϯςϦΞ ΠϯμετϦΞϧ ੢ւ؛෩
  11. CZ5VOOFMגࣜձࣾ  5FOTPS'MPXͱ͸ #  Ubuntu/Linux  64-­‐bit   $  sudo  apt-­‐get

     install  python-­‐pip  python-­‐dev     #  Mac  OS  X   $  sudo  easy_install  pip   ؆қͳΠϯετʔϧํ๏   ෳࡶͳܭࢉΛʮςϯιϧʯΛ͔ͭͬͯඇৗʹ؆ศʹهड़Մೳ   ๛෋ͳϓϦηοτ
  12. CZ5VOOFMגࣜձࣾ  # conv1 with tf.variable_scope('conv1') as scope: kernel =

    _variable_with_weight_decay( 'weights', shape=[5, 5, 3, 64], stddev=1e-4, wd=0.0 ) conv = tf.nn.conv2d(images, kernel, [1, 1, 1, 1], padding='SAME') biases = _variable_on_cpu('biases', [64], tf.constant_initializer(0.0)) bias = tf.nn.bias_add(conv, biases) conv1 = tf.nn.relu(bias, name=scope.name) _activation_summary(conv1) ৞ΈࠐΈܭࢉͷ؆ศͳه๏ ʴνϟωϧ਺ͳͲͷมߋ΋؆қ
  13. CZ5VOOFMגࣜձࣾ  ̎̌ݸͷελΠϧը૾Λ֤ ຕͣͭ༻ҙ $//ͳํ๏ͰֶशΛ։࢝ ত࿨Ϩτϩ෩ ϗϫΠτελΠϧ உ෦԰ ΞϯςΟʔΫ ΠϯμετϦΞϧ

    δϟϯΫܥ γϯϓϧ ϑϨϯν෩ φνϡϥϧܥ Ϟϊτʔϯ ๺Ԥ෩ ΧϦϑΥϧχΞελΠϧ ϨτϩελΠϧ Χϥϑϧ உલΠϯςϦΞ ΧϑΣ෩ ͪ͝Όͪ͝Όܥ ੢ւ؛ܥ ΞϝϦΧϯελΠϧ Ϗϯςʔδ෩
  14. CZ5VOOFMגࣜձࣾ  Ͱɺֶशͬͯʁ f x 1~k ( )= g(w m

    ,b n ) = y 1 ... y 20 ! " # # # # $ % & & & & Y͸ը૾ɺZ͕ʮ൑ఆ݁Ռʯ ʮ൑ఆ݁ՌΛ஌͍ͬͯΔYΛԿ౓΋์ΓࠐΈʯ ʮ౴͑߹ΘͤΛ͠ͳ͕ΒɺXͱCΛमਖ਼͢Δʯ
  15. CZ5VOOFMגࣜձࣾ  ֶशΛධՁ͢Δ y 1 ... y 20 ! "

    # # # # $ % & & & & Y 1 ... Y 20 ! " # # # # $ % & & & & ਖ਼ղ ༧૝ ! ίετؔ਺ʢ໨తؔ਺ʣ㱺̌ʹͳΕ͹Α͍ ̏೔͘Β͍