introduction to soft computing (第 12 回~第 13 回)

34
Introduction to Soft Comput ing 12 第 13 第第第 第第

Upload: sonel

Post on 22-Jan-2016

31 views

Category:

Documents


0 download

DESCRIPTION

Introduction to Soft Computing (第 12 回~第 13 回). 佐藤 裕二. 講義内容(第 12 回目). マックスネット ベクトル量子化 学習ベクトル量子化 自己組織化マップ( SOM ). 競合学習. ・ 競合学習とは,提示されたデータ1つ1つに対してネットワーク全体が学習するのではなく,そのデータに最も近いユニットや重みだけが選択的に学習を行う方法. ・このような選択的学習原理を勝者丸取り( winner-take-all )という.勝者のみでなく,その周辺にあるユニットも準勝者として同時に学習することも行われる.. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Introduction to Soft Computing (第 12 回~第 13 回)

Introduction to Soft Computing(第 12 回~第 13 回)

佐藤 裕二

Page 2: Introduction to Soft Computing (第 12 回~第 13 回)

講義内容(第 12 回目)

1. マックスネット2. ベクトル量子化3. 学習ベクトル量子化4. 自己組織化マップ( SOM )

Page 3: Introduction to Soft Computing (第 12 回~第 13 回)

競合学習

・ 競合学習とは,提示されたデータ1つ1つに対してネットワーク全体が学習するのではなく,そのデータに最も近いユニットや重みだけが選択的に学習を行う方法.

・ このような選択的学習原理を勝者丸取り( winner-take-all )という.勝者のみでなく,その周辺にあるユニットも準勝者として同時に学習することも行われる.

Page 4: Introduction to Soft Computing (第 12 回~第 13 回)

・ 図 6.1 にハミングネットを示す.ハミングネットは,任意の 2 進数よりなる入力ベクトルが,予め与えられた m 個の 2 進数サンプルデータのいずれにハミング距離が最も近いかを示す機能を持ったネットワーク.ハミングネットは,マッチング部とマックスネットから構成される.マッチング部ではサンプルデータ s(1), …, s(m) と検査データ u との内積を求める.得られた内積はマックスネットの初期値として与えられ,マックスネットでは最大値以外は 0 に収束するため,最大値を検出できる.

マックスネット

Page 5: Introduction to Soft Computing (第 12 回~第 13 回)

マックスネットの動作

手順 1   xi(0) = Ai, i = 1, …, m とする. t = 0 とおく.手順 2   1 つを除いて全て 0 に収束するまで,あるい

は最大繰り返し数に達していないとき次の (1), (2) を繰り返し実行する.(1) t = t+1

(2)

但し, f(x) は

mitxtxftxij

jii ,...,1,11

0,0

0,)(

xif

xifxxf

Page 6: Introduction to Soft Computing (第 12 回~第 13 回)

マックスネットの動作

• マックスネットの動作では,が小さいと収束は遅くなる.一方, が大きすぎると全てのユニット値xi(t) が 0 となって正しい結果が得られないことがある.

• 最大値が複数あるときは最大値以外の数 Aj に対応する xj はすぐに 0 に収束し,最大数 Ai に対応する xi は同時にゆっくりと 0 に収束する.しかし,僅かでも差があればそのようなことは起らず, 1 つだけを除き 0 に収束する.

Page 7: Introduction to Soft Computing (第 12 回~第 13 回)

競合学習 (1)ベクトル量子化 (vector quantization)

・ ベクトル量子化は、連続量のベクトル、あるいは取り得る値の非常に多いベクトルを比較的少ない個数の代表ベクトルで近似することでデータ圧縮を行うこと。

・ 入力空間を p 個の領域 {D1,…, Dp} に分割し、各領域 Di 内ではベクトルは類似しているとみなし、各々の領域にコードベクトルと呼ばれる1つの代表ベクトル wi を持たせる。コードベクトル全体の集合 {w1,…, wp} をコードブックと呼ぶ。

・ 代表的なベクトル量子化器 (vector quantizer) として、ボロノイ量子化器 (Voronoi quantizer) がある。

Page 8: Introduction to Soft Computing (第 12 回~第 13 回)

ボロノイ量子化器

・ ボロノイ量子化器は、あるベクトル xRn を,ユークリッド距離が最も近いコードベクトル wi として量子化するもの.同じベクトルに量子化される領域の境界は,下図のように,区分的に超平面となる.

Page 9: Introduction to Soft Computing (第 12 回~第 13 回)

競合学習 (2)学習ベクトル量子化 (learning vector quantization: LVQ)

• 学習ベクトル量子化の目的は、任意のベクトル x がクラス C1, …, C のいずれに属するかを決定するパターン認識のためにコードブック {m1, m2, …, mk} を学習すること。コードブックの各コードベクトルはいずれのクラスを表現するか、予め決めておく。

• LVQ では、あるデータ x がどのクラスかを識別するのに多数あるコードベクトル {m1, m2, …, mk} の中で x にユークリッド距離の最も近い mi を探し出し、 mi の属するクラスを x のクラスと判定する。そのようなコードブックを形成するために、各クラスごとに予め複数個のコードベクトルを用意し、競合学習の原理で学習して移動させる。

Page 10: Introduction to Soft Computing (第 12 回~第 13 回)

LVQ によるクラス判定

• 下図では、斜線の引いてある3個のコードベクトルを学習後のクラス1のコードベクトル、残り3個を同じく学習後のクラス2のコードベクトルとするとき、入力ベクトル xに最も類似したコードベクトルが m2 であれば xはクラス1であると判別される。

m1

m2

m3

m4

m6

m5

x

クラス1と判定

Page 11: Introduction to Soft Computing (第 12 回~第 13 回)

SOM (Self Organizing Map)

• SOM は, T. Kohonen により開発された教師なし学習方法であり,高次元データを 1 次あるいは 2 次程度の低次元空間に写像する.

• クラスタリング(テキスト参照)

Page 12: Introduction to Soft Computing (第 12 回~第 13 回)

k 平均アルゴリズム

• 手順 1  (初期化) m1, …, mk に最初の k 個の学習データを割り当てる.すなわち, mt(k) = x(t) , t = 1, 2, …, k

• 手順 2  (繰り返し) t = k+1, k+2, …, N に対して次の (1), (2) の計算を行う.(1)  ( x に最も近いコードベクトルの検出)(2)  (コードベクトルの更新) それまで同じクラスタのデータと判定されたデータの中心にコードベクトルを移す.

Page 13: Introduction to Soft Computing (第 12 回~第 13 回)

SOM の定義

• クラスタリングにおいて, mi の i は特に意味を持たない単純なラベルとしての番号.

• 一方, SOM では, i を 1 次元アレイ状の番号と対応させるものを 1 次元SOM , 2 次元配列と対応させるものを2 次元 SOM という.

Page 14: Introduction to Soft Computing (第 12 回~第 13 回)

SOM の学習アルゴリズム

• SOM を学習するには通常数千回以上のデータ提示回数が必要.学習ベクトルが少ない場合には,繰り返し提示を行って学習する.

Page 15: Introduction to Soft Computing (第 12 回~第 13 回)

SOM の学習アルゴリズム

1.初期化  m1, …, mL の値をランダムに与える. t = 0.

2.繰り返し  t = 1, 2, …, Nとして以下の操作を繰り返す.(1) ベクトル x(t) と各 mi の内積 2 を求める.

xT(t) mi, i = 1, …, L2

(2) 最も内積の大きい値を与える i を求め,それを j とおく.(3) 各 i (i = 1, …, L2) について,次式で学習する.

但し,

11

1 tmtxrrt

tmtm ijiii

.,2

exp2

2

etct

pp

Page 16: Introduction to Soft Computing (第 12 回~第 13 回)

講義内容(第 13 回目)

1. ヘブ学習とデルタ則(1) 教師付き学習におけるヘブ学習(2) 教師付き学習におけるデルタ則(3) 教師なし学習におけるヘブ学習

2. 対向伝播ネットワーク3. ART (Adaptive Resonance Theory)

Page 17: Introduction to Soft Computing (第 12 回~第 13 回)

連想記憶

• 連想記憶には、欠損値や雑音に乱されたデータを修復することを目的として、入力データと同じデータ空間のものを出力する自己連想記憶 (autoassociative memory) と、異なるデータ空間のものを出力する異種連想記憶 (heteroassociative memory) がある。

• 一般に、教師なし学習は前者、教師付き学習は後者に対応する。

• 連想記憶の最も基礎的な学習方法として、ヘブ学習 (Hebbian learning) をあげることができる。ヘブ学習 は教師付き学習と教師なし学習の両方に適用できる連想記憶モデルの学習方法である。使えるデータは {0, 1}または {-1, 1} である。

Page 18: Introduction to Soft Computing (第 12 回~第 13 回)

連想記憶

1. 教師付き学習におけるヘブ学習(別紙参照)

2. 教師付き学習におけるデルタ則(別紙参照)

3. 教師なし学習におけるヘブ学習(別紙参照)

Page 19: Introduction to Soft Computing (第 12 回~第 13 回)

対向伝播ネットワーク

• 対向伝播ネットワーク( counter propagation network )は, R. Hecht-Nielsen によって考案された多層型ネットワーク.教師付き学習(関数近似)を行うものであるが,それに加えてデータ圧縮,連想記憶の機能を持つ.

Page 20: Introduction to Soft Computing (第 12 回~第 13 回)

対向伝播ネットワーク

• すでに観測された入出力データの組 {(x(k),y(k)); k = 1, …, N} から入出力要素間の関係を学習し, n + m 次元のベクトルの一部欠けている値を残りの部分から得られる情報により推定する問題に使うのが対向伝播法の目的.

• xが完全で yが全て欠けている場合が関数値の推定. yが完全で xが全て欠けている場合が原像の推定問題.

Page 21: Introduction to Soft Computing (第 12 回~第 13 回)

対向伝播ネットワーク

 対向伝播法では(1) 入力ベクトルから出力の推定(2) 出力ベクトルから入力ベクトルの逆推定(3) 一部の要素が欠損している入出力ベクトルの修復

などを行うことができる.(テキスト図 7.1, 図7.2 )

Page 22: Introduction to Soft Computing (第 12 回~第 13 回)

対向伝播ネットワーク

1 . 対向伝播ネットワークの構造入力 x ,出力 yにマッチングさせるための M組の参照用ベクトル (v(1), w(1)), …, (v(M), w(M)) を用意しておく.入出力の組を 1 つのベクトル z = (xT, yT)T にまとめ,参照用ベクトル r(j) = (vT(j), wT(j))T (j = 1, …, M) も同じく 1 つのベクトルにまとめると, z を用いて r を逐次的に学習する.学習方法は k 平均法と同様.

2 . 対向伝播ネットワークの機能3 . 対向伝播ネットワークの学習アルゴリズム4. 対向伝播ネットワークの適用例(テキスト参照)

Page 23: Introduction to Soft Computing (第 12 回~第 13 回)

対向伝播ネットワークの機能

• 学習された対抗伝播ネットワークの使い方を以下に示す。m+n 次元入出力ベクトル zび対応させて I    {0, 1}m+n を

Ii =1,   zi に値があるとき

   0,  その要素が与えられないとき(i = 1, 2, …, m+n)

とおく。この一部が欠けているベクトルと参照用ベクトルとの照合は

によって行われる。ここで, z の欠けている要素は適当な値( 0 でよい)

を入れておく。この最小値を与える j を以下のようにおく。

MjjrzInm

iiii ,...,2,1,

1

2

nm

iiii

jjrzIJ

1

2minarg

Page 24: Introduction to Soft Computing (第 12 回~第 13 回)

対向伝播ネットワークの機能

• z に対する連想出力として r(J) をそのまま使うことものできるが,各参照用ベクトル毎に出力用に別のベクトルを用意し,それにより別の推定値 o = [tT, uT]T を出力することも可能。 下表は対向伝播ネットワークで構成されるルックアップテーブル。学習後は提示されたデータ z に対してユークリッド距離の最も近い参照用ベクトルを探し,それに対応する出力用ベクトルを出力する。

表 対向伝播用ルックアップテーブル参照用ベクトル  出力用ベクトル     r(1)           o(1)

: :     r(M)           o(M)

Page 25: Introduction to Soft Computing (第 12 回~第 13 回)

対向伝播法のネットワーク

• 下図に対向伝播法のネットワークを示す。ここでは x2 と yが欠損している場合を想定している。このとき,データが埋まっている要素だけで各ユニットとの距離が計算され,第 1 ユニットが近かった場合,そこから出力ユニットに繋がっている重み係数が出力される。

x1

x2

x3

x1

x4

y

x2

x3

x4

y

推定値入力( x2, yは欠損)

Page 26: Introduction to Soft Computing (第 12 回~第 13 回)

対向伝播法のネットワークの学習アルゴリズム

• 手順 1 (重みの初期化) 参照用ベクトル r(j) および出力用ベクトル o(j) (j = 1, …, M) をランダムに与える。• 手順 2 (繰り返し)  (1) k = k + 1  (2) 各学習ベクトルの組 z(k) について (i)-(iii) を行う。   (i) z(k) と r(j), j = 1, …, M の距離の最小値を与えるものを勝利

ユニット Jとする。   (ii) Jに対して,参照用ベクトルの重みを更新する。また,出

力用ベクトルを更新する。  (3) 学習係数 αを減少させる。  (4) 終了条件をチェックし,満たされなければ繰り返す。

Page 27: Introduction to Soft Computing (第 12 回~第 13 回)

ART (Adaptive Resonance Theory)

• ART は認知科学の分野で研究されてきた記憶に関する研究をもとに,適応共鳴理論と名付けられた人間の認知情報処理のモデル. ARTは基本的に教師なし学習法であるが,記憶,クラスタリング,連想などを総合的に行うのに応用することができる.入力ベクトルとして 2 値のみを考慮した ART1 ,実数を扱うように設計された ART2 ,実数・整数の混在データを扱う ART3 など複数のバージョンが提案されている.

Page 28: Introduction to Soft Computing (第 12 回~第 13 回)

ART (Adaptive Resonance Theory)

• 一般にニューラルネットワークなどでの学習では,新しい情報を学習すうと過去の記憶が失われ,過去の記憶の保持を重視すると新しい記憶の学習が困難になる安定性 - 可塑性ジレンマが問題であると指摘されているが, ART はその点を解決することを主眼として設計されている.ここで安定性とは,新しい記憶を行うときに過去の記憶を失わないことを意味している.

Page 29: Introduction to Soft Computing (第 12 回~第 13 回)

ART (Adaptive Resonance Theory)

1. ART1 (テキスト参照)

2. ファジイ ART (テキスト参照)

Page 30: Introduction to Soft Computing (第 12 回~第 13 回)

講義内容(第 8 回目)

1. リカレントニューラルネットワークとは2. BPTT (Back Propagation Through Time) 法3. EBPTT 法 (Epochごと BPTT 法 )

4. RTRL (Real Time Recurrent Learning) 法5. BPTT 法と RTRL 法の計算量とメモリ6. 応用例

Page 31: Introduction to Soft Computing (第 12 回~第 13 回)

リカレントニューラルネットワーク

• リカレントニューラルネットワークは、フィードフォワードの階層型ネットワークに時間遅れのあるフィードバックループを付加したネットワーク。

• 階層型ネットワークの時空間への一般化とみなされ、時空間情報の取扱いを可能にすることができる。

• リカレントニューラルネットワークは、相互結合型ネットワークともみなされる点ではホップフィールドモデルと同じであるが、相互の結合が対称であるホップフィールドモデルに対して、リカレントニューラルネットワークにおけるユニット間の結合は非対称に一般化されている。

Page 32: Introduction to Soft Computing (第 12 回~第 13 回)

リカレントニューラルネットワーク

• 非対称なフィードバック結合のあるリカレントニューラルネットワークにおいては、階層型ネットワークのような多層構造の概念は明確にはならないので、ネットワークを構成するユニットは入力ユニット、出力ユニットおよび隠れユニットと呼ばれる3種類のユニットに分類される。

• 入力ユニットは全ての出力ユニットと隠れユニットに結合され、出力ユニットと隠れユニットはそれぞれお互いが結合されている。また、しきい値の学習を行うために、通常は、入力ユニットの中には常に1を出力する仮想的なユニットが含まれていると仮定する。

Page 33: Introduction to Soft Computing (第 12 回~第 13 回)

EBPTT 法

• リカレントニューラルネットワークに対して,離散時間 t0, t0+1, …, t1-1 において,それぞれ入力 xi(t0), xi(t0+1), …, xi(t1-1) を与え,時刻 t0+1, …, t1-1, t1 において,それぞれ教師信号 di(t0+1), …, di(t1-1), di(t1) を与えたときの学習法を考える.このときネットワーク全体の誤差関数は,各時刻における誤差の総和 J(t0, t1) で与えられるので, J(t0, t1) を極小化するような学習則の導出を試みる.このような学習法は,時刻 t0 から t1までのエポック (epoch) と呼ばれる各時間区間内におけるネットワークの出力と教師信号との誤差の総和を極小化するような結合荷重を求めることになるので,エポックごとの BPTT 法と呼んでいる.

Page 34: Introduction to Soft Computing (第 12 回~第 13 回)

BPTT を用いた学習例

• ローレンツ軌道の学習