講義13 - 東京工業大学

Download Report

Transcript 講義13 - 東京工業大学

情報学習理論
渡辺澄夫
東京工業大学
これまでに学んできたこと
教師あり学習
神経回路網
サポートベクタマシン
教師なし学習
K-means法, 混合正規分布
自己組織化写像
どちらもできる
2015/9/28
ボルツマンマシン
Mathematical Learning Theory
2
人工知能の歴史
命題論理(1950-1970年代)
人工知能は「命題論理の組み合わせ」である。
エキスパートシステムなどが作られた。
コネクショ二ズムの台頭と停滞(1980-1990年代)
人工知能は「神経回路網の組み合わせ」である。しかし
この時代のコンピュータとデータでは実現困難だったため
部分的な使用に限定せざるを得なかった。
コネクショ二ズムの再興(2010年代)
膨大なデータが使えるようになった。大規模な神経回路網を
作れるようになった。本当にやってみた。
2015/9/28
Mathematical Learning Theory
3
神経回路網
複雑さの極限に「知能」がある?
昔からある質問
(1) 「知能」って何ですか。何ができたら「知能」ですか。定義のないものを考えても・・・。
(2) 人間は慣習の集合体であって「知能を持つ」ような気持ちになっていただけかな。
(3) 人間と見分けがつかなければ「知能」であることを否定できませんよね?
(4) 脳と物理的に同じなら「知能」に違いない!
(5) 芸術が人間の特権だったのは昔話。映画や歌や絵が大衆に売れるか人工知能で採点します。
(6) 人工知能はもうすぐ将棋の名人よりも強くなるそうだ。お寿司をにぎることもできます。
(7) 育てると人工知能ロボットは犬や猫と同じくらいかわいいことがある。
(8) 新しい数学を作れるのは人間だけなんだ。
深層学習
前回までに学んできた学習モデルを要素として組み合わせて
大規模な神経回路網を本当に作り・・・膨大な量の学習をさせると・・・
これまでの学習モデルの性能を大幅に超える推論能力を持つ・・・
という実験結果が多数報告されている。(ただしやや過大宣伝を含むかも)。
ここからは
君たちの時代だ
複雑なネットワークを膨大なデータを使って学習させる方法は、
いま盛んに研究されている。
2015/9/28
Mathematical Learning Theory
5
数学を育てる
2015/9/28
Mathematical Learning Theory
深層学習の要素
深層学習の要素には様々な学習モデルが用いられる。これまでに
習ったモデルならすべて深層学習の要素に使うことができる。
神経回路網、ボルツマンマシン、SVM
競合学習、それらの組み合わせなど
(歴史1) 一番上の階層以外はランダムな結合にする方式が提案されていた。
(歴史2)視覚系をモデルとした階層構造のモデルが作られてきた。
ネオコグニトロン
要素のモデルの性質が深層学習全体に与える影響がどの程度なのかは
よく分かっていない。(要素となるモデルへの依存は少ないような感じがし
ますが・・・。)
今回は、説明とプログラムを簡単にするため、階層型神経回路網を使います。
階層型神経回路網
f1
f2
x1
x2
fN
深い階層のモデルを定義することは
間単にできる。
f1
x1
f2
x2
H
M
j=1
k=1
fN
xM
fi =σ( ∑uij σ( ∑ wjk(・・・) k + θj) + φi)
を繰りかえせばよい。
xM
誤差逆伝播法
モデルの定義:
H
fi =σ(∑uijoj+φi)
j=1
M
oj=σ(∑wjkok+θj) の繰り返し
k=1
N
二乗誤差:
2
1
E(w) = ― ∑(fi -yi )
2 i=1
どんなに深い階層でも誤差逆伝播法はまったく同じ式になるので
最急降下法は式としては簡単に導出できる。
∂E
∂wjk
∂ fi
∂wjk
N
∂ fi
= ∑ (fi -yi )
∂wjk
i=1
=
∂ fi ∂ oj
∂oj ∂wjk
誤差逆伝播法で
深層学習ができるか
教師情報
f1
f2
fN
誤差逆伝播法は
ここの誤差を小さくする。
ここのパラメータは、出力が
当たるようにパラメータを調整するが
初期では中間出力はほぼランダム。
ここのパラメータは入力・出力の
どちらからも遠いので、初期では
どちらもランダム。
ここのパラメータは、入力から
中間出力が実現されるように
パラメータを調整するが、初期では
中間出力はほぼランダム。
入力 x
1
x2
xM
入力と出力が遠いので、情報論的な
つながりを見つけるまでに時間がかかる。
深層学習のパラメータ空間
二乗誤差
最小二乗点は
無限遠
各極小解は
代数多様体
最小二乗点は
無限遠
パラメータ空間は超高次元空間
2015/9/28
Mathematical Learning Theory
深層学習のパラメータ空間
(1) パラメータ空間は超高次元
(2) 最小二乗点(最尤推定量)は無限遠(予測は最悪)
(3) 正定値計量は入らない。2次関数で局所近似できない。
(4) 極めて多数の局所解があり、各局所解は特異構造
(5) 熱力学極限(無限次元化)が存在する保証はない
このようなモデルの学習を数学的に考察するための理論は
まだ存在していない。
今は、ノウハウで設計するしかない。
2015/9/28
(注)当社広告: 講義担当者の「代数幾何と学習理論」は上記の学習モデルの汎化誤差や自由エネルギーを
導出できるいまのところ唯一の理論なんですが、日本ではほとんど知られておりませんので講義ではやりません。
米国に留学すると学部生の教科書で習うことができるそうです。がんばれ、日本・・・。
・・・気になる人は algebraic geometry and statistical learning theory で検索してみましょう。
この森を越えたら未来が見えてくる・・・
2015/9/28
Mathematical Learning Theory
深層学習の方法
深層学習がうまく進むためにはどうしたらよいか?
深層学習で役立つと思われて提案されている方法
(1) 順次的な階層学習
(2) 自己符号化の利用
(3) データの性質をモデルの構造に反映させる
(畳み込みネットワークなど)
今日は(1)(2)を学びます。(3)は次回に説明します。
2015/9/28
Mathematical Learning Theory
(1) 逐次的な階層の学習
教師情報
教師情報
f1
f2
x1
x2
fN
教師情報
f1
f1
f2
f2
fN
fN
コピー
コピー
x1
x2
xM
x1
x2
xM
浅い階層で学習を行い、そのパラメータをコピーして
次の階層の学習をする・・・を続けていく。
xM
パラメータ空間
二乗誤差
ランダムで選んだパラメータは、
適切でない場所にある確率が高いが、
順次学習では、比較的良好な初期点を
選ぶことができる・・・
・・・のかもしれない。
最小二乗点は
無限遠
2015/9/28
最小二乗点は
無限遠
Mathematical Learning Theory
(2) 自己符号化器の利用
X1 X2
入力を再現するように学習を行い
後に入力から出力を学習
教師情報
XM
f1
f2
fN
ここの個数を
Mよりも小さくする。
X1 X2
2015/9/28
XM
X1 X2
Mathematical Learning Theory
XM
砂時計型ニューラルネット(Bottleneck Neural Network)
X1 X2
XM
M 次元空間内の3次元多様体
入力よりも少ない個数の中間ユニットを
設定することで、入力が作る低次元
多様体の表現が中間ユニットに
作られる・・・と期待される。
(Auto-Encoder には別の型もあります)
X1 X2
2015/9/28
XM
Mathematical Learning Theory
注意(1)
神経回路網のように多数のパラメータを持つ系では正則化は
ほぼ必ず必要である。
n
E(w) = (1/n) Σ (Yi-f(Xi,w))2 + R(w)
i=1
例 λ>0 (ハイパーパラメータ)として
Ridge 項
R(w) = λ Σ |wj|2
Lasso 項
R(w)= λ Σ |wj|
ハイパーパラメータはベイズ統計学の観点から最適化することが可能です。
ただし深層学習では演算時間がとても大きく現状ではヒューリスティックに
決めていることが多いようです。
→ 研究課題
2015/9/28
Mathematical Learning Theory
注意(2)
汎化誤差
学習誤差
構造発見
構造発見
学習回数
良好な学習結果を得るには途中で学習を停止する必要がある。
しかし、どこで停止させるのが最適であるかはわかっていない。
→ 研究課題
問1
大きくて複雑なネットワークの学習は、最急降下法だけで
最適な学習をさせるのは難しい・・・と言われています。
(1) 順次的な階層学習が良好に働く理由は
(2) 自己符号化の利用が良好に働く理由は
2015/9/28
Mathematical Learning Theory
2015/9/28
Mathematical Learning Theory
実際に使ってみると・・・
(1) 深い階層を持つモデルは、うまく学習が進んだときには、浅い階層の
モデルよりも学習誤差も汎化誤差も小さくなるときがある。
(2) 深い階層を持つモデルをうまく学習させるには、順次的な階層学習や
自己符号化器が有効であることが多い。
(3) Ridge や Lasso などの正則化は常に必要。途中で学習を停止させる
ことも必要。
(4) 同じ構造・同じアルゴリズム・同じハイパーパラメータによる学習でも
初期値によって学習結果はばらつく。
(5) モデル、アルゴリズム、ハイパーパラメータの調節は極めて大切。
(6) 上記の設計には古い統計学の方法は適用できない。
2015/9/28
Mathematical Learning Theory
例
簡単な文字認識の例で、次の3つを比較してみよう。
(0) 誤差逆伝播法だけ
(1) 順次的な階層学習
(2) 自己符号化の利用
2015/9/28
Mathematical Learning Theory
例
0
文字識別の問題 5×5
学習データ2000個
テストデータ2000個
位置の移動+大小変換+雑音
6
出力2
中間4
中間6
0
中間8
入力25
6
画像
ニューラルネット
(0)実験例:誤差逆伝播法だけ
学習データ2000
テストデータ2000
間違えた個数
学習誤差
平均 213.5
標偏 414.7
テスト誤差
平均 265.5
標偏 388.0
2015/9/28
Mathematical Learning Theory
※初期値によっては
学習ができるときがある。
初期値によっては
学習がまったく
進まない場合がある
(1)実験例:逐次的な階層学習
学習データ2000
テストデータ2000
間違えた個数
2015/9/28
学習誤差
平均 4.1
標偏 1.8
Mathematical Learning Theory
テスト誤差
平均 61.6
標偏 7.0
(2) 実験例:自己符号化器の利用
学習データ2000
テストデータ2000
間違えた個数
2015/9/28
学習誤差
平均 5.3
標偏 3.4
Mathematical Learning Theory
テスト誤差
平均 61.3
標偏 8.1
問2
傾向
学習誤差
(0) 誤差逆伝
播法だけ
(1) 順次的な
階層学習
(2) 自己符号
化の利用
2015/9/28
Mathematical Learning Theory
テスト誤差