機械学習ライブラリ : TensorFlow

19
0 機械学習ライブラリ:TensorFlow エスキュービズム・テクノロジー エンジニア勉強会 S-cubism Technology Inc.

Transcript of 機械学習ライブラリ : TensorFlow

Page 1: 機械学習ライブラリ : TensorFlow

0

機械学習ライブラリ:TensorFlow

エスキュービズム・テクノロジーエンジニア勉強会

S-cubism Technology Inc.

Page 2: 機械学習ライブラリ : TensorFlow

目次

1.TensorFlow

2.Tensorbord

1. 二次関数

2. MNIST

3.まとめ

1

Page 3: 機械学習ライブラリ : TensorFlow

1. TensorFlow

• Google独自の機械学習技術をオープンソース化

–機械学習特にディープラーニングを実装するためのライブラリ

–画像検索やスマート返信機能などに用いられている

2

Page 4: 機械学習ライブラリ : TensorFlow

TensorFlow

• TensorFlowとは?

– Tensor(多次元配列、行列)

– Flow(計算処理)

• 簡易/柔軟な記述方式

• 可視化機能

–構築した計算フローの可視化機能

3

Page 5: 機械学習ライブラリ : TensorFlow

TensorFlow

• TensorFlowでは計算処理はグラフで表現

– ノード(Node)とエッジ(Edge)

– Nodeは計算処理(Ops)か末端の入力/出力

– Edgeは計算結果の値(多次元配列)

• Sessionコンポーネントが計算処理

– CPU, GPUなどの計算資源を割り当て

4

Page 6: 機械学習ライブラリ : TensorFlow

計算フローの図

• 矢印部分がEdge

–計算結果の結果(tensor, 多次元配列)

• ●部分がNode

–定数および計算処理(四則演算、累乗)

5

Page 7: 機械学習ライブラリ : TensorFlow

記述例:計算フローグラフ

• 二次関数の計算フロー

6

Page 8: 機械学習ライブラリ : TensorFlow

記述例:計算フローの実行

• Sessionの実行

–計算結果を出力

7

Page 9: 機械学習ライブラリ : TensorFlow

ディープラーニング利用

• ニューラルネットワークの入力、出力は多次元

– TensorFlowで処理の記述および計算が可能

8

Page 10: 機械学習ライブラリ : TensorFlow

TensorBoard

• TensorFlowが提供している可視化機能

• ニューラルネットワークの処理の様子

–式の計算結果のグラフ

–計算フローの図

9

Page 11: 機械学習ライブラリ : TensorFlow

計算フロー図:二次関数

10

Page 12: 機械学習ライブラリ : TensorFlow

計算フロー図:二次関数

11

Page 13: 機械学習ライブラリ : TensorFlow

二次関数グラフ

12

Page 14: 機械学習ライブラリ : TensorFlow

チュートリアルの実行:MNIST• 手書き文字認識の学習

– 0~9までの手書き文字を判別する

• TensorFlowのチュートリアルの一つ

– RNNやword2vec等

–訓練誤差の変化をTensorBoardで表示

13

Page 15: 機械学習ライブラリ : TensorFlow

TensorBoard:計算フロー図

14

Page 16: 機械学習ライブラリ : TensorFlow

TensorBoard:計算フロー図

15

Page 17: 機械学習ライブラリ : TensorFlow

TensorBoard:訓練誤差

16

Page 18: 機械学習ライブラリ : TensorFlow

まとめ

•TensorFlowの紹介

–計算処理の記述

– TensorBoardによる可視化

17

Page 19: 機械学習ライブラリ : TensorFlow

参考資料• TesorFlow公式

– https://www.tensorflow.org/

• Googleの公開した人工知能ライブラリTensorFlowを触ってみた– http://nextdeveloper.hatenablog.com/entry/2015/11/10/204609

• TensorFlowを算数で理解する– http://qiita.com/icoxfog417/items/fb5c24e35a849f8e2c5d

• TensorFlowで Hello Worldを動かしてみた&その解説– http://dev.classmethod.jp/machine-learning/tensorflow-hello-world/