バックプロパゲーション(誤差逆伝搬)
従来のマカロック・ピッツモデルでは調整できる重みが一層しかない単層パーセプトロンでした。この単層パーセプトロンの限界を克服するために、ニューロンを多層に配置することを考えられた。入力層と出力層の間に、「隠れ層」と呼ばれる中間の層を作るのである。しかし問題は、多層にした場合どのように隠れ層の重みを調整するのかということであった。パーセプトロンの場合は出力と正しい答えとの誤差から直接重みの調整量が計算できたが、隠れ層の場合には間接的にその調整量を計算しなければならなくなるからです。このことを可能にしたのが「バックプロパゲーション(誤差逆伝搬)」という学習メカニズムです。

図1.多層パーセプトロン
心理学者出身のデヴィット・ラメルハートとコンピュータ科学出身のジェフリー・ヒントンは、「バックプロパゲーション」と呼ばれる学習メカニズムを考え、多層パーセプトロンの学習を可能にしました。
このバックプロパゲーションの学習アルゴリズムでも、第1ステップと第2ステップの二段階で学習が行われます。

図2.シグモイド関数を用いたニューロンモデル
第1ステップでは、単層パーセプトロンの場合と同様に各ニューロンの出力を計算していき、最終的なネットワークの出力を得る。そして、その出力と正しい答えとの誤差を計算して第2ステップへと移る。第2ステップでは、重みの調整をネットワークの出力に近い層から順に入力層まで遡って行う。この第1ステップと第2ステップの繰り返しをネットワークの出力誤差がある基準を満たすまで行っていくのである。

図3.バックプロパゲーション
パーセプトロンやバックプロパゲーションによるニューラルネットワークでは、入力パターンに対する正しい答えを得る「教師」が存在する。ネットワークはその正しい答えと出力との誤差を小さくするように重みを調整していくのである。このような「教師付き学習」のモデルは生物学的には非現実であるものの、脳の仕組みについて多くの示唆を与え、また工学的な応用の面でも実用的である。
【誤差逆伝搬法の概要】

図4.誤差逆伝搬法の枠組み
ネットワークを構成する素子の結合重み
と閾値
の値を変えることにより、入出力関係を変化させます。
・ あくまでも目標に対する近似を求める手段で、厳密に目的を果たすことは保証されていません。
・ パラメータの修正
E(誤差)の極小点を勾配法を用いて求めることで行います。
・ パラメータ等各条件の試行錯誤、長時間の計算によりうまくいくことが多いです。(図5)

図5.ニューラルネットワークのトレーニング
【誤差逆伝搬法(非線形関数の近似手法として)の意義】

図6.関数近似の枠組み
従来の非線形関数の近似法
・体系的計算法無し→評価関数の最小化として定式化→勾配法(偏微分)による最小値の探索
※一般には評価関数の偏微分が計算困難
NNによる非線形関数近似の特徴
・体系的、組織的計算法が存在する。
・アルゴリズム、ハードウェアが簡略になる。
・関数近似能力が理論的にされている。
・経験的にうまくいっている。
【誤差逆伝搬法のアルゴリズム】
誤差逆伝搬法:逐次更新学習法(訓練データ与えられる都度、重みを修正)

図7.逐次更新学習法の学習手続き
図7の内側の繰り返しループは、訓練データに関するループであり、毎回訓練データを選択して(Step1)、その訓練データに対する誤差評価尺度を小さくなるようにパラメータを修正する。そして、外側のループを全訓練データの誤差評価尺度が十分小さくなるまで繰り返し廻す。
Step 1 訓練データの選択
図6の内側のループの中で、最初の手続きとして、ここでL番目の訓練データを選択し、このデータに対して次の2ステップを実行します。
L層の訓練データ中のN番目の入力:
を
と書きます。
これらの2ステップの実行の間は、訓練データは固定するので、訓練データの識別に使用した変数右肩の数字は必要ありません。
Step 2 出力の計算

図8.誤差逆伝搬で学習するフィードフォワード型ニューラルネット
図8の3層フィードフォワード型ニューラルネットワーク(N=3,
K=3, M=3)を使用。
入力ノード数N=3、中間層素子の出力K=3、出力層素子M=3
入力層はノード(信号の中継点)から、他の層は決定的アナログモデルの素子から成る。

図9.出力計算モードにおける素子の動作
各層の各ニューロンに対して下記の計算をし、ネットワークの出力
を求める。
![]()
![]()
:第l層のj番目の素子の出力
:第l層のi番目の素子から第l+1層のj番目の素子への結線重み
※初期値に対称性(全て0か全て同じ値)があると勾配値が0となり、学習手続きが進行しないため、対称性を壊すために、重みの初期値には、乱数等でランダムな値を与える。
ネットワークの出力
と目標出力
は、最初は重みをでたらめに与えたので一致しません。勾配法の原理により、誤差評価尺度Eを小さくするように結線重みを修正します。閾値は結線の一つとして既に表されています。
![]()
各素子の出力値
はStep3で使用するので記憶しておきます。
Step 3 結合重みの修正

図10.誤差逆伝搬モードの信号の流れ
図10は、結線の重み修正時(誤差逆伝搬モード)の信号の流れを表わす。
図8との同一点:ノード数、素子数、素子間の結線構造、結線の重み
図8との相違点:素子の機能と信号の流れる方向

図11.誤差逆伝搬モードの素子機能
誤差逆伝搬モードでの各層の素子出力値zを、右側の層から順に下記の計算で求めます。
![]()
![]()
:右側からの入力(一番右側の入力は
i)
:右側の結線重み、y:Step 2で記憶されている自分の出力
:シグモイド関数のゲイン、
の時に、
このとき、ネットワークの出力
と目標出力
の誤差
を加えます。
この入力に伴い、素子出力
が右側の層から、次々と定まっていきます。

図12.結線重みの修正
結線重みの修正: ![]()
自分が接続している左側の層の素子の出力計算モードにおける出力値
と、自分が接続している右側の層の誤差逆伝搬モードにおける素子出力値
によって定まっています。
この作業を全訓練データの誤差評価尺度が小さくなるまで繰り返し行います。
誤差逆伝播法の特徴と問題点
誤差逆伝播を用いたニューラルネットワークの順伝播学習は、大きい計算時間を必要とし、大局的な最適解に落ち着くことは期待できません。しかし、マップの次元の多少に影響されず、ノイズに対しても精度の高い予測をえる事ができ、しかも高次元に対してもその一般化力は失われない特性があります。ニューラルネットワークは重みの数をWとするとWだけの計算時間を要し、訓練後はWだけで済むメリットがあります。ここでその特性を比較するため、事例ベース法の典型といえるNearest
Neighbor法とのパフォーマンスの違いを次の表1に示します。
| 近傍点探索法 | 誤差逆伝搬法 | |
| 収束 | 超高速 | 低速 |
| アクセス時間 | ||
| メモリ使用量 | ||
| 雑音耐性 | 弱〜普通 | 強 |
表1.Nearest Neighbor法との違い
ニューラルネットワークを適度に一般化する為の隠れ層のユニット数を決定する事は一般的に困難である。これはオンライン学習においては特にいえることであるが、前もってマッピングの複雑さを見積もることはできないからです。新しく経験した記憶が蓄積するにつれて、また古い記憶が時代遅れになり忘れ去られるにつれて、有効なデータ点の数は変化します。有意な細部を平滑化したり、ノイズを学習したりすることを避けるために、モデルの複雑さと基礎となる予測関数fの複雑さが同レベルにマッチする必要があるのです。これに関しては、基本的な逆伝播ネットのアプローチでは経験的なフィードバックに頼らざるを得ないのです。
パーセプトロンとの差
まずパーセプトロンに対して,バックプロパゲーションに用いられた改良点を考えてみます。
・中間層の結合荷重が学習によって変更できる
・出力関数はシグモイド関数を使う
・出力値は0から1の実数値である
中間層の結合荷重
パーセプトロンの特徴として,「中間層の結合荷重は変わらない」ということが挙げられます。中間層の結合荷重が変更できないということは、中間層は入力値を定数倍するだけになってしまいます。そのため見た目は3層のネットワーク構造をしていても実際は2層のネットワーク構造といえます。
2層のネットワークでは、入力が2つのときは,パターンをAND学習問題のように直線の両側に分けるような問題しか解けません。即ちXORパターン学習の様な非線形分離問題を学習する事が出来ないのです。
これが、パーセプトロンの限界と言われてきました。

図13.ANDのパターン(左)とその特徴的表現(右)

図14.XORのパターン(左)とその特徴的表現(右)
非線形分離問題
バックプロパゲーションでは、パーセプトロンを改良して、中間層の結合荷重も学習によって更新できます。パーセプトロンを多層にすると、隠れ層をうまく利用して複雑な形の領域分けができるようになるのです。まず、隠れ層の第1層目は単層パーセプトロンの場合と同様、一つの直線で空間を分ける。そして、それらの分類されたものを出力層で合成することができるのである(図15)。これによってXORを分類できるようになる。

図15.二層パーセプトロンによる特徴空間の分類
層が増えたときにどのような領域分けが可能になるかをまとめると図16のようになります。

図16.多層パーセプトロンによる特徴空間の分類
調整できる重みが二層ある場合には「凸領域」の空間をつくることができます。この場合、第1層にニューロンの数を増やせば、その分だけ角の数を増やすことができます。
層の数を増やして三層にすると、より複雑な形も分類できるようになります。二層目までに分類した凸領域の空間同士をさらに合成することによって、いかなる形も作ることができるのです。このように多層のネットワークでは、隠れ層によって特徴を抽出した結果をさらに出力層が分類することによってすることによってす複雑なパターンの学習を可能にしているのである。
出力値が0から1の実数値
また、これによりパーセプトロンの「0」と「1」の2値出力が,バックプロパゲーションでは「0から1までの実数値」の出力になった事も,パーセプトロンに対する改良点である.
従来の計量モデルとニューラルネットワークの比較
× 同時決定ができない:階層型では入力層に入る値は出力層に入る値にとって既知である必要がある。従って時系列データの場合ラグのある関係式しか扱えないという制約があります。
× 学習パラメータの問題:中間層のニューロンの数、学習係数や慣性係数など諸パラメータの一般的な決定法は現在のところ無く、適切な値を試行錯誤で探り当てるというプロセスが必要です。しかし、計量モデルの場合にも式の特定化には相関係数、符号条件、t値をはじめとする検定結果を踏まえ試行錯誤する必要があります。
× 局地解:重みの初期値によっては全体最小に達せず、局所最小に陥ってしまうという問題が残っています。
◎ 非線型関係が扱える:中間層が入るため非線型の複雑な関係でも自由に表現することができる。端的な例として排他的論理和の例を挙げることができる(排他的論理和は線型回帰では相関がゼロであるがニューラルではその関係が描写できる)。
◎ モデルの関数型をあらかじめ特定する必要がない:計量モデルでは関係を個別に最小自乗法による回帰で推計し、これらの集合を連立方程式体系として解いていく、という方法で行われる。しかし、現実の事象は要素間の関係が有機的で複雑、相互関係が強く線型関係で捉えきれないものが多い。
× 理論なき計測(measurement without theory):その反面、内部動作がブラックボックス化する、過去のパターンによる学習に基づくため過去にないパターンが出現した時の予測行動に課題がある、など幾つかの問題点もある。
BACK
for inqures and comments, email ryo@mail.vip.co.jp.
Copyright © 2001 RYO. All Rights Reserved.