SlideShare une entreprise Scribd logo
1  sur  54
Télécharger pour lire hors ligne
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
.
.
Practical Recommendations for
Gradient-Based Training of Deep Architectures
∼Bengio 先生のおすすめレシピ∼
Yoshua Bengio
Universit de Montral
すずかけ論文読み会#6 2013/09/21 紹介者:matsuda
1 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
Outline
...1 勾配
...2 Hyper-Parameters
考慮すべきハイパーパラメータ
ハイパーパラメータの最適化
...3 デバッグと可視化
Gradient Checking and Controlled Overfitting
Visualizations and Statistics
...4 その他
Multi-core machines, BLAS and GPUs
Sparse High-Dimensional Inputs
...5 まとめ
2 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
はじめに
”Neural Networks: Tricks of the Trade”という書籍の (改訂版
の) 草稿のようです
今回はその中の一章,Bengio 先生による Deep Learning の
おすすめレシピを読み解いていきます
盛りだくさんなので,適宜飛ばします
(よくわからないところを飛ばした,とも言います)
基本的に,CAE もしくは DAE(要は,正則化つき
Auto-Encoders) を前提としています
RBMs の話もところどころに出てきます
人工知能学会誌の Deep Learning 特集が参考になりますの
で,そちらもどうぞ
7 月号の麻生先生の記事,9 月号の岡野原さんの記事が今回の
内容と大きく関連
3 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
Auto-Encoders の基本
.
.
書こうとして力尽きました.他によい資料がいくらでもあります
ので,そちらをご覧ください.
.
あらかじめ押さえておくべきこと
..
.
NN は Forward-propagation, Back-propagation の二つのス
テップを繰り返して学習する,ということ
Auto-Encoders は,与えられたデータ自体を復元するような
ネットワークを学習する教師なし学習である,ということ
Auto-Encoders の学習を Supervised な学習の前段階として
行う,という技術がある (Unsupervised Pre-training) という
こと
機械学習においては,過学習を抑えるために,正則化という
テクニックがよく使われるということ
4 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
DAE/CAE
.
Auto-Encoders
..
.
JAE (θ) =
∑
x∈D
L(x, g(f(x)))
.
Denoising Auto-Encoders
..
.
JDAE (θ) =
∑
x∈D
Ex [L(x, g(f(˜x)))]
˜x = x + , ∼ N(0, σ2
)
.
Contractive Auto-Encoders
..
.
JCAE (θ) =
∑
x∈D
(L(x, g(f(x))) + λ
δf(x)
δx
2
F )
※特定の状況において,CAE と DAE はほぼ等価 (前回の復習)
5 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
Outline
...1 勾配
...2 Hyper-Parameters
考慮すべきハイパーパラメータ
ハイパーパラメータの最適化
...3 デバッグと可視化
Gradient Checking and Controlled Overfitting
Visualizations and Statistics
...4 その他
Multi-core machines, BLAS and GPUs
Sparse High-Dimensional Inputs
...5 まとめ
6 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
勾配の計算
勾配ベース,という場合は,以下のいずれかが用いられる
確率的勾配法 (Stochastic Gradient Descent)
θ(t)
← θ(t−1)
− t
∂L(zt , θ)
∂θ
ミニバッチ確率的勾配法
θ(t)
← θ(t−1)
− t
1
B
B(t+1)
∑
t =Bt+1
∂L(zt , θ)
∂θ
.
ミニバッチにおいて B = 1 とした場合はふつうの SGD, B = デー
タ数とした場合は (確率的ではない) 勾配法
7 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
勾配の計算
NN はさまざまな「層」の組み合わせ
Chain-Rule を用いて,層ごとに勾配を計算すればよいのが
ポイント
層をブロックのように組み合わせてネットワークを作ること
ができる
ブロックに対しては,あらかじめ損失と勾配がどのような形
をしているのか計算しておくことができる
ブロックを提供しているライブラリがいろいろあるので,そ
れを使おう
Torch, Lush, Theano など
Theano は記号微分が実装されている
8 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
Theano の例 (記号微分)
雰囲気をつかむための超簡単な例:
δ(x2)
δx
= 2x
.
Python Code
..
.
from theano import pp
x = T.dscalar(’x’) # x の関数であることを宣言
y = x ** 2
gy = T.grad(y, x) # y を x で微分 => x * 2
f = function([x], gy)
f(4) # => 8.0
9 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
Torch で 10 行ニューラルネット
.
Torch Lua Code
..
.
require "nn"
mlp=nn.Sequential(); #多層パーセプトロン
inputs=2; outputs=1; HUs=20;
mlp:add(nn.Linear(inputs,HUs)) #層の定義
mlp:add(nn.Tanh())
mlp:add(nn.Linear(HUs,outputs))
criterion = nn.MSECriterion() #損失関数
trainer = nn.StochasticGradient(mlp, criterion)
trainer.learningRate = 0.01
trainer:train(dataset) # SGD で学習
Torch にはさまざまな層,損失関数が用意されている
SoftMax, Sigmoid, Tanh, HardTanh, Convolution, etc...
MSECriterion, MarginRankingCriterion, etc...
10 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
Outline
...1 勾配
...2 Hyper-Parameters
考慮すべきハイパーパラメータ
ハイパーパラメータの最適化
...3 デバッグと可視化
Gradient Checking and Controlled Overfitting
Visualizations and Statistics
...4 その他
Multi-core machines, BLAS and GPUs
Sparse High-Dimensional Inputs
...5 まとめ
11 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
ハイパーパラメータのいろいろ
.
最適化のためのパラメータ
..
.
学習率 (初期値,減衰)
ミニバッチのサイズ
イテレーション回数
Momentum
.
モデル自身のパラメータ
..
.
隠れ層のユニット数
重みの正則化
ユニットの (アクティベー
ションの) スパース化
活性化関数の選択
.
その他
..
.
重みの初期化 (のスケール)
乱数
前処理
12 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
最適化のためのパラメータ
学習率の初期値 0
10−6 から 1 の間に設定,0.1 くらいがデフォルト.後述する
ようにかなり重要なパラメータなので,最適化すべき.
学習率のスケジューリング t
O(1/tα) で減少するようスケジューリング.α < 1(O(1/t)
より若干緩やか) がおおよその目安.
t =
0τ
max(t, τ)
上記のように,最初の τ イテレーションは減衰させず,その
後減衰させるとよい,という報告もある (Bergstra and
Bengio, 2012)
13 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
最適化のためのパラメータ
ミニバッチのサイズ B
32 くらいが経験的によく,あまり調節の必要はないらしい
イテレーション回数 T
validation-set を使って,validation-error が減少しなくなっ
たら止める (Early Stopping)
ただし,error を毎回測るのは無駄なので,ときどきでよい.
Momentum β (Polyak and Juditsky, 1992)
勾配自体を過去の平均と混ぜる (慣性をつけるイメージ)
¯g ← (1 − β)¯g + βg
多くのケースでは β = 1(Momentum なし) でよいが,チュー
ニングしたほうが良い場合も
14 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
モデル自身のパラメータ
.
.
隠れユニット数 (ネットワークの構造)
重みの正則化 (Weight Decay)
アクティベーションのスパース化
活性化関数の選択
15 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
ネットワークの構造
過学習への対処が適切であれば,隠れ層のユニット数は基本
的に「多いほど良い」
ネットワークの構造は,各層が同じサイズで良い場合が多い
(Larochelle et al., 2009) (ピラミッド or 逆ピラミッドである
必要はない)
Unsupervised Pre-training を行う際は,純 Supervised に比
べて多くしたほうが良い (10 倍とか)
Pre-training の段階においては,target-task が分からないた
め,データの分布それ自体を学習しなければならない (高い表
現力が要求される)
単なる Supervised な NN であれば,target-task に対する損
失を最小化すればよいため,比較的表現力が低くてもよい
16 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
二つの正則化
.
重みの正則化 λ (Weight Decay)
..
.
各層の重み W が大きくならないよ
う調整,L2 or L1 が一般的.
バイアス項には正則化をかけない方
法もある.
17 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
二つの正則化
.
重みの正則化 λ (Weight Decay)
..
.
各層の重み W が大きくならないよ
う調整,L2 or L1 が一般的.
バイアス項には正則化をかけない方
法もある.
.
アクティベーションのスパース化
(Ranzato et al., 2007) など
..
.
隠れ層がスパースになるよう,活性
化関数を調整する
→ 脳内のニューロンの発火はス
パースである,という観察
(sparse coding, sparse
auto-encoder)
18 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
活性化関数
.
代表的なもの
..
.
Sigmoid 1/(1 + e−a)
Tanh ea+e−a
ea−e−a
Rectified Linear Unit (ReLU, Rectifier) max(0, a)
Hard tanh
.
なめらかな関数
..
.
表現力が高い (最終的な精度
を期待できる) が,収束が遅
い(勾配の消滅),
.
非連続な関数
..
.
収束は速く,勾配が疎だが,
表現力が低い (最終的な精度
が伸び悩むかもしれない)
出力層においては,問題の形 (回帰か,分類か,マルチラベルか)
に応じて適切な関数が選べるが,隠れ層においては定石といえる
ものは無さそう
19 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
活性化関数のいろいろ
PFI Seminer ”Deep Learning の技術と未来”
http://www.slideshare.net/beam2d/deep-learning-22544096
MaxOut については後述します
20 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
その他のパラメータ
重みの初期化
AE の場合,一様分布を用いるのが定石.tanh のユニットで
あれば,ノードの次数 (繋がっているエッジの数) を用いて,
w ∼ Uniform(−r, r), r =
√
6/(fan-in + fan-out)
とする.(Glorot and Bengio, 2010)
RBMs の場合は平均 0 で分散が小さい (0.1 or 0.01) の正規分
布を用いる (Hinton, 2010)
乱数
初期化によって得られる結果が異なるため,乱数の種を 10
個くらい試して,それらを組み合わせる (平均を取る,マ
ジョリティーを取る,最も良いものを取る)という方法もあ
ります.バギングと関連あり.
前処理
基本データ依存.PCA,正規化,uniformization など
21 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
覚えておくべきこと
さまざまな値で試そう
validation-error は複雑なカーブを描くので,例えば 3 点だけ
調べる,とかでは不十分なことが多い
log-scale で探索しよう
例) 0.1 と,0.11 は殆ど変わらないことが多い.対して,
0.01 と 0.02 は,結果が大きく異なることがある.
計算量の問題
ハイパーパラメータの探索に必要となる,validation error の
算出は計算量が大きい
代わりに,より計算量の小さな指標が提案されているので,
そちらを(以下略)
.
現実的によく使われる手法 (座標軸降下法)
..
.
...1 順番を決めて,あるパラメータに対して最適値を探索,
...2 パラメータを固定して,別なパラメータを最適化
22 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
Greedy layer-wise optimization
層ごとのハイパーパラメータは,層ごとに最適化してしまう
(Mesnil et al., 2011)
.
論文中の Algorithm 1 (超絶オミット)
..
.
プレトレーニング:
各層に対して:
プレトレーニングを行い,最大 K 個のパラメータ設定を残す
ファインチューニング:
K 個のパラメータそれぞれに対して:
それぞれ validation-set で評価
23 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
Greedy layer-wise optimization
層ごとのハイパーパラメータは,層ごとに最適化してしまう
(Mesnil et al., 2011)
.
論文中の Algorithm 1 (超絶オミット)
..
.
プレトレーニング:
各層に対して:
プレトレーニングを行い,最大 K 個のパラメータ設定を残す
ファインチューニング:
K 個のパラメータそれぞれに対して:
それぞれ validation-set で評価
.
衝撃的な事実 (Bergstra and Bengio, 2012)
..
.
じつは,グリッドサーチ (などのシステマチックな探索) よりラン
ダムサンプリングのほうがいいパラメータを早くみつけることが
できる!
特に,最適化すべきパラメーターが非常に多い場合
24 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
ハイパーパラメータのランダムサンプリング
Bergstra and Bengio, JMLR, 2013
25 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
ランダムサンプリングがうまく動くわけ
重要なパラメータと,そうでないパラメータがある
グリッドサーチだと,重要なパラメータを「重点的に」探ること
は難しい
26 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
ランダムサンプリング VS グリッドサーチ
.
ランダムサンプリングの利点 (速いだけでなく・・・)
..
.
計算をいつやめても良い
計算機が追加で利用可能になった場合,特にグリッドの再設
定などの考慮を行わなくて良い
それぞれの trial は,非同期に行える
ある trial が失敗しても,単に無視すればよい
結論:ハイパーパラメータはランダムサンプリングしましょう!
個人的には,ちょっと気持ち悪いと思う部分もありますが...
Low-discrepancy sequence(超一様分布列)を用いた実験
計画法もあるようです
高次元の数値積分を効率よく計算するための「ばらけた」数列
いわゆる「乱数」とは異なります
27 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
もう少しハイパーパラメータについて
学習率が多くの場合,最も重要なパラメータ
28 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
Outline
...1 勾配
...2 Hyper-Parameters
考慮すべきハイパーパラメータ
ハイパーパラメータの最適化
...3 デバッグと可視化
Gradient Checking and Controlled Overfitting
Visualizations and Statistics
...4 その他
Multi-core machines, BLAS and GPUs
Sparse High-Dimensional Inputs
...5 まとめ
29 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
バグさがし
テイラー近似による微分値のチェック ( = 10−4 が目安)
∂f(x)
∂x
≈
f(x + ε) − f(x − ε)
2ε
+ o(ε2
).
→ 非連続な活性化関数でも使えるのかは不明 (´・ω・`)
小規模のデータで試す
L-BFGS などと SGD で全然違う解に収束していたら要注意
メモリの扱いに注意する
一つのテクニックとして,メモリをアロケートするときに
NaN で埋めておく,というテクニックがある
メモリ中の変なところにアクセスすると,NaN が伝播してく
るので,バグが見つけやすくなる
C++だと signaling_NaN() というものがある
30 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
過学習をおさえる
もちろん,バグ由来ではなく,そもそもモデルとして性能が
出ないこともある
過学習なのか,モデルの表現力がそもそも低いのか
いろいろな解決法があります
訓練データを増やす (おそらく最もシンプル)
正則化項を増やす/見直す
マルチタスク学習(!)
Unsupervised pre-training, 目的関数に Unsupervised な要素
を加える (データの事前確率など)
そもそもネットワークの構造を変える
要は設定変えてやり直せ,ってことです
31 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
可視化と統計値で学習結果をチェックしよう
各 epoch における訓練データと validation データのエラー率
をチェックする
→ エラー率が訓練データに対しても下がらない場合は何か
がおかしい
→ 訓練データに対しても下がって validation データに対して
下がらない場合は過学習の兆候
可視化
Hinton Diagram (Hinton, 1989) (重みの可視化)
重みを直接画像にする
t-SNE (van der Maaten and Hinton, 2008) (Embedding の可
視化)
Manifold Tangent (Rifai et al., 2011b) (CAE で学習された多
様体の上の距離を可視化)
Learning Trajectory (Erhan et al., 2010b) (学習の軌跡の可
視化)
32 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
重みの可視化と Embedding の可視化
.
重みの可視化
..
.
特定の層の重みを可視化
(上の層のユニット数 * 下の
層のユニット数) の行列
Hinton Diagram, Gabor
Filter など
.
Embedding の可視化
..
.
あるデータを入力した場合,
隠れ層がどのような値をと
るか
ベクトル (の集合) の可視化
t-SNE, Isomap など
33 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
Hinton Diagram(重みの可視化)
四角形の大きさは重みの絶対値, 四角形の色は符号
殆どのセルで大きさが変わっていない場合は,学習できていなさ
そう,などの観察 (読解は匠の技っぽい)
34 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
重みを画像でみる
構文解析 ( Compositional Vector Grammer[Socher+2013] ) の例
DT-NP の組であれば NP が head に来る (重要だ),という言語学
における観察が,学習の結果,重みとして得られている
35 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
t-SNE (MNIST)
36 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
t-SNE (Turian’s Embedding)
37 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
t-SNE (Turian’s Embedding)
38 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
Learning Trajectory with t-SNE
学習によって重みがどう変化しているかを可視化
(青:序盤,緑:終盤)
Pre-training したほうが分散が小さい,各グループは別々の local
minima に向かっている,ということが言えるらしい
39 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
Outline
...1 勾配
...2 Hyper-Parameters
考慮すべきハイパーパラメータ
ハイパーパラメータの最適化
...3 デバッグと可視化
Gradient Checking and Controlled Overfitting
Visualizations and Statistics
...4 その他
Multi-core machines, BLAS and GPUs
Sparse High-Dimensional Inputs
...5 まとめ
40 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
Multi-core machines, BLAS and GPUs
計算の殆どは行列演算
BLAS のようなライブラリを使うことで,マルチコアの恩恵
を得られる
GPU は適切に使えばとても速い,しかし難易度が高い
Theano なら GPU 用のコードも吐けますしおすすめです!
GPU を用いる際は,メモリの少なさと CPU 側との帯域の狭
さが問題
人工知能学会誌の岡野原さんの記事でも,マルチマシン,マ
ルチ GPU の難しさについて扱われています
41 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
Sparse High-Dimensional Inputs
スパース行列の演算には多少のオーバーヘッドがありますが,
いわゆる Supervised な NN ではさほど問題になりません
しかし,Unsupervised Learning ではけっこう問題
(Reconstruction が重い)
Sampled Reconstruction (Dauphin et al., 2011) という方法
があります
42 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
Sampled Reconstruction
超ざっくり:Reconstruction をサボろう,というアイディア
L =
∑
x
H(x, g(f(x))) ≈
1
Z
∑
x
px H(x, g(f(x)))
px ∈ {0, 1}, px ∼ Bin(θ)
p = 0 のところは,損失を計算しない
22x の高速化!
43 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
Open Questions
深い構造における学習の難しさ
局所解が非常に多い
初期化/設定によって,drastically に性能がかわる
ひとつの方向性として,カリキュラム学習 (Bengio et al.,
2009) は有望
簡単な問題から順に学習させる
C&W の研究でみたように,ちょっとづつ語彙を増やす (言語モ
デルを複雑にする) など
「なぜ」深い構造は学習が難しいのかは,まだ分かっていな
いことが多い
パーツ自体は単純ではあるが全体の挙動は複雑 (人工知能学会
誌の岡野原さんの記事より)
正直,パラメータ多すぎますよね
44 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
カリキュラム学習
45 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
現在実験的に確かめられていること
Local training signal
(すみません,ちょっとわかりませんでした)
適切に初期化する
レイヤの重みのヤコビアンの特異値が 1 に近くなるように初
期化するとよいという報告も (Glorot and Bengio, 2010)
(あれ?行列の特異値って一般に複数あるよね?)
活性化関数の選び方 (Glorot et al., 2011a)
一般的には,対称な関数形のほうがよさそう
Rectifier(ReLU) は,非対称ながらうまく動く
→ 勾配がよく伝播するのが理由のようだ
それぞれの隠れ層の活性化関数をセンタリング(平均がゼロ
になるよう動かす)するとよいという報告もある (Raiko
et al., 2012)
46 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
Learning rate の呪いから逃れる
Learning rate は非常にクリティカルなパラメータ
最近は適応的に学習率を決める方法も研究されています
(AdaGrad(Duchi et al., 2011) など)
各次元ごとに,重みの更新履歴を用いて,「大きく更新される
重みは小さな学習率,そうでないものは学習率を大きく」と
いうアイディア
→ 逆の考え方もありそう
最初は SGD でおおよその解を見つけ,あとは共役勾配法や
L-BFGS で丁寧に探索という方向性もあるようです
SGD は一次収束だが局所解に捕まりにくい,L-BFGS は収束
が速い (超一次) だが局所解に弱い
47 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
その他,本稿で触れられていない最近の話題
.
DropOut
..
.
過学習を防ぐテクニック
隠れ層のノードのある割合 (半分とか) を無かった事にして
バックプロパゲーション
推定時は重みを割ってつじつまをあわせる
いろいろな亜種がある (DropConnect, MaxPooling, etc...)
バギングの一種と解釈できるらしい
.
MaxOut
..
.
最近提案された活性化関数, さまざまな線形関数の Max を
とる
SoftMax との組み合わせで任意の関数を表現できる
(表現力の高い Soft な活性化関数と,学習が速い非連続な活
性化関数のイイトコどり)
48 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
MaxOut
PFI Seminer ”Deep Learning の技術と未来”
http://www.slideshare.net/beam2d/deep-learning-22544096
49 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
Outline
...1 勾配
...2 Hyper-Parameters
考慮すべきハイパーパラメータ
ハイパーパラメータの最適化
...3 デバッグと可視化
Gradient Checking and Controlled Overfitting
Visualizations and Statistics
...4 その他
Multi-core machines, BLAS and GPUs
Sparse High-Dimensional Inputs
...5 まとめ
50 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
まとめ
Auto-Encoders Based な Deep Learning を実装・利用する上で,
知っておいたほうが良いことを紹介
ハイパーパラメータ
さまざまなハイパーパラメータとその役割
ハイパーパラメータの最適化における定石
バグさがし・可視化のテクニック
勾配の近似,t-SNE, Learning Trajectory など
その他,高次元な入力空間における留意事項
GPU, Sampled Reconstruction, SGD と準ニュートン法の組
み合わせなど
.
まとめのまとめ
..
.
ハイパーパラメータはランダムサンプリングしましょう!
やっぱりちょっと気持ち悪い...
51 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
参考文献 I
Bergstra, J. and Bengio, Y. (2012). Random search for hyper-parameter optimization.
J. Machine Learning Res., 13, 281–305.
Polyak, B. and Juditsky, A. (1992). Acceleration of stochastic approximation by
averaging. SIAM J. Control and Optimization, 30(4), 838–855.
Larochelle, H., Bengio, Y., Louradour, J., and Lamblin, P. (2009). Exploring strategies
for training deep neural networks. J. Machine Learning Res., 10, 1–40.
Ranzato, M., Poultney, C., Chopra, S., and LeCun, Y. (2007). Efficient learning of
sparse representations with an energy-based model. In NIPS’06.
Glorot, X. and Bengio, Y. (2010). Understanding the difficulty of training deep
feedforward neural networks. In AISTATS’2010, pages 249–256.
Hinton, G. E. (2013). A practical guide to training restricted boltzmann machines. In
K.-R. M¨uller, G. Montavon, and G. B. Orr, editors, Neural Networks: Tricks of the
Trade, Reloaded. Springer.
Hinton, G. E. (2010). A practical guide to training restricted Boltzmann machines.
Technical Report UTML TR 2010-003, Department of Computer Science, University
of Toronto.
52 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
参考文献 II
Mesnil, G., Dauphin, Y., Glorot, X., Rifai, S., Bengio, Y., Goodfellow, I., Lavoie, E.,
Muller, X., Desjardins, G., Warde-Farley, D., Vincent, P., Courville, A., and Bergstra,
J. (2011). Unsupervised and transfer learning challenge: a deep learning approach.
In JMLR W&CP: Proc. Unsupervised and Transfer Learning, volume 7.
Hinton, G. E. (1989). Connectionist learning procedures. Artificial Intelligence, 40,
185–234.
van der Maaten, L. and Hinton, G. E. (2008). Visualizing data using t-sne. J. Machine
Learning Res., 9.
Rifai, S., Dauphin, Y., Vincent, P., Bengio, Y., and Muller, X. (2011b). The manifold
tangent classifier. In NIPS’2011.
Erhan, D., Bengio, Y., Courville, A., Manzagol, P.-A., Vincent, P., and Bengio, S.
(2010b). Why does unsupervised pre-training help deep learning? J. Machine
Learning Res., 11, 625–660.
Dauphin, Y., Glorot, X., and Bengio, Y. (2011). Sampled reconstruction for large-scale
learning of embeddings. In Proc. ICML’2011.
Bengio, Y., Louradour, J., Collobert, R., and Weston, J. (2009). Curriculum learning. In
ICML’09.
Glorot, X., Bordes, A., and Bengio, Y. (2011a). Deep sparse rectifier neural networks.
In AISTATS’2011.
53 / 54
勾配
. . . . . . . . . . . . . . .
Hyper-Parameters
. . . . . . . . .
デバッグと可視化
. . . . . . . . .
その他 まとめ References
参考文献 III
Raiko, T., Valpola, H., and LeCun, Y. (2012). Deep learning made easier by linear
transformations in perceptrons. In AISTATS’2012.
Duchi, J., Hazan, E., and Singer, Y. (2011). Adaptive subgradient methods for online
learning and stochastic optimization. Journal of Machine Learning Research.
54 / 54

Contenu connexe

Tendances

深層生成モデルと世界モデル
深層生成モデルと世界モデル深層生成モデルと世界モデル
深層生成モデルと世界モデルMasahiro Suzuki
 
深層学習による非滑らかな関数の推定
深層学習による非滑らかな関数の推定深層学習による非滑らかな関数の推定
深層学習による非滑らかな関数の推定Masaaki Imaizumi
 
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章nocchi_airport
 
深層学習の数理:カーネル法, スパース推定との接点
深層学習の数理:カーネル法, スパース推定との接点深層学習の数理:カーネル法, スパース推定との接点
深層学習の数理:カーネル法, スパース推定との接点Taiji Suzuki
 
不均衡データのクラス分類
不均衡データのクラス分類不均衡データのクラス分類
不均衡データのクラス分類Shintaro Fukushima
 
RBMを応用した事前学習とDNN学習
RBMを応用した事前学習とDNN学習RBMを応用した事前学習とDNN学習
RBMを応用した事前学習とDNN学習Masayuki Tanaka
 
[DL輪読会]大規模分散強化学習の難しい問題設定への適用
[DL輪読会]大規模分散強化学習の難しい問題設定への適用[DL輪読会]大規模分散強化学習の難しい問題設定への適用
[DL輪読会]大規模分散強化学習の難しい問題設定への適用Deep Learning JP
 
ICML 2021 Workshop 深層学習の不確実性について
ICML 2021 Workshop 深層学習の不確実性についてICML 2021 Workshop 深層学習の不確実性について
ICML 2021 Workshop 深層学習の不確実性についてtmtm otm
 
グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知Yuya Takashina
 
深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)Masahiro Suzuki
 
【解説】 一般逆行列
【解説】 一般逆行列【解説】 一般逆行列
【解説】 一般逆行列Kenjiro Sugimoto
 
制限ボルツマンマシン入門
制限ボルツマンマシン入門制限ボルツマンマシン入門
制限ボルツマンマシン入門佑馬 斎藤
 
最適輸送の解き方
最適輸送の解き方最適輸送の解き方
最適輸送の解き方joisino
 
[DL輪読会]Temporal Abstraction in NeurIPS2019
[DL輪読会]Temporal Abstraction in NeurIPS2019[DL輪読会]Temporal Abstraction in NeurIPS2019
[DL輪読会]Temporal Abstraction in NeurIPS2019Deep Learning JP
 
【DL輪読会】Scaling laws for single-agent reinforcement learning
【DL輪読会】Scaling laws for single-agent reinforcement learning【DL輪読会】Scaling laws for single-agent reinforcement learning
【DL輪読会】Scaling laws for single-agent reinforcement learningDeep Learning JP
 
最近のディープラーニングのトレンド紹介_20200925
最近のディープラーニングのトレンド紹介_20200925最近のディープラーニングのトレンド紹介_20200925
最近のディープラーニングのトレンド紹介_20200925小川 雄太郎
 
機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門hoxo_m
 
PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門tmtm otm
 

Tendances (20)

深層生成モデルと世界モデル
深層生成モデルと世界モデル深層生成モデルと世界モデル
深層生成モデルと世界モデル
 
深層学習による非滑らかな関数の推定
深層学習による非滑らかな関数の推定深層学習による非滑らかな関数の推定
深層学習による非滑らかな関数の推定
 
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
 
深層学習の数理:カーネル法, スパース推定との接点
深層学習の数理:カーネル法, スパース推定との接点深層学習の数理:カーネル法, スパース推定との接点
深層学習の数理:カーネル法, スパース推定との接点
 
不均衡データのクラス分類
不均衡データのクラス分類不均衡データのクラス分類
不均衡データのクラス分類
 
RBMを応用した事前学習とDNN学習
RBMを応用した事前学習とDNN学習RBMを応用した事前学習とDNN学習
RBMを応用した事前学習とDNN学習
 
[DL輪読会]大規模分散強化学習の難しい問題設定への適用
[DL輪読会]大規模分散強化学習の難しい問題設定への適用[DL輪読会]大規模分散強化学習の難しい問題設定への適用
[DL輪読会]大規模分散強化学習の難しい問題設定への適用
 
ICML 2021 Workshop 深層学習の不確実性について
ICML 2021 Workshop 深層学習の不確実性についてICML 2021 Workshop 深層学習の不確実性について
ICML 2021 Workshop 深層学習の不確実性について
 
グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知
 
Juliaで並列計算
Juliaで並列計算Juliaで並列計算
Juliaで並列計算
 
正準相関分析
正準相関分析正準相関分析
正準相関分析
 
深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)
 
【解説】 一般逆行列
【解説】 一般逆行列【解説】 一般逆行列
【解説】 一般逆行列
 
制限ボルツマンマシン入門
制限ボルツマンマシン入門制限ボルツマンマシン入門
制限ボルツマンマシン入門
 
最適輸送の解き方
最適輸送の解き方最適輸送の解き方
最適輸送の解き方
 
[DL輪読会]Temporal Abstraction in NeurIPS2019
[DL輪読会]Temporal Abstraction in NeurIPS2019[DL輪読会]Temporal Abstraction in NeurIPS2019
[DL輪読会]Temporal Abstraction in NeurIPS2019
 
【DL輪読会】Scaling laws for single-agent reinforcement learning
【DL輪読会】Scaling laws for single-agent reinforcement learning【DL輪読会】Scaling laws for single-agent reinforcement learning
【DL輪読会】Scaling laws for single-agent reinforcement learning
 
最近のディープラーニングのトレンド紹介_20200925
最近のディープラーニングのトレンド紹介_20200925最近のディープラーニングのトレンド紹介_20200925
最近のディープラーニングのトレンド紹介_20200925
 
機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門
 
PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門
 

En vedette

Align, Disambiguate and Walk : A Unified Approach forMeasuring Semantic Simil...
Align, Disambiguate and Walk  : A Unified Approach forMeasuring Semantic Simil...Align, Disambiguate and Walk  : A Unified Approach forMeasuring Semantic Simil...
Align, Disambiguate and Walk : A Unified Approach forMeasuring Semantic Simil...Koji Matsuda
 
いまさら聞けない “モデル” の話 @DSIRNLP#5
いまさら聞けない “モデル” の話 @DSIRNLP#5いまさら聞けない “モデル” の話 @DSIRNLP#5
いまさら聞けない “モデル” の話 @DSIRNLP#5Koji Matsuda
 
Hadoopを40分で理解する #cwt2013
Hadoopを40分で理解する #cwt2013Hadoopを40分で理解する #cwt2013
Hadoopを40分で理解する #cwt2013Cloudera Japan
 
Hadoopの概念と基本的知識
Hadoopの概念と基本的知識Hadoopの概念と基本的知識
Hadoopの概念と基本的知識Ken SASAKI
 
CVPR2016読み会 Sparsifying Neural Network Connections for Face Recognition
CVPR2016読み会 Sparsifying Neural Network Connections for Face RecognitionCVPR2016読み会 Sparsifying Neural Network Connections for Face Recognition
CVPR2016読み会 Sparsifying Neural Network Connections for Face RecognitionKoichi Takahashi
 
On the Dynamics of Machine Learning Algorithms and Behavioral Game Theory
On the Dynamics of Machine Learning Algorithms and Behavioral Game TheoryOn the Dynamics of Machine Learning Algorithms and Behavioral Game Theory
On the Dynamics of Machine Learning Algorithms and Behavioral Game TheoryRikiya Takahashi
 
Stochastic Variational Inference
Stochastic Variational InferenceStochastic Variational Inference
Stochastic Variational InferenceKaede Hayashi
 
20170819 CV勉強会 CVPR 2017
20170819 CV勉強会 CVPR 201720170819 CV勉強会 CVPR 2017
20170819 CV勉強会 CVPR 2017issaymk2
 
LCA and RMQ ~簡潔もあるよ!~
LCA and RMQ ~簡潔もあるよ!~LCA and RMQ ~簡潔もあるよ!~
LCA and RMQ ~簡潔もあるよ!~Yuma Inoue
 
sublabel accurate convex relaxation of vectorial multilabel energies
sublabel accurate convex relaxation of vectorial multilabel energiessublabel accurate convex relaxation of vectorial multilabel energies
sublabel accurate convex relaxation of vectorial multilabel energiesFujimoto Keisuke
 
プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~Takuya Akiba
 
Greed is Good: 劣モジュラ関数最大化とその発展
Greed is Good: 劣モジュラ関数最大化とその発展Greed is Good: 劣モジュラ関数最大化とその発展
Greed is Good: 劣モジュラ関数最大化とその発展Yuichi Yoshida
 
ウェーブレット木の世界
ウェーブレット木の世界ウェーブレット木の世界
ウェーブレット木の世界Preferred Networks
 
PRML輪読#14
PRML輪読#14PRML輪読#14
PRML輪読#14matsuolab
 
Fractality of Massive Graphs: Scalable Analysis with Sketch-Based Box-Coverin...
Fractality of Massive Graphs: Scalable Analysis with Sketch-Based Box-Coverin...Fractality of Massive Graphs: Scalable Analysis with Sketch-Based Box-Coverin...
Fractality of Massive Graphs: Scalable Analysis with Sketch-Based Box-Coverin...Kenko Nakamura
 
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) 40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) hamaken
 
ORB-SLAMを動かしてみた
ORB-SLAMを動かしてみたORB-SLAMを動かしてみた
ORB-SLAMを動かしてみたTakuya Minagawa
 
強化学習その2
強化学習その2強化学習その2
強化学習その2nishio
 

En vedette (20)

Align, Disambiguate and Walk : A Unified Approach forMeasuring Semantic Simil...
Align, Disambiguate and Walk  : A Unified Approach forMeasuring Semantic Simil...Align, Disambiguate and Walk  : A Unified Approach forMeasuring Semantic Simil...
Align, Disambiguate and Walk : A Unified Approach forMeasuring Semantic Simil...
 
いまさら聞けない “モデル” の話 @DSIRNLP#5
いまさら聞けない “モデル” の話 @DSIRNLP#5いまさら聞けない “モデル” の話 @DSIRNLP#5
いまさら聞けない “モデル” の話 @DSIRNLP#5
 
Hadoopを40分で理解する #cwt2013
Hadoopを40分で理解する #cwt2013Hadoopを40分で理解する #cwt2013
Hadoopを40分で理解する #cwt2013
 
はやわかりHadoop
はやわかりHadoopはやわかりHadoop
はやわかりHadoop
 
Hadoopの概念と基本的知識
Hadoopの概念と基本的知識Hadoopの概念と基本的知識
Hadoopの概念と基本的知識
 
CVPR2016読み会 Sparsifying Neural Network Connections for Face Recognition
CVPR2016読み会 Sparsifying Neural Network Connections for Face RecognitionCVPR2016読み会 Sparsifying Neural Network Connections for Face Recognition
CVPR2016読み会 Sparsifying Neural Network Connections for Face Recognition
 
On the Dynamics of Machine Learning Algorithms and Behavioral Game Theory
On the Dynamics of Machine Learning Algorithms and Behavioral Game TheoryOn the Dynamics of Machine Learning Algorithms and Behavioral Game Theory
On the Dynamics of Machine Learning Algorithms and Behavioral Game Theory
 
Stochastic Variational Inference
Stochastic Variational InferenceStochastic Variational Inference
Stochastic Variational Inference
 
20170819 CV勉強会 CVPR 2017
20170819 CV勉強会 CVPR 201720170819 CV勉強会 CVPR 2017
20170819 CV勉強会 CVPR 2017
 
LCA and RMQ ~簡潔もあるよ!~
LCA and RMQ ~簡潔もあるよ!~LCA and RMQ ~簡潔もあるよ!~
LCA and RMQ ~簡潔もあるよ!~
 
sublabel accurate convex relaxation of vectorial multilabel energies
sublabel accurate convex relaxation of vectorial multilabel energiessublabel accurate convex relaxation of vectorial multilabel energies
sublabel accurate convex relaxation of vectorial multilabel energies
 
DeepLearningTutorial
DeepLearningTutorialDeepLearningTutorial
DeepLearningTutorial
 
プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~
 
Greed is Good: 劣モジュラ関数最大化とその発展
Greed is Good: 劣モジュラ関数最大化とその発展Greed is Good: 劣モジュラ関数最大化とその発展
Greed is Good: 劣モジュラ関数最大化とその発展
 
ウェーブレット木の世界
ウェーブレット木の世界ウェーブレット木の世界
ウェーブレット木の世界
 
PRML輪読#14
PRML輪読#14PRML輪読#14
PRML輪読#14
 
Fractality of Massive Graphs: Scalable Analysis with Sketch-Based Box-Coverin...
Fractality of Massive Graphs: Scalable Analysis with Sketch-Based Box-Coverin...Fractality of Massive Graphs: Scalable Analysis with Sketch-Based Box-Coverin...
Fractality of Massive Graphs: Scalable Analysis with Sketch-Based Box-Coverin...
 
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) 40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
 
ORB-SLAMを動かしてみた
ORB-SLAMを動かしてみたORB-SLAMを動かしてみた
ORB-SLAMを動かしてみた
 
強化学習その2
強化学習その2強化学習その2
強化学習その2
 

Similaire à Practical recommendations for gradient-based training of deep architectures

第1回 Jubatusハンズオン
第1回 Jubatusハンズオン第1回 Jubatusハンズオン
第1回 JubatusハンズオンYuya Unno
 
第1回 Jubatusハンズオン
第1回 Jubatusハンズオン第1回 Jubatusハンズオン
第1回 JubatusハンズオンJubatusOfficial
 
Deep learning実装の基礎と実践
Deep learning実装の基礎と実践Deep learning実装の基礎と実践
Deep learning実装の基礎と実践Seiya Tokui
 
Or seminar2011final
Or seminar2011finalOr seminar2011final
Or seminar2011finalMikio Kubo
 
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装MITSUNARI Shigeo
 
機械学習を用いた予測モデル構築・評価
機械学習を用いた予測モデル構築・評価機械学習を用いた予測モデル構築・評価
機械学習を用いた予測モデル構築・評価Shintaro Fukushima
 
El text.tokuron a(2019).watanabe190613
El text.tokuron a(2019).watanabe190613El text.tokuron a(2019).watanabe190613
El text.tokuron a(2019).watanabe190613RCCSRENKEI
 
研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門ryos36
 
Lambda calculus
Lambda calculusLambda calculus
Lambda calculusNaoki Rin
 
ラムダ計算と関数型言語を学ぶ
ラムダ計算と関数型言語を学ぶラムダ計算と関数型言語を学ぶ
ラムダ計算と関数型言語を学ぶNaoki Hayashida
 
Chainerの使い方と自然言語処理への応用
Chainerの使い方と自然言語処理への応用Chainerの使い方と自然言語処理への応用
Chainerの使い方と自然言語処理への応用Seiya Tokui
 
条件分岐とcmovとmaxps
条件分岐とcmovとmaxps条件分岐とcmovとmaxps
条件分岐とcmovとmaxpsMITSUNARI Shigeo
 
Introduction to NumPy & SciPy
Introduction to NumPy & SciPyIntroduction to NumPy & SciPy
Introduction to NumPy & SciPyShiqiao Du
 
[Basic 3] 計算量 / 配列, 連結リスト / ハッシュ テーブル / スタック, キュー
[Basic 3] 計算量 / 配列, 連結リスト / ハッシュ テーブル / スタック, キュー[Basic 3] 計算量 / 配列, 連結リスト / ハッシュ テーブル / スタック, キュー
[Basic 3] 計算量 / 配列, 連結リスト / ハッシュ テーブル / スタック, キューYuto Takei
 
Introduction to Chainer (LL Ring Recursive)
Introduction to Chainer (LL Ring Recursive)Introduction to Chainer (LL Ring Recursive)
Introduction to Chainer (LL Ring Recursive)Kenta Oono
 
Intro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみたIntro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみたMITSUNARI Shigeo
 

Similaire à Practical recommendations for gradient-based training of deep architectures (20)

第1回 Jubatusハンズオン
第1回 Jubatusハンズオン第1回 Jubatusハンズオン
第1回 Jubatusハンズオン
 
第1回 Jubatusハンズオン
第1回 Jubatusハンズオン第1回 Jubatusハンズオン
第1回 Jubatusハンズオン
 
Deep learning実装の基礎と実践
Deep learning実装の基礎と実践Deep learning実装の基礎と実践
Deep learning実装の基礎と実践
 
Or seminar2011final
Or seminar2011finalOr seminar2011final
Or seminar2011final
 
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
 
機械学習を用いた予測モデル構築・評価
機械学習を用いた予測モデル構築・評価機械学習を用いた予測モデル構築・評価
機械学習を用いた予測モデル構築・評価
 
optimal Ate pairing
optimal Ate pairingoptimal Ate pairing
optimal Ate pairing
 
El text.tokuron a(2019).watanabe190613
El text.tokuron a(2019).watanabe190613El text.tokuron a(2019).watanabe190613
El text.tokuron a(2019).watanabe190613
 
研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門
 
Lambda calculus
Lambda calculusLambda calculus
Lambda calculus
 
ラムダ計算と関数型言語を学ぶ
ラムダ計算と関数型言語を学ぶラムダ計算と関数型言語を学ぶ
ラムダ計算と関数型言語を学ぶ
 
Chainerの使い方と自然言語処理への応用
Chainerの使い方と自然言語処理への応用Chainerの使い方と自然言語処理への応用
Chainerの使い方と自然言語処理への応用
 
条件分岐とcmovとmaxps
条件分岐とcmovとmaxps条件分岐とcmovとmaxps
条件分岐とcmovとmaxps
 
Introduction to NumPy & SciPy
Introduction to NumPy & SciPyIntroduction to NumPy & SciPy
Introduction to NumPy & SciPy
 
boost tour 1.48.0 all
boost tour 1.48.0 allboost tour 1.48.0 all
boost tour 1.48.0 all
 
Clojure
ClojureClojure
Clojure
 
Boost tour 1_40_0
Boost tour 1_40_0Boost tour 1_40_0
Boost tour 1_40_0
 
[Basic 3] 計算量 / 配列, 連結リスト / ハッシュ テーブル / スタック, キュー
[Basic 3] 計算量 / 配列, 連結リスト / ハッシュ テーブル / スタック, キュー[Basic 3] 計算量 / 配列, 連結リスト / ハッシュ テーブル / スタック, キュー
[Basic 3] 計算量 / 配列, 連結リスト / ハッシュ テーブル / スタック, キュー
 
Introduction to Chainer (LL Ring Recursive)
Introduction to Chainer (LL Ring Recursive)Introduction to Chainer (LL Ring Recursive)
Introduction to Chainer (LL Ring Recursive)
 
Intro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみたIntro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみた
 

Plus de Koji Matsuda

Reading Wikipedia to Answer Open-Domain Questions (ACL2017) and more...
Reading Wikipedia to Answer Open-Domain Questions (ACL2017) and more...Reading Wikipedia to Answer Open-Domain Questions (ACL2017) and more...
Reading Wikipedia to Answer Open-Domain Questions (ACL2017) and more...Koji Matsuda
 
KB + Text => Great KB な論文を多読してみた
KB + Text => Great KB な論文を多読してみたKB + Text => Great KB な論文を多読してみた
KB + Text => Great KB な論文を多読してみたKoji Matsuda
 
Large-Scale Information Extraction from Textual Definitions through Deep Syn...
Large-Scale Information Extraction from Textual Definitions through Deep Syn...Large-Scale Information Extraction from Textual Definitions through Deep Syn...
Large-Scale Information Extraction from Textual Definitions through Deep Syn...Koji Matsuda
 
知識を紡ぐための言語処理と、 そのための言語資源
知識を紡ぐための言語処理と、そのための言語資源知識を紡ぐための言語処理と、そのための言語資源
知識を紡ぐための言語処理と、 そのための言語資源Koji Matsuda
 
「今日から使い切る」 ための GNU Parallel による並列処理入門
「今日から使い切る」ための GNU Parallelによる並列処理入門「今日から使い切る」ための GNU Parallelによる並列処理入門
「今日から使い切る」 ための GNU Parallel による並列処理入門Koji Matsuda
 
場所参照表現タグ付きコーパスの 構築と評価
場所参照表現タグ付きコーパスの構築と評価 場所参照表現タグ付きコーパスの構築と評価
場所参照表現タグ付きコーパスの 構築と評価 Koji Matsuda
 
Entity linking meets Word Sense Disambiguation: a unified approach(TACL 2014)の紹介
Entity linking meets Word Sense Disambiguation: a unified approach(TACL 2014)の紹介Entity linking meets Word Sense Disambiguation: a unified approach(TACL 2014)の紹介
Entity linking meets Word Sense Disambiguation: a unified approach(TACL 2014)の紹介Koji Matsuda
 
Joint Modeling of a Matrix with Associated Text via Latent Binary Features
Joint Modeling of a Matrix with Associated Text via Latent Binary FeaturesJoint Modeling of a Matrix with Associated Text via Latent Binary Features
Joint Modeling of a Matrix with Associated Text via Latent Binary FeaturesKoji Matsuda
 
Vanishing Component Analysis
Vanishing Component AnalysisVanishing Component Analysis
Vanishing Component AnalysisKoji Matsuda
 
A Machine Learning Framework for Programming by Example
A Machine Learning Framework for Programming by ExampleA Machine Learning Framework for Programming by Example
A Machine Learning Framework for Programming by ExampleKoji Matsuda
 
Information-Theoretic Metric Learning
Information-Theoretic Metric LearningInformation-Theoretic Metric Learning
Information-Theoretic Metric LearningKoji Matsuda
 
Unified Expectation Maximization
Unified Expectation MaximizationUnified Expectation Maximization
Unified Expectation MaximizationKoji Matsuda
 
Language Models as Representations for Weakly-­Supervised NLP Tasks (CoNLL2011)
Language Models as Representations for Weakly-­Supervised NLP Tasks (CoNLL2011)Language Models as Representations for Weakly-­Supervised NLP Tasks (CoNLL2011)
Language Models as Representations for Weakly-­Supervised NLP Tasks (CoNLL2011)Koji Matsuda
 
研究室内PRML勉強会 11章2-4節
研究室内PRML勉強会 11章2-4節研究室内PRML勉強会 11章2-4節
研究室内PRML勉強会 11章2-4節Koji Matsuda
 
研究室内PRML勉強会 8章1節
研究室内PRML勉強会 8章1節研究室内PRML勉強会 8章1節
研究室内PRML勉強会 8章1節Koji Matsuda
 
Word Sense Induction & Disambiguaon Using Hierarchical Random Graphs (EMNLP2010)
Word Sense Induction & Disambiguaon Using Hierarchical Random Graphs (EMNLP2010)Word Sense Induction & Disambiguaon Using Hierarchical Random Graphs (EMNLP2010)
Word Sense Induction & Disambiguaon Using Hierarchical Random Graphs (EMNLP2010)Koji Matsuda
 
Approximate Scalable Bounded Space Sketch for Large Data NLP
Approximate Scalable Bounded Space Sketch for Large Data NLPApproximate Scalable Bounded Space Sketch for Large Data NLP
Approximate Scalable Bounded Space Sketch for Large Data NLPKoji Matsuda
 

Plus de Koji Matsuda (17)

Reading Wikipedia to Answer Open-Domain Questions (ACL2017) and more...
Reading Wikipedia to Answer Open-Domain Questions (ACL2017) and more...Reading Wikipedia to Answer Open-Domain Questions (ACL2017) and more...
Reading Wikipedia to Answer Open-Domain Questions (ACL2017) and more...
 
KB + Text => Great KB な論文を多読してみた
KB + Text => Great KB な論文を多読してみたKB + Text => Great KB な論文を多読してみた
KB + Text => Great KB な論文を多読してみた
 
Large-Scale Information Extraction from Textual Definitions through Deep Syn...
Large-Scale Information Extraction from Textual Definitions through Deep Syn...Large-Scale Information Extraction from Textual Definitions through Deep Syn...
Large-Scale Information Extraction from Textual Definitions through Deep Syn...
 
知識を紡ぐための言語処理と、 そのための言語資源
知識を紡ぐための言語処理と、そのための言語資源知識を紡ぐための言語処理と、そのための言語資源
知識を紡ぐための言語処理と、 そのための言語資源
 
「今日から使い切る」 ための GNU Parallel による並列処理入門
「今日から使い切る」ための GNU Parallelによる並列処理入門「今日から使い切る」ための GNU Parallelによる並列処理入門
「今日から使い切る」 ための GNU Parallel による並列処理入門
 
場所参照表現タグ付きコーパスの 構築と評価
場所参照表現タグ付きコーパスの構築と評価 場所参照表現タグ付きコーパスの構築と評価
場所参照表現タグ付きコーパスの 構築と評価
 
Entity linking meets Word Sense Disambiguation: a unified approach(TACL 2014)の紹介
Entity linking meets Word Sense Disambiguation: a unified approach(TACL 2014)の紹介Entity linking meets Word Sense Disambiguation: a unified approach(TACL 2014)の紹介
Entity linking meets Word Sense Disambiguation: a unified approach(TACL 2014)の紹介
 
Joint Modeling of a Matrix with Associated Text via Latent Binary Features
Joint Modeling of a Matrix with Associated Text via Latent Binary FeaturesJoint Modeling of a Matrix with Associated Text via Latent Binary Features
Joint Modeling of a Matrix with Associated Text via Latent Binary Features
 
Vanishing Component Analysis
Vanishing Component AnalysisVanishing Component Analysis
Vanishing Component Analysis
 
A Machine Learning Framework for Programming by Example
A Machine Learning Framework for Programming by ExampleA Machine Learning Framework for Programming by Example
A Machine Learning Framework for Programming by Example
 
Information-Theoretic Metric Learning
Information-Theoretic Metric LearningInformation-Theoretic Metric Learning
Information-Theoretic Metric Learning
 
Unified Expectation Maximization
Unified Expectation MaximizationUnified Expectation Maximization
Unified Expectation Maximization
 
Language Models as Representations for Weakly-­Supervised NLP Tasks (CoNLL2011)
Language Models as Representations for Weakly-­Supervised NLP Tasks (CoNLL2011)Language Models as Representations for Weakly-­Supervised NLP Tasks (CoNLL2011)
Language Models as Representations for Weakly-­Supervised NLP Tasks (CoNLL2011)
 
研究室内PRML勉強会 11章2-4節
研究室内PRML勉強会 11章2-4節研究室内PRML勉強会 11章2-4節
研究室内PRML勉強会 11章2-4節
 
研究室内PRML勉強会 8章1節
研究室内PRML勉強会 8章1節研究室内PRML勉強会 8章1節
研究室内PRML勉強会 8章1節
 
Word Sense Induction & Disambiguaon Using Hierarchical Random Graphs (EMNLP2010)
Word Sense Induction & Disambiguaon Using Hierarchical Random Graphs (EMNLP2010)Word Sense Induction & Disambiguaon Using Hierarchical Random Graphs (EMNLP2010)
Word Sense Induction & Disambiguaon Using Hierarchical Random Graphs (EMNLP2010)
 
Approximate Scalable Bounded Space Sketch for Large Data NLP
Approximate Scalable Bounded Space Sketch for Large Data NLPApproximate Scalable Bounded Space Sketch for Large Data NLP
Approximate Scalable Bounded Space Sketch for Large Data NLP
 

Dernier

Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 

Dernier (9)

Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 

Practical recommendations for gradient-based training of deep architectures

  • 1. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References . . Practical Recommendations for Gradient-Based Training of Deep Architectures ∼Bengio 先生のおすすめレシピ∼ Yoshua Bengio Universit de Montral すずかけ論文読み会#6 2013/09/21 紹介者:matsuda 1 / 54
  • 2. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References Outline ...1 勾配 ...2 Hyper-Parameters 考慮すべきハイパーパラメータ ハイパーパラメータの最適化 ...3 デバッグと可視化 Gradient Checking and Controlled Overfitting Visualizations and Statistics ...4 その他 Multi-core machines, BLAS and GPUs Sparse High-Dimensional Inputs ...5 まとめ 2 / 54
  • 3. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References はじめに ”Neural Networks: Tricks of the Trade”という書籍の (改訂版 の) 草稿のようです 今回はその中の一章,Bengio 先生による Deep Learning の おすすめレシピを読み解いていきます 盛りだくさんなので,適宜飛ばします (よくわからないところを飛ばした,とも言います) 基本的に,CAE もしくは DAE(要は,正則化つき Auto-Encoders) を前提としています RBMs の話もところどころに出てきます 人工知能学会誌の Deep Learning 特集が参考になりますの で,そちらもどうぞ 7 月号の麻生先生の記事,9 月号の岡野原さんの記事が今回の 内容と大きく関連 3 / 54
  • 4. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References Auto-Encoders の基本 . . 書こうとして力尽きました.他によい資料がいくらでもあります ので,そちらをご覧ください. . あらかじめ押さえておくべきこと .. . NN は Forward-propagation, Back-propagation の二つのス テップを繰り返して学習する,ということ Auto-Encoders は,与えられたデータ自体を復元するような ネットワークを学習する教師なし学習である,ということ Auto-Encoders の学習を Supervised な学習の前段階として 行う,という技術がある (Unsupervised Pre-training) という こと 機械学習においては,過学習を抑えるために,正則化という テクニックがよく使われるということ 4 / 54
  • 5. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References DAE/CAE . Auto-Encoders .. . JAE (θ) = ∑ x∈D L(x, g(f(x))) . Denoising Auto-Encoders .. . JDAE (θ) = ∑ x∈D Ex [L(x, g(f(˜x)))] ˜x = x + , ∼ N(0, σ2 ) . Contractive Auto-Encoders .. . JCAE (θ) = ∑ x∈D (L(x, g(f(x))) + λ δf(x) δx 2 F ) ※特定の状況において,CAE と DAE はほぼ等価 (前回の復習) 5 / 54
  • 6. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References Outline ...1 勾配 ...2 Hyper-Parameters 考慮すべきハイパーパラメータ ハイパーパラメータの最適化 ...3 デバッグと可視化 Gradient Checking and Controlled Overfitting Visualizations and Statistics ...4 その他 Multi-core machines, BLAS and GPUs Sparse High-Dimensional Inputs ...5 まとめ 6 / 54
  • 7. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References 勾配の計算 勾配ベース,という場合は,以下のいずれかが用いられる 確率的勾配法 (Stochastic Gradient Descent) θ(t) ← θ(t−1) − t ∂L(zt , θ) ∂θ ミニバッチ確率的勾配法 θ(t) ← θ(t−1) − t 1 B B(t+1) ∑ t =Bt+1 ∂L(zt , θ) ∂θ . ミニバッチにおいて B = 1 とした場合はふつうの SGD, B = デー タ数とした場合は (確率的ではない) 勾配法 7 / 54
  • 8. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References 勾配の計算 NN はさまざまな「層」の組み合わせ Chain-Rule を用いて,層ごとに勾配を計算すればよいのが ポイント 層をブロックのように組み合わせてネットワークを作ること ができる ブロックに対しては,あらかじめ損失と勾配がどのような形 をしているのか計算しておくことができる ブロックを提供しているライブラリがいろいろあるので,そ れを使おう Torch, Lush, Theano など Theano は記号微分が実装されている 8 / 54
  • 9. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References Theano の例 (記号微分) 雰囲気をつかむための超簡単な例: δ(x2) δx = 2x . Python Code .. . from theano import pp x = T.dscalar(’x’) # x の関数であることを宣言 y = x ** 2 gy = T.grad(y, x) # y を x で微分 => x * 2 f = function([x], gy) f(4) # => 8.0 9 / 54
  • 10. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References Torch で 10 行ニューラルネット . Torch Lua Code .. . require "nn" mlp=nn.Sequential(); #多層パーセプトロン inputs=2; outputs=1; HUs=20; mlp:add(nn.Linear(inputs,HUs)) #層の定義 mlp:add(nn.Tanh()) mlp:add(nn.Linear(HUs,outputs)) criterion = nn.MSECriterion() #損失関数 trainer = nn.StochasticGradient(mlp, criterion) trainer.learningRate = 0.01 trainer:train(dataset) # SGD で学習 Torch にはさまざまな層,損失関数が用意されている SoftMax, Sigmoid, Tanh, HardTanh, Convolution, etc... MSECriterion, MarginRankingCriterion, etc... 10 / 54
  • 11. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References Outline ...1 勾配 ...2 Hyper-Parameters 考慮すべきハイパーパラメータ ハイパーパラメータの最適化 ...3 デバッグと可視化 Gradient Checking and Controlled Overfitting Visualizations and Statistics ...4 その他 Multi-core machines, BLAS and GPUs Sparse High-Dimensional Inputs ...5 まとめ 11 / 54
  • 12. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References ハイパーパラメータのいろいろ . 最適化のためのパラメータ .. . 学習率 (初期値,減衰) ミニバッチのサイズ イテレーション回数 Momentum . モデル自身のパラメータ .. . 隠れ層のユニット数 重みの正則化 ユニットの (アクティベー ションの) スパース化 活性化関数の選択 . その他 .. . 重みの初期化 (のスケール) 乱数 前処理 12 / 54
  • 13. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References 最適化のためのパラメータ 学習率の初期値 0 10−6 から 1 の間に設定,0.1 くらいがデフォルト.後述する ようにかなり重要なパラメータなので,最適化すべき. 学習率のスケジューリング t O(1/tα) で減少するようスケジューリング.α < 1(O(1/t) より若干緩やか) がおおよその目安. t = 0τ max(t, τ) 上記のように,最初の τ イテレーションは減衰させず,その 後減衰させるとよい,という報告もある (Bergstra and Bengio, 2012) 13 / 54
  • 14. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References 最適化のためのパラメータ ミニバッチのサイズ B 32 くらいが経験的によく,あまり調節の必要はないらしい イテレーション回数 T validation-set を使って,validation-error が減少しなくなっ たら止める (Early Stopping) ただし,error を毎回測るのは無駄なので,ときどきでよい. Momentum β (Polyak and Juditsky, 1992) 勾配自体を過去の平均と混ぜる (慣性をつけるイメージ) ¯g ← (1 − β)¯g + βg 多くのケースでは β = 1(Momentum なし) でよいが,チュー ニングしたほうが良い場合も 14 / 54
  • 15. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References モデル自身のパラメータ . . 隠れユニット数 (ネットワークの構造) 重みの正則化 (Weight Decay) アクティベーションのスパース化 活性化関数の選択 15 / 54
  • 16. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References ネットワークの構造 過学習への対処が適切であれば,隠れ層のユニット数は基本 的に「多いほど良い」 ネットワークの構造は,各層が同じサイズで良い場合が多い (Larochelle et al., 2009) (ピラミッド or 逆ピラミッドである 必要はない) Unsupervised Pre-training を行う際は,純 Supervised に比 べて多くしたほうが良い (10 倍とか) Pre-training の段階においては,target-task が分からないた め,データの分布それ自体を学習しなければならない (高い表 現力が要求される) 単なる Supervised な NN であれば,target-task に対する損 失を最小化すればよいため,比較的表現力が低くてもよい 16 / 54
  • 17. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References 二つの正則化 . 重みの正則化 λ (Weight Decay) .. . 各層の重み W が大きくならないよ う調整,L2 or L1 が一般的. バイアス項には正則化をかけない方 法もある. 17 / 54
  • 18. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References 二つの正則化 . 重みの正則化 λ (Weight Decay) .. . 各層の重み W が大きくならないよ う調整,L2 or L1 が一般的. バイアス項には正則化をかけない方 法もある. . アクティベーションのスパース化 (Ranzato et al., 2007) など .. . 隠れ層がスパースになるよう,活性 化関数を調整する → 脳内のニューロンの発火はス パースである,という観察 (sparse coding, sparse auto-encoder) 18 / 54
  • 19. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References 活性化関数 . 代表的なもの .. . Sigmoid 1/(1 + e−a) Tanh ea+e−a ea−e−a Rectified Linear Unit (ReLU, Rectifier) max(0, a) Hard tanh . なめらかな関数 .. . 表現力が高い (最終的な精度 を期待できる) が,収束が遅 い(勾配の消滅), . 非連続な関数 .. . 収束は速く,勾配が疎だが, 表現力が低い (最終的な精度 が伸び悩むかもしれない) 出力層においては,問題の形 (回帰か,分類か,マルチラベルか) に応じて適切な関数が選べるが,隠れ層においては定石といえる ものは無さそう 19 / 54
  • 20. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References 活性化関数のいろいろ PFI Seminer ”Deep Learning の技術と未来” http://www.slideshare.net/beam2d/deep-learning-22544096 MaxOut については後述します 20 / 54
  • 21. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References その他のパラメータ 重みの初期化 AE の場合,一様分布を用いるのが定石.tanh のユニットで あれば,ノードの次数 (繋がっているエッジの数) を用いて, w ∼ Uniform(−r, r), r = √ 6/(fan-in + fan-out) とする.(Glorot and Bengio, 2010) RBMs の場合は平均 0 で分散が小さい (0.1 or 0.01) の正規分 布を用いる (Hinton, 2010) 乱数 初期化によって得られる結果が異なるため,乱数の種を 10 個くらい試して,それらを組み合わせる (平均を取る,マ ジョリティーを取る,最も良いものを取る)という方法もあ ります.バギングと関連あり. 前処理 基本データ依存.PCA,正規化,uniformization など 21 / 54
  • 22. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References 覚えておくべきこと さまざまな値で試そう validation-error は複雑なカーブを描くので,例えば 3 点だけ 調べる,とかでは不十分なことが多い log-scale で探索しよう 例) 0.1 と,0.11 は殆ど変わらないことが多い.対して, 0.01 と 0.02 は,結果が大きく異なることがある. 計算量の問題 ハイパーパラメータの探索に必要となる,validation error の 算出は計算量が大きい 代わりに,より計算量の小さな指標が提案されているので, そちらを(以下略) . 現実的によく使われる手法 (座標軸降下法) .. . ...1 順番を決めて,あるパラメータに対して最適値を探索, ...2 パラメータを固定して,別なパラメータを最適化 22 / 54
  • 23. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References Greedy layer-wise optimization 層ごとのハイパーパラメータは,層ごとに最適化してしまう (Mesnil et al., 2011) . 論文中の Algorithm 1 (超絶オミット) .. . プレトレーニング: 各層に対して: プレトレーニングを行い,最大 K 個のパラメータ設定を残す ファインチューニング: K 個のパラメータそれぞれに対して: それぞれ validation-set で評価 23 / 54
  • 24. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References Greedy layer-wise optimization 層ごとのハイパーパラメータは,層ごとに最適化してしまう (Mesnil et al., 2011) . 論文中の Algorithm 1 (超絶オミット) .. . プレトレーニング: 各層に対して: プレトレーニングを行い,最大 K 個のパラメータ設定を残す ファインチューニング: K 個のパラメータそれぞれに対して: それぞれ validation-set で評価 . 衝撃的な事実 (Bergstra and Bengio, 2012) .. . じつは,グリッドサーチ (などのシステマチックな探索) よりラン ダムサンプリングのほうがいいパラメータを早くみつけることが できる! 特に,最適化すべきパラメーターが非常に多い場合 24 / 54
  • 25. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References ハイパーパラメータのランダムサンプリング Bergstra and Bengio, JMLR, 2013 25 / 54
  • 26. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References ランダムサンプリングがうまく動くわけ 重要なパラメータと,そうでないパラメータがある グリッドサーチだと,重要なパラメータを「重点的に」探ること は難しい 26 / 54
  • 27. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References ランダムサンプリング VS グリッドサーチ . ランダムサンプリングの利点 (速いだけでなく・・・) .. . 計算をいつやめても良い 計算機が追加で利用可能になった場合,特にグリッドの再設 定などの考慮を行わなくて良い それぞれの trial は,非同期に行える ある trial が失敗しても,単に無視すればよい 結論:ハイパーパラメータはランダムサンプリングしましょう! 個人的には,ちょっと気持ち悪いと思う部分もありますが... Low-discrepancy sequence(超一様分布列)を用いた実験 計画法もあるようです 高次元の数値積分を効率よく計算するための「ばらけた」数列 いわゆる「乱数」とは異なります 27 / 54
  • 28. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References もう少しハイパーパラメータについて 学習率が多くの場合,最も重要なパラメータ 28 / 54
  • 29. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References Outline ...1 勾配 ...2 Hyper-Parameters 考慮すべきハイパーパラメータ ハイパーパラメータの最適化 ...3 デバッグと可視化 Gradient Checking and Controlled Overfitting Visualizations and Statistics ...4 その他 Multi-core machines, BLAS and GPUs Sparse High-Dimensional Inputs ...5 まとめ 29 / 54
  • 30. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References バグさがし テイラー近似による微分値のチェック ( = 10−4 が目安) ∂f(x) ∂x ≈ f(x + ε) − f(x − ε) 2ε + o(ε2 ). → 非連続な活性化関数でも使えるのかは不明 (´・ω・`) 小規模のデータで試す L-BFGS などと SGD で全然違う解に収束していたら要注意 メモリの扱いに注意する 一つのテクニックとして,メモリをアロケートするときに NaN で埋めておく,というテクニックがある メモリ中の変なところにアクセスすると,NaN が伝播してく るので,バグが見つけやすくなる C++だと signaling_NaN() というものがある 30 / 54
  • 31. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References 過学習をおさえる もちろん,バグ由来ではなく,そもそもモデルとして性能が 出ないこともある 過学習なのか,モデルの表現力がそもそも低いのか いろいろな解決法があります 訓練データを増やす (おそらく最もシンプル) 正則化項を増やす/見直す マルチタスク学習(!) Unsupervised pre-training, 目的関数に Unsupervised な要素 を加える (データの事前確率など) そもそもネットワークの構造を変える 要は設定変えてやり直せ,ってことです 31 / 54
  • 32. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References 可視化と統計値で学習結果をチェックしよう 各 epoch における訓練データと validation データのエラー率 をチェックする → エラー率が訓練データに対しても下がらない場合は何か がおかしい → 訓練データに対しても下がって validation データに対して 下がらない場合は過学習の兆候 可視化 Hinton Diagram (Hinton, 1989) (重みの可視化) 重みを直接画像にする t-SNE (van der Maaten and Hinton, 2008) (Embedding の可 視化) Manifold Tangent (Rifai et al., 2011b) (CAE で学習された多 様体の上の距離を可視化) Learning Trajectory (Erhan et al., 2010b) (学習の軌跡の可 視化) 32 / 54
  • 33. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References 重みの可視化と Embedding の可視化 . 重みの可視化 .. . 特定の層の重みを可視化 (上の層のユニット数 * 下の 層のユニット数) の行列 Hinton Diagram, Gabor Filter など . Embedding の可視化 .. . あるデータを入力した場合, 隠れ層がどのような値をと るか ベクトル (の集合) の可視化 t-SNE, Isomap など 33 / 54
  • 34. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References Hinton Diagram(重みの可視化) 四角形の大きさは重みの絶対値, 四角形の色は符号 殆どのセルで大きさが変わっていない場合は,学習できていなさ そう,などの観察 (読解は匠の技っぽい) 34 / 54
  • 35. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References 重みを画像でみる 構文解析 ( Compositional Vector Grammer[Socher+2013] ) の例 DT-NP の組であれば NP が head に来る (重要だ),という言語学 における観察が,学習の結果,重みとして得られている 35 / 54
  • 36. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References t-SNE (MNIST) 36 / 54
  • 37. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References t-SNE (Turian’s Embedding) 37 / 54
  • 38. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References t-SNE (Turian’s Embedding) 38 / 54
  • 39. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References Learning Trajectory with t-SNE 学習によって重みがどう変化しているかを可視化 (青:序盤,緑:終盤) Pre-training したほうが分散が小さい,各グループは別々の local minima に向かっている,ということが言えるらしい 39 / 54
  • 40. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References Outline ...1 勾配 ...2 Hyper-Parameters 考慮すべきハイパーパラメータ ハイパーパラメータの最適化 ...3 デバッグと可視化 Gradient Checking and Controlled Overfitting Visualizations and Statistics ...4 その他 Multi-core machines, BLAS and GPUs Sparse High-Dimensional Inputs ...5 まとめ 40 / 54
  • 41. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References Multi-core machines, BLAS and GPUs 計算の殆どは行列演算 BLAS のようなライブラリを使うことで,マルチコアの恩恵 を得られる GPU は適切に使えばとても速い,しかし難易度が高い Theano なら GPU 用のコードも吐けますしおすすめです! GPU を用いる際は,メモリの少なさと CPU 側との帯域の狭 さが問題 人工知能学会誌の岡野原さんの記事でも,マルチマシン,マ ルチ GPU の難しさについて扱われています 41 / 54
  • 42. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References Sparse High-Dimensional Inputs スパース行列の演算には多少のオーバーヘッドがありますが, いわゆる Supervised な NN ではさほど問題になりません しかし,Unsupervised Learning ではけっこう問題 (Reconstruction が重い) Sampled Reconstruction (Dauphin et al., 2011) という方法 があります 42 / 54
  • 43. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References Sampled Reconstruction 超ざっくり:Reconstruction をサボろう,というアイディア L = ∑ x H(x, g(f(x))) ≈ 1 Z ∑ x px H(x, g(f(x))) px ∈ {0, 1}, px ∼ Bin(θ) p = 0 のところは,損失を計算しない 22x の高速化! 43 / 54
  • 44. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References Open Questions 深い構造における学習の難しさ 局所解が非常に多い 初期化/設定によって,drastically に性能がかわる ひとつの方向性として,カリキュラム学習 (Bengio et al., 2009) は有望 簡単な問題から順に学習させる C&W の研究でみたように,ちょっとづつ語彙を増やす (言語モ デルを複雑にする) など 「なぜ」深い構造は学習が難しいのかは,まだ分かっていな いことが多い パーツ自体は単純ではあるが全体の挙動は複雑 (人工知能学会 誌の岡野原さんの記事より) 正直,パラメータ多すぎますよね 44 / 54
  • 45. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References カリキュラム学習 45 / 54
  • 46. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References 現在実験的に確かめられていること Local training signal (すみません,ちょっとわかりませんでした) 適切に初期化する レイヤの重みのヤコビアンの特異値が 1 に近くなるように初 期化するとよいという報告も (Glorot and Bengio, 2010) (あれ?行列の特異値って一般に複数あるよね?) 活性化関数の選び方 (Glorot et al., 2011a) 一般的には,対称な関数形のほうがよさそう Rectifier(ReLU) は,非対称ながらうまく動く → 勾配がよく伝播するのが理由のようだ それぞれの隠れ層の活性化関数をセンタリング(平均がゼロ になるよう動かす)するとよいという報告もある (Raiko et al., 2012) 46 / 54
  • 47. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References Learning rate の呪いから逃れる Learning rate は非常にクリティカルなパラメータ 最近は適応的に学習率を決める方法も研究されています (AdaGrad(Duchi et al., 2011) など) 各次元ごとに,重みの更新履歴を用いて,「大きく更新される 重みは小さな学習率,そうでないものは学習率を大きく」と いうアイディア → 逆の考え方もありそう 最初は SGD でおおよその解を見つけ,あとは共役勾配法や L-BFGS で丁寧に探索という方向性もあるようです SGD は一次収束だが局所解に捕まりにくい,L-BFGS は収束 が速い (超一次) だが局所解に弱い 47 / 54
  • 48. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References その他,本稿で触れられていない最近の話題 . DropOut .. . 過学習を防ぐテクニック 隠れ層のノードのある割合 (半分とか) を無かった事にして バックプロパゲーション 推定時は重みを割ってつじつまをあわせる いろいろな亜種がある (DropConnect, MaxPooling, etc...) バギングの一種と解釈できるらしい . MaxOut .. . 最近提案された活性化関数, さまざまな線形関数の Max を とる SoftMax との組み合わせで任意の関数を表現できる (表現力の高い Soft な活性化関数と,学習が速い非連続な活 性化関数のイイトコどり) 48 / 54
  • 49. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References MaxOut PFI Seminer ”Deep Learning の技術と未来” http://www.slideshare.net/beam2d/deep-learning-22544096 49 / 54
  • 50. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References Outline ...1 勾配 ...2 Hyper-Parameters 考慮すべきハイパーパラメータ ハイパーパラメータの最適化 ...3 デバッグと可視化 Gradient Checking and Controlled Overfitting Visualizations and Statistics ...4 その他 Multi-core machines, BLAS and GPUs Sparse High-Dimensional Inputs ...5 まとめ 50 / 54
  • 51. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References まとめ Auto-Encoders Based な Deep Learning を実装・利用する上で, 知っておいたほうが良いことを紹介 ハイパーパラメータ さまざまなハイパーパラメータとその役割 ハイパーパラメータの最適化における定石 バグさがし・可視化のテクニック 勾配の近似,t-SNE, Learning Trajectory など その他,高次元な入力空間における留意事項 GPU, Sampled Reconstruction, SGD と準ニュートン法の組 み合わせなど . まとめのまとめ .. . ハイパーパラメータはランダムサンプリングしましょう! やっぱりちょっと気持ち悪い... 51 / 54
  • 52. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References 参考文献 I Bergstra, J. and Bengio, Y. (2012). Random search for hyper-parameter optimization. J. Machine Learning Res., 13, 281–305. Polyak, B. and Juditsky, A. (1992). Acceleration of stochastic approximation by averaging. SIAM J. Control and Optimization, 30(4), 838–855. Larochelle, H., Bengio, Y., Louradour, J., and Lamblin, P. (2009). Exploring strategies for training deep neural networks. J. Machine Learning Res., 10, 1–40. Ranzato, M., Poultney, C., Chopra, S., and LeCun, Y. (2007). Efficient learning of sparse representations with an energy-based model. In NIPS’06. Glorot, X. and Bengio, Y. (2010). Understanding the difficulty of training deep feedforward neural networks. In AISTATS’2010, pages 249–256. Hinton, G. E. (2013). A practical guide to training restricted boltzmann machines. In K.-R. M¨uller, G. Montavon, and G. B. Orr, editors, Neural Networks: Tricks of the Trade, Reloaded. Springer. Hinton, G. E. (2010). A practical guide to training restricted Boltzmann machines. Technical Report UTML TR 2010-003, Department of Computer Science, University of Toronto. 52 / 54
  • 53. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References 参考文献 II Mesnil, G., Dauphin, Y., Glorot, X., Rifai, S., Bengio, Y., Goodfellow, I., Lavoie, E., Muller, X., Desjardins, G., Warde-Farley, D., Vincent, P., Courville, A., and Bergstra, J. (2011). Unsupervised and transfer learning challenge: a deep learning approach. In JMLR W&CP: Proc. Unsupervised and Transfer Learning, volume 7. Hinton, G. E. (1989). Connectionist learning procedures. Artificial Intelligence, 40, 185–234. van der Maaten, L. and Hinton, G. E. (2008). Visualizing data using t-sne. J. Machine Learning Res., 9. Rifai, S., Dauphin, Y., Vincent, P., Bengio, Y., and Muller, X. (2011b). The manifold tangent classifier. In NIPS’2011. Erhan, D., Bengio, Y., Courville, A., Manzagol, P.-A., Vincent, P., and Bengio, S. (2010b). Why does unsupervised pre-training help deep learning? J. Machine Learning Res., 11, 625–660. Dauphin, Y., Glorot, X., and Bengio, Y. (2011). Sampled reconstruction for large-scale learning of embeddings. In Proc. ICML’2011. Bengio, Y., Louradour, J., Collobert, R., and Weston, J. (2009). Curriculum learning. In ICML’09. Glorot, X., Bordes, A., and Bengio, Y. (2011a). Deep sparse rectifier neural networks. In AISTATS’2011. 53 / 54
  • 54. 勾配 . . . . . . . . . . . . . . . Hyper-Parameters . . . . . . . . . デバッグと可視化 . . . . . . . . . その他 まとめ References 参考文献 III Raiko, T., Valpola, H., and LeCun, Y. (2012). Deep learning made easier by linear transformations in perceptrons. In AISTATS’2012. Duchi, J., Hazan, E., and Singer, Y. (2011). Adaptive subgradient methods for online learning and stochastic optimization. Journal of Machine Learning Research. 54 / 54