tensorflowハンズオン第1回(チームラボ勉強会 2016/06/16)
TRANSCRIPT
Deep Learning ハンズオン 1
もうすぐスタートします参加者は配布資料の URL を開いておいて下さい コーディングをしたい方はリアルでご参加下さい
はじめに2
Deep Learning 勉強会bull 趣旨エンジニアとして Deep Learning の仕組みを理解するbull 開催履歴予定
ndash 421 人工生命勉強会ndash 516 Deep Learning 勉強会 1ndash 523 Deep Learning 勉強会 2ndash 530 Deep Learning 勉強会 3ndash 616 Deep Learning ハンズオン会 1ndash 630 AI 情報共有会 社内技術共有会 1 ndash 77 機械学習もくもく会ndash 714 Deep Learning ハンズオン会 2
3
4
今回から学生さんを受け入れていますbull 学生さん所属と名前だけ自己紹介お願いしますbull この勉強会のスタンス
ndash 基本的に チームラボ社内向け の勉強会ですbull おもてなしを期待しないで下さい
ndash 写真をとったり内容をネットで共有することは控えて下さいbull 社内のことを話しにくくなりますbull 弊社に関係ない話は OK です
ndash 受け入れる理由bull 弊社に興味ある学生に弊社の一面を知ってもらえるbull 違う文化知見を持った人がいると場が活性化するかも
5
今日の目次1 ハンズオン 1 Jupyter2 ハンズオン 2 Hello TensorFlow3 ハンズオン 3 Hello CNN
ハンズオン体験学習bull TensorFlow のコードを説明してそれを実際に書いてもらう
ndash TensorFlow 公式チュートリアルの最初の2つを扱います
bull はじめての試みなのでいろいろうまくいかないと思いますがご理解ください
6
TensorFlow
bull 案内では Deep Learning のライブラリとしてKeras を使う予定でしたが TensorFlow にしましたndash Keras は TensorFlow のラッパーシンプルで使いやすいと評判
bull 研究成果として GitHub に上がっているコードはTensorFlow Theano Caffe などが多くKeras しか使えないと限界がある
bull TensorFlow は Google と DeepMind が頑張ってるのでこれから伸びそう
7
ハンズオン 1 JUPYTER
Jupyter (旧称 IPython Notebook )bull ブラウザ経由で以下ができるツールです
ndash Python のインタラクティブシェルndash linux コンソール(今日は使わないで)
bull 配布資料の URL からアクセスして下さいndash 以下がインストールされたサーバ (36vCPU c48xlarge)
bull TensorFlow ( Google 製の Deep Learning のライブラリ)bull Anaconda ( Python 機械学習のパッケージ Jupyter 含む)
ndash 勉強会後にサーバを落とすので必要なファイルは最後にローカルに保存して下さい(アナウンスします) 8
9
Hello Jupyter
1 識別子として自分の名前を使った prefix を使うndash チームラボの人はメールアドレスの文字列(例 yamamoto )ndash 外部の方はフルネーム(例 yamadataro )
2 Python ノートブックを作って下さいndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -HelloJupyter と入力例 yamamoto-HelloJupyter
10
Hello Jupyter
bull 基本的な使い方
11
Hello Jupyter
12
ハンズオン 2 TENSORFLOW 入門
ニューロン ニューロン同士の結合
ニューラルネットワーク(復習)
13入力層 隠れ層 出力層
3-12-51-2
2
1
+6
-5
+1
-1
+2
1-2-2012-1-12
-02
-2
+1
4-2
30
-1-2
+14
-23
07
03
09
045
01
07
098
002
血液中の成分 X濃度
血液中の成分 Y濃度
男である確率
女である確率
活性化関数神経細胞の活動をモデル化入力が閾値を超えると発火 (=1)超えなければ発火しない (=0)sigmoid tanh ReLU など
sigmoid 関数 出力関数目的に応じて出力値を整える関数クラス分け (classification)問題ではsoftmax 関数 が用いられるsoftmax 関数は出力値を確率に変換
2
ニューロンの出力
3
結合の重み
14
活性化関数 ReLU 関数
区分線形ユニット関数 (Rectified Linear Unit)計算効率学習効率が良いためDeep Learning でよく用いられる
15
出力関数 softmax 関数入力を確率(合計 1 の正の値)に変換認識問題に用いる
出力層
0
+1
-05
05
入力1
272
061
165
exp( 入力 )017
046
01
028
合計 1 に正規化
16
ロス関数bull 出力と正解のズレの大きさをモデル化する関数
ndash 2乗誤差 (mean squared error) 汎用ndash クロスエントロピー (cross entropy) 確率の場合に用いる
bull ロス関数が小さくなるように誤差逆伝播 (Back Propagation) で学習
入力層 隠れ層 出力層
3-12-51-2
2
1
1-2-2012-1-12
4-2
30
-1-2
07
03
09
045
01
07
098
002
正解
0
1
17
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
18
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
19
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
20
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
21
ニューラルネット復習キーワードbull 活性化関数 ReLUbull 出力関数 Softmaxbull ロス関数クロスエントロピーbull 誤差逆伝播( Back Propagation )bull ドロップアウト
22
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
23
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個
結合重み100times10 個
784
100 10
24
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
25
数字認識実際の計算
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1784 times 100
w2100 times 10
hin = x w1yin = h w2
各層の入力値は前層の出力重み行列の行列積として計算できるh = ReLU( hin )y = Softmax( yin )
26
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
27
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9 バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
28
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9+4
-4
0
-2
+3
0
-2
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
29
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
30
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個+結合バイアス
100個
結合重み100times10 個
+結合バイアス10個
31
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個+結合バイアス
100個
結合重み100times10 個+結合バイアス
10個
784
100 10
32
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
33
数字認識実際の計算(バイアスあり)
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1
784 times 100
w2
100 times 10
b1
100
b2
10
hin = x w1 + b1
yin = h w2 + b2
各層の入力値は前層の出力重み行列 + バイアスと計算できる
h = ReLU( hin )y = Softmax( yin )
34
数字認識一度に1データを処理
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
35
数字認識一度に2データを処理
hellip
入力層 隠れ層 出力層
2x
784
2x
100
2x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
36
数字認識一度に3データを処理
hellip
入力層 隠れ層 出力層
3x
784
3x
100
3x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
37
数字認識一度に N データを処理
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
38
数字認識確保する変数(バッチ学習の場合)
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
39
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
40
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
はじめに2
Deep Learning 勉強会bull 趣旨エンジニアとして Deep Learning の仕組みを理解するbull 開催履歴予定
ndash 421 人工生命勉強会ndash 516 Deep Learning 勉強会 1ndash 523 Deep Learning 勉強会 2ndash 530 Deep Learning 勉強会 3ndash 616 Deep Learning ハンズオン会 1ndash 630 AI 情報共有会 社内技術共有会 1 ndash 77 機械学習もくもく会ndash 714 Deep Learning ハンズオン会 2
3
4
今回から学生さんを受け入れていますbull 学生さん所属と名前だけ自己紹介お願いしますbull この勉強会のスタンス
ndash 基本的に チームラボ社内向け の勉強会ですbull おもてなしを期待しないで下さい
ndash 写真をとったり内容をネットで共有することは控えて下さいbull 社内のことを話しにくくなりますbull 弊社に関係ない話は OK です
ndash 受け入れる理由bull 弊社に興味ある学生に弊社の一面を知ってもらえるbull 違う文化知見を持った人がいると場が活性化するかも
5
今日の目次1 ハンズオン 1 Jupyter2 ハンズオン 2 Hello TensorFlow3 ハンズオン 3 Hello CNN
ハンズオン体験学習bull TensorFlow のコードを説明してそれを実際に書いてもらう
ndash TensorFlow 公式チュートリアルの最初の2つを扱います
bull はじめての試みなのでいろいろうまくいかないと思いますがご理解ください
6
TensorFlow
bull 案内では Deep Learning のライブラリとしてKeras を使う予定でしたが TensorFlow にしましたndash Keras は TensorFlow のラッパーシンプルで使いやすいと評判
bull 研究成果として GitHub に上がっているコードはTensorFlow Theano Caffe などが多くKeras しか使えないと限界がある
bull TensorFlow は Google と DeepMind が頑張ってるのでこれから伸びそう
7
ハンズオン 1 JUPYTER
Jupyter (旧称 IPython Notebook )bull ブラウザ経由で以下ができるツールです
ndash Python のインタラクティブシェルndash linux コンソール(今日は使わないで)
bull 配布資料の URL からアクセスして下さいndash 以下がインストールされたサーバ (36vCPU c48xlarge)
bull TensorFlow ( Google 製の Deep Learning のライブラリ)bull Anaconda ( Python 機械学習のパッケージ Jupyter 含む)
ndash 勉強会後にサーバを落とすので必要なファイルは最後にローカルに保存して下さい(アナウンスします) 8
9
Hello Jupyter
1 識別子として自分の名前を使った prefix を使うndash チームラボの人はメールアドレスの文字列(例 yamamoto )ndash 外部の方はフルネーム(例 yamadataro )
2 Python ノートブックを作って下さいndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -HelloJupyter と入力例 yamamoto-HelloJupyter
10
Hello Jupyter
bull 基本的な使い方
11
Hello Jupyter
12
ハンズオン 2 TENSORFLOW 入門
ニューロン ニューロン同士の結合
ニューラルネットワーク(復習)
13入力層 隠れ層 出力層
3-12-51-2
2
1
+6
-5
+1
-1
+2
1-2-2012-1-12
-02
-2
+1
4-2
30
-1-2
+14
-23
07
03
09
045
01
07
098
002
血液中の成分 X濃度
血液中の成分 Y濃度
男である確率
女である確率
活性化関数神経細胞の活動をモデル化入力が閾値を超えると発火 (=1)超えなければ発火しない (=0)sigmoid tanh ReLU など
sigmoid 関数 出力関数目的に応じて出力値を整える関数クラス分け (classification)問題ではsoftmax 関数 が用いられるsoftmax 関数は出力値を確率に変換
2
ニューロンの出力
3
結合の重み
14
活性化関数 ReLU 関数
区分線形ユニット関数 (Rectified Linear Unit)計算効率学習効率が良いためDeep Learning でよく用いられる
15
出力関数 softmax 関数入力を確率(合計 1 の正の値)に変換認識問題に用いる
出力層
0
+1
-05
05
入力1
272
061
165
exp( 入力 )017
046
01
028
合計 1 に正規化
16
ロス関数bull 出力と正解のズレの大きさをモデル化する関数
ndash 2乗誤差 (mean squared error) 汎用ndash クロスエントロピー (cross entropy) 確率の場合に用いる
bull ロス関数が小さくなるように誤差逆伝播 (Back Propagation) で学習
入力層 隠れ層 出力層
3-12-51-2
2
1
1-2-2012-1-12
4-2
30
-1-2
07
03
09
045
01
07
098
002
正解
0
1
17
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
18
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
19
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
20
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
21
ニューラルネット復習キーワードbull 活性化関数 ReLUbull 出力関数 Softmaxbull ロス関数クロスエントロピーbull 誤差逆伝播( Back Propagation )bull ドロップアウト
22
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
23
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個
結合重み100times10 個
784
100 10
24
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
25
数字認識実際の計算
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1784 times 100
w2100 times 10
hin = x w1yin = h w2
各層の入力値は前層の出力重み行列の行列積として計算できるh = ReLU( hin )y = Softmax( yin )
26
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
27
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9 バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
28
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9+4
-4
0
-2
+3
0
-2
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
29
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
30
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個+結合バイアス
100個
結合重み100times10 個
+結合バイアス10個
31
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個+結合バイアス
100個
結合重み100times10 個+結合バイアス
10個
784
100 10
32
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
33
数字認識実際の計算(バイアスあり)
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1
784 times 100
w2
100 times 10
b1
100
b2
10
hin = x w1 + b1
yin = h w2 + b2
各層の入力値は前層の出力重み行列 + バイアスと計算できる
h = ReLU( hin )y = Softmax( yin )
34
数字認識一度に1データを処理
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
35
数字認識一度に2データを処理
hellip
入力層 隠れ層 出力層
2x
784
2x
100
2x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
36
数字認識一度に3データを処理
hellip
入力層 隠れ層 出力層
3x
784
3x
100
3x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
37
数字認識一度に N データを処理
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
38
数字認識確保する変数(バッチ学習の場合)
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
39
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
40
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
Deep Learning 勉強会bull 趣旨エンジニアとして Deep Learning の仕組みを理解するbull 開催履歴予定
ndash 421 人工生命勉強会ndash 516 Deep Learning 勉強会 1ndash 523 Deep Learning 勉強会 2ndash 530 Deep Learning 勉強会 3ndash 616 Deep Learning ハンズオン会 1ndash 630 AI 情報共有会 社内技術共有会 1 ndash 77 機械学習もくもく会ndash 714 Deep Learning ハンズオン会 2
3
4
今回から学生さんを受け入れていますbull 学生さん所属と名前だけ自己紹介お願いしますbull この勉強会のスタンス
ndash 基本的に チームラボ社内向け の勉強会ですbull おもてなしを期待しないで下さい
ndash 写真をとったり内容をネットで共有することは控えて下さいbull 社内のことを話しにくくなりますbull 弊社に関係ない話は OK です
ndash 受け入れる理由bull 弊社に興味ある学生に弊社の一面を知ってもらえるbull 違う文化知見を持った人がいると場が活性化するかも
5
今日の目次1 ハンズオン 1 Jupyter2 ハンズオン 2 Hello TensorFlow3 ハンズオン 3 Hello CNN
ハンズオン体験学習bull TensorFlow のコードを説明してそれを実際に書いてもらう
ndash TensorFlow 公式チュートリアルの最初の2つを扱います
bull はじめての試みなのでいろいろうまくいかないと思いますがご理解ください
6
TensorFlow
bull 案内では Deep Learning のライブラリとしてKeras を使う予定でしたが TensorFlow にしましたndash Keras は TensorFlow のラッパーシンプルで使いやすいと評判
bull 研究成果として GitHub に上がっているコードはTensorFlow Theano Caffe などが多くKeras しか使えないと限界がある
bull TensorFlow は Google と DeepMind が頑張ってるのでこれから伸びそう
7
ハンズオン 1 JUPYTER
Jupyter (旧称 IPython Notebook )bull ブラウザ経由で以下ができるツールです
ndash Python のインタラクティブシェルndash linux コンソール(今日は使わないで)
bull 配布資料の URL からアクセスして下さいndash 以下がインストールされたサーバ (36vCPU c48xlarge)
bull TensorFlow ( Google 製の Deep Learning のライブラリ)bull Anaconda ( Python 機械学習のパッケージ Jupyter 含む)
ndash 勉強会後にサーバを落とすので必要なファイルは最後にローカルに保存して下さい(アナウンスします) 8
9
Hello Jupyter
1 識別子として自分の名前を使った prefix を使うndash チームラボの人はメールアドレスの文字列(例 yamamoto )ndash 外部の方はフルネーム(例 yamadataro )
2 Python ノートブックを作って下さいndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -HelloJupyter と入力例 yamamoto-HelloJupyter
10
Hello Jupyter
bull 基本的な使い方
11
Hello Jupyter
12
ハンズオン 2 TENSORFLOW 入門
ニューロン ニューロン同士の結合
ニューラルネットワーク(復習)
13入力層 隠れ層 出力層
3-12-51-2
2
1
+6
-5
+1
-1
+2
1-2-2012-1-12
-02
-2
+1
4-2
30
-1-2
+14
-23
07
03
09
045
01
07
098
002
血液中の成分 X濃度
血液中の成分 Y濃度
男である確率
女である確率
活性化関数神経細胞の活動をモデル化入力が閾値を超えると発火 (=1)超えなければ発火しない (=0)sigmoid tanh ReLU など
sigmoid 関数 出力関数目的に応じて出力値を整える関数クラス分け (classification)問題ではsoftmax 関数 が用いられるsoftmax 関数は出力値を確率に変換
2
ニューロンの出力
3
結合の重み
14
活性化関数 ReLU 関数
区分線形ユニット関数 (Rectified Linear Unit)計算効率学習効率が良いためDeep Learning でよく用いられる
15
出力関数 softmax 関数入力を確率(合計 1 の正の値)に変換認識問題に用いる
出力層
0
+1
-05
05
入力1
272
061
165
exp( 入力 )017
046
01
028
合計 1 に正規化
16
ロス関数bull 出力と正解のズレの大きさをモデル化する関数
ndash 2乗誤差 (mean squared error) 汎用ndash クロスエントロピー (cross entropy) 確率の場合に用いる
bull ロス関数が小さくなるように誤差逆伝播 (Back Propagation) で学習
入力層 隠れ層 出力層
3-12-51-2
2
1
1-2-2012-1-12
4-2
30
-1-2
07
03
09
045
01
07
098
002
正解
0
1
17
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
18
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
19
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
20
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
21
ニューラルネット復習キーワードbull 活性化関数 ReLUbull 出力関数 Softmaxbull ロス関数クロスエントロピーbull 誤差逆伝播( Back Propagation )bull ドロップアウト
22
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
23
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個
結合重み100times10 個
784
100 10
24
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
25
数字認識実際の計算
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1784 times 100
w2100 times 10
hin = x w1yin = h w2
各層の入力値は前層の出力重み行列の行列積として計算できるh = ReLU( hin )y = Softmax( yin )
26
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
27
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9 バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
28
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9+4
-4
0
-2
+3
0
-2
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
29
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
30
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個+結合バイアス
100個
結合重み100times10 個
+結合バイアス10個
31
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個+結合バイアス
100個
結合重み100times10 個+結合バイアス
10個
784
100 10
32
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
33
数字認識実際の計算(バイアスあり)
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1
784 times 100
w2
100 times 10
b1
100
b2
10
hin = x w1 + b1
yin = h w2 + b2
各層の入力値は前層の出力重み行列 + バイアスと計算できる
h = ReLU( hin )y = Softmax( yin )
34
数字認識一度に1データを処理
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
35
数字認識一度に2データを処理
hellip
入力層 隠れ層 出力層
2x
784
2x
100
2x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
36
数字認識一度に3データを処理
hellip
入力層 隠れ層 出力層
3x
784
3x
100
3x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
37
数字認識一度に N データを処理
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
38
数字認識確保する変数(バッチ学習の場合)
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
39
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
40
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
4
今回から学生さんを受け入れていますbull 学生さん所属と名前だけ自己紹介お願いしますbull この勉強会のスタンス
ndash 基本的に チームラボ社内向け の勉強会ですbull おもてなしを期待しないで下さい
ndash 写真をとったり内容をネットで共有することは控えて下さいbull 社内のことを話しにくくなりますbull 弊社に関係ない話は OK です
ndash 受け入れる理由bull 弊社に興味ある学生に弊社の一面を知ってもらえるbull 違う文化知見を持った人がいると場が活性化するかも
5
今日の目次1 ハンズオン 1 Jupyter2 ハンズオン 2 Hello TensorFlow3 ハンズオン 3 Hello CNN
ハンズオン体験学習bull TensorFlow のコードを説明してそれを実際に書いてもらう
ndash TensorFlow 公式チュートリアルの最初の2つを扱います
bull はじめての試みなのでいろいろうまくいかないと思いますがご理解ください
6
TensorFlow
bull 案内では Deep Learning のライブラリとしてKeras を使う予定でしたが TensorFlow にしましたndash Keras は TensorFlow のラッパーシンプルで使いやすいと評判
bull 研究成果として GitHub に上がっているコードはTensorFlow Theano Caffe などが多くKeras しか使えないと限界がある
bull TensorFlow は Google と DeepMind が頑張ってるのでこれから伸びそう
7
ハンズオン 1 JUPYTER
Jupyter (旧称 IPython Notebook )bull ブラウザ経由で以下ができるツールです
ndash Python のインタラクティブシェルndash linux コンソール(今日は使わないで)
bull 配布資料の URL からアクセスして下さいndash 以下がインストールされたサーバ (36vCPU c48xlarge)
bull TensorFlow ( Google 製の Deep Learning のライブラリ)bull Anaconda ( Python 機械学習のパッケージ Jupyter 含む)
ndash 勉強会後にサーバを落とすので必要なファイルは最後にローカルに保存して下さい(アナウンスします) 8
9
Hello Jupyter
1 識別子として自分の名前を使った prefix を使うndash チームラボの人はメールアドレスの文字列(例 yamamoto )ndash 外部の方はフルネーム(例 yamadataro )
2 Python ノートブックを作って下さいndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -HelloJupyter と入力例 yamamoto-HelloJupyter
10
Hello Jupyter
bull 基本的な使い方
11
Hello Jupyter
12
ハンズオン 2 TENSORFLOW 入門
ニューロン ニューロン同士の結合
ニューラルネットワーク(復習)
13入力層 隠れ層 出力層
3-12-51-2
2
1
+6
-5
+1
-1
+2
1-2-2012-1-12
-02
-2
+1
4-2
30
-1-2
+14
-23
07
03
09
045
01
07
098
002
血液中の成分 X濃度
血液中の成分 Y濃度
男である確率
女である確率
活性化関数神経細胞の活動をモデル化入力が閾値を超えると発火 (=1)超えなければ発火しない (=0)sigmoid tanh ReLU など
sigmoid 関数 出力関数目的に応じて出力値を整える関数クラス分け (classification)問題ではsoftmax 関数 が用いられるsoftmax 関数は出力値を確率に変換
2
ニューロンの出力
3
結合の重み
14
活性化関数 ReLU 関数
区分線形ユニット関数 (Rectified Linear Unit)計算効率学習効率が良いためDeep Learning でよく用いられる
15
出力関数 softmax 関数入力を確率(合計 1 の正の値)に変換認識問題に用いる
出力層
0
+1
-05
05
入力1
272
061
165
exp( 入力 )017
046
01
028
合計 1 に正規化
16
ロス関数bull 出力と正解のズレの大きさをモデル化する関数
ndash 2乗誤差 (mean squared error) 汎用ndash クロスエントロピー (cross entropy) 確率の場合に用いる
bull ロス関数が小さくなるように誤差逆伝播 (Back Propagation) で学習
入力層 隠れ層 出力層
3-12-51-2
2
1
1-2-2012-1-12
4-2
30
-1-2
07
03
09
045
01
07
098
002
正解
0
1
17
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
18
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
19
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
20
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
21
ニューラルネット復習キーワードbull 活性化関数 ReLUbull 出力関数 Softmaxbull ロス関数クロスエントロピーbull 誤差逆伝播( Back Propagation )bull ドロップアウト
22
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
23
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個
結合重み100times10 個
784
100 10
24
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
25
数字認識実際の計算
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1784 times 100
w2100 times 10
hin = x w1yin = h w2
各層の入力値は前層の出力重み行列の行列積として計算できるh = ReLU( hin )y = Softmax( yin )
26
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
27
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9 バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
28
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9+4
-4
0
-2
+3
0
-2
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
29
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
30
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個+結合バイアス
100個
結合重み100times10 個
+結合バイアス10個
31
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個+結合バイアス
100個
結合重み100times10 個+結合バイアス
10個
784
100 10
32
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
33
数字認識実際の計算(バイアスあり)
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1
784 times 100
w2
100 times 10
b1
100
b2
10
hin = x w1 + b1
yin = h w2 + b2
各層の入力値は前層の出力重み行列 + バイアスと計算できる
h = ReLU( hin )y = Softmax( yin )
34
数字認識一度に1データを処理
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
35
数字認識一度に2データを処理
hellip
入力層 隠れ層 出力層
2x
784
2x
100
2x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
36
数字認識一度に3データを処理
hellip
入力層 隠れ層 出力層
3x
784
3x
100
3x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
37
数字認識一度に N データを処理
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
38
数字認識確保する変数(バッチ学習の場合)
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
39
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
40
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
5
今日の目次1 ハンズオン 1 Jupyter2 ハンズオン 2 Hello TensorFlow3 ハンズオン 3 Hello CNN
ハンズオン体験学習bull TensorFlow のコードを説明してそれを実際に書いてもらう
ndash TensorFlow 公式チュートリアルの最初の2つを扱います
bull はじめての試みなのでいろいろうまくいかないと思いますがご理解ください
6
TensorFlow
bull 案内では Deep Learning のライブラリとしてKeras を使う予定でしたが TensorFlow にしましたndash Keras は TensorFlow のラッパーシンプルで使いやすいと評判
bull 研究成果として GitHub に上がっているコードはTensorFlow Theano Caffe などが多くKeras しか使えないと限界がある
bull TensorFlow は Google と DeepMind が頑張ってるのでこれから伸びそう
7
ハンズオン 1 JUPYTER
Jupyter (旧称 IPython Notebook )bull ブラウザ経由で以下ができるツールです
ndash Python のインタラクティブシェルndash linux コンソール(今日は使わないで)
bull 配布資料の URL からアクセスして下さいndash 以下がインストールされたサーバ (36vCPU c48xlarge)
bull TensorFlow ( Google 製の Deep Learning のライブラリ)bull Anaconda ( Python 機械学習のパッケージ Jupyter 含む)
ndash 勉強会後にサーバを落とすので必要なファイルは最後にローカルに保存して下さい(アナウンスします) 8
9
Hello Jupyter
1 識別子として自分の名前を使った prefix を使うndash チームラボの人はメールアドレスの文字列(例 yamamoto )ndash 外部の方はフルネーム(例 yamadataro )
2 Python ノートブックを作って下さいndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -HelloJupyter と入力例 yamamoto-HelloJupyter
10
Hello Jupyter
bull 基本的な使い方
11
Hello Jupyter
12
ハンズオン 2 TENSORFLOW 入門
ニューロン ニューロン同士の結合
ニューラルネットワーク(復習)
13入力層 隠れ層 出力層
3-12-51-2
2
1
+6
-5
+1
-1
+2
1-2-2012-1-12
-02
-2
+1
4-2
30
-1-2
+14
-23
07
03
09
045
01
07
098
002
血液中の成分 X濃度
血液中の成分 Y濃度
男である確率
女である確率
活性化関数神経細胞の活動をモデル化入力が閾値を超えると発火 (=1)超えなければ発火しない (=0)sigmoid tanh ReLU など
sigmoid 関数 出力関数目的に応じて出力値を整える関数クラス分け (classification)問題ではsoftmax 関数 が用いられるsoftmax 関数は出力値を確率に変換
2
ニューロンの出力
3
結合の重み
14
活性化関数 ReLU 関数
区分線形ユニット関数 (Rectified Linear Unit)計算効率学習効率が良いためDeep Learning でよく用いられる
15
出力関数 softmax 関数入力を確率(合計 1 の正の値)に変換認識問題に用いる
出力層
0
+1
-05
05
入力1
272
061
165
exp( 入力 )017
046
01
028
合計 1 に正規化
16
ロス関数bull 出力と正解のズレの大きさをモデル化する関数
ndash 2乗誤差 (mean squared error) 汎用ndash クロスエントロピー (cross entropy) 確率の場合に用いる
bull ロス関数が小さくなるように誤差逆伝播 (Back Propagation) で学習
入力層 隠れ層 出力層
3-12-51-2
2
1
1-2-2012-1-12
4-2
30
-1-2
07
03
09
045
01
07
098
002
正解
0
1
17
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
18
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
19
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
20
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
21
ニューラルネット復習キーワードbull 活性化関数 ReLUbull 出力関数 Softmaxbull ロス関数クロスエントロピーbull 誤差逆伝播( Back Propagation )bull ドロップアウト
22
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
23
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個
結合重み100times10 個
784
100 10
24
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
25
数字認識実際の計算
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1784 times 100
w2100 times 10
hin = x w1yin = h w2
各層の入力値は前層の出力重み行列の行列積として計算できるh = ReLU( hin )y = Softmax( yin )
26
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
27
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9 バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
28
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9+4
-4
0
-2
+3
0
-2
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
29
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
30
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個+結合バイアス
100個
結合重み100times10 個
+結合バイアス10個
31
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個+結合バイアス
100個
結合重み100times10 個+結合バイアス
10個
784
100 10
32
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
33
数字認識実際の計算(バイアスあり)
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1
784 times 100
w2
100 times 10
b1
100
b2
10
hin = x w1 + b1
yin = h w2 + b2
各層の入力値は前層の出力重み行列 + バイアスと計算できる
h = ReLU( hin )y = Softmax( yin )
34
数字認識一度に1データを処理
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
35
数字認識一度に2データを処理
hellip
入力層 隠れ層 出力層
2x
784
2x
100
2x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
36
数字認識一度に3データを処理
hellip
入力層 隠れ層 出力層
3x
784
3x
100
3x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
37
数字認識一度に N データを処理
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
38
数字認識確保する変数(バッチ学習の場合)
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
39
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
40
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
6
TensorFlow
bull 案内では Deep Learning のライブラリとしてKeras を使う予定でしたが TensorFlow にしましたndash Keras は TensorFlow のラッパーシンプルで使いやすいと評判
bull 研究成果として GitHub に上がっているコードはTensorFlow Theano Caffe などが多くKeras しか使えないと限界がある
bull TensorFlow は Google と DeepMind が頑張ってるのでこれから伸びそう
7
ハンズオン 1 JUPYTER
Jupyter (旧称 IPython Notebook )bull ブラウザ経由で以下ができるツールです
ndash Python のインタラクティブシェルndash linux コンソール(今日は使わないで)
bull 配布資料の URL からアクセスして下さいndash 以下がインストールされたサーバ (36vCPU c48xlarge)
bull TensorFlow ( Google 製の Deep Learning のライブラリ)bull Anaconda ( Python 機械学習のパッケージ Jupyter 含む)
ndash 勉強会後にサーバを落とすので必要なファイルは最後にローカルに保存して下さい(アナウンスします) 8
9
Hello Jupyter
1 識別子として自分の名前を使った prefix を使うndash チームラボの人はメールアドレスの文字列(例 yamamoto )ndash 外部の方はフルネーム(例 yamadataro )
2 Python ノートブックを作って下さいndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -HelloJupyter と入力例 yamamoto-HelloJupyter
10
Hello Jupyter
bull 基本的な使い方
11
Hello Jupyter
12
ハンズオン 2 TENSORFLOW 入門
ニューロン ニューロン同士の結合
ニューラルネットワーク(復習)
13入力層 隠れ層 出力層
3-12-51-2
2
1
+6
-5
+1
-1
+2
1-2-2012-1-12
-02
-2
+1
4-2
30
-1-2
+14
-23
07
03
09
045
01
07
098
002
血液中の成分 X濃度
血液中の成分 Y濃度
男である確率
女である確率
活性化関数神経細胞の活動をモデル化入力が閾値を超えると発火 (=1)超えなければ発火しない (=0)sigmoid tanh ReLU など
sigmoid 関数 出力関数目的に応じて出力値を整える関数クラス分け (classification)問題ではsoftmax 関数 が用いられるsoftmax 関数は出力値を確率に変換
2
ニューロンの出力
3
結合の重み
14
活性化関数 ReLU 関数
区分線形ユニット関数 (Rectified Linear Unit)計算効率学習効率が良いためDeep Learning でよく用いられる
15
出力関数 softmax 関数入力を確率(合計 1 の正の値)に変換認識問題に用いる
出力層
0
+1
-05
05
入力1
272
061
165
exp( 入力 )017
046
01
028
合計 1 に正規化
16
ロス関数bull 出力と正解のズレの大きさをモデル化する関数
ndash 2乗誤差 (mean squared error) 汎用ndash クロスエントロピー (cross entropy) 確率の場合に用いる
bull ロス関数が小さくなるように誤差逆伝播 (Back Propagation) で学習
入力層 隠れ層 出力層
3-12-51-2
2
1
1-2-2012-1-12
4-2
30
-1-2
07
03
09
045
01
07
098
002
正解
0
1
17
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
18
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
19
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
20
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
21
ニューラルネット復習キーワードbull 活性化関数 ReLUbull 出力関数 Softmaxbull ロス関数クロスエントロピーbull 誤差逆伝播( Back Propagation )bull ドロップアウト
22
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
23
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個
結合重み100times10 個
784
100 10
24
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
25
数字認識実際の計算
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1784 times 100
w2100 times 10
hin = x w1yin = h w2
各層の入力値は前層の出力重み行列の行列積として計算できるh = ReLU( hin )y = Softmax( yin )
26
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
27
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9 バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
28
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9+4
-4
0
-2
+3
0
-2
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
29
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
30
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個+結合バイアス
100個
結合重み100times10 個
+結合バイアス10個
31
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個+結合バイアス
100個
結合重み100times10 個+結合バイアス
10個
784
100 10
32
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
33
数字認識実際の計算(バイアスあり)
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1
784 times 100
w2
100 times 10
b1
100
b2
10
hin = x w1 + b1
yin = h w2 + b2
各層の入力値は前層の出力重み行列 + バイアスと計算できる
h = ReLU( hin )y = Softmax( yin )
34
数字認識一度に1データを処理
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
35
数字認識一度に2データを処理
hellip
入力層 隠れ層 出力層
2x
784
2x
100
2x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
36
数字認識一度に3データを処理
hellip
入力層 隠れ層 出力層
3x
784
3x
100
3x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
37
数字認識一度に N データを処理
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
38
数字認識確保する変数(バッチ学習の場合)
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
39
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
40
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
7
ハンズオン 1 JUPYTER
Jupyter (旧称 IPython Notebook )bull ブラウザ経由で以下ができるツールです
ndash Python のインタラクティブシェルndash linux コンソール(今日は使わないで)
bull 配布資料の URL からアクセスして下さいndash 以下がインストールされたサーバ (36vCPU c48xlarge)
bull TensorFlow ( Google 製の Deep Learning のライブラリ)bull Anaconda ( Python 機械学習のパッケージ Jupyter 含む)
ndash 勉強会後にサーバを落とすので必要なファイルは最後にローカルに保存して下さい(アナウンスします) 8
9
Hello Jupyter
1 識別子として自分の名前を使った prefix を使うndash チームラボの人はメールアドレスの文字列(例 yamamoto )ndash 外部の方はフルネーム(例 yamadataro )
2 Python ノートブックを作って下さいndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -HelloJupyter と入力例 yamamoto-HelloJupyter
10
Hello Jupyter
bull 基本的な使い方
11
Hello Jupyter
12
ハンズオン 2 TENSORFLOW 入門
ニューロン ニューロン同士の結合
ニューラルネットワーク(復習)
13入力層 隠れ層 出力層
3-12-51-2
2
1
+6
-5
+1
-1
+2
1-2-2012-1-12
-02
-2
+1
4-2
30
-1-2
+14
-23
07
03
09
045
01
07
098
002
血液中の成分 X濃度
血液中の成分 Y濃度
男である確率
女である確率
活性化関数神経細胞の活動をモデル化入力が閾値を超えると発火 (=1)超えなければ発火しない (=0)sigmoid tanh ReLU など
sigmoid 関数 出力関数目的に応じて出力値を整える関数クラス分け (classification)問題ではsoftmax 関数 が用いられるsoftmax 関数は出力値を確率に変換
2
ニューロンの出力
3
結合の重み
14
活性化関数 ReLU 関数
区分線形ユニット関数 (Rectified Linear Unit)計算効率学習効率が良いためDeep Learning でよく用いられる
15
出力関数 softmax 関数入力を確率(合計 1 の正の値)に変換認識問題に用いる
出力層
0
+1
-05
05
入力1
272
061
165
exp( 入力 )017
046
01
028
合計 1 に正規化
16
ロス関数bull 出力と正解のズレの大きさをモデル化する関数
ndash 2乗誤差 (mean squared error) 汎用ndash クロスエントロピー (cross entropy) 確率の場合に用いる
bull ロス関数が小さくなるように誤差逆伝播 (Back Propagation) で学習
入力層 隠れ層 出力層
3-12-51-2
2
1
1-2-2012-1-12
4-2
30
-1-2
07
03
09
045
01
07
098
002
正解
0
1
17
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
18
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
19
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
20
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
21
ニューラルネット復習キーワードbull 活性化関数 ReLUbull 出力関数 Softmaxbull ロス関数クロスエントロピーbull 誤差逆伝播( Back Propagation )bull ドロップアウト
22
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
23
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個
結合重み100times10 個
784
100 10
24
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
25
数字認識実際の計算
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1784 times 100
w2100 times 10
hin = x w1yin = h w2
各層の入力値は前層の出力重み行列の行列積として計算できるh = ReLU( hin )y = Softmax( yin )
26
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
27
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9 バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
28
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9+4
-4
0
-2
+3
0
-2
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
29
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
30
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個+結合バイアス
100個
結合重み100times10 個
+結合バイアス10個
31
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個+結合バイアス
100個
結合重み100times10 個+結合バイアス
10個
784
100 10
32
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
33
数字認識実際の計算(バイアスあり)
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1
784 times 100
w2
100 times 10
b1
100
b2
10
hin = x w1 + b1
yin = h w2 + b2
各層の入力値は前層の出力重み行列 + バイアスと計算できる
h = ReLU( hin )y = Softmax( yin )
34
数字認識一度に1データを処理
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
35
数字認識一度に2データを処理
hellip
入力層 隠れ層 出力層
2x
784
2x
100
2x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
36
数字認識一度に3データを処理
hellip
入力層 隠れ層 出力層
3x
784
3x
100
3x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
37
数字認識一度に N データを処理
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
38
数字認識確保する変数(バッチ学習の場合)
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
39
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
40
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
Jupyter (旧称 IPython Notebook )bull ブラウザ経由で以下ができるツールです
ndash Python のインタラクティブシェルndash linux コンソール(今日は使わないで)
bull 配布資料の URL からアクセスして下さいndash 以下がインストールされたサーバ (36vCPU c48xlarge)
bull TensorFlow ( Google 製の Deep Learning のライブラリ)bull Anaconda ( Python 機械学習のパッケージ Jupyter 含む)
ndash 勉強会後にサーバを落とすので必要なファイルは最後にローカルに保存して下さい(アナウンスします) 8
9
Hello Jupyter
1 識別子として自分の名前を使った prefix を使うndash チームラボの人はメールアドレスの文字列(例 yamamoto )ndash 外部の方はフルネーム(例 yamadataro )
2 Python ノートブックを作って下さいndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -HelloJupyter と入力例 yamamoto-HelloJupyter
10
Hello Jupyter
bull 基本的な使い方
11
Hello Jupyter
12
ハンズオン 2 TENSORFLOW 入門
ニューロン ニューロン同士の結合
ニューラルネットワーク(復習)
13入力層 隠れ層 出力層
3-12-51-2
2
1
+6
-5
+1
-1
+2
1-2-2012-1-12
-02
-2
+1
4-2
30
-1-2
+14
-23
07
03
09
045
01
07
098
002
血液中の成分 X濃度
血液中の成分 Y濃度
男である確率
女である確率
活性化関数神経細胞の活動をモデル化入力が閾値を超えると発火 (=1)超えなければ発火しない (=0)sigmoid tanh ReLU など
sigmoid 関数 出力関数目的に応じて出力値を整える関数クラス分け (classification)問題ではsoftmax 関数 が用いられるsoftmax 関数は出力値を確率に変換
2
ニューロンの出力
3
結合の重み
14
活性化関数 ReLU 関数
区分線形ユニット関数 (Rectified Linear Unit)計算効率学習効率が良いためDeep Learning でよく用いられる
15
出力関数 softmax 関数入力を確率(合計 1 の正の値)に変換認識問題に用いる
出力層
0
+1
-05
05
入力1
272
061
165
exp( 入力 )017
046
01
028
合計 1 に正規化
16
ロス関数bull 出力と正解のズレの大きさをモデル化する関数
ndash 2乗誤差 (mean squared error) 汎用ndash クロスエントロピー (cross entropy) 確率の場合に用いる
bull ロス関数が小さくなるように誤差逆伝播 (Back Propagation) で学習
入力層 隠れ層 出力層
3-12-51-2
2
1
1-2-2012-1-12
4-2
30
-1-2
07
03
09
045
01
07
098
002
正解
0
1
17
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
18
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
19
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
20
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
21
ニューラルネット復習キーワードbull 活性化関数 ReLUbull 出力関数 Softmaxbull ロス関数クロスエントロピーbull 誤差逆伝播( Back Propagation )bull ドロップアウト
22
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
23
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個
結合重み100times10 個
784
100 10
24
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
25
数字認識実際の計算
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1784 times 100
w2100 times 10
hin = x w1yin = h w2
各層の入力値は前層の出力重み行列の行列積として計算できるh = ReLU( hin )y = Softmax( yin )
26
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
27
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9 バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
28
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9+4
-4
0
-2
+3
0
-2
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
29
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
30
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個+結合バイアス
100個
結合重み100times10 個
+結合バイアス10個
31
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個+結合バイアス
100個
結合重み100times10 個+結合バイアス
10個
784
100 10
32
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
33
数字認識実際の計算(バイアスあり)
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1
784 times 100
w2
100 times 10
b1
100
b2
10
hin = x w1 + b1
yin = h w2 + b2
各層の入力値は前層の出力重み行列 + バイアスと計算できる
h = ReLU( hin )y = Softmax( yin )
34
数字認識一度に1データを処理
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
35
数字認識一度に2データを処理
hellip
入力層 隠れ層 出力層
2x
784
2x
100
2x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
36
数字認識一度に3データを処理
hellip
入力層 隠れ層 出力層
3x
784
3x
100
3x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
37
数字認識一度に N データを処理
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
38
数字認識確保する変数(バッチ学習の場合)
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
39
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
40
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
9
Hello Jupyter
1 識別子として自分の名前を使った prefix を使うndash チームラボの人はメールアドレスの文字列(例 yamamoto )ndash 外部の方はフルネーム(例 yamadataro )
2 Python ノートブックを作って下さいndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -HelloJupyter と入力例 yamamoto-HelloJupyter
10
Hello Jupyter
bull 基本的な使い方
11
Hello Jupyter
12
ハンズオン 2 TENSORFLOW 入門
ニューロン ニューロン同士の結合
ニューラルネットワーク(復習)
13入力層 隠れ層 出力層
3-12-51-2
2
1
+6
-5
+1
-1
+2
1-2-2012-1-12
-02
-2
+1
4-2
30
-1-2
+14
-23
07
03
09
045
01
07
098
002
血液中の成分 X濃度
血液中の成分 Y濃度
男である確率
女である確率
活性化関数神経細胞の活動をモデル化入力が閾値を超えると発火 (=1)超えなければ発火しない (=0)sigmoid tanh ReLU など
sigmoid 関数 出力関数目的に応じて出力値を整える関数クラス分け (classification)問題ではsoftmax 関数 が用いられるsoftmax 関数は出力値を確率に変換
2
ニューロンの出力
3
結合の重み
14
活性化関数 ReLU 関数
区分線形ユニット関数 (Rectified Linear Unit)計算効率学習効率が良いためDeep Learning でよく用いられる
15
出力関数 softmax 関数入力を確率(合計 1 の正の値)に変換認識問題に用いる
出力層
0
+1
-05
05
入力1
272
061
165
exp( 入力 )017
046
01
028
合計 1 に正規化
16
ロス関数bull 出力と正解のズレの大きさをモデル化する関数
ndash 2乗誤差 (mean squared error) 汎用ndash クロスエントロピー (cross entropy) 確率の場合に用いる
bull ロス関数が小さくなるように誤差逆伝播 (Back Propagation) で学習
入力層 隠れ層 出力層
3-12-51-2
2
1
1-2-2012-1-12
4-2
30
-1-2
07
03
09
045
01
07
098
002
正解
0
1
17
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
18
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
19
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
20
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
21
ニューラルネット復習キーワードbull 活性化関数 ReLUbull 出力関数 Softmaxbull ロス関数クロスエントロピーbull 誤差逆伝播( Back Propagation )bull ドロップアウト
22
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
23
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個
結合重み100times10 個
784
100 10
24
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
25
数字認識実際の計算
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1784 times 100
w2100 times 10
hin = x w1yin = h w2
各層の入力値は前層の出力重み行列の行列積として計算できるh = ReLU( hin )y = Softmax( yin )
26
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
27
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9 バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
28
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9+4
-4
0
-2
+3
0
-2
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
29
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
30
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個+結合バイアス
100個
結合重み100times10 個
+結合バイアス10個
31
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個+結合バイアス
100個
結合重み100times10 個+結合バイアス
10個
784
100 10
32
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
33
数字認識実際の計算(バイアスあり)
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1
784 times 100
w2
100 times 10
b1
100
b2
10
hin = x w1 + b1
yin = h w2 + b2
各層の入力値は前層の出力重み行列 + バイアスと計算できる
h = ReLU( hin )y = Softmax( yin )
34
数字認識一度に1データを処理
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
35
数字認識一度に2データを処理
hellip
入力層 隠れ層 出力層
2x
784
2x
100
2x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
36
数字認識一度に3データを処理
hellip
入力層 隠れ層 出力層
3x
784
3x
100
3x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
37
数字認識一度に N データを処理
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
38
数字認識確保する変数(バッチ学習の場合)
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
39
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
40
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
10
Hello Jupyter
bull 基本的な使い方
11
Hello Jupyter
12
ハンズオン 2 TENSORFLOW 入門
ニューロン ニューロン同士の結合
ニューラルネットワーク(復習)
13入力層 隠れ層 出力層
3-12-51-2
2
1
+6
-5
+1
-1
+2
1-2-2012-1-12
-02
-2
+1
4-2
30
-1-2
+14
-23
07
03
09
045
01
07
098
002
血液中の成分 X濃度
血液中の成分 Y濃度
男である確率
女である確率
活性化関数神経細胞の活動をモデル化入力が閾値を超えると発火 (=1)超えなければ発火しない (=0)sigmoid tanh ReLU など
sigmoid 関数 出力関数目的に応じて出力値を整える関数クラス分け (classification)問題ではsoftmax 関数 が用いられるsoftmax 関数は出力値を確率に変換
2
ニューロンの出力
3
結合の重み
14
活性化関数 ReLU 関数
区分線形ユニット関数 (Rectified Linear Unit)計算効率学習効率が良いためDeep Learning でよく用いられる
15
出力関数 softmax 関数入力を確率(合計 1 の正の値)に変換認識問題に用いる
出力層
0
+1
-05
05
入力1
272
061
165
exp( 入力 )017
046
01
028
合計 1 に正規化
16
ロス関数bull 出力と正解のズレの大きさをモデル化する関数
ndash 2乗誤差 (mean squared error) 汎用ndash クロスエントロピー (cross entropy) 確率の場合に用いる
bull ロス関数が小さくなるように誤差逆伝播 (Back Propagation) で学習
入力層 隠れ層 出力層
3-12-51-2
2
1
1-2-2012-1-12
4-2
30
-1-2
07
03
09
045
01
07
098
002
正解
0
1
17
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
18
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
19
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
20
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
21
ニューラルネット復習キーワードbull 活性化関数 ReLUbull 出力関数 Softmaxbull ロス関数クロスエントロピーbull 誤差逆伝播( Back Propagation )bull ドロップアウト
22
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
23
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個
結合重み100times10 個
784
100 10
24
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
25
数字認識実際の計算
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1784 times 100
w2100 times 10
hin = x w1yin = h w2
各層の入力値は前層の出力重み行列の行列積として計算できるh = ReLU( hin )y = Softmax( yin )
26
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
27
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9 バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
28
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9+4
-4
0
-2
+3
0
-2
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
29
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
30
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個+結合バイアス
100個
結合重み100times10 個
+結合バイアス10個
31
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個+結合バイアス
100個
結合重み100times10 個+結合バイアス
10個
784
100 10
32
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
33
数字認識実際の計算(バイアスあり)
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1
784 times 100
w2
100 times 10
b1
100
b2
10
hin = x w1 + b1
yin = h w2 + b2
各層の入力値は前層の出力重み行列 + バイアスと計算できる
h = ReLU( hin )y = Softmax( yin )
34
数字認識一度に1データを処理
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
35
数字認識一度に2データを処理
hellip
入力層 隠れ層 出力層
2x
784
2x
100
2x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
36
数字認識一度に3データを処理
hellip
入力層 隠れ層 出力層
3x
784
3x
100
3x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
37
数字認識一度に N データを処理
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
38
数字認識確保する変数(バッチ学習の場合)
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
39
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
40
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
11
Hello Jupyter
12
ハンズオン 2 TENSORFLOW 入門
ニューロン ニューロン同士の結合
ニューラルネットワーク(復習)
13入力層 隠れ層 出力層
3-12-51-2
2
1
+6
-5
+1
-1
+2
1-2-2012-1-12
-02
-2
+1
4-2
30
-1-2
+14
-23
07
03
09
045
01
07
098
002
血液中の成分 X濃度
血液中の成分 Y濃度
男である確率
女である確率
活性化関数神経細胞の活動をモデル化入力が閾値を超えると発火 (=1)超えなければ発火しない (=0)sigmoid tanh ReLU など
sigmoid 関数 出力関数目的に応じて出力値を整える関数クラス分け (classification)問題ではsoftmax 関数 が用いられるsoftmax 関数は出力値を確率に変換
2
ニューロンの出力
3
結合の重み
14
活性化関数 ReLU 関数
区分線形ユニット関数 (Rectified Linear Unit)計算効率学習効率が良いためDeep Learning でよく用いられる
15
出力関数 softmax 関数入力を確率(合計 1 の正の値)に変換認識問題に用いる
出力層
0
+1
-05
05
入力1
272
061
165
exp( 入力 )017
046
01
028
合計 1 に正規化
16
ロス関数bull 出力と正解のズレの大きさをモデル化する関数
ndash 2乗誤差 (mean squared error) 汎用ndash クロスエントロピー (cross entropy) 確率の場合に用いる
bull ロス関数が小さくなるように誤差逆伝播 (Back Propagation) で学習
入力層 隠れ層 出力層
3-12-51-2
2
1
1-2-2012-1-12
4-2
30
-1-2
07
03
09
045
01
07
098
002
正解
0
1
17
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
18
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
19
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
20
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
21
ニューラルネット復習キーワードbull 活性化関数 ReLUbull 出力関数 Softmaxbull ロス関数クロスエントロピーbull 誤差逆伝播( Back Propagation )bull ドロップアウト
22
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
23
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個
結合重み100times10 個
784
100 10
24
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
25
数字認識実際の計算
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1784 times 100
w2100 times 10
hin = x w1yin = h w2
各層の入力値は前層の出力重み行列の行列積として計算できるh = ReLU( hin )y = Softmax( yin )
26
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
27
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9 バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
28
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9+4
-4
0
-2
+3
0
-2
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
29
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
30
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個+結合バイアス
100個
結合重み100times10 個
+結合バイアス10個
31
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個+結合バイアス
100個
結合重み100times10 個+結合バイアス
10個
784
100 10
32
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
33
数字認識実際の計算(バイアスあり)
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1
784 times 100
w2
100 times 10
b1
100
b2
10
hin = x w1 + b1
yin = h w2 + b2
各層の入力値は前層の出力重み行列 + バイアスと計算できる
h = ReLU( hin )y = Softmax( yin )
34
数字認識一度に1データを処理
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
35
数字認識一度に2データを処理
hellip
入力層 隠れ層 出力層
2x
784
2x
100
2x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
36
数字認識一度に3データを処理
hellip
入力層 隠れ層 出力層
3x
784
3x
100
3x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
37
数字認識一度に N データを処理
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
38
数字認識確保する変数(バッチ学習の場合)
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
39
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
40
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
12
ハンズオン 2 TENSORFLOW 入門
ニューロン ニューロン同士の結合
ニューラルネットワーク(復習)
13入力層 隠れ層 出力層
3-12-51-2
2
1
+6
-5
+1
-1
+2
1-2-2012-1-12
-02
-2
+1
4-2
30
-1-2
+14
-23
07
03
09
045
01
07
098
002
血液中の成分 X濃度
血液中の成分 Y濃度
男である確率
女である確率
活性化関数神経細胞の活動をモデル化入力が閾値を超えると発火 (=1)超えなければ発火しない (=0)sigmoid tanh ReLU など
sigmoid 関数 出力関数目的に応じて出力値を整える関数クラス分け (classification)問題ではsoftmax 関数 が用いられるsoftmax 関数は出力値を確率に変換
2
ニューロンの出力
3
結合の重み
14
活性化関数 ReLU 関数
区分線形ユニット関数 (Rectified Linear Unit)計算効率学習効率が良いためDeep Learning でよく用いられる
15
出力関数 softmax 関数入力を確率(合計 1 の正の値)に変換認識問題に用いる
出力層
0
+1
-05
05
入力1
272
061
165
exp( 入力 )017
046
01
028
合計 1 に正規化
16
ロス関数bull 出力と正解のズレの大きさをモデル化する関数
ndash 2乗誤差 (mean squared error) 汎用ndash クロスエントロピー (cross entropy) 確率の場合に用いる
bull ロス関数が小さくなるように誤差逆伝播 (Back Propagation) で学習
入力層 隠れ層 出力層
3-12-51-2
2
1
1-2-2012-1-12
4-2
30
-1-2
07
03
09
045
01
07
098
002
正解
0
1
17
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
18
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
19
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
20
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
21
ニューラルネット復習キーワードbull 活性化関数 ReLUbull 出力関数 Softmaxbull ロス関数クロスエントロピーbull 誤差逆伝播( Back Propagation )bull ドロップアウト
22
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
23
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個
結合重み100times10 個
784
100 10
24
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
25
数字認識実際の計算
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1784 times 100
w2100 times 10
hin = x w1yin = h w2
各層の入力値は前層の出力重み行列の行列積として計算できるh = ReLU( hin )y = Softmax( yin )
26
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
27
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9 バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
28
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9+4
-4
0
-2
+3
0
-2
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
29
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
30
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個+結合バイアス
100個
結合重み100times10 個
+結合バイアス10個
31
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個+結合バイアス
100個
結合重み100times10 個+結合バイアス
10個
784
100 10
32
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
33
数字認識実際の計算(バイアスあり)
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1
784 times 100
w2
100 times 10
b1
100
b2
10
hin = x w1 + b1
yin = h w2 + b2
各層の入力値は前層の出力重み行列 + バイアスと計算できる
h = ReLU( hin )y = Softmax( yin )
34
数字認識一度に1データを処理
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
35
数字認識一度に2データを処理
hellip
入力層 隠れ層 出力層
2x
784
2x
100
2x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
36
数字認識一度に3データを処理
hellip
入力層 隠れ層 出力層
3x
784
3x
100
3x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
37
数字認識一度に N データを処理
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
38
数字認識確保する変数(バッチ学習の場合)
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
39
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
40
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
ニューロン ニューロン同士の結合
ニューラルネットワーク(復習)
13入力層 隠れ層 出力層
3-12-51-2
2
1
+6
-5
+1
-1
+2
1-2-2012-1-12
-02
-2
+1
4-2
30
-1-2
+14
-23
07
03
09
045
01
07
098
002
血液中の成分 X濃度
血液中の成分 Y濃度
男である確率
女である確率
活性化関数神経細胞の活動をモデル化入力が閾値を超えると発火 (=1)超えなければ発火しない (=0)sigmoid tanh ReLU など
sigmoid 関数 出力関数目的に応じて出力値を整える関数クラス分け (classification)問題ではsoftmax 関数 が用いられるsoftmax 関数は出力値を確率に変換
2
ニューロンの出力
3
結合の重み
14
活性化関数 ReLU 関数
区分線形ユニット関数 (Rectified Linear Unit)計算効率学習効率が良いためDeep Learning でよく用いられる
15
出力関数 softmax 関数入力を確率(合計 1 の正の値)に変換認識問題に用いる
出力層
0
+1
-05
05
入力1
272
061
165
exp( 入力 )017
046
01
028
合計 1 に正規化
16
ロス関数bull 出力と正解のズレの大きさをモデル化する関数
ndash 2乗誤差 (mean squared error) 汎用ndash クロスエントロピー (cross entropy) 確率の場合に用いる
bull ロス関数が小さくなるように誤差逆伝播 (Back Propagation) で学習
入力層 隠れ層 出力層
3-12-51-2
2
1
1-2-2012-1-12
4-2
30
-1-2
07
03
09
045
01
07
098
002
正解
0
1
17
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
18
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
19
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
20
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
21
ニューラルネット復習キーワードbull 活性化関数 ReLUbull 出力関数 Softmaxbull ロス関数クロスエントロピーbull 誤差逆伝播( Back Propagation )bull ドロップアウト
22
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
23
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個
結合重み100times10 個
784
100 10
24
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
25
数字認識実際の計算
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1784 times 100
w2100 times 10
hin = x w1yin = h w2
各層の入力値は前層の出力重み行列の行列積として計算できるh = ReLU( hin )y = Softmax( yin )
26
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
27
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9 バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
28
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9+4
-4
0
-2
+3
0
-2
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
29
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
30
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個+結合バイアス
100個
結合重み100times10 個
+結合バイアス10個
31
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個+結合バイアス
100個
結合重み100times10 個+結合バイアス
10個
784
100 10
32
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
33
数字認識実際の計算(バイアスあり)
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1
784 times 100
w2
100 times 10
b1
100
b2
10
hin = x w1 + b1
yin = h w2 + b2
各層の入力値は前層の出力重み行列 + バイアスと計算できる
h = ReLU( hin )y = Softmax( yin )
34
数字認識一度に1データを処理
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
35
数字認識一度に2データを処理
hellip
入力層 隠れ層 出力層
2x
784
2x
100
2x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
36
数字認識一度に3データを処理
hellip
入力層 隠れ層 出力層
3x
784
3x
100
3x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
37
数字認識一度に N データを処理
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
38
数字認識確保する変数(バッチ学習の場合)
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
39
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
40
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
14
活性化関数 ReLU 関数
区分線形ユニット関数 (Rectified Linear Unit)計算効率学習効率が良いためDeep Learning でよく用いられる
15
出力関数 softmax 関数入力を確率(合計 1 の正の値)に変換認識問題に用いる
出力層
0
+1
-05
05
入力1
272
061
165
exp( 入力 )017
046
01
028
合計 1 に正規化
16
ロス関数bull 出力と正解のズレの大きさをモデル化する関数
ndash 2乗誤差 (mean squared error) 汎用ndash クロスエントロピー (cross entropy) 確率の場合に用いる
bull ロス関数が小さくなるように誤差逆伝播 (Back Propagation) で学習
入力層 隠れ層 出力層
3-12-51-2
2
1
1-2-2012-1-12
4-2
30
-1-2
07
03
09
045
01
07
098
002
正解
0
1
17
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
18
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
19
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
20
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
21
ニューラルネット復習キーワードbull 活性化関数 ReLUbull 出力関数 Softmaxbull ロス関数クロスエントロピーbull 誤差逆伝播( Back Propagation )bull ドロップアウト
22
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
23
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個
結合重み100times10 個
784
100 10
24
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
25
数字認識実際の計算
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1784 times 100
w2100 times 10
hin = x w1yin = h w2
各層の入力値は前層の出力重み行列の行列積として計算できるh = ReLU( hin )y = Softmax( yin )
26
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
27
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9 バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
28
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9+4
-4
0
-2
+3
0
-2
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
29
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
30
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個+結合バイアス
100個
結合重み100times10 個
+結合バイアス10個
31
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個+結合バイアス
100個
結合重み100times10 個+結合バイアス
10個
784
100 10
32
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
33
数字認識実際の計算(バイアスあり)
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1
784 times 100
w2
100 times 10
b1
100
b2
10
hin = x w1 + b1
yin = h w2 + b2
各層の入力値は前層の出力重み行列 + バイアスと計算できる
h = ReLU( hin )y = Softmax( yin )
34
数字認識一度に1データを処理
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
35
数字認識一度に2データを処理
hellip
入力層 隠れ層 出力層
2x
784
2x
100
2x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
36
数字認識一度に3データを処理
hellip
入力層 隠れ層 出力層
3x
784
3x
100
3x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
37
数字認識一度に N データを処理
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
38
数字認識確保する変数(バッチ学習の場合)
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
39
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
40
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
15
出力関数 softmax 関数入力を確率(合計 1 の正の値)に変換認識問題に用いる
出力層
0
+1
-05
05
入力1
272
061
165
exp( 入力 )017
046
01
028
合計 1 に正規化
16
ロス関数bull 出力と正解のズレの大きさをモデル化する関数
ndash 2乗誤差 (mean squared error) 汎用ndash クロスエントロピー (cross entropy) 確率の場合に用いる
bull ロス関数が小さくなるように誤差逆伝播 (Back Propagation) で学習
入力層 隠れ層 出力層
3-12-51-2
2
1
1-2-2012-1-12
4-2
30
-1-2
07
03
09
045
01
07
098
002
正解
0
1
17
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
18
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
19
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
20
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
21
ニューラルネット復習キーワードbull 活性化関数 ReLUbull 出力関数 Softmaxbull ロス関数クロスエントロピーbull 誤差逆伝播( Back Propagation )bull ドロップアウト
22
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
23
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個
結合重み100times10 個
784
100 10
24
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
25
数字認識実際の計算
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1784 times 100
w2100 times 10
hin = x w1yin = h w2
各層の入力値は前層の出力重み行列の行列積として計算できるh = ReLU( hin )y = Softmax( yin )
26
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
27
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9 バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
28
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9+4
-4
0
-2
+3
0
-2
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
29
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
30
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個+結合バイアス
100個
結合重み100times10 個
+結合バイアス10個
31
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個+結合バイアス
100個
結合重み100times10 個+結合バイアス
10個
784
100 10
32
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
33
数字認識実際の計算(バイアスあり)
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1
784 times 100
w2
100 times 10
b1
100
b2
10
hin = x w1 + b1
yin = h w2 + b2
各層の入力値は前層の出力重み行列 + バイアスと計算できる
h = ReLU( hin )y = Softmax( yin )
34
数字認識一度に1データを処理
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
35
数字認識一度に2データを処理
hellip
入力層 隠れ層 出力層
2x
784
2x
100
2x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
36
数字認識一度に3データを処理
hellip
入力層 隠れ層 出力層
3x
784
3x
100
3x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
37
数字認識一度に N データを処理
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
38
数字認識確保する変数(バッチ学習の場合)
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
39
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
40
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
16
ロス関数bull 出力と正解のズレの大きさをモデル化する関数
ndash 2乗誤差 (mean squared error) 汎用ndash クロスエントロピー (cross entropy) 確率の場合に用いる
bull ロス関数が小さくなるように誤差逆伝播 (Back Propagation) で学習
入力層 隠れ層 出力層
3-12-51-2
2
1
1-2-2012-1-12
4-2
30
-1-2
07
03
09
045
01
07
098
002
正解
0
1
17
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
18
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
19
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
20
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
21
ニューラルネット復習キーワードbull 活性化関数 ReLUbull 出力関数 Softmaxbull ロス関数クロスエントロピーbull 誤差逆伝播( Back Propagation )bull ドロップアウト
22
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
23
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個
結合重み100times10 個
784
100 10
24
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
25
数字認識実際の計算
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1784 times 100
w2100 times 10
hin = x w1yin = h w2
各層の入力値は前層の出力重み行列の行列積として計算できるh = ReLU( hin )y = Softmax( yin )
26
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
27
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9 バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
28
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9+4
-4
0
-2
+3
0
-2
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
29
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
30
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個+結合バイアス
100個
結合重み100times10 個
+結合バイアス10個
31
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個+結合バイアス
100個
結合重み100times10 個+結合バイアス
10個
784
100 10
32
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
33
数字認識実際の計算(バイアスあり)
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1
784 times 100
w2
100 times 10
b1
100
b2
10
hin = x w1 + b1
yin = h w2 + b2
各層の入力値は前層の出力重み行列 + バイアスと計算できる
h = ReLU( hin )y = Softmax( yin )
34
数字認識一度に1データを処理
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
35
数字認識一度に2データを処理
hellip
入力層 隠れ層 出力層
2x
784
2x
100
2x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
36
数字認識一度に3データを処理
hellip
入力層 隠れ層 出力層
3x
784
3x
100
3x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
37
数字認識一度に N データを処理
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
38
数字認識確保する変数(バッチ学習の場合)
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
39
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
40
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
17
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
18
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
19
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
20
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
21
ニューラルネット復習キーワードbull 活性化関数 ReLUbull 出力関数 Softmaxbull ロス関数クロスエントロピーbull 誤差逆伝播( Back Propagation )bull ドロップアウト
22
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
23
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個
結合重み100times10 個
784
100 10
24
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
25
数字認識実際の計算
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1784 times 100
w2100 times 10
hin = x w1yin = h w2
各層の入力値は前層の出力重み行列の行列積として計算できるh = ReLU( hin )y = Softmax( yin )
26
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
27
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9 バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
28
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9+4
-4
0
-2
+3
0
-2
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
29
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
30
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個+結合バイアス
100個
結合重み100times10 個
+結合バイアス10個
31
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個+結合バイアス
100個
結合重み100times10 個+結合バイアス
10個
784
100 10
32
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
33
数字認識実際の計算(バイアスあり)
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1
784 times 100
w2
100 times 10
b1
100
b2
10
hin = x w1 + b1
yin = h w2 + b2
各層の入力値は前層の出力重み行列 + バイアスと計算できる
h = ReLU( hin )y = Softmax( yin )
34
数字認識一度に1データを処理
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
35
数字認識一度に2データを処理
hellip
入力層 隠れ層 出力層
2x
784
2x
100
2x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
36
数字認識一度に3データを処理
hellip
入力層 隠れ層 出力層
3x
784
3x
100
3x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
37
数字認識一度に N データを処理
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
38
数字認識確保する変数(バッチ学習の場合)
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
39
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
40
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
18
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
19
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
20
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
21
ニューラルネット復習キーワードbull 活性化関数 ReLUbull 出力関数 Softmaxbull ロス関数クロスエントロピーbull 誤差逆伝播( Back Propagation )bull ドロップアウト
22
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
23
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個
結合重み100times10 個
784
100 10
24
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
25
数字認識実際の計算
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1784 times 100
w2100 times 10
hin = x w1yin = h w2
各層の入力値は前層の出力重み行列の行列積として計算できるh = ReLU( hin )y = Softmax( yin )
26
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
27
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9 バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
28
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9+4
-4
0
-2
+3
0
-2
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
29
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
30
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個+結合バイアス
100個
結合重み100times10 個
+結合バイアス10個
31
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個+結合バイアス
100個
結合重み100times10 個+結合バイアス
10個
784
100 10
32
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
33
数字認識実際の計算(バイアスあり)
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1
784 times 100
w2
100 times 10
b1
100
b2
10
hin = x w1 + b1
yin = h w2 + b2
各層の入力値は前層の出力重み行列 + バイアスと計算できる
h = ReLU( hin )y = Softmax( yin )
34
数字認識一度に1データを処理
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
35
数字認識一度に2データを処理
hellip
入力層 隠れ層 出力層
2x
784
2x
100
2x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
36
数字認識一度に3データを処理
hellip
入力層 隠れ層 出力層
3x
784
3x
100
3x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
37
数字認識一度に N データを処理
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
38
数字認識確保する変数(バッチ学習の場合)
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
39
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
40
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
19
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
20
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
21
ニューラルネット復習キーワードbull 活性化関数 ReLUbull 出力関数 Softmaxbull ロス関数クロスエントロピーbull 誤差逆伝播( Back Propagation )bull ドロップアウト
22
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
23
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個
結合重み100times10 個
784
100 10
24
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
25
数字認識実際の計算
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1784 times 100
w2100 times 10
hin = x w1yin = h w2
各層の入力値は前層の出力重み行列の行列積として計算できるh = ReLU( hin )y = Softmax( yin )
26
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
27
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9 バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
28
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9+4
-4
0
-2
+3
0
-2
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
29
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
30
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個+結合バイアス
100個
結合重み100times10 個
+結合バイアス10個
31
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個+結合バイアス
100個
結合重み100times10 個+結合バイアス
10個
784
100 10
32
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
33
数字認識実際の計算(バイアスあり)
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1
784 times 100
w2
100 times 10
b1
100
b2
10
hin = x w1 + b1
yin = h w2 + b2
各層の入力値は前層の出力重み行列 + バイアスと計算できる
h = ReLU( hin )y = Softmax( yin )
34
数字認識一度に1データを処理
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
35
数字認識一度に2データを処理
hellip
入力層 隠れ層 出力層
2x
784
2x
100
2x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
36
数字認識一度に3データを処理
hellip
入力層 隠れ層 出力層
3x
784
3x
100
3x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
37
数字認識一度に N データを処理
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
38
数字認識確保する変数(バッチ学習の場合)
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
39
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
40
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
20
ドロップアウトbull 学習を行う際ランダムに 50 のニューロンを OFF にして学習する
hellip hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo数字rdquo 1rdquo
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo数字rdquo 9rdquo
入力層28x28=784個
21
ニューラルネット復習キーワードbull 活性化関数 ReLUbull 出力関数 Softmaxbull ロス関数クロスエントロピーbull 誤差逆伝播( Back Propagation )bull ドロップアウト
22
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
23
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個
結合重み100times10 個
784
100 10
24
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
25
数字認識実際の計算
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1784 times 100
w2100 times 10
hin = x w1yin = h w2
各層の入力値は前層の出力重み行列の行列積として計算できるh = ReLU( hin )y = Softmax( yin )
26
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
27
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9 バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
28
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9+4
-4
0
-2
+3
0
-2
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
29
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
30
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個+結合バイアス
100個
結合重み100times10 個
+結合バイアス10個
31
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個+結合バイアス
100個
結合重み100times10 個+結合バイアス
10個
784
100 10
32
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
33
数字認識実際の計算(バイアスあり)
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1
784 times 100
w2
100 times 10
b1
100
b2
10
hin = x w1 + b1
yin = h w2 + b2
各層の入力値は前層の出力重み行列 + バイアスと計算できる
h = ReLU( hin )y = Softmax( yin )
34
数字認識一度に1データを処理
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
35
数字認識一度に2データを処理
hellip
入力層 隠れ層 出力層
2x
784
2x
100
2x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
36
数字認識一度に3データを処理
hellip
入力層 隠れ層 出力層
3x
784
3x
100
3x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
37
数字認識一度に N データを処理
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
38
数字認識確保する変数(バッチ学習の場合)
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
39
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
40
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
21
ニューラルネット復習キーワードbull 活性化関数 ReLUbull 出力関数 Softmaxbull ロス関数クロスエントロピーbull 誤差逆伝播( Back Propagation )bull ドロップアウト
22
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
23
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個
結合重み100times10 個
784
100 10
24
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
25
数字認識実際の計算
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1784 times 100
w2100 times 10
hin = x w1yin = h w2
各層の入力値は前層の出力重み行列の行列積として計算できるh = ReLU( hin )y = Softmax( yin )
26
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
27
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9 バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
28
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9+4
-4
0
-2
+3
0
-2
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
29
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
30
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個+結合バイアス
100個
結合重み100times10 個
+結合バイアス10個
31
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個+結合バイアス
100個
結合重み100times10 個+結合バイアス
10個
784
100 10
32
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
33
数字認識実際の計算(バイアスあり)
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1
784 times 100
w2
100 times 10
b1
100
b2
10
hin = x w1 + b1
yin = h w2 + b2
各層の入力値は前層の出力重み行列 + バイアスと計算できる
h = ReLU( hin )y = Softmax( yin )
34
数字認識一度に1データを処理
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
35
数字認識一度に2データを処理
hellip
入力層 隠れ層 出力層
2x
784
2x
100
2x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
36
数字認識一度に3データを処理
hellip
入力層 隠れ層 出力層
3x
784
3x
100
3x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
37
数字認識一度に N データを処理
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
38
数字認識確保する変数(バッチ学習の場合)
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
39
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
40
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
22
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
23
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個
結合重み100times10 個
784
100 10
24
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
25
数字認識実際の計算
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1784 times 100
w2100 times 10
hin = x w1yin = h w2
各層の入力値は前層の出力重み行列の行列積として計算できるh = ReLU( hin )y = Softmax( yin )
26
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
27
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9 バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
28
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9+4
-4
0
-2
+3
0
-2
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
29
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
30
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個+結合バイアス
100個
結合重み100times10 個
+結合バイアス10個
31
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個+結合バイアス
100個
結合重み100times10 個+結合バイアス
10個
784
100 10
32
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
33
数字認識実際の計算(バイアスあり)
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1
784 times 100
w2
100 times 10
b1
100
b2
10
hin = x w1 + b1
yin = h w2 + b2
各層の入力値は前層の出力重み行列 + バイアスと計算できる
h = ReLU( hin )y = Softmax( yin )
34
数字認識一度に1データを処理
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
35
数字認識一度に2データを処理
hellip
入力層 隠れ層 出力層
2x
784
2x
100
2x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
36
数字認識一度に3データを処理
hellip
入力層 隠れ層 出力層
3x
784
3x
100
3x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
37
数字認識一度に N データを処理
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
38
数字認識確保する変数(バッチ学習の場合)
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
39
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
40
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
23
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個
結合重み100times10 個
784
100 10
24
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
25
数字認識実際の計算
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1784 times 100
w2100 times 10
hin = x w1yin = h w2
各層の入力値は前層の出力重み行列の行列積として計算できるh = ReLU( hin )y = Softmax( yin )
26
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
27
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9 バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
28
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9+4
-4
0
-2
+3
0
-2
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
29
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
30
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個+結合バイアス
100個
結合重み100times10 個
+結合バイアス10個
31
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個+結合バイアス
100個
結合重み100times10 個+結合バイアス
10個
784
100 10
32
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
33
数字認識実際の計算(バイアスあり)
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1
784 times 100
w2
100 times 10
b1
100
b2
10
hin = x w1 + b1
yin = h w2 + b2
各層の入力値は前層の出力重み行列 + バイアスと計算できる
h = ReLU( hin )y = Softmax( yin )
34
数字認識一度に1データを処理
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
35
数字認識一度に2データを処理
hellip
入力層 隠れ層 出力層
2x
784
2x
100
2x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
36
数字認識一度に3データを処理
hellip
入力層 隠れ層 出力層
3x
784
3x
100
3x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
37
数字認識一度に N データを処理
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
38
数字認識確保する変数(バッチ学習の場合)
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
39
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
40
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
24
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
25
数字認識実際の計算
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1784 times 100
w2100 times 10
hin = x w1yin = h w2
各層の入力値は前層の出力重み行列の行列積として計算できるh = ReLU( hin )y = Softmax( yin )
26
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
27
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9 バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
28
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9+4
-4
0
-2
+3
0
-2
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
29
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
30
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個+結合バイアス
100個
結合重み100times10 個
+結合バイアス10個
31
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個+結合バイアス
100個
結合重み100times10 個+結合バイアス
10個
784
100 10
32
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
33
数字認識実際の計算(バイアスあり)
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1
784 times 100
w2
100 times 10
b1
100
b2
10
hin = x w1 + b1
yin = h w2 + b2
各層の入力値は前層の出力重み行列 + バイアスと計算できる
h = ReLU( hin )y = Softmax( yin )
34
数字認識一度に1データを処理
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
35
数字認識一度に2データを処理
hellip
入力層 隠れ層 出力層
2x
784
2x
100
2x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
36
数字認識一度に3データを処理
hellip
入力層 隠れ層 出力層
3x
784
3x
100
3x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
37
数字認識一度に N データを処理
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
38
数字認識確保する変数(バッチ学習の場合)
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
39
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
40
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
25
数字認識実際の計算
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1784 times 100
w2100 times 10
hin = x w1yin = h w2
各層の入力値は前層の出力重み行列の行列積として計算できるh = ReLU( hin )y = Softmax( yin )
26
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
27
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9 バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
28
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9+4
-4
0
-2
+3
0
-2
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
29
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
30
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個+結合バイアス
100個
結合重み100times10 個
+結合バイアス10個
31
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個+結合バイアス
100個
結合重み100times10 個+結合バイアス
10個
784
100 10
32
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
33
数字認識実際の計算(バイアスあり)
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1
784 times 100
w2
100 times 10
b1
100
b2
10
hin = x w1 + b1
yin = h w2 + b2
各層の入力値は前層の出力重み行列 + バイアスと計算できる
h = ReLU( hin )y = Softmax( yin )
34
数字認識一度に1データを処理
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
35
数字認識一度に2データを処理
hellip
入力層 隠れ層 出力層
2x
784
2x
100
2x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
36
数字認識一度に3データを処理
hellip
入力層 隠れ層 出力層
3x
784
3x
100
3x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
37
数字認識一度に N データを処理
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
38
数字認識確保する変数(バッチ学習の場合)
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
39
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
40
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
26
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
27
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9 バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
28
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9+4
-4
0
-2
+3
0
-2
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
29
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
30
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個+結合バイアス
100個
結合重み100times10 個
+結合バイアス10個
31
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個+結合バイアス
100個
結合重み100times10 個+結合バイアス
10個
784
100 10
32
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
33
数字認識実際の計算(バイアスあり)
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1
784 times 100
w2
100 times 10
b1
100
b2
10
hin = x w1 + b1
yin = h w2 + b2
各層の入力値は前層の出力重み行列 + バイアスと計算できる
h = ReLU( hin )y = Softmax( yin )
34
数字認識一度に1データを処理
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
35
数字認識一度に2データを処理
hellip
入力層 隠れ層 出力層
2x
784
2x
100
2x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
36
数字認識一度に3データを処理
hellip
入力層 隠れ層 出力層
3x
784
3x
100
3x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
37
数字認識一度に N データを処理
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
38
数字認識確保する変数(バッチ学習の場合)
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
39
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
40
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
27
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9 バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
28
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9+4
-4
0
-2
+3
0
-2
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
29
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
30
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個+結合バイアス
100個
結合重み100times10 個
+結合バイアス10個
31
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個+結合バイアス
100個
結合重み100times10 個+結合バイアス
10個
784
100 10
32
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
33
数字認識実際の計算(バイアスあり)
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1
784 times 100
w2
100 times 10
b1
100
b2
10
hin = x w1 + b1
yin = h w2 + b2
各層の入力値は前層の出力重み行列 + バイアスと計算できる
h = ReLU( hin )y = Softmax( yin )
34
数字認識一度に1データを処理
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
35
数字認識一度に2データを処理
hellip
入力層 隠れ層 出力層
2x
784
2x
100
2x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
36
数字認識一度に3データを処理
hellip
入力層 隠れ層 出力層
3x
784
3x
100
3x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
37
数字認識一度に N データを処理
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
38
数字認識確保する変数(バッチ学習の場合)
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
39
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
40
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
28
結合バイアスbull 以前の勉強会では話しませんでしたがニューラルネットの結合パラメタには結合重みの他に結合バイアス というものがあります
3-12-51-2
2
1
+6
-5
+1 1-2-2012-1-12
4-2
30
-1-2
0
09
01
045
01
07
098
002
-10
-9+4
-4
0
-2
+3
0
-2
バイアスを加えると入力が ldquo一定値を超えるとrdquo発火するように制御できる結合重み同様誤差逆伝播法で学習できる
29
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
30
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個+結合バイアス
100個
結合重み100times10 個
+結合バイアス10個
31
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個+結合バイアス
100個
結合重み100times10 個+結合バイアス
10個
784
100 10
32
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
33
数字認識実際の計算(バイアスあり)
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1
784 times 100
w2
100 times 10
b1
100
b2
10
hin = x w1 + b1
yin = h w2 + b2
各層の入力値は前層の出力重み行列 + バイアスと計算できる
h = ReLU( hin )y = Softmax( yin )
34
数字認識一度に1データを処理
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
35
数字認識一度に2データを処理
hellip
入力層 隠れ層 出力層
2x
784
2x
100
2x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
36
数字認識一度に3データを処理
hellip
入力層 隠れ層 出力層
3x
784
3x
100
3x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
37
数字認識一度に N データを処理
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
38
数字認識確保する変数(バッチ学習の場合)
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
39
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
40
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
29
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個結合重み
100times10 個
30
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個+結合バイアス
100個
結合重み100times10 個
+結合バイアス10個
31
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個+結合バイアス
100個
結合重み100times10 個+結合バイアス
10個
784
100 10
32
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
33
数字認識実際の計算(バイアスあり)
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1
784 times 100
w2
100 times 10
b1
100
b2
10
hin = x w1 + b1
yin = h w2 + b2
各層の入力値は前層の出力重み行列 + バイアスと計算できる
h = ReLU( hin )y = Softmax( yin )
34
数字認識一度に1データを処理
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
35
数字認識一度に2データを処理
hellip
入力層 隠れ層 出力層
2x
784
2x
100
2x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
36
数字認識一度に3データを処理
hellip
入力層 隠れ層 出力層
3x
784
3x
100
3x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
37
数字認識一度に N データを処理
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
38
数字認識確保する変数(バッチ学習の場合)
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
39
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
40
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
30
数字認識確保する変数は
hellip hellip
(0 0) の輝度(0 1) の輝度
(27 26) の輝度(2727) の輝度
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
手書き文字のピクセルデータ(28x28 gray-scale)
hellip
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
入力層28x28=784個 隠れ層
100個 出力層10個
784 次元ベクトル 100 次元ベクトル 10 次元ベクトル結合重み
784times100 個+結合バイアス
100個
結合重み100times10 個
+結合バイアス10個
31
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個+結合バイアス
100個
結合重み100times10 個+結合バイアス
10個
784
100 10
32
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
33
数字認識実際の計算(バイアスあり)
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1
784 times 100
w2
100 times 10
b1
100
b2
10
hin = x w1 + b1
yin = h w2 + b2
各層の入力値は前層の出力重み行列 + バイアスと計算できる
h = ReLU( hin )y = Softmax( yin )
34
数字認識一度に1データを処理
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
35
数字認識一度に2データを処理
hellip
入力層 隠れ層 出力層
2x
784
2x
100
2x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
36
数字認識一度に3データを処理
hellip
入力層 隠れ層 出力層
3x
784
3x
100
3x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
37
数字認識一度に N データを処理
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
38
数字認識確保する変数(バッチ学習の場合)
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
39
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
40
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
31
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
結合重み784times100 個+結合バイアス
100個
結合重み100times10 個+結合バイアス
10個
784
100 10
32
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
33
数字認識実際の計算(バイアスあり)
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1
784 times 100
w2
100 times 10
b1
100
b2
10
hin = x w1 + b1
yin = h w2 + b2
各層の入力値は前層の出力重み行列 + バイアスと計算できる
h = ReLU( hin )y = Softmax( yin )
34
数字認識一度に1データを処理
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
35
数字認識一度に2データを処理
hellip
入力層 隠れ層 出力層
2x
784
2x
100
2x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
36
数字認識一度に3データを処理
hellip
入力層 隠れ層 出力層
3x
784
3x
100
3x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
37
数字認識一度に N データを処理
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
38
数字認識確保する変数(バッチ学習の場合)
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
39
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
40
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
32
数字認識確保する変数は
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
33
数字認識実際の計算(バイアスあり)
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1
784 times 100
w2
100 times 10
b1
100
b2
10
hin = x w1 + b1
yin = h w2 + b2
各層の入力値は前層の出力重み行列 + バイアスと計算できる
h = ReLU( hin )y = Softmax( yin )
34
数字認識一度に1データを処理
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
35
数字認識一度に2データを処理
hellip
入力層 隠れ層 出力層
2x
784
2x
100
2x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
36
数字認識一度に3データを処理
hellip
入力層 隠れ層 出力層
3x
784
3x
100
3x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
37
数字認識一度に N データを処理
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
38
数字認識確保する変数(バッチ学習の場合)
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
39
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
40
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
33
数字認識実際の計算(バイアスあり)
hellip
入力層 隠れ層 出力層
x
784
h
100
y
10
w1
784 times 100
w2
100 times 10
b1
100
b2
10
hin = x w1 + b1
yin = h w2 + b2
各層の入力値は前層の出力重み行列 + バイアスと計算できる
h = ReLU( hin )y = Softmax( yin )
34
数字認識一度に1データを処理
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
35
数字認識一度に2データを処理
hellip
入力層 隠れ層 出力層
2x
784
2x
100
2x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
36
数字認識一度に3データを処理
hellip
入力層 隠れ層 出力層
3x
784
3x
100
3x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
37
数字認識一度に N データを処理
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
38
数字認識確保する変数(バッチ学習の場合)
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
39
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
40
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
34
数字認識一度に1データを処理
hellip
入力層 隠れ層 出力層
784
100 10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
35
数字認識一度に2データを処理
hellip
入力層 隠れ層 出力層
2x
784
2x
100
2x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
36
数字認識一度に3データを処理
hellip
入力層 隠れ層 出力層
3x
784
3x
100
3x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
37
数字認識一度に N データを処理
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
38
数字認識確保する変数(バッチ学習の場合)
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
39
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
40
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
35
数字認識一度に2データを処理
hellip
入力層 隠れ層 出力層
2x
784
2x
100
2x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
36
数字認識一度に3データを処理
hellip
入力層 隠れ層 出力層
3x
784
3x
100
3x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
37
数字認識一度に N データを処理
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
38
数字認識確保する変数(バッチ学習の場合)
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
39
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
40
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
36
数字認識一度に3データを処理
hellip
入力層 隠れ層 出力層
3x
784
3x
100
3x
10
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
37
数字認識一度に N データを処理
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
38
数字認識確保する変数(バッチ学習の場合)
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
39
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
40
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
37
数字認識一度に N データを処理
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
38
数字認識確保する変数(バッチ学習の場合)
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
39
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
40
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
38
数字認識確保する変数(バッチ学習の場合)
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
39
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
40
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
39
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
40
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
40
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
41
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
42
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
データセットのデータを入れる毎回こちらが変更する
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
43
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
44
たくさんのバッチで繰り返し学習
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
45
TensorFlow のデータ型
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
学習されて少しずつ変化する永続性がある
データセットのデータを入れる毎回こちらが変更する
他の値が決まると自動的に決まる
Placeholder
Variable
Tensor テンソルとは 多次元配列のこと
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
46
Hello TensorFlow ( 000-MNISTipynb を開いて)
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
47
Hello TensorFlow
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
48
Hello TensorFlow
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
49
Hello TensorFlow
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
50
Hello TensorFlow
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
51
Hello TensorFlow
tfplaceholder( 型 次元 )
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
52
Hello TensorFlow
tfVariable( 初期値のテンソル )
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
53
Hello TensorFlow
tftruncated_normal( 次元 stddev= 分散 )正規分布で乱数初期化したテンソルを返す
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
54
Hello TensorFlow
tfzeros( 次元 )ゼロ初期化したテンソルを返す
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
55
Hello TensorFlow
tfmatmul( テンソル テンソル )テンソル同士の積
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
56
Hello TensorFlow
tfnnrelu( テンソル )テンソル各要素の ReLU を計算
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
57
Hello TensorFlow
tfnnsoftmax( テンソル )Softmax を計算
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
58
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
59
ロス関数もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
行列やベクトルではなく単なる float の値(スカラー)次元 [1] のテンソル
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
60
クロスエントロピーとはH(pq) = Σx p(x) log q(x)
p(x) 正解の確率分布q(x) 予測した確率分布この値が小さいほど予測と正解が近い
予測(出力層)
0301005
005
0401 正解
000010
= 0= 0= 0= 0= -04= 0
予測の log
-05-1-
13-
13-
04-1
timestimestimestimestimestimes
-04Σ
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
61
Hello TensorFlow
tfreduce_sum( テンソル reduction_indices=[N])テンソルの N番目の次元について Σ をとる
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
62
Hello TensorFlow
tfreduce_mean( テンソル )テンソルの 0番目の次元について平均を取る
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
63
Hello TensorFlow
tfinitialize_all_variables()全ての Variable を初期化する処理オブジェクトを生成
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
64
Hello TensorFlow
tftrainGradientDescentOptimizer()minimize(X)テンソル X を勾配法で最小化する処理オブジェクトを返す
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
65
Hello TensorFlow
tfSession()処理オブジェクトを実行するセッションを生成
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
66
Hello TensorFlow
sessrun( 処理オブジェクト )処理オブジェクトを実行
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
67
Hello TensorFlow
mnisttrainnext_batch(100)学習データから次のバッチ (100 データ ) を取り出す
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
68
Hello TensorFlow
sessrun( 処理オブジェクト feed_dict=hellip )必要な Placeholder の値をセットし処理オブジェクトを実行する
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
69
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
70
精度の値もテンソルでモデル化
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
1 ロス関数( クロスエントロピー )
1 認識精度(正解率 )
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
71
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
72
argmax で認識結果が得られる
数字rdquo 6rdquo の確率数字rdquo 7rdquo の確率
001
002
04
001
数字rdquo 8rdquo の確率数字rdquo 9rdquo の確率
出力層10個
数字rdquo 4rdquo の確率数字rdquo 5rdquo の確率
03
001
数字rdquo 2rdquo の確率数字rdquo 3rdquo の確率
005
005
数字rdquo 0rdquo の確率数字rdquo 1rdquo の確率
005
01
argmax 8
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
73
Hello TensorFlow
tfargmax( テンソル N )テンソルの N 次元目で一番大きな値のインデクスを返す
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
74
Hello TensorFlow
tfequal( テンソル 1 テンソル 2 )テンソル 1 とテンソル 2 は同形で各要素が一致しているかどうか 01 の同型テンソルを返す
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
75
Hello TensorFlow
sessrun( テンソル feed_dict=hellip)必要な Placeholder の値をセットしテンソルの値を求める
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
76
Hello TensorFlow
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
77
Hello TensorFlow
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
78
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -MNIST と入力例 yamamoto-MNIST
サンプル本体 000-MNISTipynb
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
79
ハンズオン 3 CNN
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
80
畳み込みニューラルネットbull Google の解説動画 (1)
ndash httpsyoutubejajksuQW4mc
81
畳み込みニューラルネットbull Google の解説動画 (5)
ndash httpsyoutubeFif8uipYuHE
通常の NN
82
hellip
入力層 隠れ層 出力層
Nx
784
Nx
100
Nx
10
hellip
重み行列784 times 100
重み行列100 times 10
バイアス100
バイアス10
正解
Nx
10
入力を整形
入力層2 次元テンソル (N x 784)
Nx
784
hellip 画像のサイズ情報が失われている
整形された入力層4 次元テンソル (N x 28 x 28 x 1)
画像のサイズ情報が含まれた形 要素数は変わらない
83
畳み込み NN のパラメタ
5 x 5 x 1
32
畳み込むミニ NN
84
整形された入力層4 次元テンソル (N x 28 x 28 x 1)
25 32
通常の NN なら
≒
重み行列25 x 32
バイアス 32
重みテンソル5 x 5 x 1 x 32
バイアス 32
畳み込み後の層
整形された入力層4 次元テンソル (N x 28 x 28 x 1)
畳み込み後の層4 次元テンソル (N x 28 x 28 x 32)
Same パディング 85
5 x 5 x 1
32
畳み込むミニ NN
重みテンソル5 x 5 x 1 x 32
バイアス 32
プーリング (2x2)
畳み込み後の層4 次元テンソル (N x 28 x 28 x 32)
86
プーリング後の層4 次元テンソル (N x 14 x 14 x 32)
2 x 2 x 1
TensorFlow では(1 x 2 x 2 x 1)のテンソルで表す
プーリングの窓( カーネル )
87
CNN全体構成 (13)
入力層(N x 784)
Nx
784
整形入力層(N x 28 x 28 x 1)
5 x 5 x 1
32 重みテンソル5 x 5 x 1 x 32
バイアス 32
畳み込み 1 プーリング 1
カーネル(1 x 2 x 2 x 1)
畳み込み 1 後の層(N x 14 x 14 x 32)
CNN全体構成 (23)
88畳み込み 1 後の層(N x 14 x 14 x 32)
5 x 5 x 32
64重みテンソル5 x 5 x 32 x
64バイアス 64
畳み込み 2 プーリング 2
カーネル(1 x 2 x 2 x 1)
畳み込み 2 後の層(N x 7 x 7 x 64)
89
CNN全体構成 (33)
畳み込み 2 後の層(N x 7 x 7 x 64)
整形層(N x 3136)
Nx
3136
識別用の NN につなぐため一列に整形 7 x 7 x 64 =
3136
hellip
隠れ層(N x 1024)
出力層(N x 10)
Nx
1024
Nx
10
重み行列3136 times 1024
重み行列1024 times
10
バイアス102
4
バイアス10
正解
Nx
10
90
CNN全体構成 (33)
畳み込み 2 後の層(N x 7 x 7 x 64)
整形層(N x 3136)
Nx
3136
識別用の NN につなぐため一列に整形 7 x 7 x 64 =
3136
hellip
隠れ層(N x 1024)
出力層(N x 10)
Nx
1024
Nx
10
重み行列1024 times
10
バイアス102
4
バイアス10
正解
Nx
10
1 Dropout率
学習時は Dropout して識別時は Dropout しないrarr Placeholder で確率を変えられるようにする
重み行列3136 times 1024
91
Hello CNN
92
Hello CNN
93
Hello CNN
インタラクティブセッションbull sessrun(処理 ) のかわりに 処理 run() と書けるbull sessrun( テンソル ) のかわりに テンソル eval() と書ける
94
Hello CNN
95
Hello CNN (モデル作成)
96
Hello CNN (モデル作成)
97
Hello CNN (モデル作成)
98
Hello CNN (モデル作成)
99
Hello CNN (モデル作成)
100
Hello CNN (モデル作成)
101
Hello CNN (モデル作成)
102
Hello CNN (モデル作成)
103
Hello CNN (モデル作成)
104
Hello CNN (モデル作成)
105
Hello CNN (モデル作成)
106
Hello CNN (モデル作成)
107
Hello CNN (モデル作成)
108
Hello CNN (モデル作成)
109
Hello CNN (ロス関数)
110
Hello CNN (学習)最適化手法 Adam を使う
111
Hello CNN (学習)インタラクティブセッションなので
proc_initrun() と書ける(先程は sessrun(proc_init) と書いていた)
112
Hello CNN (学習)インタラクティブセッションなので
accuracyeval() と書ける(先程は sessrun(accuracy) と書いていた)
113
Hello CNN (性能評価)
先の単純な NNよりもメモリを使うので一度に全てのテストデータを NN に投入できないdarr分割して精度評価し平均を取る
114
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -CNN-MNIST と入力例 yamamoto-CNN-MNIST
サンプル本体 000-CNN-MNISTipynb
お疲れ様でした115
各自ファイルを持ち帰って下さいbull サーバはこのあと削除しますbull File rarr Download as rarr IPython Notebook
116
117
学生さん向けアナウンスbull 参加頂いた方を勉強会の告知用 ML に登録しますbull ML 経由で次回以降の勉強会のアナウンスをお送りしますbull 興味がなくなったら ML フッターのリンクから
unsubscribe してください
次回予告118
119
次回予告bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会ndash AI 情報共有会
bull 最近の AI系のニュースとかキャッチーな論文の成果を薄く広く紹介する会ndash 社内技術共有会
bull チームラボの最近の案件の技術的に面白い部分について知見を共有する会
ndash 630 の回は学生さん参加 OK
120
630 社内技術共有会bull ライブでのムービングライト制御について服部さんに話をしてもらいますbull teamLab Music Festival (making)
bull 狙った場所に正確に照射するために何をしたのかbull 実演あり
121
次回以降の予定bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会bull 77(木 ) 1900 - 2100 機械学習もくもく会(社内のみ)bull 714(木 ) 1900 - 2100
Deep Learning ハンズオン 2 (予定)bull これらの情報にキャッチアップしたいチームラボの人は
Slack の ai トピックに参加して下さいbull 学生の方は ML からご案内します
- Deep Learningハンズオン 1
- はじめに
- Deep Learning勉強会
- 今回から学生さんを受け入れています
- 今日の目次
- TensorFlow
- ハンズオン1 Jupyter
- Jupyter(旧称 IPython Notebook)
- Hello Jupyter
- Hello Jupyter (2)
- Hello Jupyter (3)
- ハンズオン2 TENSORFLOW入門
- ニューラルネットワーク(復習)
- 活性化関数ReLU関数
- 出力関数softmax関数
- ロス関数
- ドロップアウト
- ドロップアウト (2)
- ドロップアウト (3)
- ドロップアウト (4)
- ニューラルネット復習キーワード
- 数字認識確保する変数は
- 数字認識確保する変数は (2)
- 数字認識確保する変数は (3)
- 数字認識実際の計算
- 結合バイアス
- 結合バイアス (2)
- 結合バイアス (3)
- 数字認識確保する変数は (4)
- 数字認識確保する変数は (5)
- 数字認識確保する変数は (6)
- 数字認識確保する変数は (7)
- 数字認識実際の計算(バイアスあり)
- 数字認識一度に1データを処理
- 数字認識一度に2データを処理
- 数字認識一度に3データを処理
- 数字認識一度にNデータを処理
- 数字認識確保する変数(バッチ学習の場合)
- たくさんのバッチで繰り返し学習
- たくさんのバッチで繰り返し学習 (2)
- たくさんのバッチで繰り返し学習 (3)
- たくさんのバッチで繰り返し学習 (4)
- たくさんのバッチで繰り返し学習 (5)
- たくさんのバッチで繰り返し学習 (6)
- TensorFlowのデータ型
- Hello TensorFlow ( 000-MNISTipynb を開いて)
- Hello TensorFlow
- Hello TensorFlow (2)
- Hello TensorFlow (3)
- Hello TensorFlow (4)
- Hello TensorFlow (5)
- Hello TensorFlow (6)
- Hello TensorFlow (7)
- Hello TensorFlow (8)
- Hello TensorFlow (9)
- Hello TensorFlow (10)
- Hello TensorFlow (11)
- ロス関数もテンソルでモデル化
- ロス関数もテンソルでモデル化 (2)
- クロスエントロピーとは
- Hello TensorFlow (12)
- Hello TensorFlow (13)
- Hello TensorFlow (14)
- Hello TensorFlow (15)
- Hello TensorFlow (16)
- Hello TensorFlow (17)
- Hello TensorFlow (18)
- Hello TensorFlow (19)
- 精度の値もテンソルでモデル化
- 精度の値もテンソルでモデル化 (2)
- Hello TensorFlow (20)
- argmaxで認識結果が得られる
- Hello TensorFlow (21)
- Hello TensorFlow (22)
- Hello TensorFlow (23)
- Hello TensorFlow (24)
- Hello TensorFlow (25)
- フリータイム
- ハンズオン3 CNN
- 畳み込みニューラルネット
- 畳み込みニューラルネット (2)
- 通常のNN
- 入力を整形
- 畳み込みNNのパラメタ
- 畳み込み後の層
- プーリング (2x2)
- CNN全体構成 (13)
- CNN全体構成 (23)
- CNN全体構成 (33)
- CNN全体構成 (33) (2)
- Hello CNN
- Hello CNN (2)
- Hello CNN (3)
- Hello CNN (4)
- Hello CNN(モデル作成)
- Hello CNN(モデル作成) (2)
- Hello CNN(モデル作成) (3)
- Hello CNN(モデル作成) (4)
- Hello CNN(モデル作成) (5)
- Hello CNN(モデル作成) (6)
- Hello CNN(モデル作成) (7)
- Hello CNN(モデル作成) (8)
- Hello CNN(モデル作成) (9)
- Hello CNN(モデル作成) (10)
- Hello CNN(モデル作成) (11)
- Hello CNN(モデル作成) (12)
- Hello CNN(モデル作成) (13)
- Hello CNN(モデル作成) (14)
- Hello CNN(ロス関数)
- Hello CNN(学習)
- Hello CNN(学習) (2)
- Hello CNN(学習) (3)
- Hello CNN(性能評価)
- フリータイム (2)
- お疲れ様でした
- 各自ファイルを持ち帰って下さい
- 学生さん向けアナウンス
- 次回予告
- 次回予告 (2)
- 630 社内技術共有会
- 次回以降の予定
-
入力を整形
入力層2 次元テンソル (N x 784)
Nx
784
hellip 画像のサイズ情報が失われている
整形された入力層4 次元テンソル (N x 28 x 28 x 1)
画像のサイズ情報が含まれた形 要素数は変わらない
83
畳み込み NN のパラメタ
5 x 5 x 1
32
畳み込むミニ NN
84
整形された入力層4 次元テンソル (N x 28 x 28 x 1)
25 32
通常の NN なら
≒
重み行列25 x 32
バイアス 32
重みテンソル5 x 5 x 1 x 32
バイアス 32
畳み込み後の層
整形された入力層4 次元テンソル (N x 28 x 28 x 1)
畳み込み後の層4 次元テンソル (N x 28 x 28 x 32)
Same パディング 85
5 x 5 x 1
32
畳み込むミニ NN
重みテンソル5 x 5 x 1 x 32
バイアス 32
プーリング (2x2)
畳み込み後の層4 次元テンソル (N x 28 x 28 x 32)
86
プーリング後の層4 次元テンソル (N x 14 x 14 x 32)
2 x 2 x 1
TensorFlow では(1 x 2 x 2 x 1)のテンソルで表す
プーリングの窓( カーネル )
87
CNN全体構成 (13)
入力層(N x 784)
Nx
784
整形入力層(N x 28 x 28 x 1)
5 x 5 x 1
32 重みテンソル5 x 5 x 1 x 32
バイアス 32
畳み込み 1 プーリング 1
カーネル(1 x 2 x 2 x 1)
畳み込み 1 後の層(N x 14 x 14 x 32)
CNN全体構成 (23)
88畳み込み 1 後の層(N x 14 x 14 x 32)
5 x 5 x 32
64重みテンソル5 x 5 x 32 x
64バイアス 64
畳み込み 2 プーリング 2
カーネル(1 x 2 x 2 x 1)
畳み込み 2 後の層(N x 7 x 7 x 64)
89
CNN全体構成 (33)
畳み込み 2 後の層(N x 7 x 7 x 64)
整形層(N x 3136)
Nx
3136
識別用の NN につなぐため一列に整形 7 x 7 x 64 =
3136
hellip
隠れ層(N x 1024)
出力層(N x 10)
Nx
1024
Nx
10
重み行列3136 times 1024
重み行列1024 times
10
バイアス102
4
バイアス10
正解
Nx
10
90
CNN全体構成 (33)
畳み込み 2 後の層(N x 7 x 7 x 64)
整形層(N x 3136)
Nx
3136
識別用の NN につなぐため一列に整形 7 x 7 x 64 =
3136
hellip
隠れ層(N x 1024)
出力層(N x 10)
Nx
1024
Nx
10
重み行列1024 times
10
バイアス102
4
バイアス10
正解
Nx
10
1 Dropout率
学習時は Dropout して識別時は Dropout しないrarr Placeholder で確率を変えられるようにする
重み行列3136 times 1024
91
Hello CNN
92
Hello CNN
93
Hello CNN
インタラクティブセッションbull sessrun(処理 ) のかわりに 処理 run() と書けるbull sessrun( テンソル ) のかわりに テンソル eval() と書ける
94
Hello CNN
95
Hello CNN (モデル作成)
96
Hello CNN (モデル作成)
97
Hello CNN (モデル作成)
98
Hello CNN (モデル作成)
99
Hello CNN (モデル作成)
100
Hello CNN (モデル作成)
101
Hello CNN (モデル作成)
102
Hello CNN (モデル作成)
103
Hello CNN (モデル作成)
104
Hello CNN (モデル作成)
105
Hello CNN (モデル作成)
106
Hello CNN (モデル作成)
107
Hello CNN (モデル作成)
108
Hello CNN (モデル作成)
109
Hello CNN (ロス関数)
110
Hello CNN (学習)最適化手法 Adam を使う
111
Hello CNN (学習)インタラクティブセッションなので
proc_initrun() と書ける(先程は sessrun(proc_init) と書いていた)
112
Hello CNN (学習)インタラクティブセッションなので
accuracyeval() と書ける(先程は sessrun(accuracy) と書いていた)
113
Hello CNN (性能評価)
先の単純な NNよりもメモリを使うので一度に全てのテストデータを NN に投入できないdarr分割して精度評価し平均を取る
114
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -CNN-MNIST と入力例 yamamoto-CNN-MNIST
サンプル本体 000-CNN-MNISTipynb
お疲れ様でした115
各自ファイルを持ち帰って下さいbull サーバはこのあと削除しますbull File rarr Download as rarr IPython Notebook
116
117
学生さん向けアナウンスbull 参加頂いた方を勉強会の告知用 ML に登録しますbull ML 経由で次回以降の勉強会のアナウンスをお送りしますbull 興味がなくなったら ML フッターのリンクから
unsubscribe してください
次回予告118
119
次回予告bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会ndash AI 情報共有会
bull 最近の AI系のニュースとかキャッチーな論文の成果を薄く広く紹介する会ndash 社内技術共有会
bull チームラボの最近の案件の技術的に面白い部分について知見を共有する会
ndash 630 の回は学生さん参加 OK
120
630 社内技術共有会bull ライブでのムービングライト制御について服部さんに話をしてもらいますbull teamLab Music Festival (making)
bull 狙った場所に正確に照射するために何をしたのかbull 実演あり
121
次回以降の予定bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会bull 77(木 ) 1900 - 2100 機械学習もくもく会(社内のみ)bull 714(木 ) 1900 - 2100
Deep Learning ハンズオン 2 (予定)bull これらの情報にキャッチアップしたいチームラボの人は
Slack の ai トピックに参加して下さいbull 学生の方は ML からご案内します
- Deep Learningハンズオン 1
- はじめに
- Deep Learning勉強会
- 今回から学生さんを受け入れています
- 今日の目次
- TensorFlow
- ハンズオン1 Jupyter
- Jupyter(旧称 IPython Notebook)
- Hello Jupyter
- Hello Jupyter (2)
- Hello Jupyter (3)
- ハンズオン2 TENSORFLOW入門
- ニューラルネットワーク(復習)
- 活性化関数ReLU関数
- 出力関数softmax関数
- ロス関数
- ドロップアウト
- ドロップアウト (2)
- ドロップアウト (3)
- ドロップアウト (4)
- ニューラルネット復習キーワード
- 数字認識確保する変数は
- 数字認識確保する変数は (2)
- 数字認識確保する変数は (3)
- 数字認識実際の計算
- 結合バイアス
- 結合バイアス (2)
- 結合バイアス (3)
- 数字認識確保する変数は (4)
- 数字認識確保する変数は (5)
- 数字認識確保する変数は (6)
- 数字認識確保する変数は (7)
- 数字認識実際の計算(バイアスあり)
- 数字認識一度に1データを処理
- 数字認識一度に2データを処理
- 数字認識一度に3データを処理
- 数字認識一度にNデータを処理
- 数字認識確保する変数(バッチ学習の場合)
- たくさんのバッチで繰り返し学習
- たくさんのバッチで繰り返し学習 (2)
- たくさんのバッチで繰り返し学習 (3)
- たくさんのバッチで繰り返し学習 (4)
- たくさんのバッチで繰り返し学習 (5)
- たくさんのバッチで繰り返し学習 (6)
- TensorFlowのデータ型
- Hello TensorFlow ( 000-MNISTipynb を開いて)
- Hello TensorFlow
- Hello TensorFlow (2)
- Hello TensorFlow (3)
- Hello TensorFlow (4)
- Hello TensorFlow (5)
- Hello TensorFlow (6)
- Hello TensorFlow (7)
- Hello TensorFlow (8)
- Hello TensorFlow (9)
- Hello TensorFlow (10)
- Hello TensorFlow (11)
- ロス関数もテンソルでモデル化
- ロス関数もテンソルでモデル化 (2)
- クロスエントロピーとは
- Hello TensorFlow (12)
- Hello TensorFlow (13)
- Hello TensorFlow (14)
- Hello TensorFlow (15)
- Hello TensorFlow (16)
- Hello TensorFlow (17)
- Hello TensorFlow (18)
- Hello TensorFlow (19)
- 精度の値もテンソルでモデル化
- 精度の値もテンソルでモデル化 (2)
- Hello TensorFlow (20)
- argmaxで認識結果が得られる
- Hello TensorFlow (21)
- Hello TensorFlow (22)
- Hello TensorFlow (23)
- Hello TensorFlow (24)
- Hello TensorFlow (25)
- フリータイム
- ハンズオン3 CNN
- 畳み込みニューラルネット
- 畳み込みニューラルネット (2)
- 通常のNN
- 入力を整形
- 畳み込みNNのパラメタ
- 畳み込み後の層
- プーリング (2x2)
- CNN全体構成 (13)
- CNN全体構成 (23)
- CNN全体構成 (33)
- CNN全体構成 (33) (2)
- Hello CNN
- Hello CNN (2)
- Hello CNN (3)
- Hello CNN (4)
- Hello CNN(モデル作成)
- Hello CNN(モデル作成) (2)
- Hello CNN(モデル作成) (3)
- Hello CNN(モデル作成) (4)
- Hello CNN(モデル作成) (5)
- Hello CNN(モデル作成) (6)
- Hello CNN(モデル作成) (7)
- Hello CNN(モデル作成) (8)
- Hello CNN(モデル作成) (9)
- Hello CNN(モデル作成) (10)
- Hello CNN(モデル作成) (11)
- Hello CNN(モデル作成) (12)
- Hello CNN(モデル作成) (13)
- Hello CNN(モデル作成) (14)
- Hello CNN(ロス関数)
- Hello CNN(学習)
- Hello CNN(学習) (2)
- Hello CNN(学習) (3)
- Hello CNN(性能評価)
- フリータイム (2)
- お疲れ様でした
- 各自ファイルを持ち帰って下さい
- 学生さん向けアナウンス
- 次回予告
- 次回予告 (2)
- 630 社内技術共有会
- 次回以降の予定
-
畳み込み NN のパラメタ
5 x 5 x 1
32
畳み込むミニ NN
84
整形された入力層4 次元テンソル (N x 28 x 28 x 1)
25 32
通常の NN なら
≒
重み行列25 x 32
バイアス 32
重みテンソル5 x 5 x 1 x 32
バイアス 32
畳み込み後の層
整形された入力層4 次元テンソル (N x 28 x 28 x 1)
畳み込み後の層4 次元テンソル (N x 28 x 28 x 32)
Same パディング 85
5 x 5 x 1
32
畳み込むミニ NN
重みテンソル5 x 5 x 1 x 32
バイアス 32
プーリング (2x2)
畳み込み後の層4 次元テンソル (N x 28 x 28 x 32)
86
プーリング後の層4 次元テンソル (N x 14 x 14 x 32)
2 x 2 x 1
TensorFlow では(1 x 2 x 2 x 1)のテンソルで表す
プーリングの窓( カーネル )
87
CNN全体構成 (13)
入力層(N x 784)
Nx
784
整形入力層(N x 28 x 28 x 1)
5 x 5 x 1
32 重みテンソル5 x 5 x 1 x 32
バイアス 32
畳み込み 1 プーリング 1
カーネル(1 x 2 x 2 x 1)
畳み込み 1 後の層(N x 14 x 14 x 32)
CNN全体構成 (23)
88畳み込み 1 後の層(N x 14 x 14 x 32)
5 x 5 x 32
64重みテンソル5 x 5 x 32 x
64バイアス 64
畳み込み 2 プーリング 2
カーネル(1 x 2 x 2 x 1)
畳み込み 2 後の層(N x 7 x 7 x 64)
89
CNN全体構成 (33)
畳み込み 2 後の層(N x 7 x 7 x 64)
整形層(N x 3136)
Nx
3136
識別用の NN につなぐため一列に整形 7 x 7 x 64 =
3136
hellip
隠れ層(N x 1024)
出力層(N x 10)
Nx
1024
Nx
10
重み行列3136 times 1024
重み行列1024 times
10
バイアス102
4
バイアス10
正解
Nx
10
90
CNN全体構成 (33)
畳み込み 2 後の層(N x 7 x 7 x 64)
整形層(N x 3136)
Nx
3136
識別用の NN につなぐため一列に整形 7 x 7 x 64 =
3136
hellip
隠れ層(N x 1024)
出力層(N x 10)
Nx
1024
Nx
10
重み行列1024 times
10
バイアス102
4
バイアス10
正解
Nx
10
1 Dropout率
学習時は Dropout して識別時は Dropout しないrarr Placeholder で確率を変えられるようにする
重み行列3136 times 1024
91
Hello CNN
92
Hello CNN
93
Hello CNN
インタラクティブセッションbull sessrun(処理 ) のかわりに 処理 run() と書けるbull sessrun( テンソル ) のかわりに テンソル eval() と書ける
94
Hello CNN
95
Hello CNN (モデル作成)
96
Hello CNN (モデル作成)
97
Hello CNN (モデル作成)
98
Hello CNN (モデル作成)
99
Hello CNN (モデル作成)
100
Hello CNN (モデル作成)
101
Hello CNN (モデル作成)
102
Hello CNN (モデル作成)
103
Hello CNN (モデル作成)
104
Hello CNN (モデル作成)
105
Hello CNN (モデル作成)
106
Hello CNN (モデル作成)
107
Hello CNN (モデル作成)
108
Hello CNN (モデル作成)
109
Hello CNN (ロス関数)
110
Hello CNN (学習)最適化手法 Adam を使う
111
Hello CNN (学習)インタラクティブセッションなので
proc_initrun() と書ける(先程は sessrun(proc_init) と書いていた)
112
Hello CNN (学習)インタラクティブセッションなので
accuracyeval() と書ける(先程は sessrun(accuracy) と書いていた)
113
Hello CNN (性能評価)
先の単純な NNよりもメモリを使うので一度に全てのテストデータを NN に投入できないdarr分割して精度評価し平均を取る
114
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -CNN-MNIST と入力例 yamamoto-CNN-MNIST
サンプル本体 000-CNN-MNISTipynb
お疲れ様でした115
各自ファイルを持ち帰って下さいbull サーバはこのあと削除しますbull File rarr Download as rarr IPython Notebook
116
117
学生さん向けアナウンスbull 参加頂いた方を勉強会の告知用 ML に登録しますbull ML 経由で次回以降の勉強会のアナウンスをお送りしますbull 興味がなくなったら ML フッターのリンクから
unsubscribe してください
次回予告118
119
次回予告bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会ndash AI 情報共有会
bull 最近の AI系のニュースとかキャッチーな論文の成果を薄く広く紹介する会ndash 社内技術共有会
bull チームラボの最近の案件の技術的に面白い部分について知見を共有する会
ndash 630 の回は学生さん参加 OK
120
630 社内技術共有会bull ライブでのムービングライト制御について服部さんに話をしてもらいますbull teamLab Music Festival (making)
bull 狙った場所に正確に照射するために何をしたのかbull 実演あり
121
次回以降の予定bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会bull 77(木 ) 1900 - 2100 機械学習もくもく会(社内のみ)bull 714(木 ) 1900 - 2100
Deep Learning ハンズオン 2 (予定)bull これらの情報にキャッチアップしたいチームラボの人は
Slack の ai トピックに参加して下さいbull 学生の方は ML からご案内します
- Deep Learningハンズオン 1
- はじめに
- Deep Learning勉強会
- 今回から学生さんを受け入れています
- 今日の目次
- TensorFlow
- ハンズオン1 Jupyter
- Jupyter(旧称 IPython Notebook)
- Hello Jupyter
- Hello Jupyter (2)
- Hello Jupyter (3)
- ハンズオン2 TENSORFLOW入門
- ニューラルネットワーク(復習)
- 活性化関数ReLU関数
- 出力関数softmax関数
- ロス関数
- ドロップアウト
- ドロップアウト (2)
- ドロップアウト (3)
- ドロップアウト (4)
- ニューラルネット復習キーワード
- 数字認識確保する変数は
- 数字認識確保する変数は (2)
- 数字認識確保する変数は (3)
- 数字認識実際の計算
- 結合バイアス
- 結合バイアス (2)
- 結合バイアス (3)
- 数字認識確保する変数は (4)
- 数字認識確保する変数は (5)
- 数字認識確保する変数は (6)
- 数字認識確保する変数は (7)
- 数字認識実際の計算(バイアスあり)
- 数字認識一度に1データを処理
- 数字認識一度に2データを処理
- 数字認識一度に3データを処理
- 数字認識一度にNデータを処理
- 数字認識確保する変数(バッチ学習の場合)
- たくさんのバッチで繰り返し学習
- たくさんのバッチで繰り返し学習 (2)
- たくさんのバッチで繰り返し学習 (3)
- たくさんのバッチで繰り返し学習 (4)
- たくさんのバッチで繰り返し学習 (5)
- たくさんのバッチで繰り返し学習 (6)
- TensorFlowのデータ型
- Hello TensorFlow ( 000-MNISTipynb を開いて)
- Hello TensorFlow
- Hello TensorFlow (2)
- Hello TensorFlow (3)
- Hello TensorFlow (4)
- Hello TensorFlow (5)
- Hello TensorFlow (6)
- Hello TensorFlow (7)
- Hello TensorFlow (8)
- Hello TensorFlow (9)
- Hello TensorFlow (10)
- Hello TensorFlow (11)
- ロス関数もテンソルでモデル化
- ロス関数もテンソルでモデル化 (2)
- クロスエントロピーとは
- Hello TensorFlow (12)
- Hello TensorFlow (13)
- Hello TensorFlow (14)
- Hello TensorFlow (15)
- Hello TensorFlow (16)
- Hello TensorFlow (17)
- Hello TensorFlow (18)
- Hello TensorFlow (19)
- 精度の値もテンソルでモデル化
- 精度の値もテンソルでモデル化 (2)
- Hello TensorFlow (20)
- argmaxで認識結果が得られる
- Hello TensorFlow (21)
- Hello TensorFlow (22)
- Hello TensorFlow (23)
- Hello TensorFlow (24)
- Hello TensorFlow (25)
- フリータイム
- ハンズオン3 CNN
- 畳み込みニューラルネット
- 畳み込みニューラルネット (2)
- 通常のNN
- 入力を整形
- 畳み込みNNのパラメタ
- 畳み込み後の層
- プーリング (2x2)
- CNN全体構成 (13)
- CNN全体構成 (23)
- CNN全体構成 (33)
- CNN全体構成 (33) (2)
- Hello CNN
- Hello CNN (2)
- Hello CNN (3)
- Hello CNN (4)
- Hello CNN(モデル作成)
- Hello CNN(モデル作成) (2)
- Hello CNN(モデル作成) (3)
- Hello CNN(モデル作成) (4)
- Hello CNN(モデル作成) (5)
- Hello CNN(モデル作成) (6)
- Hello CNN(モデル作成) (7)
- Hello CNN(モデル作成) (8)
- Hello CNN(モデル作成) (9)
- Hello CNN(モデル作成) (10)
- Hello CNN(モデル作成) (11)
- Hello CNN(モデル作成) (12)
- Hello CNN(モデル作成) (13)
- Hello CNN(モデル作成) (14)
- Hello CNN(ロス関数)
- Hello CNN(学習)
- Hello CNN(学習) (2)
- Hello CNN(学習) (3)
- Hello CNN(性能評価)
- フリータイム (2)
- お疲れ様でした
- 各自ファイルを持ち帰って下さい
- 学生さん向けアナウンス
- 次回予告
- 次回予告 (2)
- 630 社内技術共有会
- 次回以降の予定
-
畳み込み後の層
整形された入力層4 次元テンソル (N x 28 x 28 x 1)
畳み込み後の層4 次元テンソル (N x 28 x 28 x 32)
Same パディング 85
5 x 5 x 1
32
畳み込むミニ NN
重みテンソル5 x 5 x 1 x 32
バイアス 32
プーリング (2x2)
畳み込み後の層4 次元テンソル (N x 28 x 28 x 32)
86
プーリング後の層4 次元テンソル (N x 14 x 14 x 32)
2 x 2 x 1
TensorFlow では(1 x 2 x 2 x 1)のテンソルで表す
プーリングの窓( カーネル )
87
CNN全体構成 (13)
入力層(N x 784)
Nx
784
整形入力層(N x 28 x 28 x 1)
5 x 5 x 1
32 重みテンソル5 x 5 x 1 x 32
バイアス 32
畳み込み 1 プーリング 1
カーネル(1 x 2 x 2 x 1)
畳み込み 1 後の層(N x 14 x 14 x 32)
CNN全体構成 (23)
88畳み込み 1 後の層(N x 14 x 14 x 32)
5 x 5 x 32
64重みテンソル5 x 5 x 32 x
64バイアス 64
畳み込み 2 プーリング 2
カーネル(1 x 2 x 2 x 1)
畳み込み 2 後の層(N x 7 x 7 x 64)
89
CNN全体構成 (33)
畳み込み 2 後の層(N x 7 x 7 x 64)
整形層(N x 3136)
Nx
3136
識別用の NN につなぐため一列に整形 7 x 7 x 64 =
3136
hellip
隠れ層(N x 1024)
出力層(N x 10)
Nx
1024
Nx
10
重み行列3136 times 1024
重み行列1024 times
10
バイアス102
4
バイアス10
正解
Nx
10
90
CNN全体構成 (33)
畳み込み 2 後の層(N x 7 x 7 x 64)
整形層(N x 3136)
Nx
3136
識別用の NN につなぐため一列に整形 7 x 7 x 64 =
3136
hellip
隠れ層(N x 1024)
出力層(N x 10)
Nx
1024
Nx
10
重み行列1024 times
10
バイアス102
4
バイアス10
正解
Nx
10
1 Dropout率
学習時は Dropout して識別時は Dropout しないrarr Placeholder で確率を変えられるようにする
重み行列3136 times 1024
91
Hello CNN
92
Hello CNN
93
Hello CNN
インタラクティブセッションbull sessrun(処理 ) のかわりに 処理 run() と書けるbull sessrun( テンソル ) のかわりに テンソル eval() と書ける
94
Hello CNN
95
Hello CNN (モデル作成)
96
Hello CNN (モデル作成)
97
Hello CNN (モデル作成)
98
Hello CNN (モデル作成)
99
Hello CNN (モデル作成)
100
Hello CNN (モデル作成)
101
Hello CNN (モデル作成)
102
Hello CNN (モデル作成)
103
Hello CNN (モデル作成)
104
Hello CNN (モデル作成)
105
Hello CNN (モデル作成)
106
Hello CNN (モデル作成)
107
Hello CNN (モデル作成)
108
Hello CNN (モデル作成)
109
Hello CNN (ロス関数)
110
Hello CNN (学習)最適化手法 Adam を使う
111
Hello CNN (学習)インタラクティブセッションなので
proc_initrun() と書ける(先程は sessrun(proc_init) と書いていた)
112
Hello CNN (学習)インタラクティブセッションなので
accuracyeval() と書ける(先程は sessrun(accuracy) と書いていた)
113
Hello CNN (性能評価)
先の単純な NNよりもメモリを使うので一度に全てのテストデータを NN に投入できないdarr分割して精度評価し平均を取る
114
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -CNN-MNIST と入力例 yamamoto-CNN-MNIST
サンプル本体 000-CNN-MNISTipynb
お疲れ様でした115
各自ファイルを持ち帰って下さいbull サーバはこのあと削除しますbull File rarr Download as rarr IPython Notebook
116
117
学生さん向けアナウンスbull 参加頂いた方を勉強会の告知用 ML に登録しますbull ML 経由で次回以降の勉強会のアナウンスをお送りしますbull 興味がなくなったら ML フッターのリンクから
unsubscribe してください
次回予告118
119
次回予告bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会ndash AI 情報共有会
bull 最近の AI系のニュースとかキャッチーな論文の成果を薄く広く紹介する会ndash 社内技術共有会
bull チームラボの最近の案件の技術的に面白い部分について知見を共有する会
ndash 630 の回は学生さん参加 OK
120
630 社内技術共有会bull ライブでのムービングライト制御について服部さんに話をしてもらいますbull teamLab Music Festival (making)
bull 狙った場所に正確に照射するために何をしたのかbull 実演あり
121
次回以降の予定bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会bull 77(木 ) 1900 - 2100 機械学習もくもく会(社内のみ)bull 714(木 ) 1900 - 2100
Deep Learning ハンズオン 2 (予定)bull これらの情報にキャッチアップしたいチームラボの人は
Slack の ai トピックに参加して下さいbull 学生の方は ML からご案内します
- Deep Learningハンズオン 1
- はじめに
- Deep Learning勉強会
- 今回から学生さんを受け入れています
- 今日の目次
- TensorFlow
- ハンズオン1 Jupyter
- Jupyter(旧称 IPython Notebook)
- Hello Jupyter
- Hello Jupyter (2)
- Hello Jupyter (3)
- ハンズオン2 TENSORFLOW入門
- ニューラルネットワーク(復習)
- 活性化関数ReLU関数
- 出力関数softmax関数
- ロス関数
- ドロップアウト
- ドロップアウト (2)
- ドロップアウト (3)
- ドロップアウト (4)
- ニューラルネット復習キーワード
- 数字認識確保する変数は
- 数字認識確保する変数は (2)
- 数字認識確保する変数は (3)
- 数字認識実際の計算
- 結合バイアス
- 結合バイアス (2)
- 結合バイアス (3)
- 数字認識確保する変数は (4)
- 数字認識確保する変数は (5)
- 数字認識確保する変数は (6)
- 数字認識確保する変数は (7)
- 数字認識実際の計算(バイアスあり)
- 数字認識一度に1データを処理
- 数字認識一度に2データを処理
- 数字認識一度に3データを処理
- 数字認識一度にNデータを処理
- 数字認識確保する変数(バッチ学習の場合)
- たくさんのバッチで繰り返し学習
- たくさんのバッチで繰り返し学習 (2)
- たくさんのバッチで繰り返し学習 (3)
- たくさんのバッチで繰り返し学習 (4)
- たくさんのバッチで繰り返し学習 (5)
- たくさんのバッチで繰り返し学習 (6)
- TensorFlowのデータ型
- Hello TensorFlow ( 000-MNISTipynb を開いて)
- Hello TensorFlow
- Hello TensorFlow (2)
- Hello TensorFlow (3)
- Hello TensorFlow (4)
- Hello TensorFlow (5)
- Hello TensorFlow (6)
- Hello TensorFlow (7)
- Hello TensorFlow (8)
- Hello TensorFlow (9)
- Hello TensorFlow (10)
- Hello TensorFlow (11)
- ロス関数もテンソルでモデル化
- ロス関数もテンソルでモデル化 (2)
- クロスエントロピーとは
- Hello TensorFlow (12)
- Hello TensorFlow (13)
- Hello TensorFlow (14)
- Hello TensorFlow (15)
- Hello TensorFlow (16)
- Hello TensorFlow (17)
- Hello TensorFlow (18)
- Hello TensorFlow (19)
- 精度の値もテンソルでモデル化
- 精度の値もテンソルでモデル化 (2)
- Hello TensorFlow (20)
- argmaxで認識結果が得られる
- Hello TensorFlow (21)
- Hello TensorFlow (22)
- Hello TensorFlow (23)
- Hello TensorFlow (24)
- Hello TensorFlow (25)
- フリータイム
- ハンズオン3 CNN
- 畳み込みニューラルネット
- 畳み込みニューラルネット (2)
- 通常のNN
- 入力を整形
- 畳み込みNNのパラメタ
- 畳み込み後の層
- プーリング (2x2)
- CNN全体構成 (13)
- CNN全体構成 (23)
- CNN全体構成 (33)
- CNN全体構成 (33) (2)
- Hello CNN
- Hello CNN (2)
- Hello CNN (3)
- Hello CNN (4)
- Hello CNN(モデル作成)
- Hello CNN(モデル作成) (2)
- Hello CNN(モデル作成) (3)
- Hello CNN(モデル作成) (4)
- Hello CNN(モデル作成) (5)
- Hello CNN(モデル作成) (6)
- Hello CNN(モデル作成) (7)
- Hello CNN(モデル作成) (8)
- Hello CNN(モデル作成) (9)
- Hello CNN(モデル作成) (10)
- Hello CNN(モデル作成) (11)
- Hello CNN(モデル作成) (12)
- Hello CNN(モデル作成) (13)
- Hello CNN(モデル作成) (14)
- Hello CNN(ロス関数)
- Hello CNN(学習)
- Hello CNN(学習) (2)
- Hello CNN(学習) (3)
- Hello CNN(性能評価)
- フリータイム (2)
- お疲れ様でした
- 各自ファイルを持ち帰って下さい
- 学生さん向けアナウンス
- 次回予告
- 次回予告 (2)
- 630 社内技術共有会
- 次回以降の予定
-
プーリング (2x2)
畳み込み後の層4 次元テンソル (N x 28 x 28 x 32)
86
プーリング後の層4 次元テンソル (N x 14 x 14 x 32)
2 x 2 x 1
TensorFlow では(1 x 2 x 2 x 1)のテンソルで表す
プーリングの窓( カーネル )
87
CNN全体構成 (13)
入力層(N x 784)
Nx
784
整形入力層(N x 28 x 28 x 1)
5 x 5 x 1
32 重みテンソル5 x 5 x 1 x 32
バイアス 32
畳み込み 1 プーリング 1
カーネル(1 x 2 x 2 x 1)
畳み込み 1 後の層(N x 14 x 14 x 32)
CNN全体構成 (23)
88畳み込み 1 後の層(N x 14 x 14 x 32)
5 x 5 x 32
64重みテンソル5 x 5 x 32 x
64バイアス 64
畳み込み 2 プーリング 2
カーネル(1 x 2 x 2 x 1)
畳み込み 2 後の層(N x 7 x 7 x 64)
89
CNN全体構成 (33)
畳み込み 2 後の層(N x 7 x 7 x 64)
整形層(N x 3136)
Nx
3136
識別用の NN につなぐため一列に整形 7 x 7 x 64 =
3136
hellip
隠れ層(N x 1024)
出力層(N x 10)
Nx
1024
Nx
10
重み行列3136 times 1024
重み行列1024 times
10
バイアス102
4
バイアス10
正解
Nx
10
90
CNN全体構成 (33)
畳み込み 2 後の層(N x 7 x 7 x 64)
整形層(N x 3136)
Nx
3136
識別用の NN につなぐため一列に整形 7 x 7 x 64 =
3136
hellip
隠れ層(N x 1024)
出力層(N x 10)
Nx
1024
Nx
10
重み行列1024 times
10
バイアス102
4
バイアス10
正解
Nx
10
1 Dropout率
学習時は Dropout して識別時は Dropout しないrarr Placeholder で確率を変えられるようにする
重み行列3136 times 1024
91
Hello CNN
92
Hello CNN
93
Hello CNN
インタラクティブセッションbull sessrun(処理 ) のかわりに 処理 run() と書けるbull sessrun( テンソル ) のかわりに テンソル eval() と書ける
94
Hello CNN
95
Hello CNN (モデル作成)
96
Hello CNN (モデル作成)
97
Hello CNN (モデル作成)
98
Hello CNN (モデル作成)
99
Hello CNN (モデル作成)
100
Hello CNN (モデル作成)
101
Hello CNN (モデル作成)
102
Hello CNN (モデル作成)
103
Hello CNN (モデル作成)
104
Hello CNN (モデル作成)
105
Hello CNN (モデル作成)
106
Hello CNN (モデル作成)
107
Hello CNN (モデル作成)
108
Hello CNN (モデル作成)
109
Hello CNN (ロス関数)
110
Hello CNN (学習)最適化手法 Adam を使う
111
Hello CNN (学習)インタラクティブセッションなので
proc_initrun() と書ける(先程は sessrun(proc_init) と書いていた)
112
Hello CNN (学習)インタラクティブセッションなので
accuracyeval() と書ける(先程は sessrun(accuracy) と書いていた)
113
Hello CNN (性能評価)
先の単純な NNよりもメモリを使うので一度に全てのテストデータを NN に投入できないdarr分割して精度評価し平均を取る
114
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -CNN-MNIST と入力例 yamamoto-CNN-MNIST
サンプル本体 000-CNN-MNISTipynb
お疲れ様でした115
各自ファイルを持ち帰って下さいbull サーバはこのあと削除しますbull File rarr Download as rarr IPython Notebook
116
117
学生さん向けアナウンスbull 参加頂いた方を勉強会の告知用 ML に登録しますbull ML 経由で次回以降の勉強会のアナウンスをお送りしますbull 興味がなくなったら ML フッターのリンクから
unsubscribe してください
次回予告118
119
次回予告bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会ndash AI 情報共有会
bull 最近の AI系のニュースとかキャッチーな論文の成果を薄く広く紹介する会ndash 社内技術共有会
bull チームラボの最近の案件の技術的に面白い部分について知見を共有する会
ndash 630 の回は学生さん参加 OK
120
630 社内技術共有会bull ライブでのムービングライト制御について服部さんに話をしてもらいますbull teamLab Music Festival (making)
bull 狙った場所に正確に照射するために何をしたのかbull 実演あり
121
次回以降の予定bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会bull 77(木 ) 1900 - 2100 機械学習もくもく会(社内のみ)bull 714(木 ) 1900 - 2100
Deep Learning ハンズオン 2 (予定)bull これらの情報にキャッチアップしたいチームラボの人は
Slack の ai トピックに参加して下さいbull 学生の方は ML からご案内します
- Deep Learningハンズオン 1
- はじめに
- Deep Learning勉強会
- 今回から学生さんを受け入れています
- 今日の目次
- TensorFlow
- ハンズオン1 Jupyter
- Jupyter(旧称 IPython Notebook)
- Hello Jupyter
- Hello Jupyter (2)
- Hello Jupyter (3)
- ハンズオン2 TENSORFLOW入門
- ニューラルネットワーク(復習)
- 活性化関数ReLU関数
- 出力関数softmax関数
- ロス関数
- ドロップアウト
- ドロップアウト (2)
- ドロップアウト (3)
- ドロップアウト (4)
- ニューラルネット復習キーワード
- 数字認識確保する変数は
- 数字認識確保する変数は (2)
- 数字認識確保する変数は (3)
- 数字認識実際の計算
- 結合バイアス
- 結合バイアス (2)
- 結合バイアス (3)
- 数字認識確保する変数は (4)
- 数字認識確保する変数は (5)
- 数字認識確保する変数は (6)
- 数字認識確保する変数は (7)
- 数字認識実際の計算(バイアスあり)
- 数字認識一度に1データを処理
- 数字認識一度に2データを処理
- 数字認識一度に3データを処理
- 数字認識一度にNデータを処理
- 数字認識確保する変数(バッチ学習の場合)
- たくさんのバッチで繰り返し学習
- たくさんのバッチで繰り返し学習 (2)
- たくさんのバッチで繰り返し学習 (3)
- たくさんのバッチで繰り返し学習 (4)
- たくさんのバッチで繰り返し学習 (5)
- たくさんのバッチで繰り返し学習 (6)
- TensorFlowのデータ型
- Hello TensorFlow ( 000-MNISTipynb を開いて)
- Hello TensorFlow
- Hello TensorFlow (2)
- Hello TensorFlow (3)
- Hello TensorFlow (4)
- Hello TensorFlow (5)
- Hello TensorFlow (6)
- Hello TensorFlow (7)
- Hello TensorFlow (8)
- Hello TensorFlow (9)
- Hello TensorFlow (10)
- Hello TensorFlow (11)
- ロス関数もテンソルでモデル化
- ロス関数もテンソルでモデル化 (2)
- クロスエントロピーとは
- Hello TensorFlow (12)
- Hello TensorFlow (13)
- Hello TensorFlow (14)
- Hello TensorFlow (15)
- Hello TensorFlow (16)
- Hello TensorFlow (17)
- Hello TensorFlow (18)
- Hello TensorFlow (19)
- 精度の値もテンソルでモデル化
- 精度の値もテンソルでモデル化 (2)
- Hello TensorFlow (20)
- argmaxで認識結果が得られる
- Hello TensorFlow (21)
- Hello TensorFlow (22)
- Hello TensorFlow (23)
- Hello TensorFlow (24)
- Hello TensorFlow (25)
- フリータイム
- ハンズオン3 CNN
- 畳み込みニューラルネット
- 畳み込みニューラルネット (2)
- 通常のNN
- 入力を整形
- 畳み込みNNのパラメタ
- 畳み込み後の層
- プーリング (2x2)
- CNN全体構成 (13)
- CNN全体構成 (23)
- CNN全体構成 (33)
- CNN全体構成 (33) (2)
- Hello CNN
- Hello CNN (2)
- Hello CNN (3)
- Hello CNN (4)
- Hello CNN(モデル作成)
- Hello CNN(モデル作成) (2)
- Hello CNN(モデル作成) (3)
- Hello CNN(モデル作成) (4)
- Hello CNN(モデル作成) (5)
- Hello CNN(モデル作成) (6)
- Hello CNN(モデル作成) (7)
- Hello CNN(モデル作成) (8)
- Hello CNN(モデル作成) (9)
- Hello CNN(モデル作成) (10)
- Hello CNN(モデル作成) (11)
- Hello CNN(モデル作成) (12)
- Hello CNN(モデル作成) (13)
- Hello CNN(モデル作成) (14)
- Hello CNN(ロス関数)
- Hello CNN(学習)
- Hello CNN(学習) (2)
- Hello CNN(学習) (3)
- Hello CNN(性能評価)
- フリータイム (2)
- お疲れ様でした
- 各自ファイルを持ち帰って下さい
- 学生さん向けアナウンス
- 次回予告
- 次回予告 (2)
- 630 社内技術共有会
- 次回以降の予定
-
87
CNN全体構成 (13)
入力層(N x 784)
Nx
784
整形入力層(N x 28 x 28 x 1)
5 x 5 x 1
32 重みテンソル5 x 5 x 1 x 32
バイアス 32
畳み込み 1 プーリング 1
カーネル(1 x 2 x 2 x 1)
畳み込み 1 後の層(N x 14 x 14 x 32)
CNN全体構成 (23)
88畳み込み 1 後の層(N x 14 x 14 x 32)
5 x 5 x 32
64重みテンソル5 x 5 x 32 x
64バイアス 64
畳み込み 2 プーリング 2
カーネル(1 x 2 x 2 x 1)
畳み込み 2 後の層(N x 7 x 7 x 64)
89
CNN全体構成 (33)
畳み込み 2 後の層(N x 7 x 7 x 64)
整形層(N x 3136)
Nx
3136
識別用の NN につなぐため一列に整形 7 x 7 x 64 =
3136
hellip
隠れ層(N x 1024)
出力層(N x 10)
Nx
1024
Nx
10
重み行列3136 times 1024
重み行列1024 times
10
バイアス102
4
バイアス10
正解
Nx
10
90
CNN全体構成 (33)
畳み込み 2 後の層(N x 7 x 7 x 64)
整形層(N x 3136)
Nx
3136
識別用の NN につなぐため一列に整形 7 x 7 x 64 =
3136
hellip
隠れ層(N x 1024)
出力層(N x 10)
Nx
1024
Nx
10
重み行列1024 times
10
バイアス102
4
バイアス10
正解
Nx
10
1 Dropout率
学習時は Dropout して識別時は Dropout しないrarr Placeholder で確率を変えられるようにする
重み行列3136 times 1024
91
Hello CNN
92
Hello CNN
93
Hello CNN
インタラクティブセッションbull sessrun(処理 ) のかわりに 処理 run() と書けるbull sessrun( テンソル ) のかわりに テンソル eval() と書ける
94
Hello CNN
95
Hello CNN (モデル作成)
96
Hello CNN (モデル作成)
97
Hello CNN (モデル作成)
98
Hello CNN (モデル作成)
99
Hello CNN (モデル作成)
100
Hello CNN (モデル作成)
101
Hello CNN (モデル作成)
102
Hello CNN (モデル作成)
103
Hello CNN (モデル作成)
104
Hello CNN (モデル作成)
105
Hello CNN (モデル作成)
106
Hello CNN (モデル作成)
107
Hello CNN (モデル作成)
108
Hello CNN (モデル作成)
109
Hello CNN (ロス関数)
110
Hello CNN (学習)最適化手法 Adam を使う
111
Hello CNN (学習)インタラクティブセッションなので
proc_initrun() と書ける(先程は sessrun(proc_init) と書いていた)
112
Hello CNN (学習)インタラクティブセッションなので
accuracyeval() と書ける(先程は sessrun(accuracy) と書いていた)
113
Hello CNN (性能評価)
先の単純な NNよりもメモリを使うので一度に全てのテストデータを NN に投入できないdarr分割して精度評価し平均を取る
114
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -CNN-MNIST と入力例 yamamoto-CNN-MNIST
サンプル本体 000-CNN-MNISTipynb
お疲れ様でした115
各自ファイルを持ち帰って下さいbull サーバはこのあと削除しますbull File rarr Download as rarr IPython Notebook
116
117
学生さん向けアナウンスbull 参加頂いた方を勉強会の告知用 ML に登録しますbull ML 経由で次回以降の勉強会のアナウンスをお送りしますbull 興味がなくなったら ML フッターのリンクから
unsubscribe してください
次回予告118
119
次回予告bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会ndash AI 情報共有会
bull 最近の AI系のニュースとかキャッチーな論文の成果を薄く広く紹介する会ndash 社内技術共有会
bull チームラボの最近の案件の技術的に面白い部分について知見を共有する会
ndash 630 の回は学生さん参加 OK
120
630 社内技術共有会bull ライブでのムービングライト制御について服部さんに話をしてもらいますbull teamLab Music Festival (making)
bull 狙った場所に正確に照射するために何をしたのかbull 実演あり
121
次回以降の予定bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会bull 77(木 ) 1900 - 2100 機械学習もくもく会(社内のみ)bull 714(木 ) 1900 - 2100
Deep Learning ハンズオン 2 (予定)bull これらの情報にキャッチアップしたいチームラボの人は
Slack の ai トピックに参加して下さいbull 学生の方は ML からご案内します
- Deep Learningハンズオン 1
- はじめに
- Deep Learning勉強会
- 今回から学生さんを受け入れています
- 今日の目次
- TensorFlow
- ハンズオン1 Jupyter
- Jupyter(旧称 IPython Notebook)
- Hello Jupyter
- Hello Jupyter (2)
- Hello Jupyter (3)
- ハンズオン2 TENSORFLOW入門
- ニューラルネットワーク(復習)
- 活性化関数ReLU関数
- 出力関数softmax関数
- ロス関数
- ドロップアウト
- ドロップアウト (2)
- ドロップアウト (3)
- ドロップアウト (4)
- ニューラルネット復習キーワード
- 数字認識確保する変数は
- 数字認識確保する変数は (2)
- 数字認識確保する変数は (3)
- 数字認識実際の計算
- 結合バイアス
- 結合バイアス (2)
- 結合バイアス (3)
- 数字認識確保する変数は (4)
- 数字認識確保する変数は (5)
- 数字認識確保する変数は (6)
- 数字認識確保する変数は (7)
- 数字認識実際の計算(バイアスあり)
- 数字認識一度に1データを処理
- 数字認識一度に2データを処理
- 数字認識一度に3データを処理
- 数字認識一度にNデータを処理
- 数字認識確保する変数(バッチ学習の場合)
- たくさんのバッチで繰り返し学習
- たくさんのバッチで繰り返し学習 (2)
- たくさんのバッチで繰り返し学習 (3)
- たくさんのバッチで繰り返し学習 (4)
- たくさんのバッチで繰り返し学習 (5)
- たくさんのバッチで繰り返し学習 (6)
- TensorFlowのデータ型
- Hello TensorFlow ( 000-MNISTipynb を開いて)
- Hello TensorFlow
- Hello TensorFlow (2)
- Hello TensorFlow (3)
- Hello TensorFlow (4)
- Hello TensorFlow (5)
- Hello TensorFlow (6)
- Hello TensorFlow (7)
- Hello TensorFlow (8)
- Hello TensorFlow (9)
- Hello TensorFlow (10)
- Hello TensorFlow (11)
- ロス関数もテンソルでモデル化
- ロス関数もテンソルでモデル化 (2)
- クロスエントロピーとは
- Hello TensorFlow (12)
- Hello TensorFlow (13)
- Hello TensorFlow (14)
- Hello TensorFlow (15)
- Hello TensorFlow (16)
- Hello TensorFlow (17)
- Hello TensorFlow (18)
- Hello TensorFlow (19)
- 精度の値もテンソルでモデル化
- 精度の値もテンソルでモデル化 (2)
- Hello TensorFlow (20)
- argmaxで認識結果が得られる
- Hello TensorFlow (21)
- Hello TensorFlow (22)
- Hello TensorFlow (23)
- Hello TensorFlow (24)
- Hello TensorFlow (25)
- フリータイム
- ハンズオン3 CNN
- 畳み込みニューラルネット
- 畳み込みニューラルネット (2)
- 通常のNN
- 入力を整形
- 畳み込みNNのパラメタ
- 畳み込み後の層
- プーリング (2x2)
- CNN全体構成 (13)
- CNN全体構成 (23)
- CNN全体構成 (33)
- CNN全体構成 (33) (2)
- Hello CNN
- Hello CNN (2)
- Hello CNN (3)
- Hello CNN (4)
- Hello CNN(モデル作成)
- Hello CNN(モデル作成) (2)
- Hello CNN(モデル作成) (3)
- Hello CNN(モデル作成) (4)
- Hello CNN(モデル作成) (5)
- Hello CNN(モデル作成) (6)
- Hello CNN(モデル作成) (7)
- Hello CNN(モデル作成) (8)
- Hello CNN(モデル作成) (9)
- Hello CNN(モデル作成) (10)
- Hello CNN(モデル作成) (11)
- Hello CNN(モデル作成) (12)
- Hello CNN(モデル作成) (13)
- Hello CNN(モデル作成) (14)
- Hello CNN(ロス関数)
- Hello CNN(学習)
- Hello CNN(学習) (2)
- Hello CNN(学習) (3)
- Hello CNN(性能評価)
- フリータイム (2)
- お疲れ様でした
- 各自ファイルを持ち帰って下さい
- 学生さん向けアナウンス
- 次回予告
- 次回予告 (2)
- 630 社内技術共有会
- 次回以降の予定
-
CNN全体構成 (23)
88畳み込み 1 後の層(N x 14 x 14 x 32)
5 x 5 x 32
64重みテンソル5 x 5 x 32 x
64バイアス 64
畳み込み 2 プーリング 2
カーネル(1 x 2 x 2 x 1)
畳み込み 2 後の層(N x 7 x 7 x 64)
89
CNN全体構成 (33)
畳み込み 2 後の層(N x 7 x 7 x 64)
整形層(N x 3136)
Nx
3136
識別用の NN につなぐため一列に整形 7 x 7 x 64 =
3136
hellip
隠れ層(N x 1024)
出力層(N x 10)
Nx
1024
Nx
10
重み行列3136 times 1024
重み行列1024 times
10
バイアス102
4
バイアス10
正解
Nx
10
90
CNN全体構成 (33)
畳み込み 2 後の層(N x 7 x 7 x 64)
整形層(N x 3136)
Nx
3136
識別用の NN につなぐため一列に整形 7 x 7 x 64 =
3136
hellip
隠れ層(N x 1024)
出力層(N x 10)
Nx
1024
Nx
10
重み行列1024 times
10
バイアス102
4
バイアス10
正解
Nx
10
1 Dropout率
学習時は Dropout して識別時は Dropout しないrarr Placeholder で確率を変えられるようにする
重み行列3136 times 1024
91
Hello CNN
92
Hello CNN
93
Hello CNN
インタラクティブセッションbull sessrun(処理 ) のかわりに 処理 run() と書けるbull sessrun( テンソル ) のかわりに テンソル eval() と書ける
94
Hello CNN
95
Hello CNN (モデル作成)
96
Hello CNN (モデル作成)
97
Hello CNN (モデル作成)
98
Hello CNN (モデル作成)
99
Hello CNN (モデル作成)
100
Hello CNN (モデル作成)
101
Hello CNN (モデル作成)
102
Hello CNN (モデル作成)
103
Hello CNN (モデル作成)
104
Hello CNN (モデル作成)
105
Hello CNN (モデル作成)
106
Hello CNN (モデル作成)
107
Hello CNN (モデル作成)
108
Hello CNN (モデル作成)
109
Hello CNN (ロス関数)
110
Hello CNN (学習)最適化手法 Adam を使う
111
Hello CNN (学習)インタラクティブセッションなので
proc_initrun() と書ける(先程は sessrun(proc_init) と書いていた)
112
Hello CNN (学習)インタラクティブセッションなので
accuracyeval() と書ける(先程は sessrun(accuracy) と書いていた)
113
Hello CNN (性能評価)
先の単純な NNよりもメモリを使うので一度に全てのテストデータを NN に投入できないdarr分割して精度評価し平均を取る
114
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -CNN-MNIST と入力例 yamamoto-CNN-MNIST
サンプル本体 000-CNN-MNISTipynb
お疲れ様でした115
各自ファイルを持ち帰って下さいbull サーバはこのあと削除しますbull File rarr Download as rarr IPython Notebook
116
117
学生さん向けアナウンスbull 参加頂いた方を勉強会の告知用 ML に登録しますbull ML 経由で次回以降の勉強会のアナウンスをお送りしますbull 興味がなくなったら ML フッターのリンクから
unsubscribe してください
次回予告118
119
次回予告bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会ndash AI 情報共有会
bull 最近の AI系のニュースとかキャッチーな論文の成果を薄く広く紹介する会ndash 社内技術共有会
bull チームラボの最近の案件の技術的に面白い部分について知見を共有する会
ndash 630 の回は学生さん参加 OK
120
630 社内技術共有会bull ライブでのムービングライト制御について服部さんに話をしてもらいますbull teamLab Music Festival (making)
bull 狙った場所に正確に照射するために何をしたのかbull 実演あり
121
次回以降の予定bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会bull 77(木 ) 1900 - 2100 機械学習もくもく会(社内のみ)bull 714(木 ) 1900 - 2100
Deep Learning ハンズオン 2 (予定)bull これらの情報にキャッチアップしたいチームラボの人は
Slack の ai トピックに参加して下さいbull 学生の方は ML からご案内します
- Deep Learningハンズオン 1
- はじめに
- Deep Learning勉強会
- 今回から学生さんを受け入れています
- 今日の目次
- TensorFlow
- ハンズオン1 Jupyter
- Jupyter(旧称 IPython Notebook)
- Hello Jupyter
- Hello Jupyter (2)
- Hello Jupyter (3)
- ハンズオン2 TENSORFLOW入門
- ニューラルネットワーク(復習)
- 活性化関数ReLU関数
- 出力関数softmax関数
- ロス関数
- ドロップアウト
- ドロップアウト (2)
- ドロップアウト (3)
- ドロップアウト (4)
- ニューラルネット復習キーワード
- 数字認識確保する変数は
- 数字認識確保する変数は (2)
- 数字認識確保する変数は (3)
- 数字認識実際の計算
- 結合バイアス
- 結合バイアス (2)
- 結合バイアス (3)
- 数字認識確保する変数は (4)
- 数字認識確保する変数は (5)
- 数字認識確保する変数は (6)
- 数字認識確保する変数は (7)
- 数字認識実際の計算(バイアスあり)
- 数字認識一度に1データを処理
- 数字認識一度に2データを処理
- 数字認識一度に3データを処理
- 数字認識一度にNデータを処理
- 数字認識確保する変数(バッチ学習の場合)
- たくさんのバッチで繰り返し学習
- たくさんのバッチで繰り返し学習 (2)
- たくさんのバッチで繰り返し学習 (3)
- たくさんのバッチで繰り返し学習 (4)
- たくさんのバッチで繰り返し学習 (5)
- たくさんのバッチで繰り返し学習 (6)
- TensorFlowのデータ型
- Hello TensorFlow ( 000-MNISTipynb を開いて)
- Hello TensorFlow
- Hello TensorFlow (2)
- Hello TensorFlow (3)
- Hello TensorFlow (4)
- Hello TensorFlow (5)
- Hello TensorFlow (6)
- Hello TensorFlow (7)
- Hello TensorFlow (8)
- Hello TensorFlow (9)
- Hello TensorFlow (10)
- Hello TensorFlow (11)
- ロス関数もテンソルでモデル化
- ロス関数もテンソルでモデル化 (2)
- クロスエントロピーとは
- Hello TensorFlow (12)
- Hello TensorFlow (13)
- Hello TensorFlow (14)
- Hello TensorFlow (15)
- Hello TensorFlow (16)
- Hello TensorFlow (17)
- Hello TensorFlow (18)
- Hello TensorFlow (19)
- 精度の値もテンソルでモデル化
- 精度の値もテンソルでモデル化 (2)
- Hello TensorFlow (20)
- argmaxで認識結果が得られる
- Hello TensorFlow (21)
- Hello TensorFlow (22)
- Hello TensorFlow (23)
- Hello TensorFlow (24)
- Hello TensorFlow (25)
- フリータイム
- ハンズオン3 CNN
- 畳み込みニューラルネット
- 畳み込みニューラルネット (2)
- 通常のNN
- 入力を整形
- 畳み込みNNのパラメタ
- 畳み込み後の層
- プーリング (2x2)
- CNN全体構成 (13)
- CNN全体構成 (23)
- CNN全体構成 (33)
- CNN全体構成 (33) (2)
- Hello CNN
- Hello CNN (2)
- Hello CNN (3)
- Hello CNN (4)
- Hello CNN(モデル作成)
- Hello CNN(モデル作成) (2)
- Hello CNN(モデル作成) (3)
- Hello CNN(モデル作成) (4)
- Hello CNN(モデル作成) (5)
- Hello CNN(モデル作成) (6)
- Hello CNN(モデル作成) (7)
- Hello CNN(モデル作成) (8)
- Hello CNN(モデル作成) (9)
- Hello CNN(モデル作成) (10)
- Hello CNN(モデル作成) (11)
- Hello CNN(モデル作成) (12)
- Hello CNN(モデル作成) (13)
- Hello CNN(モデル作成) (14)
- Hello CNN(ロス関数)
- Hello CNN(学習)
- Hello CNN(学習) (2)
- Hello CNN(学習) (3)
- Hello CNN(性能評価)
- フリータイム (2)
- お疲れ様でした
- 各自ファイルを持ち帰って下さい
- 学生さん向けアナウンス
- 次回予告
- 次回予告 (2)
- 630 社内技術共有会
- 次回以降の予定
-
89
CNN全体構成 (33)
畳み込み 2 後の層(N x 7 x 7 x 64)
整形層(N x 3136)
Nx
3136
識別用の NN につなぐため一列に整形 7 x 7 x 64 =
3136
hellip
隠れ層(N x 1024)
出力層(N x 10)
Nx
1024
Nx
10
重み行列3136 times 1024
重み行列1024 times
10
バイアス102
4
バイアス10
正解
Nx
10
90
CNN全体構成 (33)
畳み込み 2 後の層(N x 7 x 7 x 64)
整形層(N x 3136)
Nx
3136
識別用の NN につなぐため一列に整形 7 x 7 x 64 =
3136
hellip
隠れ層(N x 1024)
出力層(N x 10)
Nx
1024
Nx
10
重み行列1024 times
10
バイアス102
4
バイアス10
正解
Nx
10
1 Dropout率
学習時は Dropout して識別時は Dropout しないrarr Placeholder で確率を変えられるようにする
重み行列3136 times 1024
91
Hello CNN
92
Hello CNN
93
Hello CNN
インタラクティブセッションbull sessrun(処理 ) のかわりに 処理 run() と書けるbull sessrun( テンソル ) のかわりに テンソル eval() と書ける
94
Hello CNN
95
Hello CNN (モデル作成)
96
Hello CNN (モデル作成)
97
Hello CNN (モデル作成)
98
Hello CNN (モデル作成)
99
Hello CNN (モデル作成)
100
Hello CNN (モデル作成)
101
Hello CNN (モデル作成)
102
Hello CNN (モデル作成)
103
Hello CNN (モデル作成)
104
Hello CNN (モデル作成)
105
Hello CNN (モデル作成)
106
Hello CNN (モデル作成)
107
Hello CNN (モデル作成)
108
Hello CNN (モデル作成)
109
Hello CNN (ロス関数)
110
Hello CNN (学習)最適化手法 Adam を使う
111
Hello CNN (学習)インタラクティブセッションなので
proc_initrun() と書ける(先程は sessrun(proc_init) と書いていた)
112
Hello CNN (学習)インタラクティブセッションなので
accuracyeval() と書ける(先程は sessrun(accuracy) と書いていた)
113
Hello CNN (性能評価)
先の単純な NNよりもメモリを使うので一度に全てのテストデータを NN に投入できないdarr分割して精度評価し平均を取る
114
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -CNN-MNIST と入力例 yamamoto-CNN-MNIST
サンプル本体 000-CNN-MNISTipynb
お疲れ様でした115
各自ファイルを持ち帰って下さいbull サーバはこのあと削除しますbull File rarr Download as rarr IPython Notebook
116
117
学生さん向けアナウンスbull 参加頂いた方を勉強会の告知用 ML に登録しますbull ML 経由で次回以降の勉強会のアナウンスをお送りしますbull 興味がなくなったら ML フッターのリンクから
unsubscribe してください
次回予告118
119
次回予告bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会ndash AI 情報共有会
bull 最近の AI系のニュースとかキャッチーな論文の成果を薄く広く紹介する会ndash 社内技術共有会
bull チームラボの最近の案件の技術的に面白い部分について知見を共有する会
ndash 630 の回は学生さん参加 OK
120
630 社内技術共有会bull ライブでのムービングライト制御について服部さんに話をしてもらいますbull teamLab Music Festival (making)
bull 狙った場所に正確に照射するために何をしたのかbull 実演あり
121
次回以降の予定bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会bull 77(木 ) 1900 - 2100 機械学習もくもく会(社内のみ)bull 714(木 ) 1900 - 2100
Deep Learning ハンズオン 2 (予定)bull これらの情報にキャッチアップしたいチームラボの人は
Slack の ai トピックに参加して下さいbull 学生の方は ML からご案内します
- Deep Learningハンズオン 1
- はじめに
- Deep Learning勉強会
- 今回から学生さんを受け入れています
- 今日の目次
- TensorFlow
- ハンズオン1 Jupyter
- Jupyter(旧称 IPython Notebook)
- Hello Jupyter
- Hello Jupyter (2)
- Hello Jupyter (3)
- ハンズオン2 TENSORFLOW入門
- ニューラルネットワーク(復習)
- 活性化関数ReLU関数
- 出力関数softmax関数
- ロス関数
- ドロップアウト
- ドロップアウト (2)
- ドロップアウト (3)
- ドロップアウト (4)
- ニューラルネット復習キーワード
- 数字認識確保する変数は
- 数字認識確保する変数は (2)
- 数字認識確保する変数は (3)
- 数字認識実際の計算
- 結合バイアス
- 結合バイアス (2)
- 結合バイアス (3)
- 数字認識確保する変数は (4)
- 数字認識確保する変数は (5)
- 数字認識確保する変数は (6)
- 数字認識確保する変数は (7)
- 数字認識実際の計算(バイアスあり)
- 数字認識一度に1データを処理
- 数字認識一度に2データを処理
- 数字認識一度に3データを処理
- 数字認識一度にNデータを処理
- 数字認識確保する変数(バッチ学習の場合)
- たくさんのバッチで繰り返し学習
- たくさんのバッチで繰り返し学習 (2)
- たくさんのバッチで繰り返し学習 (3)
- たくさんのバッチで繰り返し学習 (4)
- たくさんのバッチで繰り返し学習 (5)
- たくさんのバッチで繰り返し学習 (6)
- TensorFlowのデータ型
- Hello TensorFlow ( 000-MNISTipynb を開いて)
- Hello TensorFlow
- Hello TensorFlow (2)
- Hello TensorFlow (3)
- Hello TensorFlow (4)
- Hello TensorFlow (5)
- Hello TensorFlow (6)
- Hello TensorFlow (7)
- Hello TensorFlow (8)
- Hello TensorFlow (9)
- Hello TensorFlow (10)
- Hello TensorFlow (11)
- ロス関数もテンソルでモデル化
- ロス関数もテンソルでモデル化 (2)
- クロスエントロピーとは
- Hello TensorFlow (12)
- Hello TensorFlow (13)
- Hello TensorFlow (14)
- Hello TensorFlow (15)
- Hello TensorFlow (16)
- Hello TensorFlow (17)
- Hello TensorFlow (18)
- Hello TensorFlow (19)
- 精度の値もテンソルでモデル化
- 精度の値もテンソルでモデル化 (2)
- Hello TensorFlow (20)
- argmaxで認識結果が得られる
- Hello TensorFlow (21)
- Hello TensorFlow (22)
- Hello TensorFlow (23)
- Hello TensorFlow (24)
- Hello TensorFlow (25)
- フリータイム
- ハンズオン3 CNN
- 畳み込みニューラルネット
- 畳み込みニューラルネット (2)
- 通常のNN
- 入力を整形
- 畳み込みNNのパラメタ
- 畳み込み後の層
- プーリング (2x2)
- CNN全体構成 (13)
- CNN全体構成 (23)
- CNN全体構成 (33)
- CNN全体構成 (33) (2)
- Hello CNN
- Hello CNN (2)
- Hello CNN (3)
- Hello CNN (4)
- Hello CNN(モデル作成)
- Hello CNN(モデル作成) (2)
- Hello CNN(モデル作成) (3)
- Hello CNN(モデル作成) (4)
- Hello CNN(モデル作成) (5)
- Hello CNN(モデル作成) (6)
- Hello CNN(モデル作成) (7)
- Hello CNN(モデル作成) (8)
- Hello CNN(モデル作成) (9)
- Hello CNN(モデル作成) (10)
- Hello CNN(モデル作成) (11)
- Hello CNN(モデル作成) (12)
- Hello CNN(モデル作成) (13)
- Hello CNN(モデル作成) (14)
- Hello CNN(ロス関数)
- Hello CNN(学習)
- Hello CNN(学習) (2)
- Hello CNN(学習) (3)
- Hello CNN(性能評価)
- フリータイム (2)
- お疲れ様でした
- 各自ファイルを持ち帰って下さい
- 学生さん向けアナウンス
- 次回予告
- 次回予告 (2)
- 630 社内技術共有会
- 次回以降の予定
-
90
CNN全体構成 (33)
畳み込み 2 後の層(N x 7 x 7 x 64)
整形層(N x 3136)
Nx
3136
識別用の NN につなぐため一列に整形 7 x 7 x 64 =
3136
hellip
隠れ層(N x 1024)
出力層(N x 10)
Nx
1024
Nx
10
重み行列1024 times
10
バイアス102
4
バイアス10
正解
Nx
10
1 Dropout率
学習時は Dropout して識別時は Dropout しないrarr Placeholder で確率を変えられるようにする
重み行列3136 times 1024
91
Hello CNN
92
Hello CNN
93
Hello CNN
インタラクティブセッションbull sessrun(処理 ) のかわりに 処理 run() と書けるbull sessrun( テンソル ) のかわりに テンソル eval() と書ける
94
Hello CNN
95
Hello CNN (モデル作成)
96
Hello CNN (モデル作成)
97
Hello CNN (モデル作成)
98
Hello CNN (モデル作成)
99
Hello CNN (モデル作成)
100
Hello CNN (モデル作成)
101
Hello CNN (モデル作成)
102
Hello CNN (モデル作成)
103
Hello CNN (モデル作成)
104
Hello CNN (モデル作成)
105
Hello CNN (モデル作成)
106
Hello CNN (モデル作成)
107
Hello CNN (モデル作成)
108
Hello CNN (モデル作成)
109
Hello CNN (ロス関数)
110
Hello CNN (学習)最適化手法 Adam を使う
111
Hello CNN (学習)インタラクティブセッションなので
proc_initrun() と書ける(先程は sessrun(proc_init) と書いていた)
112
Hello CNN (学習)インタラクティブセッションなので
accuracyeval() と書ける(先程は sessrun(accuracy) と書いていた)
113
Hello CNN (性能評価)
先の単純な NNよりもメモリを使うので一度に全てのテストデータを NN に投入できないdarr分割して精度評価し平均を取る
114
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -CNN-MNIST と入力例 yamamoto-CNN-MNIST
サンプル本体 000-CNN-MNISTipynb
お疲れ様でした115
各自ファイルを持ち帰って下さいbull サーバはこのあと削除しますbull File rarr Download as rarr IPython Notebook
116
117
学生さん向けアナウンスbull 参加頂いた方を勉強会の告知用 ML に登録しますbull ML 経由で次回以降の勉強会のアナウンスをお送りしますbull 興味がなくなったら ML フッターのリンクから
unsubscribe してください
次回予告118
119
次回予告bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会ndash AI 情報共有会
bull 最近の AI系のニュースとかキャッチーな論文の成果を薄く広く紹介する会ndash 社内技術共有会
bull チームラボの最近の案件の技術的に面白い部分について知見を共有する会
ndash 630 の回は学生さん参加 OK
120
630 社内技術共有会bull ライブでのムービングライト制御について服部さんに話をしてもらいますbull teamLab Music Festival (making)
bull 狙った場所に正確に照射するために何をしたのかbull 実演あり
121
次回以降の予定bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会bull 77(木 ) 1900 - 2100 機械学習もくもく会(社内のみ)bull 714(木 ) 1900 - 2100
Deep Learning ハンズオン 2 (予定)bull これらの情報にキャッチアップしたいチームラボの人は
Slack の ai トピックに参加して下さいbull 学生の方は ML からご案内します
- Deep Learningハンズオン 1
- はじめに
- Deep Learning勉強会
- 今回から学生さんを受け入れています
- 今日の目次
- TensorFlow
- ハンズオン1 Jupyter
- Jupyter(旧称 IPython Notebook)
- Hello Jupyter
- Hello Jupyter (2)
- Hello Jupyter (3)
- ハンズオン2 TENSORFLOW入門
- ニューラルネットワーク(復習)
- 活性化関数ReLU関数
- 出力関数softmax関数
- ロス関数
- ドロップアウト
- ドロップアウト (2)
- ドロップアウト (3)
- ドロップアウト (4)
- ニューラルネット復習キーワード
- 数字認識確保する変数は
- 数字認識確保する変数は (2)
- 数字認識確保する変数は (3)
- 数字認識実際の計算
- 結合バイアス
- 結合バイアス (2)
- 結合バイアス (3)
- 数字認識確保する変数は (4)
- 数字認識確保する変数は (5)
- 数字認識確保する変数は (6)
- 数字認識確保する変数は (7)
- 数字認識実際の計算(バイアスあり)
- 数字認識一度に1データを処理
- 数字認識一度に2データを処理
- 数字認識一度に3データを処理
- 数字認識一度にNデータを処理
- 数字認識確保する変数(バッチ学習の場合)
- たくさんのバッチで繰り返し学習
- たくさんのバッチで繰り返し学習 (2)
- たくさんのバッチで繰り返し学習 (3)
- たくさんのバッチで繰り返し学習 (4)
- たくさんのバッチで繰り返し学習 (5)
- たくさんのバッチで繰り返し学習 (6)
- TensorFlowのデータ型
- Hello TensorFlow ( 000-MNISTipynb を開いて)
- Hello TensorFlow
- Hello TensorFlow (2)
- Hello TensorFlow (3)
- Hello TensorFlow (4)
- Hello TensorFlow (5)
- Hello TensorFlow (6)
- Hello TensorFlow (7)
- Hello TensorFlow (8)
- Hello TensorFlow (9)
- Hello TensorFlow (10)
- Hello TensorFlow (11)
- ロス関数もテンソルでモデル化
- ロス関数もテンソルでモデル化 (2)
- クロスエントロピーとは
- Hello TensorFlow (12)
- Hello TensorFlow (13)
- Hello TensorFlow (14)
- Hello TensorFlow (15)
- Hello TensorFlow (16)
- Hello TensorFlow (17)
- Hello TensorFlow (18)
- Hello TensorFlow (19)
- 精度の値もテンソルでモデル化
- 精度の値もテンソルでモデル化 (2)
- Hello TensorFlow (20)
- argmaxで認識結果が得られる
- Hello TensorFlow (21)
- Hello TensorFlow (22)
- Hello TensorFlow (23)
- Hello TensorFlow (24)
- Hello TensorFlow (25)
- フリータイム
- ハンズオン3 CNN
- 畳み込みニューラルネット
- 畳み込みニューラルネット (2)
- 通常のNN
- 入力を整形
- 畳み込みNNのパラメタ
- 畳み込み後の層
- プーリング (2x2)
- CNN全体構成 (13)
- CNN全体構成 (23)
- CNN全体構成 (33)
- CNN全体構成 (33) (2)
- Hello CNN
- Hello CNN (2)
- Hello CNN (3)
- Hello CNN (4)
- Hello CNN(モデル作成)
- Hello CNN(モデル作成) (2)
- Hello CNN(モデル作成) (3)
- Hello CNN(モデル作成) (4)
- Hello CNN(モデル作成) (5)
- Hello CNN(モデル作成) (6)
- Hello CNN(モデル作成) (7)
- Hello CNN(モデル作成) (8)
- Hello CNN(モデル作成) (9)
- Hello CNN(モデル作成) (10)
- Hello CNN(モデル作成) (11)
- Hello CNN(モデル作成) (12)
- Hello CNN(モデル作成) (13)
- Hello CNN(モデル作成) (14)
- Hello CNN(ロス関数)
- Hello CNN(学習)
- Hello CNN(学習) (2)
- Hello CNN(学習) (3)
- Hello CNN(性能評価)
- フリータイム (2)
- お疲れ様でした
- 各自ファイルを持ち帰って下さい
- 学生さん向けアナウンス
- 次回予告
- 次回予告 (2)
- 630 社内技術共有会
- 次回以降の予定
-
91
Hello CNN
92
Hello CNN
93
Hello CNN
インタラクティブセッションbull sessrun(処理 ) のかわりに 処理 run() と書けるbull sessrun( テンソル ) のかわりに テンソル eval() と書ける
94
Hello CNN
95
Hello CNN (モデル作成)
96
Hello CNN (モデル作成)
97
Hello CNN (モデル作成)
98
Hello CNN (モデル作成)
99
Hello CNN (モデル作成)
100
Hello CNN (モデル作成)
101
Hello CNN (モデル作成)
102
Hello CNN (モデル作成)
103
Hello CNN (モデル作成)
104
Hello CNN (モデル作成)
105
Hello CNN (モデル作成)
106
Hello CNN (モデル作成)
107
Hello CNN (モデル作成)
108
Hello CNN (モデル作成)
109
Hello CNN (ロス関数)
110
Hello CNN (学習)最適化手法 Adam を使う
111
Hello CNN (学習)インタラクティブセッションなので
proc_initrun() と書ける(先程は sessrun(proc_init) と書いていた)
112
Hello CNN (学習)インタラクティブセッションなので
accuracyeval() と書ける(先程は sessrun(accuracy) と書いていた)
113
Hello CNN (性能評価)
先の単純な NNよりもメモリを使うので一度に全てのテストデータを NN に投入できないdarr分割して精度評価し平均を取る
114
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -CNN-MNIST と入力例 yamamoto-CNN-MNIST
サンプル本体 000-CNN-MNISTipynb
お疲れ様でした115
各自ファイルを持ち帰って下さいbull サーバはこのあと削除しますbull File rarr Download as rarr IPython Notebook
116
117
学生さん向けアナウンスbull 参加頂いた方を勉強会の告知用 ML に登録しますbull ML 経由で次回以降の勉強会のアナウンスをお送りしますbull 興味がなくなったら ML フッターのリンクから
unsubscribe してください
次回予告118
119
次回予告bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会ndash AI 情報共有会
bull 最近の AI系のニュースとかキャッチーな論文の成果を薄く広く紹介する会ndash 社内技術共有会
bull チームラボの最近の案件の技術的に面白い部分について知見を共有する会
ndash 630 の回は学生さん参加 OK
120
630 社内技術共有会bull ライブでのムービングライト制御について服部さんに話をしてもらいますbull teamLab Music Festival (making)
bull 狙った場所に正確に照射するために何をしたのかbull 実演あり
121
次回以降の予定bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会bull 77(木 ) 1900 - 2100 機械学習もくもく会(社内のみ)bull 714(木 ) 1900 - 2100
Deep Learning ハンズオン 2 (予定)bull これらの情報にキャッチアップしたいチームラボの人は
Slack の ai トピックに参加して下さいbull 学生の方は ML からご案内します
- Deep Learningハンズオン 1
- はじめに
- Deep Learning勉強会
- 今回から学生さんを受け入れています
- 今日の目次
- TensorFlow
- ハンズオン1 Jupyter
- Jupyter(旧称 IPython Notebook)
- Hello Jupyter
- Hello Jupyter (2)
- Hello Jupyter (3)
- ハンズオン2 TENSORFLOW入門
- ニューラルネットワーク(復習)
- 活性化関数ReLU関数
- 出力関数softmax関数
- ロス関数
- ドロップアウト
- ドロップアウト (2)
- ドロップアウト (3)
- ドロップアウト (4)
- ニューラルネット復習キーワード
- 数字認識確保する変数は
- 数字認識確保する変数は (2)
- 数字認識確保する変数は (3)
- 数字認識実際の計算
- 結合バイアス
- 結合バイアス (2)
- 結合バイアス (3)
- 数字認識確保する変数は (4)
- 数字認識確保する変数は (5)
- 数字認識確保する変数は (6)
- 数字認識確保する変数は (7)
- 数字認識実際の計算(バイアスあり)
- 数字認識一度に1データを処理
- 数字認識一度に2データを処理
- 数字認識一度に3データを処理
- 数字認識一度にNデータを処理
- 数字認識確保する変数(バッチ学習の場合)
- たくさんのバッチで繰り返し学習
- たくさんのバッチで繰り返し学習 (2)
- たくさんのバッチで繰り返し学習 (3)
- たくさんのバッチで繰り返し学習 (4)
- たくさんのバッチで繰り返し学習 (5)
- たくさんのバッチで繰り返し学習 (6)
- TensorFlowのデータ型
- Hello TensorFlow ( 000-MNISTipynb を開いて)
- Hello TensorFlow
- Hello TensorFlow (2)
- Hello TensorFlow (3)
- Hello TensorFlow (4)
- Hello TensorFlow (5)
- Hello TensorFlow (6)
- Hello TensorFlow (7)
- Hello TensorFlow (8)
- Hello TensorFlow (9)
- Hello TensorFlow (10)
- Hello TensorFlow (11)
- ロス関数もテンソルでモデル化
- ロス関数もテンソルでモデル化 (2)
- クロスエントロピーとは
- Hello TensorFlow (12)
- Hello TensorFlow (13)
- Hello TensorFlow (14)
- Hello TensorFlow (15)
- Hello TensorFlow (16)
- Hello TensorFlow (17)
- Hello TensorFlow (18)
- Hello TensorFlow (19)
- 精度の値もテンソルでモデル化
- 精度の値もテンソルでモデル化 (2)
- Hello TensorFlow (20)
- argmaxで認識結果が得られる
- Hello TensorFlow (21)
- Hello TensorFlow (22)
- Hello TensorFlow (23)
- Hello TensorFlow (24)
- Hello TensorFlow (25)
- フリータイム
- ハンズオン3 CNN
- 畳み込みニューラルネット
- 畳み込みニューラルネット (2)
- 通常のNN
- 入力を整形
- 畳み込みNNのパラメタ
- 畳み込み後の層
- プーリング (2x2)
- CNN全体構成 (13)
- CNN全体構成 (23)
- CNN全体構成 (33)
- CNN全体構成 (33) (2)
- Hello CNN
- Hello CNN (2)
- Hello CNN (3)
- Hello CNN (4)
- Hello CNN(モデル作成)
- Hello CNN(モデル作成) (2)
- Hello CNN(モデル作成) (3)
- Hello CNN(モデル作成) (4)
- Hello CNN(モデル作成) (5)
- Hello CNN(モデル作成) (6)
- Hello CNN(モデル作成) (7)
- Hello CNN(モデル作成) (8)
- Hello CNN(モデル作成) (9)
- Hello CNN(モデル作成) (10)
- Hello CNN(モデル作成) (11)
- Hello CNN(モデル作成) (12)
- Hello CNN(モデル作成) (13)
- Hello CNN(モデル作成) (14)
- Hello CNN(ロス関数)
- Hello CNN(学習)
- Hello CNN(学習) (2)
- Hello CNN(学習) (3)
- Hello CNN(性能評価)
- フリータイム (2)
- お疲れ様でした
- 各自ファイルを持ち帰って下さい
- 学生さん向けアナウンス
- 次回予告
- 次回予告 (2)
- 630 社内技術共有会
- 次回以降の予定
-
92
Hello CNN
93
Hello CNN
インタラクティブセッションbull sessrun(処理 ) のかわりに 処理 run() と書けるbull sessrun( テンソル ) のかわりに テンソル eval() と書ける
94
Hello CNN
95
Hello CNN (モデル作成)
96
Hello CNN (モデル作成)
97
Hello CNN (モデル作成)
98
Hello CNN (モデル作成)
99
Hello CNN (モデル作成)
100
Hello CNN (モデル作成)
101
Hello CNN (モデル作成)
102
Hello CNN (モデル作成)
103
Hello CNN (モデル作成)
104
Hello CNN (モデル作成)
105
Hello CNN (モデル作成)
106
Hello CNN (モデル作成)
107
Hello CNN (モデル作成)
108
Hello CNN (モデル作成)
109
Hello CNN (ロス関数)
110
Hello CNN (学習)最適化手法 Adam を使う
111
Hello CNN (学習)インタラクティブセッションなので
proc_initrun() と書ける(先程は sessrun(proc_init) と書いていた)
112
Hello CNN (学習)インタラクティブセッションなので
accuracyeval() と書ける(先程は sessrun(accuracy) と書いていた)
113
Hello CNN (性能評価)
先の単純な NNよりもメモリを使うので一度に全てのテストデータを NN に投入できないdarr分割して精度評価し平均を取る
114
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -CNN-MNIST と入力例 yamamoto-CNN-MNIST
サンプル本体 000-CNN-MNISTipynb
お疲れ様でした115
各自ファイルを持ち帰って下さいbull サーバはこのあと削除しますbull File rarr Download as rarr IPython Notebook
116
117
学生さん向けアナウンスbull 参加頂いた方を勉強会の告知用 ML に登録しますbull ML 経由で次回以降の勉強会のアナウンスをお送りしますbull 興味がなくなったら ML フッターのリンクから
unsubscribe してください
次回予告118
119
次回予告bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会ndash AI 情報共有会
bull 最近の AI系のニュースとかキャッチーな論文の成果を薄く広く紹介する会ndash 社内技術共有会
bull チームラボの最近の案件の技術的に面白い部分について知見を共有する会
ndash 630 の回は学生さん参加 OK
120
630 社内技術共有会bull ライブでのムービングライト制御について服部さんに話をしてもらいますbull teamLab Music Festival (making)
bull 狙った場所に正確に照射するために何をしたのかbull 実演あり
121
次回以降の予定bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会bull 77(木 ) 1900 - 2100 機械学習もくもく会(社内のみ)bull 714(木 ) 1900 - 2100
Deep Learning ハンズオン 2 (予定)bull これらの情報にキャッチアップしたいチームラボの人は
Slack の ai トピックに参加して下さいbull 学生の方は ML からご案内します
- Deep Learningハンズオン 1
- はじめに
- Deep Learning勉強会
- 今回から学生さんを受け入れています
- 今日の目次
- TensorFlow
- ハンズオン1 Jupyter
- Jupyter(旧称 IPython Notebook)
- Hello Jupyter
- Hello Jupyter (2)
- Hello Jupyter (3)
- ハンズオン2 TENSORFLOW入門
- ニューラルネットワーク(復習)
- 活性化関数ReLU関数
- 出力関数softmax関数
- ロス関数
- ドロップアウト
- ドロップアウト (2)
- ドロップアウト (3)
- ドロップアウト (4)
- ニューラルネット復習キーワード
- 数字認識確保する変数は
- 数字認識確保する変数は (2)
- 数字認識確保する変数は (3)
- 数字認識実際の計算
- 結合バイアス
- 結合バイアス (2)
- 結合バイアス (3)
- 数字認識確保する変数は (4)
- 数字認識確保する変数は (5)
- 数字認識確保する変数は (6)
- 数字認識確保する変数は (7)
- 数字認識実際の計算(バイアスあり)
- 数字認識一度に1データを処理
- 数字認識一度に2データを処理
- 数字認識一度に3データを処理
- 数字認識一度にNデータを処理
- 数字認識確保する変数(バッチ学習の場合)
- たくさんのバッチで繰り返し学習
- たくさんのバッチで繰り返し学習 (2)
- たくさんのバッチで繰り返し学習 (3)
- たくさんのバッチで繰り返し学習 (4)
- たくさんのバッチで繰り返し学習 (5)
- たくさんのバッチで繰り返し学習 (6)
- TensorFlowのデータ型
- Hello TensorFlow ( 000-MNISTipynb を開いて)
- Hello TensorFlow
- Hello TensorFlow (2)
- Hello TensorFlow (3)
- Hello TensorFlow (4)
- Hello TensorFlow (5)
- Hello TensorFlow (6)
- Hello TensorFlow (7)
- Hello TensorFlow (8)
- Hello TensorFlow (9)
- Hello TensorFlow (10)
- Hello TensorFlow (11)
- ロス関数もテンソルでモデル化
- ロス関数もテンソルでモデル化 (2)
- クロスエントロピーとは
- Hello TensorFlow (12)
- Hello TensorFlow (13)
- Hello TensorFlow (14)
- Hello TensorFlow (15)
- Hello TensorFlow (16)
- Hello TensorFlow (17)
- Hello TensorFlow (18)
- Hello TensorFlow (19)
- 精度の値もテンソルでモデル化
- 精度の値もテンソルでモデル化 (2)
- Hello TensorFlow (20)
- argmaxで認識結果が得られる
- Hello TensorFlow (21)
- Hello TensorFlow (22)
- Hello TensorFlow (23)
- Hello TensorFlow (24)
- Hello TensorFlow (25)
- フリータイム
- ハンズオン3 CNN
- 畳み込みニューラルネット
- 畳み込みニューラルネット (2)
- 通常のNN
- 入力を整形
- 畳み込みNNのパラメタ
- 畳み込み後の層
- プーリング (2x2)
- CNN全体構成 (13)
- CNN全体構成 (23)
- CNN全体構成 (33)
- CNN全体構成 (33) (2)
- Hello CNN
- Hello CNN (2)
- Hello CNN (3)
- Hello CNN (4)
- Hello CNN(モデル作成)
- Hello CNN(モデル作成) (2)
- Hello CNN(モデル作成) (3)
- Hello CNN(モデル作成) (4)
- Hello CNN(モデル作成) (5)
- Hello CNN(モデル作成) (6)
- Hello CNN(モデル作成) (7)
- Hello CNN(モデル作成) (8)
- Hello CNN(モデル作成) (9)
- Hello CNN(モデル作成) (10)
- Hello CNN(モデル作成) (11)
- Hello CNN(モデル作成) (12)
- Hello CNN(モデル作成) (13)
- Hello CNN(モデル作成) (14)
- Hello CNN(ロス関数)
- Hello CNN(学習)
- Hello CNN(学習) (2)
- Hello CNN(学習) (3)
- Hello CNN(性能評価)
- フリータイム (2)
- お疲れ様でした
- 各自ファイルを持ち帰って下さい
- 学生さん向けアナウンス
- 次回予告
- 次回予告 (2)
- 630 社内技術共有会
- 次回以降の予定
-
93
Hello CNN
インタラクティブセッションbull sessrun(処理 ) のかわりに 処理 run() と書けるbull sessrun( テンソル ) のかわりに テンソル eval() と書ける
94
Hello CNN
95
Hello CNN (モデル作成)
96
Hello CNN (モデル作成)
97
Hello CNN (モデル作成)
98
Hello CNN (モデル作成)
99
Hello CNN (モデル作成)
100
Hello CNN (モデル作成)
101
Hello CNN (モデル作成)
102
Hello CNN (モデル作成)
103
Hello CNN (モデル作成)
104
Hello CNN (モデル作成)
105
Hello CNN (モデル作成)
106
Hello CNN (モデル作成)
107
Hello CNN (モデル作成)
108
Hello CNN (モデル作成)
109
Hello CNN (ロス関数)
110
Hello CNN (学習)最適化手法 Adam を使う
111
Hello CNN (学習)インタラクティブセッションなので
proc_initrun() と書ける(先程は sessrun(proc_init) と書いていた)
112
Hello CNN (学習)インタラクティブセッションなので
accuracyeval() と書ける(先程は sessrun(accuracy) と書いていた)
113
Hello CNN (性能評価)
先の単純な NNよりもメモリを使うので一度に全てのテストデータを NN に投入できないdarr分割して精度評価し平均を取る
114
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -CNN-MNIST と入力例 yamamoto-CNN-MNIST
サンプル本体 000-CNN-MNISTipynb
お疲れ様でした115
各自ファイルを持ち帰って下さいbull サーバはこのあと削除しますbull File rarr Download as rarr IPython Notebook
116
117
学生さん向けアナウンスbull 参加頂いた方を勉強会の告知用 ML に登録しますbull ML 経由で次回以降の勉強会のアナウンスをお送りしますbull 興味がなくなったら ML フッターのリンクから
unsubscribe してください
次回予告118
119
次回予告bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会ndash AI 情報共有会
bull 最近の AI系のニュースとかキャッチーな論文の成果を薄く広く紹介する会ndash 社内技術共有会
bull チームラボの最近の案件の技術的に面白い部分について知見を共有する会
ndash 630 の回は学生さん参加 OK
120
630 社内技術共有会bull ライブでのムービングライト制御について服部さんに話をしてもらいますbull teamLab Music Festival (making)
bull 狙った場所に正確に照射するために何をしたのかbull 実演あり
121
次回以降の予定bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会bull 77(木 ) 1900 - 2100 機械学習もくもく会(社内のみ)bull 714(木 ) 1900 - 2100
Deep Learning ハンズオン 2 (予定)bull これらの情報にキャッチアップしたいチームラボの人は
Slack の ai トピックに参加して下さいbull 学生の方は ML からご案内します
- Deep Learningハンズオン 1
- はじめに
- Deep Learning勉強会
- 今回から学生さんを受け入れています
- 今日の目次
- TensorFlow
- ハンズオン1 Jupyter
- Jupyter(旧称 IPython Notebook)
- Hello Jupyter
- Hello Jupyter (2)
- Hello Jupyter (3)
- ハンズオン2 TENSORFLOW入門
- ニューラルネットワーク(復習)
- 活性化関数ReLU関数
- 出力関数softmax関数
- ロス関数
- ドロップアウト
- ドロップアウト (2)
- ドロップアウト (3)
- ドロップアウト (4)
- ニューラルネット復習キーワード
- 数字認識確保する変数は
- 数字認識確保する変数は (2)
- 数字認識確保する変数は (3)
- 数字認識実際の計算
- 結合バイアス
- 結合バイアス (2)
- 結合バイアス (3)
- 数字認識確保する変数は (4)
- 数字認識確保する変数は (5)
- 数字認識確保する変数は (6)
- 数字認識確保する変数は (7)
- 数字認識実際の計算(バイアスあり)
- 数字認識一度に1データを処理
- 数字認識一度に2データを処理
- 数字認識一度に3データを処理
- 数字認識一度にNデータを処理
- 数字認識確保する変数(バッチ学習の場合)
- たくさんのバッチで繰り返し学習
- たくさんのバッチで繰り返し学習 (2)
- たくさんのバッチで繰り返し学習 (3)
- たくさんのバッチで繰り返し学習 (4)
- たくさんのバッチで繰り返し学習 (5)
- たくさんのバッチで繰り返し学習 (6)
- TensorFlowのデータ型
- Hello TensorFlow ( 000-MNISTipynb を開いて)
- Hello TensorFlow
- Hello TensorFlow (2)
- Hello TensorFlow (3)
- Hello TensorFlow (4)
- Hello TensorFlow (5)
- Hello TensorFlow (6)
- Hello TensorFlow (7)
- Hello TensorFlow (8)
- Hello TensorFlow (9)
- Hello TensorFlow (10)
- Hello TensorFlow (11)
- ロス関数もテンソルでモデル化
- ロス関数もテンソルでモデル化 (2)
- クロスエントロピーとは
- Hello TensorFlow (12)
- Hello TensorFlow (13)
- Hello TensorFlow (14)
- Hello TensorFlow (15)
- Hello TensorFlow (16)
- Hello TensorFlow (17)
- Hello TensorFlow (18)
- Hello TensorFlow (19)
- 精度の値もテンソルでモデル化
- 精度の値もテンソルでモデル化 (2)
- Hello TensorFlow (20)
- argmaxで認識結果が得られる
- Hello TensorFlow (21)
- Hello TensorFlow (22)
- Hello TensorFlow (23)
- Hello TensorFlow (24)
- Hello TensorFlow (25)
- フリータイム
- ハンズオン3 CNN
- 畳み込みニューラルネット
- 畳み込みニューラルネット (2)
- 通常のNN
- 入力を整形
- 畳み込みNNのパラメタ
- 畳み込み後の層
- プーリング (2x2)
- CNN全体構成 (13)
- CNN全体構成 (23)
- CNN全体構成 (33)
- CNN全体構成 (33) (2)
- Hello CNN
- Hello CNN (2)
- Hello CNN (3)
- Hello CNN (4)
- Hello CNN(モデル作成)
- Hello CNN(モデル作成) (2)
- Hello CNN(モデル作成) (3)
- Hello CNN(モデル作成) (4)
- Hello CNN(モデル作成) (5)
- Hello CNN(モデル作成) (6)
- Hello CNN(モデル作成) (7)
- Hello CNN(モデル作成) (8)
- Hello CNN(モデル作成) (9)
- Hello CNN(モデル作成) (10)
- Hello CNN(モデル作成) (11)
- Hello CNN(モデル作成) (12)
- Hello CNN(モデル作成) (13)
- Hello CNN(モデル作成) (14)
- Hello CNN(ロス関数)
- Hello CNN(学習)
- Hello CNN(学習) (2)
- Hello CNN(学習) (3)
- Hello CNN(性能評価)
- フリータイム (2)
- お疲れ様でした
- 各自ファイルを持ち帰って下さい
- 学生さん向けアナウンス
- 次回予告
- 次回予告 (2)
- 630 社内技術共有会
- 次回以降の予定
-
94
Hello CNN
95
Hello CNN (モデル作成)
96
Hello CNN (モデル作成)
97
Hello CNN (モデル作成)
98
Hello CNN (モデル作成)
99
Hello CNN (モデル作成)
100
Hello CNN (モデル作成)
101
Hello CNN (モデル作成)
102
Hello CNN (モデル作成)
103
Hello CNN (モデル作成)
104
Hello CNN (モデル作成)
105
Hello CNN (モデル作成)
106
Hello CNN (モデル作成)
107
Hello CNN (モデル作成)
108
Hello CNN (モデル作成)
109
Hello CNN (ロス関数)
110
Hello CNN (学習)最適化手法 Adam を使う
111
Hello CNN (学習)インタラクティブセッションなので
proc_initrun() と書ける(先程は sessrun(proc_init) と書いていた)
112
Hello CNN (学習)インタラクティブセッションなので
accuracyeval() と書ける(先程は sessrun(accuracy) と書いていた)
113
Hello CNN (性能評価)
先の単純な NNよりもメモリを使うので一度に全てのテストデータを NN に投入できないdarr分割して精度評価し平均を取る
114
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -CNN-MNIST と入力例 yamamoto-CNN-MNIST
サンプル本体 000-CNN-MNISTipynb
お疲れ様でした115
各自ファイルを持ち帰って下さいbull サーバはこのあと削除しますbull File rarr Download as rarr IPython Notebook
116
117
学生さん向けアナウンスbull 参加頂いた方を勉強会の告知用 ML に登録しますbull ML 経由で次回以降の勉強会のアナウンスをお送りしますbull 興味がなくなったら ML フッターのリンクから
unsubscribe してください
次回予告118
119
次回予告bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会ndash AI 情報共有会
bull 最近の AI系のニュースとかキャッチーな論文の成果を薄く広く紹介する会ndash 社内技術共有会
bull チームラボの最近の案件の技術的に面白い部分について知見を共有する会
ndash 630 の回は学生さん参加 OK
120
630 社内技術共有会bull ライブでのムービングライト制御について服部さんに話をしてもらいますbull teamLab Music Festival (making)
bull 狙った場所に正確に照射するために何をしたのかbull 実演あり
121
次回以降の予定bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会bull 77(木 ) 1900 - 2100 機械学習もくもく会(社内のみ)bull 714(木 ) 1900 - 2100
Deep Learning ハンズオン 2 (予定)bull これらの情報にキャッチアップしたいチームラボの人は
Slack の ai トピックに参加して下さいbull 学生の方は ML からご案内します
- Deep Learningハンズオン 1
- はじめに
- Deep Learning勉強会
- 今回から学生さんを受け入れています
- 今日の目次
- TensorFlow
- ハンズオン1 Jupyter
- Jupyter(旧称 IPython Notebook)
- Hello Jupyter
- Hello Jupyter (2)
- Hello Jupyter (3)
- ハンズオン2 TENSORFLOW入門
- ニューラルネットワーク(復習)
- 活性化関数ReLU関数
- 出力関数softmax関数
- ロス関数
- ドロップアウト
- ドロップアウト (2)
- ドロップアウト (3)
- ドロップアウト (4)
- ニューラルネット復習キーワード
- 数字認識確保する変数は
- 数字認識確保する変数は (2)
- 数字認識確保する変数は (3)
- 数字認識実際の計算
- 結合バイアス
- 結合バイアス (2)
- 結合バイアス (3)
- 数字認識確保する変数は (4)
- 数字認識確保する変数は (5)
- 数字認識確保する変数は (6)
- 数字認識確保する変数は (7)
- 数字認識実際の計算(バイアスあり)
- 数字認識一度に1データを処理
- 数字認識一度に2データを処理
- 数字認識一度に3データを処理
- 数字認識一度にNデータを処理
- 数字認識確保する変数(バッチ学習の場合)
- たくさんのバッチで繰り返し学習
- たくさんのバッチで繰り返し学習 (2)
- たくさんのバッチで繰り返し学習 (3)
- たくさんのバッチで繰り返し学習 (4)
- たくさんのバッチで繰り返し学習 (5)
- たくさんのバッチで繰り返し学習 (6)
- TensorFlowのデータ型
- Hello TensorFlow ( 000-MNISTipynb を開いて)
- Hello TensorFlow
- Hello TensorFlow (2)
- Hello TensorFlow (3)
- Hello TensorFlow (4)
- Hello TensorFlow (5)
- Hello TensorFlow (6)
- Hello TensorFlow (7)
- Hello TensorFlow (8)
- Hello TensorFlow (9)
- Hello TensorFlow (10)
- Hello TensorFlow (11)
- ロス関数もテンソルでモデル化
- ロス関数もテンソルでモデル化 (2)
- クロスエントロピーとは
- Hello TensorFlow (12)
- Hello TensorFlow (13)
- Hello TensorFlow (14)
- Hello TensorFlow (15)
- Hello TensorFlow (16)
- Hello TensorFlow (17)
- Hello TensorFlow (18)
- Hello TensorFlow (19)
- 精度の値もテンソルでモデル化
- 精度の値もテンソルでモデル化 (2)
- Hello TensorFlow (20)
- argmaxで認識結果が得られる
- Hello TensorFlow (21)
- Hello TensorFlow (22)
- Hello TensorFlow (23)
- Hello TensorFlow (24)
- Hello TensorFlow (25)
- フリータイム
- ハンズオン3 CNN
- 畳み込みニューラルネット
- 畳み込みニューラルネット (2)
- 通常のNN
- 入力を整形
- 畳み込みNNのパラメタ
- 畳み込み後の層
- プーリング (2x2)
- CNN全体構成 (13)
- CNN全体構成 (23)
- CNN全体構成 (33)
- CNN全体構成 (33) (2)
- Hello CNN
- Hello CNN (2)
- Hello CNN (3)
- Hello CNN (4)
- Hello CNN(モデル作成)
- Hello CNN(モデル作成) (2)
- Hello CNN(モデル作成) (3)
- Hello CNN(モデル作成) (4)
- Hello CNN(モデル作成) (5)
- Hello CNN(モデル作成) (6)
- Hello CNN(モデル作成) (7)
- Hello CNN(モデル作成) (8)
- Hello CNN(モデル作成) (9)
- Hello CNN(モデル作成) (10)
- Hello CNN(モデル作成) (11)
- Hello CNN(モデル作成) (12)
- Hello CNN(モデル作成) (13)
- Hello CNN(モデル作成) (14)
- Hello CNN(ロス関数)
- Hello CNN(学習)
- Hello CNN(学習) (2)
- Hello CNN(学習) (3)
- Hello CNN(性能評価)
- フリータイム (2)
- お疲れ様でした
- 各自ファイルを持ち帰って下さい
- 学生さん向けアナウンス
- 次回予告
- 次回予告 (2)
- 630 社内技術共有会
- 次回以降の予定
-
95
Hello CNN (モデル作成)
96
Hello CNN (モデル作成)
97
Hello CNN (モデル作成)
98
Hello CNN (モデル作成)
99
Hello CNN (モデル作成)
100
Hello CNN (モデル作成)
101
Hello CNN (モデル作成)
102
Hello CNN (モデル作成)
103
Hello CNN (モデル作成)
104
Hello CNN (モデル作成)
105
Hello CNN (モデル作成)
106
Hello CNN (モデル作成)
107
Hello CNN (モデル作成)
108
Hello CNN (モデル作成)
109
Hello CNN (ロス関数)
110
Hello CNN (学習)最適化手法 Adam を使う
111
Hello CNN (学習)インタラクティブセッションなので
proc_initrun() と書ける(先程は sessrun(proc_init) と書いていた)
112
Hello CNN (学習)インタラクティブセッションなので
accuracyeval() と書ける(先程は sessrun(accuracy) と書いていた)
113
Hello CNN (性能評価)
先の単純な NNよりもメモリを使うので一度に全てのテストデータを NN に投入できないdarr分割して精度評価し平均を取る
114
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -CNN-MNIST と入力例 yamamoto-CNN-MNIST
サンプル本体 000-CNN-MNISTipynb
お疲れ様でした115
各自ファイルを持ち帰って下さいbull サーバはこのあと削除しますbull File rarr Download as rarr IPython Notebook
116
117
学生さん向けアナウンスbull 参加頂いた方を勉強会の告知用 ML に登録しますbull ML 経由で次回以降の勉強会のアナウンスをお送りしますbull 興味がなくなったら ML フッターのリンクから
unsubscribe してください
次回予告118
119
次回予告bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会ndash AI 情報共有会
bull 最近の AI系のニュースとかキャッチーな論文の成果を薄く広く紹介する会ndash 社内技術共有会
bull チームラボの最近の案件の技術的に面白い部分について知見を共有する会
ndash 630 の回は学生さん参加 OK
120
630 社内技術共有会bull ライブでのムービングライト制御について服部さんに話をしてもらいますbull teamLab Music Festival (making)
bull 狙った場所に正確に照射するために何をしたのかbull 実演あり
121
次回以降の予定bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会bull 77(木 ) 1900 - 2100 機械学習もくもく会(社内のみ)bull 714(木 ) 1900 - 2100
Deep Learning ハンズオン 2 (予定)bull これらの情報にキャッチアップしたいチームラボの人は
Slack の ai トピックに参加して下さいbull 学生の方は ML からご案内します
- Deep Learningハンズオン 1
- はじめに
- Deep Learning勉強会
- 今回から学生さんを受け入れています
- 今日の目次
- TensorFlow
- ハンズオン1 Jupyter
- Jupyter(旧称 IPython Notebook)
- Hello Jupyter
- Hello Jupyter (2)
- Hello Jupyter (3)
- ハンズオン2 TENSORFLOW入門
- ニューラルネットワーク(復習)
- 活性化関数ReLU関数
- 出力関数softmax関数
- ロス関数
- ドロップアウト
- ドロップアウト (2)
- ドロップアウト (3)
- ドロップアウト (4)
- ニューラルネット復習キーワード
- 数字認識確保する変数は
- 数字認識確保する変数は (2)
- 数字認識確保する変数は (3)
- 数字認識実際の計算
- 結合バイアス
- 結合バイアス (2)
- 結合バイアス (3)
- 数字認識確保する変数は (4)
- 数字認識確保する変数は (5)
- 数字認識確保する変数は (6)
- 数字認識確保する変数は (7)
- 数字認識実際の計算(バイアスあり)
- 数字認識一度に1データを処理
- 数字認識一度に2データを処理
- 数字認識一度に3データを処理
- 数字認識一度にNデータを処理
- 数字認識確保する変数(バッチ学習の場合)
- たくさんのバッチで繰り返し学習
- たくさんのバッチで繰り返し学習 (2)
- たくさんのバッチで繰り返し学習 (3)
- たくさんのバッチで繰り返し学習 (4)
- たくさんのバッチで繰り返し学習 (5)
- たくさんのバッチで繰り返し学習 (6)
- TensorFlowのデータ型
- Hello TensorFlow ( 000-MNISTipynb を開いて)
- Hello TensorFlow
- Hello TensorFlow (2)
- Hello TensorFlow (3)
- Hello TensorFlow (4)
- Hello TensorFlow (5)
- Hello TensorFlow (6)
- Hello TensorFlow (7)
- Hello TensorFlow (8)
- Hello TensorFlow (9)
- Hello TensorFlow (10)
- Hello TensorFlow (11)
- ロス関数もテンソルでモデル化
- ロス関数もテンソルでモデル化 (2)
- クロスエントロピーとは
- Hello TensorFlow (12)
- Hello TensorFlow (13)
- Hello TensorFlow (14)
- Hello TensorFlow (15)
- Hello TensorFlow (16)
- Hello TensorFlow (17)
- Hello TensorFlow (18)
- Hello TensorFlow (19)
- 精度の値もテンソルでモデル化
- 精度の値もテンソルでモデル化 (2)
- Hello TensorFlow (20)
- argmaxで認識結果が得られる
- Hello TensorFlow (21)
- Hello TensorFlow (22)
- Hello TensorFlow (23)
- Hello TensorFlow (24)
- Hello TensorFlow (25)
- フリータイム
- ハンズオン3 CNN
- 畳み込みニューラルネット
- 畳み込みニューラルネット (2)
- 通常のNN
- 入力を整形
- 畳み込みNNのパラメタ
- 畳み込み後の層
- プーリング (2x2)
- CNN全体構成 (13)
- CNN全体構成 (23)
- CNN全体構成 (33)
- CNN全体構成 (33) (2)
- Hello CNN
- Hello CNN (2)
- Hello CNN (3)
- Hello CNN (4)
- Hello CNN(モデル作成)
- Hello CNN(モデル作成) (2)
- Hello CNN(モデル作成) (3)
- Hello CNN(モデル作成) (4)
- Hello CNN(モデル作成) (5)
- Hello CNN(モデル作成) (6)
- Hello CNN(モデル作成) (7)
- Hello CNN(モデル作成) (8)
- Hello CNN(モデル作成) (9)
- Hello CNN(モデル作成) (10)
- Hello CNN(モデル作成) (11)
- Hello CNN(モデル作成) (12)
- Hello CNN(モデル作成) (13)
- Hello CNN(モデル作成) (14)
- Hello CNN(ロス関数)
- Hello CNN(学習)
- Hello CNN(学習) (2)
- Hello CNN(学習) (3)
- Hello CNN(性能評価)
- フリータイム (2)
- お疲れ様でした
- 各自ファイルを持ち帰って下さい
- 学生さん向けアナウンス
- 次回予告
- 次回予告 (2)
- 630 社内技術共有会
- 次回以降の予定
-
96
Hello CNN (モデル作成)
97
Hello CNN (モデル作成)
98
Hello CNN (モデル作成)
99
Hello CNN (モデル作成)
100
Hello CNN (モデル作成)
101
Hello CNN (モデル作成)
102
Hello CNN (モデル作成)
103
Hello CNN (モデル作成)
104
Hello CNN (モデル作成)
105
Hello CNN (モデル作成)
106
Hello CNN (モデル作成)
107
Hello CNN (モデル作成)
108
Hello CNN (モデル作成)
109
Hello CNN (ロス関数)
110
Hello CNN (学習)最適化手法 Adam を使う
111
Hello CNN (学習)インタラクティブセッションなので
proc_initrun() と書ける(先程は sessrun(proc_init) と書いていた)
112
Hello CNN (学習)インタラクティブセッションなので
accuracyeval() と書ける(先程は sessrun(accuracy) と書いていた)
113
Hello CNN (性能評価)
先の単純な NNよりもメモリを使うので一度に全てのテストデータを NN に投入できないdarr分割して精度評価し平均を取る
114
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -CNN-MNIST と入力例 yamamoto-CNN-MNIST
サンプル本体 000-CNN-MNISTipynb
お疲れ様でした115
各自ファイルを持ち帰って下さいbull サーバはこのあと削除しますbull File rarr Download as rarr IPython Notebook
116
117
学生さん向けアナウンスbull 参加頂いた方を勉強会の告知用 ML に登録しますbull ML 経由で次回以降の勉強会のアナウンスをお送りしますbull 興味がなくなったら ML フッターのリンクから
unsubscribe してください
次回予告118
119
次回予告bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会ndash AI 情報共有会
bull 最近の AI系のニュースとかキャッチーな論文の成果を薄く広く紹介する会ndash 社内技術共有会
bull チームラボの最近の案件の技術的に面白い部分について知見を共有する会
ndash 630 の回は学生さん参加 OK
120
630 社内技術共有会bull ライブでのムービングライト制御について服部さんに話をしてもらいますbull teamLab Music Festival (making)
bull 狙った場所に正確に照射するために何をしたのかbull 実演あり
121
次回以降の予定bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会bull 77(木 ) 1900 - 2100 機械学習もくもく会(社内のみ)bull 714(木 ) 1900 - 2100
Deep Learning ハンズオン 2 (予定)bull これらの情報にキャッチアップしたいチームラボの人は
Slack の ai トピックに参加して下さいbull 学生の方は ML からご案内します
- Deep Learningハンズオン 1
- はじめに
- Deep Learning勉強会
- 今回から学生さんを受け入れています
- 今日の目次
- TensorFlow
- ハンズオン1 Jupyter
- Jupyter(旧称 IPython Notebook)
- Hello Jupyter
- Hello Jupyter (2)
- Hello Jupyter (3)
- ハンズオン2 TENSORFLOW入門
- ニューラルネットワーク(復習)
- 活性化関数ReLU関数
- 出力関数softmax関数
- ロス関数
- ドロップアウト
- ドロップアウト (2)
- ドロップアウト (3)
- ドロップアウト (4)
- ニューラルネット復習キーワード
- 数字認識確保する変数は
- 数字認識確保する変数は (2)
- 数字認識確保する変数は (3)
- 数字認識実際の計算
- 結合バイアス
- 結合バイアス (2)
- 結合バイアス (3)
- 数字認識確保する変数は (4)
- 数字認識確保する変数は (5)
- 数字認識確保する変数は (6)
- 数字認識確保する変数は (7)
- 数字認識実際の計算(バイアスあり)
- 数字認識一度に1データを処理
- 数字認識一度に2データを処理
- 数字認識一度に3データを処理
- 数字認識一度にNデータを処理
- 数字認識確保する変数(バッチ学習の場合)
- たくさんのバッチで繰り返し学習
- たくさんのバッチで繰り返し学習 (2)
- たくさんのバッチで繰り返し学習 (3)
- たくさんのバッチで繰り返し学習 (4)
- たくさんのバッチで繰り返し学習 (5)
- たくさんのバッチで繰り返し学習 (6)
- TensorFlowのデータ型
- Hello TensorFlow ( 000-MNISTipynb を開いて)
- Hello TensorFlow
- Hello TensorFlow (2)
- Hello TensorFlow (3)
- Hello TensorFlow (4)
- Hello TensorFlow (5)
- Hello TensorFlow (6)
- Hello TensorFlow (7)
- Hello TensorFlow (8)
- Hello TensorFlow (9)
- Hello TensorFlow (10)
- Hello TensorFlow (11)
- ロス関数もテンソルでモデル化
- ロス関数もテンソルでモデル化 (2)
- クロスエントロピーとは
- Hello TensorFlow (12)
- Hello TensorFlow (13)
- Hello TensorFlow (14)
- Hello TensorFlow (15)
- Hello TensorFlow (16)
- Hello TensorFlow (17)
- Hello TensorFlow (18)
- Hello TensorFlow (19)
- 精度の値もテンソルでモデル化
- 精度の値もテンソルでモデル化 (2)
- Hello TensorFlow (20)
- argmaxで認識結果が得られる
- Hello TensorFlow (21)
- Hello TensorFlow (22)
- Hello TensorFlow (23)
- Hello TensorFlow (24)
- Hello TensorFlow (25)
- フリータイム
- ハンズオン3 CNN
- 畳み込みニューラルネット
- 畳み込みニューラルネット (2)
- 通常のNN
- 入力を整形
- 畳み込みNNのパラメタ
- 畳み込み後の層
- プーリング (2x2)
- CNN全体構成 (13)
- CNN全体構成 (23)
- CNN全体構成 (33)
- CNN全体構成 (33) (2)
- Hello CNN
- Hello CNN (2)
- Hello CNN (3)
- Hello CNN (4)
- Hello CNN(モデル作成)
- Hello CNN(モデル作成) (2)
- Hello CNN(モデル作成) (3)
- Hello CNN(モデル作成) (4)
- Hello CNN(モデル作成) (5)
- Hello CNN(モデル作成) (6)
- Hello CNN(モデル作成) (7)
- Hello CNN(モデル作成) (8)
- Hello CNN(モデル作成) (9)
- Hello CNN(モデル作成) (10)
- Hello CNN(モデル作成) (11)
- Hello CNN(モデル作成) (12)
- Hello CNN(モデル作成) (13)
- Hello CNN(モデル作成) (14)
- Hello CNN(ロス関数)
- Hello CNN(学習)
- Hello CNN(学習) (2)
- Hello CNN(学習) (3)
- Hello CNN(性能評価)
- フリータイム (2)
- お疲れ様でした
- 各自ファイルを持ち帰って下さい
- 学生さん向けアナウンス
- 次回予告
- 次回予告 (2)
- 630 社内技術共有会
- 次回以降の予定
-
97
Hello CNN (モデル作成)
98
Hello CNN (モデル作成)
99
Hello CNN (モデル作成)
100
Hello CNN (モデル作成)
101
Hello CNN (モデル作成)
102
Hello CNN (モデル作成)
103
Hello CNN (モデル作成)
104
Hello CNN (モデル作成)
105
Hello CNN (モデル作成)
106
Hello CNN (モデル作成)
107
Hello CNN (モデル作成)
108
Hello CNN (モデル作成)
109
Hello CNN (ロス関数)
110
Hello CNN (学習)最適化手法 Adam を使う
111
Hello CNN (学習)インタラクティブセッションなので
proc_initrun() と書ける(先程は sessrun(proc_init) と書いていた)
112
Hello CNN (学習)インタラクティブセッションなので
accuracyeval() と書ける(先程は sessrun(accuracy) と書いていた)
113
Hello CNN (性能評価)
先の単純な NNよりもメモリを使うので一度に全てのテストデータを NN に投入できないdarr分割して精度評価し平均を取る
114
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -CNN-MNIST と入力例 yamamoto-CNN-MNIST
サンプル本体 000-CNN-MNISTipynb
お疲れ様でした115
各自ファイルを持ち帰って下さいbull サーバはこのあと削除しますbull File rarr Download as rarr IPython Notebook
116
117
学生さん向けアナウンスbull 参加頂いた方を勉強会の告知用 ML に登録しますbull ML 経由で次回以降の勉強会のアナウンスをお送りしますbull 興味がなくなったら ML フッターのリンクから
unsubscribe してください
次回予告118
119
次回予告bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会ndash AI 情報共有会
bull 最近の AI系のニュースとかキャッチーな論文の成果を薄く広く紹介する会ndash 社内技術共有会
bull チームラボの最近の案件の技術的に面白い部分について知見を共有する会
ndash 630 の回は学生さん参加 OK
120
630 社内技術共有会bull ライブでのムービングライト制御について服部さんに話をしてもらいますbull teamLab Music Festival (making)
bull 狙った場所に正確に照射するために何をしたのかbull 実演あり
121
次回以降の予定bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会bull 77(木 ) 1900 - 2100 機械学習もくもく会(社内のみ)bull 714(木 ) 1900 - 2100
Deep Learning ハンズオン 2 (予定)bull これらの情報にキャッチアップしたいチームラボの人は
Slack の ai トピックに参加して下さいbull 学生の方は ML からご案内します
- Deep Learningハンズオン 1
- はじめに
- Deep Learning勉強会
- 今回から学生さんを受け入れています
- 今日の目次
- TensorFlow
- ハンズオン1 Jupyter
- Jupyter(旧称 IPython Notebook)
- Hello Jupyter
- Hello Jupyter (2)
- Hello Jupyter (3)
- ハンズオン2 TENSORFLOW入門
- ニューラルネットワーク(復習)
- 活性化関数ReLU関数
- 出力関数softmax関数
- ロス関数
- ドロップアウト
- ドロップアウト (2)
- ドロップアウト (3)
- ドロップアウト (4)
- ニューラルネット復習キーワード
- 数字認識確保する変数は
- 数字認識確保する変数は (2)
- 数字認識確保する変数は (3)
- 数字認識実際の計算
- 結合バイアス
- 結合バイアス (2)
- 結合バイアス (3)
- 数字認識確保する変数は (4)
- 数字認識確保する変数は (5)
- 数字認識確保する変数は (6)
- 数字認識確保する変数は (7)
- 数字認識実際の計算(バイアスあり)
- 数字認識一度に1データを処理
- 数字認識一度に2データを処理
- 数字認識一度に3データを処理
- 数字認識一度にNデータを処理
- 数字認識確保する変数(バッチ学習の場合)
- たくさんのバッチで繰り返し学習
- たくさんのバッチで繰り返し学習 (2)
- たくさんのバッチで繰り返し学習 (3)
- たくさんのバッチで繰り返し学習 (4)
- たくさんのバッチで繰り返し学習 (5)
- たくさんのバッチで繰り返し学習 (6)
- TensorFlowのデータ型
- Hello TensorFlow ( 000-MNISTipynb を開いて)
- Hello TensorFlow
- Hello TensorFlow (2)
- Hello TensorFlow (3)
- Hello TensorFlow (4)
- Hello TensorFlow (5)
- Hello TensorFlow (6)
- Hello TensorFlow (7)
- Hello TensorFlow (8)
- Hello TensorFlow (9)
- Hello TensorFlow (10)
- Hello TensorFlow (11)
- ロス関数もテンソルでモデル化
- ロス関数もテンソルでモデル化 (2)
- クロスエントロピーとは
- Hello TensorFlow (12)
- Hello TensorFlow (13)
- Hello TensorFlow (14)
- Hello TensorFlow (15)
- Hello TensorFlow (16)
- Hello TensorFlow (17)
- Hello TensorFlow (18)
- Hello TensorFlow (19)
- 精度の値もテンソルでモデル化
- 精度の値もテンソルでモデル化 (2)
- Hello TensorFlow (20)
- argmaxで認識結果が得られる
- Hello TensorFlow (21)
- Hello TensorFlow (22)
- Hello TensorFlow (23)
- Hello TensorFlow (24)
- Hello TensorFlow (25)
- フリータイム
- ハンズオン3 CNN
- 畳み込みニューラルネット
- 畳み込みニューラルネット (2)
- 通常のNN
- 入力を整形
- 畳み込みNNのパラメタ
- 畳み込み後の層
- プーリング (2x2)
- CNN全体構成 (13)
- CNN全体構成 (23)
- CNN全体構成 (33)
- CNN全体構成 (33) (2)
- Hello CNN
- Hello CNN (2)
- Hello CNN (3)
- Hello CNN (4)
- Hello CNN(モデル作成)
- Hello CNN(モデル作成) (2)
- Hello CNN(モデル作成) (3)
- Hello CNN(モデル作成) (4)
- Hello CNN(モデル作成) (5)
- Hello CNN(モデル作成) (6)
- Hello CNN(モデル作成) (7)
- Hello CNN(モデル作成) (8)
- Hello CNN(モデル作成) (9)
- Hello CNN(モデル作成) (10)
- Hello CNN(モデル作成) (11)
- Hello CNN(モデル作成) (12)
- Hello CNN(モデル作成) (13)
- Hello CNN(モデル作成) (14)
- Hello CNN(ロス関数)
- Hello CNN(学習)
- Hello CNN(学習) (2)
- Hello CNN(学習) (3)
- Hello CNN(性能評価)
- フリータイム (2)
- お疲れ様でした
- 各自ファイルを持ち帰って下さい
- 学生さん向けアナウンス
- 次回予告
- 次回予告 (2)
- 630 社内技術共有会
- 次回以降の予定
-
98
Hello CNN (モデル作成)
99
Hello CNN (モデル作成)
100
Hello CNN (モデル作成)
101
Hello CNN (モデル作成)
102
Hello CNN (モデル作成)
103
Hello CNN (モデル作成)
104
Hello CNN (モデル作成)
105
Hello CNN (モデル作成)
106
Hello CNN (モデル作成)
107
Hello CNN (モデル作成)
108
Hello CNN (モデル作成)
109
Hello CNN (ロス関数)
110
Hello CNN (学習)最適化手法 Adam を使う
111
Hello CNN (学習)インタラクティブセッションなので
proc_initrun() と書ける(先程は sessrun(proc_init) と書いていた)
112
Hello CNN (学習)インタラクティブセッションなので
accuracyeval() と書ける(先程は sessrun(accuracy) と書いていた)
113
Hello CNN (性能評価)
先の単純な NNよりもメモリを使うので一度に全てのテストデータを NN に投入できないdarr分割して精度評価し平均を取る
114
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -CNN-MNIST と入力例 yamamoto-CNN-MNIST
サンプル本体 000-CNN-MNISTipynb
お疲れ様でした115
各自ファイルを持ち帰って下さいbull サーバはこのあと削除しますbull File rarr Download as rarr IPython Notebook
116
117
学生さん向けアナウンスbull 参加頂いた方を勉強会の告知用 ML に登録しますbull ML 経由で次回以降の勉強会のアナウンスをお送りしますbull 興味がなくなったら ML フッターのリンクから
unsubscribe してください
次回予告118
119
次回予告bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会ndash AI 情報共有会
bull 最近の AI系のニュースとかキャッチーな論文の成果を薄く広く紹介する会ndash 社内技術共有会
bull チームラボの最近の案件の技術的に面白い部分について知見を共有する会
ndash 630 の回は学生さん参加 OK
120
630 社内技術共有会bull ライブでのムービングライト制御について服部さんに話をしてもらいますbull teamLab Music Festival (making)
bull 狙った場所に正確に照射するために何をしたのかbull 実演あり
121
次回以降の予定bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会bull 77(木 ) 1900 - 2100 機械学習もくもく会(社内のみ)bull 714(木 ) 1900 - 2100
Deep Learning ハンズオン 2 (予定)bull これらの情報にキャッチアップしたいチームラボの人は
Slack の ai トピックに参加して下さいbull 学生の方は ML からご案内します
- Deep Learningハンズオン 1
- はじめに
- Deep Learning勉強会
- 今回から学生さんを受け入れています
- 今日の目次
- TensorFlow
- ハンズオン1 Jupyter
- Jupyter(旧称 IPython Notebook)
- Hello Jupyter
- Hello Jupyter (2)
- Hello Jupyter (3)
- ハンズオン2 TENSORFLOW入門
- ニューラルネットワーク(復習)
- 活性化関数ReLU関数
- 出力関数softmax関数
- ロス関数
- ドロップアウト
- ドロップアウト (2)
- ドロップアウト (3)
- ドロップアウト (4)
- ニューラルネット復習キーワード
- 数字認識確保する変数は
- 数字認識確保する変数は (2)
- 数字認識確保する変数は (3)
- 数字認識実際の計算
- 結合バイアス
- 結合バイアス (2)
- 結合バイアス (3)
- 数字認識確保する変数は (4)
- 数字認識確保する変数は (5)
- 数字認識確保する変数は (6)
- 数字認識確保する変数は (7)
- 数字認識実際の計算(バイアスあり)
- 数字認識一度に1データを処理
- 数字認識一度に2データを処理
- 数字認識一度に3データを処理
- 数字認識一度にNデータを処理
- 数字認識確保する変数(バッチ学習の場合)
- たくさんのバッチで繰り返し学習
- たくさんのバッチで繰り返し学習 (2)
- たくさんのバッチで繰り返し学習 (3)
- たくさんのバッチで繰り返し学習 (4)
- たくさんのバッチで繰り返し学習 (5)
- たくさんのバッチで繰り返し学習 (6)
- TensorFlowのデータ型
- Hello TensorFlow ( 000-MNISTipynb を開いて)
- Hello TensorFlow
- Hello TensorFlow (2)
- Hello TensorFlow (3)
- Hello TensorFlow (4)
- Hello TensorFlow (5)
- Hello TensorFlow (6)
- Hello TensorFlow (7)
- Hello TensorFlow (8)
- Hello TensorFlow (9)
- Hello TensorFlow (10)
- Hello TensorFlow (11)
- ロス関数もテンソルでモデル化
- ロス関数もテンソルでモデル化 (2)
- クロスエントロピーとは
- Hello TensorFlow (12)
- Hello TensorFlow (13)
- Hello TensorFlow (14)
- Hello TensorFlow (15)
- Hello TensorFlow (16)
- Hello TensorFlow (17)
- Hello TensorFlow (18)
- Hello TensorFlow (19)
- 精度の値もテンソルでモデル化
- 精度の値もテンソルでモデル化 (2)
- Hello TensorFlow (20)
- argmaxで認識結果が得られる
- Hello TensorFlow (21)
- Hello TensorFlow (22)
- Hello TensorFlow (23)
- Hello TensorFlow (24)
- Hello TensorFlow (25)
- フリータイム
- ハンズオン3 CNN
- 畳み込みニューラルネット
- 畳み込みニューラルネット (2)
- 通常のNN
- 入力を整形
- 畳み込みNNのパラメタ
- 畳み込み後の層
- プーリング (2x2)
- CNN全体構成 (13)
- CNN全体構成 (23)
- CNN全体構成 (33)
- CNN全体構成 (33) (2)
- Hello CNN
- Hello CNN (2)
- Hello CNN (3)
- Hello CNN (4)
- Hello CNN(モデル作成)
- Hello CNN(モデル作成) (2)
- Hello CNN(モデル作成) (3)
- Hello CNN(モデル作成) (4)
- Hello CNN(モデル作成) (5)
- Hello CNN(モデル作成) (6)
- Hello CNN(モデル作成) (7)
- Hello CNN(モデル作成) (8)
- Hello CNN(モデル作成) (9)
- Hello CNN(モデル作成) (10)
- Hello CNN(モデル作成) (11)
- Hello CNN(モデル作成) (12)
- Hello CNN(モデル作成) (13)
- Hello CNN(モデル作成) (14)
- Hello CNN(ロス関数)
- Hello CNN(学習)
- Hello CNN(学習) (2)
- Hello CNN(学習) (3)
- Hello CNN(性能評価)
- フリータイム (2)
- お疲れ様でした
- 各自ファイルを持ち帰って下さい
- 学生さん向けアナウンス
- 次回予告
- 次回予告 (2)
- 630 社内技術共有会
- 次回以降の予定
-
99
Hello CNN (モデル作成)
100
Hello CNN (モデル作成)
101
Hello CNN (モデル作成)
102
Hello CNN (モデル作成)
103
Hello CNN (モデル作成)
104
Hello CNN (モデル作成)
105
Hello CNN (モデル作成)
106
Hello CNN (モデル作成)
107
Hello CNN (モデル作成)
108
Hello CNN (モデル作成)
109
Hello CNN (ロス関数)
110
Hello CNN (学習)最適化手法 Adam を使う
111
Hello CNN (学習)インタラクティブセッションなので
proc_initrun() と書ける(先程は sessrun(proc_init) と書いていた)
112
Hello CNN (学習)インタラクティブセッションなので
accuracyeval() と書ける(先程は sessrun(accuracy) と書いていた)
113
Hello CNN (性能評価)
先の単純な NNよりもメモリを使うので一度に全てのテストデータを NN に投入できないdarr分割して精度評価し平均を取る
114
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -CNN-MNIST と入力例 yamamoto-CNN-MNIST
サンプル本体 000-CNN-MNISTipynb
お疲れ様でした115
各自ファイルを持ち帰って下さいbull サーバはこのあと削除しますbull File rarr Download as rarr IPython Notebook
116
117
学生さん向けアナウンスbull 参加頂いた方を勉強会の告知用 ML に登録しますbull ML 経由で次回以降の勉強会のアナウンスをお送りしますbull 興味がなくなったら ML フッターのリンクから
unsubscribe してください
次回予告118
119
次回予告bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会ndash AI 情報共有会
bull 最近の AI系のニュースとかキャッチーな論文の成果を薄く広く紹介する会ndash 社内技術共有会
bull チームラボの最近の案件の技術的に面白い部分について知見を共有する会
ndash 630 の回は学生さん参加 OK
120
630 社内技術共有会bull ライブでのムービングライト制御について服部さんに話をしてもらいますbull teamLab Music Festival (making)
bull 狙った場所に正確に照射するために何をしたのかbull 実演あり
121
次回以降の予定bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会bull 77(木 ) 1900 - 2100 機械学習もくもく会(社内のみ)bull 714(木 ) 1900 - 2100
Deep Learning ハンズオン 2 (予定)bull これらの情報にキャッチアップしたいチームラボの人は
Slack の ai トピックに参加して下さいbull 学生の方は ML からご案内します
- Deep Learningハンズオン 1
- はじめに
- Deep Learning勉強会
- 今回から学生さんを受け入れています
- 今日の目次
- TensorFlow
- ハンズオン1 Jupyter
- Jupyter(旧称 IPython Notebook)
- Hello Jupyter
- Hello Jupyter (2)
- Hello Jupyter (3)
- ハンズオン2 TENSORFLOW入門
- ニューラルネットワーク(復習)
- 活性化関数ReLU関数
- 出力関数softmax関数
- ロス関数
- ドロップアウト
- ドロップアウト (2)
- ドロップアウト (3)
- ドロップアウト (4)
- ニューラルネット復習キーワード
- 数字認識確保する変数は
- 数字認識確保する変数は (2)
- 数字認識確保する変数は (3)
- 数字認識実際の計算
- 結合バイアス
- 結合バイアス (2)
- 結合バイアス (3)
- 数字認識確保する変数は (4)
- 数字認識確保する変数は (5)
- 数字認識確保する変数は (6)
- 数字認識確保する変数は (7)
- 数字認識実際の計算(バイアスあり)
- 数字認識一度に1データを処理
- 数字認識一度に2データを処理
- 数字認識一度に3データを処理
- 数字認識一度にNデータを処理
- 数字認識確保する変数(バッチ学習の場合)
- たくさんのバッチで繰り返し学習
- たくさんのバッチで繰り返し学習 (2)
- たくさんのバッチで繰り返し学習 (3)
- たくさんのバッチで繰り返し学習 (4)
- たくさんのバッチで繰り返し学習 (5)
- たくさんのバッチで繰り返し学習 (6)
- TensorFlowのデータ型
- Hello TensorFlow ( 000-MNISTipynb を開いて)
- Hello TensorFlow
- Hello TensorFlow (2)
- Hello TensorFlow (3)
- Hello TensorFlow (4)
- Hello TensorFlow (5)
- Hello TensorFlow (6)
- Hello TensorFlow (7)
- Hello TensorFlow (8)
- Hello TensorFlow (9)
- Hello TensorFlow (10)
- Hello TensorFlow (11)
- ロス関数もテンソルでモデル化
- ロス関数もテンソルでモデル化 (2)
- クロスエントロピーとは
- Hello TensorFlow (12)
- Hello TensorFlow (13)
- Hello TensorFlow (14)
- Hello TensorFlow (15)
- Hello TensorFlow (16)
- Hello TensorFlow (17)
- Hello TensorFlow (18)
- Hello TensorFlow (19)
- 精度の値もテンソルでモデル化
- 精度の値もテンソルでモデル化 (2)
- Hello TensorFlow (20)
- argmaxで認識結果が得られる
- Hello TensorFlow (21)
- Hello TensorFlow (22)
- Hello TensorFlow (23)
- Hello TensorFlow (24)
- Hello TensorFlow (25)
- フリータイム
- ハンズオン3 CNN
- 畳み込みニューラルネット
- 畳み込みニューラルネット (2)
- 通常のNN
- 入力を整形
- 畳み込みNNのパラメタ
- 畳み込み後の層
- プーリング (2x2)
- CNN全体構成 (13)
- CNN全体構成 (23)
- CNN全体構成 (33)
- CNN全体構成 (33) (2)
- Hello CNN
- Hello CNN (2)
- Hello CNN (3)
- Hello CNN (4)
- Hello CNN(モデル作成)
- Hello CNN(モデル作成) (2)
- Hello CNN(モデル作成) (3)
- Hello CNN(モデル作成) (4)
- Hello CNN(モデル作成) (5)
- Hello CNN(モデル作成) (6)
- Hello CNN(モデル作成) (7)
- Hello CNN(モデル作成) (8)
- Hello CNN(モデル作成) (9)
- Hello CNN(モデル作成) (10)
- Hello CNN(モデル作成) (11)
- Hello CNN(モデル作成) (12)
- Hello CNN(モデル作成) (13)
- Hello CNN(モデル作成) (14)
- Hello CNN(ロス関数)
- Hello CNN(学習)
- Hello CNN(学習) (2)
- Hello CNN(学習) (3)
- Hello CNN(性能評価)
- フリータイム (2)
- お疲れ様でした
- 各自ファイルを持ち帰って下さい
- 学生さん向けアナウンス
- 次回予告
- 次回予告 (2)
- 630 社内技術共有会
- 次回以降の予定
-
100
Hello CNN (モデル作成)
101
Hello CNN (モデル作成)
102
Hello CNN (モデル作成)
103
Hello CNN (モデル作成)
104
Hello CNN (モデル作成)
105
Hello CNN (モデル作成)
106
Hello CNN (モデル作成)
107
Hello CNN (モデル作成)
108
Hello CNN (モデル作成)
109
Hello CNN (ロス関数)
110
Hello CNN (学習)最適化手法 Adam を使う
111
Hello CNN (学習)インタラクティブセッションなので
proc_initrun() と書ける(先程は sessrun(proc_init) と書いていた)
112
Hello CNN (学習)インタラクティブセッションなので
accuracyeval() と書ける(先程は sessrun(accuracy) と書いていた)
113
Hello CNN (性能評価)
先の単純な NNよりもメモリを使うので一度に全てのテストデータを NN に投入できないdarr分割して精度評価し平均を取る
114
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -CNN-MNIST と入力例 yamamoto-CNN-MNIST
サンプル本体 000-CNN-MNISTipynb
お疲れ様でした115
各自ファイルを持ち帰って下さいbull サーバはこのあと削除しますbull File rarr Download as rarr IPython Notebook
116
117
学生さん向けアナウンスbull 参加頂いた方を勉強会の告知用 ML に登録しますbull ML 経由で次回以降の勉強会のアナウンスをお送りしますbull 興味がなくなったら ML フッターのリンクから
unsubscribe してください
次回予告118
119
次回予告bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会ndash AI 情報共有会
bull 最近の AI系のニュースとかキャッチーな論文の成果を薄く広く紹介する会ndash 社内技術共有会
bull チームラボの最近の案件の技術的に面白い部分について知見を共有する会
ndash 630 の回は学生さん参加 OK
120
630 社内技術共有会bull ライブでのムービングライト制御について服部さんに話をしてもらいますbull teamLab Music Festival (making)
bull 狙った場所に正確に照射するために何をしたのかbull 実演あり
121
次回以降の予定bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会bull 77(木 ) 1900 - 2100 機械学習もくもく会(社内のみ)bull 714(木 ) 1900 - 2100
Deep Learning ハンズオン 2 (予定)bull これらの情報にキャッチアップしたいチームラボの人は
Slack の ai トピックに参加して下さいbull 学生の方は ML からご案内します
- Deep Learningハンズオン 1
- はじめに
- Deep Learning勉強会
- 今回から学生さんを受け入れています
- 今日の目次
- TensorFlow
- ハンズオン1 Jupyter
- Jupyter(旧称 IPython Notebook)
- Hello Jupyter
- Hello Jupyter (2)
- Hello Jupyter (3)
- ハンズオン2 TENSORFLOW入門
- ニューラルネットワーク(復習)
- 活性化関数ReLU関数
- 出力関数softmax関数
- ロス関数
- ドロップアウト
- ドロップアウト (2)
- ドロップアウト (3)
- ドロップアウト (4)
- ニューラルネット復習キーワード
- 数字認識確保する変数は
- 数字認識確保する変数は (2)
- 数字認識確保する変数は (3)
- 数字認識実際の計算
- 結合バイアス
- 結合バイアス (2)
- 結合バイアス (3)
- 数字認識確保する変数は (4)
- 数字認識確保する変数は (5)
- 数字認識確保する変数は (6)
- 数字認識確保する変数は (7)
- 数字認識実際の計算(バイアスあり)
- 数字認識一度に1データを処理
- 数字認識一度に2データを処理
- 数字認識一度に3データを処理
- 数字認識一度にNデータを処理
- 数字認識確保する変数(バッチ学習の場合)
- たくさんのバッチで繰り返し学習
- たくさんのバッチで繰り返し学習 (2)
- たくさんのバッチで繰り返し学習 (3)
- たくさんのバッチで繰り返し学習 (4)
- たくさんのバッチで繰り返し学習 (5)
- たくさんのバッチで繰り返し学習 (6)
- TensorFlowのデータ型
- Hello TensorFlow ( 000-MNISTipynb を開いて)
- Hello TensorFlow
- Hello TensorFlow (2)
- Hello TensorFlow (3)
- Hello TensorFlow (4)
- Hello TensorFlow (5)
- Hello TensorFlow (6)
- Hello TensorFlow (7)
- Hello TensorFlow (8)
- Hello TensorFlow (9)
- Hello TensorFlow (10)
- Hello TensorFlow (11)
- ロス関数もテンソルでモデル化
- ロス関数もテンソルでモデル化 (2)
- クロスエントロピーとは
- Hello TensorFlow (12)
- Hello TensorFlow (13)
- Hello TensorFlow (14)
- Hello TensorFlow (15)
- Hello TensorFlow (16)
- Hello TensorFlow (17)
- Hello TensorFlow (18)
- Hello TensorFlow (19)
- 精度の値もテンソルでモデル化
- 精度の値もテンソルでモデル化 (2)
- Hello TensorFlow (20)
- argmaxで認識結果が得られる
- Hello TensorFlow (21)
- Hello TensorFlow (22)
- Hello TensorFlow (23)
- Hello TensorFlow (24)
- Hello TensorFlow (25)
- フリータイム
- ハンズオン3 CNN
- 畳み込みニューラルネット
- 畳み込みニューラルネット (2)
- 通常のNN
- 入力を整形
- 畳み込みNNのパラメタ
- 畳み込み後の層
- プーリング (2x2)
- CNN全体構成 (13)
- CNN全体構成 (23)
- CNN全体構成 (33)
- CNN全体構成 (33) (2)
- Hello CNN
- Hello CNN (2)
- Hello CNN (3)
- Hello CNN (4)
- Hello CNN(モデル作成)
- Hello CNN(モデル作成) (2)
- Hello CNN(モデル作成) (3)
- Hello CNN(モデル作成) (4)
- Hello CNN(モデル作成) (5)
- Hello CNN(モデル作成) (6)
- Hello CNN(モデル作成) (7)
- Hello CNN(モデル作成) (8)
- Hello CNN(モデル作成) (9)
- Hello CNN(モデル作成) (10)
- Hello CNN(モデル作成) (11)
- Hello CNN(モデル作成) (12)
- Hello CNN(モデル作成) (13)
- Hello CNN(モデル作成) (14)
- Hello CNN(ロス関数)
- Hello CNN(学習)
- Hello CNN(学習) (2)
- Hello CNN(学習) (3)
- Hello CNN(性能評価)
- フリータイム (2)
- お疲れ様でした
- 各自ファイルを持ち帰って下さい
- 学生さん向けアナウンス
- 次回予告
- 次回予告 (2)
- 630 社内技術共有会
- 次回以降の予定
-
101
Hello CNN (モデル作成)
102
Hello CNN (モデル作成)
103
Hello CNN (モデル作成)
104
Hello CNN (モデル作成)
105
Hello CNN (モデル作成)
106
Hello CNN (モデル作成)
107
Hello CNN (モデル作成)
108
Hello CNN (モデル作成)
109
Hello CNN (ロス関数)
110
Hello CNN (学習)最適化手法 Adam を使う
111
Hello CNN (学習)インタラクティブセッションなので
proc_initrun() と書ける(先程は sessrun(proc_init) と書いていた)
112
Hello CNN (学習)インタラクティブセッションなので
accuracyeval() と書ける(先程は sessrun(accuracy) と書いていた)
113
Hello CNN (性能評価)
先の単純な NNよりもメモリを使うので一度に全てのテストデータを NN に投入できないdarr分割して精度評価し平均を取る
114
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -CNN-MNIST と入力例 yamamoto-CNN-MNIST
サンプル本体 000-CNN-MNISTipynb
お疲れ様でした115
各自ファイルを持ち帰って下さいbull サーバはこのあと削除しますbull File rarr Download as rarr IPython Notebook
116
117
学生さん向けアナウンスbull 参加頂いた方を勉強会の告知用 ML に登録しますbull ML 経由で次回以降の勉強会のアナウンスをお送りしますbull 興味がなくなったら ML フッターのリンクから
unsubscribe してください
次回予告118
119
次回予告bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会ndash AI 情報共有会
bull 最近の AI系のニュースとかキャッチーな論文の成果を薄く広く紹介する会ndash 社内技術共有会
bull チームラボの最近の案件の技術的に面白い部分について知見を共有する会
ndash 630 の回は学生さん参加 OK
120
630 社内技術共有会bull ライブでのムービングライト制御について服部さんに話をしてもらいますbull teamLab Music Festival (making)
bull 狙った場所に正確に照射するために何をしたのかbull 実演あり
121
次回以降の予定bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会bull 77(木 ) 1900 - 2100 機械学習もくもく会(社内のみ)bull 714(木 ) 1900 - 2100
Deep Learning ハンズオン 2 (予定)bull これらの情報にキャッチアップしたいチームラボの人は
Slack の ai トピックに参加して下さいbull 学生の方は ML からご案内します
- Deep Learningハンズオン 1
- はじめに
- Deep Learning勉強会
- 今回から学生さんを受け入れています
- 今日の目次
- TensorFlow
- ハンズオン1 Jupyter
- Jupyter(旧称 IPython Notebook)
- Hello Jupyter
- Hello Jupyter (2)
- Hello Jupyter (3)
- ハンズオン2 TENSORFLOW入門
- ニューラルネットワーク(復習)
- 活性化関数ReLU関数
- 出力関数softmax関数
- ロス関数
- ドロップアウト
- ドロップアウト (2)
- ドロップアウト (3)
- ドロップアウト (4)
- ニューラルネット復習キーワード
- 数字認識確保する変数は
- 数字認識確保する変数は (2)
- 数字認識確保する変数は (3)
- 数字認識実際の計算
- 結合バイアス
- 結合バイアス (2)
- 結合バイアス (3)
- 数字認識確保する変数は (4)
- 数字認識確保する変数は (5)
- 数字認識確保する変数は (6)
- 数字認識確保する変数は (7)
- 数字認識実際の計算(バイアスあり)
- 数字認識一度に1データを処理
- 数字認識一度に2データを処理
- 数字認識一度に3データを処理
- 数字認識一度にNデータを処理
- 数字認識確保する変数(バッチ学習の場合)
- たくさんのバッチで繰り返し学習
- たくさんのバッチで繰り返し学習 (2)
- たくさんのバッチで繰り返し学習 (3)
- たくさんのバッチで繰り返し学習 (4)
- たくさんのバッチで繰り返し学習 (5)
- たくさんのバッチで繰り返し学習 (6)
- TensorFlowのデータ型
- Hello TensorFlow ( 000-MNISTipynb を開いて)
- Hello TensorFlow
- Hello TensorFlow (2)
- Hello TensorFlow (3)
- Hello TensorFlow (4)
- Hello TensorFlow (5)
- Hello TensorFlow (6)
- Hello TensorFlow (7)
- Hello TensorFlow (8)
- Hello TensorFlow (9)
- Hello TensorFlow (10)
- Hello TensorFlow (11)
- ロス関数もテンソルでモデル化
- ロス関数もテンソルでモデル化 (2)
- クロスエントロピーとは
- Hello TensorFlow (12)
- Hello TensorFlow (13)
- Hello TensorFlow (14)
- Hello TensorFlow (15)
- Hello TensorFlow (16)
- Hello TensorFlow (17)
- Hello TensorFlow (18)
- Hello TensorFlow (19)
- 精度の値もテンソルでモデル化
- 精度の値もテンソルでモデル化 (2)
- Hello TensorFlow (20)
- argmaxで認識結果が得られる
- Hello TensorFlow (21)
- Hello TensorFlow (22)
- Hello TensorFlow (23)
- Hello TensorFlow (24)
- Hello TensorFlow (25)
- フリータイム
- ハンズオン3 CNN
- 畳み込みニューラルネット
- 畳み込みニューラルネット (2)
- 通常のNN
- 入力を整形
- 畳み込みNNのパラメタ
- 畳み込み後の層
- プーリング (2x2)
- CNN全体構成 (13)
- CNN全体構成 (23)
- CNN全体構成 (33)
- CNN全体構成 (33) (2)
- Hello CNN
- Hello CNN (2)
- Hello CNN (3)
- Hello CNN (4)
- Hello CNN(モデル作成)
- Hello CNN(モデル作成) (2)
- Hello CNN(モデル作成) (3)
- Hello CNN(モデル作成) (4)
- Hello CNN(モデル作成) (5)
- Hello CNN(モデル作成) (6)
- Hello CNN(モデル作成) (7)
- Hello CNN(モデル作成) (8)
- Hello CNN(モデル作成) (9)
- Hello CNN(モデル作成) (10)
- Hello CNN(モデル作成) (11)
- Hello CNN(モデル作成) (12)
- Hello CNN(モデル作成) (13)
- Hello CNN(モデル作成) (14)
- Hello CNN(ロス関数)
- Hello CNN(学習)
- Hello CNN(学習) (2)
- Hello CNN(学習) (3)
- Hello CNN(性能評価)
- フリータイム (2)
- お疲れ様でした
- 各自ファイルを持ち帰って下さい
- 学生さん向けアナウンス
- 次回予告
- 次回予告 (2)
- 630 社内技術共有会
- 次回以降の予定
-
102
Hello CNN (モデル作成)
103
Hello CNN (モデル作成)
104
Hello CNN (モデル作成)
105
Hello CNN (モデル作成)
106
Hello CNN (モデル作成)
107
Hello CNN (モデル作成)
108
Hello CNN (モデル作成)
109
Hello CNN (ロス関数)
110
Hello CNN (学習)最適化手法 Adam を使う
111
Hello CNN (学習)インタラクティブセッションなので
proc_initrun() と書ける(先程は sessrun(proc_init) と書いていた)
112
Hello CNN (学習)インタラクティブセッションなので
accuracyeval() と書ける(先程は sessrun(accuracy) と書いていた)
113
Hello CNN (性能評価)
先の単純な NNよりもメモリを使うので一度に全てのテストデータを NN に投入できないdarr分割して精度評価し平均を取る
114
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -CNN-MNIST と入力例 yamamoto-CNN-MNIST
サンプル本体 000-CNN-MNISTipynb
お疲れ様でした115
各自ファイルを持ち帰って下さいbull サーバはこのあと削除しますbull File rarr Download as rarr IPython Notebook
116
117
学生さん向けアナウンスbull 参加頂いた方を勉強会の告知用 ML に登録しますbull ML 経由で次回以降の勉強会のアナウンスをお送りしますbull 興味がなくなったら ML フッターのリンクから
unsubscribe してください
次回予告118
119
次回予告bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会ndash AI 情報共有会
bull 最近の AI系のニュースとかキャッチーな論文の成果を薄く広く紹介する会ndash 社内技術共有会
bull チームラボの最近の案件の技術的に面白い部分について知見を共有する会
ndash 630 の回は学生さん参加 OK
120
630 社内技術共有会bull ライブでのムービングライト制御について服部さんに話をしてもらいますbull teamLab Music Festival (making)
bull 狙った場所に正確に照射するために何をしたのかbull 実演あり
121
次回以降の予定bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会bull 77(木 ) 1900 - 2100 機械学習もくもく会(社内のみ)bull 714(木 ) 1900 - 2100
Deep Learning ハンズオン 2 (予定)bull これらの情報にキャッチアップしたいチームラボの人は
Slack の ai トピックに参加して下さいbull 学生の方は ML からご案内します
- Deep Learningハンズオン 1
- はじめに
- Deep Learning勉強会
- 今回から学生さんを受け入れています
- 今日の目次
- TensorFlow
- ハンズオン1 Jupyter
- Jupyter(旧称 IPython Notebook)
- Hello Jupyter
- Hello Jupyter (2)
- Hello Jupyter (3)
- ハンズオン2 TENSORFLOW入門
- ニューラルネットワーク(復習)
- 活性化関数ReLU関数
- 出力関数softmax関数
- ロス関数
- ドロップアウト
- ドロップアウト (2)
- ドロップアウト (3)
- ドロップアウト (4)
- ニューラルネット復習キーワード
- 数字認識確保する変数は
- 数字認識確保する変数は (2)
- 数字認識確保する変数は (3)
- 数字認識実際の計算
- 結合バイアス
- 結合バイアス (2)
- 結合バイアス (3)
- 数字認識確保する変数は (4)
- 数字認識確保する変数は (5)
- 数字認識確保する変数は (6)
- 数字認識確保する変数は (7)
- 数字認識実際の計算(バイアスあり)
- 数字認識一度に1データを処理
- 数字認識一度に2データを処理
- 数字認識一度に3データを処理
- 数字認識一度にNデータを処理
- 数字認識確保する変数(バッチ学習の場合)
- たくさんのバッチで繰り返し学習
- たくさんのバッチで繰り返し学習 (2)
- たくさんのバッチで繰り返し学習 (3)
- たくさんのバッチで繰り返し学習 (4)
- たくさんのバッチで繰り返し学習 (5)
- たくさんのバッチで繰り返し学習 (6)
- TensorFlowのデータ型
- Hello TensorFlow ( 000-MNISTipynb を開いて)
- Hello TensorFlow
- Hello TensorFlow (2)
- Hello TensorFlow (3)
- Hello TensorFlow (4)
- Hello TensorFlow (5)
- Hello TensorFlow (6)
- Hello TensorFlow (7)
- Hello TensorFlow (8)
- Hello TensorFlow (9)
- Hello TensorFlow (10)
- Hello TensorFlow (11)
- ロス関数もテンソルでモデル化
- ロス関数もテンソルでモデル化 (2)
- クロスエントロピーとは
- Hello TensorFlow (12)
- Hello TensorFlow (13)
- Hello TensorFlow (14)
- Hello TensorFlow (15)
- Hello TensorFlow (16)
- Hello TensorFlow (17)
- Hello TensorFlow (18)
- Hello TensorFlow (19)
- 精度の値もテンソルでモデル化
- 精度の値もテンソルでモデル化 (2)
- Hello TensorFlow (20)
- argmaxで認識結果が得られる
- Hello TensorFlow (21)
- Hello TensorFlow (22)
- Hello TensorFlow (23)
- Hello TensorFlow (24)
- Hello TensorFlow (25)
- フリータイム
- ハンズオン3 CNN
- 畳み込みニューラルネット
- 畳み込みニューラルネット (2)
- 通常のNN
- 入力を整形
- 畳み込みNNのパラメタ
- 畳み込み後の層
- プーリング (2x2)
- CNN全体構成 (13)
- CNN全体構成 (23)
- CNN全体構成 (33)
- CNN全体構成 (33) (2)
- Hello CNN
- Hello CNN (2)
- Hello CNN (3)
- Hello CNN (4)
- Hello CNN(モデル作成)
- Hello CNN(モデル作成) (2)
- Hello CNN(モデル作成) (3)
- Hello CNN(モデル作成) (4)
- Hello CNN(モデル作成) (5)
- Hello CNN(モデル作成) (6)
- Hello CNN(モデル作成) (7)
- Hello CNN(モデル作成) (8)
- Hello CNN(モデル作成) (9)
- Hello CNN(モデル作成) (10)
- Hello CNN(モデル作成) (11)
- Hello CNN(モデル作成) (12)
- Hello CNN(モデル作成) (13)
- Hello CNN(モデル作成) (14)
- Hello CNN(ロス関数)
- Hello CNN(学習)
- Hello CNN(学習) (2)
- Hello CNN(学習) (3)
- Hello CNN(性能評価)
- フリータイム (2)
- お疲れ様でした
- 各自ファイルを持ち帰って下さい
- 学生さん向けアナウンス
- 次回予告
- 次回予告 (2)
- 630 社内技術共有会
- 次回以降の予定
-
103
Hello CNN (モデル作成)
104
Hello CNN (モデル作成)
105
Hello CNN (モデル作成)
106
Hello CNN (モデル作成)
107
Hello CNN (モデル作成)
108
Hello CNN (モデル作成)
109
Hello CNN (ロス関数)
110
Hello CNN (学習)最適化手法 Adam を使う
111
Hello CNN (学習)インタラクティブセッションなので
proc_initrun() と書ける(先程は sessrun(proc_init) と書いていた)
112
Hello CNN (学習)インタラクティブセッションなので
accuracyeval() と書ける(先程は sessrun(accuracy) と書いていた)
113
Hello CNN (性能評価)
先の単純な NNよりもメモリを使うので一度に全てのテストデータを NN に投入できないdarr分割して精度評価し平均を取る
114
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -CNN-MNIST と入力例 yamamoto-CNN-MNIST
サンプル本体 000-CNN-MNISTipynb
お疲れ様でした115
各自ファイルを持ち帰って下さいbull サーバはこのあと削除しますbull File rarr Download as rarr IPython Notebook
116
117
学生さん向けアナウンスbull 参加頂いた方を勉強会の告知用 ML に登録しますbull ML 経由で次回以降の勉強会のアナウンスをお送りしますbull 興味がなくなったら ML フッターのリンクから
unsubscribe してください
次回予告118
119
次回予告bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会ndash AI 情報共有会
bull 最近の AI系のニュースとかキャッチーな論文の成果を薄く広く紹介する会ndash 社内技術共有会
bull チームラボの最近の案件の技術的に面白い部分について知見を共有する会
ndash 630 の回は学生さん参加 OK
120
630 社内技術共有会bull ライブでのムービングライト制御について服部さんに話をしてもらいますbull teamLab Music Festival (making)
bull 狙った場所に正確に照射するために何をしたのかbull 実演あり
121
次回以降の予定bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会bull 77(木 ) 1900 - 2100 機械学習もくもく会(社内のみ)bull 714(木 ) 1900 - 2100
Deep Learning ハンズオン 2 (予定)bull これらの情報にキャッチアップしたいチームラボの人は
Slack の ai トピックに参加して下さいbull 学生の方は ML からご案内します
- Deep Learningハンズオン 1
- はじめに
- Deep Learning勉強会
- 今回から学生さんを受け入れています
- 今日の目次
- TensorFlow
- ハンズオン1 Jupyter
- Jupyter(旧称 IPython Notebook)
- Hello Jupyter
- Hello Jupyter (2)
- Hello Jupyter (3)
- ハンズオン2 TENSORFLOW入門
- ニューラルネットワーク(復習)
- 活性化関数ReLU関数
- 出力関数softmax関数
- ロス関数
- ドロップアウト
- ドロップアウト (2)
- ドロップアウト (3)
- ドロップアウト (4)
- ニューラルネット復習キーワード
- 数字認識確保する変数は
- 数字認識確保する変数は (2)
- 数字認識確保する変数は (3)
- 数字認識実際の計算
- 結合バイアス
- 結合バイアス (2)
- 結合バイアス (3)
- 数字認識確保する変数は (4)
- 数字認識確保する変数は (5)
- 数字認識確保する変数は (6)
- 数字認識確保する変数は (7)
- 数字認識実際の計算(バイアスあり)
- 数字認識一度に1データを処理
- 数字認識一度に2データを処理
- 数字認識一度に3データを処理
- 数字認識一度にNデータを処理
- 数字認識確保する変数(バッチ学習の場合)
- たくさんのバッチで繰り返し学習
- たくさんのバッチで繰り返し学習 (2)
- たくさんのバッチで繰り返し学習 (3)
- たくさんのバッチで繰り返し学習 (4)
- たくさんのバッチで繰り返し学習 (5)
- たくさんのバッチで繰り返し学習 (6)
- TensorFlowのデータ型
- Hello TensorFlow ( 000-MNISTipynb を開いて)
- Hello TensorFlow
- Hello TensorFlow (2)
- Hello TensorFlow (3)
- Hello TensorFlow (4)
- Hello TensorFlow (5)
- Hello TensorFlow (6)
- Hello TensorFlow (7)
- Hello TensorFlow (8)
- Hello TensorFlow (9)
- Hello TensorFlow (10)
- Hello TensorFlow (11)
- ロス関数もテンソルでモデル化
- ロス関数もテンソルでモデル化 (2)
- クロスエントロピーとは
- Hello TensorFlow (12)
- Hello TensorFlow (13)
- Hello TensorFlow (14)
- Hello TensorFlow (15)
- Hello TensorFlow (16)
- Hello TensorFlow (17)
- Hello TensorFlow (18)
- Hello TensorFlow (19)
- 精度の値もテンソルでモデル化
- 精度の値もテンソルでモデル化 (2)
- Hello TensorFlow (20)
- argmaxで認識結果が得られる
- Hello TensorFlow (21)
- Hello TensorFlow (22)
- Hello TensorFlow (23)
- Hello TensorFlow (24)
- Hello TensorFlow (25)
- フリータイム
- ハンズオン3 CNN
- 畳み込みニューラルネット
- 畳み込みニューラルネット (2)
- 通常のNN
- 入力を整形
- 畳み込みNNのパラメタ
- 畳み込み後の層
- プーリング (2x2)
- CNN全体構成 (13)
- CNN全体構成 (23)
- CNN全体構成 (33)
- CNN全体構成 (33) (2)
- Hello CNN
- Hello CNN (2)
- Hello CNN (3)
- Hello CNN (4)
- Hello CNN(モデル作成)
- Hello CNN(モデル作成) (2)
- Hello CNN(モデル作成) (3)
- Hello CNN(モデル作成) (4)
- Hello CNN(モデル作成) (5)
- Hello CNN(モデル作成) (6)
- Hello CNN(モデル作成) (7)
- Hello CNN(モデル作成) (8)
- Hello CNN(モデル作成) (9)
- Hello CNN(モデル作成) (10)
- Hello CNN(モデル作成) (11)
- Hello CNN(モデル作成) (12)
- Hello CNN(モデル作成) (13)
- Hello CNN(モデル作成) (14)
- Hello CNN(ロス関数)
- Hello CNN(学習)
- Hello CNN(学習) (2)
- Hello CNN(学習) (3)
- Hello CNN(性能評価)
- フリータイム (2)
- お疲れ様でした
- 各自ファイルを持ち帰って下さい
- 学生さん向けアナウンス
- 次回予告
- 次回予告 (2)
- 630 社内技術共有会
- 次回以降の予定
-
104
Hello CNN (モデル作成)
105
Hello CNN (モデル作成)
106
Hello CNN (モデル作成)
107
Hello CNN (モデル作成)
108
Hello CNN (モデル作成)
109
Hello CNN (ロス関数)
110
Hello CNN (学習)最適化手法 Adam を使う
111
Hello CNN (学習)インタラクティブセッションなので
proc_initrun() と書ける(先程は sessrun(proc_init) と書いていた)
112
Hello CNN (学習)インタラクティブセッションなので
accuracyeval() と書ける(先程は sessrun(accuracy) と書いていた)
113
Hello CNN (性能評価)
先の単純な NNよりもメモリを使うので一度に全てのテストデータを NN に投入できないdarr分割して精度評価し平均を取る
114
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -CNN-MNIST と入力例 yamamoto-CNN-MNIST
サンプル本体 000-CNN-MNISTipynb
お疲れ様でした115
各自ファイルを持ち帰って下さいbull サーバはこのあと削除しますbull File rarr Download as rarr IPython Notebook
116
117
学生さん向けアナウンスbull 参加頂いた方を勉強会の告知用 ML に登録しますbull ML 経由で次回以降の勉強会のアナウンスをお送りしますbull 興味がなくなったら ML フッターのリンクから
unsubscribe してください
次回予告118
119
次回予告bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会ndash AI 情報共有会
bull 最近の AI系のニュースとかキャッチーな論文の成果を薄く広く紹介する会ndash 社内技術共有会
bull チームラボの最近の案件の技術的に面白い部分について知見を共有する会
ndash 630 の回は学生さん参加 OK
120
630 社内技術共有会bull ライブでのムービングライト制御について服部さんに話をしてもらいますbull teamLab Music Festival (making)
bull 狙った場所に正確に照射するために何をしたのかbull 実演あり
121
次回以降の予定bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会bull 77(木 ) 1900 - 2100 機械学習もくもく会(社内のみ)bull 714(木 ) 1900 - 2100
Deep Learning ハンズオン 2 (予定)bull これらの情報にキャッチアップしたいチームラボの人は
Slack の ai トピックに参加して下さいbull 学生の方は ML からご案内します
- Deep Learningハンズオン 1
- はじめに
- Deep Learning勉強会
- 今回から学生さんを受け入れています
- 今日の目次
- TensorFlow
- ハンズオン1 Jupyter
- Jupyter(旧称 IPython Notebook)
- Hello Jupyter
- Hello Jupyter (2)
- Hello Jupyter (3)
- ハンズオン2 TENSORFLOW入門
- ニューラルネットワーク(復習)
- 活性化関数ReLU関数
- 出力関数softmax関数
- ロス関数
- ドロップアウト
- ドロップアウト (2)
- ドロップアウト (3)
- ドロップアウト (4)
- ニューラルネット復習キーワード
- 数字認識確保する変数は
- 数字認識確保する変数は (2)
- 数字認識確保する変数は (3)
- 数字認識実際の計算
- 結合バイアス
- 結合バイアス (2)
- 結合バイアス (3)
- 数字認識確保する変数は (4)
- 数字認識確保する変数は (5)
- 数字認識確保する変数は (6)
- 数字認識確保する変数は (7)
- 数字認識実際の計算(バイアスあり)
- 数字認識一度に1データを処理
- 数字認識一度に2データを処理
- 数字認識一度に3データを処理
- 数字認識一度にNデータを処理
- 数字認識確保する変数(バッチ学習の場合)
- たくさんのバッチで繰り返し学習
- たくさんのバッチで繰り返し学習 (2)
- たくさんのバッチで繰り返し学習 (3)
- たくさんのバッチで繰り返し学習 (4)
- たくさんのバッチで繰り返し学習 (5)
- たくさんのバッチで繰り返し学習 (6)
- TensorFlowのデータ型
- Hello TensorFlow ( 000-MNISTipynb を開いて)
- Hello TensorFlow
- Hello TensorFlow (2)
- Hello TensorFlow (3)
- Hello TensorFlow (4)
- Hello TensorFlow (5)
- Hello TensorFlow (6)
- Hello TensorFlow (7)
- Hello TensorFlow (8)
- Hello TensorFlow (9)
- Hello TensorFlow (10)
- Hello TensorFlow (11)
- ロス関数もテンソルでモデル化
- ロス関数もテンソルでモデル化 (2)
- クロスエントロピーとは
- Hello TensorFlow (12)
- Hello TensorFlow (13)
- Hello TensorFlow (14)
- Hello TensorFlow (15)
- Hello TensorFlow (16)
- Hello TensorFlow (17)
- Hello TensorFlow (18)
- Hello TensorFlow (19)
- 精度の値もテンソルでモデル化
- 精度の値もテンソルでモデル化 (2)
- Hello TensorFlow (20)
- argmaxで認識結果が得られる
- Hello TensorFlow (21)
- Hello TensorFlow (22)
- Hello TensorFlow (23)
- Hello TensorFlow (24)
- Hello TensorFlow (25)
- フリータイム
- ハンズオン3 CNN
- 畳み込みニューラルネット
- 畳み込みニューラルネット (2)
- 通常のNN
- 入力を整形
- 畳み込みNNのパラメタ
- 畳み込み後の層
- プーリング (2x2)
- CNN全体構成 (13)
- CNN全体構成 (23)
- CNN全体構成 (33)
- CNN全体構成 (33) (2)
- Hello CNN
- Hello CNN (2)
- Hello CNN (3)
- Hello CNN (4)
- Hello CNN(モデル作成)
- Hello CNN(モデル作成) (2)
- Hello CNN(モデル作成) (3)
- Hello CNN(モデル作成) (4)
- Hello CNN(モデル作成) (5)
- Hello CNN(モデル作成) (6)
- Hello CNN(モデル作成) (7)
- Hello CNN(モデル作成) (8)
- Hello CNN(モデル作成) (9)
- Hello CNN(モデル作成) (10)
- Hello CNN(モデル作成) (11)
- Hello CNN(モデル作成) (12)
- Hello CNN(モデル作成) (13)
- Hello CNN(モデル作成) (14)
- Hello CNN(ロス関数)
- Hello CNN(学習)
- Hello CNN(学習) (2)
- Hello CNN(学習) (3)
- Hello CNN(性能評価)
- フリータイム (2)
- お疲れ様でした
- 各自ファイルを持ち帰って下さい
- 学生さん向けアナウンス
- 次回予告
- 次回予告 (2)
- 630 社内技術共有会
- 次回以降の予定
-
105
Hello CNN (モデル作成)
106
Hello CNN (モデル作成)
107
Hello CNN (モデル作成)
108
Hello CNN (モデル作成)
109
Hello CNN (ロス関数)
110
Hello CNN (学習)最適化手法 Adam を使う
111
Hello CNN (学習)インタラクティブセッションなので
proc_initrun() と書ける(先程は sessrun(proc_init) と書いていた)
112
Hello CNN (学習)インタラクティブセッションなので
accuracyeval() と書ける(先程は sessrun(accuracy) と書いていた)
113
Hello CNN (性能評価)
先の単純な NNよりもメモリを使うので一度に全てのテストデータを NN に投入できないdarr分割して精度評価し平均を取る
114
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -CNN-MNIST と入力例 yamamoto-CNN-MNIST
サンプル本体 000-CNN-MNISTipynb
お疲れ様でした115
各自ファイルを持ち帰って下さいbull サーバはこのあと削除しますbull File rarr Download as rarr IPython Notebook
116
117
学生さん向けアナウンスbull 参加頂いた方を勉強会の告知用 ML に登録しますbull ML 経由で次回以降の勉強会のアナウンスをお送りしますbull 興味がなくなったら ML フッターのリンクから
unsubscribe してください
次回予告118
119
次回予告bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会ndash AI 情報共有会
bull 最近の AI系のニュースとかキャッチーな論文の成果を薄く広く紹介する会ndash 社内技術共有会
bull チームラボの最近の案件の技術的に面白い部分について知見を共有する会
ndash 630 の回は学生さん参加 OK
120
630 社内技術共有会bull ライブでのムービングライト制御について服部さんに話をしてもらいますbull teamLab Music Festival (making)
bull 狙った場所に正確に照射するために何をしたのかbull 実演あり
121
次回以降の予定bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会bull 77(木 ) 1900 - 2100 機械学習もくもく会(社内のみ)bull 714(木 ) 1900 - 2100
Deep Learning ハンズオン 2 (予定)bull これらの情報にキャッチアップしたいチームラボの人は
Slack の ai トピックに参加して下さいbull 学生の方は ML からご案内します
- Deep Learningハンズオン 1
- はじめに
- Deep Learning勉強会
- 今回から学生さんを受け入れています
- 今日の目次
- TensorFlow
- ハンズオン1 Jupyter
- Jupyter(旧称 IPython Notebook)
- Hello Jupyter
- Hello Jupyter (2)
- Hello Jupyter (3)
- ハンズオン2 TENSORFLOW入門
- ニューラルネットワーク(復習)
- 活性化関数ReLU関数
- 出力関数softmax関数
- ロス関数
- ドロップアウト
- ドロップアウト (2)
- ドロップアウト (3)
- ドロップアウト (4)
- ニューラルネット復習キーワード
- 数字認識確保する変数は
- 数字認識確保する変数は (2)
- 数字認識確保する変数は (3)
- 数字認識実際の計算
- 結合バイアス
- 結合バイアス (2)
- 結合バイアス (3)
- 数字認識確保する変数は (4)
- 数字認識確保する変数は (5)
- 数字認識確保する変数は (6)
- 数字認識確保する変数は (7)
- 数字認識実際の計算(バイアスあり)
- 数字認識一度に1データを処理
- 数字認識一度に2データを処理
- 数字認識一度に3データを処理
- 数字認識一度にNデータを処理
- 数字認識確保する変数(バッチ学習の場合)
- たくさんのバッチで繰り返し学習
- たくさんのバッチで繰り返し学習 (2)
- たくさんのバッチで繰り返し学習 (3)
- たくさんのバッチで繰り返し学習 (4)
- たくさんのバッチで繰り返し学習 (5)
- たくさんのバッチで繰り返し学習 (6)
- TensorFlowのデータ型
- Hello TensorFlow ( 000-MNISTipynb を開いて)
- Hello TensorFlow
- Hello TensorFlow (2)
- Hello TensorFlow (3)
- Hello TensorFlow (4)
- Hello TensorFlow (5)
- Hello TensorFlow (6)
- Hello TensorFlow (7)
- Hello TensorFlow (8)
- Hello TensorFlow (9)
- Hello TensorFlow (10)
- Hello TensorFlow (11)
- ロス関数もテンソルでモデル化
- ロス関数もテンソルでモデル化 (2)
- クロスエントロピーとは
- Hello TensorFlow (12)
- Hello TensorFlow (13)
- Hello TensorFlow (14)
- Hello TensorFlow (15)
- Hello TensorFlow (16)
- Hello TensorFlow (17)
- Hello TensorFlow (18)
- Hello TensorFlow (19)
- 精度の値もテンソルでモデル化
- 精度の値もテンソルでモデル化 (2)
- Hello TensorFlow (20)
- argmaxで認識結果が得られる
- Hello TensorFlow (21)
- Hello TensorFlow (22)
- Hello TensorFlow (23)
- Hello TensorFlow (24)
- Hello TensorFlow (25)
- フリータイム
- ハンズオン3 CNN
- 畳み込みニューラルネット
- 畳み込みニューラルネット (2)
- 通常のNN
- 入力を整形
- 畳み込みNNのパラメタ
- 畳み込み後の層
- プーリング (2x2)
- CNN全体構成 (13)
- CNN全体構成 (23)
- CNN全体構成 (33)
- CNN全体構成 (33) (2)
- Hello CNN
- Hello CNN (2)
- Hello CNN (3)
- Hello CNN (4)
- Hello CNN(モデル作成)
- Hello CNN(モデル作成) (2)
- Hello CNN(モデル作成) (3)
- Hello CNN(モデル作成) (4)
- Hello CNN(モデル作成) (5)
- Hello CNN(モデル作成) (6)
- Hello CNN(モデル作成) (7)
- Hello CNN(モデル作成) (8)
- Hello CNN(モデル作成) (9)
- Hello CNN(モデル作成) (10)
- Hello CNN(モデル作成) (11)
- Hello CNN(モデル作成) (12)
- Hello CNN(モデル作成) (13)
- Hello CNN(モデル作成) (14)
- Hello CNN(ロス関数)
- Hello CNN(学習)
- Hello CNN(学習) (2)
- Hello CNN(学習) (3)
- Hello CNN(性能評価)
- フリータイム (2)
- お疲れ様でした
- 各自ファイルを持ち帰って下さい
- 学生さん向けアナウンス
- 次回予告
- 次回予告 (2)
- 630 社内技術共有会
- 次回以降の予定
-
106
Hello CNN (モデル作成)
107
Hello CNN (モデル作成)
108
Hello CNN (モデル作成)
109
Hello CNN (ロス関数)
110
Hello CNN (学習)最適化手法 Adam を使う
111
Hello CNN (学習)インタラクティブセッションなので
proc_initrun() と書ける(先程は sessrun(proc_init) と書いていた)
112
Hello CNN (学習)インタラクティブセッションなので
accuracyeval() と書ける(先程は sessrun(accuracy) と書いていた)
113
Hello CNN (性能評価)
先の単純な NNよりもメモリを使うので一度に全てのテストデータを NN に投入できないdarr分割して精度評価し平均を取る
114
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -CNN-MNIST と入力例 yamamoto-CNN-MNIST
サンプル本体 000-CNN-MNISTipynb
お疲れ様でした115
各自ファイルを持ち帰って下さいbull サーバはこのあと削除しますbull File rarr Download as rarr IPython Notebook
116
117
学生さん向けアナウンスbull 参加頂いた方を勉強会の告知用 ML に登録しますbull ML 経由で次回以降の勉強会のアナウンスをお送りしますbull 興味がなくなったら ML フッターのリンクから
unsubscribe してください
次回予告118
119
次回予告bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会ndash AI 情報共有会
bull 最近の AI系のニュースとかキャッチーな論文の成果を薄く広く紹介する会ndash 社内技術共有会
bull チームラボの最近の案件の技術的に面白い部分について知見を共有する会
ndash 630 の回は学生さん参加 OK
120
630 社内技術共有会bull ライブでのムービングライト制御について服部さんに話をしてもらいますbull teamLab Music Festival (making)
bull 狙った場所に正確に照射するために何をしたのかbull 実演あり
121
次回以降の予定bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会bull 77(木 ) 1900 - 2100 機械学習もくもく会(社内のみ)bull 714(木 ) 1900 - 2100
Deep Learning ハンズオン 2 (予定)bull これらの情報にキャッチアップしたいチームラボの人は
Slack の ai トピックに参加して下さいbull 学生の方は ML からご案内します
- Deep Learningハンズオン 1
- はじめに
- Deep Learning勉強会
- 今回から学生さんを受け入れています
- 今日の目次
- TensorFlow
- ハンズオン1 Jupyter
- Jupyter(旧称 IPython Notebook)
- Hello Jupyter
- Hello Jupyter (2)
- Hello Jupyter (3)
- ハンズオン2 TENSORFLOW入門
- ニューラルネットワーク(復習)
- 活性化関数ReLU関数
- 出力関数softmax関数
- ロス関数
- ドロップアウト
- ドロップアウト (2)
- ドロップアウト (3)
- ドロップアウト (4)
- ニューラルネット復習キーワード
- 数字認識確保する変数は
- 数字認識確保する変数は (2)
- 数字認識確保する変数は (3)
- 数字認識実際の計算
- 結合バイアス
- 結合バイアス (2)
- 結合バイアス (3)
- 数字認識確保する変数は (4)
- 数字認識確保する変数は (5)
- 数字認識確保する変数は (6)
- 数字認識確保する変数は (7)
- 数字認識実際の計算(バイアスあり)
- 数字認識一度に1データを処理
- 数字認識一度に2データを処理
- 数字認識一度に3データを処理
- 数字認識一度にNデータを処理
- 数字認識確保する変数(バッチ学習の場合)
- たくさんのバッチで繰り返し学習
- たくさんのバッチで繰り返し学習 (2)
- たくさんのバッチで繰り返し学習 (3)
- たくさんのバッチで繰り返し学習 (4)
- たくさんのバッチで繰り返し学習 (5)
- たくさんのバッチで繰り返し学習 (6)
- TensorFlowのデータ型
- Hello TensorFlow ( 000-MNISTipynb を開いて)
- Hello TensorFlow
- Hello TensorFlow (2)
- Hello TensorFlow (3)
- Hello TensorFlow (4)
- Hello TensorFlow (5)
- Hello TensorFlow (6)
- Hello TensorFlow (7)
- Hello TensorFlow (8)
- Hello TensorFlow (9)
- Hello TensorFlow (10)
- Hello TensorFlow (11)
- ロス関数もテンソルでモデル化
- ロス関数もテンソルでモデル化 (2)
- クロスエントロピーとは
- Hello TensorFlow (12)
- Hello TensorFlow (13)
- Hello TensorFlow (14)
- Hello TensorFlow (15)
- Hello TensorFlow (16)
- Hello TensorFlow (17)
- Hello TensorFlow (18)
- Hello TensorFlow (19)
- 精度の値もテンソルでモデル化
- 精度の値もテンソルでモデル化 (2)
- Hello TensorFlow (20)
- argmaxで認識結果が得られる
- Hello TensorFlow (21)
- Hello TensorFlow (22)
- Hello TensorFlow (23)
- Hello TensorFlow (24)
- Hello TensorFlow (25)
- フリータイム
- ハンズオン3 CNN
- 畳み込みニューラルネット
- 畳み込みニューラルネット (2)
- 通常のNN
- 入力を整形
- 畳み込みNNのパラメタ
- 畳み込み後の層
- プーリング (2x2)
- CNN全体構成 (13)
- CNN全体構成 (23)
- CNN全体構成 (33)
- CNN全体構成 (33) (2)
- Hello CNN
- Hello CNN (2)
- Hello CNN (3)
- Hello CNN (4)
- Hello CNN(モデル作成)
- Hello CNN(モデル作成) (2)
- Hello CNN(モデル作成) (3)
- Hello CNN(モデル作成) (4)
- Hello CNN(モデル作成) (5)
- Hello CNN(モデル作成) (6)
- Hello CNN(モデル作成) (7)
- Hello CNN(モデル作成) (8)
- Hello CNN(モデル作成) (9)
- Hello CNN(モデル作成) (10)
- Hello CNN(モデル作成) (11)
- Hello CNN(モデル作成) (12)
- Hello CNN(モデル作成) (13)
- Hello CNN(モデル作成) (14)
- Hello CNN(ロス関数)
- Hello CNN(学習)
- Hello CNN(学習) (2)
- Hello CNN(学習) (3)
- Hello CNN(性能評価)
- フリータイム (2)
- お疲れ様でした
- 各自ファイルを持ち帰って下さい
- 学生さん向けアナウンス
- 次回予告
- 次回予告 (2)
- 630 社内技術共有会
- 次回以降の予定
-
107
Hello CNN (モデル作成)
108
Hello CNN (モデル作成)
109
Hello CNN (ロス関数)
110
Hello CNN (学習)最適化手法 Adam を使う
111
Hello CNN (学習)インタラクティブセッションなので
proc_initrun() と書ける(先程は sessrun(proc_init) と書いていた)
112
Hello CNN (学習)インタラクティブセッションなので
accuracyeval() と書ける(先程は sessrun(accuracy) と書いていた)
113
Hello CNN (性能評価)
先の単純な NNよりもメモリを使うので一度に全てのテストデータを NN に投入できないdarr分割して精度評価し平均を取る
114
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -CNN-MNIST と入力例 yamamoto-CNN-MNIST
サンプル本体 000-CNN-MNISTipynb
お疲れ様でした115
各自ファイルを持ち帰って下さいbull サーバはこのあと削除しますbull File rarr Download as rarr IPython Notebook
116
117
学生さん向けアナウンスbull 参加頂いた方を勉強会の告知用 ML に登録しますbull ML 経由で次回以降の勉強会のアナウンスをお送りしますbull 興味がなくなったら ML フッターのリンクから
unsubscribe してください
次回予告118
119
次回予告bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会ndash AI 情報共有会
bull 最近の AI系のニュースとかキャッチーな論文の成果を薄く広く紹介する会ndash 社内技術共有会
bull チームラボの最近の案件の技術的に面白い部分について知見を共有する会
ndash 630 の回は学生さん参加 OK
120
630 社内技術共有会bull ライブでのムービングライト制御について服部さんに話をしてもらいますbull teamLab Music Festival (making)
bull 狙った場所に正確に照射するために何をしたのかbull 実演あり
121
次回以降の予定bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会bull 77(木 ) 1900 - 2100 機械学習もくもく会(社内のみ)bull 714(木 ) 1900 - 2100
Deep Learning ハンズオン 2 (予定)bull これらの情報にキャッチアップしたいチームラボの人は
Slack の ai トピックに参加して下さいbull 学生の方は ML からご案内します
- Deep Learningハンズオン 1
- はじめに
- Deep Learning勉強会
- 今回から学生さんを受け入れています
- 今日の目次
- TensorFlow
- ハンズオン1 Jupyter
- Jupyter(旧称 IPython Notebook)
- Hello Jupyter
- Hello Jupyter (2)
- Hello Jupyter (3)
- ハンズオン2 TENSORFLOW入門
- ニューラルネットワーク(復習)
- 活性化関数ReLU関数
- 出力関数softmax関数
- ロス関数
- ドロップアウト
- ドロップアウト (2)
- ドロップアウト (3)
- ドロップアウト (4)
- ニューラルネット復習キーワード
- 数字認識確保する変数は
- 数字認識確保する変数は (2)
- 数字認識確保する変数は (3)
- 数字認識実際の計算
- 結合バイアス
- 結合バイアス (2)
- 結合バイアス (3)
- 数字認識確保する変数は (4)
- 数字認識確保する変数は (5)
- 数字認識確保する変数は (6)
- 数字認識確保する変数は (7)
- 数字認識実際の計算(バイアスあり)
- 数字認識一度に1データを処理
- 数字認識一度に2データを処理
- 数字認識一度に3データを処理
- 数字認識一度にNデータを処理
- 数字認識確保する変数(バッチ学習の場合)
- たくさんのバッチで繰り返し学習
- たくさんのバッチで繰り返し学習 (2)
- たくさんのバッチで繰り返し学習 (3)
- たくさんのバッチで繰り返し学習 (4)
- たくさんのバッチで繰り返し学習 (5)
- たくさんのバッチで繰り返し学習 (6)
- TensorFlowのデータ型
- Hello TensorFlow ( 000-MNISTipynb を開いて)
- Hello TensorFlow
- Hello TensorFlow (2)
- Hello TensorFlow (3)
- Hello TensorFlow (4)
- Hello TensorFlow (5)
- Hello TensorFlow (6)
- Hello TensorFlow (7)
- Hello TensorFlow (8)
- Hello TensorFlow (9)
- Hello TensorFlow (10)
- Hello TensorFlow (11)
- ロス関数もテンソルでモデル化
- ロス関数もテンソルでモデル化 (2)
- クロスエントロピーとは
- Hello TensorFlow (12)
- Hello TensorFlow (13)
- Hello TensorFlow (14)
- Hello TensorFlow (15)
- Hello TensorFlow (16)
- Hello TensorFlow (17)
- Hello TensorFlow (18)
- Hello TensorFlow (19)
- 精度の値もテンソルでモデル化
- 精度の値もテンソルでモデル化 (2)
- Hello TensorFlow (20)
- argmaxで認識結果が得られる
- Hello TensorFlow (21)
- Hello TensorFlow (22)
- Hello TensorFlow (23)
- Hello TensorFlow (24)
- Hello TensorFlow (25)
- フリータイム
- ハンズオン3 CNN
- 畳み込みニューラルネット
- 畳み込みニューラルネット (2)
- 通常のNN
- 入力を整形
- 畳み込みNNのパラメタ
- 畳み込み後の層
- プーリング (2x2)
- CNN全体構成 (13)
- CNN全体構成 (23)
- CNN全体構成 (33)
- CNN全体構成 (33) (2)
- Hello CNN
- Hello CNN (2)
- Hello CNN (3)
- Hello CNN (4)
- Hello CNN(モデル作成)
- Hello CNN(モデル作成) (2)
- Hello CNN(モデル作成) (3)
- Hello CNN(モデル作成) (4)
- Hello CNN(モデル作成) (5)
- Hello CNN(モデル作成) (6)
- Hello CNN(モデル作成) (7)
- Hello CNN(モデル作成) (8)
- Hello CNN(モデル作成) (9)
- Hello CNN(モデル作成) (10)
- Hello CNN(モデル作成) (11)
- Hello CNN(モデル作成) (12)
- Hello CNN(モデル作成) (13)
- Hello CNN(モデル作成) (14)
- Hello CNN(ロス関数)
- Hello CNN(学習)
- Hello CNN(学習) (2)
- Hello CNN(学習) (3)
- Hello CNN(性能評価)
- フリータイム (2)
- お疲れ様でした
- 各自ファイルを持ち帰って下さい
- 学生さん向けアナウンス
- 次回予告
- 次回予告 (2)
- 630 社内技術共有会
- 次回以降の予定
-
108
Hello CNN (モデル作成)
109
Hello CNN (ロス関数)
110
Hello CNN (学習)最適化手法 Adam を使う
111
Hello CNN (学習)インタラクティブセッションなので
proc_initrun() と書ける(先程は sessrun(proc_init) と書いていた)
112
Hello CNN (学習)インタラクティブセッションなので
accuracyeval() と書ける(先程は sessrun(accuracy) と書いていた)
113
Hello CNN (性能評価)
先の単純な NNよりもメモリを使うので一度に全てのテストデータを NN に投入できないdarr分割して精度評価し平均を取る
114
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -CNN-MNIST と入力例 yamamoto-CNN-MNIST
サンプル本体 000-CNN-MNISTipynb
お疲れ様でした115
各自ファイルを持ち帰って下さいbull サーバはこのあと削除しますbull File rarr Download as rarr IPython Notebook
116
117
学生さん向けアナウンスbull 参加頂いた方を勉強会の告知用 ML に登録しますbull ML 経由で次回以降の勉強会のアナウンスをお送りしますbull 興味がなくなったら ML フッターのリンクから
unsubscribe してください
次回予告118
119
次回予告bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会ndash AI 情報共有会
bull 最近の AI系のニュースとかキャッチーな論文の成果を薄く広く紹介する会ndash 社内技術共有会
bull チームラボの最近の案件の技術的に面白い部分について知見を共有する会
ndash 630 の回は学生さん参加 OK
120
630 社内技術共有会bull ライブでのムービングライト制御について服部さんに話をしてもらいますbull teamLab Music Festival (making)
bull 狙った場所に正確に照射するために何をしたのかbull 実演あり
121
次回以降の予定bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会bull 77(木 ) 1900 - 2100 機械学習もくもく会(社内のみ)bull 714(木 ) 1900 - 2100
Deep Learning ハンズオン 2 (予定)bull これらの情報にキャッチアップしたいチームラボの人は
Slack の ai トピックに参加して下さいbull 学生の方は ML からご案内します
- Deep Learningハンズオン 1
- はじめに
- Deep Learning勉強会
- 今回から学生さんを受け入れています
- 今日の目次
- TensorFlow
- ハンズオン1 Jupyter
- Jupyter(旧称 IPython Notebook)
- Hello Jupyter
- Hello Jupyter (2)
- Hello Jupyter (3)
- ハンズオン2 TENSORFLOW入門
- ニューラルネットワーク(復習)
- 活性化関数ReLU関数
- 出力関数softmax関数
- ロス関数
- ドロップアウト
- ドロップアウト (2)
- ドロップアウト (3)
- ドロップアウト (4)
- ニューラルネット復習キーワード
- 数字認識確保する変数は
- 数字認識確保する変数は (2)
- 数字認識確保する変数は (3)
- 数字認識実際の計算
- 結合バイアス
- 結合バイアス (2)
- 結合バイアス (3)
- 数字認識確保する変数は (4)
- 数字認識確保する変数は (5)
- 数字認識確保する変数は (6)
- 数字認識確保する変数は (7)
- 数字認識実際の計算(バイアスあり)
- 数字認識一度に1データを処理
- 数字認識一度に2データを処理
- 数字認識一度に3データを処理
- 数字認識一度にNデータを処理
- 数字認識確保する変数(バッチ学習の場合)
- たくさんのバッチで繰り返し学習
- たくさんのバッチで繰り返し学習 (2)
- たくさんのバッチで繰り返し学習 (3)
- たくさんのバッチで繰り返し学習 (4)
- たくさんのバッチで繰り返し学習 (5)
- たくさんのバッチで繰り返し学習 (6)
- TensorFlowのデータ型
- Hello TensorFlow ( 000-MNISTipynb を開いて)
- Hello TensorFlow
- Hello TensorFlow (2)
- Hello TensorFlow (3)
- Hello TensorFlow (4)
- Hello TensorFlow (5)
- Hello TensorFlow (6)
- Hello TensorFlow (7)
- Hello TensorFlow (8)
- Hello TensorFlow (9)
- Hello TensorFlow (10)
- Hello TensorFlow (11)
- ロス関数もテンソルでモデル化
- ロス関数もテンソルでモデル化 (2)
- クロスエントロピーとは
- Hello TensorFlow (12)
- Hello TensorFlow (13)
- Hello TensorFlow (14)
- Hello TensorFlow (15)
- Hello TensorFlow (16)
- Hello TensorFlow (17)
- Hello TensorFlow (18)
- Hello TensorFlow (19)
- 精度の値もテンソルでモデル化
- 精度の値もテンソルでモデル化 (2)
- Hello TensorFlow (20)
- argmaxで認識結果が得られる
- Hello TensorFlow (21)
- Hello TensorFlow (22)
- Hello TensorFlow (23)
- Hello TensorFlow (24)
- Hello TensorFlow (25)
- フリータイム
- ハンズオン3 CNN
- 畳み込みニューラルネット
- 畳み込みニューラルネット (2)
- 通常のNN
- 入力を整形
- 畳み込みNNのパラメタ
- 畳み込み後の層
- プーリング (2x2)
- CNN全体構成 (13)
- CNN全体構成 (23)
- CNN全体構成 (33)
- CNN全体構成 (33) (2)
- Hello CNN
- Hello CNN (2)
- Hello CNN (3)
- Hello CNN (4)
- Hello CNN(モデル作成)
- Hello CNN(モデル作成) (2)
- Hello CNN(モデル作成) (3)
- Hello CNN(モデル作成) (4)
- Hello CNN(モデル作成) (5)
- Hello CNN(モデル作成) (6)
- Hello CNN(モデル作成) (7)
- Hello CNN(モデル作成) (8)
- Hello CNN(モデル作成) (9)
- Hello CNN(モデル作成) (10)
- Hello CNN(モデル作成) (11)
- Hello CNN(モデル作成) (12)
- Hello CNN(モデル作成) (13)
- Hello CNN(モデル作成) (14)
- Hello CNN(ロス関数)
- Hello CNN(学習)
- Hello CNN(学習) (2)
- Hello CNN(学習) (3)
- Hello CNN(性能評価)
- フリータイム (2)
- お疲れ様でした
- 各自ファイルを持ち帰って下さい
- 学生さん向けアナウンス
- 次回予告
- 次回予告 (2)
- 630 社内技術共有会
- 次回以降の予定
-
109
Hello CNN (ロス関数)
110
Hello CNN (学習)最適化手法 Adam を使う
111
Hello CNN (学習)インタラクティブセッションなので
proc_initrun() と書ける(先程は sessrun(proc_init) と書いていた)
112
Hello CNN (学習)インタラクティブセッションなので
accuracyeval() と書ける(先程は sessrun(accuracy) と書いていた)
113
Hello CNN (性能評価)
先の単純な NNよりもメモリを使うので一度に全てのテストデータを NN に投入できないdarr分割して精度評価し平均を取る
114
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -CNN-MNIST と入力例 yamamoto-CNN-MNIST
サンプル本体 000-CNN-MNISTipynb
お疲れ様でした115
各自ファイルを持ち帰って下さいbull サーバはこのあと削除しますbull File rarr Download as rarr IPython Notebook
116
117
学生さん向けアナウンスbull 参加頂いた方を勉強会の告知用 ML に登録しますbull ML 経由で次回以降の勉強会のアナウンスをお送りしますbull 興味がなくなったら ML フッターのリンクから
unsubscribe してください
次回予告118
119
次回予告bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会ndash AI 情報共有会
bull 最近の AI系のニュースとかキャッチーな論文の成果を薄く広く紹介する会ndash 社内技術共有会
bull チームラボの最近の案件の技術的に面白い部分について知見を共有する会
ndash 630 の回は学生さん参加 OK
120
630 社内技術共有会bull ライブでのムービングライト制御について服部さんに話をしてもらいますbull teamLab Music Festival (making)
bull 狙った場所に正確に照射するために何をしたのかbull 実演あり
121
次回以降の予定bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会bull 77(木 ) 1900 - 2100 機械学習もくもく会(社内のみ)bull 714(木 ) 1900 - 2100
Deep Learning ハンズオン 2 (予定)bull これらの情報にキャッチアップしたいチームラボの人は
Slack の ai トピックに参加して下さいbull 学生の方は ML からご案内します
- Deep Learningハンズオン 1
- はじめに
- Deep Learning勉強会
- 今回から学生さんを受け入れています
- 今日の目次
- TensorFlow
- ハンズオン1 Jupyter
- Jupyter(旧称 IPython Notebook)
- Hello Jupyter
- Hello Jupyter (2)
- Hello Jupyter (3)
- ハンズオン2 TENSORFLOW入門
- ニューラルネットワーク(復習)
- 活性化関数ReLU関数
- 出力関数softmax関数
- ロス関数
- ドロップアウト
- ドロップアウト (2)
- ドロップアウト (3)
- ドロップアウト (4)
- ニューラルネット復習キーワード
- 数字認識確保する変数は
- 数字認識確保する変数は (2)
- 数字認識確保する変数は (3)
- 数字認識実際の計算
- 結合バイアス
- 結合バイアス (2)
- 結合バイアス (3)
- 数字認識確保する変数は (4)
- 数字認識確保する変数は (5)
- 数字認識確保する変数は (6)
- 数字認識確保する変数は (7)
- 数字認識実際の計算(バイアスあり)
- 数字認識一度に1データを処理
- 数字認識一度に2データを処理
- 数字認識一度に3データを処理
- 数字認識一度にNデータを処理
- 数字認識確保する変数(バッチ学習の場合)
- たくさんのバッチで繰り返し学習
- たくさんのバッチで繰り返し学習 (2)
- たくさんのバッチで繰り返し学習 (3)
- たくさんのバッチで繰り返し学習 (4)
- たくさんのバッチで繰り返し学習 (5)
- たくさんのバッチで繰り返し学習 (6)
- TensorFlowのデータ型
- Hello TensorFlow ( 000-MNISTipynb を開いて)
- Hello TensorFlow
- Hello TensorFlow (2)
- Hello TensorFlow (3)
- Hello TensorFlow (4)
- Hello TensorFlow (5)
- Hello TensorFlow (6)
- Hello TensorFlow (7)
- Hello TensorFlow (8)
- Hello TensorFlow (9)
- Hello TensorFlow (10)
- Hello TensorFlow (11)
- ロス関数もテンソルでモデル化
- ロス関数もテンソルでモデル化 (2)
- クロスエントロピーとは
- Hello TensorFlow (12)
- Hello TensorFlow (13)
- Hello TensorFlow (14)
- Hello TensorFlow (15)
- Hello TensorFlow (16)
- Hello TensorFlow (17)
- Hello TensorFlow (18)
- Hello TensorFlow (19)
- 精度の値もテンソルでモデル化
- 精度の値もテンソルでモデル化 (2)
- Hello TensorFlow (20)
- argmaxで認識結果が得られる
- Hello TensorFlow (21)
- Hello TensorFlow (22)
- Hello TensorFlow (23)
- Hello TensorFlow (24)
- Hello TensorFlow (25)
- フリータイム
- ハンズオン3 CNN
- 畳み込みニューラルネット
- 畳み込みニューラルネット (2)
- 通常のNN
- 入力を整形
- 畳み込みNNのパラメタ
- 畳み込み後の層
- プーリング (2x2)
- CNN全体構成 (13)
- CNN全体構成 (23)
- CNN全体構成 (33)
- CNN全体構成 (33) (2)
- Hello CNN
- Hello CNN (2)
- Hello CNN (3)
- Hello CNN (4)
- Hello CNN(モデル作成)
- Hello CNN(モデル作成) (2)
- Hello CNN(モデル作成) (3)
- Hello CNN(モデル作成) (4)
- Hello CNN(モデル作成) (5)
- Hello CNN(モデル作成) (6)
- Hello CNN(モデル作成) (7)
- Hello CNN(モデル作成) (8)
- Hello CNN(モデル作成) (9)
- Hello CNN(モデル作成) (10)
- Hello CNN(モデル作成) (11)
- Hello CNN(モデル作成) (12)
- Hello CNN(モデル作成) (13)
- Hello CNN(モデル作成) (14)
- Hello CNN(ロス関数)
- Hello CNN(学習)
- Hello CNN(学習) (2)
- Hello CNN(学習) (3)
- Hello CNN(性能評価)
- フリータイム (2)
- お疲れ様でした
- 各自ファイルを持ち帰って下さい
- 学生さん向けアナウンス
- 次回予告
- 次回予告 (2)
- 630 社内技術共有会
- 次回以降の予定
-
110
Hello CNN (学習)最適化手法 Adam を使う
111
Hello CNN (学習)インタラクティブセッションなので
proc_initrun() と書ける(先程は sessrun(proc_init) と書いていた)
112
Hello CNN (学習)インタラクティブセッションなので
accuracyeval() と書ける(先程は sessrun(accuracy) と書いていた)
113
Hello CNN (性能評価)
先の単純な NNよりもメモリを使うので一度に全てのテストデータを NN に投入できないdarr分割して精度評価し平均を取る
114
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -CNN-MNIST と入力例 yamamoto-CNN-MNIST
サンプル本体 000-CNN-MNISTipynb
お疲れ様でした115
各自ファイルを持ち帰って下さいbull サーバはこのあと削除しますbull File rarr Download as rarr IPython Notebook
116
117
学生さん向けアナウンスbull 参加頂いた方を勉強会の告知用 ML に登録しますbull ML 経由で次回以降の勉強会のアナウンスをお送りしますbull 興味がなくなったら ML フッターのリンクから
unsubscribe してください
次回予告118
119
次回予告bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会ndash AI 情報共有会
bull 最近の AI系のニュースとかキャッチーな論文の成果を薄く広く紹介する会ndash 社内技術共有会
bull チームラボの最近の案件の技術的に面白い部分について知見を共有する会
ndash 630 の回は学生さん参加 OK
120
630 社内技術共有会bull ライブでのムービングライト制御について服部さんに話をしてもらいますbull teamLab Music Festival (making)
bull 狙った場所に正確に照射するために何をしたのかbull 実演あり
121
次回以降の予定bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会bull 77(木 ) 1900 - 2100 機械学習もくもく会(社内のみ)bull 714(木 ) 1900 - 2100
Deep Learning ハンズオン 2 (予定)bull これらの情報にキャッチアップしたいチームラボの人は
Slack の ai トピックに参加して下さいbull 学生の方は ML からご案内します
- Deep Learningハンズオン 1
- はじめに
- Deep Learning勉強会
- 今回から学生さんを受け入れています
- 今日の目次
- TensorFlow
- ハンズオン1 Jupyter
- Jupyter(旧称 IPython Notebook)
- Hello Jupyter
- Hello Jupyter (2)
- Hello Jupyter (3)
- ハンズオン2 TENSORFLOW入門
- ニューラルネットワーク(復習)
- 活性化関数ReLU関数
- 出力関数softmax関数
- ロス関数
- ドロップアウト
- ドロップアウト (2)
- ドロップアウト (3)
- ドロップアウト (4)
- ニューラルネット復習キーワード
- 数字認識確保する変数は
- 数字認識確保する変数は (2)
- 数字認識確保する変数は (3)
- 数字認識実際の計算
- 結合バイアス
- 結合バイアス (2)
- 結合バイアス (3)
- 数字認識確保する変数は (4)
- 数字認識確保する変数は (5)
- 数字認識確保する変数は (6)
- 数字認識確保する変数は (7)
- 数字認識実際の計算(バイアスあり)
- 数字認識一度に1データを処理
- 数字認識一度に2データを処理
- 数字認識一度に3データを処理
- 数字認識一度にNデータを処理
- 数字認識確保する変数(バッチ学習の場合)
- たくさんのバッチで繰り返し学習
- たくさんのバッチで繰り返し学習 (2)
- たくさんのバッチで繰り返し学習 (3)
- たくさんのバッチで繰り返し学習 (4)
- たくさんのバッチで繰り返し学習 (5)
- たくさんのバッチで繰り返し学習 (6)
- TensorFlowのデータ型
- Hello TensorFlow ( 000-MNISTipynb を開いて)
- Hello TensorFlow
- Hello TensorFlow (2)
- Hello TensorFlow (3)
- Hello TensorFlow (4)
- Hello TensorFlow (5)
- Hello TensorFlow (6)
- Hello TensorFlow (7)
- Hello TensorFlow (8)
- Hello TensorFlow (9)
- Hello TensorFlow (10)
- Hello TensorFlow (11)
- ロス関数もテンソルでモデル化
- ロス関数もテンソルでモデル化 (2)
- クロスエントロピーとは
- Hello TensorFlow (12)
- Hello TensorFlow (13)
- Hello TensorFlow (14)
- Hello TensorFlow (15)
- Hello TensorFlow (16)
- Hello TensorFlow (17)
- Hello TensorFlow (18)
- Hello TensorFlow (19)
- 精度の値もテンソルでモデル化
- 精度の値もテンソルでモデル化 (2)
- Hello TensorFlow (20)
- argmaxで認識結果が得られる
- Hello TensorFlow (21)
- Hello TensorFlow (22)
- Hello TensorFlow (23)
- Hello TensorFlow (24)
- Hello TensorFlow (25)
- フリータイム
- ハンズオン3 CNN
- 畳み込みニューラルネット
- 畳み込みニューラルネット (2)
- 通常のNN
- 入力を整形
- 畳み込みNNのパラメタ
- 畳み込み後の層
- プーリング (2x2)
- CNN全体構成 (13)
- CNN全体構成 (23)
- CNN全体構成 (33)
- CNN全体構成 (33) (2)
- Hello CNN
- Hello CNN (2)
- Hello CNN (3)
- Hello CNN (4)
- Hello CNN(モデル作成)
- Hello CNN(モデル作成) (2)
- Hello CNN(モデル作成) (3)
- Hello CNN(モデル作成) (4)
- Hello CNN(モデル作成) (5)
- Hello CNN(モデル作成) (6)
- Hello CNN(モデル作成) (7)
- Hello CNN(モデル作成) (8)
- Hello CNN(モデル作成) (9)
- Hello CNN(モデル作成) (10)
- Hello CNN(モデル作成) (11)
- Hello CNN(モデル作成) (12)
- Hello CNN(モデル作成) (13)
- Hello CNN(モデル作成) (14)
- Hello CNN(ロス関数)
- Hello CNN(学習)
- Hello CNN(学習) (2)
- Hello CNN(学習) (3)
- Hello CNN(性能評価)
- フリータイム (2)
- お疲れ様でした
- 各自ファイルを持ち帰って下さい
- 学生さん向けアナウンス
- 次回予告
- 次回予告 (2)
- 630 社内技術共有会
- 次回以降の予定
-
111
Hello CNN (学習)インタラクティブセッションなので
proc_initrun() と書ける(先程は sessrun(proc_init) と書いていた)
112
Hello CNN (学習)インタラクティブセッションなので
accuracyeval() と書ける(先程は sessrun(accuracy) と書いていた)
113
Hello CNN (性能評価)
先の単純な NNよりもメモリを使うので一度に全てのテストデータを NN に投入できないdarr分割して精度評価し平均を取る
114
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -CNN-MNIST と入力例 yamamoto-CNN-MNIST
サンプル本体 000-CNN-MNISTipynb
お疲れ様でした115
各自ファイルを持ち帰って下さいbull サーバはこのあと削除しますbull File rarr Download as rarr IPython Notebook
116
117
学生さん向けアナウンスbull 参加頂いた方を勉強会の告知用 ML に登録しますbull ML 経由で次回以降の勉強会のアナウンスをお送りしますbull 興味がなくなったら ML フッターのリンクから
unsubscribe してください
次回予告118
119
次回予告bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会ndash AI 情報共有会
bull 最近の AI系のニュースとかキャッチーな論文の成果を薄く広く紹介する会ndash 社内技術共有会
bull チームラボの最近の案件の技術的に面白い部分について知見を共有する会
ndash 630 の回は学生さん参加 OK
120
630 社内技術共有会bull ライブでのムービングライト制御について服部さんに話をしてもらいますbull teamLab Music Festival (making)
bull 狙った場所に正確に照射するために何をしたのかbull 実演あり
121
次回以降の予定bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会bull 77(木 ) 1900 - 2100 機械学習もくもく会(社内のみ)bull 714(木 ) 1900 - 2100
Deep Learning ハンズオン 2 (予定)bull これらの情報にキャッチアップしたいチームラボの人は
Slack の ai トピックに参加して下さいbull 学生の方は ML からご案内します
- Deep Learningハンズオン 1
- はじめに
- Deep Learning勉強会
- 今回から学生さんを受け入れています
- 今日の目次
- TensorFlow
- ハンズオン1 Jupyter
- Jupyter(旧称 IPython Notebook)
- Hello Jupyter
- Hello Jupyter (2)
- Hello Jupyter (3)
- ハンズオン2 TENSORFLOW入門
- ニューラルネットワーク(復習)
- 活性化関数ReLU関数
- 出力関数softmax関数
- ロス関数
- ドロップアウト
- ドロップアウト (2)
- ドロップアウト (3)
- ドロップアウト (4)
- ニューラルネット復習キーワード
- 数字認識確保する変数は
- 数字認識確保する変数は (2)
- 数字認識確保する変数は (3)
- 数字認識実際の計算
- 結合バイアス
- 結合バイアス (2)
- 結合バイアス (3)
- 数字認識確保する変数は (4)
- 数字認識確保する変数は (5)
- 数字認識確保する変数は (6)
- 数字認識確保する変数は (7)
- 数字認識実際の計算(バイアスあり)
- 数字認識一度に1データを処理
- 数字認識一度に2データを処理
- 数字認識一度に3データを処理
- 数字認識一度にNデータを処理
- 数字認識確保する変数(バッチ学習の場合)
- たくさんのバッチで繰り返し学習
- たくさんのバッチで繰り返し学習 (2)
- たくさんのバッチで繰り返し学習 (3)
- たくさんのバッチで繰り返し学習 (4)
- たくさんのバッチで繰り返し学習 (5)
- たくさんのバッチで繰り返し学習 (6)
- TensorFlowのデータ型
- Hello TensorFlow ( 000-MNISTipynb を開いて)
- Hello TensorFlow
- Hello TensorFlow (2)
- Hello TensorFlow (3)
- Hello TensorFlow (4)
- Hello TensorFlow (5)
- Hello TensorFlow (6)
- Hello TensorFlow (7)
- Hello TensorFlow (8)
- Hello TensorFlow (9)
- Hello TensorFlow (10)
- Hello TensorFlow (11)
- ロス関数もテンソルでモデル化
- ロス関数もテンソルでモデル化 (2)
- クロスエントロピーとは
- Hello TensorFlow (12)
- Hello TensorFlow (13)
- Hello TensorFlow (14)
- Hello TensorFlow (15)
- Hello TensorFlow (16)
- Hello TensorFlow (17)
- Hello TensorFlow (18)
- Hello TensorFlow (19)
- 精度の値もテンソルでモデル化
- 精度の値もテンソルでモデル化 (2)
- Hello TensorFlow (20)
- argmaxで認識結果が得られる
- Hello TensorFlow (21)
- Hello TensorFlow (22)
- Hello TensorFlow (23)
- Hello TensorFlow (24)
- Hello TensorFlow (25)
- フリータイム
- ハンズオン3 CNN
- 畳み込みニューラルネット
- 畳み込みニューラルネット (2)
- 通常のNN
- 入力を整形
- 畳み込みNNのパラメタ
- 畳み込み後の層
- プーリング (2x2)
- CNN全体構成 (13)
- CNN全体構成 (23)
- CNN全体構成 (33)
- CNN全体構成 (33) (2)
- Hello CNN
- Hello CNN (2)
- Hello CNN (3)
- Hello CNN (4)
- Hello CNN(モデル作成)
- Hello CNN(モデル作成) (2)
- Hello CNN(モデル作成) (3)
- Hello CNN(モデル作成) (4)
- Hello CNN(モデル作成) (5)
- Hello CNN(モデル作成) (6)
- Hello CNN(モデル作成) (7)
- Hello CNN(モデル作成) (8)
- Hello CNN(モデル作成) (9)
- Hello CNN(モデル作成) (10)
- Hello CNN(モデル作成) (11)
- Hello CNN(モデル作成) (12)
- Hello CNN(モデル作成) (13)
- Hello CNN(モデル作成) (14)
- Hello CNN(ロス関数)
- Hello CNN(学習)
- Hello CNN(学習) (2)
- Hello CNN(学習) (3)
- Hello CNN(性能評価)
- フリータイム (2)
- お疲れ様でした
- 各自ファイルを持ち帰って下さい
- 学生さん向けアナウンス
- 次回予告
- 次回予告 (2)
- 630 社内技術共有会
- 次回以降の予定
-
112
Hello CNN (学習)インタラクティブセッションなので
accuracyeval() と書ける(先程は sessrun(accuracy) と書いていた)
113
Hello CNN (性能評価)
先の単純な NNよりもメモリを使うので一度に全てのテストデータを NN に投入できないdarr分割して精度評価し平均を取る
114
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -CNN-MNIST と入力例 yamamoto-CNN-MNIST
サンプル本体 000-CNN-MNISTipynb
お疲れ様でした115
各自ファイルを持ち帰って下さいbull サーバはこのあと削除しますbull File rarr Download as rarr IPython Notebook
116
117
学生さん向けアナウンスbull 参加頂いた方を勉強会の告知用 ML に登録しますbull ML 経由で次回以降の勉強会のアナウンスをお送りしますbull 興味がなくなったら ML フッターのリンクから
unsubscribe してください
次回予告118
119
次回予告bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会ndash AI 情報共有会
bull 最近の AI系のニュースとかキャッチーな論文の成果を薄く広く紹介する会ndash 社内技術共有会
bull チームラボの最近の案件の技術的に面白い部分について知見を共有する会
ndash 630 の回は学生さん参加 OK
120
630 社内技術共有会bull ライブでのムービングライト制御について服部さんに話をしてもらいますbull teamLab Music Festival (making)
bull 狙った場所に正確に照射するために何をしたのかbull 実演あり
121
次回以降の予定bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会bull 77(木 ) 1900 - 2100 機械学習もくもく会(社内のみ)bull 714(木 ) 1900 - 2100
Deep Learning ハンズオン 2 (予定)bull これらの情報にキャッチアップしたいチームラボの人は
Slack の ai トピックに参加して下さいbull 学生の方は ML からご案内します
- Deep Learningハンズオン 1
- はじめに
- Deep Learning勉強会
- 今回から学生さんを受け入れています
- 今日の目次
- TensorFlow
- ハンズオン1 Jupyter
- Jupyter(旧称 IPython Notebook)
- Hello Jupyter
- Hello Jupyter (2)
- Hello Jupyter (3)
- ハンズオン2 TENSORFLOW入門
- ニューラルネットワーク(復習)
- 活性化関数ReLU関数
- 出力関数softmax関数
- ロス関数
- ドロップアウト
- ドロップアウト (2)
- ドロップアウト (3)
- ドロップアウト (4)
- ニューラルネット復習キーワード
- 数字認識確保する変数は
- 数字認識確保する変数は (2)
- 数字認識確保する変数は (3)
- 数字認識実際の計算
- 結合バイアス
- 結合バイアス (2)
- 結合バイアス (3)
- 数字認識確保する変数は (4)
- 数字認識確保する変数は (5)
- 数字認識確保する変数は (6)
- 数字認識確保する変数は (7)
- 数字認識実際の計算(バイアスあり)
- 数字認識一度に1データを処理
- 数字認識一度に2データを処理
- 数字認識一度に3データを処理
- 数字認識一度にNデータを処理
- 数字認識確保する変数(バッチ学習の場合)
- たくさんのバッチで繰り返し学習
- たくさんのバッチで繰り返し学習 (2)
- たくさんのバッチで繰り返し学習 (3)
- たくさんのバッチで繰り返し学習 (4)
- たくさんのバッチで繰り返し学習 (5)
- たくさんのバッチで繰り返し学習 (6)
- TensorFlowのデータ型
- Hello TensorFlow ( 000-MNISTipynb を開いて)
- Hello TensorFlow
- Hello TensorFlow (2)
- Hello TensorFlow (3)
- Hello TensorFlow (4)
- Hello TensorFlow (5)
- Hello TensorFlow (6)
- Hello TensorFlow (7)
- Hello TensorFlow (8)
- Hello TensorFlow (9)
- Hello TensorFlow (10)
- Hello TensorFlow (11)
- ロス関数もテンソルでモデル化
- ロス関数もテンソルでモデル化 (2)
- クロスエントロピーとは
- Hello TensorFlow (12)
- Hello TensorFlow (13)
- Hello TensorFlow (14)
- Hello TensorFlow (15)
- Hello TensorFlow (16)
- Hello TensorFlow (17)
- Hello TensorFlow (18)
- Hello TensorFlow (19)
- 精度の値もテンソルでモデル化
- 精度の値もテンソルでモデル化 (2)
- Hello TensorFlow (20)
- argmaxで認識結果が得られる
- Hello TensorFlow (21)
- Hello TensorFlow (22)
- Hello TensorFlow (23)
- Hello TensorFlow (24)
- Hello TensorFlow (25)
- フリータイム
- ハンズオン3 CNN
- 畳み込みニューラルネット
- 畳み込みニューラルネット (2)
- 通常のNN
- 入力を整形
- 畳み込みNNのパラメタ
- 畳み込み後の層
- プーリング (2x2)
- CNN全体構成 (13)
- CNN全体構成 (23)
- CNN全体構成 (33)
- CNN全体構成 (33) (2)
- Hello CNN
- Hello CNN (2)
- Hello CNN (3)
- Hello CNN (4)
- Hello CNN(モデル作成)
- Hello CNN(モデル作成) (2)
- Hello CNN(モデル作成) (3)
- Hello CNN(モデル作成) (4)
- Hello CNN(モデル作成) (5)
- Hello CNN(モデル作成) (6)
- Hello CNN(モデル作成) (7)
- Hello CNN(モデル作成) (8)
- Hello CNN(モデル作成) (9)
- Hello CNN(モデル作成) (10)
- Hello CNN(モデル作成) (11)
- Hello CNN(モデル作成) (12)
- Hello CNN(モデル作成) (13)
- Hello CNN(モデル作成) (14)
- Hello CNN(ロス関数)
- Hello CNN(学習)
- Hello CNN(学習) (2)
- Hello CNN(学習) (3)
- Hello CNN(性能評価)
- フリータイム (2)
- お疲れ様でした
- 各自ファイルを持ち帰って下さい
- 学生さん向けアナウンス
- 次回予告
- 次回予告 (2)
- 630 社内技術共有会
- 次回以降の予定
-
113
Hello CNN (性能評価)
先の単純な NNよりもメモリを使うので一度に全てのテストデータを NN に投入できないdarr分割して精度評価し平均を取る
114
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -CNN-MNIST と入力例 yamamoto-CNN-MNIST
サンプル本体 000-CNN-MNISTipynb
お疲れ様でした115
各自ファイルを持ち帰って下さいbull サーバはこのあと削除しますbull File rarr Download as rarr IPython Notebook
116
117
学生さん向けアナウンスbull 参加頂いた方を勉強会の告知用 ML に登録しますbull ML 経由で次回以降の勉強会のアナウンスをお送りしますbull 興味がなくなったら ML フッターのリンクから
unsubscribe してください
次回予告118
119
次回予告bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会ndash AI 情報共有会
bull 最近の AI系のニュースとかキャッチーな論文の成果を薄く広く紹介する会ndash 社内技術共有会
bull チームラボの最近の案件の技術的に面白い部分について知見を共有する会
ndash 630 の回は学生さん参加 OK
120
630 社内技術共有会bull ライブでのムービングライト制御について服部さんに話をしてもらいますbull teamLab Music Festival (making)
bull 狙った場所に正確に照射するために何をしたのかbull 実演あり
121
次回以降の予定bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会bull 77(木 ) 1900 - 2100 機械学習もくもく会(社内のみ)bull 714(木 ) 1900 - 2100
Deep Learning ハンズオン 2 (予定)bull これらの情報にキャッチアップしたいチームラボの人は
Slack の ai トピックに参加して下さいbull 学生の方は ML からご案内します
- Deep Learningハンズオン 1
- はじめに
- Deep Learning勉強会
- 今回から学生さんを受け入れています
- 今日の目次
- TensorFlow
- ハンズオン1 Jupyter
- Jupyter(旧称 IPython Notebook)
- Hello Jupyter
- Hello Jupyter (2)
- Hello Jupyter (3)
- ハンズオン2 TENSORFLOW入門
- ニューラルネットワーク(復習)
- 活性化関数ReLU関数
- 出力関数softmax関数
- ロス関数
- ドロップアウト
- ドロップアウト (2)
- ドロップアウト (3)
- ドロップアウト (4)
- ニューラルネット復習キーワード
- 数字認識確保する変数は
- 数字認識確保する変数は (2)
- 数字認識確保する変数は (3)
- 数字認識実際の計算
- 結合バイアス
- 結合バイアス (2)
- 結合バイアス (3)
- 数字認識確保する変数は (4)
- 数字認識確保する変数は (5)
- 数字認識確保する変数は (6)
- 数字認識確保する変数は (7)
- 数字認識実際の計算(バイアスあり)
- 数字認識一度に1データを処理
- 数字認識一度に2データを処理
- 数字認識一度に3データを処理
- 数字認識一度にNデータを処理
- 数字認識確保する変数(バッチ学習の場合)
- たくさんのバッチで繰り返し学習
- たくさんのバッチで繰り返し学習 (2)
- たくさんのバッチで繰り返し学習 (3)
- たくさんのバッチで繰り返し学習 (4)
- たくさんのバッチで繰り返し学習 (5)
- たくさんのバッチで繰り返し学習 (6)
- TensorFlowのデータ型
- Hello TensorFlow ( 000-MNISTipynb を開いて)
- Hello TensorFlow
- Hello TensorFlow (2)
- Hello TensorFlow (3)
- Hello TensorFlow (4)
- Hello TensorFlow (5)
- Hello TensorFlow (6)
- Hello TensorFlow (7)
- Hello TensorFlow (8)
- Hello TensorFlow (9)
- Hello TensorFlow (10)
- Hello TensorFlow (11)
- ロス関数もテンソルでモデル化
- ロス関数もテンソルでモデル化 (2)
- クロスエントロピーとは
- Hello TensorFlow (12)
- Hello TensorFlow (13)
- Hello TensorFlow (14)
- Hello TensorFlow (15)
- Hello TensorFlow (16)
- Hello TensorFlow (17)
- Hello TensorFlow (18)
- Hello TensorFlow (19)
- 精度の値もテンソルでモデル化
- 精度の値もテンソルでモデル化 (2)
- Hello TensorFlow (20)
- argmaxで認識結果が得られる
- Hello TensorFlow (21)
- Hello TensorFlow (22)
- Hello TensorFlow (23)
- Hello TensorFlow (24)
- Hello TensorFlow (25)
- フリータイム
- ハンズオン3 CNN
- 畳み込みニューラルネット
- 畳み込みニューラルネット (2)
- 通常のNN
- 入力を整形
- 畳み込みNNのパラメタ
- 畳み込み後の層
- プーリング (2x2)
- CNN全体構成 (13)
- CNN全体構成 (23)
- CNN全体構成 (33)
- CNN全体構成 (33) (2)
- Hello CNN
- Hello CNN (2)
- Hello CNN (3)
- Hello CNN (4)
- Hello CNN(モデル作成)
- Hello CNN(モデル作成) (2)
- Hello CNN(モデル作成) (3)
- Hello CNN(モデル作成) (4)
- Hello CNN(モデル作成) (5)
- Hello CNN(モデル作成) (6)
- Hello CNN(モデル作成) (7)
- Hello CNN(モデル作成) (8)
- Hello CNN(モデル作成) (9)
- Hello CNN(モデル作成) (10)
- Hello CNN(モデル作成) (11)
- Hello CNN(モデル作成) (12)
- Hello CNN(モデル作成) (13)
- Hello CNN(モデル作成) (14)
- Hello CNN(ロス関数)
- Hello CNN(学習)
- Hello CNN(学習) (2)
- Hello CNN(学習) (3)
- Hello CNN(性能評価)
- フリータイム (2)
- お疲れ様でした
- 各自ファイルを持ち帰って下さい
- 学生さん向けアナウンス
- 次回予告
- 次回予告 (2)
- 630 社内技術共有会
- 次回以降の予定
-
114
フリータイムPython ノートブックを作って下さい
ndash New rarr Python2 で新規ノートブックを作成ndash タイトルをクリックして 名前 -CNN-MNIST と入力例 yamamoto-CNN-MNIST
サンプル本体 000-CNN-MNISTipynb
お疲れ様でした115
各自ファイルを持ち帰って下さいbull サーバはこのあと削除しますbull File rarr Download as rarr IPython Notebook
116
117
学生さん向けアナウンスbull 参加頂いた方を勉強会の告知用 ML に登録しますbull ML 経由で次回以降の勉強会のアナウンスをお送りしますbull 興味がなくなったら ML フッターのリンクから
unsubscribe してください
次回予告118
119
次回予告bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会ndash AI 情報共有会
bull 最近の AI系のニュースとかキャッチーな論文の成果を薄く広く紹介する会ndash 社内技術共有会
bull チームラボの最近の案件の技術的に面白い部分について知見を共有する会
ndash 630 の回は学生さん参加 OK
120
630 社内技術共有会bull ライブでのムービングライト制御について服部さんに話をしてもらいますbull teamLab Music Festival (making)
bull 狙った場所に正確に照射するために何をしたのかbull 実演あり
121
次回以降の予定bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会bull 77(木 ) 1900 - 2100 機械学習もくもく会(社内のみ)bull 714(木 ) 1900 - 2100
Deep Learning ハンズオン 2 (予定)bull これらの情報にキャッチアップしたいチームラボの人は
Slack の ai トピックに参加して下さいbull 学生の方は ML からご案内します
- Deep Learningハンズオン 1
- はじめに
- Deep Learning勉強会
- 今回から学生さんを受け入れています
- 今日の目次
- TensorFlow
- ハンズオン1 Jupyter
- Jupyter(旧称 IPython Notebook)
- Hello Jupyter
- Hello Jupyter (2)
- Hello Jupyter (3)
- ハンズオン2 TENSORFLOW入門
- ニューラルネットワーク(復習)
- 活性化関数ReLU関数
- 出力関数softmax関数
- ロス関数
- ドロップアウト
- ドロップアウト (2)
- ドロップアウト (3)
- ドロップアウト (4)
- ニューラルネット復習キーワード
- 数字認識確保する変数は
- 数字認識確保する変数は (2)
- 数字認識確保する変数は (3)
- 数字認識実際の計算
- 結合バイアス
- 結合バイアス (2)
- 結合バイアス (3)
- 数字認識確保する変数は (4)
- 数字認識確保する変数は (5)
- 数字認識確保する変数は (6)
- 数字認識確保する変数は (7)
- 数字認識実際の計算(バイアスあり)
- 数字認識一度に1データを処理
- 数字認識一度に2データを処理
- 数字認識一度に3データを処理
- 数字認識一度にNデータを処理
- 数字認識確保する変数(バッチ学習の場合)
- たくさんのバッチで繰り返し学習
- たくさんのバッチで繰り返し学習 (2)
- たくさんのバッチで繰り返し学習 (3)
- たくさんのバッチで繰り返し学習 (4)
- たくさんのバッチで繰り返し学習 (5)
- たくさんのバッチで繰り返し学習 (6)
- TensorFlowのデータ型
- Hello TensorFlow ( 000-MNISTipynb を開いて)
- Hello TensorFlow
- Hello TensorFlow (2)
- Hello TensorFlow (3)
- Hello TensorFlow (4)
- Hello TensorFlow (5)
- Hello TensorFlow (6)
- Hello TensorFlow (7)
- Hello TensorFlow (8)
- Hello TensorFlow (9)
- Hello TensorFlow (10)
- Hello TensorFlow (11)
- ロス関数もテンソルでモデル化
- ロス関数もテンソルでモデル化 (2)
- クロスエントロピーとは
- Hello TensorFlow (12)
- Hello TensorFlow (13)
- Hello TensorFlow (14)
- Hello TensorFlow (15)
- Hello TensorFlow (16)
- Hello TensorFlow (17)
- Hello TensorFlow (18)
- Hello TensorFlow (19)
- 精度の値もテンソルでモデル化
- 精度の値もテンソルでモデル化 (2)
- Hello TensorFlow (20)
- argmaxで認識結果が得られる
- Hello TensorFlow (21)
- Hello TensorFlow (22)
- Hello TensorFlow (23)
- Hello TensorFlow (24)
- Hello TensorFlow (25)
- フリータイム
- ハンズオン3 CNN
- 畳み込みニューラルネット
- 畳み込みニューラルネット (2)
- 通常のNN
- 入力を整形
- 畳み込みNNのパラメタ
- 畳み込み後の層
- プーリング (2x2)
- CNN全体構成 (13)
- CNN全体構成 (23)
- CNN全体構成 (33)
- CNN全体構成 (33) (2)
- Hello CNN
- Hello CNN (2)
- Hello CNN (3)
- Hello CNN (4)
- Hello CNN(モデル作成)
- Hello CNN(モデル作成) (2)
- Hello CNN(モデル作成) (3)
- Hello CNN(モデル作成) (4)
- Hello CNN(モデル作成) (5)
- Hello CNN(モデル作成) (6)
- Hello CNN(モデル作成) (7)
- Hello CNN(モデル作成) (8)
- Hello CNN(モデル作成) (9)
- Hello CNN(モデル作成) (10)
- Hello CNN(モデル作成) (11)
- Hello CNN(モデル作成) (12)
- Hello CNN(モデル作成) (13)
- Hello CNN(モデル作成) (14)
- Hello CNN(ロス関数)
- Hello CNN(学習)
- Hello CNN(学習) (2)
- Hello CNN(学習) (3)
- Hello CNN(性能評価)
- フリータイム (2)
- お疲れ様でした
- 各自ファイルを持ち帰って下さい
- 学生さん向けアナウンス
- 次回予告
- 次回予告 (2)
- 630 社内技術共有会
- 次回以降の予定
-
お疲れ様でした115
各自ファイルを持ち帰って下さいbull サーバはこのあと削除しますbull File rarr Download as rarr IPython Notebook
116
117
学生さん向けアナウンスbull 参加頂いた方を勉強会の告知用 ML に登録しますbull ML 経由で次回以降の勉強会のアナウンスをお送りしますbull 興味がなくなったら ML フッターのリンクから
unsubscribe してください
次回予告118
119
次回予告bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会ndash AI 情報共有会
bull 最近の AI系のニュースとかキャッチーな論文の成果を薄く広く紹介する会ndash 社内技術共有会
bull チームラボの最近の案件の技術的に面白い部分について知見を共有する会
ndash 630 の回は学生さん参加 OK
120
630 社内技術共有会bull ライブでのムービングライト制御について服部さんに話をしてもらいますbull teamLab Music Festival (making)
bull 狙った場所に正確に照射するために何をしたのかbull 実演あり
121
次回以降の予定bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会bull 77(木 ) 1900 - 2100 機械学習もくもく会(社内のみ)bull 714(木 ) 1900 - 2100
Deep Learning ハンズオン 2 (予定)bull これらの情報にキャッチアップしたいチームラボの人は
Slack の ai トピックに参加して下さいbull 学生の方は ML からご案内します
- Deep Learningハンズオン 1
- はじめに
- Deep Learning勉強会
- 今回から学生さんを受け入れています
- 今日の目次
- TensorFlow
- ハンズオン1 Jupyter
- Jupyter(旧称 IPython Notebook)
- Hello Jupyter
- Hello Jupyter (2)
- Hello Jupyter (3)
- ハンズオン2 TENSORFLOW入門
- ニューラルネットワーク(復習)
- 活性化関数ReLU関数
- 出力関数softmax関数
- ロス関数
- ドロップアウト
- ドロップアウト (2)
- ドロップアウト (3)
- ドロップアウト (4)
- ニューラルネット復習キーワード
- 数字認識確保する変数は
- 数字認識確保する変数は (2)
- 数字認識確保する変数は (3)
- 数字認識実際の計算
- 結合バイアス
- 結合バイアス (2)
- 結合バイアス (3)
- 数字認識確保する変数は (4)
- 数字認識確保する変数は (5)
- 数字認識確保する変数は (6)
- 数字認識確保する変数は (7)
- 数字認識実際の計算(バイアスあり)
- 数字認識一度に1データを処理
- 数字認識一度に2データを処理
- 数字認識一度に3データを処理
- 数字認識一度にNデータを処理
- 数字認識確保する変数(バッチ学習の場合)
- たくさんのバッチで繰り返し学習
- たくさんのバッチで繰り返し学習 (2)
- たくさんのバッチで繰り返し学習 (3)
- たくさんのバッチで繰り返し学習 (4)
- たくさんのバッチで繰り返し学習 (5)
- たくさんのバッチで繰り返し学習 (6)
- TensorFlowのデータ型
- Hello TensorFlow ( 000-MNISTipynb を開いて)
- Hello TensorFlow
- Hello TensorFlow (2)
- Hello TensorFlow (3)
- Hello TensorFlow (4)
- Hello TensorFlow (5)
- Hello TensorFlow (6)
- Hello TensorFlow (7)
- Hello TensorFlow (8)
- Hello TensorFlow (9)
- Hello TensorFlow (10)
- Hello TensorFlow (11)
- ロス関数もテンソルでモデル化
- ロス関数もテンソルでモデル化 (2)
- クロスエントロピーとは
- Hello TensorFlow (12)
- Hello TensorFlow (13)
- Hello TensorFlow (14)
- Hello TensorFlow (15)
- Hello TensorFlow (16)
- Hello TensorFlow (17)
- Hello TensorFlow (18)
- Hello TensorFlow (19)
- 精度の値もテンソルでモデル化
- 精度の値もテンソルでモデル化 (2)
- Hello TensorFlow (20)
- argmaxで認識結果が得られる
- Hello TensorFlow (21)
- Hello TensorFlow (22)
- Hello TensorFlow (23)
- Hello TensorFlow (24)
- Hello TensorFlow (25)
- フリータイム
- ハンズオン3 CNN
- 畳み込みニューラルネット
- 畳み込みニューラルネット (2)
- 通常のNN
- 入力を整形
- 畳み込みNNのパラメタ
- 畳み込み後の層
- プーリング (2x2)
- CNN全体構成 (13)
- CNN全体構成 (23)
- CNN全体構成 (33)
- CNN全体構成 (33) (2)
- Hello CNN
- Hello CNN (2)
- Hello CNN (3)
- Hello CNN (4)
- Hello CNN(モデル作成)
- Hello CNN(モデル作成) (2)
- Hello CNN(モデル作成) (3)
- Hello CNN(モデル作成) (4)
- Hello CNN(モデル作成) (5)
- Hello CNN(モデル作成) (6)
- Hello CNN(モデル作成) (7)
- Hello CNN(モデル作成) (8)
- Hello CNN(モデル作成) (9)
- Hello CNN(モデル作成) (10)
- Hello CNN(モデル作成) (11)
- Hello CNN(モデル作成) (12)
- Hello CNN(モデル作成) (13)
- Hello CNN(モデル作成) (14)
- Hello CNN(ロス関数)
- Hello CNN(学習)
- Hello CNN(学習) (2)
- Hello CNN(学習) (3)
- Hello CNN(性能評価)
- フリータイム (2)
- お疲れ様でした
- 各自ファイルを持ち帰って下さい
- 学生さん向けアナウンス
- 次回予告
- 次回予告 (2)
- 630 社内技術共有会
- 次回以降の予定
-
各自ファイルを持ち帰って下さいbull サーバはこのあと削除しますbull File rarr Download as rarr IPython Notebook
116
117
学生さん向けアナウンスbull 参加頂いた方を勉強会の告知用 ML に登録しますbull ML 経由で次回以降の勉強会のアナウンスをお送りしますbull 興味がなくなったら ML フッターのリンクから
unsubscribe してください
次回予告118
119
次回予告bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会ndash AI 情報共有会
bull 最近の AI系のニュースとかキャッチーな論文の成果を薄く広く紹介する会ndash 社内技術共有会
bull チームラボの最近の案件の技術的に面白い部分について知見を共有する会
ndash 630 の回は学生さん参加 OK
120
630 社内技術共有会bull ライブでのムービングライト制御について服部さんに話をしてもらいますbull teamLab Music Festival (making)
bull 狙った場所に正確に照射するために何をしたのかbull 実演あり
121
次回以降の予定bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会bull 77(木 ) 1900 - 2100 機械学習もくもく会(社内のみ)bull 714(木 ) 1900 - 2100
Deep Learning ハンズオン 2 (予定)bull これらの情報にキャッチアップしたいチームラボの人は
Slack の ai トピックに参加して下さいbull 学生の方は ML からご案内します
- Deep Learningハンズオン 1
- はじめに
- Deep Learning勉強会
- 今回から学生さんを受け入れています
- 今日の目次
- TensorFlow
- ハンズオン1 Jupyter
- Jupyter(旧称 IPython Notebook)
- Hello Jupyter
- Hello Jupyter (2)
- Hello Jupyter (3)
- ハンズオン2 TENSORFLOW入門
- ニューラルネットワーク(復習)
- 活性化関数ReLU関数
- 出力関数softmax関数
- ロス関数
- ドロップアウト
- ドロップアウト (2)
- ドロップアウト (3)
- ドロップアウト (4)
- ニューラルネット復習キーワード
- 数字認識確保する変数は
- 数字認識確保する変数は (2)
- 数字認識確保する変数は (3)
- 数字認識実際の計算
- 結合バイアス
- 結合バイアス (2)
- 結合バイアス (3)
- 数字認識確保する変数は (4)
- 数字認識確保する変数は (5)
- 数字認識確保する変数は (6)
- 数字認識確保する変数は (7)
- 数字認識実際の計算(バイアスあり)
- 数字認識一度に1データを処理
- 数字認識一度に2データを処理
- 数字認識一度に3データを処理
- 数字認識一度にNデータを処理
- 数字認識確保する変数(バッチ学習の場合)
- たくさんのバッチで繰り返し学習
- たくさんのバッチで繰り返し学習 (2)
- たくさんのバッチで繰り返し学習 (3)
- たくさんのバッチで繰り返し学習 (4)
- たくさんのバッチで繰り返し学習 (5)
- たくさんのバッチで繰り返し学習 (6)
- TensorFlowのデータ型
- Hello TensorFlow ( 000-MNISTipynb を開いて)
- Hello TensorFlow
- Hello TensorFlow (2)
- Hello TensorFlow (3)
- Hello TensorFlow (4)
- Hello TensorFlow (5)
- Hello TensorFlow (6)
- Hello TensorFlow (7)
- Hello TensorFlow (8)
- Hello TensorFlow (9)
- Hello TensorFlow (10)
- Hello TensorFlow (11)
- ロス関数もテンソルでモデル化
- ロス関数もテンソルでモデル化 (2)
- クロスエントロピーとは
- Hello TensorFlow (12)
- Hello TensorFlow (13)
- Hello TensorFlow (14)
- Hello TensorFlow (15)
- Hello TensorFlow (16)
- Hello TensorFlow (17)
- Hello TensorFlow (18)
- Hello TensorFlow (19)
- 精度の値もテンソルでモデル化
- 精度の値もテンソルでモデル化 (2)
- Hello TensorFlow (20)
- argmaxで認識結果が得られる
- Hello TensorFlow (21)
- Hello TensorFlow (22)
- Hello TensorFlow (23)
- Hello TensorFlow (24)
- Hello TensorFlow (25)
- フリータイム
- ハンズオン3 CNN
- 畳み込みニューラルネット
- 畳み込みニューラルネット (2)
- 通常のNN
- 入力を整形
- 畳み込みNNのパラメタ
- 畳み込み後の層
- プーリング (2x2)
- CNN全体構成 (13)
- CNN全体構成 (23)
- CNN全体構成 (33)
- CNN全体構成 (33) (2)
- Hello CNN
- Hello CNN (2)
- Hello CNN (3)
- Hello CNN (4)
- Hello CNN(モデル作成)
- Hello CNN(モデル作成) (2)
- Hello CNN(モデル作成) (3)
- Hello CNN(モデル作成) (4)
- Hello CNN(モデル作成) (5)
- Hello CNN(モデル作成) (6)
- Hello CNN(モデル作成) (7)
- Hello CNN(モデル作成) (8)
- Hello CNN(モデル作成) (9)
- Hello CNN(モデル作成) (10)
- Hello CNN(モデル作成) (11)
- Hello CNN(モデル作成) (12)
- Hello CNN(モデル作成) (13)
- Hello CNN(モデル作成) (14)
- Hello CNN(ロス関数)
- Hello CNN(学習)
- Hello CNN(学習) (2)
- Hello CNN(学習) (3)
- Hello CNN(性能評価)
- フリータイム (2)
- お疲れ様でした
- 各自ファイルを持ち帰って下さい
- 学生さん向けアナウンス
- 次回予告
- 次回予告 (2)
- 630 社内技術共有会
- 次回以降の予定
-
117
学生さん向けアナウンスbull 参加頂いた方を勉強会の告知用 ML に登録しますbull ML 経由で次回以降の勉強会のアナウンスをお送りしますbull 興味がなくなったら ML フッターのリンクから
unsubscribe してください
次回予告118
119
次回予告bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会ndash AI 情報共有会
bull 最近の AI系のニュースとかキャッチーな論文の成果を薄く広く紹介する会ndash 社内技術共有会
bull チームラボの最近の案件の技術的に面白い部分について知見を共有する会
ndash 630 の回は学生さん参加 OK
120
630 社内技術共有会bull ライブでのムービングライト制御について服部さんに話をしてもらいますbull teamLab Music Festival (making)
bull 狙った場所に正確に照射するために何をしたのかbull 実演あり
121
次回以降の予定bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会bull 77(木 ) 1900 - 2100 機械学習もくもく会(社内のみ)bull 714(木 ) 1900 - 2100
Deep Learning ハンズオン 2 (予定)bull これらの情報にキャッチアップしたいチームラボの人は
Slack の ai トピックに参加して下さいbull 学生の方は ML からご案内します
- Deep Learningハンズオン 1
- はじめに
- Deep Learning勉強会
- 今回から学生さんを受け入れています
- 今日の目次
- TensorFlow
- ハンズオン1 Jupyter
- Jupyter(旧称 IPython Notebook)
- Hello Jupyter
- Hello Jupyter (2)
- Hello Jupyter (3)
- ハンズオン2 TENSORFLOW入門
- ニューラルネットワーク(復習)
- 活性化関数ReLU関数
- 出力関数softmax関数
- ロス関数
- ドロップアウト
- ドロップアウト (2)
- ドロップアウト (3)
- ドロップアウト (4)
- ニューラルネット復習キーワード
- 数字認識確保する変数は
- 数字認識確保する変数は (2)
- 数字認識確保する変数は (3)
- 数字認識実際の計算
- 結合バイアス
- 結合バイアス (2)
- 結合バイアス (3)
- 数字認識確保する変数は (4)
- 数字認識確保する変数は (5)
- 数字認識確保する変数は (6)
- 数字認識確保する変数は (7)
- 数字認識実際の計算(バイアスあり)
- 数字認識一度に1データを処理
- 数字認識一度に2データを処理
- 数字認識一度に3データを処理
- 数字認識一度にNデータを処理
- 数字認識確保する変数(バッチ学習の場合)
- たくさんのバッチで繰り返し学習
- たくさんのバッチで繰り返し学習 (2)
- たくさんのバッチで繰り返し学習 (3)
- たくさんのバッチで繰り返し学習 (4)
- たくさんのバッチで繰り返し学習 (5)
- たくさんのバッチで繰り返し学習 (6)
- TensorFlowのデータ型
- Hello TensorFlow ( 000-MNISTipynb を開いて)
- Hello TensorFlow
- Hello TensorFlow (2)
- Hello TensorFlow (3)
- Hello TensorFlow (4)
- Hello TensorFlow (5)
- Hello TensorFlow (6)
- Hello TensorFlow (7)
- Hello TensorFlow (8)
- Hello TensorFlow (9)
- Hello TensorFlow (10)
- Hello TensorFlow (11)
- ロス関数もテンソルでモデル化
- ロス関数もテンソルでモデル化 (2)
- クロスエントロピーとは
- Hello TensorFlow (12)
- Hello TensorFlow (13)
- Hello TensorFlow (14)
- Hello TensorFlow (15)
- Hello TensorFlow (16)
- Hello TensorFlow (17)
- Hello TensorFlow (18)
- Hello TensorFlow (19)
- 精度の値もテンソルでモデル化
- 精度の値もテンソルでモデル化 (2)
- Hello TensorFlow (20)
- argmaxで認識結果が得られる
- Hello TensorFlow (21)
- Hello TensorFlow (22)
- Hello TensorFlow (23)
- Hello TensorFlow (24)
- Hello TensorFlow (25)
- フリータイム
- ハンズオン3 CNN
- 畳み込みニューラルネット
- 畳み込みニューラルネット (2)
- 通常のNN
- 入力を整形
- 畳み込みNNのパラメタ
- 畳み込み後の層
- プーリング (2x2)
- CNN全体構成 (13)
- CNN全体構成 (23)
- CNN全体構成 (33)
- CNN全体構成 (33) (2)
- Hello CNN
- Hello CNN (2)
- Hello CNN (3)
- Hello CNN (4)
- Hello CNN(モデル作成)
- Hello CNN(モデル作成) (2)
- Hello CNN(モデル作成) (3)
- Hello CNN(モデル作成) (4)
- Hello CNN(モデル作成) (5)
- Hello CNN(モデル作成) (6)
- Hello CNN(モデル作成) (7)
- Hello CNN(モデル作成) (8)
- Hello CNN(モデル作成) (9)
- Hello CNN(モデル作成) (10)
- Hello CNN(モデル作成) (11)
- Hello CNN(モデル作成) (12)
- Hello CNN(モデル作成) (13)
- Hello CNN(モデル作成) (14)
- Hello CNN(ロス関数)
- Hello CNN(学習)
- Hello CNN(学習) (2)
- Hello CNN(学習) (3)
- Hello CNN(性能評価)
- フリータイム (2)
- お疲れ様でした
- 各自ファイルを持ち帰って下さい
- 学生さん向けアナウンス
- 次回予告
- 次回予告 (2)
- 630 社内技術共有会
- 次回以降の予定
-
次回予告118
119
次回予告bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会ndash AI 情報共有会
bull 最近の AI系のニュースとかキャッチーな論文の成果を薄く広く紹介する会ndash 社内技術共有会
bull チームラボの最近の案件の技術的に面白い部分について知見を共有する会
ndash 630 の回は学生さん参加 OK
120
630 社内技術共有会bull ライブでのムービングライト制御について服部さんに話をしてもらいますbull teamLab Music Festival (making)
bull 狙った場所に正確に照射するために何をしたのかbull 実演あり
121
次回以降の予定bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会bull 77(木 ) 1900 - 2100 機械学習もくもく会(社内のみ)bull 714(木 ) 1900 - 2100
Deep Learning ハンズオン 2 (予定)bull これらの情報にキャッチアップしたいチームラボの人は
Slack の ai トピックに参加して下さいbull 学生の方は ML からご案内します
- Deep Learningハンズオン 1
- はじめに
- Deep Learning勉強会
- 今回から学生さんを受け入れています
- 今日の目次
- TensorFlow
- ハンズオン1 Jupyter
- Jupyter(旧称 IPython Notebook)
- Hello Jupyter
- Hello Jupyter (2)
- Hello Jupyter (3)
- ハンズオン2 TENSORFLOW入門
- ニューラルネットワーク(復習)
- 活性化関数ReLU関数
- 出力関数softmax関数
- ロス関数
- ドロップアウト
- ドロップアウト (2)
- ドロップアウト (3)
- ドロップアウト (4)
- ニューラルネット復習キーワード
- 数字認識確保する変数は
- 数字認識確保する変数は (2)
- 数字認識確保する変数は (3)
- 数字認識実際の計算
- 結合バイアス
- 結合バイアス (2)
- 結合バイアス (3)
- 数字認識確保する変数は (4)
- 数字認識確保する変数は (5)
- 数字認識確保する変数は (6)
- 数字認識確保する変数は (7)
- 数字認識実際の計算(バイアスあり)
- 数字認識一度に1データを処理
- 数字認識一度に2データを処理
- 数字認識一度に3データを処理
- 数字認識一度にNデータを処理
- 数字認識確保する変数(バッチ学習の場合)
- たくさんのバッチで繰り返し学習
- たくさんのバッチで繰り返し学習 (2)
- たくさんのバッチで繰り返し学習 (3)
- たくさんのバッチで繰り返し学習 (4)
- たくさんのバッチで繰り返し学習 (5)
- たくさんのバッチで繰り返し学習 (6)
- TensorFlowのデータ型
- Hello TensorFlow ( 000-MNISTipynb を開いて)
- Hello TensorFlow
- Hello TensorFlow (2)
- Hello TensorFlow (3)
- Hello TensorFlow (4)
- Hello TensorFlow (5)
- Hello TensorFlow (6)
- Hello TensorFlow (7)
- Hello TensorFlow (8)
- Hello TensorFlow (9)
- Hello TensorFlow (10)
- Hello TensorFlow (11)
- ロス関数もテンソルでモデル化
- ロス関数もテンソルでモデル化 (2)
- クロスエントロピーとは
- Hello TensorFlow (12)
- Hello TensorFlow (13)
- Hello TensorFlow (14)
- Hello TensorFlow (15)
- Hello TensorFlow (16)
- Hello TensorFlow (17)
- Hello TensorFlow (18)
- Hello TensorFlow (19)
- 精度の値もテンソルでモデル化
- 精度の値もテンソルでモデル化 (2)
- Hello TensorFlow (20)
- argmaxで認識結果が得られる
- Hello TensorFlow (21)
- Hello TensorFlow (22)
- Hello TensorFlow (23)
- Hello TensorFlow (24)
- Hello TensorFlow (25)
- フリータイム
- ハンズオン3 CNN
- 畳み込みニューラルネット
- 畳み込みニューラルネット (2)
- 通常のNN
- 入力を整形
- 畳み込みNNのパラメタ
- 畳み込み後の層
- プーリング (2x2)
- CNN全体構成 (13)
- CNN全体構成 (23)
- CNN全体構成 (33)
- CNN全体構成 (33) (2)
- Hello CNN
- Hello CNN (2)
- Hello CNN (3)
- Hello CNN (4)
- Hello CNN(モデル作成)
- Hello CNN(モデル作成) (2)
- Hello CNN(モデル作成) (3)
- Hello CNN(モデル作成) (4)
- Hello CNN(モデル作成) (5)
- Hello CNN(モデル作成) (6)
- Hello CNN(モデル作成) (7)
- Hello CNN(モデル作成) (8)
- Hello CNN(モデル作成) (9)
- Hello CNN(モデル作成) (10)
- Hello CNN(モデル作成) (11)
- Hello CNN(モデル作成) (12)
- Hello CNN(モデル作成) (13)
- Hello CNN(モデル作成) (14)
- Hello CNN(ロス関数)
- Hello CNN(学習)
- Hello CNN(学習) (2)
- Hello CNN(学習) (3)
- Hello CNN(性能評価)
- フリータイム (2)
- お疲れ様でした
- 各自ファイルを持ち帰って下さい
- 学生さん向けアナウンス
- 次回予告
- 次回予告 (2)
- 630 社内技術共有会
- 次回以降の予定
-
119
次回予告bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会ndash AI 情報共有会
bull 最近の AI系のニュースとかキャッチーな論文の成果を薄く広く紹介する会ndash 社内技術共有会
bull チームラボの最近の案件の技術的に面白い部分について知見を共有する会
ndash 630 の回は学生さん参加 OK
120
630 社内技術共有会bull ライブでのムービングライト制御について服部さんに話をしてもらいますbull teamLab Music Festival (making)
bull 狙った場所に正確に照射するために何をしたのかbull 実演あり
121
次回以降の予定bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会bull 77(木 ) 1900 - 2100 機械学習もくもく会(社内のみ)bull 714(木 ) 1900 - 2100
Deep Learning ハンズオン 2 (予定)bull これらの情報にキャッチアップしたいチームラボの人は
Slack の ai トピックに参加して下さいbull 学生の方は ML からご案内します
- Deep Learningハンズオン 1
- はじめに
- Deep Learning勉強会
- 今回から学生さんを受け入れています
- 今日の目次
- TensorFlow
- ハンズオン1 Jupyter
- Jupyter(旧称 IPython Notebook)
- Hello Jupyter
- Hello Jupyter (2)
- Hello Jupyter (3)
- ハンズオン2 TENSORFLOW入門
- ニューラルネットワーク(復習)
- 活性化関数ReLU関数
- 出力関数softmax関数
- ロス関数
- ドロップアウト
- ドロップアウト (2)
- ドロップアウト (3)
- ドロップアウト (4)
- ニューラルネット復習キーワード
- 数字認識確保する変数は
- 数字認識確保する変数は (2)
- 数字認識確保する変数は (3)
- 数字認識実際の計算
- 結合バイアス
- 結合バイアス (2)
- 結合バイアス (3)
- 数字認識確保する変数は (4)
- 数字認識確保する変数は (5)
- 数字認識確保する変数は (6)
- 数字認識確保する変数は (7)
- 数字認識実際の計算(バイアスあり)
- 数字認識一度に1データを処理
- 数字認識一度に2データを処理
- 数字認識一度に3データを処理
- 数字認識一度にNデータを処理
- 数字認識確保する変数(バッチ学習の場合)
- たくさんのバッチで繰り返し学習
- たくさんのバッチで繰り返し学習 (2)
- たくさんのバッチで繰り返し学習 (3)
- たくさんのバッチで繰り返し学習 (4)
- たくさんのバッチで繰り返し学習 (5)
- たくさんのバッチで繰り返し学習 (6)
- TensorFlowのデータ型
- Hello TensorFlow ( 000-MNISTipynb を開いて)
- Hello TensorFlow
- Hello TensorFlow (2)
- Hello TensorFlow (3)
- Hello TensorFlow (4)
- Hello TensorFlow (5)
- Hello TensorFlow (6)
- Hello TensorFlow (7)
- Hello TensorFlow (8)
- Hello TensorFlow (9)
- Hello TensorFlow (10)
- Hello TensorFlow (11)
- ロス関数もテンソルでモデル化
- ロス関数もテンソルでモデル化 (2)
- クロスエントロピーとは
- Hello TensorFlow (12)
- Hello TensorFlow (13)
- Hello TensorFlow (14)
- Hello TensorFlow (15)
- Hello TensorFlow (16)
- Hello TensorFlow (17)
- Hello TensorFlow (18)
- Hello TensorFlow (19)
- 精度の値もテンソルでモデル化
- 精度の値もテンソルでモデル化 (2)
- Hello TensorFlow (20)
- argmaxで認識結果が得られる
- Hello TensorFlow (21)
- Hello TensorFlow (22)
- Hello TensorFlow (23)
- Hello TensorFlow (24)
- Hello TensorFlow (25)
- フリータイム
- ハンズオン3 CNN
- 畳み込みニューラルネット
- 畳み込みニューラルネット (2)
- 通常のNN
- 入力を整形
- 畳み込みNNのパラメタ
- 畳み込み後の層
- プーリング (2x2)
- CNN全体構成 (13)
- CNN全体構成 (23)
- CNN全体構成 (33)
- CNN全体構成 (33) (2)
- Hello CNN
- Hello CNN (2)
- Hello CNN (3)
- Hello CNN (4)
- Hello CNN(モデル作成)
- Hello CNN(モデル作成) (2)
- Hello CNN(モデル作成) (3)
- Hello CNN(モデル作成) (4)
- Hello CNN(モデル作成) (5)
- Hello CNN(モデル作成) (6)
- Hello CNN(モデル作成) (7)
- Hello CNN(モデル作成) (8)
- Hello CNN(モデル作成) (9)
- Hello CNN(モデル作成) (10)
- Hello CNN(モデル作成) (11)
- Hello CNN(モデル作成) (12)
- Hello CNN(モデル作成) (13)
- Hello CNN(モデル作成) (14)
- Hello CNN(ロス関数)
- Hello CNN(学習)
- Hello CNN(学習) (2)
- Hello CNN(学習) (3)
- Hello CNN(性能評価)
- フリータイム (2)
- お疲れ様でした
- 各自ファイルを持ち帰って下さい
- 学生さん向けアナウンス
- 次回予告
- 次回予告 (2)
- 630 社内技術共有会
- 次回以降の予定
-
120
630 社内技術共有会bull ライブでのムービングライト制御について服部さんに話をしてもらいますbull teamLab Music Festival (making)
bull 狙った場所に正確に照射するために何をしたのかbull 実演あり
121
次回以降の予定bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会bull 77(木 ) 1900 - 2100 機械学習もくもく会(社内のみ)bull 714(木 ) 1900 - 2100
Deep Learning ハンズオン 2 (予定)bull これらの情報にキャッチアップしたいチームラボの人は
Slack の ai トピックに参加して下さいbull 学生の方は ML からご案内します
- Deep Learningハンズオン 1
- はじめに
- Deep Learning勉強会
- 今回から学生さんを受け入れています
- 今日の目次
- TensorFlow
- ハンズオン1 Jupyter
- Jupyter(旧称 IPython Notebook)
- Hello Jupyter
- Hello Jupyter (2)
- Hello Jupyter (3)
- ハンズオン2 TENSORFLOW入門
- ニューラルネットワーク(復習)
- 活性化関数ReLU関数
- 出力関数softmax関数
- ロス関数
- ドロップアウト
- ドロップアウト (2)
- ドロップアウト (3)
- ドロップアウト (4)
- ニューラルネット復習キーワード
- 数字認識確保する変数は
- 数字認識確保する変数は (2)
- 数字認識確保する変数は (3)
- 数字認識実際の計算
- 結合バイアス
- 結合バイアス (2)
- 結合バイアス (3)
- 数字認識確保する変数は (4)
- 数字認識確保する変数は (5)
- 数字認識確保する変数は (6)
- 数字認識確保する変数は (7)
- 数字認識実際の計算(バイアスあり)
- 数字認識一度に1データを処理
- 数字認識一度に2データを処理
- 数字認識一度に3データを処理
- 数字認識一度にNデータを処理
- 数字認識確保する変数(バッチ学習の場合)
- たくさんのバッチで繰り返し学習
- たくさんのバッチで繰り返し学習 (2)
- たくさんのバッチで繰り返し学習 (3)
- たくさんのバッチで繰り返し学習 (4)
- たくさんのバッチで繰り返し学習 (5)
- たくさんのバッチで繰り返し学習 (6)
- TensorFlowのデータ型
- Hello TensorFlow ( 000-MNISTipynb を開いて)
- Hello TensorFlow
- Hello TensorFlow (2)
- Hello TensorFlow (3)
- Hello TensorFlow (4)
- Hello TensorFlow (5)
- Hello TensorFlow (6)
- Hello TensorFlow (7)
- Hello TensorFlow (8)
- Hello TensorFlow (9)
- Hello TensorFlow (10)
- Hello TensorFlow (11)
- ロス関数もテンソルでモデル化
- ロス関数もテンソルでモデル化 (2)
- クロスエントロピーとは
- Hello TensorFlow (12)
- Hello TensorFlow (13)
- Hello TensorFlow (14)
- Hello TensorFlow (15)
- Hello TensorFlow (16)
- Hello TensorFlow (17)
- Hello TensorFlow (18)
- Hello TensorFlow (19)
- 精度の値もテンソルでモデル化
- 精度の値もテンソルでモデル化 (2)
- Hello TensorFlow (20)
- argmaxで認識結果が得られる
- Hello TensorFlow (21)
- Hello TensorFlow (22)
- Hello TensorFlow (23)
- Hello TensorFlow (24)
- Hello TensorFlow (25)
- フリータイム
- ハンズオン3 CNN
- 畳み込みニューラルネット
- 畳み込みニューラルネット (2)
- 通常のNN
- 入力を整形
- 畳み込みNNのパラメタ
- 畳み込み後の層
- プーリング (2x2)
- CNN全体構成 (13)
- CNN全体構成 (23)
- CNN全体構成 (33)
- CNN全体構成 (33) (2)
- Hello CNN
- Hello CNN (2)
- Hello CNN (3)
- Hello CNN (4)
- Hello CNN(モデル作成)
- Hello CNN(モデル作成) (2)
- Hello CNN(モデル作成) (3)
- Hello CNN(モデル作成) (4)
- Hello CNN(モデル作成) (5)
- Hello CNN(モデル作成) (6)
- Hello CNN(モデル作成) (7)
- Hello CNN(モデル作成) (8)
- Hello CNN(モデル作成) (9)
- Hello CNN(モデル作成) (10)
- Hello CNN(モデル作成) (11)
- Hello CNN(モデル作成) (12)
- Hello CNN(モデル作成) (13)
- Hello CNN(モデル作成) (14)
- Hello CNN(ロス関数)
- Hello CNN(学習)
- Hello CNN(学習) (2)
- Hello CNN(学習) (3)
- Hello CNN(性能評価)
- フリータイム (2)
- お疲れ様でした
- 各自ファイルを持ち帰って下さい
- 学生さん向けアナウンス
- 次回予告
- 次回予告 (2)
- 630 社内技術共有会
- 次回以降の予定
-
121
次回以降の予定bull 630(木 ) 1900 - 2100
AI 情報共有会 amp 社内技術共有会bull 77(木 ) 1900 - 2100 機械学習もくもく会(社内のみ)bull 714(木 ) 1900 - 2100
Deep Learning ハンズオン 2 (予定)bull これらの情報にキャッチアップしたいチームラボの人は
Slack の ai トピックに参加して下さいbull 学生の方は ML からご案内します
- Deep Learningハンズオン 1
- はじめに
- Deep Learning勉強会
- 今回から学生さんを受け入れています
- 今日の目次
- TensorFlow
- ハンズオン1 Jupyter
- Jupyter(旧称 IPython Notebook)
- Hello Jupyter
- Hello Jupyter (2)
- Hello Jupyter (3)
- ハンズオン2 TENSORFLOW入門
- ニューラルネットワーク(復習)
- 活性化関数ReLU関数
- 出力関数softmax関数
- ロス関数
- ドロップアウト
- ドロップアウト (2)
- ドロップアウト (3)
- ドロップアウト (4)
- ニューラルネット復習キーワード
- 数字認識確保する変数は
- 数字認識確保する変数は (2)
- 数字認識確保する変数は (3)
- 数字認識実際の計算
- 結合バイアス
- 結合バイアス (2)
- 結合バイアス (3)
- 数字認識確保する変数は (4)
- 数字認識確保する変数は (5)
- 数字認識確保する変数は (6)
- 数字認識確保する変数は (7)
- 数字認識実際の計算(バイアスあり)
- 数字認識一度に1データを処理
- 数字認識一度に2データを処理
- 数字認識一度に3データを処理
- 数字認識一度にNデータを処理
- 数字認識確保する変数(バッチ学習の場合)
- たくさんのバッチで繰り返し学習
- たくさんのバッチで繰り返し学習 (2)
- たくさんのバッチで繰り返し学習 (3)
- たくさんのバッチで繰り返し学習 (4)
- たくさんのバッチで繰り返し学習 (5)
- たくさんのバッチで繰り返し学習 (6)
- TensorFlowのデータ型
- Hello TensorFlow ( 000-MNISTipynb を開いて)
- Hello TensorFlow
- Hello TensorFlow (2)
- Hello TensorFlow (3)
- Hello TensorFlow (4)
- Hello TensorFlow (5)
- Hello TensorFlow (6)
- Hello TensorFlow (7)
- Hello TensorFlow (8)
- Hello TensorFlow (9)
- Hello TensorFlow (10)
- Hello TensorFlow (11)
- ロス関数もテンソルでモデル化
- ロス関数もテンソルでモデル化 (2)
- クロスエントロピーとは
- Hello TensorFlow (12)
- Hello TensorFlow (13)
- Hello TensorFlow (14)
- Hello TensorFlow (15)
- Hello TensorFlow (16)
- Hello TensorFlow (17)
- Hello TensorFlow (18)
- Hello TensorFlow (19)
- 精度の値もテンソルでモデル化
- 精度の値もテンソルでモデル化 (2)
- Hello TensorFlow (20)
- argmaxで認識結果が得られる
- Hello TensorFlow (21)
- Hello TensorFlow (22)
- Hello TensorFlow (23)
- Hello TensorFlow (24)
- Hello TensorFlow (25)
- フリータイム
- ハンズオン3 CNN
- 畳み込みニューラルネット
- 畳み込みニューラルネット (2)
- 通常のNN
- 入力を整形
- 畳み込みNNのパラメタ
- 畳み込み後の層
- プーリング (2x2)
- CNN全体構成 (13)
- CNN全体構成 (23)
- CNN全体構成 (33)
- CNN全体構成 (33) (2)
- Hello CNN
- Hello CNN (2)
- Hello CNN (3)
- Hello CNN (4)
- Hello CNN(モデル作成)
- Hello CNN(モデル作成) (2)
- Hello CNN(モデル作成) (3)
- Hello CNN(モデル作成) (4)
- Hello CNN(モデル作成) (5)
- Hello CNN(モデル作成) (6)
- Hello CNN(モデル作成) (7)
- Hello CNN(モデル作成) (8)
- Hello CNN(モデル作成) (9)
- Hello CNN(モデル作成) (10)
- Hello CNN(モデル作成) (11)
- Hello CNN(モデル作成) (12)
- Hello CNN(モデル作成) (13)
- Hello CNN(モデル作成) (14)
- Hello CNN(ロス関数)
- Hello CNN(学習)
- Hello CNN(学習) (2)
- Hello CNN(学習) (3)
- Hello CNN(性能評価)
- フリータイム (2)
- お疲れ様でした
- 各自ファイルを持ち帰って下さい
- 学生さん向けアナウンス
- 次回予告
- 次回予告 (2)
- 630 社内技術共有会
- 次回以降の予定
-