Mathematical Foundation of Statistical Learningwatanabe- › users › swatanab ›...

26
情報学習理論 渡辺澄夫 東京工業大学

Transcript of Mathematical Foundation of Statistical Learningwatanabe- › users › swatanab ›...

Page 1: Mathematical Foundation of Statistical Learningwatanabe- › users › swatanab › joho05.pdf一次元あたり (10 23) 1/(106) =1.00005 個しかデータがない。ものすごくたくさんのデータがあるように見える場合でも

情報学習理論

渡辺澄夫

東京工業大学

Page 2: Mathematical Foundation of Statistical Learningwatanabe- › users › swatanab › joho05.pdf一次元あたり (10 23) 1/(106) =1.00005 個しかデータがない。ものすごくたくさんのデータがあるように見える場合でも

教師あり学習の枠組み

学習データ

X1, X2, …, Xn

Y1, Y2, …, Yn

テストデータ

X

Y

情報源 学習モデル

y=f(x,w) q(x,y)

Page 3: Mathematical Foundation of Statistical Learningwatanabe- › users › swatanab › joho05.pdf一次元あたり (10 23) 1/(106) =1.00005 個しかデータがない。ものすごくたくさんのデータがあるように見える場合でも

復習:学習と汎化

E(w) = (1/n) Σ (Yi-f(Xi,w))2n

i=1

学習誤差関数

F(w) = ∫∫ (y-f(x,w))2 q(x,y) dxdy

汎化誤差関数

学習の真の目的は汎化誤差を小さくすることである

Page 4: Mathematical Foundation of Statistical Learningwatanabe- › users › swatanab › joho05.pdf一次元あたり (10 23) 1/(106) =1.00005 個しかデータがない。ものすごくたくさんのデータがあるように見える場合でも

復習:神経素子

x1 x2 x3 xN

w1 w2 w3 wN

∑ wi xiN

i=1

σ( ∑ wi xi + θ)N

i=1

ニューロン

シナプス結合荷重

バイアスθ

Page 5: Mathematical Foundation of Statistical Learningwatanabe- › users › swatanab › joho05.pdf一次元あたり (10 23) 1/(106) =1.00005 個しかデータがない。ものすごくたくさんのデータがあるように見える場合でも

復習:三層パーセプトロン

x1 x2 xM

f1 f2 fN

Page 6: Mathematical Foundation of Statistical Learningwatanabe- › users › swatanab › joho05.pdf一次元あたり (10 23) 1/(106) =1.00005 個しかデータがない。ものすごくたくさんのデータがあるように見える場合でも

2015/11/5 Mathematical Learning Theory 6

故郷から旅立つ

Page 7: Mathematical Foundation of Statistical Learningwatanabe- › users › swatanab › joho05.pdf一次元あたり (10 23) 1/(106) =1.00005 個しかデータがない。ものすごくたくさんのデータがあるように見える場合でも

関数近似能力(1)

どんな連続関数も、中間ユニットを十分たくさんとってパラメータを適切に定めれば3層パーセプトロンによって近似できる。

入江文平,舟橋賢一, サイベンコ (1987)

※多項式でも、三角関数でも、できる。

※関数空間のトポロジーは、同値でないものがたくさんあって、「近似できる」という意味にもいろいろなものがある。

※「Weierstrassの多項式近似定理」

Page 8: Mathematical Foundation of Statistical Learningwatanabe- › users › swatanab › joho05.pdf一次元あたり (10 23) 1/(106) =1.00005 個しかデータがない。ものすごくたくさんのデータがあるように見える場合でも

関数近似能力(2)

バロン(1993)3層ニューラルネットは、多項式や三角関数よりも遥かに優れた近似効率を持つ。

※ 神経回路網は、多項式や三角関数とは違うのか?という問いかけがなされてきた。関数近似の意味ではその違いが示されている。

※ 実は、多項式や三角関数でも、目標関数に合わせて基底関数を選ぶことができれば同じオーダーの精度になる。基底関数を最適化できるかどうかが本質的な違いである。

Page 9: Mathematical Foundation of Statistical Learningwatanabe- › users › swatanab › joho05.pdf一次元あたり (10 23) 1/(106) =1.00005 個しかデータがない。ものすごくたくさんのデータがあるように見える場合でも

関数近似能力(3)

x1 x2 x3

F(x) = Σ aj f( bj, x )H

j=1

単純パーセプトロン、SVM 、カーネルマシンでは {aj}だけがパラメータ

3層パーセプトロン、深層学習では{ aj, bj } の両方がパラメータ

y

aj

bj

{bj} は関数空間(関数の空間)を最適化し、{aj}は空間内での最適化を行っている。

◎ カーネルマシンの提案は、小川英光(1993)、SVM(1995)など

Page 10: Mathematical Foundation of Statistical Learningwatanabe- › users › swatanab › joho05.pdf一次元あたり (10 23) 1/(106) =1.00005 個しかデータがない。ものすごくたくさんのデータがあるように見える場合でも

関数近似能力(4)

min || g(x) - Σ aj f( bj, x ) || 2H

j=1≧ C1(g) / H 2/M

従来のモデル: (M=dim x)どのように{bj}を選んでも、ある関数 g とある H が存在して

{aj}

階層モデル:

min || g(x) - Σ aj f( bj, x ) || 2H

j=1≦ C2(g) / H

{aj,bj}

任意の関数 g と任意の H に対して

Page 11: Mathematical Foundation of Statistical Learningwatanabe- › users › swatanab › joho05.pdf一次元あたり (10 23) 1/(106) =1.00005 個しかデータがない。ものすごくたくさんのデータがあるように見える場合でも

例:1023 個のデータがあっても 1000×1000画素の画像空間では一次元あたり (1023)1/(106) =1.00005 個しかデータがない。

ものすごくたくさんのデータがあるように見える場合でも超高次元空間上ではスパースでしかない。

「次元の呪い」 は解かれたCurse of dimensionality

画像・音声・自然言語は超高次元空間上にある。

人工知能を作るということは、超高次元空間上の関数または確率密度関数を作るということである。

次元の呪い 「人工知能が関数または確率密度関数で表せた

としても、超高次元空間では学習によって作ることは不可能だろう」

と思われてきた。しかし階層型学習モデルによって、この課題は解決された・・・。

Page 12: Mathematical Foundation of Statistical Learningwatanabe- › users › swatanab › joho05.pdf一次元あたり (10 23) 1/(106) =1.00005 個しかデータがない。ものすごくたくさんのデータがあるように見える場合でも

注意: 学習モデルの能力とは

どれだけ、たくさんの関数を近似できるか?

一般的には 両立しない

関数近似能力

少ない個数の例から、未知のものに対してどれだけ正確な予測ができるか?

汎化能力

だが・・・ しかし・・・

任意の関数が近似できることは、どんな問題でも解決できることではない。

◎ 汎化能力についても解析が進みつつある。

◎ 関数近似能力については解明された。

Page 13: Mathematical Foundation of Statistical Learningwatanabe- › users › swatanab › joho05.pdf一次元あたり (10 23) 1/(106) =1.00005 個しかデータがない。ものすごくたくさんのデータがあるように見える場合でも

問1

E(g) = ∫ ∫ (y-g(x))2 q(y|x) q(x) dx dy

確率分布 q(x) と q(y|x) が与えられたとき次の二乗誤差 E(g) を最小にする関数 g(x) とE(g)の最小値を q(x) と q(y|x) を用いて表せ。

Page 14: Mathematical Foundation of Statistical Learningwatanabe- › users › swatanab › joho05.pdf一次元あたり (10 23) 1/(106) =1.00005 個しかデータがない。ものすごくたくさんのデータがあるように見える場合でも

2015/11/5 14

目的に合わせて相応しいモデルを利用する

Page 15: Mathematical Foundation of Statistical Learningwatanabe- › users › swatanab › joho05.pdf一次元あたり (10 23) 1/(106) =1.00005 個しかデータがない。ものすごくたくさんのデータがあるように見える場合でも

汎化能力とモデルの設計

複雑なモデルを用いて学習方法を工夫する

できるだけ単純なモデルを用いる

汎化能力の向上のための二つの考えかた

テストデータについての誤差(汎化誤差)を小さくできる能力を汎化能力という。

Page 16: Mathematical Foundation of Statistical Learningwatanabe- › users › swatanab › joho05.pdf一次元あたり (10 23) 1/(106) =1.00005 個しかデータがない。ものすごくたくさんのデータがあるように見える場合でも

方法(1)「最小二乗法+モデル選択」

モデルが複雑であるほど 「汎化誤差ー学習誤差」 は大きくなる(オーバーフィット)。

最小二乗法は「汎化誤差ー学習誤差」が大きいので、小さなモデルを使わなくてはならない。このため神経回路網の長所が活かせない。

モデルの複雑さ

誤差

汎化誤差

学習誤差

最尤法は1920頃 Fisher 等に支持されたが最良の方法でないことがわかった。

Page 17: Mathematical Foundation of Statistical Learningwatanabe- › users › swatanab › joho05.pdf一次元あたり (10 23) 1/(106) =1.00005 個しかデータがない。ものすごくたくさんのデータがあるように見える場合でも

方法(2)「正則化」

H(w) = Σ (Yi-f(Xi,w))2 + R(w)n

i=1

学習誤差関数に正則化項を加えて最小化 (Tikhonov)

Ridge 項 R(w) = λ Σ |wj|2

Lasso 項 R(w) = λ Σ |wj|

例 λ>0 (ハイパーパラメータ)として

汎化能力が向上するかどうかは、真の分布、学習モデル、正則化項、ハイパーパラメータによって異なる。どのように λ を最適化すると良いのだろうか。

◎ Ridge : 大昔からあるので最初の研究は不明。たぶんTikhonov。◎ Lasso : 石川眞澄(1990)、 Tibshirani (1996) など。

Page 18: Mathematical Foundation of Statistical Learningwatanabe- › users › swatanab › joho05.pdf一次元あたり (10 23) 1/(106) =1.00005 個しかデータがない。ものすごくたくさんのデータがあるように見える場合でも

方法(3)「ベイズ予測」

H(w) = Σ (Yi-f(Xi,w))2 + R(w)n

i=1

パラメータを確率分布にして平均関数で予測する

ベイズ法あるいはアンサンブル学習によって予測精度は向上するが事後分布に従うパラメータ生成の演算量が大きかった。しかし近年、ベイズ法もコンピュータで実現できるようになり、高精度な予測が必要な問題を中心に使われるようになっている。

p(w) ∝ exp(- H(w) ) : 事後分布

f*(x) = ∫ f(x,w) p(w)dw : ベイズ予測

ベイズ法は1760頃からあるが広く使われるようになったのは1985頃から。

Page 19: Mathematical Foundation of Statistical Learningwatanabe- › users › swatanab › joho05.pdf一次元あたり (10 23) 1/(106) =1.00005 個しかデータがない。ものすごくたくさんのデータがあるように見える場合でも

汎化能力の探求

◎ 神経回路網の最小二乗推定における汎化誤差は、従来の統計学の方法では解析できない (萩原克幸・戸田尚宏・臼井支朗, 1992)。

最小二乗法はオーバーフィットが大きい。

最小二乗法を用いて汎化誤差を小さくするには小さなモデルを適用する必要がある。またAIC, BIC では神経回路網を評価できない。

◎ 神経回路網にベイズ法を適用したときの汎化誤差は、新しい数学的方法によって解析できる(2001)。

ベイズ法ではオーバーフィットが小さい。

ベイズ法では大きめのモデルを用いてもオーバーフィットが小さく関数近似能力を活用することができ、汎化誤差を小さくできる。神経回路網にも適用できる評価法がある(WAIC,WBIC)。

Page 20: Mathematical Foundation of Statistical Learningwatanabe- › users › swatanab › joho05.pdf一次元あたり (10 23) 1/(106) =1.00005 個しかデータがない。ものすごくたくさんのデータがあるように見える場合でも

神経回路網は召喚魔法?

ニューラルネットワークをさらに多層にしたものが深層学習。

深層学習は、画像・音声・自然言語のように対象が複雑になればなるほど、問題が大規模で難しくなればなるほど実力を発揮するが、適切に使うにはノウハウが必要になる。このため「深層学習は召喚魔法(?)」という意見もある。

◎ ネットワーク構造の決め方

◎ パラメータ初期値の設計法

◎ 正則化項の作り方

◎ 最急降下法のとめ方

◎ アンサンブルの作り方 など

召喚士 募集中

深層学習を自由自在に操り真に強い敵と

戦える才能を持つ人を探しています。

「誰でも使えるようになってほしい」という要望が多数。

Page 21: Mathematical Foundation of Statistical Learningwatanabe- › users › swatanab › joho05.pdf一次元あたり (10 23) 1/(106) =1.00005 個しかデータがない。ものすごくたくさんのデータがあるように見える場合でも

複雑なモデルが必要でないこともある

簡単な問題なら「神経回路網+ベイズ」を使わなくても「線形回帰+最尤」で解決することも多いので、そのような場合にまで無理して神経回路網を使う必要はありません。

高度な学習モデルを使いこなすことができる一方で目的に合わせて簡単な方法も選べるのが真の上級者。

軍師 募集中

諸葛孔明の空城の計を

見破ることができるデータサイエンティスト求む。

最強の方法は、それに相応しい真に困難な問題に適用しましょう。

※ 難しい問題とは: 変数間の関係を簡単な方程式で書けないもの。

Page 22: Mathematical Foundation of Statistical Learningwatanabe- › users › swatanab › joho05.pdf一次元あたり (10 23) 1/(106) =1.00005 個しかデータがない。ものすごくたくさんのデータがあるように見える場合でも

学習システムの応用(1)

神経回路網に限らず、いろいろな学習システムがある。サポートベクトルマシン、隠れマルコフモデル、混合正規分布、ボルツマンマシン、ベイズネットワーク、・・・、深層学習。

様々なことに応用されている。音声画像の処理・認識、ロボット制御、医療情報処理、ひとのモデリング、自動運転、経済予測、消費者解析、・・・。

応用をする場合、実務の知識と経験が必要です。どのモデル・方法が適切かは現実をよく考えて決めます。

データ解析のための基本ツールも知っておきましょう。

Page 23: Mathematical Foundation of Statistical Learningwatanabe- › users › swatanab › joho05.pdf一次元あたり (10 23) 1/(106) =1.00005 個しかデータがない。ものすごくたくさんのデータがあるように見える場合でも

学習システムの応用(2)学習理論・統計学・人工知能は、応用の世界から見たら専門的知識や洞察力がいらない「道具」であることが望ましい。

しかし、実際は、学習することや推測することについての広い知識と深い理解が応用の場面でこそ必要になる。

( → 成功・不成功は担当者の能力に強く依存する)

このため、学習理論・統計学・人工知能の応用を実務で行うには「ひと」が必要です。仕事名は、研究開発、データ分析、経営企画、ソフトウエア工学、いろいろです。

最近ではデータの次元や量が非常に大きくなり、広い領域で「データを解析するひと」が必要とされるようになってきました。

Page 24: Mathematical Foundation of Statistical Learningwatanabe- › users › swatanab › joho05.pdf一次元あたり (10 23) 1/(106) =1.00005 個しかデータがない。ものすごくたくさんのデータがあるように見える場合でも

次週予告:「大都会SVMへ」

Page 25: Mathematical Foundation of Statistical Learningwatanabe- › users › swatanab › joho05.pdf一次元あたり (10 23) 1/(106) =1.00005 個しかデータがない。ものすごくたくさんのデータがあるように見える場合でも

問題2文字識別の問題 5×5学習データ400個テストデータ400個

0 6

出力2

中間6

画像5×5

入力25

ニューラルネット入力25 中間6 出力2

Ridge と Lasso で学習誤り数、汎化誤り数、結合荷重の様子を観察してみましょう。

Page 26: Mathematical Foundation of Statistical Learningwatanabe- › users › swatanab › joho05.pdf一次元あたり (10 23) 1/(106) =1.00005 個しかデータがない。ものすごくたくさんのデータがあるように見える場合でも

問題2

二乗誤差

学習時の誤り個数

RIDGE

LASSO

テストの誤り個数

結合荷重の様子