Weitere ähnliche Inhalte
Ähnlich wie 2018年01月27日 TensorBoardによる学習の可視化 (20)
2018年01月27日 TensorBoardによる学習の可視化
- 1. Copyright © 2017 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
TensorBoardによる
学習の可視化
2018年1月27日
AITC TensorFlow勉強会
袴田 隼毅@富士通
荒井 美千子@リコー
中山 智哉@日本総合システム
- 2. Copyright © 2017 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
TensorBoard について
1
- 3. Copyright © 2017 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
TensorBoardとは
• 何をするもの??
• 大規模なディープニューラルネットワークの学習のような、TensorFlowを使
用した計算は、複雑なものになる。
• TensorFlowには、TensorBoardという一連の可視化ツールが
含まれている。
• TensorFlowプログラムを理解、デバッグ、および学習の最適化を容易に
するために、TensorFlowの計算グラフや学習を可視化することができる。
TensorBoard: Visualizing Learning :
https://www.tensorflow.org/get_started/summari
es_and_tensorboard
2
- 4. Copyright © 2017 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
• 可視化によって何ができる?何のためのもの?
• 学習の可視化
学習過程を可視化することで、作成したNNがどの程度
学習できているかを確認できる。
また、パラメータをチューニングした結果、学習過程がどのように
変化するかが確認できるため、学習の最適化が容易になる。
• TensorFlow 計算グラフの可視化
TensorFlowの計算グラフは複雑になる。計算グラフを可視化すること
で、TensorFlowを使用したプログラムの理解とデバッグに役立つ。
=NN(ディープラーニング)のモデルを開発するために重要
→ MNIST(手書きの数値データセット)を利用した例で確認
TensorBoardとは
3
- 5. Copyright © 2017 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
学習の可視化の例1
• パラメーター設定による結果を確認
例)最適化クラスのパラメータ(勾配降下法の学習係数)
GradientDescentOptimizer(0.1)
GradientDescentOptimizer(0.5)
loss 0.3程度で収束
loss 0.27程度まで学習
4
- 6. Copyright © 2017 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
学習の可視化の例2
• パラメーター設定による結果を確認
例)学習の試行回数
EPOCHS = 200
EPOCHS = 50
学習が途中で収束
(無駄な学習)
学習が完了したあたり
で終了
(無駄なく学習)
5
- 7. Copyright © 2017 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
計算グラフ可視化の例1
• MNISTを利用した学習モデルを可視化
6
- 8. Copyright © 2017 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
計算グラフ可視化の例2
• オブジェクトの詳細を可視化
7
- 9. Copyright © 2017 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
TensorBoard の操作
8
- 10. Copyright © 2017 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
TensorBoardの画面(1)
選ぶメニュー(タブ)によって表示できるものが異なる
スカラ値
画像 (png)
音
Tensorboard
の “グラフ”
分散
ヒストグラム
高次データを
3Dっぽく表示
Chart
ではない
9
- 11. Copyright © 2017 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
TensorBoardの画面(2)
メニュー項目の変化も激しい
かつてはメニュー項目がもれなく並んでいた
ログファイルがない項目はまとめてカスケード表示
指定された場所にログファイルがあれば、メニュー項目として表示
10
- 12. Copyright © 2017 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
SCALARS 画面構成
表示エリア
(1) タググループ
(2) スムーズさ
(3) X軸
(1) ダウンロード、
スケーリング
等の設定
(2) スムーズさ
(3) X軸
設定
学習/テストした
データ(ログ)
11
- 13. Copyright © 2017 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
正規表現で複数のグラフを1つのタグ
グループにまとめる。
例: “.*” は全データ(accuracyとloss)を
1つのタブにまとめる
正規表現で “.*” のタググループ
12
- 14. Copyright © 2017 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
チェックを入れると、データを
ダウンロードできるリンクが出
現する
ダウンロード用
リンク
SCALARS
13
- 15. Copyright © 2017 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
“Ignore outliers in chart scaling”
にチェックを入れると、外れ値を
「避けて」グラフをスケーリング
外れ値を除外してスケール調整 外れ値も含めてスケール調整
SCALARS
14
- 16. Copyright © 2017 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
ツールチップの並び順
Default…Nameのアルファベット順
Ascending…値の小さい順
Descending…値の大きい順
Nearest…マウスカーソルに近い順
これがツールチップ
15
- 17. Copyright © 2017 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
グラフのスムージング
0~1の間の数を指定。
0だとスムージングがかからない
1だともっともスムーズになる
アルゴリズムは不明 (Bezier or spline?)
SCALARS
16
- 18. Copyright © 2017 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
折れ線グラフの横軸の指定
STEP…ステップ(実行回数)
RELATIVE…実行時間(初回からの差分)
WALL…時刻
SCALARS
17
- 19. Copyright © 2017 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
グラフの表示・非表示の切り替え
“Write a regexp..” を書くと、chartの中
のマッチする線のみ表示
TOGGLE ALL RUNSで
全表示・全非表示の切り替え
SCALARS
18
- 20. Copyright © 2017 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
画像データを表示
イメージの表示サイズ
データ
IMAGES
19
- 21. Copyright © 2017 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
音声の一覧を表示
ただし、実際に音が鳴るかはブラウザ依
存。chromeは 大丈夫そう。
表示する音声を選択
AUDIO
20
- 22. Copyright © 2017 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
ちゃんと整理する
→最終版のコードに置き換えて
説明
GRAPHS
ソースコードの処理から
グラフが自動生成される。
このグラフはインタラクティブに動
き、様々な範囲を可視化する
21
- 23. Copyright © 2017 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
ちゃんと整理する
→最終版のコードに置き換えて
説明
GRAPHS
“Run” でログが置かれている
サブディレクトリを切り替えられる
“Session” でセッションを切り替えて、
該当セッションのグラフを表示
“Upload” でTensorFlow のモデル
ファイルをアップロード
22
- 24. Copyright © 2017 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
ちゃんと整理する
→最終版のコードに置き換えて
説明
GRAPHS
“Color” で色分け方法を選ぶ
Structure…モデル(ネットワーク)構成
Device…処理を行ったデバイス(CPU vs GPU)
Compute time…処理時間
Memory…メモリ使用量
TPU Compatibility… tensor processing unit上
で実行
23
- 25. Copyright © 2017 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
ちゃんと整理する
→最終版のコードに置き換えて
説明
GRAPHS
“Trace Inputs” を使うと、ノード
の依存関係を追いかけられる
24
- 26. Copyright © 2017 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
GRAPHS
① “Compute time” を選択
② “output_layer” ノードをクリック
③ 選んだノードの情報を表示
25
- 27. Copyright © 2017 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
GRAPHS
④ “Trace inputs” を有効にする
⑤ “output_layer” の 依存関係
(upstream の)が表示される
26
- 28. Copyright © 2017 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
DISTRIBUTIONS
27
- 29. Copyright © 2017 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
HISTOGRAMS
“OFFSET” は斜め
45度から見た感じ
“OVERLAY” は真横
から見た感じ
28
- 30. Copyright © 2017 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
EMBEDDINGS
実行したものを選ぶ(学習
とテストなど)
高次元のデータを
3D風に表示
実際は784次元
29
- 31. Copyright © 2017 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
EMBEDDINGS
グラフの色が反転
(背景が黒)
点の代わりに数値
を表示
回転中のグラフが
home position に戻る
30