Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

TensorFlow on Mobile

412 views

Published on

「9/11 Deep Learning 学生無料勉強会@GMO Yours」
http://jagsc.connpass.com/event/36393/

上記イベントで発表したスライドです。

Published in: Technology
  • Be the first to comment

  • Be the first to like this

TensorFlow on Mobile

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

×