Red Chainerを
なぜ作って今後どうするのか

C582b722e015633f7900083f8ea75732?s=47 hatappi
November 17, 2018

Red Chainerを
なぜ作って今後どうするのか

#RubyData_tokyo
RubyData Tokyo Meetup
https://speee.connpass.com/event/105127/

C582b722e015633f7900083f8ea75732?s=128

hatappi

November 17, 2018
Tweet

Transcript

  1. Red Chainerを
 なぜ作って今後どうするのか hatappi
 @RubyData Tokyo Meetup

  2. ⾃⼰紹介 • Yusaku Hatanaka (@hatappi) • Speee, Inc • Red

    Data Tools のメンバー • Ruby, Go, TypeScript, etc. • ḦΓେ౾͕޷͖
  3. 今⽇のゴール • Red Chainerがなんなのか知ってもらう • へぇ〜って思ってもらう

  4. こんなこと話します • Red Chainerとは? • Red Chainerの歴史 • 今後やりたいこと •

    まとめ
  5. Red Chainerとは?

  6. Red Chainerとは? • Rubyのための深層学習フレームワーク • Red Data Tools の1プロジェクト •

    red-data-tools/red-chainer • Python製の深層学習フレームワークのChainerを⼿動 Rubyへポーティング • 現在はChainerのv2系がベース
  7. Red Chainerの特徴 • Define By Run • Rubyで書くことが出来る • インストールが簡単

    `gem install red-chainer`
  8. Red Chainerの特徴 • Define By Run • Rubyで書くことが出来る • インストールが簡単

    `gem install red-chainer`
  9. • Define And Run • 計算グラフを静的に扱う • Define By Run

    • 計算グラフを動的に扱う
  10. Define And Run IUUQTXXXZPVUVCFDPNXBUDI W85/)UDTDRP

  11. Define By Run IUUQTXXXZPVUVCFDPNXBUDI W85/)UDTDRP

  12. Red Chainerの歴史

  13. Red Chainerの歴史 2017/08 2017/10 2018/05 現在

  14. Red Chainerの歴史 2017/08 2017/10 2018/05 現在 first commit

  15. きっかけ 2017/08 2017/10 2018/05 現在 • OSS Gate Workshopを通じて須藤さん(@ktou)と出会う •

    Red Data Toolsに参加 • なぜ参加したかは覚えてない
 たしか⾯⽩そう!と思ったからだった気がする • Red Data ToolsでRed Chainerを作りはじめる • なぜ作ろうと思ったかは覚えていない
 たしか⾯⽩そう!と思ったからだった気がする
  16. どうやって移⾏していったか 2017/08 2017/10 2018/05 現在

  17. どうやって移⾏していったか 2017/08 2017/10 2018/05 現在 気合の作業! でもやったことないことだし 楽しかった

  18. Red Chainerの歴史 2017/08 2017/10 2018/05 現在 first commit

  19. Red Chainerの歴史 2017/08 2017/10 2018/05 現在 first release

  20. 出来るようになったこと 2017/08 2017/10 2018/05 現在 • Multi Layer Perceptron(MLP)に必要な最低限の APIをサポート

    • サンプルとしてMNISTを⽤意
  21. Multi Layer Perceptron 2017/08 2017/10 2018/05 現在

  22. Multi Layer Perceptron 2017/08 2017/10 2018/05 現在

  23. MNIST 2017/08 2017/10 2018/05 現在

  24. MNIST 2017/08 2017/10 2018/05 現在

  25. Red Chainerの歴史 2017/08 2017/10 2018/05 現在 first release

  26. Red Chainerの歴史 2017/08 2017/10 2018/05 現在 畳み込み演算のサポート!

  27. 出来るようになったこと 2017/08 2017/10 2018/05 現在 • ৞ΈࠐΈԋࢉΛαϙʔτ • ଞʹ͸BatchNormalization, Pooling,

    etc.. • CIFAR-10, 100ͷαϯϓϧͷ௥Ճ • σʔλͷऔಘʹ͸ red-data-tools/red-datasets
  28. VGG 2017/08 2017/10 2018/05 現在

  29. VGG 2017/08 2017/10 2018/05 現在

  30. ResNet18 2017/08 2017/10 2018/05 現在

  31. ResNet18 2017/08 2017/10 2018/05 現在

  32. 例えば 2017/08 2017/10 2018/05 現在 Red Chainer x

  33. 例えば 2017/08 2017/10 2018/05 現在 All Ruby!!

  34. Red Chainerの歴史 2017/08 2017/10 2018/05 現在 畳み込み演算のサポート!

  35. Red Chainerの歴史 2017/08 2017/10 2018/05 現在 Chainer 3系への対応

  36. Chainer 3系の対応 2017/08 2017/10 2018/05 現在 • ⼆階以上の微分をサポート • 内部のAPIの構造も変わっている

    今年中には終わるはず
  37. 短い期間で⾒るとあまり
 進んでないように⾒える

  38. ⻑い⽬で⾒ると ちゃんと進んでる

  39. 今後やりたいこと

  40. 今後やりたいこと • 本家Chainerは追随していく • 今までのようにコードをそのままポーティングすると いうよりは内部のAPIなどのインターフェスなどを参考 にしていくイメージ • ONNX対応をやっていきたい

  41. ONNX
 https://onnx.ai/ • Open Neural Network Exchangeの略 • 深層学習のモデルをフレームワーク間で交換するための フォーマット

    • 例えばChainerで学習したモデルをMXNetで取り込んで 使うことが出来る • 1つのファイルにモデル定義とパラメータが保存されている
  42. なぜONNX対応をするのか • なんか⾯⽩そう • 今すぐRed Chainerが実⽤化できるかでいうと厳しい • 仮に実⽤化できたとしても既存の資産がある • 直近はChainerで学習したモデルをRed

    Chainerで使える ようにしたい
  43. まとめ • Red Chainerの歴史を紹介しました • ちょっとずつやるので、興味ある⼈がいたらTwitterでも この後でも気軽に話しかけてください!
 僕も分からないことだらけなので⼀緒にワイワイやりま しょう!! •

    今後もおもしろドリブンで開発したい