Red Chainerを なぜ作って今後どうするのか
by
hatappi
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Red Chainerを なぜ作って今後どうするのか hatappi @RubyData Tokyo Meetup
Slide 2
Slide 2 text
⾃⼰紹介 • Yusaku Hatanaka (@hatappi) • Speee, Inc • Red Data Tools のメンバー • Ruby, Go, TypeScript, etc. • ḦΓେ౾͕͖
Slide 3
Slide 3 text
今⽇のゴール • Red Chainerがなんなのか知ってもらう • へぇ〜って思ってもらう
Slide 4
Slide 4 text
こんなこと話します • Red Chainerとは? • Red Chainerの歴史 • 今後やりたいこと • まとめ
Slide 5
Slide 5 text
Red Chainerとは?
Slide 6
Slide 6 text
Red Chainerとは? • Rubyのための深層学習フレームワーク • Red Data Tools の1プロジェクト • red-data-tools/red-chainer • Python製の深層学習フレームワークのChainerを⼿動 Rubyへポーティング • 現在はChainerのv2系がベース
Slide 7
Slide 7 text
Red Chainerの特徴 • Define By Run • Rubyで書くことが出来る • インストールが簡単 `gem install red-chainer`
Slide 8
Slide 8 text
Red Chainerの特徴 • Define By Run • Rubyで書くことが出来る • インストールが簡単 `gem install red-chainer`
Slide 9
Slide 9 text
• Define And Run • 計算グラフを静的に扱う • Define By Run • 計算グラフを動的に扱う
Slide 10
Slide 10 text
Define And Run IUUQTXXXZPVUVCFDPNXBUDI W85/)UDTDRP
Slide 11
Slide 11 text
Define By Run IUUQTXXXZPVUVCFDPNXBUDI W85/)UDTDRP
Slide 12
Slide 12 text
Red Chainerの歴史
Slide 13
Slide 13 text
Red Chainerの歴史 2017/08 2017/10 2018/05 現在
Slide 14
Slide 14 text
Red Chainerの歴史 2017/08 2017/10 2018/05 現在 first commit
Slide 15
Slide 15 text
きっかけ 2017/08 2017/10 2018/05 現在 • OSS Gate Workshopを通じて須藤さん(@ktou)と出会う • Red Data Toolsに参加 • なぜ参加したかは覚えてない たしか⾯⽩そう!と思ったからだった気がする • Red Data ToolsでRed Chainerを作りはじめる • なぜ作ろうと思ったかは覚えていない たしか⾯⽩そう!と思ったからだった気がする
Slide 16
Slide 16 text
どうやって移⾏していったか 2017/08 2017/10 2018/05 現在
Slide 17
Slide 17 text
どうやって移⾏していったか 2017/08 2017/10 2018/05 現在 気合の作業! でもやったことないことだし 楽しかった
Slide 18
Slide 18 text
Red Chainerの歴史 2017/08 2017/10 2018/05 現在 first commit
Slide 19
Slide 19 text
Red Chainerの歴史 2017/08 2017/10 2018/05 現在 first release
Slide 20
Slide 20 text
出来るようになったこと 2017/08 2017/10 2018/05 現在 • Multi Layer Perceptron(MLP)に必要な最低限の APIをサポート • サンプルとしてMNISTを⽤意
Slide 21
Slide 21 text
Multi Layer Perceptron 2017/08 2017/10 2018/05 現在
Slide 22
Slide 22 text
Multi Layer Perceptron 2017/08 2017/10 2018/05 現在
Slide 23
Slide 23 text
MNIST 2017/08 2017/10 2018/05 現在
Slide 24
Slide 24 text
MNIST 2017/08 2017/10 2018/05 現在
Slide 25
Slide 25 text
Red Chainerの歴史 2017/08 2017/10 2018/05 現在 first release
Slide 26
Slide 26 text
Red Chainerの歴史 2017/08 2017/10 2018/05 現在 畳み込み演算のサポート!
Slide 27
Slide 27 text
出来るようになったこと 2017/08 2017/10 2018/05 現在 • ΈࠐΈԋࢉΛαϙʔτ • ଞʹBatchNormalization, Pooling, etc.. • CIFAR-10, 100ͷαϯϓϧͷՃ • σʔλͷऔಘʹ red-data-tools/red-datasets
Slide 28
Slide 28 text
VGG 2017/08 2017/10 2018/05 現在
Slide 29
Slide 29 text
VGG 2017/08 2017/10 2018/05 現在
Slide 30
Slide 30 text
ResNet18 2017/08 2017/10 2018/05 現在
Slide 31
Slide 31 text
ResNet18 2017/08 2017/10 2018/05 現在
Slide 32
Slide 32 text
例えば 2017/08 2017/10 2018/05 現在 Red Chainer x
Slide 33
Slide 33 text
例えば 2017/08 2017/10 2018/05 現在 All Ruby!!
Slide 34
Slide 34 text
Red Chainerの歴史 2017/08 2017/10 2018/05 現在 畳み込み演算のサポート!
Slide 35
Slide 35 text
Red Chainerの歴史 2017/08 2017/10 2018/05 現在 Chainer 3系への対応
Slide 36
Slide 36 text
Chainer 3系の対応 2017/08 2017/10 2018/05 現在 • ⼆階以上の微分をサポート • 内部のAPIの構造も変わっている 今年中には終わるはず
Slide 37
Slide 37 text
短い期間で⾒るとあまり 進んでないように⾒える
Slide 38
Slide 38 text
⻑い⽬で⾒ると ちゃんと進んでる
Slide 39
Slide 39 text
今後やりたいこと
Slide 40
Slide 40 text
今後やりたいこと • 本家Chainerは追随していく • 今までのようにコードをそのままポーティングすると いうよりは内部のAPIなどのインターフェスなどを参考 にしていくイメージ • ONNX対応をやっていきたい
Slide 41
Slide 41 text
ONNX https://onnx.ai/ • Open Neural Network Exchangeの略 • 深層学習のモデルをフレームワーク間で交換するための フォーマット • 例えばChainerで学習したモデルをMXNetで取り込んで 使うことが出来る • 1つのファイルにモデル定義とパラメータが保存されている
Slide 42
Slide 42 text
なぜONNX対応をするのか • なんか⾯⽩そう • 今すぐRed Chainerが実⽤化できるかでいうと厳しい • 仮に実⽤化できたとしても既存の資産がある • 直近はChainerで学習したモデルをRed Chainerで使える ようにしたい
Slide 43
Slide 43 text
まとめ • Red Chainerの歴史を紹介しました • ちょっとずつやるので、興味ある⼈がいたらTwitterでも この後でも気軽に話しかけてください! 僕も分からないことだらけなので⼀緒にワイワイやりま しょう!! • 今後もおもしろドリブンで開発したい