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

More Related Content

What's hot

Twitter分析のためのリアルタイム分析基盤@第4回Twitter研究会
Twitter分析のためのリアルタイム分析基盤@第4回Twitter研究会Twitter分析のためのリアルタイム分析基盤@第4回Twitter研究会
Twitter分析のためのリアルタイム分析基盤@第4回Twitter研究会Yuya Unno
 
2012ー1 TENTOプレゼン資料
2012ー1 TENTOプレゼン資料2012ー1 TENTOプレゼン資料
2012ー1 TENTOプレゼン資料TENTO_slide
 
NIP2015読み会「End-To-End Memory Networks」
NIP2015読み会「End-To-End Memory Networks」NIP2015読み会「End-To-End Memory Networks」
NIP2015読み会「End-To-End Memory Networks」Yuya Unno
 
Jubatusの紹介@第6回さくさくテキストマイニング
Jubatusの紹介@第6回さくさくテキストマイニングJubatusの紹介@第6回さくさくテキストマイニング
Jubatusの紹介@第6回さくさくテキストマイニングYuya Unno
 
[DL輪読会] Using millions of emoji occurrences to learn any-domain representatio...
[DL輪読会] Using millions of emoji occurrences to learn any-domain representatio...[DL輪読会] Using millions of emoji occurrences to learn any-domain representatio...
[DL輪読会] Using millions of emoji occurrences to learn any-domain representatio...Yuya Soneoka
 
言語と知識の深層学習@認知科学会サマースクール
言語と知識の深層学習@認知科学会サマースクール言語と知識の深層学習@認知科学会サマースクール
言語と知識の深層学習@認知科学会サマースクールYuya Unno
 

What's hot (8)

Twitter分析のためのリアルタイム分析基盤@第4回Twitter研究会
Twitter分析のためのリアルタイム分析基盤@第4回Twitter研究会Twitter分析のためのリアルタイム分析基盤@第4回Twitter研究会
Twitter分析のためのリアルタイム分析基盤@第4回Twitter研究会
 
2012ー1 TENTOプレゼン資料
2012ー1 TENTOプレゼン資料2012ー1 TENTOプレゼン資料
2012ー1 TENTOプレゼン資料
 
第1回ステアラボ人工知能セミナー(オープニング)
第1回ステアラボ人工知能セミナー(オープニング)第1回ステアラボ人工知能セミナー(オープニング)
第1回ステアラボ人工知能セミナー(オープニング)
 
NIP2015読み会「End-To-End Memory Networks」
NIP2015読み会「End-To-End Memory Networks」NIP2015読み会「End-To-End Memory Networks」
NIP2015読み会「End-To-End Memory Networks」
 
次元の呪い
次元の呪い次元の呪い
次元の呪い
 
Jubatusの紹介@第6回さくさくテキストマイニング
Jubatusの紹介@第6回さくさくテキストマイニングJubatusの紹介@第6回さくさくテキストマイニング
Jubatusの紹介@第6回さくさくテキストマイニング
 
[DL輪読会] Using millions of emoji occurrences to learn any-domain representatio...
[DL輪読会] Using millions of emoji occurrences to learn any-domain representatio...[DL輪読会] Using millions of emoji occurrences to learn any-domain representatio...
[DL輪読会] Using millions of emoji occurrences to learn any-domain representatio...
 
言語と知識の深層学習@認知科学会サマースクール
言語と知識の深層学習@認知科学会サマースクール言語と知識の深層学習@認知科学会サマースクール
言語と知識の深層学習@認知科学会サマースクール
 

Viewers also liked

Androidで動かすはじめてのDeepLearning
Androidで動かすはじめてのDeepLearningAndroidで動かすはじめてのDeepLearning
Androidで動かすはじめてのDeepLearningMiyoshi Kosuke
 
ウェアラブル端末のセンサ値から動きをリアルタイムに識別する(Wi p)
ウェアラブル端末のセンサ値から動きをリアルタイムに識別する(Wi p)ウェアラブル端末のセンサ値から動きをリアルタイムに識別する(Wi p)
ウェアラブル端末のセンサ値から動きをリアルタイムに識別する(Wi p)新 古川
 
20160929 android taipei_tensorflow
20160929 android taipei_tensorflow20160929 android taipei_tensorflow
20160929 android taipei_tensorflowPRADA Hsiung
 
臉 - The Face Detection Functions on Android
臉 - The Face Detection Functions on Android臉 - The Face Detection Functions on Android
臉 - The Face Detection Functions on AndroidPRADA Hsiung
 
What new in Android n and Tensor Flow - Updates from Google #IO16
What new in Android n and Tensor Flow - Updates from Google #IO16What new in Android n and Tensor Flow - Updates from Google #IO16
What new in Android n and Tensor Flow - Updates from Google #IO16GBG Mumbai
 
開発者からみたTensor flow
開発者からみたTensor flow開発者からみたTensor flow
開発者からみたTensor flowHideo Kinami
 
Tensorflowのチュートリアルで理解するdeep learningはじめてハンズオン
Tensorflowのチュートリアルで理解するdeep learningはじめてハンズオンTensorflowのチュートリアルで理解するdeep learningはじめてハンズオン
Tensorflowのチュートリアルで理解するdeep learningはじめてハンズオン健一 茂木
 
Rajat Monga, Engineering Director, TensorFlow, Google at MLconf 2016
Rajat Monga, Engineering Director, TensorFlow, Google at MLconf 2016Rajat Monga, Engineering Director, TensorFlow, Google at MLconf 2016
Rajat Monga, Engineering Director, TensorFlow, Google at MLconf 2016MLconf
 
TensorFlow - La IA detrás de Google
TensorFlow - La IA detrás de GoogleTensorFlow - La IA detrás de Google
TensorFlow - La IA detrás de GoogleIsrael Blancas
 
Machine learning and TensorFlow
Machine learning and TensorFlowMachine learning and TensorFlow
Machine learning and TensorFlowJose Papo, MSc
 

Viewers also liked (12)

Androidで動かすはじめてのDeepLearning
Androidで動かすはじめてのDeepLearningAndroidで動かすはじめてのDeepLearning
Androidで動かすはじめてのDeepLearning
 
ウェアラブル端末のセンサ値から動きをリアルタイムに識別する(Wi p)
ウェアラブル端末のセンサ値から動きをリアルタイムに識別する(Wi p)ウェアラブル端末のセンサ値から動きをリアルタイムに識別する(Wi p)
ウェアラブル端末のセンサ値から動きをリアルタイムに識別する(Wi p)
 
20160929 android taipei_tensorflow
20160929 android taipei_tensorflow20160929 android taipei_tensorflow
20160929 android taipei_tensorflow
 
臉 - The Face Detection Functions on Android
臉 - The Face Detection Functions on Android臉 - The Face Detection Functions on Android
臉 - The Face Detection Functions on Android
 
What new in Android n and Tensor Flow - Updates from Google #IO16
What new in Android n and Tensor Flow - Updates from Google #IO16What new in Android n and Tensor Flow - Updates from Google #IO16
What new in Android n and Tensor Flow - Updates from Google #IO16
 
開発者からみたTensor flow
開発者からみたTensor flow開発者からみたTensor flow
開発者からみたTensor flow
 
Tensorflowのチュートリアルで理解するdeep learningはじめてハンズオン
Tensorflowのチュートリアルで理解するdeep learningはじめてハンズオンTensorflowのチュートリアルで理解するdeep learningはじめてハンズオン
Tensorflowのチュートリアルで理解するdeep learningはじめてハンズオン
 
Machine Intelligence at Google Scale: TensorFlow
Machine Intelligence at Google Scale: TensorFlowMachine Intelligence at Google Scale: TensorFlow
Machine Intelligence at Google Scale: TensorFlow
 
Rajat Monga, Engineering Director, TensorFlow, Google at MLconf 2016
Rajat Monga, Engineering Director, TensorFlow, Google at MLconf 2016Rajat Monga, Engineering Director, TensorFlow, Google at MLconf 2016
Rajat Monga, Engineering Director, TensorFlow, Google at MLconf 2016
 
TensorFlow - La IA detrás de Google
TensorFlow - La IA detrás de GoogleTensorFlow - La IA detrás de Google
TensorFlow - La IA detrás de Google
 
Google TensorFlow Tutorial
Google TensorFlow TutorialGoogle TensorFlow Tutorial
Google TensorFlow Tutorial
 
Machine learning and TensorFlow
Machine learning and TensorFlowMachine learning and TensorFlow
Machine learning and TensorFlow
 

Similar to TensorFlow on Mobile

TensorFlowで遊んでみよう!
TensorFlowで遊んでみよう!TensorFlowで遊んでみよう!
TensorFlowで遊んでみよう!Kei Hirata
 
tfug-kagoshima
tfug-kagoshimatfug-kagoshima
tfug-kagoshimatak9029
 
Google TensorFlowで遊んでみた①
Google TensorFlowで遊んでみた①Google TensorFlowで遊んでみた①
Google TensorFlowで遊んでみた①Tetsuya Hasegawa
 
Tensorflow
TensorflowTensorflow
TensorflowHakky St
 
Delphi開発者のためのSencha入門
Delphi開発者のためのSencha入門Delphi開発者のためのSencha入門
Delphi開発者のためのSencha入門Shinobu Kawano
 
TensorFlowで逆強化学習
TensorFlowで逆強化学習TensorFlowで逆強化学習
TensorFlowで逆強化学習Mitsuhisa Ohta
 
Machine learning 15min TensorFlow hub
Machine learning 15min TensorFlow hubMachine learning 15min TensorFlow hub
Machine learning 15min TensorFlow hubJunya Kamura
 
Basic deep learning_framework
Basic deep learning_frameworkBasic deep learning_framework
Basic deep learning_frameworkKazuhiroSato8
 
どうしてプレゼン研究会を始めたのか
どうしてプレゼン研究会を始めたのかどうしてプレゼン研究会を始めたのか
どうしてプレゼン研究会を始めたのかMasahito Zembutsu
 
JUIZ DLK 組込み向けDeep Learningコンパイラ
JUIZ DLK 組込み向けDeep LearningコンパイラJUIZ DLK 組込み向けDeep Learningコンパイラ
JUIZ DLK 組込み向けDeep LearningコンパイラLeapMind Inc
 
TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎Etsuji Nakai
 
MacでTensorFlow on Dockerを 使って見る
MacでTensorFlow on Dockerを 使って見る MacでTensorFlow on Dockerを 使って見る
MacでTensorFlow on Dockerを 使って見る Hiroyuki Yoshida
 
Weekend Androidのススメ
Weekend AndroidのススメWeekend Androidのススメ
Weekend AndroidのススメSuzuki Junko
 
プログラムデザイン
プログラムデザインプログラムデザイン
プログラムデザイン大輔 浅井
 
オトナのプログラミング勉強会 オトナのDeep Learning 2016-11
オトナのプログラミング勉強会 オトナのDeep Learning 2016-11オトナのプログラミング勉強会 オトナのDeep Learning 2016-11
オトナのプログラミング勉強会 オトナのDeep Learning 2016-11Katsuhiro Morishita
 

Similar to TensorFlow on Mobile (20)

Tensorgo
TensorgoTensorgo
Tensorgo
 
TensorFlowで遊んでみよう!
TensorFlowで遊んでみよう!TensorFlowで遊んでみよう!
TensorFlowで遊んでみよう!
 
tfug-kagoshima
tfug-kagoshimatfug-kagoshima
tfug-kagoshima
 
内省するTensorFlow
内省するTensorFlow内省するTensorFlow
内省するTensorFlow
 
Google TensorFlowで遊んでみた①
Google TensorFlowで遊んでみた①Google TensorFlowで遊んでみた①
Google TensorFlowで遊んでみた①
 
機械学習ライブラリ : TensorFlow
機械学習ライブラリ : TensorFlow機械学習ライブラリ : TensorFlow
機械学習ライブラリ : TensorFlow
 
Tensorflow
TensorflowTensorflow
Tensorflow
 
Delphi開発者のためのSencha入門
Delphi開発者のためのSencha入門Delphi開発者のためのSencha入門
Delphi開発者のためのSencha入門
 
TensorFlowで逆強化学習
TensorFlowで逆強化学習TensorFlowで逆強化学習
TensorFlowで逆強化学習
 
Machine learning 15min TensorFlow hub
Machine learning 15min TensorFlow hubMachine learning 15min TensorFlow hub
Machine learning 15min TensorFlow hub
 
Basic deep learning_framework
Basic deep learning_frameworkBasic deep learning_framework
Basic deep learning_framework
 
どうしてプレゼン研究会を始めたのか
どうしてプレゼン研究会を始めたのかどうしてプレゼン研究会を始めたのか
どうしてプレゼン研究会を始めたのか
 
JUIZ DLK 組込み向けDeep Learningコンパイラ
JUIZ DLK 組込み向けDeep LearningコンパイラJUIZ DLK 組込み向けDeep Learningコンパイラ
JUIZ DLK 組込み向けDeep Learningコンパイラ
 
TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎
 
MacでTensorFlow on Dockerを 使って見る
MacでTensorFlow on Dockerを 使って見る MacでTensorFlow on Dockerを 使って見る
MacでTensorFlow on Dockerを 使って見る
 
Weekend Androidのススメ
Weekend AndroidのススメWeekend Androidのススメ
Weekend Androidのススメ
 
Android道紹介
Android道紹介Android道紹介
Android道紹介
 
Hubsでアカペラ
HubsでアカペラHubsでアカペラ
Hubsでアカペラ
 
プログラムデザイン
プログラムデザインプログラムデザイン
プログラムデザイン
 
オトナのプログラミング勉強会 オトナのDeep Learning 2016-11
オトナのプログラミング勉強会 オトナのDeep Learning 2016-11オトナのプログラミング勉強会 オトナのDeep Learning 2016-11
オトナのプログラミング勉強会 オトナのDeep Learning 2016-11
 

Recently uploaded

UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 

Recently uploaded (9)

UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 

TensorFlow on Mobile