Transcript Document

知的ロボティクス
9. Unsupervised Learning
知能メディアシステムクラスタ
ロボットサブグループ
谷地 正章
第9章 Unsupervised Learning (教師なし学習 )
 第9章 教師なし学習
9.1 INTRODYUCTION (導入)
9.2 PRINCIPAL CONPORNENTS (主成分)
9.3 COMPETITIVE LEARNING (競合学習)
9.4 TOPOLOGICAL CONSTRAINTS (位相制約)
9.4.1 The Traveling Salesman Example (巡回セールスマン問題)
9.4.2 Natural Topologies (固有位相)
9.5 SUPERVISED COMPETITIVE LEARNING (教師あり競合学習)
9.6 MULTIMODAL DATA (マルチモーダルデータ)
9.6.1 Initial Labeling Algorithm (ラベリング初期化アルゴリズ
ム)
9.6.2 Minimizing Disagreement (相違最小化)
9.7 INDEPENDENT COMPORNENTS (独立成分)
Abstract
 概要
教師なし学習では,入力信号に冗長性が存在する.
この冗長性を利用し,効率的に情報を圧縮する.
1. 主成分を求め利用する方法
2. 位相近傍とマルチモーダルデータを利用したClassifier(分類器)による方法
3. 独立成分を算出する方法
9.1 INTRODYUCTION (導入)
生物学的環境では学習のためのトレーニングセットが得られない
ケースが多い.
●
トレーニングセット : 既知の入力データとクラスの対応関係
ラベル付けされていない情報から推測しなくてはならない.
教師なし学習では,入力データに含まれる情報は冗長である.
この冗長性を利用し,入力データの情報量を圧縮することが可能である.
●
本章では,ネットワークを利用した方法を取り上げる.
主成分分析
単純な構造のネットワークを利用して入力データから主成分を抽出する.
● 共分散行列の固有ベクトルを基底として座標系に変換するで,
主成分を抽出する.
●
異なる応答をして欲しい類似した状況間の違いを求めることは困難.
Classifier(分類
器)
● 主成分分析の欠点を解消.
入力データに最も近いプロトタイプの属するクラスを,その入力の
クラスとして識別する.
●
●
プロトタイプ点を直線で接続
ドロネー三角形分割
プロトタイプ点の垂直二等分線
ボロノイ線図
Classifier(分類器)
●
プロトタイプ点を求める方法
競合学習
競合学習
プロトタイプを競合させることに基づく.
プロトタイプの位相近傍間との関係を利用.
●
Kohonen学習
マルチモーダルデータの利用
教師あり学習に匹敵する性能を得る.
独立成分
複雑な状況下では,入力を生起した複数の要因の重ね合わせであると考えられ
る.
● このような状態を,入力の高次の統計情報を利用してモデル化する方法.
●
9.2 PRINCIPAL CONPORNENTS (主成分)
サンプルデータの共分散行列の固有ベクトルを座標系の基底ベクトルを
することで,サンプルの分散を最大化することができる(第4章).
●
固有ベクトルを求めるためには,逆行列を求める操作が必要となる.
●
入力ベクトルの次元が高いと,逆行列が得られる保証はない.
そこで,固有値と固有ベクトルを二層ニューラルネットワークによって求める.
Principal Component network
Principal Component network
y
N
y   wj x j
j 1
: 出力
x j ( j  1,  N ) : 入力ベクトル y wj ( j  1,  N ) : 重みベクトル
x1
xj
wj ηyxj (9.1)
ネットワークにベクトル入力される毎に
ヘッブの学習則によって重みを更新する.
w j ηyx j η wi xi x j
N
近似,代入して,
x2
i 1
全ての入力ベクトルについての平均をとると,
w j ηyx j η wi xik xkj
N
M
i 1 k 1
全ての重みベクトルについて,
 ηCw
w
(9.2)
C:
xj ( j
相関行列
 1,  N ) が,0となる成分を持つ場合,
C は共分散行列となる.
●
C が対称行列または半正定行列であるため,固有値はすべて正または0.
式(9.2)の解は,不安定なものとなる.
学習が進むと,重みベクトル
線形関係を成す.
●
wは最大の固有値を持つ固有ベクトルと
固有ベクトルの方向は望ましい結果であるが,その大きさが制限されてしまう.
問題の解決法
●
1. 学習中に実行される,
w の大きさを制約する強制項を加える.
w の大きさを抑制する強制項を加える.
wj  y( x j  ywj ) (9.3)
2. 式(9.1)に,
●
強制項の追加による性質
1. w  1
2. 重みベクトル
3. 重みベクトル
●
w と C の最大の固有値をもつ固有ベクトルが平行.
w とデータの相違を最大化する方向ベクトルが平行.
出力ユニットがk個存在する場合への拡張
i


wij  yi  x j   yk wkj 
k 1


(9.4)
● An
Example : Representing Visual Image
1. 処理対象のイメージから,固有関数によって表現
される8×8pixelのパッチをランダムに適用.
パッチによって得られる画像の小領域は,
64の要素をもつベクトルとして表現される.
2. 得られた複数のベクトルをトレーニングセットとして,
主成分分析を行なう.
8×8 patch
Large image
3. 学習が収束した結果,出力ユニットにおける出力値は入力サンプルの
共分散行列の固有値に相当し,対応する重みベクトルはその固有ベク
トルとなる.
9.3 COMPETITIVE LEARNING (競合学習)
競合学習も主成分分析と同様,二層ニューラル
ネットワークによって主成分を求める.
重みの更新方法が大きく異なる.
●
プロトタイプ
●
wi
全ての入力パターン
xについて,
wi  x
が最小となる
w i を x のプロトタイプとする.
プロトタイプは,距離関数に基づき入力領域を分割する.
その結果がボロノイ線図となる.
●
●
あるプロトタイプを含む領域において,プロトタイプは全ての点について最近である.
●
Algorithm 9.1 競合学習
各入力ベクトル
1.
x について,
x に最も近い,すなわち,
wi  x
が最小となるプロトタイプ
w i を求める.
2. 次に示す式によって,重みを更新する.
wi  (x  w j )
 : 学習率
この更新を,wi が十分に小さくなるまで行なう.
Figure 9.4
Input Data
Prototype
●
競合学習の問題点
1. 決して勝つことのできない出力ユニットが存在する可能性がある.
ランダムに選択された戦略の適用のために重みを初期化するが,
結果的に勝つことのできない出力ユニットが生じる.
2. 競合学習による結果が,重心戦略による結果の範囲内である.
重心戦略
プロトタイプをデータ集合の中心に配置する戦略
データのパターンが複雑である場合,集合同士が交差する可能性がある.
そのため,集合の境界線付近にプロトタイプを配置する工夫が必要となる.
9.4 TOPOLOGICAL CONSTRAINTS (位相制約)
競合学習
各プロトタイプはそれぞれ独立として扱う.
実際は,いくつかのプロトタイプは,近傍間と固有の位相をなす.
Kohonen学習は,この固有位相を利用し,“dead”ユニット問題(比較に勝つ
ことができず,重みが更新されない)を解決する.
位相近傍に関する制約を追加し,近傍に位置するプロトタイプ間の
組み合わせを決定.
●
比較により,あるプロトタイプの入力パターンの方向に移動すると,そ
の近傍のプロトタイプも僅かな量であるが移動する.
9.4.1 The Traveling Salesman Example (巡回セールスマン問題)


入力都市セット x1, x 2 が与えられたとき,全ての都市を巡回し,再び開始都市に戻って
くる経路を最短とする問題.
最初,プロトタイプ都市は,マップ中央にリング状に配置されている.
学習が進むと,プロトタイプは入力に引きつけられ,やがて一致する.
図.巡回セールスマン問題の実行結果(アメリカ大陸主要48都市)
●
Algorithm 9.2 Kohonen学習アルゴリズム
 に大きな値を代入.
  0.001 になるまでの間,各入力都市 x1, x2 について以下のことを行なう.
1.
2.
最近のプロトタイプ都市
y1, y2 を計算する.
もし,最近のプロトタイプが固有に存在するの場合,プロトタイプとその近傍を
次の式に基づき動かす.
d 2 /
yi  e
(yi  xi ) i  1,2
最近のプロトタイプがふたつの入力で重複した場合,プロトタイプを複製し,
複製した一方のみを動かす.
3.

を減少させる.
Prototype
1
1
上記の d は,プロトタイプとその近傍の距離.
1
1
9.4.2 Natural Topologies (固有位相)
巡回セールスマン問題において,近傍の定義やプロトタイプの位相は,
問題の要求(「最短経路」という解)によって決定していた.
一般的に,固有近傍関数を推測することは困難であり,入力データ自体から
適当な近傍関数が定義される.
プロトタイプ間の望ましい位相は,入力データの情報を利用して学習できる.
各入力データに最近のふたつのプロトタイプを求め,
その近傍関係をプロトタイプのセットに加える.
この方法を以下の2点を追加して拡張する.
1.
2.
Kohonen学習によって,現在のプロトタイプの位置を求める.
継続的に相関関係を観測することによって,近傍関係を更新する.
●
Algorithm 9.3 競合位相学習
プロトタイプ
w(i ' i  1,M)
を初期化.
接続強度を表す,相互接続行列
Cij を初期化.
x  と各 w i ' について以下を行なう.
w i ' より x  に近いプロトタイプの番号 ki を推定し,それに最も近いプロトタイプ wi 0 , wi1 を求める.
各入力パターン
1.
2. 次の式に従い,これらの重みを更新する.
3. 相互接続の情報を更新する.
a.
Ci0i1  1 , ti0i1  0
b. 全ての
c. 全ての
パラメータ
 wi0
 wij  eki /  (x   wij )  j  1,2
が十分に小さくなるまで行なう.
 1 である場合, tij を増加させる.
j について, Ci0 j  1 かつ, ti0 j  T である場合, Ci0 j  0
i, j
について, Cij
 ,ステップの大きさ  ,寿命 T は時間に依存.
 の場合,
 f
(t )  i 
 i



t / tm ax
9.5 SUPERVISED COMPETITIVE LEARNING (教師あり競合学習)
競合学習の問題点
与えられた問題を考慮した最適のプロトタイプが得られる保証がない.
この章では.プロトタイプのクラスが教示されている場合を考える.
今,入力データがふたつの確率分布を有する異なるクラスから得られたものとする.
ふたつのクラスの境界付近の入力データから,語識別を最小化する基準を用いて.
境界線を修正する.このときのプロトタイプをコードブックベクトルと呼ぶ.
E(b)   P(C1 ) p( x | C1 )   P(C2 ) p( x | C2 )dx
誤識別を最小化する基準
b


b
P(Ci ) : クラス の事前生起確率
i
i
p( x | C ) : クラス に与えられる入力
i
b は境界を表す.
xの事前生起確率
E(b) を最小化するために,b
について微分する.
db
 P(C2 ) p( x | C2 )  P(C1 ) p( x | C1 )
dE
適当な
b
を求めるために勾配降下法を利用する.
db
b  
より実用的な方法として,
dE
b  Z
 1 ( x  C1かつ | x  b | c)

Z   1 ( x  C2かつ | x  b | c)
0
それ以外

●
Algorithm 9.4 教師付き競合学習
各入力
x について,最近のコードブックベクトル
w1, w2 を求める.
これらが異なるクラスに存在し,入力が2つのクラスの境界付近に存在している
場合,以下を行なう.
1. 存在するべきクラス1から入力の方向にコードブックベクトルを移動させる.
w1  
( x  w1 )
x  w1
2. 存在してはならないクラス2から入力とは反対方向にコードブックベクトルを
移動させる.
( x  w2 )
w2  
x  w2
9.6 MULTIMODAL DATA (マルチモーダルデータ)
教師あり競合学習はよく機能するが,あくまで教示が与えられた場合である.
教示信号なしで学習を行なうために,複数の信号が同時に入力されると仮定する.
生物学的状況において,多種多様の刺激が同時に起こるケースが大半である.
(例:視覚,聴覚,触覚,嗅覚は同時に起きる可能性が高い.)
この章では,ふたつの様相が同時に生起する場合について考察する.
多様性を考慮した学習は,Fig9.9に示すネットワークによって実行される.
1. 異なるふたつの様相からの入力間の時間的一致を利用し,クラスの
プロトタイプを初期化する.
最適なプロトタイプが選択される保証はない.
2. 目的関数を利用し,新しい入力を識別する際に都合のよい位置にプロトタイプを
配置する.
9.6.1 Initial Labeling Algorithm (ラベリング初期化アルゴリズム)
各様相からの入力ベクトルは,2入力ネットワークに適用されると,ふたつの
適合した「クラスプロトタイプ」ベクトルが競合学習によって選択される.
「クラスプロトタイプ」ベクトルはそれぞれネットワークの最上層に作用し,
勝利クラスが選択され,その重みが修正される.
Output(class)
Implicit
Labeling
weights
Hidden
Layer
Codebook
Vector (W)
競合学習による「クラスプロトタイ
プ」ベクトルの決定.
Input(X)
Modality/Network1
Modality/Network2
データセットがネットワークに入力されると,初期化されたプロトタイプのセットが
求められる.
9.6.2 Minimizing Disagreement (相違最小化)
プロトタイプは配置されている段階で,次に新しい入力を識別するために
プロトタイプを最適化する.
もっとも単純な例として,一組の刺激の場合を考える(Fig9.10).
様相1がクラスA(B)からの刺激を受けた場合,様相2もまた
クラスA(B)からの刺激を受ける.
教師あり学習と非常に似ているが,ひとつの境界が動くのではなく,
ふたつの境界がそれぞれの様相のために移動する点が異なる.
教師あり学習の場合,クラスのラベルが教示されているため,誤識別パターンの数を
最小化するための基準を利用することが可能である.
教師なし学習では,「相違誤差」が基準として利用される.
相違誤差 : ふたつのネットワークによって異なる識別をされた入力パターン数
「相違誤差」では,共起したパターンは同様に分類されるため,不一致は誤りと
判断するという考え方に基づいている.
E(b1, b2 )  Px1  b1 & x2  b2  Px1  b1 & x2  b2
b1,b2 は境界を表す.
ここで相違誤差を簡単に扱うために,同時確率密度関数
f (x1, x2 )  p(x1 | CA ) p(x2 | CA )P(CA )  p(x1 | CB ) p(x2 | CB )P(CB )
を適用する.
「相違誤差」は次式のように変形される.
E(b1, b2 )  
b1


 b2
 b2
f ( x1, x2 )dx1dx2  

b1 
f ( x1, x2 )dx1dx2
E(b1, b2 ) を勾配降下法によって最小化するために, b1,b2 について偏微分する.
b
E 
  f (b1, x2 )dx2   f (b1, x2 )dx2

b1 b
b1
E 
  f ( x1, b2 )dx1   f ( x1, b2 )dx1

b2 b1
2
2
勾配降下法における
b1 の変化量は,次式で表される.
b1  Z
 1 (X2  b1 かつ | x  b1 | c)

Z   1 (X1  b2 かつ | x  b1 | c)
0
それ以外

●
Algorithm 9.5 教師なし競合学習
各様相
j について,以下を行なう.
1. 各入力 X j について,最近のコードブックベクトル
w1, w2 を求める.
2. これらが異なるクラスに存在し,入力が2つのクラスの境界付近に存在している場合,
コードブックベクトルを字式に基づく修正する.
( X j  w1 j )
w1 j  
X j  w1 j
( X j  w2 j )
w2 j  
X j  w2 j
Fig9.10の例において,境界 b2 が境界 b1 を移動(修正)するための指標となっている.
( X2  b2) 様相2がクラスAであると決定する
と,様相1の境界 b1 を右方向に修正する
ことにより,様相1がクラスAであると判断される可能性を上昇させる.
一方,様相2がクラスBであると決定すると,様相1の境界 b1 を左方向に修正する
ことにより,様相1がクラスAであると判断される可能性を減少させる.
Fig9.10の例では,入力の次元は一次であり,識別するクラスはふたつであった.
入力の次元数と識別対象のクラス数が増加するとどうなるのか?
Fig9.11に二次元,二様相の場合の実験結果を示す.
Network(様相)1とNetwork2 (様相)への入力は1対1に対応している.
Network(様相)1(2)では識別できない入力に対して,Network2(1)での識別結果を
利用して(同じ識別結果として判断することで),境界を修正することができる.
● Examples
: Simultaneous Visual and Acoustic Signals
5人の男性から,英語の音節,/ba/,/va/,/da/,/ga/,/wa/ の発音時の
視覚および聴覚信号を記録.
視覚的情報 : 発声時の映像5フレームから,125の入力ベクトルを生成.
聴覚的情報 : 20msの信号を24のメロディコードに変換し,これを9回サンプリング.
合計216の入力ベクトルを生成.
結果をFig9.13に示す.
トレーニングデータ100件に加え,20件のテストデータを利用.
単一話者,複数話者の場合について,ラベリング初期化アルゴリズム,
相違最小化を利用して学習した結果が示されている.
データの追加により,識別の性能を向上させることが可能である.
また,教師あり学習に匹敵する識別結果が得られている事がわかる.
9.7 INDEPENDENT COMPORNENTS (独立成分)
独立成分では,問題空間は隠蔽された,独立な「要因」sによって
構成されていると仮定する.
●
x  As
●
A :重み行列 s
:各要因からの出力
線形システムで観測する場合,
W  A1
ここで,
u Wx WAs
である場合,システムへの入力は各要因からの出力となる.
独立成分の目的は,各要因からの出力を独立に観測することである.
●
独立成分を求めるためには,
W (非相関行列)が存在する必要がある.
u の対角共分散行列となる.すなわち,
結果的に,
E(uuT )
となる.
の対角成分が0以外
●
E(uuT )  I の場合について考える.
E(uuT )  I  E(WxxTW T )
より
W W  E( xx )
T
主成分は,この式の解となる.このとき,
 E(xxT )  
よって,
W   T

1
2
しかし,主成分の解は2次以上を考慮しておらず,複合要因のモデルを
扱うことが できない.
●
N
複合要因の次元 :
p(s)   psi (si )
i 1
T
1
●
主成分分析にかわる基準として,エントロピー H (y) 最小化を行なう.
ここで, は の非線形関数
で表される.
y x
g
y  g(x)
これにより, p(y) は,
p( x)
p( y) 
|J|
今,エントロピー
H (y) は,
J :ヤコビ行列
(9.10)
H ( y)  E[ln p( y)]
H ( y)  E[ln | J |]  H ( x)
式(9.10)より,
この式において,
y
J
x
x
ネットワークの重みには依存していないため,
右辺第一項に注目する.
●
勾配上昇法を利用すると,
H ( y)
 | J | 
W  
 E 
W
 W 
さらに,確率的勾配上昇法を利用するために,予測演算子を無視すると,
W   [(W T )1  yˆxT ]
ここで,
yˆ の各要素は次式で表される.
 yi
yˆi 
yi ui
1
yi 
1 eui
逆行列部分を消去するために,この式に対称行列
この結果, Algorithm 9.6 が得られる.
WT W を掛ける.
●
Algorithm 9.6 独立成分
二層ニューラルネットワークの重みをランダムに初期化し,次式に基づき重みを修正する.
W  (I  yˆ xT WT )W
学習率
 は時間に依存して減少させる.