インテリジェントコンピューティング

Introduction to Soft Computing
(第9回目~第10回目)
佐藤
裕二
教材
• 坂和,田中 共著:「ニューロコンピュー
ティング入門」,森北出版
講義計画(予定)
1.
2.
3.
4.
5.
6.
7.
8.
概要,ニューロンのモデル
教師付き学習1(パーセプトロンモデル)
教師付き学習2(バックプロパゲーション)
教師付き学習3(ホップフィールドモデル)
演習1
教師なし学習(ベクトル量子化,LVQ)
連想記憶
リカレントニューラルネット
講義計画(予定)
9.
10.
11.
12.
13.
演習2
GAによるニューラルネットの合成
ニューラルネットのハードウエア化
演習3
応用例
講義内容(第9回目A)
1. ニューロンとは
2. ニューロンのモデル
(1) しきい素子モデル
(2) 準線形素子モデル
(3) 確率的なニューロンモデル
3. ネットワーク構成
(1) 階層型ネットワーク
(2) 相互型ネットワーク
ニューロン
(neuron)
• ニューロン(neuron:神経細胞)は、(1) 細胞体(soma)と呼ばれ
る本体部分、(2) 本体から複雑に枝分かれした樹状突起(dendrite)
と呼ばれる部分、(3) 本体から1本だけ出て末端で多数枝分かれ
する軸索(axon)と呼ばれる部分から構成されている。
• 樹状突起は他のニューロンからの信号を受け取る部分、軸索は
細胞本体からの信号を他のニューロンに伝える出力用の線維で
あり、その末端が他のニューロンの樹状突起と結合している。
この結合部分はシナプス(synapse)と呼ばれる。
ニューロン
(neuron)
• 軸索は、10から数百に分岐しており、シナプスを介して数多く
の他のニューロンと結合。
• 1つのニューロンは、平均で数百から数千、多いものは数万本
の軸索と結合して信号を受け取る。
• ニューロンは、機能的には、樹状突起で他のニューロンから信
号を受け取り、細胞体で入力信号を処理し、軸索から他の
ニューロンへの出力信号を出す情報処理素子と見なせる。
ニューロン
(neuron)
• 電気生理学によれば、ニューロンの内部は細胞膜によって外部
と隔てられているために、細胞膜の内外では常に電位差があり、
内部の電位は外部よりも通常は低い。外部を0としたときの内
部の電位は膜電位(membrane potential)と呼ばれる。
• 各ニューロンは、外部から入力信号が到達して、膜電位がある
しきい値(threshold)を超えると出力パルスを発生する。このパル
スは、軸索を伝わって他のニューロンに信号として伝えられて
いく。しきい値を超えない場合は、出力信号は出さない。
ニューロンモデル
(artificial neuron model)
• あるi番目のニューロンが他のn個のニューロンからの入力信号
を受け取り、これらの信号の強さが、x1, x2, … , xnとする。また、
i番目のニューロンの膜電位をui、興奮のしきい値をi、出力信
号をyi とする。また、第i番目の樹状突起に単位強さの入力信号
が来た時に、この影響を受けて変化する膜電位の量をwijとする。
wij (j = 1, 2, … , n)は、シナプスの結合効率を表す量で、シナプス
荷重(synaptic weight)、結合荷重、あるいは単に荷重と呼ばれる。
入力
x1
x2
x3
xn
wi1
wi2
wi3
win
i
yi = fi(ui - i)
出力
階層型ネットワーク
• 階層型ネットワークは、1958年に米国の心理学者F. Rosenblattが
提案したパーセプトロン、1986年にD.E. Rumelhartらによって提
案された誤差逆伝播法など、代表的なニューラルネットワーク
として発展してきている。
• 階層型ニューラルネットワークは、一般的に、入力層(input
layer)と出力層(output layer)の間に隠れ層(hidden layer)と呼ばれる
幾つかの中間層を持つ多層構造をなす。
入力
出力
入力層
中間層
出力層
相互結合型ネットワーク
• 相互結合型ネットワークは、階層構造のような特殊な構造では
なく、お互いが対等に結合している。各ニューロンは相互に作
用して、適当なタイミングで状態を更新することで情報処理を
行う。
• 相互結合型ニューラルネットワークでは、ある適当な初期状態
から出発して、各ニューロンがお互いに影響を与えながら、そ
れぞれの状態変化を繰り返していく。ある1つの安定した状態
に陥って変化しなくなったり、周期的に幾つかの状態を繰り返
すなどの振る舞いをするなど、ネットワークがある平衡な状態
に収束したときに情報処理が終了したと見なす。
ニューラルネットワークの学習
• ニューラルネットワークにおける学習メカニズムは、ニューロ
ン間の結合荷重を、何らかの更新式に基づいて変更することに
より、ネットワークが望ましい出力を出すように学習させるこ
と。
• ニューラルネットワークにおける学習アルゴリズムは、ある入
力データに対する望ましい出力値が、教師信号(teacher signal)と
して具体的に与えられるか否かによって、教師付き学習
(supervised learning)と教師なし学習(unsupervised learning)に分類
される。
講義内容(第9回目B)
1.
2.
3.
4.
5.
単純パーセプトロン
単純パーセプトロンの学習
パーセプトロンの学習アルゴリズム
パーセプトロンの限界
2層ネットワークに対するデルタ則
階層型ネットワークの学習(1)
パーセプトロン
• パーセプトロン(perceptron)は,学習するパターン
識別機械を目指して,米国の心理学者 F. Rosenblattが
1950年代の終わりに提案.
• パーセプトロンモデルは,S (sensory)層,A
(association)層,R (response)層と呼ばれる3層からなる
階層型ネットワーク.ここで, S層,A層,R層は,
それぞれ,感覚層,連合層,反応層とも呼ばれる.
• パーセプトロンには幾つかの変形が提案されている
が,その中でも特に, R層には1個のユニットしかな
く,各層のユニット間には結合のないフィードフォ
ワードの3層の階層型ネットワークは単純パーセプト
ロンと呼ばれる.
階層型ネットワークの学習(1)
階層型ネットワークの学習(1)
単純パーセプトロン
単純パーセプトロン
•
•
•
•
単純パーセプトロンのモデル(別紙参照)
単純パーセプトロンの学習(別紙参照)
パーセプトロンの学習アルゴリズム(別紙参照)
パーセプトロンの限界(別紙参照)
階層型ネットワークの学習(1)
パーセプトロンの収束定理
• X+とX-が線形分離可能であれば,誤り訂正学習法に
より結合荷重値を


wt 1  wt   t p  o p x p
に従って修正すれば,パーセプトロンは有限回の学
習で, X+とX-を正しく分離できる.いいかえると,
有限回の学習で,全ての入力パターンベクトルに対
して正解を得るような結合荷重値が得られる.ここ
で,下付きの添字のtは学習回数を表すパラメータで
ある.
階層型ネットワークの学習(1)
2層ネットワークに対するデルタ則
1. デルタ則(別紙参照)
2. デルタ則の学習アルゴリズム(別紙参照)
3. デルタ則に関する証明(別紙参照)
講義内容(第10回目)
1.
2.
3.
4.
5.
BP (error back propagation)学習法
ロジスティック関数の適用
BP法の学習アルゴリズム
学習に関する工夫(モーメント法)
簡単な学習例
階層型ネットワークの学習(2)
誤差逆伝播(error back propagation: BP)法
• BP法は、入力層と出力層の間に任意の個数の隠れ層を設けた
フィードフォワードの階層型ニューラルネットワークに対する、
教師付き(supervised learning)法の1つで、ある入力パターンが与
えられたとき、その入力パターンに対する出力パターンが目標
出力(target output)と一致するように、ネットワークの各ユニッ
ト間の結合荷重を修正する学習法。
• BP法で扱う階層型ネットワークの特徴は、同一層内のユニット
間の結合、および、フィードバック結合のない階層型ネット
ワークを対象としていること、また、入力層のユニットだけは
与えられた入力をそのまま出力するが、隠れ層と出力層の各ユ
ニットは、パーセプトロンのようなしきい素子ではなく、準線
形素子と呼ばれる非線形の出力関数が用いられること。
階層型ネットワークの学習(2)
誤差逆伝播(error back propagation: BP)法
(誤差逆伝播法の考え方)
1.学習を行うための入力パターンと対応する目標関数の組の集
合を設定する.
2.入力層,中間層,出力層の順に,各ユニットの入出力を計算
する.(前進型処理と呼ぶ)
3.教師信号と,実際に得られた出力との2乗誤差を計算する.
4.得られた2乗誤差を最小にするように,出力層から入力層に向
かって,ネットワークの各層間の結合荷重を修正する.
(学習過程,あるいは、後進型処理と呼ぶ)
5.全ての入力パターンに対する2乗誤差が設定値以下になれば終
了.そうでなければ,2から4までの処理を繰り返す.
階層型ネットワークの学習(2)
誤差逆伝播(error back propagation: BP)法
1. BP (error back propagation)学習法(別紙参照)
2. ロジスティック関数の適用(別紙参照)
3. BP法の学習アルゴリズム(別紙参照)
4. モーメント法(別紙参照)
5. 簡単な学習例(テキスト37, 38頁)
階層型ネットワークの学習(2)
誤差逆伝播(error back propagation: BP)法
5.
階層型ネットワークの構造決定
階層型ネットワークにおける最大の問題点は,学習データと
未学習データの両方の入力データに対して望ましい出力を与
え,しかも構造の簡単なネットワークをいかに設計するかと
いうこと.
ここで,学習データ以外の未学習データに対しても望まし
い出力を与える学習能力を汎化能力(generalization ability),
逆に,学習データにあうように何度も学習を繰り返した結果,
未学習の入力データに対する性能が低下することを過学習
(over-learning)と呼ぶ.階層型ネットワークにおける隠れ層
の数や隠れ層のユニットの数は,学習の収束と汎化能力に影
響する.一般に,隠れ層の数と隠れ層のユニットの数を多く
すれば,学習の収束性は向上するが過学習となり,汎化能力
が低下する.