tensor flow勉強会 (ayashiminagaranotensorflow)
TRANSCRIPT
シーエイトラボ株式会社
怪しみながら使うTensorFlow
Tensorflow勉強会
15/12/11 C8Lab Copyright 2014 C8Lab Inc. All rights reserved
2
自己紹介
新村拓也(しんむら たくや)
平成2年5月 鹿児島生まれ
東京大学工学部精密工学科人工物工学センター
太田研究室 卒業
「位置情報と投稿内容をもとにしたTwitterを用いた行動予測」
今の素性:シーエイトラボ株式会社 代表取締役
住んでいる場所:巣鴨
好きなもの:お酒
15/12/11 C8Lab Copyright 2014 C8Lab Inc. All rights reserved
3
TensorFlowとは?
15/12/11 C8Lab Copyright 2014 C8Lab Inc. All rights reserved
u 読み方「テンソルフロー」 u Googleが11月10日に公開したオープンソース u 多層NN(ディープラーニング)に特化したライブラリ
u 現状C++/PythonでのAPIが存在
u Tensor(テンソル)のFlow(流れ)で状態記述
4
Tensor(テンソル)とは?
15/12/11 C8Lab Copyright 2014 C8Lab Inc. All rights reserved
テンソル(英: tensor, 独: Tensor)とは、線形的な量または線形的な幾何概念を一般化したもので、基底を選べば、多次元の配列として表現できるようなものである。 Wikipedia
6
Tensor(テンソル)とは?
15/12/11 C8Lab Copyright 2014 C8Lab Inc. All rights reserved
1 23 4
!
"#
$
%&
1 23 4
!
"#
$
%&
などの行列=2階テンソル
などのベクトル=1階テンソル
などの何か=3階テンソル
1,2( )
などのスカラー=0階テンソル 1,2,3,4
1 23 4
!
"#
$
%&1 23 4
!
"#
$
%&
7
なぜテンソル?
畳み込みNNなどの場合
といったややこしいことをする場合が多い。。。
pixcel = img[1][4][5]
For文で回してごにょごにょ、、、
みたいに記述が面倒。。。。
15/12/11 C8Lab Copyright 2014 C8Lab Inc. All rights reserved
とある画像のR(赤)要素の高さ4px目の横5px目の画素にアクセス!
テンソルを使ってまとめてやってしまおう!
8
実際に調べてみた
u 公式サイト https://www.tensorflow.org 豊富なチュートリアル、ドキュメント、まずはここから!
u 使ってみた人のブログ、議論など
なるほど参考になります!
u ホワイトペーパー
http://download.tensorflow.org/paper/whitepaper2015.pdf 設計思想やまだ公開していない機能とかについても書かれています。
15/12/11 C8Lab Copyright 2014 C8Lab Inc. All rights reserved
9
比較
u 書き方 u Theanoなどのテンソルを用いた有効非巡回グラフでの
書き方 u 一部わかりやすい所もあるが、慣れてしまえばどれも同
じ
15/12/11 C8Lab Copyright 2014 C8Lab Inc. All rights reserved
10
比較 u 速さ
u 単一マシンでのシングルGPU、マルチGPUともに他のライブラリのほうが早いっぽい
15/12/11 C8Lab Copyright 2014 C8Lab Inc. All rights reserved
掲載元:https://cntk.codeplex.com
11
比較
u 対応言語 u Ptython と C++、他のライブラリより多い! だ
が………
15/12/11 C8Lab Copyright 2014 C8Lab Inc. All rights reserved
モデル作ったりするのは結局python使う必要あるの…?
12
比較
u OS u Windowsダメらしい。(ビルドツールの問題) u Mac,Ubuntuはおk
15/12/11 C8Lab Copyright 2014 C8Lab Inc. All rights reserved
Windowsで使う場合は仮想環境とかでなくデュアルブートがおぬぬめ!
13
比較 u サポートしているモデルの種類
u 3D畳み込みやRNNの一部が他より少ない u 学習フェーズでのメソッドは充実!(AdaGradなど)
15/12/11 C8Lab Copyright 2014 C8Lab Inc. All rights reserved
14
この時点での感想
15/12/11 C8Lab Copyright 2014 C8Lab Inc. All rights reserved
(ーωー;)ウーン
チュートリアルは凄く充実してて面白いんだけど。。。
15
だがしかし!
u TensorBoard u ログ取得を行うことによってモデルや値の推移を可視化 u ウェブベースの分析画面
15/12/11 C8Lab Copyright 2014 C8Lab Inc. All rights reserved
16
実際のプロジェクトで使ってみた(まだ途中) u 物体の相対位置計測
u 画像に移るとある物体とカメラの相対位置を計測 u 分類ではなく回帰問題
15/12/11 C8Lab Copyright 2014 C8Lab Inc. All rights reserved
・カメラとの相対距離 (x,y,z)
・カメラとの相対角度(roll,pitch,yaw)
を算出する。
17
はまりどころ
u ハイパーパラメータをどうするか? u 方針(CNN,RNNなど)とか発火関数はある程度あたり
はつく u 何層にする? u 学習率どうする? u 中間層何個にする? u 学習手法どうする?
15/12/11 C8Lab Copyright 2014 C8Lab Inc. All rights reserved
結構な数のパターンを少数データで検証して、あたりをつける必要がある。
一番大事
18
今までは・・・
u なんらかのライブラリ使って可視化 u 依存関係がああああ u データ見るのにいちいち実行する必要もあり u 詳細な分析するためには別途詳細ログを取得
u 根性で実装 u 必要なポイントでCSV作って u それをエクセルなど使って可視化
15/12/11 C8Lab Copyright 2014 C8Lab Inc. All rights reserved
実装も比較も面倒くさい!
19
TensorBoardなら
15/12/11 C8Lab Copyright 2014 C8Lab Inc. All rights reserved
1.ログとって
2.比較など可能
「緑の時のほうが精度良さげだから採用しよう」、「そもそも
このモデルがダメだ」など。
20
TensorBoardなら
3.詳細な値とって回帰曲線の指揮を求める時もCSVインポートできます
4.時間も取ってくれているので最終的な時間も読みやすい
15/12/11 C8Lab Copyright 2014 C8Lab Inc. All rights reserved
21
実際の取り組み
1.層の数、ノードの数は固定。初期学習率、学習率のアップデートメソッドを複数パターン試す。 2. 目視比較でアンチパターンを除去
3. 学習曲線を回帰で求めて良さげなものを採用(学習率とその学習手法を決定)
15/12/11 C8Lab Copyright 2014 C8Lab Inc. All rights reserved
適当なデータで作ったダメな例
22
これからの取り組み
4.データを少し増やして中間層のパラメータを複数通りで試す
15/12/11 C8Lab Copyright 2014 C8Lab Inc. All rights reserved
23
これからの取り組み
5.重みなどのヒストグラムのデータなどをみて、 より細かいチューニング
15/12/11 C8Lab Copyright 2014 C8Lab Inc. All rights reserved
重みや出力の偏りなどを確認
24
今の時点での感想
u 実業務でのイテレーションを回す際に痒いところに手が届く! u 特に多人数のプロジェクトなどではデータ共有が非常に有利 u ホワイトペーパーを見る限り、まだ公開していない機能が結構あるので
期待! u やっぱりチュートリアルがすごい
u DL以外の要素にも是非活用していってほしいという意思を感じる。。。
15/12/11 C8Lab Copyright 2014 C8Lab Inc. All rights reserved
25
まとめ
u リリースして間もないので既存ライブラリと比較すると物足りない
u 現状だと他では一切ないTensorBoardを用いてうまくイテ
レーションを回せるのが強み
u 圧倒的に面白いチュートリアル
u 今後の機能拡張、サポートに強い期待
15/12/11
C8Lab Copyright 2014 C8Lab Inc. All rights reserved
27
お問い合わせ ご興味のある企業・団体・個人様は、以下までお問い合わせください。
シーエイトラボ株式会社
http://www.c8-lab.com
東京都港区赤坂 8-5-40 ペガサス青山
Tel 090-3320-2680
代表取締役社長/CEO 新村拓也
E-mail:[email protected]
15/12/11 C8Lab Copyright 2014 C8Lab Inc. All rights reserved
C8Lab株式会社は東京大学発のベンチャー企業です。 東京大学人工物工学研究センターの太田順教授とC8Labの新村拓也氏が株式会社グローバルプレナーズと
共同研究した「SNSデータ分析によるオントロジーネットワーク構築」の技術がCOMPYに応用されています。 「ソーシャル情報から抽出したユーザ行動目的に基づく推薦システム」「同行者コンテキスト依存の文書抽出およびトピック解析」「同行者依存のトピック発見モデル」など、
ユーザーの行動分析に関する研究で論文を多く発表しています。