×
Copy
Open
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
Tensorflow on Mobile 東海大学 理学部 日本Androidの会 学生部 古川新
Slide 2
Slide 2 text
古川 新 Arata Furukawa ● 東海大学 理学部 ピカピカの1年生 ● プログラミング、イラスト、デザインが趣味 ● なんでもします!
Slide 3
Slide 3 text
Tensorflowとは
Slide 4
Slide 4 text
人工知能ライブラリでしょ、 そのくらい知ってるよ
Slide 5
Slide 5 text
厳密には 「人工知能(機械学習)のライブラリ」 は正しくない。
Slide 6
Slide 6 text
確かにTensorflowは、機械学習の研究を行って いたGoogleのエンジニアや研究者によって開発 されました。 しかし、Tensorflow自体は機械学習に限定され た用途で使用されるものではありません。
Slide 7
Slide 7 text
“ TensorFlow™ is an open source software library for numerical computation using data flow graphs.
Slide 8
Slide 8 text
データフローグラフ型 汎用数値演算ライブラリ Deep Learningは莫大な計算資源を要求します。 その要求に応えるためには、抽象的でスケーラビリティかつ ポータビリティな、非同期並列で実行可能な数値演算の仕組 みが必要でした。 Tensorflowはまさにそれを実現するライブラリです。 機械学習に限らず、このライブラリ自体はどんな計算であって も応用可能です。 (オープンソース・ソフトウェア)
Slide 9
Slide 9 text
Tensorflow Graph Tensorflowはあらゆる数学演算をノードとエッジの有向グラ フで表現します。 また、TensorflowグラフはProtocol Buffers形式で シリアライズできます。 シリアライズされた抽象グラフは他のプラットフォーム・アーキ テクチャ・デバイスでも扱えます。
Slide 10
Slide 10 text
Deep Neural Networks ディープニューラルネットワーク(DNN)は巨大な行列演算のグ ラフで表現できます。 よって、DNNも同様にTensorflowグラフとして表現すること ができます。
Slide 11
Slide 11 text
Distributed TensorFlow Tensorflowの真価は分散処理にあります。Tensorflowでは データ並列が透過的に行なえます。 コードにほとんど手を加えることなく、マシンリソースにスケー ルした適切なスケジューリングの最適化などを全て自動で行 い、演算をスケールアウトします。 高度な分散処理数値演算ライブラリ、それがTensorflowの真 の姿です。
Slide 12
Slide 12 text
「Large Scale Distributed Systems for Training Neural Networks (Jeff Dean & Oriol Vinyals Google)」より引用
Slide 13
Slide 13 text
学習と実行の 非対称性
Slide 14
Slide 14 text
一般的な演算コスト 学習コスト > 実行コスト
Slide 15
Slide 15 text
学習の演算コスト 1. 規模にも依るが、膨大な回数の 反復学習が必要←ほぼこれ 2. 誤差の逆伝搬など学習用の 計算量が多い 一般的に知られているように、訓練には 莫大な計算資源が必要となる。 「AlphaGo の試合に用いられた Google のディープラーニング専用サーバ」 Google Cloud Platform Japan Blogより
Slide 16
Slide 16 text
実行の演算コスト 1. 反復実行 →要らない 2. 誤差逆伝搬したりする分の計算量 →要らない
Slide 17
Slide 17 text
学習に莫大なコストがかかるニューラルネットワークも、 モバイルで動きます
Slide 18
Slide 18 text
“ TensorFlow Android Camera Demo https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/android
Slide 19
Slide 19 text
GitHubのTensorflowリポジトリに AndroidでTensorflowを 実行するサンプルが公開されている。
Slide 20
Slide 20 text
http://goo.gl/ CtLXYm ※使用は自己責任でお願いします ※他の場所にアップロードしたり しないでください
Slide 21
Slide 21 text
サンプルビルドについて 何か話すことがあれば話す (未定)
Slide 22
Slide 22 text
モバイルアプリに 組み込んでみた
Slide 23
Slide 23 text
No content
Slide 24
Slide 24 text
Tensorflowによる リバーシAI Androidアプリ
Slide 25
Slide 25 text
Android Firebase プレイデータを自動送信 AIが定期的に自動更新される Tensorflo w
Slide 26
Slide 26 text
Data Server Run Tensorflow Firebase Realtime Database C++ Java Protocol Buffers JNI Reversi OSUSHIの構成:Androidアプリ側 HTTPS Android App
Slide 27
Slide 27 text
True Portability Tensorflowグラフは非常にポータビリティが高い。 配布されたモデルを利用したり、更にそれを学習させたりする ことが容易です。
Slide 28
Slide 28 text
「モデルさえあれば…」 Tensorflow学習済みモデルの配布/利用は容易です。 抽象化されたグラフを表現したProtocol Buffers形式のテキ ストorバイナリデータでしかないからです。 実際に配布されているモデルも出始めており、今後増加する と思われます。 もしかしたら、モデルリポジトリなんてものが今後出てくるか も?
Slide 29
Slide 29 text
新しいアプリ開発の形? ニューラルネットワークは処理能力に乏しいモバイルプラット フォームでも利用できます。 人工知能はモデルさえあれば一般的なアプリに組み込むこと が可能な段階にあるのです。
Slide 30
Slide 30 text
ご清聴ありがとうございました。