Ruby脳で実装するCNN

C582b722e015633f7900083f8ea75732?s=47 hatappi
March 30, 2018

 Ruby脳で実装するCNN

#speeekaigi

C582b722e015633f7900083f8ea75732?s=128

hatappi

March 30, 2018
Tweet

Transcript

  1. Ruby೴Ͱ࣮૷͢ΔCNN 4QFFF,BJHJ UZOUΤϯδχΞാத༔࡞

  2. self.intoroduction { name: "Yusaku Hatanaka", twitter: "@hatappi", github: "hatappi", hatena:

    "hatappi1225", company: "Speee, Inc." languages: ["Ruby", "Go", "Python"], icon: "ɹ " }
  3. CNNͱ͸ w ৞ΈࠐΈχϡʔϥϧωοτϫʔΫ Convolutional Neural Network  w શ݁߹Ͱ͸3(#ը૾ͷΑ͏ͳ࣍ݩͷը૾Ͱ͋ͬͯ΋̍࣍ݩͷ σʔλʹ͢ΔͨΊܗঢ়͕ແࢹ͞Εͯ͠·͏͕$//Ͱ͸ܗঢ়Λ

    ҡ࣋͢Δ͜ͱ͕ग़དྷΔ IUUQZBOOMFDVODPNFYECQVCMJTQEGMFDVOQEG શ݁߹ ৞ΈࠐΈ
  4. *-473$ IUUQJNBHFOFUPSHDIBMMFOHFTUBMLT@*-473$@PWFSWJFXQEG AlexNet ZFNet GooLeNet ResNet SENet

  5. ࣮ྫ גࣜձࣾ7"4*-: 3FUUZגࣜձࣾ

  6. ੈͷதͰ͸ͲͷΑ͏ʹ ࣮ݱ͞Ε͍ͯΔͷ͔

  7. FUD

  8. ͳͥRuby೴Ͱ࣮૷͢Δ ඞཁ͕͋ΔͷͰ͠ΐ͏͔ʁ

  9. rmatz lRubyΛΩϝΔͱؾ͍͍࣋ͪz

  10. 3FE$IBJOFS

  11. 3FE$IBJOFSͱ͸ʁ w 1ZUIPO੡ͷ$IBJOFSΛ3VCZͰϙʔςΟϯάͨ͠ਂ ૚ֶशϑϨʔϜϫʔΫ w χϡʔϥϧωοτϫʔΫ΍$//ͳͲͷωοτϫʔ ΫߏஙΛ͢Δ্Ͱඞཁͳ"1*Λఏڙ͢Δ w ߦྻͷอ࣋ɾԋࢉʹ͸/VNP/"SSBZΛ࢖༻

  12. 3FE$IBJOFSͷಛ௃ w 3VCZͰ࣮ݱ͞Ε͍ͯΔ w 3VCZJTU͕3VCZΒ͘͠ਂ૚ֶशΛ͢Δ͜ͱ͕ग़དྷ ΔΑ͏ʹͳΔ͸ͣ w ./*45΍$*'"3Λࣝผ͢Δ΋ͷͰ͸ͳͦ͘ΕΒΛ ࣮ݱ͢ΔͨΊͷ"1*܈Λఏڙ͍ͯ͠Δ w

    044Ͱఏڙ͞Ε͓ͯΓ୭Ͱ΋ιʔείʔυΛ
 ݟΔ͜ͱ͕ग़དྷͯҰॹʹ։ൃΛ͢Δ͜ͱ͕ग़དྷΔ SFEEBUBUPPMTSFEDIBJOFS
  13. $*'"3ͷࣝผ

  14. $*'"3 w ܇࿅σʔλສຕɺςετσʔ λສຕ͔ΒͳΔը૾σʔλ ηοτ w ը૾͸YQYͷ3(#͕ DIBOOFMͰߏ੒͞ΕΔ IUUQTXXXDTUPSPOUPFEVdLSJ[DJGBSIUNM

  15. ࢖ͬͨϞσϧ w ೥ͷILSVRCͰҐͱͳͬͨ7((ϞσϧΛϕʔ εʹ͍ͯ͠·͢ w 7((͸৞ΈࠐΈ૚ͱϓʔϦϯά૚͔Βߏ੒͞ΕΔ γϯϓϧͳߏ଄ͷ$// w ύϥϝʔλͷ࠷దԽʹ͸MomentumSGD

  16. ࢖ͬͨϞσϧ

  17. ࢖ͬͨϞσϧ

  18. ࣮૷ͨ͠"1* • Convolution2D • Batch Normalization • MaxPooling • MomentumSGD

    • Dropout • WeightDecay • etc
  19. σϞ

  20. ݱঢ়ͷ՝୊଎౓໘ 3FE$IBJOFS $IBJOFS TPOPUTDVNP

  21. ݱঢ়ͷ՝୊3VCZΒ͠͞

  22. ·ͱΊ w CIFARͷࣝผΛ͢ΔϞσϧΛߏங͢ΔͨΊʹඞཁͳ "1*܈Λ࣮૷ͨ͠ w Ruby೴ͰCNNΛߏங͢Δ͜ͱͰΩϝͯؾ࣋ͪΑ͘ ͳΕͨ w Red Chainer͕࣮༻తͳ΋ͷ΁ͱҰาલʹਐΜͩ