TensorFlowで遊んでみよう!
IL×CM×CR 合同勉強会
1
自己紹介
名前 : 平田 圭 (@masuwo3)
所属 : データ分析チーム
現在 : 2015年5月よりクラスメソッド入社
過去 : 特任助教、SE、IT講師、etc...
ML : 研究室でかじった程度
Python歴 : 一ヶ月くらい
2
今日のアジェンダ
• TensorFlowについての紹介
• TensorFlowを使ってみる
3
4
TensorFlowの概要
TensorFlowとはなにか
• で話題の機械学習ライブラリ
• Deep Learning以降
• オープンソース / Googleが主導
• Python 2.7
• CUDA 7.0
5
2015/6/9 2015/11/202013/10/20
caffe v0.1 chainer 公開 TensorFlow 公開
…..
TensorFlowの特長 (公式から)
• 柔軟性
• 機械学習のモデルを柔軟に記述できる
• Neural Networkに限定しない
• ポータビリティ
• 環境に合わせて計算処理を行う
• CPU/GPU, ラップトップ/サーバ など
• 研究成果と製品の連結
• 研究成果の検証を行いやすく
• プロダクトに転用しやすく
6
7
TensorFlowにおける計算処理
TensorFlowにおける計算処理
TensorFlowは計算をグラフ構造で表現する
8
x
*
+
y
b
W
TensorとOperation
データはTensor
9
Tensor
計算処理はOperation
Tensor
op
Tensor
Tensor
Tensorについて
10
1 [1,2,3,…] [[1,2,3,…],
[1,2,3,…],
[1,2,3,…],
… ]
[[[1,2,3,…],…],
[[1,2,3,…],…],
[[1,2,3,…],…],
… ]
階数0のテンソル
(スカラ)
階数1のテンソル
(ベクトル)
階数2のテンソル
(行列)
階数3のテンソル
a a[] a[][] a[][][]
Sessionについて
計算処理は2フェイズ(Define & Run)
11
Define
Run
• 計算のグラフモデルを構築するフェイズ
• この時点では計算結果は確定しない
• グラフモデルから計算結果を確定するフェイズ
• Sessionにモデルを投入し、計算結果を得る
Sessionについて
12
• Session
• バックエンドのC++モジュールとのコネクション
• 実際の演算はこのC++モジュール上で行われる
• 計算リソースが自動的に割り当てられる
x
*
+
y
b
W
cpu:0
gpu:0
• 損失関数の最小化
• 機械学習の「学習」は、損失関数の最小化に置き換えられる
• 最小点の探索には、勾配計算が必要
• TensorFlowではOptimizerで学習を一括して行う
Optimizerについて
13
Optimizerについて
14
• Optimiser
• 勾配計算から探索までを一括で行う
• 勾配の計算は、グラフモデルを自動的に変換
• 学習手法に合わせて内部の重みを更新していく
• グラフで表現された損失関数から、自動的に学習を行う
サンプルコードの解説
15
Define
Run
• データ・モデルの定義
• 学習モデルの構築
• 損失関数、Optimizer
• 計算処理の実施
• Optimizerを用いた学習
サンプルコードの解説
16
訓練用の入出力データを作成
•
訓練モデルの構築
• モデル内部の重みを宣言
損失関数、optimizerを設定
•
• SGD(確率的勾配降下法)を指定
Define
サンプルコードの解説
17
Run
内部の重みを初期化
学習を繰り返し実行
• 20回ごとに結果を表示
サンプルコードの解説
• 実行結果
18
Chainerとの違い
• MLライブラリ
• 大きな違いはない印象
• APIの好みの問題?
• (Python歴1ヶ月の感想です)
• 分散処理
• どちらもシングルマシン / マルチGPU
• TensorFlowは将来的にマルチマシン対応?
19
Chainerとの違い
• TensorBoard
20
学習過程やモデルの構造を可視化
Chainerとの違い
• TensorBoard
21
学習過程やモデルの構造を可視化
22
TensorFlowを使ってみる
TensorFlowのチュートリアル
• とても充実
• MNIST for Beginners
• Deep MNIST for Expert
• Convolutional Neural Networks
• Vector Representations of Words
• Sequence-to-Sequence Models
• Mandelbrot Set (?)
• etc…
23
MNIST
• 手書き数字のデータセット
• サイズ : 28x28
• 70,000枚 (訓練 60k, テスト 10k)
• 画像識別のHello World
24
Convolutional Neural Network
• 畳み込みNN (CNN)
• Deep Learningの代表的手法
• 主に画像識別に用いられる
• 畳み込み層とプーリング層の組み合わせ
• 人間の視覚野の仕組みを参考
25
Convolutional Neural Network
26
詳細は割愛
TensorFlowでCNN
27
• 畳み込み層
• プーリング層
APIを組み合わせることでCNNを構築できる
結果
28
テストデータでの正答率 : 98.71%
まとめ
• TensorFlow
• 行列計算 + ML用API
• 最新の学習手法を簡単に検証できる
• グラフモデルで計算を表現
• 稼働環境のリソースを割り当て
• 勾配計算を自動的におこなう
• モデルや学習状況の可視化
29
おまけ
やりたかったこと
• DQN (Deep-Q-Network)
• Deep Learning + 強化学習
• モニタ画像からゲームの戦略を学習
• 同じモデルで様々なゲームを攻略
• ゲームによってはプロ以上の成果
30
http://www.nature.com/nature/journal/v518/n7540/full/nature14236.html

More Related Content

PDF
TensorFlowで逆強化学習
PDF
TensorFlow 入門
PPTX
ディープラーニングゼミ TensorFlowで学ぶ理論と実践
PDF
Tensorflow
PDF
機械学習ライブラリ : TensorFlow
PDF
TensorFlowによるCNNアーキテクチャ構築
PDF
思いついたアルゴリズムを TensorFlow で実装してみた話
PDF
開発者からみたTensor flow
TensorFlowで逆強化学習
TensorFlow 入門
ディープラーニングゼミ TensorFlowで学ぶ理論と実践
Tensorflow
機械学習ライブラリ : TensorFlow
TensorFlowによるCNNアーキテクチャ構築
思いついたアルゴリズムを TensorFlow で実装してみた話
開発者からみたTensor flow

What's hot (19)

PDF
TensorFlowをざっくりLTしてみた
PPTX
AI入門「第1回:AIの歴史とTensorFlow」
PDF
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
PPTX
Androidで動かすはじめてのDeepLearning
PDF
Basic deep learning_framework
PDF
内省するTensorFlow
PPTX
Tensorflowで言語識別をやってみた
PDF
Dropout Distillation
PDF
Meta-Learning with Memory Augmented Neural Network
PDF
Learning to forget continual prediction with lstm
PDF
深層学習フレームワークChainerの特徴
PPTX
全脳アーキテクチャ若手の会20170131
PPTX
もう学習は機械に任せたい2 -ディープラーニングの逆襲-
PDF
2016tf study5
PDF
NIPS2013読み会: Distributed Representations of Words and Phrases and their Compo...
PPTX
ディープラーニングで株価予測をやってみた
PDF
Development and Experiment of Deep Learning with Caffe and maf
PDF
20171212 gtc pfn海野裕也_chainerで加速する深層学習とフレームワークの未来
PDF
言語と知識の深層学習@認知科学会サマースクール
TensorFlowをざっくりLTしてみた
AI入門「第1回:AIの歴史とTensorFlow」
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
Androidで動かすはじめてのDeepLearning
Basic deep learning_framework
内省するTensorFlow
Tensorflowで言語識別をやってみた
Dropout Distillation
Meta-Learning with Memory Augmented Neural Network
Learning to forget continual prediction with lstm
深層学習フレームワークChainerの特徴
全脳アーキテクチャ若手の会20170131
もう学習は機械に任せたい2 -ディープラーニングの逆襲-
2016tf study5
NIPS2013読み会: Distributed Representations of Words and Phrases and their Compo...
ディープラーニングで株価予測をやってみた
Development and Experiment of Deep Learning with Caffe and maf
20171212 gtc pfn海野裕也_chainerで加速する深層学習とフレームワークの未来
言語と知識の深層学習@認知科学会サマースクール
Ad

Viewers also liked (8)

PPTX
Tensorflowのチュートリアルで理解するdeep learningはじめてハンズオン
PPTX
深層学習とTensorFlow入門
PDF
TensorFlowを使ってテキストをクラス分類してみた
PPTX
TensorFlowで会話AIを作ってみた。
PDF
Tensor flow勉強会 (ayashiminagaranotensorflow)
PDF
TensorFlow を使った 機械学習ことはじめ (GDG京都 機械学習勉強会)
PDF
機械学習チュートリアル@Jubatus Casual Talks
PDF
機械学習によるデータ分析まわりのお話
Tensorflowのチュートリアルで理解するdeep learningはじめてハンズオン
深層学習とTensorFlow入門
TensorFlowを使ってテキストをクラス分類してみた
TensorFlowで会話AIを作ってみた。
Tensor flow勉強会 (ayashiminagaranotensorflow)
TensorFlow を使った 機械学習ことはじめ (GDG京都 機械学習勉強会)
機械学習チュートリアル@Jubatus Casual Talks
機械学習によるデータ分析まわりのお話
Ad

Similar to TensorFlowで遊んでみよう! (20)

PPTX
tfug-kagoshima
PDF
TensorFlowプログラミングと分類アルゴリズムの基礎
PPTX
ChainerでDeep Learningを試すために必要なこと
PPTX
ChainerでDeep Learningを試す為に必要なこと
PPTX
[DL Hacks]色々と進化しているTensorFlow - 紹介編 -
PDF
PENGUIN AI ML-Agents
PDF
Machine learning 15min TensorFlow hub
PDF
Chainer on Azure 2 年の歴史
PDF
Chainerのテスト環境とDockerでのCUDAの利用
PDF
Tensor flowを使った キュウリの仕分け あれこれ
PPTX
MacでTensorFlow on Dockerを 使って見る
PDF
High performance python computing for data science
PDF
20180824 DLLab推論ナイト_深層学習モデル推論ライブラリ「Menoh」の紹介/Python以外でDeepLearning
PDF
TensorFlow on Mobile
PDF
TensorFlowの使い方(in Japanese)
PPTX
HTML5 Conference LT TensorFlow
PPTX
Webエンジニアが初めて機械学習に触れてみた話
PDF
Final LINQ extensions III
PPTX
Using Deep Learning for Recommendation
PPTX
音声ポストプロダクションの機械化
tfug-kagoshima
TensorFlowプログラミングと分類アルゴリズムの基礎
ChainerでDeep Learningを試すために必要なこと
ChainerでDeep Learningを試す為に必要なこと
[DL Hacks]色々と進化しているTensorFlow - 紹介編 -
PENGUIN AI ML-Agents
Machine learning 15min TensorFlow hub
Chainer on Azure 2 年の歴史
Chainerのテスト環境とDockerでのCUDAの利用
Tensor flowを使った キュウリの仕分け あれこれ
MacでTensorFlow on Dockerを 使って見る
High performance python computing for data science
20180824 DLLab推論ナイト_深層学習モデル推論ライブラリ「Menoh」の紹介/Python以外でDeepLearning
TensorFlow on Mobile
TensorFlowの使い方(in Japanese)
HTML5 Conference LT TensorFlow
Webエンジニアが初めて機械学習に触れてみた話
Final LINQ extensions III
Using Deep Learning for Recommendation
音声ポストプロダクションの機械化

TensorFlowで遊んでみよう!