专利汇可以提供Neural network and its learning method专利检索,专利查询,专利分析的服务。并且PURPOSE:To provide the neural network which can learn even a linearly unseparable pattern and the learning method for that by conquering the problem that a perceptron can not linearly be separated and the problem that the local minimum point of back propagation is reached. CONSTITUTION:In the neural network which has an input layer 1, an intermediate layer 2, and an output layer 3, a neural network model of low order consists of neurons of the intermediate layer 2 and input layer 1 which learn plural linearly separable patterns and a neural network model of high order consists of neurons of the intermediate layer 2 and output layer 3 which provide linearly unseparable patterns by integrating those linear separable patterns.,下面是Neural network and its learning method专利的具体信息内容。
【0001】
【産業上の利用分野】本発明は、ニューラルネットワークに関するもので、詳細には、線形分離不可能な入力パターンとそれに対する出力値(本明細書では、この入力パターンと出力値の組を「入出力パターン」という)でも学習できるニューラルネットワーク及びそれに対する学習方法に関する。
【0002】
【従来の技術】ニューラルネットワークについては、既にいくつかのモデルが提案されているが、最も基本的なものはパーセプトロンである。 これは、入力層と出力層との間の結合の重み(結合係数)のみを変化させる学習を基本とするものである。 その学習の方法は、それ以外の方法に比較して簡便な手続きで学習を実現できるという利点を有する。 ここでいう「学習」とは、出力が目標出力に近づくように重みを変えていくことである。
【0003】しかし、上記のパーセプトロンでは「線形分離」が不可能なパターンは学習できないという問題がある。 「線形分離」とは、2種類に分類されるパターンを、2次元の場合は直線で、3次元以上の場合は多次元平面で、各分類に分離することを意味する。
【0004】この線形分離不可能なパターンは学習できないというパーセプトロンの問題点は、バックプロパゲーション法によって解決される。 この方法は、多階層のニューラルネットワークモデルに適用可能であり、線形分離不可能なパターンも学習可能としている。 しかし、
バックプロパゲーション法は、基本的には目標出力と実際の出力との誤差の2乗関数を最小化する方法であり、
最急降下法と呼ばれる最適化の手法を用いているため、
与えられた入出力パターンから得られる誤差関数に局所最小点(ローカルミニマム)が存在すると、その局所最小点に陥って学習不能になる場合が生じる。 また、バックプロパゲーション法には、パラメータの調整や重みの初期値設定が面倒であり、入力層と出力層の間の中間層(隠れ層)を構成するニューロンの必要な個数の決定が困難で、計算量が多く、時間がかかるという問題点もある。
【0005】これに対し、多層構造のニューラルネットワークを構築するために必要なニューロンユニットを付加していく、次のようなアルゴリズムが提案されている。
【0006】その1つは、フィードフォワード階層ネットワークを構築するニューロンユニット層の数と各層のユニット数を決定するアルゴリズムであり、それによって収束するまで層或は層の中のニューロンユニットを付加していく(米国マサチューセッツ工科大学発行の“ N
eural Computation”Vol. 2, 198-209 頁, 1990
年。 著者 Marcus Frean )。
【0007】もう1つは、線形閾ユニットから成る多層パーセプトロンを構築するために、所定のルールにより必要に応じてニューロンユニットを付加していくアルゴリズムである(“Journal of Phisics A: Math. Gen.”
Vol. 22, 2921-2203頁, 1989年。 著者 Marc Mezard
及び Jean PierreNadal)。
【0008】しかしながら、これらのアルゴリズムは、
与えられた入力に対して所望の出力が得られるまで必要なニューロンユニットを付加していくものであるから、
最終的にネットワークを構築するまでニューロン層も各層を構成するニューロンも決まらず、それらの層及びニューロンの数も多くなり易い。 その結果、ネットワークの構成が複雑化し、高速処理も困難になる。
【0009】
【発明が解決しようとする課題】本発明の目的は、パーセプトロンの線形分離不可能という問題及びバックプロパゲーションの局所最小点に陥るという問題を克服すると共に、できるだけ少ない数のニューロンで線形分離不可能なパターンでも学習できるニューラルネットワークを構築することと、それに必要な中間ニューロンを自動的に生成する学習方法を提供することにある。
【0010】
【課題が解決するための手段】本発明の基本思想は、図1に示すように、線形分離不可能な入出力パターンPを線形分離可能なパターンQ 1 ,Q 2 ,・・・,Q nに分割し、それらを統合するパターンRを生成し、線形分離可能なパターンQ 1 ,Q 2 ,・・・,Q nを中間ニューロンで、統合パターンRを出力ニューロンで、それぞれ実現することにより、全体として線形分離不可能なパターンPの学習を可能としたことにある。
【0011】そのための手段として、本発明は、入力層と中間層と出力層とを含むニューラルネットワークにおいて、複数の線形分離可能なパターンQ 1 ,Q 2 ,・・・,Q n
を学習する中間層のニューロンと入力層のニューロンから成る下位のニューラルネットワークモデルと、それら複数の線形分離可能なパターンを統合して、線形分離不可能なパターンPを実現する中間層のニューロンと出力層のニューロンから成る上位のニューラルネットワークモデルとを構成する。
【0012】本発明のニューラルネットワークにおける学習方法は、フィードフォワード型のニューラルネットワークに対して、所定の学習手続きを実行し、与えられた線形分離不可能なパターンから複数の線形分離可能なパターンを作成するものである。
【0013】以下、本発明のニューラルネットワークの形成と学習方法について説明する。
【0014】(1)ニューラルネットワークの形成 前述のように、任意の入出力パターン(線形分離不可能なパターンPを含む)は、線形分離可能なパターンQ 1 ,
Q 2 ,・・・,Q nの組合せで表現することができる。
【0015】例えば、図2(a)に示すように、2次元座標で概念的に表わした多次元概念座標に黒丸(ON)
と白丸(OFF)の点で表示された2種類のパターンを考える。 問題は、これが線形分離可能か否かということである。
【0016】これらのパターンに対して、図2(b)に示すような直線a,b,c,dを導入すると、図2
(a)のパターンは、各直線の矢印方向(図の右上に向かう方向)の領域を表わす和集合と差集合で表現することができる。
【0017】まず、各直線が次の式で表わされるものとする。
【0018】a: w A T x =θ b: w B T x =θ c: w C T x =θ d: w D T x =θ 但し、 wは結合重みベクトル、 xは入力側のニューロンの状態値ベクトルであり、 Tは転置を示す。 θは閾値である。 また、図の場合、 w A > 0 , w B > 0 , w C >
0 , w D > 0 ,θ≧0とする。 以下、文字又は数字に付した下線はベクトルを表わす。
【0019】このようにすると、図2(c)〜(f)に示すように、各直線の矢印方向の点(黒丸)の集合は、
次式で表わされる領域に含まれる。
【0020】(c)の黒丸点の集合: w A T x >θ (d)の黒丸点の集合: w B T x >θ (e)の黒丸点の集合: w C T x >θ (f)の黒丸点の集合: w D T x >θこれらの領域(集合)をそれぞれA、B、C、Dと書き、和集合の演算を〈+〉、差集合の演算を〈−〉で表わすと、図2(b)
のように分離される2種類の点から成るパターンは、 {(A〈−〉B)〈+〉C}〈−〉D と表わされる。
【0021】一方、領域A、B、C、Dにある変数ベクトルxが各領域に含まれるか否かは、L( w A T x −
θ),L( w B T x −θ),L( w C T x −θ),L( w D T
x −θ)の値がそれぞれ1か0かで示される。
【0022】但し、Lは変数zに対して次のように1又は0となる閾値関数である。 z≧0のとき、L(z)=1 z<0のとき、L(z)=0 上式に各領域を表わすベクトルwを適用することにより、式の値が1であれば、変数ベクトルxはwで表わされる領域にあることになる。
【0023】更に、 x A =L( w A T x −θ) x B =L( w B T x −θ) x C =L( w C T x −θ) x D =L( w D T x −θ) とおくと、図2(b)のパターンは次式で表わされる。
【0024】 y=L((θ+ε) x A −2εx B +2εx C −2εx D −θ) 但し、εはε<θなる正の数である。
【0025】なお、x A ,x B ,x C ,x Dの各々の係数(θとεで表わされる)の値は、厳密に上式の通りでなくても、x A ,x B ,x C ,x Dとyとの間の入出力関係が上式と同じであれば、どんな値でもよく、更に広く言えば、上式の形をとらなくてもよい。
【0026】yは、図2(a)の黒丸に対して値1をとり、白丸に対して値0をとる。 このようにすれば、元の入出力パターンが線形分離不可能であっても、それを線形分離可能なパターンに変換し、ニューラルネットワークモデルで表現することができる。
【0027】以上を一般化するならば、x A ,x B ,x
C ,x Dの代わりに、x 1 ,x 2 ,x 3 ,x 4として x 1 =L( w A T x −θ) x 2 =L( w B T x −θ) x 3 =L( w C T x −θ) x 4 =L( w D T x −θ) とおき、 y=L((θ+ε) x 1 −2εx 2 +2εx 3 −2εx 4 −θ) とする。 更に必要であれば、x 5 ,x 6 ,x 7 ,・・・・・
というように増やしていけばよい。
【0028】上記の一般式は、図3に示すような入力層1、中間層2、出力層3から成る3層構造のニューラルネットワークにおいて、中間層2のニューロンの状態値x 1 ,x 2 ,x 3 ,・・・ と出力層3のニューロンの状態値yとの関係を示す。 なお、入力層1は複数(n)個のニューロン(状態値x 1 ,x 2 ,・・・・・ ,x n )で、出力層3は1個のニューロン(状態値y)でそれぞれ構成され、これらのニューロンは予め与えられる。
【0029】図3において、中間層2と出力層3との間の結合係数は、中間層2のニューロンによって実現される線形分離可能なパターンの組合せで元の入出力パターンを実現するように決定される。 具体的には、中間層2
と出力層3との間の結合係数は、前述のように正の数ε
を用いることにより、1番目から奇数番目までの中間ニューロンに対する出力ニューロンからの結合係数の総和(θ+ε)が閾値θよりも大きく、1番目から偶数番目までの中間ニューロンに対する出力ニューロンからの結合係数の総和(θ−ε)が前記閾値θよりも小さくなるように決定される。
【0030】以上の数学的モデルの基礎となる閾値関数L( w T x −θ)は、マッカロー・ピッツ(McCulloch,
Pitts)のモデルとして知られているものであり、これはハードウエアでもソフトウエアでも実現可能であるから、図3のニューラルネットワークモデルも実現できる。
【0031】(2)線形分離可能なパターンの作成 線形分離不可能なパターンに対して、上位のニューロン(中間層と出力層)の間の結合係数(重み)が上記(1)のように決められたニューラルネットワークにおいて、線形分離可能なパターンを作成するために、下位のニューロン(入力層と中間層)の間の結合係数(図3
のw j i ,i=1,2,・・・・,n;j=1,2,・・・・,
k)を次のような学習手続きによって決定し、そのように結合係数が決定されたニューラルネットワークモデルにより、線形分離不可能な入出力パターンの変換を行う。
【0032】[学習手続き]目標出力と実際の出力が同じ場合は、重みの変更を行わない。
【0033】目標出力と実際の出力が異なる場合は、
【0034】
【0035】で表わされるαを用いて、次式により重み
w dを変更する。
【0036】 w d+1 = w d +α* xなお、dは反復計算の繰返し数(イテレーション)を示す添字である。
【0037】以上の学習手続きを行い、入力パターンの全てについて上記結合係数w dの変化が0でないかどうかをチェックする。 もし0で、かつ目標出力と実際の出力とが一致しないパターンがある場合には、線形分離不可能なパターンを学習していることになる。 その場合は、それ以降に目標出力と実際の出力とが異なるパターンを記憶し、線形分離不可能なパターンの元になる「線形非分離核パターン集合」と称する線形非分離要素の集合を得る。 これについては、後で詳細に説明する。
【0038】以上の手順において、学習するパターンが線形分離可能な場合は上記の学習手続きによって学習することができ、全体の学習も終了する。 一方、学習するパターンが線形分離不可能な場合は、上記の学習手続きによって線形非分離核パターン集合が得られる。 そこで、得られた線形非分離核パターン集合の中から2種類のパターンの一方、例えばON/OFF2つの種類のうちOFFのパターンを適当に選ぶ。 このときの選び方は、例えば、入力パターンのノルムが最大のものを選ぶようにする。 そして、選んだOFFパターンをONに変更することで、変換が行われる。
【0039】新しく得られた入出力パターンを元にして再度学習を行い、所定の終了条件(後述)が満たされた時に割当てを終了する。 終了条件が満たされない場合には、線形非分離核パターン集合を求め、その中のOFF
パターンの1つをONパターンに変更する。 以上の処理を、全てのパターンについて線形分離可能となるまで繰り返す。
【0040】上記の手続きで線形分離可能なパターンが得られる。 その結果は、図2(c)に対応する。 次に図2(d)のようなパターンを得るためには、図2(c)
と元のパターンすなわち図2(a)との差を新しい元パターンとし、この新たに決めたパターンについて更に線形分離可能かどうかを調べるために、前述の処理を行う。
【0041】以上の手続きを2つのパターンの差が線形分離可能なパターンとなるまで実行し、その後、各パターンに対応する重みを持つ中間層のニューロンを含む図3のようなニューラルネットワークにより、初めに与えられた入出力パターン(線形分離不可能なパターンを含む)の学習が達成される。 図3については、後で詳細に説明する。
【0042】また、本発明は、図3のような3層構造のみならず、例えば図21に示すように、必要に応じて中間層2を複数の層で構成する多層構造に拡張できる。 図21に示した例では、中間層2は3層の中間ニューロンから成り、中間層2の入力側から1番目の層と3番目(すなわち出力側)の層の中間ニューロンは、学習の進行と共に必要に応じて生成され、2番目の層の中間ニューロンは、入力側の1番目の層の中間ニューロンに対して予め出力ニューロン(図3の出力ニューロンyに相当)として設けられるものである。 図21についても、
後で詳細に説明する。
【0043】以上から、本発明のニューラルネットワークは、入力信号を受ける複数の入力ニューロンから成る入力層と、該入力ニューロンから信号を受けて所定の処理を行う1又は複数の中間ニューロンから成る中間層と、該中間ニューロンから信号を受けて所定の処理を行い出力信号を生成する1又は複数の出力ニューロンから成る出力層とで構成されるものにおいて、入力層と中間層との間の結合係数は、学習によって決定され、中間層と出力層との間の結合係数は、与えられた所望の入出力パターンを前記中間ニューロンによって実現される線形分離可能なパターンの組合せで実現するように決定され、中間層は1層又は複数の層から成り、そのうちの少なくとも1層の中間ニューロンが、学習の進行と共に、
所定の手続きにより必要に応じて生成されることを特徴とする。
【0044】本発明のニューラルネットワークにおける学習方法は、与えられた入出力パターンが線形分離可能か否かを判定すると同時に、線形分離可能な入出力パターンについては、入力層には入力パターンを、中間ニューロンには対応する所望の出力値をそれぞれ与え、該中間ニューロンに対して所定の学習手続きを実行し、出力層と中間層の間の結合係数は、中間ニューロンの信号と、該中間ニューロンの信号を入力とする出力ニューロンからの出力信号とが等しくなるように決定し、線形分離不可能な入出力パターンについては、中間層と入力層の間に、所定の学習パターン決定方法によって決定したパターンを割り当てて、中間ニューロンに対して前記所定の学習手続きを実行し、該中間ニューロンによって実現される線形分離可能なパターンの組合せで元の入出力パターンを実現するように出力層と中間層の間の結合係数を決定することを特徴とする。
【0045】
【作用】本発明によれば、線形分離可能な入出力パターンに対しては、入力層に入力パターンを、中間ニューロンには対応する所望の出力値をそれぞれ与え、中間ニューロンに対して学習手続きを実行することにより、出力層と中間層の間の結合係数を決定する。 線形分離不可能な入出力パターンに対しては、中間層ニューロンによって実現される線形分離可能なパターンの組合せで元の入出力パターンを実現するように中間層と出力層の間の結合係数を決定し、入力層と中間層の間には、その線形分離可能なパターンを割り当てて学習させる。
【0046】上記のように、入力層と出力層との間の隠れ層を構成する中間ニューロンを自動的に生成することにより、線形分離不可能な入出力パターンを線形分離可能な入出力パターンに分割して、それらを統合するネットワークモデルを形成し、全体として線形分離不可能な入出力パターンの学習を可能にするニューラルネットワークが実現される。 ここで、入力層と出力層は予め定められ、中間ニューロンのみが最少数又はそれに近い数で決定されるので、汎化能力が高く、情報処理などの高速化も達成される。
【0047】後述の実験結果によると、4入力1出力のパターンの学習では、入力が全て0のパターンを除き、
全ての入出力パターンが学習できた。 また、その学習の速さは、バックプロパゲーション法の約 500倍であった。 入力が全て0のパターンについては、本発明の基本構成の拡張又は改変によって学習することができる。
【0048】
【実施例】本発明をより詳細な数学モデルによって詳細に説明する。 説明は、以下の項目に分けて行う。
【0049】線形分離可能性 線形分離可能割り当てアルゴリズム 分離超平面の決定 全体のアルゴリズム 線形分離可能性 各ニューロンの入出力関係は、
【0050】
【数1】x out =h( x T w −θ) (1) と表わされるものとする。 ここで、変換関数hは
【0051】
【数2】h(z) =1(z>0のとき) h(z) =0(z>0のとき) (2) で表わされる連続な閾値関数である。
【0052】但し、 xはn次元の2値ベクトル(ブーリアンベクトル)で、入力側のニューロンの状態値を表わす。 x outは2値スカラーで、出力側のニューロンの状態値を表わす。 w ∈R nは入力側ベクトルxに対応するシナプスの結合重みベクトル、θ∈R 1はニューロンの閾値であり、正の定数とする。
【0053】ここで、「学習」とは、m個のn次元2値ベクトルxの入力に対して、式(1)のニューロンモデルによって構成されるネットワークの出力x outが所望の値となるように結合重みwを変更していく過程をいうものとする。
【0054】すなわち、m個の入力ベクトルx =(x
i )の集合をXとし、目標出力値が1であるような入力ベクトルの集合をONパターン集合、目標出力値が0であるような入力ベクトルの集合をOFFパターン集合と呼び、それぞれX ON ,X OFFと表わす。 更にこれらの集合の要素をそれぞれ「ONパターン」、「OFFパターン」と呼び、次の仮定をおく。
【0055】仮定 a: X ON ∩X OFF =φ(空集合) ここで、
【0056】
【数3】h( x T w −θ)= 1 ( x ∈X ON ) h( x T w −θ)= 0 ( x ∈X OFF ) (3) を満たすw 、すなわち
【0057】
【数4】 x T w >θ ( x ∈X ON ) x T w <θ ( x ∈X OFF ) (4) なるwを求める過程が「学習」である。
【0058】上式の解wが存在するとき、パターン集合X ON ,X OFFを強い意味で分離する超平面
【0059】
【数5】 x T w =θ (5) が存在する。 このとき、集合X ON ,X OFFは「線形分離可能」であるという。 そうでないとき、集合X ON 、X
OFFは「線形分離不可能」であるという。
【0060】2値ニューラルネットワークの学習において、前記マッカロー・ピッツのニューロンモデルを用いる限り、2層間では線形分離可能なパターンしか扱えない。 そのため、線形分離不可能なパターンを学習する場合は、3層以上のネットワークを用い、各層間では線形分離可能な入出力関係を扱いつつ、全体として線形分離不可能な入出力関係を実現しなければならない。 3層以上のニューラルネットワークにより任意の入出力関係が実現できることは、既に証明されている。
【0061】3層以上のネットワークに対する学習アルゴリズムを考える場合、中間層の教師信号をどう決定するかが問題となる。
【0062】これらの問題を解決する手法として、本発明では、以下のような線形分離不可能なパターンを線形分離可能な複数のパターンに分割し、それらを入力層と中間層の間に割り当てて学習させるパターン割り当て法を考えた。
【0063】線形分離可能割り当てアルゴリズム 線形分離不可能な学習パターンに対して、中間層に適切な目標出力を与えることを考える。 この手法を説明するために、図4のような学習パターンを考える。
【0064】図4は、線形分離可能割り当ての例を示す。 すなわち、一般的なx (ベクトル)空間において、
与えられた学習パターンに対し、半空間S k ON (k=
1,…,5)が決定される場合の一例である。 図の矢印側の空間がS k ONの領域を示す。
【0065】図4において、aからiまでの文字を付けた点のうち黒点をONパターン、白点をOFFパターンとすると、パターン集合X ON , X OFFは次のようになる。
【0066】X ON ={b,c,f,g,i} X OFF ={a,d,e,h} これらは、明らかに線形分離不可能である。 しかし、例えば、図4のように超平面(2次元の場合、直線)を配置し、これらの超平面で表わされる半空間(図の矢印側)をそれぞれ
【0067】
【数6】 S 1 ON ={ x | w 1T x >θ} : S 5 ON ={ x | w 5T x >θ} (6) と表わすと、これらの半空間にパターンxが含まれるかどうかは、ニューロンモデル(1)を使って、
【0068】
【数7】 x 1 =h( w 1T x −θ) : x 5 =h( w 5T x −θ) (7) と表わされる各ニューロンの状態値が1をとるかどうかで判断できる。 第1番目のニューロンx 1により、半空間S 1 ONが実現される。 x 1により、パターンaとb,
c,f,g,iの目標出力(OFFパターンとONパターンの分離)は実現されるが、OFFパターンd,e,
hの分離は実現されない。 これも実現するために、S 1
ONからS 2 ONをとった差集合S 1 ON −S 2 ONを考える。
【0069】S 1 ON −S 2 ONは、ニューロンモデル(1)より、 x 1 , 2 =h((θ+ε)x 1 −2εx 2 −θ) で表わされるニューロンの状態値が1かどうかで判断できる。 x 1 , 2により、パターンa,b,c,d,e,h
に対しては所望の出力値が得られるが、f,g,iに対しては満足されていない。 そこで、f,g,iも実現するために、S 3 ONを付け加えて (S 1 ON −S 2 ON )∪S 3 ONという集合を考える。 この集合に対して得られる x 1 , 3 =h((θ+ε)x 1 −2εx 2 +2εx 3 −θ) は、hを除くすべてのパターンを実現している。
【0070】以上の議論をすべてのパターンに対して所望の出力が得られるように進めていくと、所望の出力y
を与えるニューロンは、
【0071】
【数8】 y=h((θ+ε)x 1 −2εx 2 +2εx 3 −2εx 4 +2εx 5 −θ) (8) で表わされる。 ただし、ε>0とする。 式(7),
(8)を一般的に書くと、
【0072】
【数9】 x k =h( w kT x −θ) (9)
【0073】
【数10】 y=h((θ+ε)x 1 −2εx 2 +2εx 3 …・ −θ) (10) と表わされ、図3のようなネットワークで実現できる。
【0074】図3は、本発明によるニューラルネットワークの構成を示す。 中間層2のニューロン数kは、アルゴリズムによって必要な数だけ確保される。
【0075】出力層3と中間層2の間の重み係数は、x
1 〜x out間のみθ+εの値をとり、x 2以降は−2
ε,2εが交互に与えられる。
【0076】線形分離不可能な学習パターンを実現するためには、与えられた学習パターンに対して、前述のようにONパターンのみとOFFパターンのみを交互に仕切るような分離超平面を決定すればよい。
【0077】これらの分離超平面が決定できれば、後はONパターンとOFFパターンが交互に分離超平面で仕切られている状態を表現するため、式(8)のように出力ニューロンyから中間層の初めのニューロンx 1に対する結合重みを閾値θよりεだけ大きくし、2番目以降のニューロンx 2 ,x 3 ,…, x kに対する結合重みは、絶対値が2εで符号が交互に変化したものにすればよい。
【0078】ところで、図4の半平面S 2 ONの向きが正反対を向いていると、x 1のみONの領域がx 2に打ち消され、x 1 , 2は常にx 2と同じ値をとることになる。
【0079】このようにS 2 ONが決定されることを防ぐためには、
【0080】
【数11】 (S k+1 ON ∩X)⊂(S k ON ∩X) (11) が満足されなければならない。
【0081】以上の議論および入力パターン集合Xがブーリアン集合であることを考慮すると、パターン割り当て法のアルゴリズムは、一般的に次のように書ける。
【0082】 アルゴリズムα (線形分離可能割り当てアルゴリズム) [ステップ1]イテレーション(繰返し)番号をk,後述の入力ベクトル集合をx kで表わしたとき、初めに X 0 =X(入力パターン集合),X 1 ON =X ON (ONパターン集合),X 1 OFF =X OFF (OFFパターン集合),k=1とする。 [ステップ2]X k-1を、X k ONの全要素を含む半空間とX k OFFの要素のみを少なくとも1つ含む半空間とに分離し、式(11)の条件を満たす超平面、すなわちw kT x >θ, ∀ x ∈X k ON w kT x <θ, ∃ x ∈X k OFFかつ
【0083】
【数12】 { x ∈X| w kT x >θ}⊂X k-1 (12) となる超平面
【0084】
【数13】 w kT x =θ (13) を求める。
【0085】この超平面のX k ON側の半空間に含まれる入力ベクトルの集合をX kとする。 すなわち
【0086】
【数14】 X k ={ x ∈X| w kT x >θ} (14) [ステップ3]X k =X k ONならば終了。 そうでなければ
【0087】
【数15】 X k+1 ON =X k −X k ON X k+1 OFF =X k ON (15) とし、イテレーションkをk+1と更新してステップ2
へ行く。
【0088】このアルゴリズムは、各イテレーション毎に、超平面w kT x =θで学習パターンX k-1を集合X k
ONとX k OFFとに分離しようとする。 そのように分離できた場合は終了し、そうでなければ、X k ONの全ての要素を含む半空間とX k OFFの少なくとも1つの要素を含む半空間とに超平面w kT x =θで分離するものである。
【0089】この分離の際には、前述したように式(1
1)が満たされなければならない。 そのため、この式と等価な条件式(12)をアルゴリズムに加えている。 この条件と式(14)により、 X k+1 ⊂X kとなり、X kはイテレーション毎に要素数を少なくとも1つ減らす。
【0090】超平面w kT x =θによって集合X k ONと分離される半空間には、X k OFFの要素のみが存在し、これらの要素は、この超平面でX kと分離されている。 一方、この超平面のX k ON側には、X k ONの全要素とX k
OFFの残りの要素が分離しきれずに混在している。 そこで、次のイテレーションでは、現イテレーションで分離できなかったX k ONとX k OFFの一部を分離することを試みる。
【0091】このとき、単にONパターンとOFFパターンを分離するだけでなく、図4の例で考えたように、
ONパターンとOFFパターンを交互に分離する超平面を決定し、且つ、上掲の式(10)で示されているように、和集合と差集合を交互に使用してX k ONを表わさなければならない。 そのため、分離しきれなかった集合X
k ONの全体とX k OFFの一部の目標出力を反転し、次のイテレーションにおける学習パターンとする。
【0092】X k ONの反転は、上記(15)の第2式のようにX k ONをそのままX k+1 OFFに置き換えればよい。
しかし、X k OFFについては単純にはいかない。
【0093】超平面w kT x =θによって分離される、X
k ONを含まない半空間内のX k OFFの要素は、既にOFF
又はONパターンのみとなっている(イテレーションによって異なる)ので、超平面の反対側にあるX kの他の要素とは分離されている。 これらの要素は、図4で考えると、既に仕切られたパターンとみなされる。 上記の式(12)の条件から、後のイテレーションで求める超平面のON側に、これらのパターンが含まれることはなく、それらの出力値は変化しない。 そのため、これらをXから除外した集合X k内のX k OFFの要素の反転を行う。 従って、上記(15)の第1式のようにX kからX
k ONを差し引いたものをX k+1 ONと更新する。
【0094】以上の更新により、X k ONとX k OFFは、元のON、OFFパターン集合の部分集合をイテレーション毎に反転させたものとなる。 すなわち
【0095】
【数16】X k ON ⊂X ON (kが奇数の場合) X k ON ⊂X OFF (kが偶数の場合) (16) X kは図4のS k ONに対応し、X ONは X ON =(X 1 −X 2 )∪ ・・・・ ∪(X k-1 −X k )
(kが偶数) X ON =(X 1 −X 2 )∪ ・・・・ ∪X k
(kが奇数) と表わされる。
【0096】ところで、アルゴリズムαのステップ2の条件を満たす分離超平面(13)の存在は、下記の[定理1]により保証される。
【0097】[定理1] n次元ブーリアンベクトル集合B nの任意の唯一点は、残りの集合から強い意味で分離可能である。
【0098】(証明)集合B nから任意の要素x aをとりだして考える。 B nからx aを差し引いた集合をUとする。 x aがUの要素の凸結合で表されるかどうかを調べる。
【0099】U={ x 1 , x 2 ,…, x q ∈B n } とする。
【0100】 x aがUの要素の凸結合で表されると仮定すると、 x aは次式で表わされる。
【0101】
【数17】
【0102】ベクトルx a , x 1 , x 2 ,…, x qの要素は0
または1であり、すべて異なるベクトルである。 したがって、各ベクトルの要素x 1j , x 2j , …, x qjのうち、
少なくともどれか1つの要素が他と異なる値をもつjが存在する。 式(17)の第1式の右辺の要素
【0103】
【0104】は、ただ1つのμ iだけが1の場合は、x
ijの値つまり0か1になる。 しかし、ただ1つのμ iだけが1をとるとすると、 x aとx 1 , x 2 ,…, x qはすべて異なるベクトルなので、式(17)の第1式は成り立たない。 また、2つ以上のμ iが非零であると仮定すると、すべてのjに対して
【0105】
【数18】
【0106】とならずに、
【0107】
【0108】が0か1の値をとるためには、0でないμ
iに対するx iがすべて同じベクトルとならなければならない。 これは、 x 1 , x 2 ,…, x qがすべて異なるベクトルであることに反する。 従って、式(17)を満たすようなμ i ,i=1, …, qは存在しない。 よって、 x a
はUの要素の凸結合で表わされないことになり、 x aはUの凸包に含まれない。
【0109】以上から、Uの凸包はx aを含まないことが言えた。 このことと下記の分離定理より、Uの凸包と
x aが超平面で分離できると言える。
【0110】[分離定理] ΓとΛがR nの2つの空でない凸集合であり、Γはコンパクトで、Λは閉であるとする。 ΓとΛが交わらないとき、ΓとΛを強い意味で分離する平面{x|x∈R n , c・x =α}( c ≠ 0 )が存在する。 逆もまた成立する。 言い換えると、
【0111】
【0112】が成立する。
【0113】Uの凸包とx aが超平面で分離できるということは、Uがx aと超平面で分離できることと同じである。 しかし、この分離超平面w kT x =θを求めることは、一般に容易ではない。 そこで分離超平面ではなく、
元のパターンのうちいくつかのOFFパターンをONパターンと入れ換えることで、これらの分離超平面を求めるための半空間を規定することを考える。 これらのパターンは当然、線形分離可能でなければならない。 本発明は、これらのパターンを中間層のニューロンに与えて学習させることにより、前述の分離超平面を得ようとするものである。
【0114】このように、元のパターンに対して生成した複数の線形分離可能なパターンを中間層のニューロンに割り当てて学習させることから、この手法を「線形分離可能割り当て法」(Linearly Separable Allocation
Method)と呼ぶこととする。 以下、これを“LISA”
と略記する。
【0115】分離超平面の決定 上掲の定理1により、アルゴリズムαのステップ2の条件を満たす分離超平面をどのように決定するかが、次の問題(原問題)となり、それは、前掲の式(4)で表わされるwを求めることと等価である。
【0116】例えば図2(a)に示したように、与えられたパターンが線形分離可能でない場合、その原因となるパターン集合が得られたとする。 その線形分離不可能の原因となるパターン集合のON、OFFパターンを入れ換えることによって、パターン全体を線形分離可能となるようにすることができる。 本発明では、この線形分離不可能性の基になるパターン集合を「線形非分離核パターン集合」(Linearly Unseparable Core Pattern Se
t )と呼ぶこととする。 以下、これを“LUCPS”と略記する。
【0117】以下では、このLUCPSを定義するため、前提となる「双対問題」について説明し、その後、
LUCPSを実際に求めるための、「原問題に対する最適化問題」を導く。 更に、その最適化問題の最適性条件と線形非分離核パターンとの関係、及びLUCPSの抽出法について説明する。
【0118】−1 双対問題 準備として、前述のONパターン集合X ON及びOFFパターン集合X OFFから、次式で表わされる添字集合I ON , I OFFを作る。
【0119】I ON ={i| x i ∈X ON } I OFF ={i| x i ∈X OFF } ここで、次の補助定理1を原問題(4)に適用し、定理2を得る。
【0120】[補助定理1] 行列A∈R m*nとベクトルb ∈R mが与えられたとき、 I. A x > bには解x∈R nがある。 又は II. A T y = ο , b T y ≧0, y > 0には解y ∈R
mがある。 しかし、IとIIは同時には成立しない。 但し、 y >
0は、 yの全ての要素が0以上で且つ少なくとも1つの要素が0でないことを示す。
【0121】(証明)上記のIは I'. ξ>0,A x − b ξ> οには解x ∈R n (ξ∈
R)がある。 と同等である。 これに Gordan の定理を適用すると、
I' が成立するか、又は II'. A T y = 0 ,( y T , b T y ) > 0には解yがある。 しかし、I' とII' は同時には成立しない。
【0122】ここで、 y = 0とすると必ずb T y =0なので、 ( y T , b T y ) > 0はy T > 0 , b T y ≧0 と同値。 よってIが成立するか、そうでなければIIが成立する。
【0123】[定理2]ある固定した正の値をもつθに対して、 I. x T i w >θ,i∈I ON x T i w <θ,i∈I OFFに解wが存在する。 又は II.
【0124】
【数19】
【0125】に解λが存在する。 しかし、IとIIは同時に成立しない。 (証明)次のように学習パターン行列V∈R M*Nを作る。
【0126】
【数20】
【0127】とし、 v i ,(i=1,2,…,m)から行列Vを
【0128】
【数21】
【0129】とおく。 また、同様に
【0130】
【数22】
【0131】とおく。 すると、Iは I'. V w > γに解wが存在する。 と同等である。 補助定理1よりI' が成立するか、または II'. V T λ = 0 , γ T λ ≧0, λ > οに解λが存在する。 しかし、I'とII' は同時に成立しない。
【0132】II' を式(21)を使って書き換えると
【0133】
【0134】更に、式(20)及び(22)より、
【0135】
【数23】
【0136】θは固定された正の数であるので、式(2
3)の第2式は
【0137】
【0138】となる。 従って、Iが成立するか又はIIが成立する。
【0139】それぞれの解が同時に存在しないことから、式(19)で表わされる問題を原問題(4)の「双対問題」と呼ぶ。 双対問題(17)の解λは、ON、O
FFパターンベクトルの一次結合が等しくなるように決めた正の結合係数とみなすことができ、更に、ONパターンに対する結合係数の総和がOFFパターンの結合係数の総和以上であることを示している。
【0140】双対問題は、次のように書き換えられる。
【0141】
【数24】
【0142】この式(24)は、ONパターン集合X ON
の凸結合の一部がOFFパターン集合X OFFの凸結合と原点が作る錘体に含まれる場合に解μを持つことを示している。 この意味は、概念的に図5で示される。
【0143】図5は、x空間における双対問題の意味を示す。 原点とOFFパターン集合の凸結合のなす錘体の中にONパターン集合の凸結合が含まれる場合に双対問題は解をもち、原問題は解を持たない。 図5(a)は双対問題に解がなく、原問題に解がある場合、(b)は双対問題に解があり、原問題に解がない場合である。
【0144】図5より、線形分離可能性は全てのパターンの相対的な位置関係によって決まることがわかる。 しかし、図6に示すように、線形分離不可能なパターン集合の場合、その一部のONパターンとOFFパターンの入れ換えにより、元のパターンを線形分離可能なパターンに変換することができる。
【0145】図6は、線形分離不可能パターンの変換を示す。 (a)の線形分離不可能パターンでは原点とOF
Fパターン集合の凸結合のなす錘体がONパターン集合の凸結合を含んでいる。 そこで、(b)のように、この錘体をなすOFFパターン集合の一部(OFFパターン集合の左上の2点) をONパターンに変更することにより、OFFパターンと原点のなす錘体はONパターンを含まなくなる。
【0146】図5及び図6において、OFFパターン集合X OFFの凸結合と原点が作る錘体にONパターン集合X ONの凸結合の一部が含まれるということは、問題(1
8)を満たす解μが存在することであり、それは問題(17)の解λに対応する。 このλは、X ONとX OFFのそれぞれの要素の線形結合が一致する場合の結合係数である。 もし、この結合係数λの成分が0のものと正のものとに分けられるとすると、その正成分が双対問題の解を決定していると考えられる。 すなわち、そのときのλ
の正成分が原問題の線形分離不可能性に関与していることを示している。
【0147】一般に、パターン数が次元数よりも大きければ、全てのパターンは一次従属になり、殆どのパターンに対する双対問題の解λは正となり得る。 しかし、ブーリアンベクトルの場合は成分値が0か1のため、これらのパターンの張る空間の次元は連続値のパターンに比べて小さいものとなる。 但し、学習パターン数がn次元の入出力パターンのとり得る全ての組合せの数に近いパターン数である場合には、その限りでない。 しかし、このような場合は一般的でない。
【0148】この結果から、双対問題の解の正成分が求まれば、そのOFFパターンを適宜ONパターンに変更することにより、前記アルゴリズムαのステップ2で求めたい線形分離可能なパターン集合X k-1が得られるはずである。 このようにして得られた線形分離可能なパターン集合X k-1を学習によって実現する中間層と、それらを統合する出力ニューロンを、アルゴリズムαに従って元のパターンを再構成するように決定すれば、元の線形分離不可能なパターンが実現できる。
【0149】以上を前提として、線形分離不可能性の基になるパターン集合である「線形非分離核パターン集合」を次のように定義する。
【0150】[定義1] 前掲の双対問題(17)の解
λ =[λ i ]の非零の要素に対するパターンの集合I LU
を、線形非分離核パターン集合(LUCPS)と定義する。 すなわち、 I LU ={i|λ i >0} 連立方程式が可解かどうかを調べる掃き出し法にλ >
0という条件を入れることにより、双対問題の解を求めることが可能である。 しかし、問題の次元数、パターン数の増大に対して組合せ爆発を起こしてしまう。
【0151】故に、以下では、より現実的な実現方法について説明する。
【0152】−2 原問題に対する最適化問題 ここでは、線形非分離核パターン集合I LUを求めるための最適化問題を定式化する。
【0153】収束を速めるためにONパターン、OFF
パターンそれぞれに、次のような変換関数を導入する。
【0154】
【数25】
【0155】これらの関数は、図7のように表わされ、
共にz=0で微分不可能となる。
【0156】h ONは、前掲の式(2)の変換関数から変形して作られ、引き数が正、すなわち原問題が許容である部分はhと等しい。 引き数が負、すなわち原問題が非許容である部分は線形になっている。
【0157】シグモイド関数では、引き数が0の近傍でしか傾きが存在しないのに対し、上記の変換関数は、原問題が非許容な部分では、常に一定の傾きが得られる。
そのため、学習時に結合重みw kの値に関わらず、安定かつ高速な収束が可能となる。 h OFFも同じ理由から、
式(25)のような表現となっている。
【0158】上記のように、ONパターンとOFFパターンの各々に対して変換関数h ON ,h OFFを割り当て、
各パターンを別個に考えてみると、h ONの最大化により、ONパターンを実現する重みが求まり、h OFFの最小化によりOFFパターンを実現する重みが求められる。 ONパターンとOFFパターンについて、同時にこれらの操作を行うために、次の最適化問題を考える。
【0159】
【数26】
【0160】h ONと−h OFFの総和の最大化により、O
Nパターンに関しては出力が1の領域方向、OFFパターンに関しては出力が0の領域方向に、解探索が行われる。 入力パターンが線形分離可能であれば、次の問題の解は原問題(4)の許容解を与える。 式(26)は関数
【0161】
【数27】
【0162】の最大化問題であるが、h ONは凹関数、h
OFFは凸関数なので、φはwに関して凹関数となり、φ
の局所最大点=大域的最大点となり、上記の問題(2
0)は、微分不可能最適化問題のための勾配法で解くことができる。
【0163】−3 最適性条件と双対問題の関係 ここでは、最適化問題(20)の最適解から最適性条件を求め、その最適性条件の係数が、双対問題の解に等しくなることを示す。 これにより、原問題(4)が線形分離不可能な場合、問題(20)の最適解に対する最適性条件式の係数の非零(正) のパターン、すなわちLUC
PSが求められることがわかる。
【0164】まず、問題(20)の最適性条件を考える。
【0165】上記の関数φは部分的に微分不可能な関数であり、微分不可能な点で勾配は存在しないが、それに代わるものとして、亜勾配や一般勾配が、ある条件のもとで存在する。 亜勾配の定義および最適化問題に対する最適性条件を以下に示す。
【0166】凹関数fのx∈R nに関する最適化問題
【0167】
【数28】
【0168】において、fがx 0で微分不可能ならば、
亜勾配は f( x )≦f( x 0 )+ z T ( x − x 0 ),∀ x ∈X を満たすzの集合である。 その集合∂f( x 0 )を用いて、上記の最適化問題の最適性条件は、 0 ∈∂f( x 0 ) となる。
【0169】上記の関数h ON , −h OFFは一次元空間R
1上で凹なので、明らかにw ∈intXにおいてφの亜勾配が存在する。 微分不可能な凹関数の最適化の最適性条件は、φの亜勾配集合∂φを用いて、次のように書ける。 ただし、 w oは最適解を示す。
【0170】
【数29】 0 ∈∂φ( w o ) (29) φ ON ( w ; x )=h ON ( x T w −θ) φ OFF ( w ; x )=h OFF ( x T w −θ) とすると
【0171】
【数30】
【0172】但し、
【0173】
【数31】 ∂φ ON ( w ; x )={ 0 } ( x T w >θ) ∂φ ON ( w ; x )= co{ 0 , x } ( x T w =θ) ∂φ ON ( w ; x )={ x } ( x T w <θ) ∂φ OFF ( w ; x )={ x } ( x T w >θ) ∂φ OFF ( w ; x )= co{ 0 , x } ( x T w =θ) ∂φ OFF ( w ; x )={ 0 } ( x T w <θ) (31) coは凸包を示す。 すなわち
【0174】
【数32】 co { 0 , x } ={λ x |0≦λ≦1} (32) 式(31),(32)より
【0175】
【数33】 ∂φ ON ( w ; x i )={λ i x i } (i∈I ON ) ∂φ OFF ( w ; x i )={λ i x i } (i∈I OFF ) (33) 但し、
【0176】
【数34】 i∈I ONに対して λ i =0 ( x T w >θ) λ i =[0,1] ( x T w =θ) λ i =1 ( x T w <θ) i∈I OFFに対して λ i =1 ( x T w >θ) λ i =[0,1] ( x T w =θ) λ i =0 ( x T w <θ) (34) 式(30),(33),(34)より
【0177】
【数35】
【0178】式(29)と(35)より、最適解w oに対して
【0179】
【数36】
【0180】及び式(34)を満たすλ iが存在する。
更に、すべてのiに対して 0≦λ i ≦1 が成り立つ。
【0181】原問題(4)が線形分離可能な場合には、
問題(20)の最適解w oにおいて ∂φ ON ( w ; x i )={ 0 },i∈I ON ∂φ OFF ( w ; x i )={ 0 },i∈I OFFとなる。
【0182】一方、原問題(4)が線形分離不可能な場合には、非許容なパターンが存在するので、式(34)
からわかるように、亜勾配集合∂φ ON又は−∂φ OFFは非零の要素を持つ。 そのため、式(36)を満たす非零のλ iが存在する。 すなわち
【0183】
【数37】 λ > o (37) 最適性条件式を満たすλと双対問題(17)の関係を導くために、次の定理を得る。
【0184】[定理3] 原問題(4)
【0185】
【0186】に許容解wが存在しない場合
【0187】
【0188】が成り立っていれば、
【0189】
【0190】が成り立つ。
【0191】(証明) 次の補助定理2 から明らかである。 [補助定理2] 与えられた行列A∈R m*nに対して、
A x > bに解xがない場合、 A T y = 0 , y > 0の解y ∈R pはb T y ≧0 を満たす。 (証明) A T y = 0 , y > 0の解y oが存在するときにb T y o ≧0の否定であるb
T y o <0を仮定して矛盾を導く。
【0192】A x > bに解xがないということは、補助定理1より A T y = 0 , y > 0 , b T y ≧0 に解yが存在することと等価であるので、 A T y 0 = 0 , y 0 > 0 ,かつb T y 0 <0 なるy 0は存在しない。
【0193】原問題(4)に許容解がない場合、つまり学習パターンX ON , X OFFが線形分離不可能なとき、最適化問題(20)の最適性条件式(36)及び式(3
7)を満たすλの集合をΓとおき、双対問題(17)の解集合をΛとおくと、式(19),(34),(3
6),(37)と定理3より Γ⊂Λ が言える。 また、双対問題(17)の解が最適性条件式(36)と式(37)を満たすことから、 Γ⊃Λ が成り立つ。 よって、 Γ=Λ が言える。 従って、原問題が線形分離不可能な場合には、最適化問題(20)の最適解と最適性条件より求められるλは、双対問題の解と等しくなる。
【0194】−4 線形非分離核パターンの抽出 以上の理論から、原問題が線形分離不可能な場合には、
最適化問題(20)の解w oに対して式(31)を満たすλを求め、その正成分がw oに対応した線形非分離核パターンに対応することがわかる。 しかし、問題(2
0)は微分不可能点を持ち、最適解が常に求まるとは限らない。 以下では、最適解が求まらなくても、LUCP
S(線形非分離核パターン集合)を抽出できることを示す。
【0195】まず、最適化問題(20)に対する解法アルゴリズムを示す。
【0196】 アルゴリズムβ ( 問題(20)の解法アルゴリズム) [ステップ1]ある初期点w 1を適当に選び、イテレーション番号dをd=1とおく。 [ステップ2]h ON ( x T w d −θ); x ∈X ONと、h
OFF ( x T w d −θ); x ∈X OFFを計算し、 h ON ( x p T w d −θ)≠ 1, x p ∈X ON又は h OFF ( x p T w d −θ)≠0, x p ∈X OFFとなるパターンx pが1つでも存在すれば、次のステップに進む。 そうでなければ、 w dを問題(20)の解w
oとして終了する。 [ステップ3]ステップ2のpに対して
【0197】
【数38】 w d+1 = w d +α p Δw d ( x p ) (38) と修正する。 但し、
【0198】
【数39】
【0199】 Δ w d ( x p )=∇ w φ ON ( w ; x p ), x p ∈X ON Δ w d ( x p )=∇ w φ OFF ( w ; x p ), x p ∈X OFF ∇ w φ ON ( w ; x p )及び∇ w φ OFF ( w ; x p )は
【0200】
【数40】 ∇ w φ ON ( w ; x p )= x p ∇ w φ OFF ( w ; x p )= x p (40) [ステップ4]下記の終了条件a、d、eのいずれかを満たしていれば終了。 そうでない場合、ある数字“d 0 ”
に対してイテレーションd=d 0のときには、 w d ← w 0とする。 d>d 0のときは、終了条件bが満たされていれば終了。 そうでない場合、終了条件cが満たされていれば終了。 いずれでもなければ、イテレーションをd←d+
1と更新してステップ2に戻る。 終了条件a〜eは次の通りである。 (終了条件a) 十分大きな正の整数j 0を決め、j=
1,…, j 0に対して | w d − w dj |<ζ となるjがあれば終了。 ただし、ζは十分小さな正の数である。 (終了条件b) d> d 0のときにw d = w 0となれば終了。 (終了条件c) d> d 0となれば終了。 ただし、d
0は、n次元の線形分離可能な問題を解いた場合の最大イテレーション回数よりもいくらか大きい正整数とする。 (終了条件d) w dに対する関数φの亜勾配集合∂φ
( w d )がゼロベクトルを含むならば終了。 (終了条件e) φ( w d ) < φ( w d-1 )ならば終了。
【0201】本発明で用いるアルゴリズムにおいて最も難しいのは、終了条件である。 その終了条件により実際のパターンが線形分離可能かどうかが判断される。 終了条件a,bは、値dがあるd 0よりも大きくなった時、つまり十分収束が進んでから、1サイクル以上でのwの変化分Δ w dが0とならないかどうかをチェックするものであり、終了条件cは、終了条件a,bによっても線形分離不可能かどうかが発見できなかった場合に、アルゴリズムを停止するためのものである。 本発明における学習時間は、終了条件の良し悪しに支配される。 後述の数値例では,d 0 =3としている。
【0202】式(39)のステップ幅の決定方法は、現在点w dにおいて非許容なパターンx pを原問題に対して許容とするために必要最小限の幅を与えるという考えから得られた。
【0203】前記の変換関数h ONとh OFFは本来は0で微分不可能となり、式(31)のように亜勾配を与えなければならないが、一般に亜勾配集合を陽に求めることは困難である。 従って、ここではニューロンの変換関数の性質を考えて、式(40)のように与える。
【0204】元の入出力パターンが線形分離可能な場合、すなわち原問題(4)に許容解がある場合には、上記のアルゴリズムβにより、パーセプトロンの学習手続きと同様に全ての入出力パターンを実現する解w oが求まる。 線形分離不可能な場合には、問題(20)の最適性条件より得られるλ集合は、双対問題の解集合に等しい。 アルゴリズムより、 w dの軌跡は、問題(20)の最適性条件式(36)と式(37)を満たす最適解の近傍までは収束するが、最適解で停止することはなく、その中又はそのまわりで振動する。 最適解が得られたとしても、問題(20)の目的関数の亜勾配集合を陽に求めることは困難であり、そのため、 w dが最適性条件を満たしているかどうかの判定は困難である。
【0205】しかし、本発明におけるアルゴリズムは、
最適解を必要としているわけではない。 あくまでも、L
UCPS(線形非分離核パターン集合)が求まればよい。 多くの場合、全てのLUCPSでなくても、その部分集合が得られれば、そこから変換すべきOFFパターンを選択することができる。
【0206】アルゴリズムβにより、十分大きなd(d
>d 0 )に対して、 w dは最適解の近傍で振動する。 最適解の近傍では、原問題(4)の非許容な成分が線形非分離核パターンに対応すると考えられる。
【0207】アルゴリズムの非許容なパターンに対する修正のステップ幅の決定法(32)により、現在の非許容なパターンに対するステップ幅は、少なくとも現在のパターンに対する出力を目標出力と同じにするように決定される。
【0208】そうすると、線形非分離核パターン間で干渉がおこり、 w dはこれらのパターン間の目標出力を満たすwの領域間を振動する。 従って、 w dがある程度収束した後、ある近傍内で振動しはじめたら、それ以後に式(4)において非許容となる成分=パターンは、LU
CPSの要素と考えられる。 これらのパターンを登録することにより、LUCPSが得られるはずである。
【0209】得られたパターン集合の中から適当なOF
Fパターンを選択してONパターンに変えることにより、LUCPSの要素を減らしていくことができる。
【0210】この際、前掲ので説明した線形分離可能割り当て法のアルゴリズムの条件式(12)を満たさなければ、X kの要素の減少が保証されない。 この条件を満たすために、変換するOFFパターンを選ぶときは、
次の規則によって選択する。
【0211】[規則A] 原点から距離が最も遠いOF
Fパターンを選択する。
【0212】この線形分離不可能性の原因となっているパターンを1つ1つ変換することにより、線形分離可能なパターンが得られる。 得られた線形分離可能なパターンから線形分離可能割り当てアルゴリズムの分離超平面が求められる。
【0213】以上の手法を線形分離可能割り当てアルゴリズムαに組み込めばよい。
【0214】図8及び図9は、本発明の学習方法を示すフローチャートである。
【0215】図8について説明すると、初めに、入力パターン(ベクトル) x p及び出力パターン(スカラー)
t p (pはm個のパターンの番号)を与える(ステップ1)。 次に、目標出力パターンtを初期値t 1に設定し(ステップ2)、イテレーション番号kを1に設定する(ステップ3)。 そして、k番目の中間ニューロンに対する目標出力パターンt kを線形分離可能な出力パターンt k Mに代入し(ステップ4)、変換ルーティンを実行する(ステップ5)。 変換ルーティンについては、後で図9を参照して説明する。
【0216】その後、k+1番目の出力パターンt k+1
としてt k Mからt kを差し引いた差のパターンを与え(ステップ6)、上記ステップ4からステップ6までの動作をt k+1 = 0になるまで繰り返す。 すなわち、ステップ6の後、 t k+1 = 0か否かを判定し(ステップ7)、 t k+1 = 0でなければ、イテレーション番号kを1つ進めて(ステップ8)、ステップ4に戻る。
【0217】 t k+1 = 0になると、前述のように決定された出力層と中間層の間の重み(結合係数)で図2のニューラルネットワークを構築する(ステップ9)。
【0218】次に、変換ルーティンについて説明する。
【0219】図9に示すように、初めに、重みw 1を0
に設定し(ステップ11)、パターン番号p及び前記アルゴリズムβのイテレーション番号dをそれぞれ1に設定すると共に、後述の誤答を示す変数 sw を0に設定する(ステップ12)。 次に、パターンpについて線形分離可能な目標出力t k Mpと実際の出力h( x p T w d −
θ)との一致を判定する(ステップ13)。 その結果、
一致していなければ、前述の式(38)及び(39)に従って重みw dを変更(修正)すると共に、変数sw を1に設定する(ステップ14)。 その後、振動しているか(d>d 0 )否かを判定し(ステップ15)、“Ye
s”のときパターンpを登録する(ステップ16)。
【0220】上記ステップ13からステップ16までの動作は、m個のパターンについて実行される。 すなわち、パターンpの登録後、或は目標出力t k Mと実際の出力h( x p T w d −θ)とが一致している場合、p≦mか否かを判断し(ステップ17)、“Yes”である限り、p及びdをそれぞれ1つ進めて(ステップ18)、
ステップ13に戻る。
【0221】pがmを越えたところで、終了条件(前掲のa〜eのいずれか)を満たすか否かを判定し(ステップ19)、“Yes”ならば、そのpを線形分離不可能なパターンとして登録する(ステップ20)。 そして、
登録されたpからOFFのものを1つ選んでp'とし(ステップ21)、それについて目標出力t k Mp'を1に設定して(ステップ22)、ステップ12に戻る。
【0222】一方、終了条件を満たさなければ、変数 s
w =0か否かを判断し(ステップ23)、“No”であればステップ12に戻り、“Yes”であれば線形分離可能として登録する(ステップ24)。
【0223】線形分離可能割り当て法(LISA)のアルゴリズム −1 アルゴリズム 前記で述べた線形分離割り当てアルゴリズムαと−
4で述べた最適化問題の解法アルゴリズムβを結合して、以下のようなアルゴリズムγ及びδ kが作られる。
【0224】 アルゴリズムγ [ステップ1] X 1 ON =X ON ,X 1 OFF =X OFFとし、
イテレーション番号kをk=1とする。 [ステップ2] X k =X k ONとする。 [ステップ3] 後述のアルゴリズムδ kを使ってX k
ONとX k −X k ONが線形分離可能かどうかを調べる。 [ステップ4] 線形分離可能であれば、ステップ3のアルゴリズムδ kで得られたw oをw kとし、ステップ5に進む。 線形分離不可能であれば、アルゴリズムδ k
で得られた集合{ x i | x i ∈I LU }と{X k −X
k ON }の共通集合から、ノルムが最大の要素x mを選び、 X k ←X k ∪{ x m } として、ステップ3へ行く。 [ステップ5] X k =X k ONであればステップ6へ。
そうでなければ X k+1 ON ← X k −X k ON X k+1 OFF ← X k ONとし、イテレーションkをk+1と更新してステップ2
へ行く。 [ステップ6] 式(9)(10)で表わされる3層のニューラルネットワークモデルを図3のように構築して終了する。
【0225】 アルゴリズムδ k [ステップ1] ある初期点w 1を適当に選び、Y 1 ON
=X k ON ,Y 1 OFF =X k −X k ON ,線形非分離核パターン集合I LU =Φ(空集合)とし、イテレーション番号d
=1とする。 [ステップ2」 h ON ( x T w d −θ)[ x ∈Y k ON ]
と、h OFF ( x T w d −θ)[ x ∈Y k OFF ]を計算し、 h ON ( x p T w d −θ)≠1( x p ∈Y k ON ) 又は h OFF ( x p T w d −θ)≠0( x p ∈Y k OFF ) なるパターンpが1つでも存在すれば、次のステップへ行く。 そうでなければ、 w dをw oとして終了する。 「ステップ3] ステップ2のすべてのパターンpについて、式(38)及び(39)に従って修正し、d>d 0
であれば、パターンpを線形非分離核パターン集合I LU
に追加する。 すなわち I LU ← I LU ∪{p} 但し、d 0は予め決められた原問題に解があるときの収束イテレーション数の最大値とする。 [ステップ4] 前記の終了条件a、d、eのいずれかを満たしていれば終了。 そうでない場合、あるd 0に対してd=d 0のときにはw d ←w 0とし、終了条件bが満たされていれば終了。 そうでなければ、終了条件cが満たされたとき終了。 そうでなければ、d←d+1としてステップ2に戻る。
【0226】−2 アルゴリズムの高速化 以下のアルゴリズムに対し、次のような改良を付加することにより、更に高速な学習が可能となる。 1. 重みを整数型として計算する。 この場合、入力ニューロン数に比べ、閾値をあまり小さくしないことが重要である。 小さくしすぎると、量子化誤差のために不必要にイテレーション回数が増加し、場合によっては無限循環に陥る可能性がある。 2. アルゴリズムγのステップ3においてアルゴリズムδ kを実行する前にすべてのi∈I ON ,j∈I OFFに対してx j ≧ x iなるjをOFFパターンからONパターンへと入れ換える。
【0227】上記2の高速化手法の意義は、次の通りである。
【0228】この手法により、線形非分離核パターン集合I LUを発見するためのアルゴリズムδ kを行なう回数を減少させることができる。 ただし、I LU以外のパターンもONにする場合があるので、上記アルゴリズムが循環する恐れがある。 しかし、後述の実験に係る4入力パターンでは、循環は起きなかった。
【0229】図10は、上記の高速化のための変換を示す。 白丸がOFFパターンを示し、黒丸がONパターンを示す。 (a)に示すように、ONパターンと等しいか又はこれより大きいOFFパターン(点線の右側か上側にある)は、ONパターンに変換される。 その処理の後、(b)に示すように、ONパターンとOFFパターンは、はっきりと分離される。 しかし、(c)のように、入れ換えパターン数のより少ない変換も存在する。
【0230】図10(a)のようにOFFパターン集合と1つのONパターンがある時、原点とONパターンを結ぶ線がOFFパターン集合の凸包内を通っているので、これらのパターンは線形分離不可能である。 この場合、上記の高速化手法に従うと、点線の左側または上側にあるOFFパターンは全てONパターンに変換され、
図10(b)のようになり、線形分離可能となる。 しかしこの変換は、線形分離可能なパターンを作るための最小限の変換ではない。 図10(c)のようにすれば、より少ない変換ですむ。
【0231】図11及び図12は、上記のアルゴリズムγ及びδ kに基づく処理手順をPAD図で表わしたものであり、図13は、図11及び図12における文字や記述法の説明図である。 更に、図14〜図16は上記の高速化手法(図10)を含むアルゴリズムγの詳細なフローチャートであり、図17はアルゴリズムδ kの詳細なフローチャートである。 これらの図は、前述の図8及び図9の処理手順を具体的に表わしたものであり、各ステップの内容は、図8及び図9で説明したものと基本的に同じであるので、それらについての説明は省略する。
【0232】−3 アルゴリズムの拡張 上記アルゴリズムでは、ニューロンのしきい値θを、固定された正の値としている。 そのため、原点0では、h
( w T x −θ)は必ず0となる。 このように全ての入力が0の場合には、出力値は0となる。 全ての入力が0の場合を含む全てのパターンを実現するためには、図18
のようにバイアスニューロン4を追加すればよい。 このバイアスニューロン4は、入力層1のすべてのニューロンがOFFの時でも出力がONとなるように常にONとなっている。 この構成により、すべての入力値が0の場合でも学習可能となる。
【0233】このようなニューロンは、実際の生物では、自分自身にフィードバックしているシナプス結合をもった図19のような回路として存在する。 このようなニューロンを用いれば、全ての入力が0の場合を含む、
全ての入出力パターンが上記のアルゴリズムで学習可能となる。
【0234】図19は、自己フィードバックをもつバイアスニューロンユニットを示す。 これは、ONの入力信号が一旦入力されると、常にONの値をとり続けるニューロンユニットである。 入力側に抑制性の結合があれば、OFFにすることも可能である。
【0235】一方、上記アルゴリズムを実行するネットワークは、基本的に多入力1出力のネットワークを構成しているが、多入力多出力の場合への拡張は、図20のようになる。 この場合、出力層3から中間層2へのシナプス結合は、すべてのニューロン間の結合にはなっていないので、その分学習が高速に行われる。
【0236】また、本発明は、以上のような3層構造のみならず、図21に示すように、必要に応じて中間層2
を複数の層で構成する多層構造に拡張できる。
【0237】図21のネットワークは、入力層1と出力層3との間の中間層2が3層の中間ニューロンから成り、その入力側から1番目の層の中間ニューロン(状態値x 1 1 ,・・・・,x k1 1 ;x 1 2 ,・・・・,x k2 2 ;・・・・;x
1 p ,・・・・,x kp p )と3番目(すなわち出力側)の層の中間ニューロン(状態値2 x 1 ,・・・・, 2 x r )は、
学習の進行と共に必要に応じて生成され、2番目の層の中間ニューロン(状態値x 1 ',・・・・,x p ')は、入力側の1番目の層の中間ニューロンに対して予め出力ニューロン(図3の状態値yで表わされる出力ニューロンに相当)として設けられるものである。 〈実験〉LISAの有効性を確かめるために、線形分離不可能なパターンの学習を含む全てのパターンが学習できるかどうかを調べた。 また、NP(nondeterministic
polynominal)問題とならないかどうかの数値実験も行った。 どちらの実験もバックプロパゲーションによる学習と比較してみた。 実験には、サン・マイクロ・システムズ(Sun MicroSystems )社の“EWS,SUN4/
260”を使用した。
【0238】1. ニューラルネットワークの学習能力の検証 一般に、全てのパターンが実際に学習できるかどうかを試すことは不可能である。 そこで、4入力1出力の入出力パターンの全てを学習できるかどうかを実験した。 ただし、前述のようにLISAは正の閾値しか持たないので、図20のような拡張(多入力多出力の構成)を行わなければ、全ての入力が0の時の出力はどうしても0になる。 そのため、学習パターンは、4入力の全てが0となるパターンを除いた15通りの入力パターンに対して2通り(0,1)の出力を対応させるようにした。 従って、全ての入出力パターンの数は2 15 =32768通りである。
【0239】比較に用いたバックプロパゲーション法のネットワークは、2層( 入力層を除く) で、ニューロン数は入力層4個、隠れ層(中間層)8個、出力層1個の構成である。 学習のパラメータは、学習のステップ幅η
=0.9 、バイアス項の係数α=0.9 として実験を行った。 このバックプロパゲーション法による学習は、各イテレーション毎に目標出力とネットワークの出力パターンを比較して、全てが同じであれば終了する。 その際、
ネットワークの出力は、0.5 を閾値として2値化して、
目標出力と比較した。 従って、出力値が 0.6であれば、
目標出力と比較する値は1となり、0.3 であれば0となる。
【0240】また、イテレーション回数が 3,000回に達した場合は、全てのパターンを満たす解は求まらないとして、そのパターンに対する学習を打ち切った。 実験結果は表1の通りである。
【0241】
【表1】
【0242】表1からわかるようにバックプロパゲーションは正答率が88%であるのに対してLISAは 100%
であり、また学習に要した時間はバックプロパゲーションがLISAの約1,984 倍かかった。 次にバックプロパゲーションが3,000 回のイテレーションに達した場合は誤答として打ち切ったが、誤答のない場合の計算時間を比較すると表2のようになる。 これはバックプロパゲーションで解くことができた、つまり3,000 回の学習回数未満で学習できた、100 個のパターンを調べたものである。
【0243】
【表2】
【0244】表2からわかるように誤答のない場合は、
LISAの方が 514倍ほど高速であることがわかる。 このことから、バックプロパゲーションが 3,000回以下のイテレーション回数で学習できたときでも、LISAの方が約 500倍高速であると言える。 しかし、上記のアルゴリズムの高速化で述べたように、整数計算の場合は閾値が小さすぎると学習速度が落ちてしまう。 計算機のメモリ容量や問題の次元に応じて、なるべく大きな閾値を選ぶ方が望ましい。 4次元の場合、32,768個のパターンによる試行中、LISAの中間層に作成されたニューロンの最大数は、5個であった。
【0245】2. NP問題となるかどうかの検証実験 LISAがバックプロパゲーションに比べて高速であっても、入力パターンの数が増えていった場合に、NP問題であれば計算時間が指数的に増加していき、実用的な計算時間とは言えない。 そこで、学習させるパターン数に対して、LISAの計算時間がどのように変化するかを実験した。
【0246】学習パターンは7入力1出力パターンとし、一様乱数により決められたN個のパターンを 100個ずつ学習させた。 その結果を図22に対数グラフとして示す。 このグラフをパターン数 0,25,75の各値に対して多項式(aN b +c)で近似したところ、図の曲線のようになった。 そして、その式は 1.5×10 -4 N 2.99 +0.05
となった。 パターン数が90近くになると、式の傾きの方が実験値を上回っていることがわかる。 従って、7入力の場合、LISAの計算時間は多項式オーダーであり、
NP問題とはならない。 7次元、127個のパターンの場合、100個のランダムパターンによる試行中、LI
SAの中間層の作成されたニューロンの最大数は、22
個であった。
【0247】図22には、バックプロパゲーションの計算時間も示した。 ただし、この実験の場合、バックプロパゲーションには以下の変更を施した。
【0248】イテレーションが 300回を超えた場合は、
これ以上学習は収束しないとみなし、結合重みを一様乱数により再初期化し、改めて学習を始める。 この手順を最大5 回まで繰り返す。 このグラフからパターン数が40
以上では、LISAがバックプロパゲーションに比べ、
約100 倍ほど速いことがわかる。
【0249】図22では、バックプロパゲーション(黒丸) に比べ、LISA(白丸) の方が概ね100 倍程高速である。 このグラフは縦軸が時間の対数なので、どちらのアルゴリズムも、計算量は指数関数的に増えていない。
【0250】もし、計算時間が指数関数的に増加していくのであれば、計算時間をプロットしたものは、ある傾きをもつ直線になるはずである。 しかし、LISAとバックプロパゲーションの結果は、いずれもパターン数の増加に伴い傾きが鈍っていっている。 ところが、この時のバックプロパゲーションの正答率は、図23に示されるようにパターン数が40ぐらいを超えると、突然に減少し始める。 ちょうど形がシグモイド関数に似ていたので、図の曲線のようにシグモイド関数で近似してみた。
LISAの正答率は、パターン数に関係なく100 %を保っている。 すなわち、7入力の一様乱数により作られた入出力パターンをすべて学習できたことを示している。
【0251】図23に示すように、LISAの正答率はパターン数の増加に関係なく100 %を維持した。 バックプロパゲーションの正答率はパターン数の増加に伴い、
シグモイド関数的に減少している。
【0252】以上の結果から、次のことが判明した。
【0253】1. LISAはパターン数に関してはNP
問題にはならない。
【0254】2.7入力の場合、LISAはバックプロパゲーションよりも約100 倍高速である。
【0255】3. バックプロパゲーションの学習可能パターン数(正答率) は、パターン数に対してシグモイド関数のように減少する。
【0256】パターン数が50個以上の場合、バックプロパゲーションの正答率は著しく減少し、実質的なLIS
Aの学習速度はバックプロパゲーションの100 倍をかなり越えたものになると考えられる。
【0257】以上の通り、本発明の線形分離不可能なパターンでも学習できる2値ニューラルネットワークに対する学習アルゴリズムにより、上記実験の4入力1出力の場合、入力がすべて0の場合を除く全てのパターンが学習できた。 また、従来のアルゴリズムに対して非常に高速に学習でき、計算時間は多項式のオーダーで済むことが判明した。
【0258】
【発明の効果】以上のように、本発明によれば、線形分離不可能な入出力パターンがいくつかの線形分離可能なパターンに変換され、それらは元の入出力パターンと同じ出力を出すように出力層で統合されるので、線形分離可能、不可能にかかわらず、全ての入出力パターンを学習できるニューラルネットワークが得られる。
【0259】また、中間層のニューロンは必要に応じて作り出されるので、パターンが線形分離可能な場合には1個、線形分離不可能な場合でも必要最小限又はそれに近い数のニューロンで十分である。 それ故、所望の入出力パターンを実現する際のメモリ領域も必要最小限で済み、変更するニューロン間の結合重みの数も必要最小限であるから、学習速度が著しく高速化される。
【0260】更に、従来のバックプロパゲーション法は、ニューロンの変換関数にシグモイド関数を使っているため、局所最適点に近づけば重みの変化は大きくなるが、離れた点では非常に小さいのに対し、本発明で用いられる変換関数は、学習に非許容な点ではどこでも一定の傾きを持つ。 また、ステップ幅が現在のパターンを許容にする最小限の幅がとられるため、結合係数は最適点からの距離に関係なく高速で収束する。
【0261】本発明では、中間層のニューロンを、必要に応じて自動的に作成するので、中間層のニューロン数をいくつにするかで悩まずに済む。
【0262】一般に、学習によって得られたニューラルネットワークの解析は非常に複雑で困難であるが、本発明の場合は、線形分離可能割り当て法によって図3のようなネットワークが構築される。 このネットワークは、
図2(b)の式で表わされるような集合間演算を実現したものであるため、解析が容易である。
【図1】本発明の基本思想を示す概念図。
【図2】線形分離不可能なパターンを線形分離可能なパターンに変換する原理を示す図。
【図3】本発明のニューラルネットワークの構成を示す図。
【図4】線形分離可能割当て法の例を示す図。
【図5】入力側ニューロンの状態変数空間における2種類のパターン集合の位置関係を示す図。
【図6】線形分離不可能なパターンの変換を示す図。
【図7】2種類のパターンに対する変換関数を示す図。
【図8】本発明の学習方法の手順を示すフローチャート。
【図9】図9中の変換ルーティンを示すフローチャート。
【図10】アルゴリズムの高速化のためのパターン変換を示す図。
【図11】本発明で用いられる全アルゴリズムを示すP
AD図。
【図12】図11に続くPAD図。
【図13】図11及び図12中の変数などの説明図。
【図14】本発明の実施例で用いられるアルゴリズムγ
の詳細なフローチャート。
【図15】図14に続くフローチャート。
【図16】図14及び図15に続くフローチャート。
【図17】図16中のアルゴリズムδ kの詳細なフローチャート。
【図18】バイアスニューロン付きのニューラルネットワークを示す図。
【図19】自己フィードバックをもつバイアスニューロンユニットを示す図。
【図20】多入力多出力の場合のニューラルネットワークの構成を示す図。
【図21】中間層を複数の層で構成した多層構造のニューラルネットワークの例を示す図。
【図22】本発明とバックプロパゲーション法の各々の計算時間の対数グラフ。
【図23】パターン数に対する本発明とバックプロパゲーション法の正答率を示すグラフ。
1…入力層、2…中間層、3…出力層、4…バイアスニューロン。
标题 | 发布/更新时间 | 阅读量 |
---|---|---|
基于人脸特征的癌症筛查方法及筛查系统 | 2020-05-11 | 650 |
一种基于稀疏高斯伯努利受限玻尔兹曼机和循环神经网络的故障分类模型及方法 | 2020-05-12 | 945 |
一种利用卷积多层注意力网络机制生成面向查询的视频摘要的方法 | 2020-05-13 | 804 |
基于极端随机树的非线性全光谱水体浊度定量分析方法 | 2020-05-17 | 274 |
一种基于自适应连接神经网络的图像处理方法及装置 | 2020-05-08 | 722 |
一种鉴别煤炭种类的方法及装置 | 2020-05-17 | 353 |
预测自动语音识别系统中的短语识别质量 | 2020-05-19 | 351 |
病历检测方法、装置、设备和存储介质 | 2020-05-15 | 808 |
一种基于大数据的国防科技热词发现方法及系统 | 2020-05-08 | 562 |
一种基于结构化用户属性描述的个性化任务型对话系统 | 2020-05-19 | 547 |
高效检索全球专利专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。
我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。
专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。