21
Reducing the Dimensionality of Data with Neural Networks G. E. Hinton and R. R. Salakhutdinov 資料作成:山下長義 2015/2/2 1

Reducing the Dimensionality of Data with Neural Networks

Embed Size (px)

Citation preview

Page 1: Reducing the Dimensionality of Data with Neural Networks

Reducing the Dimensionality of Data with Neural Networks

G. E. Hinton and R. R. Salakhutdinov

資料作成:山下長義

2015/2/2 1

Page 2: Reducing the Dimensionality of Data with Neural Networks

Deep Learningの分野で有名な手法の一つであるDeep Belief Networks (DBN) を提案した論文を紹介する.

G. E. Hinton and R. Salakhutdinov, “Reducing the dimensionality of data with neural networks,” Science, vol. 313, no. 5786, pp. 504–507, 2006.

2015/2/2 2

Page 3: Reducing the Dimensionality of Data with Neural Networks

概要

Autoencoderは,入力情報を隠れ層の空間に写像した後,元の信号を復元するようなパラメータを学習する.隠れ層の中間にユニット数の少ないコード層があり,この層の値を抽出することで,高次元の入力データを圧縮することができる.

autoencoderのパラメータをチューニングするために最急勾配法が一般的に用いられる.しかし,パラメータの初期値が最適解に近い場合しか,有効に機能しないという課題がある.このような状況から,この論文は,多層autoencoderが有効に機能するために,効果的にパラメータの初期値を行う方法を提案している.

2015/2/2 3

Page 4: Reducing the Dimensionality of Data with Neural Networks

autoencoder

DecoderEncoderで圧縮されたデータを復元する.

Encoder高次元のデータを低次元へ圧縮する.

AutoencoderはDecoderとEncoderからなる.ニューラルネットワークの特殊系

で,入力層と出力層の素子数が同じで,教師信号として入力データそのものを与えるという特徴を持つ.

このAutoencoderは,7つの層(四角)のニューラルネットワークで構成される.四角の中の数は,ニューラルネットワークのユニット数を表している.

「コード」層

入力

出力

2015/2/2 4

Page 5: Reducing the Dimensionality of Data with Neural Networks

autoencoder

多層のEncoderネットワークは,高次元のデータを低次元の「コード」に変換し,同様にdecoderネット

ワークは,「コード」データを復元する.そのため,Autoencoderは非線形な次元圧縮器とみなすこと

ができる(次元圧縮の結果は,「コード」層の出力結果を抽出する.).

パラメータのチューニング方法1. 2つのネットワーク(Decoder, Encoder)における

それぞれのユニットのパラメータW(7ページ参

照)に対して,発生させた乱数の値を割り当てる.

2. 誤差逆伝搬法を利用して,オリジナルデータと再構築のデータの差異を最小化するように各隠れ層のそれぞれの素子のパラメータを訓練する.2015/2/2 5

Page 6: Reducing the Dimensionality of Data with Neural Networks

Autoencoderの課題と解決策の提案

しかし,隠れ層を複数持つautoencoderでは,パラメータの最適化は難しい.パラメータの初期値が最適解に近い場合しか,最急勾配法が上手く機能しない.

(参考)最急降下法は、最適化したい関数f(x)の一階導関数f'(x)を見て、より最適な点へ更新していき、最終的に最もよい点に収束させる手法である。

そこで,このような課題を解決すために,Restricted Boltzmann machineを利用したプレトレーニング(pre-training)を導入して,パラメータの初期値の最適化を実現する.

2015/2/2 6

Page 7: Reducing the Dimensionality of Data with Neural Networks

参考)ニューラルネットワーク

ニューラルネットワークは、生物の神経細胞ネットワークの挙動を模倣する工学モデルである。図中の円は細胞、矢印は刺激の伝播を表す。細胞(A)は複数の細胞(X1~Xn)から刺激を受ける。細胞の出力刺激の、別のある細胞への伝わり易さ)を示すW1~Wnの結合係数があり,Aに入力される刺激の総量は,W1×X1+W2×X2+・・・Wn×Xnになる。

Aに入力された刺激の総量から値(θ)を引いたものが、Aの内部状態In(A)となり、これをシグモイド関数(ロジスティックユニット)に通した値をAの出力値Out(A)とする(線形関数を利用することもある)。本資料での,パラメータとは,Wのこととし,ユニットとはこの図における一つ円のこととする.

Out (A) = σ ( In (A) )

[1] http://www.sist.ac.jp/~kanakubo/research/neuro.html2015/2/2 7

Page 8: Reducing the Dimensionality of Data with Neural Networks

参考)誤差逆伝搬法

誤差逆伝播法は,機械学習においてニューラルネットワークを学習させる(パラメータWを決定する)ための教師あり学習のアルゴリズムである(参照[2]).

[2] 熊沢逸夫(1998) 「学習とニューラルネットワーク」森北出版.

2015/2/2 8

Page 9: Reducing the Dimensionality of Data with Neural Networks

Restricted Boltzmann machine

画像のようなバイナリデータの集合は,Restricted Boltzmann machine(RBM)と呼ばれる2層のネットワークを使ってモデル化することができる.RBMでは観測変数v(可視層における変数)に加えて隠れ変数h(隠れ層における変数)を導入する.

RBM とは,Boltzmann Machine の可視層・隠れ層のユニット間

の結合を制限することで計算を効率的にしたニューラルネットワークのことである.

2015/2/2 9

Page 10: Reducing the Dimensionality of Data with Neural Networks

RBMの構造

ピクセル値(観測変数:可視層)

特徴抽出器(隠れ変数:隠れ層)

Wというパラメータによって関連づけられている.

画像が与えられたとき,ピクセル値を,可視層における対応する観測変数に代入する.

2015/2/2 10

Page 11: Reducing the Dimensionality of Data with Neural Networks

Restricted Boltzmann machine

, は,ピクセル値 と特徴抽出器 における値(0または1)を保持している. は,これらに対するバイアスであり,は, と との間のパラメータである.

RBMでは,P(v,h)は次のように表すことができる.

ただし,Eはエネルギーと呼ばれるもので,(1)からエネルギーが小さいとき,確率は高くなる.

(1)

vi h j i j

b1,b2

wij vi h j

P(x,h) =1

Zexp(-E(x,h))

2015/2/2 11

Page 12: Reducing the Dimensionality of Data with Neural Networks

訓練画像は,パラメータをチューニングするために用いられる.訓練画像が1つ与えられると,式(2)の右辺の確率で j 番目の特徴抽出器 に1が代入される.この計算をすべての隠れ変数ついて計算する.

(2)

(3)

p(hj =1| v) =s (bj + viwiji

å )

p(vi =1|h) =s (bi + hjwijj

å )

そして,隠れ変数hを(3)に代入すると,観測変数が求まる.

2015/2/2 12

h j

Page 13: Reducing the Dimensionality of Data with Neural Networks

最後に直前に求めた観測変数の値を反映させるために,観測変数を(2)に代入して,もう一度隠れ変数の値を更新する.

パラメータの変化は以下のようにして求まる.

2015/2/2 13

ε : 学習率:訓練画像が与えられたときの の期待値,:式(3)に隠れ変数を代入して求まる の期待値

vihj datavihj

vihj reconvihj

Page 14: Reducing the Dimensionality of Data with Neural Networks

多層化の方法

RBMでパラメータをプレトレーニング

2. 隠れ層を次の層の可

視層とつなげて,DecoderとEncoderからなるautoencoderを形成

する.このとき,プレトレーニングで求めたパラメータをそのまま使う.

1. 各層ごとにRBMで

パラメータをプレトレーニングする.

RBMでパラメータをプレトレーニング

RBMでパラメータをプレトレーニング

2015/2/2 14

Page 15: Reducing the Dimensionality of Data with Neural Networks

3.逆誤差伝搬法を用いてautoencoder

全体を通してパラメータをさらにチューニングする.

2015/2/2 15

このように,Restricted Boltzmann machineを利用したプレトレーニングを導

入して,パラメータの初期値の最適化を実現する.

Page 16: Reducing the Dimensionality of Data with Neural Networks

実験1

本手法が多層ニューラルネットワークのプレトレーニングが有効であることを示すために,3点をランダムに選択して生成された曲線の画像を多層autoencoderに学習させる.

実験1で用いるautoencoderは,(28 28)-400-200-100-50-25-6ユニットから構成されるencoderと,それに対象なdecoder からなる.20,000枚の訓練画像を入力と出力に与えて,学習(パラメータをチューニング)する.そしてパラメータがチューニングされたautoencoderを用いて,10,000枚の画像でテストを行った.テストにおいて,元の画像に近い出力を可能にする手法が,良い手法である.

2015/2/2 16

Page 17: Reducing the Dimensionality of Data with Neural Networks

元の画像

autoencoderによって再構築された画像

その他の手法によって再構築された画像

2015/2/2 17

autoencoderによって再構築された画像がもっとも元の画像を再現している.

Page 18: Reducing the Dimensionality of Data with Neural Networks

実験2

MNISTのデータセットにおける手書きの数字をAutoencoderに適用する.

元の画像

autoencoderによって再構築された画像

その他の手法によって再構築された画像

2015/2/2 18

autoencoderによって再構築された画像がもっとも元の画像を再現している.

Page 19: Reducing the Dimensionality of Data with Neural Networks

主成分分析による出力 autoencoderによる出力

コード層の値を使って2次元に可視化した結果

図における点の色と形は,事前にラベル付けされた数字を示している.事前にラベル付けされた数字を分離して可視化しているAutoencoderの方が良い結果である.

2015/2/2 19

Page 20: Reducing the Dimensionality of Data with Neural Networks

実験3

MNISTにおける手書き数字のデータセット利用した文字認識で

は,これまでの一番小さな誤り率は,ランダムな値を初期値として利用した誤差逆伝搬法で1.6%,サポートベクターマシーンで1.4%であった.784-500-500-2000-10という構成の autoencoder

において,層ごとのプレトレーニングの後,最急降下法を用いた誤差逆伝搬法は,1.2%という低い誤り率を達成した.

実験1〜3までのすべてにおいてautoencoderは最も良い性能を発揮した.

2015/2/2 20

Page 21: Reducing the Dimensionality of Data with Neural Networks

まとめ

Restricted Boltzmann machineを利用したプレトレーニング(pre-training)を導入して,パラメータの初期値の最適化を実現した多層autoencoderが非線形次元圧縮に効果があることを示した.

このような効果が得られるようになった要因は,本論文で示した方法によって初期値が最適解に十分に近づけられたこと以外に,以下の2つある.

• 計算機の性能が高速になったこと

• データのサイズが十分に大きくなったこと

2015/2/2 21