94
Deep Learning ハハハハハ #2 ハハハハハハハハハハハハハ URL: https://goo.gl/wzUB4V ※ ハハハハハハハハハハハハ ハハハハハハハハハハ

TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

Embed Size (px)

Citation preview

Page 1: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

Deep Learning ハンズオン #2

もうすぐスタートします!資料 URL: https://goo.gl/wzUB4V※ コーディングをしたい方は、リアルでご参加下さい

Page 2: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

はじめに2

Page 3: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

Deep Learning 勉強会• 趣旨:エンジニアとして Deep Learning の仕組みを理解する• 開催履歴・予定

– 4/21 人工生命勉強会– 5/16 Deep Learning 勉強会 #1– 5/23 Deep Learning 勉強会 #2– 5/30 Deep Learning 勉強会 #3– 6/16 Deep Learning ハンズオン会 #1– 6/30 AI 情報共有会 & 社内技術共有会 #1 – 7/14 Deep Learning ハンズオン会 #2

3

Page 4: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

4

今日の目次1. ハンズオン #1   Hello TF.learn2. ハンズオン #2  カラム名付き TF.learn3. ハンズオン #3   Wide and Deep Learning

• TensorFlow 公式チュートリアルの続きです• 前回の内容とは別のレイヤなので、前回の知識は不要です

Page 5: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

Jupyter (旧称 IPython Notebook )• ブラウザ経由で以下ができるツールです

– Python のインタラクティブシェル– linux コンソール(今日は使わないで!)

• 配布資料の URL からアクセスして下さい– 以下がインストールされたサーバ (36vCPU, c4.8xlarge)

• TensorFlow ( Google 製の Deep Learning のライブラリ)• Anaconda ( Python 機械学習のパッケージ。 Jupyter 含む)

– 勉強会後にサーバを落とすので、必要なファイルは最後にローカルに保存して下さい(アナウンスします) 5

Page 6: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

6

Hello Jupyter

1. 識別子として自分の名前を使った prefix を使う– チームラボの人はメールアドレスの文字列(例 : yamamoto )– 外部の方はフルネーム(例 : yamadataro )

2. Python ノートブックを作って下さい– New → Python2 で新規ノートブックを作成– タイトルをクリックして 名前 -IRIS と入力例: yamamoto-IRIS

Page 7: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

ハンズオン #1 HELLO TF.LEARN000-IRIS.ipynb

7

Page 8: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

8

TF.learn

• TensorFlow 0.9 から導入されたハイレベル API• 簡単な記述で DNN が記述できる

Page 9: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

9

Hello TF.learn のフロー

識別器を作るDNNClassifier()

データ読込(学習 & 評価)それぞれ x, y

.fit(x, y) で学習する

.evaluate(x, y) で評価する

Page 10: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

10

Hello TF.learn のフロー

識別器を作るDNNClassifier()

データ読込(学習 & 評価)それぞれ x, y

.fit(x, y) で学習する

.evaluate(x, y) で評価する

Page 11: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

11

Hello TF.learn

• IRIS Flower Dataset

• 3品種のアイリスの花についてsepal( がく ) 、 petal( 花びら ) の長さ・太さのデータを収集

• データから品種を推定する問題の入門データセットとしてよく用いられる アイリス(アヤメ)の花

Page 12: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

12

Hello TF.learn

Page 13: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

13

Hello TF.learn

Page 14: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

14

Hello TF.learn

順にsepal.length, sepal.width, petal.length, petal.width

Page 15: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

15

Hello TF.learn

Page 16: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

16

Hello TF.learn のフロー

識別器を作るDNNClassifier()

データ読込(学習 & 評価)それぞれ x, y

.fit(x, y) で学習する

.evaluate(x, y) で評価する

Page 17: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

17

Hello TF.learn のフロー

識別器を作るDNNClassifier()

データ読込(学習 & 評価)それぞれ x, y

.fit(x, y) で学習する

.evaluate(x, y) で評価する

Page 18: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

18

Hello TF.learn

• 隠れ層が 10 個・ 20 個・ 10 個 の3層• 出力層が3個(3クラスの識別器)• 活性化関数は ReLU (デフォルト)• 入力層の数はまだ決まっていない

Page 19: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

19

Hello TF.learn のフロー

識別器を作るDNNClassifier()

データ読込(学習 & 評価)それぞれ x, y

.fit(x, y) で学習する

.evaluate(x, y) で評価する

Page 20: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

20

Hello TF.learn のフロー

識別器を作るDNNClassifier()

データ読込(学習 & 評価)それぞれ x, y

.fit(x, y) で学習する

.evaluate(x, y) で評価する

Page 21: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

21

Hello TF.learn

fit() で学習• データと正解を与えて学習• 誤差逆伝播を 200 回まわす• 初めて fit 関数が呼ばれた時に入力層のニューロン数が決まる

Page 22: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

22

Hello TF.learn のフロー

識別器を作るDNNClassifier()

データ読込(学習 & 評価)それぞれ x, y

.fit(x, y) で学習する

.evaluate(x, y) で評価する

Page 23: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

23

Hello TF.learn のフロー

識別器を作るDNNClassifier()

データ読込(学習 & 評価)それぞれ x, y

.fit(x, y) で学習する

.evaluate(x, y) で評価する

Page 24: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

24

Hello TF.Learn

evaluate() で精度評価

Page 25: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

25

Hello TF.learn

predict( x ) で予測

Page 26: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

26

Hello TF.learn まとめ

識別器を作るDNNClassifier()

データ読込(学習 & 評価)それぞれ x, y

.fit(x, y) で学習する

.evaluate(x, y) で評価する

Page 27: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

27

フリータイムPython ノートブックを作って下さい

– New → Python2 で新規ノートブックを作成– タイトルをクリックして 名前 -IRIS と入力例: yamamoto-IRIS

サンプル本体: 000-IRIS.ipynb

Page 28: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

ハンズオン #2 カラム名付きTF.LEARN000-IRIS-named.ipynb

28

Page 29: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

29

カラム名付き TF.learn

識別器を作るDNNClassifier()

データ読込関数(学習 & 評価)input_fn_train, input_fn_eval

.fit( input_fn_train ) で学習する

.evaluate( input_fn_eval ) で評価する

Page 30: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

30

カラム名付き TF.learn

識別器を作るDNNClassifier()

データ読込関数(学習 & 評価)input_fn_train, input_fn_eval

.fit( input_fn_train ) で学習する

.evaluate( input_fn_eval ) で評価する

Page 31: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

31

カラム名付き TF.learn

‘sepal_length’ という名前のカラム(値は実数)を定義

Page 32: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

32

TF.learn のカラム種類(後述)• tf.contrib.layers.real_valued_column : 実数値• tf.contrib.layers.sparse_column : ID 値• tf.contrib.layers.bucketized_column : 実数の区間 ID• tf.contrib.layers.crossed_column : 複合カラム• tf.contrib.layers.embedding_column :

Embedding

Page 33: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

33

カラム名付き TF.learn

‘sepal_length’ という名前のカラム(値は実数)を定義

Page 34: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

34

カラム名付き TF.learn

‘sepal_length’ という名前のカラム(値は実数)を定義

入力層に用いるカラムを指定してDNN 識別器を作成

Page 35: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

35

カラム名付き TF.learn

識別器を作るDNNClassifier()

データ読込関数(学習 & 評価)input_fn_train, input_fn_eval

.fit( input_fn_train ) で学習する

.evaluate( input_fn_eval ) で評価する

Page 36: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

36

カラム名付き TF.learn

識別器を作るDNNClassifier()

データ読込関数(学習 & 評価)input_fn_train, input_fn_eval

.fit( input_fn_train ) で学習する

.evaluate( input_fn_eval ) で評価する

Page 37: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

37

TF.learn のデータ読込関数 (input_fn)

• 学習や評価に用いるデータを、カラム名付きで1バッチぶん返す関数

‘sepal_length’ :

‘sepal_width’ :

‘petal_length’ :

‘petal_width’ :

6.4, 5.6, 6.3, 4.8, …

2.8, 2.3, 3.1, 2.4, …

5.4, 1.3, 1.5, 4.6, …

1.8, 2.3, 0.2, 1.4, … ,

2, 1, 0, 0, 1, 2, 2, 0, …

タプル型↑ ↑ 辞書型

データ 正解

↑TensorFlow のテンソル型↑

Page 38: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

38

TF.learn のデータ読込関数 (input_fn)

学習データ用のinput_fn

Page 39: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

39

TF.learn のデータ読込関数 (input_fn)

評価データ用のinput_fn

Page 40: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

40

カラム名付き TF.learn

識別器を作るDNNClassifier()

データ読込関数(学習 & 評価)input_fn_train, input_fn_eval

.fit( input_fn_train ) で学習する

.evaluate( input_fn_eval ) で評価する

Page 41: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

41

カラム名付き TF.learn

識別器を作るDNNClassifier()

データ読込関数(学習 & 評価)input_fn_train, input_fn_eval

.fit( input_fn_train ) で学習する

.evaluate( input_fn_eval ) で評価する

Page 42: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

42

カラム名付き TF.learn

x, y の代わりにinput_fn_train を与える

Page 43: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

43

カラム名付き TF.learn

識別器を作るDNNClassifier()

データ読込関数(学習 & 評価)input_fn_train, input_fn_eval

.fit( input_fn_train ) で学習する

.evaluate( input_fn_eval ) で評価する

Page 44: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

44

カラム名付き TF.learn

• x, y の代わりに input_fn_eval を与える• steps で「何回 input_fn を呼び出すか」を指定

• 評価データがバッチに分かれている時は1 より大きな値になる

Page 45: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

45

カラム名付き TF.learn

データ部分だけを返すinput_fn を定義して使う

Page 46: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

46

カラム名付き TF.learn まとめ

識別器を作るDNNClassifier()

データ読込関数(学習 & 評価)input_fn_train, input_fn_eval

.fit( input_fn_train ) で学習する

.evaluate( input_fn_eval ) で評価する

Page 47: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

47

フリータイムPython ノートブックを作って下さい

– New → Python2 で新規ノートブックを作成– タイトルをクリックして 名前 -IRIS-named と入力例: yamamoto-IRIS-named

サンプル本体: 000-IRIS-named.ipynb

Page 48: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

ハンズオン #3 WIDE&DEEP LEARNING000-WideDeep.ipynb

48

Page 49: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

49

Wide and Deep Learning

• Google が最近出した論文で提案している手法– Cheng, et.al. “Wide & Deep Learning for Recommender Systems,”

2016

• シンプルな回帰モデル (Wide Model) とEmbedding を使った DNN(Deep Model) を組み合わせたネットワーク

Page 50: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

50

Wide Model

男 女 文京区 北区豊島区 20代30代40代 IT 建設医療性別 居住区 年代 業種

年収 500万円以上かどうか

Page 51: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

51

Wide Model によるレコメンド

男 女 文京区 北区豊島区 20代30代40代 IT 建設医療性別 居住区 年代 業種 レコメンドする商品

服 食品家電 書籍

その商品をクリックするかどうか

Page 52: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

52

Wide Model によるレコメンド

北区&服 20代&食品 男&書籍複合特徴

男 女 文京区 北区豊島区 20代30代40代 IT 建設医療性別 居住区 年代 業種 レコメンドする商品

服 食品家電 書籍

その商品をクリックするかどうか

Page 53: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

53

Deep Model

Page 54: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

54

Wide and Deep Learning

単純で過学習しにくい モデルの表現力が豊か

Page 55: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

55

Wide and Deep Learning

• Google Play トップのアプリレコメンドで実験したところ現行のレコメンド手法(回帰モデル)に比べてアプリインストール率が 3.9% 向上• TensorFlow 0.9 に実装された

Page 56: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

56

扱う問題

Census Income Dataset年収が $50K 以上かどうかを推定したい

Page 57: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

57

カラム名付き TF.learn

識別器を作るDNNClassifier()

データ読込関数(学習 & 評価)input_fn_train, input_fn_eval

.fit( input_fn_train ) で学習する

.evaluate( input_fn_eval ) で評価する

Page 58: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

58

カラム名付き TF.learn

識別器を作るDNNClassifier()

データ読込関数(学習 & 評価)input_fn_train, input_fn_eval

.fit( input_fn_train ) で学習する

.evaluate( input_fn_eval ) で評価する

Page 59: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

59

Wide and Deep Learning

Page 60: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

60

TF.learn のカラム種類• tf.contrib.layers.real_valued_column : 実数値• tf.contrib.layers.sparse_column : ID 値• tf.contrib.layers.bucketized_column : 実数の区間 ID• tf.contrib.layers.crossed_column : 複合カラム• tf.contrib.layers.embedding_column :

Embedding

Page 61: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

61

Wide and Deep Learning

-17 18-2425-29

age_buckets↑ 実数age

Page 62: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

62

Wide and Deep Learning‘Male’, ‘Female’ などの文字列をハッシュ関数で 0-99 の値にマッピング

hash_bucket_size は十分大きな値にする

経営者セールス 技術者occupation

Page 63: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

63

Wide and Deep Learning

中学校 高校 大学education

経営者セールス 技術者occupation

中学校 /経営者 中学校 /セールス中学校 /技術者x_education_occupation

高校 /経営者 高校 /セールス 高校 /技術者

Page 64: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

64

Wide and Deep Learning

中学校 高校 大学education

中学校 高校 大学e_education

Page 65: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

65

Wide and Deep Learning

Page 66: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

66

Wide and Deep Learning

Page 67: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

67

Wide and Deep Learning

Page 68: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

68

カラム名付き TF.learn

識別器を作るDNNClassifier()

データ読込関数(学習 & 評価)input_fn_train, input_fn_eval

.fit( input_fn_train ) で学習する

.evaluate( input_fn_eval ) で評価する

Page 69: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

69

カラム名付き TF.learn

識別器を作るDNNClassifier()

データ読込関数(学習 & 評価)input_fn_train, input_fn_eval

.fit( input_fn_train ) で学習する

.evaluate( input_fn_eval ) で評価する

Page 70: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

70

Wide and Deep Learning

データ分析ライブラリ Pandas を利用カラム名を与えて CSV を読み込む

Page 71: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

71

Wide and Deep Learning

Page 72: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

72

Wide and Deep Learning

data_train[‘income_bracket’] data_train[‘income_bracket’] == ‘>50K’ ~.astype(int)

Page 73: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

73

Wide and Deep Learning

Page 74: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

74

TF.learn のデータ読込関数 (再掲 )

• 学習や評価に用いるデータを、カラム名付きで1バッチぶん返す関数

‘sepal_length’ :

‘sepal_width’ :

‘petal_length’ :

‘petal_width’ :

6.4, 5.6, 6.3, 4.8, …

2.8, 2.3, 3.1, 2.4, …

5.4, 1.3, 1.5, 4.6, …

1.8, 2.3, 0.2, 1.4, … ,

2, 1, 0, 0, 1, 2, 2, 0, …

タプル型↑ ↑ 辞書型

データ 正解

↑TensorFlow のテンソル型↑

Page 75: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

75

Wide and Deep Learning

Pandas データはdata[‘age’].values で配列として取得できる

ID カラムは SparseTensor として読み込む必要がある

Page 76: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

76

Wide and Deep Learning

for 文中の SparseTensor 関数は、実際はこんな感じで呼ばれる

Page 77: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

77

Wide and Deep Learning

Page 78: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

78

カラム名付き TF.learn

識別器を作るDNNClassifier()

データ読込関数(学習 & 評価)input_fn_train, input_fn_eval

.fit( input_fn_train ) で学習する

.evaluate( input_fn_eval ) で評価する

Page 79: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

79

カラム名付き TF.learn

識別器を作るDNNClassifier()

データ読込関数(学習 & 評価)input_fn_train, input_fn_eval

.fit( input_fn_train ) で学習する

.evaluate( input_fn_eval ) で評価する

Page 80: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

80

Wide and Deep Learning

Page 81: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

81

カラム名付き TF.learn

識別器を作るDNNClassifier()

データ読込関数(学習 & 評価)input_fn_train, input_fn_eval

.fit( input_fn_train ) で学習する

.evaluate( input_fn_eval ) で評価する

Page 82: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

82

Wide and Deep Learning

Page 83: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

83

フリータイムPython ノートブックを作って下さい

– New → Python2 で新規ノートブックを作成– タイトルをクリックして 名前 -WideDeep と入力例: yamamoto-WideDeep

サンプル本体: 000-WideDeep.ipynb

Page 84: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

お疲れ様でした84

Page 85: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

各自、ファイルを持ち帰って下さい• サーバはこのあと、削除します• File → Download as → IPython Notebook

• 20160714-jupyter.zip も必要であれば保存ください

85

Page 86: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

86

学生さん向けアナウンス• 参加頂いた方を、勉強会の告知用 ML に登録します• ML 経由で、次回以降の勉強会のアナウンスをお送りします• 興味がなくなったら、 ML フッターのリンクから

unsubscribe してください

Page 87: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

87

学生さん向けアナウンス2• 短期研究アルバイトを募集します• 技術的に面白そうな調査研究で、社内で着手できていないものをやってもらいたい• 実験的にやってみます

Page 88: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

88

課題 A. Deep Learning によるレコメンデーション• 協調フィルタによるレコメンデーション

– 商品 ×ユーザ の購買マトリクスを特異値分解などで次元圧縮すると、各商品について「どういうユーザ層に買われれるか」を表すベクトル表現が得られる• この値は商品を表す良い特徴量となっていて、この値を用いてレコメンデーションを行う

– しかし購買データが少ない商品(新商品など)に対しては適切なベクトル表現が得られにくい( Cold Start 問題)– 商品の画像やテキストデータから、 Deep Learning によってこのベクトル表現への回帰を学習し、新商品に対しても適切なレコメンデーションができないかを実験する

• 参考論文– Oord, et.al. “Deep Content-Based Music Recommendation,” 2013

Page 89: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

89

課題 B. 強化学習による自然な動き獲得• 犬の形の3次元モデルを作り、自然に歩くように学習させる

– 深層強化学習 (DQN)– 筋肉のモデル化によって自然になるか調査– チームラボの遊園地系の案件で導入したい

• 参考資料– 過去の社内実験 : page– OpenAI Gym: https://gym.openai.com/envs#mujoco

Page 90: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

90

課題 C. プロジェクタとスマホによる可視光通信• ライブ会場でお客さんがスマホをかざし、客席にプロジェクタで特定のパターンを描画することでスマホのカメラを使って位置を認識し、演出ができないか調査• 先日、東大・稲見先生にいただいたアイデア

Page 91: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

91

課題 D. 弊社受付システム映像からの同一人物判定• 弊社5階、 Facetouch という受付システム• 取り付けたカメラの映像から、同一人物の判定ができないかを調査

– この人が前回来たのはいつ、ということを検索できないか• 将来的に Facetouch に搭載し、前回来社時の担当者を呼び出しやすくするなどの改良をしたい• 参考資料

– OpenFace: https://cmusatyalab.github.io/openface/• Deep Learning による顔認識ライブラリ

Page 92: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

92

短期研究アルバイト• 働き方

– 応相談(例:週に2日で2ヶ月 とか)– 基本的には弊社に来て作業してもらう想定

• 報酬– 時給 910円– 実際に作業した時間

• 弊社以外で論文読んだり作業した場合は自己申告で換算

• やりたい方は山本まで連絡ください

Page 93: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

今後の予定93

Page 94: TensorFlowハンズオン第2回(チームラボ勉強会 2016/07/14)

94

次回以降の予定• 7/21( 木 ) 19:00 - 21:00 機械学習もくもく会(社内のみ)• 7/28(木 ) は開催なし。 8月に再開予定、後日連絡します

– 7月忙しい人が多い– 次に何をやるか、ゆっくり考えたい

• TensorFlow ハンズオン、ちょっと煮詰まってきた感あり• これらの情報にキャッチアップしたい、チームラボの人は

Slack の #ai トピックに参加して下さい• 学生の方は ML からご案内します