SlideShare una empresa de Scribd logo
1 de 67
Descargar para leer sin conexión
Deep Learning 入門
Logistic Regression
Multilayer perceptron
Convolutional Network
@magoroku15
2015/12/18 1
Deep Learning
• 1990年代に死んだと思われていたNNが2012年
以降、Deep Learningとして復活
• 各分野のコンベンションで優勝
– 画像認識
– 音声認識
– 化合物の活性予測
• 主要学会で話題に
– ICML(機械学習)、ACL(自然言語)、CVPR(画像処理)
– 2015はHotChips(アーキテクチャ)でもチュートリアル
2015/12/18 2
DNNによる音声認識の誤答率
hotchips2015 2015/12/18 3
ビジネスでも
• MS、Googleが音声認識をDNNで置き換え
• Googleが買った企業
– DNNresearch Inc
• ブームの火付け役トロント大Hinton教授が創立
– DeepMind Technologies:
• レトロゲームのルールを学習するDQN(Deep Q-Network)を開発
• BaiduはStanfordのAndrew Ng准教授をリクルート
– 顔認識のエラー率:Microsoftは3.67%、Facebookは1.63%、
Googleは0.37%に対してBaiduは0.15%
• クラウド上にPaaS等も登場
2015/12/18 4
機械学習
ニューラルネット
誤解も
• 機械学習、ニューラルネット、ディープニュー
ラルネット、ディープラーニング違いは?
• 世の中が騒いでいるのは
– ディープニューラルネット =ディープラーニング
– 機械学習の他の分野にブレークスルーは無い
ディープニューラルネット =ディープラーニング
2015/12/18 5
一躍、自動運転の基本技術に
• 同一のアルゴリズム+タグ付けで、多種のモノを認識(学習)
• 認識できない物!は
1. 車から画像を回収して
2. サーバで学習・タグ付して
3. 車の学習データを更新
• 計算量は非対称
2015/12/18 6
画像認識での成果
• ImageNet large-scale visual recognition challenge
(ILSVRC) 2012
– 1000種類の物体画像識別のコンベンション
– トロント大(Hinton教授)が圧勝
– エラー率が一気に10%以上向上
• ILSVRC2014のimage例
http://www.image-net.org/challenges/LSVRC/2014/index#introduction2015/12/18 7
DLアルゴリズム入門
• Web,書籍による解析主には次の2種類
– 数学を背景にした原理・アルゴリズムを説明するもの
• 大学教養レベルの数学+αの知識が必要
• 式変形のすべてを理解するのは(数か月では)厳しい
– 利用分野、今後の期待を説明するもの
• 表層的に説明に留まり、どの事業ドメインの使えるかわからない
例)音声・画像認識で大きな成果⇒他は?何に使えるの?
• ここでは、DLの入門として以下を試みる
– 手書き文字認識(MNIST)を例題に基本アルゴリズムを理解
– 数学的な説明を資料内ですべて完結(できる範囲で)
– 最初は、単純な1層のNNを対象 - Logistic Regression
– 続いて、2層のNN - Multilayer perceptron
– 最後に、物体認識で使われるConvolutio Neural Network
2015/12/18 8
Deep Learningのレイヤ
caffe
pylearn2
theano
Digits
Chainer
DNN
Feedforward Neural Network, Stochastic Gradient Descent,
Backpropagation, Autoencoder, Convolutional Neural Network,
Reccurrent Neural Network, Boltzmann machine
数学的背景
大学教養レベルの微積分、行列、ベイズ理論
教科書:“Pattern Recognition and Machine Learning”
(パターン認識と機械学習 - ベイズ理論による統計的予測)
Pycaffe MATLAB
PFIUCB Univ. of Montreal
Nvidia
C++
Torch7
Lua
アルゴリズムフレームワーク
Amazon ML
Azure ML
Google
Prediction API
クラウド
EC2 with GPU
Deep Learning非対応
Tensor
flow
Google
2015/12/18 9
Deep Learning Tutorials
• Université de Montréal - Lisa Labが以下で公開
git@github.com:lisa-lab/DeepLearningTutorials.git
http://deeplearning.net/tutorial
• 古典的なNN,DNNからCNNまで各種論理・技法を解説
– Python + theanoで記述
– 各種学習アルゴリズム
• 教師あり3種、教師なし4種、その他5種
• 教師あり3種を題材に説明
1. Logistic Regression - using Theano for something
2. Multilayer perceptron - introduction to layers
3. Deep Convolutional Network - a simplified version of LeNet5
2015/12/18 10
教師付き学習の例題
1. Logistic Regression - using Theano for something
– 1段:単純パーセプトロン、確率的勾配降下法
2. Multilayer perceptron - introduction to layers
– 2段:線形分離問題、誤差逆伝達法
3. Deep Convolutional Network - a simplified version of LeNet5
– 多段:汎化性向上のための畳み込み
• すべて同じ数字認識(MNIST)問題を扱う
• 高速化の各種実装もあわせて理解する
– 繰り返し処理を行列積(sgemm)演算で置き換え
• refBLAS,OpenBlas, ATLAS, cuBLAS(NVIDIA)
– CNNの畳み込み演算はストライド転送+演算
• cuDNN(NVIDIA)
2015/12/18 11
教師付き学習(MNIST )と誤答率
• 入門用向けの例題
1. Logistic Regression - using Theano for something simple 1950年代
2. Multilayer perceptron - introduction to layers 1980年代
3. Deep Convolutional Network - a simplified version of LeNet5 2010年代*
0
2
4
6
8
10
12
14
1
40
79
118
157
196
235
274
313
352
391
430
469
508
547
586
625
664
703
742
781
820
859
898
937
976
Logistic Regression
Multilayer perceptron
Deep Conventional Network
minibatch
誤答率
1.7%
0.91%
7.5%
多層(deep)化で
誤答率が大幅に
下がる
*1979年に福島邦彦氏が発表したネオコグニトロンの再発明
Deep Learning Tutorials の
例題で実測
2015/12/18 12
数字認識(MNIST)
• 28x28ピクセル,256諧調の手書き数字
• 60000枚の学習サンプル
• 1000枚のテストサンプル
28 x 28 ピクセル
256諧調
2015/12/18 13
学習と推定
学習:
大量のトレーニングデータを学習器に入力し、推定用のパラメタを得る
推定:
新規のデータにパラメタを適用して文字の確率を推定
トレーニングデータ
学習器
パラメタ
パラメタ
0.05 ’0’である確率
0.40 ‘1’である確率
0.05
0.05
0.15
0.05
0.05
0.15
0.05
0.05 ’9’である確率
IN
OUT IN OUT
学習 推定
2015/12/18 14
推定の仕組み
• 画像認識の学習の理解に先立って、推定の仕
組みを理解する
• 推定は推定対象画像とパラメタとの演算に帰結
するので、深いDNNでも最終段の仕組みは同じ
• 違いは以下
– 学習・推定データの空間を歪めて、分離を良くする
– 学習推定の対象をデータの「部分」とする
– 学習パラメタを「ボカス」
2015/12/18 15
パラメタW,bを用いた推定
2個の「画像」を重ねる
各「点」を掛け算て足すと
Wの明るい点とxの黒い点が重なると加点
Wの暗い点とxの黒い点が重なると減点
𝑊 𝑥 + 𝑏 = 確率
784行1列10行784列 10行1列10行1列
0.05 入力画像が’0’である確率
0.40
0.05
0.05
0.15
0.05
0.05
0.15
0.05
0.05 入力画像が’9’である確率
2015/12/18 16
パラメタの𝑊意味 – 数値
2015/12/18 17
赤を踏んだら減点
黒を踏んだら加点
2015/12/18 18
仕組み
784次元 10次元
0.05 ’0’である確率
0.40
0.05
0.05
0.15
0.05
0.05
0.15
0.05
0.05 ’9’である確率
28ピクセル
• 784次元から10次元への写像・次元圧縮
2015/12/18
28枚
19
写像・次元圧縮 - 行列の積
• N行M列 と M行L列 の積は N行L列
784行1列10行784列 10行1列
• 784次元から10次元への写像・次元圧縮
2015/12/18 20
行列の積
• N行M列 と M行L列 の積は N行L列
• 2行2列 と 2行2列 の積は2行2列
𝑎 𝑏
𝑐 𝑑
x
𝑒 𝑓
𝑔 ℎ
=
𝑎𝑒 + 𝑏𝑔 𝑎𝑓 + 𝑏ℎ
𝑐𝑒 + 𝑑𝑔 𝑐𝑓 + 𝑑ℎ
• 2行3列 と 3行2列 の積は2行2列
𝑎1 𝑎2 𝑎3
𝑏1 𝑏2 𝑏3
x
𝑐1 𝑑1
𝑐2 𝑑2
𝑐3 𝑑3
=
𝑎1 𝑐1 + 𝑎2 𝑐2 + 𝑎3 𝑐3 𝑎1 𝑑1 + 𝑎2 𝑑2 + 𝑎3 𝑑3
𝑏1 𝑐1 + 𝑏2 𝑐2 + 𝑏3 𝑐3 𝑏1 𝑑1 + 𝑏2 𝑑2 + 𝑏3 𝑑3
• 2行3列 と 3行1列 の積は2行1列
𝑎1 𝑎2 𝑎3
𝑏1 𝑏2 𝑏3
x
𝑐1
𝑐2
𝑐3
=
𝑎1 𝑐1 + 𝑎2 𝑐2 + 𝑎3 𝑐3
𝑏1 𝑐1 + 𝑏2 𝑐2 + 𝑏3 𝑐3
2015/12/18 21
忘れてしまったあなたのために追加
パラメタの𝑊意味
Wの明るい点とxの黒い点が重なり、かつ、
Wの暗い点とxの黒い点が重ならない
⇒大きな値
⇒’1’の可能性が高い
W x
Wの明るい点とxの黒い点が重なりが少な
⇒小さな値
⇒’9’の可能性は低い
Wに含まれる‘1’の学習データとxを掛け算
Wに含まれる‘1’の学習データとxを掛け算
2015/12/18 22
LOGISTIC REGRESSION
単純パーセプトロン
2015/12/18 23
Logistic Regression
• 入門用向けの例題
1. Logistic Regression - using Theano for something simple 1950年代
2. Multilayer perceptron - introduction to layers 1980年代
3. Deep Convolutional Network - a simplified version of LeNet5 2010年代*
0
2
4
6
8
10
12
14
1
40
79
118
157
196
235
274
313
352
391
430
469
508
547
586
625
664
703
742
781
820
859
898
937
976
Logistic Regression
Multilayer perceptron
Deep Conventional Network
minibatch
誤答率
1.7%
0.91%
7.5%
*1979年に福島邦彦氏が発表したネオコグニトロンの再発明
2015/12/18 24
最初はこれ
1960年代
単純パーセプトロン
• 1層のネットワーク、単純パーセプトロンを
Logistic Regressionで解く過程を追う
• 以下の順で説明する
– モデル Model
– 損失関数 Loss Function
– アルゴリズム
• 確率的勾配降下法 DGD:Stochastic Gradient Descent
2015/12/18 25
モデル
𝑊は重み付けの行列、𝑏はバイアスのベクトル
𝑥は入力ベクトル(トレーニングデータ)
𝑖, 𝑗はクラス(‘0’~’9’の10種を表す)
𝑃 𝑦 = 𝑖 𝑥, 𝑊, 𝑏 = 𝑠𝑜𝑓𝑡𝑚𝑎𝑥𝑖 𝑊𝑥 + 𝑏 =
𝑒 𝑊 𝑖 𝑥+𝑏 𝑖
𝑒 𝑊 𝑗 𝑥+𝑏 𝑗
𝑗
入力したベクトル𝑥がクラス𝑖になる確率が
最大となるようなW,bを求める
𝑦 𝑝𝑟𝑒𝑑 = 𝑎𝑟𝑔𝑚𝑎𝑥𝑖 𝑃(𝑌 = 𝑖|𝑥, 𝑊, 𝑏)
2015/12/18 26
モデル-確率の表現
𝑊は重み付けの行列(2次元配列)
𝑏はバイアスのベクトル(配列)
𝑃 𝑦 = 𝑖 𝑥, 𝑊, 𝑏 = 𝑠𝑜𝑓𝑡𝑚𝑎𝑥𝑖 𝑊𝑥 + 𝑏 =
𝑒 𝑊 𝑖 𝑥+𝑏 𝑖
𝑒 𝑊 𝑗 𝑥+𝑏 𝑗
𝑗
入力したベクトル𝑥がクラス𝑖に含まれる確率が最大となる
W,bを求める
𝑦 𝑝𝑟𝑒𝑑 = 𝑎𝑟𝑔𝑚𝑎𝑥𝑖 𝑃(𝑌 = 𝑖|𝑥, 𝑊, 𝑏)
ベイズの定理での表記𝑃(𝑌│𝑋)は、
事象Xが起きた前提で事象Yが起こる確率の事
⇒ベクトル𝑥、重み付けW、バイアスbの時に
クラスiがyとなる確率
2015/12/18 27
モデル-softmax
𝑊は重み付けの行列(2次元配列)
𝑏はバイアスのベクトル(配列)
𝑃 𝑦 = 𝑖 𝑥, 𝑊, 𝑏 = 𝑠𝑜𝑓𝑡𝑚𝑎𝑥𝑖 𝑊𝑥 + 𝑏 =
𝑒 𝑊 𝑖 𝑥+𝑏 𝑖
𝑒 𝑊 𝑗 𝑥+𝑏 𝑗
𝑗
入力したベクトル𝑥がクラス𝑖に含まれる確率が最大となる
W,bを求める
𝑦 𝑝𝑟𝑒𝑑 = 𝑎𝑟𝑔𝑚𝑎𝑥𝑖 𝑃(𝑌 = 𝑖|𝑥, 𝑊, 𝑏)
softmax関数は、sigmoid関数の多変量版
多変量ロジスティック回帰や多クラスのフィードフォアワード型の
ニューラルネットの活性化関数として利用される.
2015/12/18 28
モデル-sigmoid
𝑊は重み付けの行列(2次元配列)
𝑏はバイアスのベクトル(縦配列)
𝑃 𝑦 = 𝑖 𝑥, 𝑊, 𝑏 = 𝑠𝑜𝑓𝑡𝑚𝑎𝑥𝑖 𝑊𝑥 + 𝑏 =
𝑒 𝑊 𝑖 𝑥+𝑏 𝑖
𝑒 𝑊 𝑗 𝑥+𝑏 𝑗
𝑗
入力したベクトル𝑥がクラス𝑖に含まれる確率が最大となる
W,bを求める
𝑦 𝑝𝑟𝑒𝑑 = 𝑎𝑟𝑔𝑚𝑎𝑥𝑖 𝑃(𝑌 = 𝑖|𝑥, 𝑊, 𝑏)
シグモイド関数の多変量版
多変量ロジスティック回帰や多クラスのフィードフォアワード型の
ニューラルネットの活性化関数として利用される.
シグモイド関数は生物の神経細胞が持つ性質をモデル化したもの
1
1 + 𝑒−𝑥
0か1かの2分割判別につかうモデル
今回は多値(0-9)なのでsoftmaxを使う
2015/12/18 29
モデル-softmax
𝑊は重み付けの行列(2次元配列)
𝑏はバイアスのベクトル(配列)
𝑃 𝑦 = 𝑖 𝑥, 𝑊, 𝑏 = 𝑠𝑜𝑓𝑡𝑚𝑎𝑥𝑖 𝑊𝑥 + 𝑏 =
𝑒 𝑊 𝑖 𝑥+𝑏 𝑖
𝑒 𝑊 𝑗 𝑥+𝑏 𝑗
𝑗
入力したベクトル𝑥がクラス𝑖に含まれる確率が最大となる
W,bを求める
𝑦 𝑝𝑟𝑒𝑑 = 𝑎𝑟𝑔𝑚𝑎𝑥𝑖 𝑃(𝑌 = 𝑖|𝑥, 𝑊, 𝑏)
eは自然対数の底
eを底とする指数関数はその導関数と等しくなる
𝑑
𝑑𝑥
𝑒 𝑥
= 𝑒 𝑥
⇒微分が簡単!2015/12/18 30
モデル – softmax - Σ
𝑊は重み付けの行列(2次元配列)
𝑏はバイアスのベクトル(配列)
𝑃 𝑦 = 𝑖 𝑥, 𝑊, 𝑏 = 𝑠𝑜𝑓𝑡𝑚𝑎𝑥𝑖 𝑊𝑥 + 𝑏 =
𝑒 𝑊 𝑖 𝑥+𝑏 𝑖
𝑒 𝑊 𝑗 𝑥+𝑏 𝑗
𝑗
入力したベクトル𝑥がクラス𝑖に含まれる確率が最大となる
W,bを求める
𝑦 𝑝𝑟𝑒𝑑 = 𝑎𝑟𝑔𝑚𝑎𝑥𝑖 𝑃(𝑌 = 𝑖|𝑥, 𝑊, 𝑏)
すべての事象の内,特定の事象の割合(確率)を求める
𝑓 𝑖 = 𝑒 𝑊 𝑖 𝑥+𝑏 𝑖 のとき iを1~4を与える場合
𝑓 1 +𝑓 2 +𝑓 3 +𝑓(4)
𝑓 1 +𝑓 2 +𝑓 3 +𝑓(4)
=1 、すべての事象の発生確率の合計は1
i=1の発生確率は 、
𝑓 1
𝑓 1 +𝑓 2 +𝑓 3 +𝑓(4)
0.05 入力画像が’0’である確率
0.40
0.05
0.05
0.15
0.05
0.05
0.15
0.05
0.05 入力画像が’9’である確率
--------------------------------------------
1.00 合計
2015/12/18 31
モデル – softmax 理想値
• パラメタ算出時は理想値を置く
W x + b = 確率
784行1列10行784列 10行1列
0.00
1.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
---------
1.00
10行1列 入力が’1’の場合の理想値
2015/12/18 32
モデル
𝑊は重み付けの行列(2次元配列)
𝑏はバイアスのベクトル(配列)
𝑃 𝑦 = 𝑖 𝑥, 𝑊, 𝑏 = 𝑠𝑜𝑓𝑡𝑚𝑎𝑥𝑖 𝑊𝑥 + 𝑏 =
𝑒 𝑊 𝑖 𝑥+𝑏 𝑖
𝑒 𝑊 𝑗 𝑥+𝑏 𝑗
𝑗
入力したベクトル𝑥がクラス𝑖に含まれる確率が最大となる
W,bを求める
𝑦 𝑝𝑟𝑒𝑑 = 𝑎𝑟𝑔𝑚𝑎𝑥𝑖 𝑃(𝑌 = 𝑖|𝑥, 𝑊, 𝑏)
𝑎𝑟𝑔𝑚𝑎𝑥 𝑓(𝑥): 𝑓(𝑥) を最大にする𝑥の集合
クラスiの発生確率を最大にする𝑥, 𝑊, 𝑏を求めろ
2015/12/18 33
negative log-likelihood
• Likelihood
– 尤度関数(ゆうどかんすう)とは統計学において、ある前
提条件に従って結果が出現する場合に、逆に観察結果
からみて前提条件が「何々であった」と推測する尤もらし
さ(もっともらしさ)を表す数値を、「何々」を変数とする関
数として捉えたものである。また単に尤度ともいう。
wikipedia
2015/12/18 34
単純パーセプトロン
• 1層のネットワーク、単純パーセプトロンを
Logistic Regressionで解く過程を追う
• 以下の順で説明する
– モデル Model
– 損失関数 Loss Function
– アルゴリズム
• 確率的勾配降下法 DGD:Stochastic Gradient Descent
2015/12/18 35
損失関数
学習の結果は損失関数を用いて最適化する
多値分類のロジステック回帰では
負の対数尤度関数を用いることが多い
𝐿 𝜃 = 𝑊, 𝑏 , 𝐷 = log(𝑃 𝑌 = 𝑦 𝑖
𝑥 𝑖
, 𝑊, 𝑏))
|𝐷|
𝑖=0
最小化問題にしたいから対数尤度関数に-1をかけ
て最小化する事を考える。
𝑙 𝜃 = 𝑊, 𝑏 , 𝐷 = −𝐿(𝜃 = 𝑊, 𝑏 , 𝐷)
2015/12/18 36
損失関数
学習の結果は損失関数を用いて最適化する
多値分類のロジステック回帰では
負の対数尤度関数を用いることが多い
𝐿 𝜃 = 𝑊, 𝑏 , 𝐷 = log(𝑃 𝑌 = 𝑦 𝑖
𝑥 𝑖
, 𝑊, 𝑏))
|𝐷|
𝑖=0
最小化問題にしたいから対数尤度関数に-1をかけ
て最小化する事を考える。
𝑙 𝜃 = 𝑊, 𝑏 , 𝐷 = −𝐿(𝜃 = 𝑊, 𝑏 , 𝐷)
𝐷は学習データの集合 カードの束
シャッフルしてカードを1枚引く
引いたカードの𝑖𝑛𝑑𝑒𝑥が𝑖(0,1,2 … )
W, b が与えられたとき、カードの束Dのそれぞれのカードが
が正しく推定される確率
2015/12/18 37
損失関数
学習の結果は損失関数を用いて最適化する
多値分類のロジステック回帰では
負の対数尤度関数を用いることが多い
𝐿 𝜃 = 𝑊, 𝑏 , 𝐷 = log(𝑃 𝑌 = 𝑦 𝑖
𝑥 𝑖
, 𝑊, 𝑏))
|𝐷|
𝑖=0
最小化問題にしたいから対数尤度関数に-1をかけ
て最小化する事を考える。
𝑙 𝜃 = 𝑊, 𝑏 , 𝐷 = −𝐿(𝜃 = 𝑊, 𝑏 , 𝐷)
𝐷 カードの束 のそれぞれをW, b で推定した確からしさを
𝑙𝑜𝑔(確からしさ)として値を加算する
𝑙𝑜𝑔の加算なので、乗算を意味
確からしさの乗算なので同時確率
2015/12/18 38
損失関数 log(𝑃𝑖)
|𝐷|
𝑖=0
• 各カードの正解確率をlogして加算
– log(0.40) + log(0.40) + log(0.40) ・・・・ log(0.30)
– Logを取ると乗算と同じ意味
• 正解確率の乗算結果は、同時確率の意味
• 乗算は扱いにくいので対数にして、加算
i=0
0.05
0.40
0.05
0.05
0.15
0.05
0.05
0.15
0.05
0.05
i=1
0.05
0.15
0.05
0.05
0.15
0.05
0.05
0.40
0.05
0.05
i=2
0.05
0.15
0.05
0.05
0.15
0.05
0.05
0.40
0.05
0.05
i=j
0.30
0.15
0.05
0.05
0.15
0.05
0.05
0.15
0.05
0.05
….. 0.40 x 0.40 x 0.40 ・・・・・ 0.30
データを増やすと…やっかい
2015/12/18 39
損失関数
学習の結果は損失関数を用いて最適化する
多値分類のロジステック回帰では
負の対数尤度関数を用いることが多い
𝐿 𝜃 = 𝑊, 𝑏 , 𝐷 = log(𝑃 𝑌 = 𝑦 𝑖
𝑥 𝑖
, 𝑊, 𝑏))
|𝐷|
𝑖=0
最小化問題にしたいから対数尤度関数に-1をかけ
て最小化する事を考える。
𝑙 𝜃 = 𝑊, 𝑏 , 𝐷 = −𝐿(𝜃 = 𝑊, 𝑏 , 𝐷)
2015/12/18 40
単純パーセプトロン
• 1層のネットワーク、単純パーセプトロンを
Logistic Regressionで解く過程を追う
• 以下の順で説明する
– モデル Model
– 損失関数 Loss Function
– アルゴリズム
• 確率的勾配降下法 SGD:Stochastic Gradient Descent
2015/12/18 41
確率的勾配降下法
(SGD:Stochastic Gradient Descent)
• ランダムに学習データを1つ選んで誤差関数を計算し,その
勾配方向にパラメータを修正する操作を反復する
• モデル
𝑃 𝑦 = 𝑖 𝑥, 𝑊, 𝑏 =
𝑒 𝑊𝑖 𝑥+𝑏 𝑖
𝑒 𝑊 𝑗 𝑥+𝑏 𝑗
𝑗
• 誤差関数
𝑁𝐿𝐿 𝜃 = 𝑊, 𝑏 , 𝐷 = − log(𝑃 𝑌 = 𝑦 𝑖
𝑥 𝑖
, 𝑊, 𝑏))
|𝐷|
𝑖=0
集合𝐷の同時発生確率を最大にする
2015/12/18 42
最急降下法と確率的勾配降下法
• 𝜃を引数とする𝑓 𝜃 の値を最小化したい
• 最急降下法
𝜃 𝑖+1
= 𝜃 𝑖
− 𝜂
𝜕
𝜕𝜃
𝑓(𝜃 𝑖
)
• 確率的勾配降下法
𝜃 𝑖+1
= 𝜃 𝑖
− 𝜂
𝜕
𝜕𝜃
𝑓 𝜃 𝑖 (𝑥 𝑛)
– 収束させるにはη を適切に設定する
– 局所的な参照のためメモリ効率が良い
2015/12/18 43
Theanoでの解法
• 同時発生確率を誤差関数costとして定義
– 加算の代わりに平均meanを使用
• costを𝑊, 𝑏で偏微分T.grad,
𝜕
𝜕𝜃
相当
• 学習率learnig_rateで減衰させながら更新
2015/12/18
def negative_log_likelihood(self, y):
return -T.mean(T.log(self.p_y_given_x)[T.arange(y.shape[0]), y])
cost = classifier.negative_log_likelihood(y)
g_W = T.grad(cost=cost, wrt=classifier.W)
g_b = T.grad(cost=cost, wrt=classifier.b)
updates = [(classifier.W, classifier.W - learning_rate * g_W),
(classifier.b, classifier.b - learning_rate * g_b)]
44
エラー率が7.5%で打
ち切り
73世代
600x83x73=
3635400画像(延数)
Batchあたり600画像x
83バッチ
動かしてみる
• ドキュメント
– http://deeplearning.net/tutorial/logreg.html#logreg
• ソースコード
– https://github.com/lisa-lab/DeepLearningTutorials
$ python logistic_sgd.py
... loading data
... building the model
... training the model
epoch 1, minibatch 83/83, validation error 12.458333 %
epoch 1, minibatch 83/83, test error of best model 12.375000 %
:
epoch 73, minibatch 83/83, validation error 7.500000 %
epoch 73, minibatch 83/83, test error of best model 7.489583 %
1世代
73世代
2015/12/18 45
MULTILAYER PERCEPTRON
多層化
2015/12/18 46
Multilayer perceptron
• 入門用向けの例題
1. Logistic Regression - using Theano for something simple 1950年代
2. Multilayer perceptron - introduction to layers 1980年代
3. Deep Convolutional Network - a simplified version of LeNet5 2010年代*
0
2
4
6
8
10
12
14
1
40
79
118
157
196
235
274
313
352
391
430
469
508
547
586
625
664
703
742
781
820
859
898
937
976
Logistic Regression
Multilayer perceptron
Deep Conventional Network
minibatch
誤答率
1.7%
0.91%
7.5%
*1979年に福島邦彦氏が発表したネオコグニトロンの再発明
Theanoの例題で実測
2015/12/18 47
次はこれ
1990年代
Multilayer perceptron
• 1層モデルと同じくMNISTを例題にして、多層
(2層以上)のNNの原理と効果について説明
• モデル
– 線形分離問題
– 誤差逆伝達法
• その他テクニックは簡単な紹介のみ
– パラメタの初期
– 正則化
2015/12/18 48
モデル
• 𝑓 𝑥 = 𝐺 𝑏 2 + 𝑊 2 𝑠 𝑏 1 + 𝑊 1 𝑥
• ロジステック回帰の前段に一層追加した場合を例に説明
• Layerの追加で誤答率が7%から1.69%へ大きく改善
0.05
0.40
0.05
0.05
0.15
0.05
0.05
0.15
0.05
0.05
𝑊1
𝑏1
𝑊2
𝑏2
‘1’
ロジステック回帰の例題今回追加
2015/12/18 49
隠れ層の役割
𝑓 𝑥 = 𝐺 𝑏 2
+ 𝑊 2
𝑠 𝑏 1
+ 𝑊 1
𝑥
• 隠れ層:𝑠 𝑏 1
+ 𝑊 1
𝑥
• 線形分離不可問題に効果がある
– 空間を曲げる、次元変換
– 空間を行列演算で曲げ、平面で分離する
• どうやって?
http://sinhrks.hatenablog.com/entry/2014/11/30/192940
2015/12/18 50
Back propagation - 誤差逆伝播法
• 出力層から入力層側への学習
• 2層分のパラメタをまとめて学習
𝜃 = 𝑊 2 , 𝑏 2 , 𝑊 1 , 𝑏 1 .
– SGDと同様に𝑊 2
, 𝑏 2
誤差最小の値を計算
– 誤差が𝑊 1
, 𝑏 1
から生じたとして𝑊 1
, 𝑏 1
を更
新
• フレームワークが処理してくれるので意味と
目的が理解できればよい
2015/12/18 51
Theanoでの2層分の偏微分
• 損失関数 cost を、パラメータ HiddenLayer.W,
HiddenLayer.b, LogisticRegression.W,
LogisticRegression.bそれぞれで偏微分した偏
導関数を求めておく
• パラメータごとに勾配計算 / 更新
𝜃 = 𝑊 2
, 𝑏 2
, 𝑊 1
, 𝑏 1
を
𝜕𝑙
𝜕𝜃
class HiddenLayer self.params = [self.W, self.b]
class LogisticRegression self.params = [self.W, self.b]
self.params = self.hiddenLayer.params + self.logRegressionLayer.params
gparams = [T.grad(cost, param) for param in classifier.params]
2015/12/18 52
隠れ層の可視化
Epoc:0 Epoc:828
http://sinhrks.hatenablog.com/entry/2014/11/30/085119
•隠れ層からの出力データ 500 次元に主成分分析をかけて 2次元に写像
•ランダムサンプリングした 300 レコードを描画 2015/12/18 53
‘8’と’6’の分離
•
Epoc:0 Epoc:828
http://sinhrks.hatenablog.com/entry/2014/11/30/0851192015/12/18 54
DEEP CONVOLUTIONAL NETWORK
2015/12/18 55
Convolutional Network
• 3つの入門用向け例題
1. Logistic Regression - using Theano for something simple
2. Multilayer perceptron - introduction to layers
3. Deep Convolutional Network - a simplified version of LeNet5
0
2
4
6
8
10
12
14
1
40
79
118
157
196
235
274
313
352
391
430
469
508
547
586
625
664
703
742
781
820
859
898
937
976
Logistic Regression
Multilayer perceptron
Deep Conventional Network
minibatch
誤答率
1.7%
0.91%
7.5%
56
最後はこれ
2012年
Multi Layer Perceptronを拡張
𝑓 𝑥 = 𝐺 𝑏 2
+ 𝑊 2
𝑠 𝑏 1
+ 𝑊 1
𝑥
s
s
s
s
s
G
G
G
s
0.05
0.40
0.05
0.05
0.15
0.05
0.05
0.15
0.05
0.05
𝑊1 𝑏1 𝑊2 𝑏2
‘1’
𝑤1
入力層 - 隠れ層の間で適用される係数行列
𝑏1
入力層 - 隠れ層の間で適用される重みベクトル
𝑠 隠れ層の活性化関数
𝑤2
隠れ層 - 出力層の間で適用される係数行列 = ロジスティック回帰の係数行列
𝑏2
隠れ層 - 出力層の間で適用される重みベクトル = ロジスティック回帰の重みベクトル
𝐺 出力層の活性化関数。多クラスの場合はソフトマックス関数
入力層 隠れ層 出力層
Convolutional と
maxpooling を
追加
57
convolutional_mlp.pyのモデル
• convolution 濃淡構造をフィルタで抽出
• maxpooling 位置感度を低下させる
layer0 = LeNetConvPoolLayer(
rng,
input=layer0_input,
image_shape=(batch_size, 1, 28, 28),
filter_shape=(20, 1, 5, 5),
poolsize=(2, 2)
)
layer1 = LeNetConvPoolLayer(
rng,
input=layer0.output,
image_shape=(batch_size, nkerns[0], 12, 12),
filter_shape=(50, 20, 5, 5),
poolsize=(2, 2)
)
layer2 = HiddenLayer(
rng,
input=layer2_input,
n_in=50 * 4 * 4,
n_out=500,
activation=T.tanh
)
layer3 = LogisticRegression(
input=layer2.output, n_in=500, n_out=10
)
28
28
24
24
1枚
20枚
layer0
LeNetConvPoolLayer
convolution maxpooling
layer2
HiddenLayer
layer3
LogisticRegression
800
500
10
4x4x50
1.Logistic
Regression
2.Multilayer perceptron
3.Deep ConvolutionalNetwork
W[20, 1, 5, 5]
5x5画素1chを20個
学習するフィルタ
20枚
12
12
layer1
LeNetConvPoolLayer
8
8
50枚
4
4
50枚
convolution maxpooling
W[50,20, 5, 5]
5x5画素20chを50個
学習するフィルタ
W W
58
Layer0 - Convolutionの演算
• 5x5画素1chのフィルタを20個
を学習する
• 元データに畳み込む
– ずらしながら演算
– 入力画像W×W
– フィルタがH×H
– 出力サイズ
W−2⌊H/2⌋×W−2⌊H/2⌋
layer0 = LeNetConvPoolLayer(
rng,
input=layer0_input,
image_shape=(batch_size, 1, 28, 28),
filter_shape=(20, 1, 5, 5),
poolsize=(2, 2)
)
28
28
24
24
1枚
20枚 20枚
12
12
layer0
LeNetConvPoolLayer
convolution maxpooling
20個
5
5
20個、1CH、5x5
28
24
59
Layer0 - maxpoolingの演算
• 2x2の画素の最大値を
とる
• 画素数は縦横半分に
layer0 = LeNetConvPoolLayer(
rng,
input=layer0_input,
image_shape=(batch_size, 1, 28, 28),
filter_shape=(20, 1, 5, 5),
poolsize=(2, 2)
)
28
28
24
24
1枚
20枚 20枚
12
12
layer0
LeNetConvPoolLayer
convolution maxpooling
24
24
12
12
2x2
60
Layer1 - Convolutionの演算
• 5x5画素20chのフィルタを50
個を学習する
50個、20CH、5x5
20枚
12
12
layer1
LeNetConvPoolLayer
8
8
50枚
4
4
50枚
convolution maxpooling
layer1 = LeNetConvPoolLayer(
rng,
input=layer0.output,
image_shape=(batch_size, nkerns[0], 12,
12),
filter_shape=(50, 20, 5, 5),
poolsize=(2, 2)
)
50個
5
5 20CH
20枚
12
12
8
8 1/50枚
12
12
8
85
5
20枚
12
12
8
8
50枚
convolution
X20回
X50回
61
convolutional_mlp.pyの4層モデル
28
28
24
24
1枚 20枚
convolution maxpooling
800 500 10
4x4x50
20枚
12
12
8
8
50枚
4
4
50枚
convolution maxpooling
W W
updates = [
(param_i, param_i - learning_rate * grad_i)
for param_i, grad_i in zip(params, grads)
]
train_model = theano.function(
[index],
cost,
updates=updates,
givens={
x: train_set_x[index * batch_size: (index + 1) * batch_size],
y: train_set_y[index * batch_size: (index + 1) * batch_size]
}
)
test_model = theano.function(
[index],
layer3.errors(y),
givens={
x: test_set_x[index * batch_size: (index + 1) * batch_size],
y: test_set_y[index * batch_size: (index + 1) * batch_size]
}
)
validate_model = theano.function(
[index],
layer3.errors(y),
givens={
x: valid_set_x[index * batch_size: (index + 1) * batch_size],
y: valid_set_y[index * batch_size: (index + 1) * batch_size]
}
Forwardのみ
Forward &
Backward
Backward
5x5画素
20個
5x5画素20枚
50個
5x5画素1chを20個を学習 5x5画素20chを50個を学習
Forward
layer0 layer1 layer2 layer3
flatten
62
THEANOのTIPS
2015/12/18 63
Forward(推定)の構文木
layer0
layer1
layer2
layer3
64
Forward(推定)とBackward(学習)の構文木
Forward
layer0
layer1
layer2
layer3
65
Forward(推定)とBackward(学習)の構文木
66
構文木を出力
• Theanoのプログラム中に構文木の出力を指示
theano.printing.pydotprint(test_model, outfile="./c_graph_test_model.png",var_with_name_simple=True)
theano.printing.pydotprint(validate_model, outfile="./c_graph_validate_model.png", var_with_name_simple=True)
theano.printing.pydotprint(train_model, outfile="./c_graph_train_model.png", var_with_name_simple=True)
• 環境変数を設定
export THEANO_FLAGS=mode=FAST_RUN,profile=True,device=gpu,floatX=float32
• 変数
– シアン: 共用変数
– 緑:入力変数
– 青:出力変数
– 灰:未使用の変数
• Default apply node code::
– 赤: gpu転送
– 黄:scan node
– 茶:shape node
– マジェンタ:IfElse node
– ピンク:elemwise node
– 紫:subtensor
– オレンジ:alloc node
67

Más contenido relacionado

La actualidad más candente

[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and Editing
[DL輪読会]GLIDE: Guided Language to Image Diffusion  for Generation and Editing[DL輪読会]GLIDE: Guided Language to Image Diffusion  for Generation and Editing
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and EditingDeep Learning JP
 
Decision Transformer: Reinforcement Learning via Sequence Modeling
Decision Transformer: Reinforcement Learning via Sequence ModelingDecision Transformer: Reinforcement Learning via Sequence Modeling
Decision Transformer: Reinforcement Learning via Sequence ModelingYasunori Ozaki
 
[DL輪読会]Vision Transformer with Deformable Attention (Deformable Attention Tra...
[DL輪読会]Vision Transformer with Deformable Attention (Deformable Attention Tra...[DL輪読会]Vision Transformer with Deformable Attention (Deformable Attention Tra...
[DL輪読会]Vision Transformer with Deformable Attention (Deformable Attention Tra...Deep Learning JP
 
Semi supervised, weakly-supervised, unsupervised, and active learning
Semi supervised, weakly-supervised, unsupervised, and active learningSemi supervised, weakly-supervised, unsupervised, and active learning
Semi supervised, weakly-supervised, unsupervised, and active learningYusuke Uchida
 
(DL輪読)Variational Dropout Sparsifies Deep Neural Networks
(DL輪読)Variational Dropout Sparsifies Deep Neural Networks(DL輪読)Variational Dropout Sparsifies Deep Neural Networks
(DL輪読)Variational Dropout Sparsifies Deep Neural NetworksMasahiro Suzuki
 
Transformerを用いたAutoEncoderの設計と実験
Transformerを用いたAutoEncoderの設計と実験Transformerを用いたAutoEncoderの設計と実験
Transformerを用いたAutoEncoderの設計と実験myxymyxomatosis
 
Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)
Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)
Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)Yoshitaka Ushiku
 
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...Deep Learning JP
 
【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習cvpaper. challenge
 
【DL輪読会】DINOv2: Learning Robust Visual Features without Supervision
【DL輪読会】DINOv2: Learning Robust Visual Features without Supervision【DL輪読会】DINOv2: Learning Robust Visual Features without Supervision
【DL輪読会】DINOv2: Learning Robust Visual Features without SupervisionDeep Learning JP
 
【DL輪読会】Dropout Reduces Underfitting
【DL輪読会】Dropout Reduces Underfitting【DL輪読会】Dropout Reduces Underfitting
【DL輪読会】Dropout Reduces UnderfittingDeep Learning JP
 
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning 画像×言語の大規模基盤モ...
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning   画像×言語の大規模基盤モ...【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning   画像×言語の大規模基盤モ...
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning 画像×言語の大規模基盤モ...Deep Learning JP
 
深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)Masahiro Suzuki
 
Transformer 動向調査 in 画像認識(修正版)
Transformer 動向調査 in 画像認識(修正版)Transformer 動向調査 in 画像認識(修正版)
Transformer 動向調査 in 画像認識(修正版)Kazuki Maeno
 
【DL輪読会】Contrastive Learning as Goal-Conditioned Reinforcement Learning
【DL輪読会】Contrastive Learning as Goal-Conditioned Reinforcement Learning【DL輪読会】Contrastive Learning as Goal-Conditioned Reinforcement Learning
【DL輪読会】Contrastive Learning as Goal-Conditioned Reinforcement LearningDeep Learning JP
 
Generative Adversarial Imitation Learningの紹介(RLアーキテクチャ勉強会)
Generative Adversarial Imitation Learningの紹介(RLアーキテクチャ勉強会)Generative Adversarial Imitation Learningの紹介(RLアーキテクチャ勉強会)
Generative Adversarial Imitation Learningの紹介(RLアーキテクチャ勉強会)Yusuke Nakata
 
生成モデルの Deep Learning
生成モデルの Deep Learning生成モデルの Deep Learning
生成モデルの Deep LearningSeiya Tokui
 
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Yusuke Uchida
 
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII
 
深層学習の数理:カーネル法, スパース推定との接点
深層学習の数理:カーネル法, スパース推定との接点深層学習の数理:カーネル法, スパース推定との接点
深層学習の数理:カーネル法, スパース推定との接点Taiji Suzuki
 

La actualidad más candente (20)

[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and Editing
[DL輪読会]GLIDE: Guided Language to Image Diffusion  for Generation and Editing[DL輪読会]GLIDE: Guided Language to Image Diffusion  for Generation and Editing
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and Editing
 
Decision Transformer: Reinforcement Learning via Sequence Modeling
Decision Transformer: Reinforcement Learning via Sequence ModelingDecision Transformer: Reinforcement Learning via Sequence Modeling
Decision Transformer: Reinforcement Learning via Sequence Modeling
 
[DL輪読会]Vision Transformer with Deformable Attention (Deformable Attention Tra...
[DL輪読会]Vision Transformer with Deformable Attention (Deformable Attention Tra...[DL輪読会]Vision Transformer with Deformable Attention (Deformable Attention Tra...
[DL輪読会]Vision Transformer with Deformable Attention (Deformable Attention Tra...
 
Semi supervised, weakly-supervised, unsupervised, and active learning
Semi supervised, weakly-supervised, unsupervised, and active learningSemi supervised, weakly-supervised, unsupervised, and active learning
Semi supervised, weakly-supervised, unsupervised, and active learning
 
(DL輪読)Variational Dropout Sparsifies Deep Neural Networks
(DL輪読)Variational Dropout Sparsifies Deep Neural Networks(DL輪読)Variational Dropout Sparsifies Deep Neural Networks
(DL輪読)Variational Dropout Sparsifies Deep Neural Networks
 
Transformerを用いたAutoEncoderの設計と実験
Transformerを用いたAutoEncoderの設計と実験Transformerを用いたAutoEncoderの設計と実験
Transformerを用いたAutoEncoderの設計と実験
 
Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)
Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)
Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)
 
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...
 
【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習
 
【DL輪読会】DINOv2: Learning Robust Visual Features without Supervision
【DL輪読会】DINOv2: Learning Robust Visual Features without Supervision【DL輪読会】DINOv2: Learning Robust Visual Features without Supervision
【DL輪読会】DINOv2: Learning Robust Visual Features without Supervision
 
【DL輪読会】Dropout Reduces Underfitting
【DL輪読会】Dropout Reduces Underfitting【DL輪読会】Dropout Reduces Underfitting
【DL輪読会】Dropout Reduces Underfitting
 
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning 画像×言語の大規模基盤モ...
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning   画像×言語の大規模基盤モ...【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning   画像×言語の大規模基盤モ...
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning 画像×言語の大規模基盤モ...
 
深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)
 
Transformer 動向調査 in 画像認識(修正版)
Transformer 動向調査 in 画像認識(修正版)Transformer 動向調査 in 画像認識(修正版)
Transformer 動向調査 in 画像認識(修正版)
 
【DL輪読会】Contrastive Learning as Goal-Conditioned Reinforcement Learning
【DL輪読会】Contrastive Learning as Goal-Conditioned Reinforcement Learning【DL輪読会】Contrastive Learning as Goal-Conditioned Reinforcement Learning
【DL輪読会】Contrastive Learning as Goal-Conditioned Reinforcement Learning
 
Generative Adversarial Imitation Learningの紹介(RLアーキテクチャ勉強会)
Generative Adversarial Imitation Learningの紹介(RLアーキテクチャ勉強会)Generative Adversarial Imitation Learningの紹介(RLアーキテクチャ勉強会)
Generative Adversarial Imitation Learningの紹介(RLアーキテクチャ勉強会)
 
生成モデルの Deep Learning
生成モデルの Deep Learning生成モデルの Deep Learning
生成モデルの Deep Learning
 
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
 
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
 
深層学習の数理:カーネル法, スパース推定との接点
深層学習の数理:カーネル法, スパース推定との接点深層学習の数理:カーネル法, スパース推定との接点
深層学習の数理:カーネル法, スパース推定との接点
 

Destacado

自動並列化コンパイラをAndroidに適用してみた
自動並列化コンパイラをAndroidに適用してみた自動並列化コンパイラをAndroidに適用してみた
自動並列化コンパイラをAndroidに適用してみたmagoroku Yamamoto
 
Deep Learningの基礎と応用
Deep Learningの基礎と応用Deep Learningの基礎と応用
Deep Learningの基礎と応用Seiya Tokui
 
ディープラーニングの最新動向
ディープラーニングの最新動向ディープラーニングの最新動向
ディープラーニングの最新動向Preferred Networks
 
Chain of Responsibility
Chain of ResponsibilityChain of Responsibility
Chain of ResponsibilityYoshiori Shoji
 
オープンデータと Linked Open Data(LOD)
オープンデータとLinked Open Data(LOD)オープンデータとLinked Open Data(LOD)
オープンデータと Linked Open Data(LOD)Kouji Kozaki
 
Oscar compiler for power reduction
Oscar compiler for power reduction Oscar compiler for power reduction
Oscar compiler for power reduction magoroku Yamamoto
 
UnityによるVR開発 - 入力デバイス編 -
UnityによるVR開発 - 入力デバイス編 -UnityによるVR開発 - 入力デバイス編 -
UnityによるVR開発 - 入力デバイス編 -Tomonori Takata
 
Kixs vol.001 よろず相談会「ネットワーク構成図とVLANを5分で語る」
Kixs vol.001 よろず相談会「ネットワーク構成図とVLANを5分で語る」Kixs vol.001 よろず相談会「ネットワーク構成図とVLANを5分で語る」
Kixs vol.001 よろず相談会「ネットワーク構成図とVLANを5分で語る」Tomonori Takada
 
A Safe Rule for Sparse Logistic Regression
A Safe Rule for Sparse Logistic RegressionA Safe Rule for Sparse Logistic Regression
A Safe Rule for Sparse Logistic RegressionKimikazu Kato
 
戦国時代を生きた「黒田官兵衛」とWeb時代を生きる「エンジニア」
戦国時代を生きた「黒田官兵衛」とWeb時代を生きる「エンジニア」戦国時代を生きた「黒田官兵衛」とWeb時代を生きる「エンジニア」
戦国時代を生きた「黒田官兵衛」とWeb時代を生きる「エンジニア」Junya Yamaguchi
 
がんばろう!はじめてのDnn!
がんばろう!はじめてのDnn!がんばろう!はじめてのDnn!
がんばろう!はじめてのDnn!Shushi Namba
 
人工知能が変える投資の世界 人工知能はすでにここまで身近になっている
人工知能が変える投資の世界 人工知能はすでにここまで身近になっている人工知能が変える投資の世界 人工知能はすでにここまで身近になっている
人工知能が変える投資の世界 人工知能はすでにここまで身近になっているTakanobu Mizuta
 
VRを使ったビジュアライゼーションの可能性について @Unite 2015 Tokyo
VRを使ったビジュアライゼーションの可能性について @Unite 2015 TokyoVRを使ったビジュアライゼーションの可能性について @Unite 2015 Tokyo
VRを使ったビジュアライゼーションの可能性について @Unite 2015 TokyoNaoji Taniguchi
 

Destacado (20)

波形で見るBig.little
波形で見るBig.little波形で見るBig.little
波形で見るBig.little
 
一般向けのDeep Learning
一般向けのDeep Learning一般向けのDeep Learning
一般向けのDeep Learning
 
自動並列化コンパイラをAndroidに適用してみた
自動並列化コンパイラをAndroidに適用してみた自動並列化コンパイラをAndroidに適用してみた
自動並列化コンパイラをAndroidに適用してみた
 
Deep Learningの基礎と応用
Deep Learningの基礎と応用Deep Learningの基礎と応用
Deep Learningの基礎と応用
 
ディープラーニングの最新動向
ディープラーニングの最新動向ディープラーニングの最新動向
ディープラーニングの最新動向
 
Chain of Responsibility
Chain of ResponsibilityChain of Responsibility
Chain of Responsibility
 
オープンデータと Linked Open Data(LOD)
オープンデータとLinked Open Data(LOD)オープンデータとLinked Open Data(LOD)
オープンデータと Linked Open Data(LOD)
 
ctypes拡張モジュール
ctypes拡張モジュールctypes拡張モジュール
ctypes拡張モジュール
 
Oscar compiler for power reduction
Oscar compiler for power reduction Oscar compiler for power reduction
Oscar compiler for power reduction
 
Unix v6 セミナー vol. 5
Unix v6 セミナー vol. 5Unix v6 セミナー vol. 5
Unix v6 セミナー vol. 5
 
UnityによるVR開発 - 入力デバイス編 -
UnityによるVR開発 - 入力デバイス編 -UnityによるVR開発 - 入力デバイス編 -
UnityによるVR開発 - 入力デバイス編 -
 
V6 unix in okinawa
V6 unix in okinawaV6 unix in okinawa
V6 unix in okinawa
 
Kixs vol.001 よろず相談会「ネットワーク構成図とVLANを5分で語る」
Kixs vol.001 よろず相談会「ネットワーク構成図とVLANを5分で語る」Kixs vol.001 よろず相談会「ネットワーク構成図とVLANを5分で語る」
Kixs vol.001 よろず相談会「ネットワーク構成図とVLANを5分で語る」
 
Android binder-ipc
Android binder-ipcAndroid binder-ipc
Android binder-ipc
 
Android ipm 20110409
Android ipm 20110409Android ipm 20110409
Android ipm 20110409
 
A Safe Rule for Sparse Logistic Regression
A Safe Rule for Sparse Logistic RegressionA Safe Rule for Sparse Logistic Regression
A Safe Rule for Sparse Logistic Regression
 
戦国時代を生きた「黒田官兵衛」とWeb時代を生きる「エンジニア」
戦国時代を生きた「黒田官兵衛」とWeb時代を生きる「エンジニア」戦国時代を生きた「黒田官兵衛」とWeb時代を生きる「エンジニア」
戦国時代を生きた「黒田官兵衛」とWeb時代を生きる「エンジニア」
 
がんばろう!はじめてのDnn!
がんばろう!はじめてのDnn!がんばろう!はじめてのDnn!
がんばろう!はじめてのDnn!
 
人工知能が変える投資の世界 人工知能はすでにここまで身近になっている
人工知能が変える投資の世界 人工知能はすでにここまで身近になっている人工知能が変える投資の世界 人工知能はすでにここまで身近になっている
人工知能が変える投資の世界 人工知能はすでにここまで身近になっている
 
VRを使ったビジュアライゼーションの可能性について @Unite 2015 Tokyo
VRを使ったビジュアライゼーションの可能性について @Unite 2015 TokyoVRを使ったビジュアライゼーションの可能性について @Unite 2015 Tokyo
VRを使ったビジュアライゼーションの可能性について @Unite 2015 Tokyo
 

Similar a Deep learning入門

ディープラーニング入門 ~ 画像処理・自然言語処理について ~
ディープラーニング入門 ~ 画像処理・自然言語処理について ~ディープラーニング入門 ~ 画像処理・自然言語処理について ~
ディープラーニング入門 ~ 画像処理・自然言語処理について ~Kensuke Otsuki
 
【Zansa】第12回勉強会 -PRMLからベイズの世界へ
【Zansa】第12回勉強会 -PRMLからベイズの世界へ【Zansa】第12回勉強会 -PRMLからベイズの世界へ
【Zansa】第12回勉強会 -PRMLからベイズの世界へZansa
 
パターン認識 04 混合正規分布
パターン認識 04 混合正規分布パターン認識 04 混合正規分布
パターン認識 04 混合正規分布sleipnir002
 
ディープラーニング基礎.pptx
ディープラーニング基礎.pptxディープラーニング基礎.pptx
ディープラーニング基礎.pptxnorimatsu5
 
PoisoningAttackSVM (ICMLreading2012)
PoisoningAttackSVM (ICMLreading2012)PoisoningAttackSVM (ICMLreading2012)
PoisoningAttackSVM (ICMLreading2012)Hidekazu Oiwa
 
MLaPP輪講 Chapter 1
MLaPP輪講 Chapter 1MLaPP輪講 Chapter 1
MLaPP輪講 Chapter 1ryuhmd
 
NN, CNN, and Image Analysis
NN, CNN, and Image AnalysisNN, CNN, and Image Analysis
NN, CNN, and Image AnalysisYuki Shimada
 
演習II.第1章 ベイズ推論の考え方 Part 2.講義ノート
演習II.第1章 ベイズ推論の考え方 Part 2.講義ノート演習II.第1章 ベイズ推論の考え方 Part 2.講義ノート
演習II.第1章 ベイズ推論の考え方 Part 2.講義ノートWataru Shito
 
人工知能2018 強化学習の応用
人工知能2018 強化学習の応用人工知能2018 強化学習の応用
人工知能2018 強化学習の応用Hirotaka Hachiya
 
機械学習 入門
機械学習 入門機械学習 入門
機械学習 入門Hayato Maki
 
0728 論文紹介第三回
0728 論文紹介第三回0728 論文紹介第三回
0728 論文紹介第三回Kohei Wakamatsu
 
データ解析1 ベクトルの復習
データ解析1 ベクトルの復習データ解析1 ベクトルの復習
データ解析1 ベクトルの復習Hirotaka Hachiya
 
1017 論文紹介第四回
1017 論文紹介第四回1017 論文紹介第四回
1017 論文紹介第四回Kohei Wakamatsu
 
ConditionalPointDiffusion.pdf
ConditionalPointDiffusion.pdfConditionalPointDiffusion.pdf
ConditionalPointDiffusion.pdfTakuya Minagawa
 
PRML 1.5-1.5.5 決定理論
PRML 1.5-1.5.5 決定理論PRML 1.5-1.5.5 決定理論
PRML 1.5-1.5.5 決定理論Akihiro Nitta
 
機械学習の理論と実践
機械学習の理論と実践機械学習の理論と実践
機械学習の理論と実践Preferred Networks
 
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9Yuya Unno
 

Similar a Deep learning入門 (20)

bigdata2012ml okanohara
bigdata2012ml okanoharabigdata2012ml okanohara
bigdata2012ml okanohara
 
ディープラーニング入門 ~ 画像処理・自然言語処理について ~
ディープラーニング入門 ~ 画像処理・自然言語処理について ~ディープラーニング入門 ~ 画像処理・自然言語処理について ~
ディープラーニング入門 ~ 画像処理・自然言語処理について ~
 
【Zansa】第12回勉強会 -PRMLからベイズの世界へ
【Zansa】第12回勉強会 -PRMLからベイズの世界へ【Zansa】第12回勉強会 -PRMLからベイズの世界へ
【Zansa】第12回勉強会 -PRMLからベイズの世界へ
 
パターン認識 04 混合正規分布
パターン認識 04 混合正規分布パターン認識 04 混合正規分布
パターン認識 04 混合正規分布
 
ディープラーニング基礎.pptx
ディープラーニング基礎.pptxディープラーニング基礎.pptx
ディープラーニング基礎.pptx
 
6 Info Theory
6 Info Theory6 Info Theory
6 Info Theory
 
PoisoningAttackSVM (ICMLreading2012)
PoisoningAttackSVM (ICMLreading2012)PoisoningAttackSVM (ICMLreading2012)
PoisoningAttackSVM (ICMLreading2012)
 
MLaPP輪講 Chapter 1
MLaPP輪講 Chapter 1MLaPP輪講 Chapter 1
MLaPP輪講 Chapter 1
 
NN, CNN, and Image Analysis
NN, CNN, and Image AnalysisNN, CNN, and Image Analysis
NN, CNN, and Image Analysis
 
演習II.第1章 ベイズ推論の考え方 Part 2.講義ノート
演習II.第1章 ベイズ推論の考え方 Part 2.講義ノート演習II.第1章 ベイズ推論の考え方 Part 2.講義ノート
演習II.第1章 ベイズ推論の考え方 Part 2.講義ノート
 
人工知能2018 強化学習の応用
人工知能2018 強化学習の応用人工知能2018 強化学習の応用
人工知能2018 強化学習の応用
 
Dive into XGBoost.pdf
Dive into XGBoost.pdfDive into XGBoost.pdf
Dive into XGBoost.pdf
 
機械学習 入門
機械学習 入門機械学習 入門
機械学習 入門
 
0728 論文紹介第三回
0728 論文紹介第三回0728 論文紹介第三回
0728 論文紹介第三回
 
データ解析1 ベクトルの復習
データ解析1 ベクトルの復習データ解析1 ベクトルの復習
データ解析1 ベクトルの復習
 
1017 論文紹介第四回
1017 論文紹介第四回1017 論文紹介第四回
1017 論文紹介第四回
 
ConditionalPointDiffusion.pdf
ConditionalPointDiffusion.pdfConditionalPointDiffusion.pdf
ConditionalPointDiffusion.pdf
 
PRML 1.5-1.5.5 決定理論
PRML 1.5-1.5.5 決定理論PRML 1.5-1.5.5 決定理論
PRML 1.5-1.5.5 決定理論
 
機械学習の理論と実践
機械学習の理論と実践機械学習の理論と実践
機械学習の理論と実践
 
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
 

Más de magoroku Yamamoto (20)

仮想記憶入門 BSD-4.3を例題に
仮想記憶入門 BSD-4.3を例題に仮想記憶入門 BSD-4.3を例題に
仮想記憶入門 BSD-4.3を例題に
 
V6 unix vol.2 in okinawa
V6 unix vol.2 in okinawaV6 unix vol.2 in okinawa
V6 unix vol.2 in okinawa
 
Adk2012
Adk2012Adk2012
Adk2012
 
ぐだ生システム#2
ぐだ生システム#2ぐだ生システム#2
ぐだ生システム#2
 
ぐだ生って何
ぐだ生って何ぐだ生って何
ぐだ生って何
 
Android builders summit slide tour
Android builders summit slide tourAndroid builders summit slide tour
Android builders summit slide tour
 
第4回名古屋Android勉強会資料
第4回名古屋Android勉強会資料第4回名古屋Android勉強会資料
第4回名古屋Android勉強会資料
 
Poorman’s adk トレーナ
Poorman’s adk トレーナPoorman’s adk トレーナ
Poorman’s adk トレーナ
 
20分でわかった事にするパワーマネジメント
20分でわかった事にするパワーマネジメント20分でわかった事にするパワーマネジメント
20分でわかった事にするパワーマネジメント
 
Poormans sdk
Poormans sdkPoormans sdk
Poormans sdk
 
Ngk2011 b
Ngk2011 bNgk2011 b
Ngk2011 b
 
オレオレ家電
オレオレ家電オレオレ家電
オレオレ家電
 
V6read#4
V6read#4V6read#4
V6read#4
 
V6read#3
V6read#3V6read#3
V6read#3
 
Unixファイルシステムの歴史
Unixファイルシステムの歴史Unixファイルシステムの歴史
Unixファイルシステムの歴史
 
Pdp11 on-fpga
Pdp11 on-fpgaPdp11 on-fpga
Pdp11 on-fpga
 
V6read#2
V6read#2V6read#2
V6read#2
 
Androidの入力システム
Androidの入力システムAndroidの入力システム
Androidの入力システム
 
ぐだ生システム再構成4
ぐだ生システム再構成4ぐだ生システム再構成4
ぐだ生システム再構成4
 
20分で理解する仮想記憶
20分で理解する仮想記憶20分で理解する仮想記憶
20分で理解する仮想記憶
 

Deep learning入門