+
2015年度

第1回駒場物性セミナー

d.a.t. 株式会社主催セミナー

今日から分かる
スパースモデリングと深層学習
京都大学大学院情報学研究科システム科学専攻
大関 真之

自己紹介}

大関真之}

京都大学大学院情報学研究科システム科学専攻助教}
}

理論物理学：統計力学、量子アニーリング
機械学習：深層学習、ボルツマン機械学習2016.02.18 今日から分かるスパースモデリングと深層学習今日から分かるスパースモデリングと深層学習

テキニカルな内容を知りたければ
検索：大関 真之 > TopないしはPublish（Article）
講義ノート
直接メール
mohzeki@i.kyoto-u.ac.jp

機械学習とはデータに対する関数の自律的フィッティング

書籍等にある表現の意味}

出力（y)を説明するために入力(x)とどういう関係にあるかを図示

定数的要素
切片の学習
出力

入力

直線的要素

傾きの学習
だと思っている}

いくつもあるデータ（x）を入力して出力（y）と近くなるように学習

2016.02.18 今日から分かるスパースモデリングと深層学習複雑になったら？？

直線？曲線？何次関数？？

多項式回帰}

出力（y)を説明するために入力(x)とどういう関係にあるかを図示

重みの学習

入力

定数的要素
直線的要素

出力

放物線的要素だと思っている

高次関数的要素2016.02.18 今日から分かるスパースモデリングと深層学習

応用すると…？？

重回帰}

出力（y)を説明するために入力(x)ととにかくどんな関係にあるか？

社長のカリスマ性
会社の信頼度

社長の学歴
社員数

売り上げ高

2016.02.18 今日から分かるスパースモデリングと深層学習

出力を参考にすれば識別ができる

有りか無しか1O

回帰から識別問題への拡張＝ニューラルネットワーク}

出力（y)を説明するために入力(x)ととにかくどんな関係にあるか？

社長のカリスマ性信頼できるか？

識別器

社長の学歴
社員数

売り上げ高

2016.02.18 今日から分かるスパースモデリングと深層学習

有りそうか？
1

O

確率的ニューラルネットワーク＝ボルツマン機械学習}

出力（y)がどれだけ生じやすそうか？（不確実性を加味）社長のカリスマ性
信頼できそうか？

確率

社長の学歴
社員数

売り上げ高

2016.02.18 今日から分かるスパースモデリングと深層学習こんなことできます：ボルツマン機械学習
Collaboration with Utako Yamamoto (Kyoto University)	
}

専門的知識の学習

MRI信号値
組織名
確率

2016.02.18 今日から分かるスパースモデリングと深層学習

周りの信号値こんなことできます：ボルツマン機械学習
Collaboration with Utako Yamamoto (Kyoto University)	
}

専門的知識の学習

MRI信号値
組織名
確率

2016.02.18 今日から分かるスパースモデリングと深層学習

周りの信号値
医者の診断こんなことできます：ボルツマン機械学習
Collaboration with Utako Yamamoto (Kyoto University)	

専門的知識の学習

150200}

100

組織名

180

160

140

120

100

80

60

402050確率2016.02.18 今日から分かるスパースモデリングと深層学習

MRI信号値
周りの信号値
医者の診断多くのデータからその素性を明らかにする営み
機械学習

猫か犬かを識別する

猫か犬かを識別するできそうでしょ？

どこに注目すればええねん！！

中間層の導入＝多層ニューラルネットワーク}

入力（y)を抽象化する中間層の導入

画素値1
画素値2
画素値3
識別画素値N2016.02.18 今日から分かるスパースモデリングと深層学習

多層ニューラルネットワークの失敗の歴史}

入力（y)を抽象化する中間層の導入}

中間層の導入による学習にかかる最適化問題の困難}

（本質的な理由）勾配消失問題
中間層の役割？
提案当初の計算機の能力}

提案当初の貧弱なデータ数}}

2016.02.18 今日から分かるスパースモデリングと深層学習

多層ニューラルネットワークの失敗の歴史}

入力（y)を抽象化する中間層の導入}

中間層の導入による学習にかかる最適化問題の困難}

（本質的な理由）勾配消失問題
中間層の役割？
提案当初の計算機の能力}

提案当初の貧弱なデータ数

}
}

}

現代においては中間層が豊富でも最適化が可能}

現代の計算機資源の豊富さ
現代のデータ数の規模・高次元化}

現代の学習方法の革命・自己符号化の提案＝中間層の解釈が可能に}

2016.02.18 今日から分かるスパースモデリングと深層学習

中間層の学習＝何かしらの変換}

入力（x)を復元する変換となるようにする＝自己符号化

画素値1
画素値2画素値3画素値N

2016.02.18 今日から分かるスパースモデリングと深層学習

中間層の学習＝何かしらの変換}

入力（x)を復元する変換となるようにする＝自己符号化

画素値1

画素値1

画素値2

画素値2画素値3画素値3画素値N

画素値N

2016.02.18 今日から分かるスパースモデリングと深層学習

中間層の学習＝何かしらの変換}

入力（x)を復元する変換となるようにする＝自己符号化

画素値1

画素値1

画素値2画素値2画素値3画素値3画素値N画素値N

2016.02.18 今日から分かるスパースモデリングと深層学習

中間層の学習＝何かしらの変換}

入力（x)を復元する変換となるようにする＝自己符号化

抽象表現1

画素値1

抽象表現2

画素値2

抽象表現3

画素値3

抽象表現N

画素値N

2016.02.18 今日から分かるスパースモデリングと深層学習

中間層の学習＝何かしらの変換}

入力（x)を復元する変換となるようにする＝自己符号化

抽象表現1
抽象表現2
抽象表現3

抽象表現N
2016.02.18 今日から分かるスパースモデリングと深層学習

中間層の学習＝何かしらの変換}

入力（x)を復元する変換となるようにする＝自己符号化

抽象表現1

抽象表現1

抽象表現2

抽象表現2

抽象表現3

抽象表現3

抽象表現N

抽象表現N

2016.02.18 今日から分かるスパースモデリングと深層学習

中間層の学習＝何かしらの変換}

入力（x)を復元する変換となるようにする＝自己符号化

抽象表現1

抽象表現1

抽象表現2

抽象表現2

抽象表現3

抽象表現3

抽象表現N

抽象表現N

2016.02.18 今日から分かるスパースモデリングと深層学習

中間層の学習＝何かしらの変換}

入力（x)を復元する変換となるようにする＝自己符号化

更に抽象表現1

抽象表現1

更に抽象表現2

抽象表現2

更に抽象表現3

抽象表現3

更に抽象表現N

抽象表現N

2016.02.18 今日から分かるスパースモデリングと深層学習

中間層＝何かしらの変換}

出力（y)を再現するように結合を再度チューニングする

画素値1
画素値2
画素値3
識別

画素値N

2016.02.18 今日から分かるスパースモデリングと深層学習

深層学習とは…
本質部分の抽出を自動化した学習

深層学習とは…
本質部分の抽出を自動化した学習でもどこが本質か？

深層学習とは…
本質部分の抽出を自動化した学習でもどこが本質か？
モデリングの放棄

スパースモデリング
どこが本質かを自動的に判別する技術スパースモデリング
どこが零かを自動的に判別する技術

分かりやすい例として多くの答案から生徒のカンニングを検出する“Detection of cheating by decimation algorithm”
J. of Phys. Soc. of Jpn., 84 (2015) 024801.

有りそうか？
＝正解しそうか1

O

有りそうか？
＝正解しそうか1

O

有りそうか？
＝正解しそうか
1

O
どんな出力がふさわしいか？

ボルツマン機械学習によるカンニング検出技術}

正解・不正解はどんな要素が関わるのか？？
}

通常の教育環境

本人の能力
正解しそうか？

問題の難易度

確率2016.02.18 今日から分かるスパースモデリングと深層学習ボルツマン機械学習によるカンニング検出技術}

正解・不正解はどんな要素が関わるのか？？
}

カンニングが疑われる教育環境

本人の能力
正解しそうか？

問題の難易度第三者の存在確率

第三者の存在2016.02.18 今日から分かるスパースモデリングと深層学習

あらゆる関係性を考えればよいか？

ボルツマン機械学習によるカンニング検出技術}

正解・不正解はどんな要素が関わるのか？？
}

カンニングが疑われる教育環境

本人の能力
問題の難易度

A君の正解・不正解
B君の正解・不正解
C君の正解・不正解
D君の正解・不正解

2016.02.18 今日から分かるスパースモデリングと深層学習ボルツマン機械学習によるカンニング検出技術}

正解・不正解はどんな要素が関わるのか？？
}

カンニングが疑われる教育環境

本人の能力
問題の難易度

A君の正解・不正解
B君の正解・不正解
C君の正解・不正解
全員カンニング？！

D君の正解・不正解

2016.02.18 今日から分かるスパースモデリングと深層学習

カンニングはスパース（稀、疎）ボルツマン機械学習によるカンニング検出技術}

正解・不正解はどんな要素が関わるのか？？
}

カンニングが疑われる教育環境

本人の能力
問題の難易度

A君の正解・不正解
B君の正解・不正解
C君の正解・不正解
理想的なカンニング

D君の正解・不正解

2016.02.18 今日から分かるスパースモデリングと深層学習

デシメーションアルゴリズム}

基本的にはカンニング係数を零とする}繰り返し重みの学習をする

本人の能力
問題の難易度

A君の正解・不正解
B君の正解・不正解
従来法の利用

C君の正解・不正解D君の正解・不正解

2016.02.18 今日から分かるスパースモデリングと深層学習

デシメーションアルゴリズム}

基本的にはカンニング係数を零とする}繰り返し重みの学習をする

本人の能力
問題の難易度

A君の正解・不正解
B君の正解・不正解
デシメーション

C君の正解・不正解
D君の正解・不正解

2016.02.18 今日から分かるスパースモデリングと深層学習

デシメーションアルゴリズム}

基本的にはカンニング係数を零とする}繰り返し重みの学習をする

本人の能力
問題の難易度

A君の正解・不正解
B君の正解・不正解
従来法の利用

C君の正解・不正解
D君の正解・不正解

2016.02.18 今日から分かるスパースモデリングと深層学習

デシメーションアルゴリズム}

基本的にはカンニング係数を零とする}繰り返し重みの学習をする

本人の能力
問題の難易度

A君の正解・不正解
B君の正解・不正解
デシメーション

C君の正解・不正解
D君の正解・不正解

2016.02.18 今日から分かるスパースモデリングと深層学習

デシメーションアルゴリズム}

基本的にはカンニング係数を零とする}

繰り返し重みの学習をする

本人の能力
問題の難易度

A君の正解・不正解
B君の正解・不正解
従来法の利用

C君の正解・不正解
D君の正解・不正解

2016.02.18 今日から分かるスパースモデリングと深層学習

デシメーションアルゴリズム}

基本的にはカンニング係数を零とする}

繰り返し重みの学習をする

本人の能力
問題の難易度

A君の正解・不正解
B君の正解・不正解
デシメーション

C君の正解・不正解
D君の正解・不正解

2016.02.18 今日から分かるスパースモデリングと深層学習

スパースモデリング（適切にモデル化したのち）どこが本質かを自動的に判別する技術

ビジネスへの応用の方向性}

スパースモデリングと深層学習というふたつの現代の魔法}深層学習}
}
}
}

}

何が何でも自動的に、回帰、（その結果を用いた）予測、識別を行う
その結果に基づき、トップやユーザーの判断を支援
Web上、クラウド上等でのユーザー向けサービスへの利用
ライブラリが整い、誰でもできる

スパースモデリング
}
}
}
}

何が重要なのか、データの分析をする処方箋
重要ではない要素は何か、重要な要素は何か＝人間の直感との比較が可能
分析結果の共有による独自の知識の蓄積が可能
社内独自の知見の検証が可能

2016.02.18 今日から分かるスパースモデリングと深層学習

スパースモデリングのもうひとつの側面
計測革命中学生の頃の思い出中学生の頃の思い出
連立方程式

を満たす解を求めよ

1

O

1

（一意には）できませんO1（一意には）できません
式が足りないから（情報不足）

O劣決定系の方程式も解がスパースなら解ける

劣決定系の方程式も解がスパースなら解ける
スパース＝０ばっかりだよ1O劣決定系の方程式も解がスパースなら解ける
情報を減らしても大丈夫

MRI画像の例	

少ないデータ	圧縮センシング利用	ブラックホール撮像の例
M. Honma et al. Publ. Astron. Soc. Jon. (2014)	

ブラックホール撮像の例
M. Honma et al. Publ. Astron. Soc. Jon. (2014)	

ブラックホール撮像の例
M. Honma et al. Publ. Astron. Soc. Jon. (2014)	

不足した観測情報＋推定方法
圧縮センシングスパース解推定}

L0ノルム最小化によるスパース解推定}

以下の最小化問題でスパース解を探索しよう！

2016.02.18 今日から分かるスパースモデリングと深層学習

スパース解推定}

L0ノルム最小化によるスパース解推定}

以下の最小化問題でスパース解を探索しよう！

1O

2016.02.18 今日から分かるスパースモデリングと深層学習

スパース解推定}

L0ノルム最小化によるスパース解推定}

以下の最小化問題でスパース解を探索しよう！

1O

2016.02.18 今日から分かるスパースモデリングと深層学習

スパース解推定}

L0ノルム最小化によるスパース解推定}

以下の最小化問題でスパース解を探索しよう！

1

非零成分の個数が小さい（スパース）もので方程式を満たすものを探す} 残念ながら計算量的に困難（組み合わせ最適化問題）}O

2016.02.18 今日から分かるスパースモデリングと深層学習

スパース解推定}

L1ノルム最小化によるスパース解推定}

代わりに次の最小化問題で探索しよう！

1O

2016.02.18 今日から分かるスパースモデリングと深層学習

スパース解推定}

L1ノルム最小化によるスパース解推定}

代わりに次の最小化問題で探索しよう！

1O

2016.02.18 今日から分かるスパースモデリングと深層学習

スパース解推定}

L1ノルム最小化によるスパース解推定}

代わりに次の最小化問題で探索しよう！

1O

2016.02.18 今日から分かるスパースモデリングと深層学習

スパース解推定}

L1ノルム最小化によるスパース解推定}

代わりに次の最小化問題で探索しよう！

1}
}

零が多ければ小さくなる＋大きさも小さくなりがち
計算量は非常に軽い（Nの3乗程度）

O

2016.02.18 今日から分かるスパースモデリングと深層学習

スパース解推定}

L2ノルムでは？？
}

代わりに次の最小化問題で探索しよう！

1

零が多ければ小さい＋大きさがかなり小さくなりがち+小さいかすが残る} 計算量は非常に軽い（Nの2〜3乗程度）}O

2016.02.18 今日から分かるスパースモデリングと深層学習

実践例}

M=100,N=1000,K=20,ガウスランダム観測行列の場合
15

2
1.5

amplitude of signals

amplitude of signals

10
10.5
0−0.5
−1−1.550−5−10−2−2.50100

200

300

400

500

600

index of x0700

800

900

1000

−150102016.02.18 今日から分かるスパースモデリングと深層学習

20304050

index of y60

70

80

90100

0実践例}

L2ノルムを利用した場合
2amplitude of signals

1.5
10.5
0−0.5−1−1.5−2600

700

by L1 norm

800

900

1000

−2.50100200

300

400500600

700

index of x by L2 norm

800

2016.02.18 今日から分かるスパースモデリングと深層学習

900

1000

実践例
L1ノルムを利用した場合
22

1.5

1.5

1

1

amplitude of signals

amplitude of signals

}

0.5
0

0.5
0−0.5

−0.5
−1−1−1.5−1.5−2−2−2.50100

200

300

400

500

600

700

index of x by L1 norm

800

2016.02.18 今日から分かるスパースモデリングと深層学習

900

1000

−2.50100200300

400

50

index of xそもそも解はスパースなの？
}

観測したいものは本当にスパースだろうか？

2016.02.18 今日から分かるスパースモデリングと深層学習

そもそも解はスパースなの？
}

観測したいものは本当にスパースだろうか？
}

実空間でのスパース性}

隣接間差分のスパース性

original image

自然画像の例	
2016.02.18 今日から分かるスパースモデリングと深層学習

そもそも解はスパースなの？
}

観測したいものは本当にスパースだろうか？
}

実空間でのスパース性}

隣接間差分のスパース性}

ウェーブレット変換によるスパース性

自然画像の例	
2016.02.18 今日から分かるスパースモデリングと深層学習

そもそも解はスパースなの？
}

観測したいものは本当にスパースだろうか？
}

実空間でのスパース性}

隣接間差分のスパース性}

ウェーブレット変換によるスパース性

original image

reconstructed image

自然画像の例	
2016.02.18 今日から分かるスパースモデリングと深層学習

そもそも解はスパースなの？
}

実践例（L1ノルム利用）

reconstructed image(λ=1)

original image

reconstructed image(λ=1)

reconstructed image(λ=10)

reconstructed image(λ=100)

reconstructed image(λ=10)

1
0.8
0.6
0.4
0.2
0

2016.02.18 今日から分かるスパースモデリングと深層学習

そもそも解はスパースなの？
}

実践例（TVのL1ノルム利用）

reconstructed image(λ=1)

original image

reconstructed image(λ=1)

reconstructed image(λ=10)

reconstructed image(λ=100)

reconstructed image(λ=10)

1
0.8
0.6
0.4
0.2
0

2016.02.18 今日から分かるスパースモデリングと深層学習

圧縮センシング実践編

お手軽に圧縮センシング？！
}

各種ライブラリが勢揃い}

Matlab、Python用の最適化ライブラリ}

CVX for Matlab, CVXPY for python, Convex.jl for Julia}

http://stanford.edu/~boyd/papers/cvx̲short̲course.html

2016.02.18 今日から分かるスパースモデリングと深層学習

何をすれば良いのか？？
}

最適化問題を解けば良い！
}

解きたい最適化問題}

ラグランジュ未定乗数法により等価な最適化問題=3minx}

1y2

Ax

22+x 1LASSO（Least Absolute Shrinkage and Selection Operators）と呼ぶ

2016.02.18 今日から分かるスパースモデリングと深層学習

何をすれば良いのか？？
}

実は簡単に解ける}

最適化問題の基本は、山下りO
2016.02.18 今日から分かるスパースモデリングと深層学習

何をすれば良いのか？？
}

実は簡単に解ける}

最適化問題の基本は、山下りO
2016.02.18 今日から分かるスパースモデリングと深層学習

何をすれば良いのか？？
}

実は簡単に解ける}

最適化問題の基本は、山下りO
2016.02.18 今日から分かるスパースモデリングと深層学習

何をすれば良いのか？？
}

実は簡単に解ける}

最適化問題の基本は、山下りO
2016.02.18 今日から分かるスパースモデリングと深層学習

何をすれば良いのか？？
}

実は簡単に解ける}

最適化問題の基本は、山下りO
2016.02.18 今日から分かるスパースモデリングと深層学習

何をすれば良いのか？？
}

実は簡単に解ける}

最適化問題の基本は、山下りO
2016.02.18 今日から分かるスパースモデリングと深層学習

何をすれば良いのか？？
}

実は簡単に解ける}

最適化問題の基本は、山下り

零付近で怪しい…

O
2016.02.18 今日から分かるスパースモデリングと深層学習

暫定解をビビらせる}

軟判定しきい値関数の導入

2016.02.18 今日から分かるスパースモデリングと深層学習

暫定解をビビらせる}

従来の最適化手法＋軟判定しきい値関数＝スパース解
1.初期条件を適当に決める} 2.勾配法（山下り）でL1ノルム以外の最適化問題の解へとりあえず向かう（従来法）}}

3.軟判定しきい値関数で暫定解をビビらせて、スパース化}

4.以降、収束するまで繰り返す

2016.02.18 今日から分かるスパースモデリングと深層学習

更なる戦略
低ランク性

データは行列（EXCEL）的に表現される

列	

行	

2445…	

2
1

1401A	

2243

単純な行列もある

123

123…	

123

123

123

123

123

123246…	

123246123246

143

なぜ単純に見えるか？

なぜ単純に見えるか？
低ランク性123123…	

123123123123111=12312345…

× 1

111123246…	

123246246123２1２=12312345…

× 1２11

行列はいくつかのベクトルの積とその組み合わせから決まる

列	

行	

2445…	

21

1401

A	

2243

×	×	×	×	A	

被験者ラベル	問題ラベル	

2445…	

21

1401

A	

2243

×	

被験者ラベル	×	

問題ラベル	

×	×	A	

行列型の回答データから被験者の回答パターンが抽出可能ではないか？
問題ラベル	

被験者ラベル	×	完全な行列型の回答データから被験者の回答パターンは抽出可能特異値分解

不完全な行列型の回答データから被験者の回答パターンは抽出可能か？

不完全な行列型のデータから特徴的なパターンは抽出可能か？
特異値分解＋スパース性

まとめ}

スパースモデリングと深層学習というふたつの現代の魔法}深層学習}
}}

スパースモデリング}
}}

何が何でも自動的に、回帰、（その結果を用いた）予測、識別を行う
ライブラリが整い、誰でもできる何が重要なのか、データの分析をする処方箋
重要ではない要素は何か、重要な要素は何か＝人間の直感との比較が可能

スパース性がもたらす計測革命・圧縮センシングetc}
}}

足りない情報からの復元が可能
従来の最適化手法＋軟判定式値関数で実装可能
低ランク性を用いた欠損データ推定も可能

2016.02.18 今日から分かるスパースモデリングと深層学習